Skip to content

Latest commit

 

History

History
381 lines (283 loc) · 9.56 KB

lab03.md

File metadata and controls

381 lines (283 loc) · 9.56 KB

Tutorial 03: Sistem Bilangan, Percabangan, dan Perulangan

Daftar Isi


Sistem bilangan

Sumber: eecs.wsu.edu

Desimal dan biner

Umumnya, kita menggunakan sistem bilangan dalam basis 10 (desimal) dalam menyatakan bilangan dalam berbagai hal di kehidupan sehari-hari. Saat kita menggunakan sistem bilangan basis 10, kita mengenal 10 angka, yaitu 0, 1, 2, 3, 4, 5, 6, 7, 8, dan 9. Dalam sistem bilangan basis 10, setiap digit dikali 10n di mana n adalah bilangan sesuai posisi digit tersebut, dimulai dari 0 dari kanan.

Contohnya:
84310
= (8 x 102) + (4 x 101) + (3 x 100)
= (8 x 100) + (4 x 10) + (3 x 1)
= 800 + 40 + 3

Pada sistem bilangan basis 2 (biner), kita hanya mengenal 2 angka, yaitu 0 dan 1. Seperti dalam sistem bilangan basis 10, setiap digit kita kali dengan basis sistem bilangan yang digunakan, dengan pangkat yang sesuai dengan posisi digit. Untuk lebih jelasnya, lihat konversi bilangan dari sistem biner ke sistem desimal berikut.


Konversi biner ke desimal

Konversi bilangan biner ke desimal cukup sederhana. Caranya dilakukan dengan mengalikan setiap digit dengan 2n, di mana n adalah bilangan sesuai posisi digit tersebut, dimulai dari 0 dari kanan.

Contoh: konversi 101102 ke bentuk desimal.

1  0  1  1  0
 \  \  \  \  \________0 x 2^0 =  0
  \  \  \  \__________1 x 2^1 =  2
   \  \  \____________1 x 2^2 =  4
    \  \______________0 x 2^3 =  0
     \________________1 x 2^4 = 16
                                __+
                                22

Jadi, 101102 == 2210.


Konversi desimal ke biner

Konversi desimal ke biner dapat dilakukan dengan membagi bilangan desimal berulang kali dan menyimpan hasil operasi modulo dengan 2 pada hasil pembagian tersebut hingga hasil pembagian mencapai nol. Lalu, mengurutkan secara terbalik hasil modulo dari bilangan-bilangan tersebut. Ilustrasinya seperti berikut.

Conversion

Sumber: WikiHow


Percabangan

Percabangan adalah salah satu bentuk kontrol dalam pemrograman. Dengan percabangan, kita dapat mengontrol alur program sehingga bagian tertentu dari program hanya akan dijalankan ketika suatu kondisi terpenuhi. Dalam Python, percabangan dapat dilakukan dengan menggunakan keyword if, elif, dan else.

Berikut adalah sekilas contoh dari percabangan.

umur = 17
if (umur < 10):
    print("Anak-anak")
elif (umur < 17):
    print("Remaja")
elif (umur < 20):
    print("Remaja-Dewasa")
elif (umur < 50):
    print("Dewasa")
else:
    print("Lansia")

# Output: Remaja-Dewasa

if

if merupakan penanda awal dari suatu percabangan, oleh karena itu if wajib ada dalam setiap percabangan. Seluruh perintah di dalam blok if akan dijalankan ketika kondisi untuk if tersebut bernilai True.

Contoh:

a = 5
b = 10
if (a < b):
    a += b

# Nilai a menjadi 15 karena kondisi a < b bernilai True

elif

elif merupakan gabungan dari else dan if. Seluruh perintah dalam suatu blok elif akan dijalankan ketika kondisi if atau elif sebelumnya tidak terpenuhi dan kondisi untuk elif tersebut bernilai True.

Contoh:

a = 12
b = 10
if a < b:
    a += b
elif a > b:
    a *= 3

# Nilai a menjadi 36 karena a < b bernilai False dan a > b bernilai True

else

Ketika semua kondisi if dan elif tidak terpenuhi, maka seluruh perintah dalam blok else akan berjalan. Bisa dikatakan bahwa else adalah solusi terakhir, sehingga else tidak membutuhkan syarat seperti if dan elif.

Contoh:

a = 10
b = 10
if a < b:
    a += b
elif a < b:
    a *= 3
else:
    a *= b

# Nilai a menjadi 100 karena seluruh kondisi if dan elif tidak terpenuhi

Kalian bisa membuat percabangan di dalam percabangan yang lain (nested), contohnya seperti berikut.

umur = 17

if (umur < 10):                        # Percabangan utama
    print("Anak-anak")                 #
elif (umur < 21):                      # Percabangan utama
    if (umur < 15):                    #     Percabangan dalam (1)
        print("ABG")                   #
    elif (umur < 18):                  #     Percabangan dalam (1)
        print("Remaja")                #
    else:                              #     Percabangan dalam (1)
        if (umur < 20):                #         Percabangan dalam (2)
            print("Dewasa Muda")       #
        else:                          #         Percabangan dalam (2)
            print("Kepala Dua")        #
elif (umur < 50):                      # Percabangan utama
    print("Dewasa")                    #
else:                                  # Percabangan utama
    print("Lansia")                    #

Berhati-hatilah dalam membuat percabangan di dalam percabangan, karena strukturnya lebih sulit dibaca dan dipahami. Teruslah berlatih agar terbiasa.


Perulangan

Perulangan (loop) adalah salah satu bentuk kontrol yang sering digunakan dalam pemrograman. Perulangan memungkinkan kita mengulang eksekusi sekumpulan perintah selama suatu kondisi terpenuhi. Dalam Python, terdapat dua macam perintah utama untuk melakukan perulangan, yaitu while dan for.


while

Berikut adalah contoh kode perulangan dengan while.

num = 0

while (num < 10):
    print(num, end=" ")
    num += 1  # Penting, agar tidak terjadi infinite loop

Output:

0 1 2 3 4 5 6 7 8 9

Dalam membuat while loop, pastikan loop-nya akan berhenti suatu saat dengan membuat kondisinya menjadi False. Lihat contoh, nilai variabel num akan terus bertambah sampai suatu saat di mana num bernilai 10, yang mana akan membuat pengecekan selanjutnya menjadi False, dan loop berhenti.


for

Berbeda dengan while yang menggunakan kondisi boolean secara langsung, loop for memungkinkan kita melakukan perulangan pada suatu koleksi (contoh: list, string, range, dsb.). Setiap satu iterasi, satu elemen dari koleksi tersebut diproses di dalam blok for. Perulangan selesai ketika semua elemen sudah diproses. Jika koleksi memang kosong dari awal, maka perintah-perintah dalam blok for tidak dijalankan, sama seperti jika kondisi pada while sudah bernilai False sejak awal.

Berikut adalah contoh kode perulangan dengan for.

for num in range(1, 11):
    print(num, end=" ")
print()

for angka in range(0, 11, 2):
    print(angka, end=" ")
print()

# for loop juga bisa digunakan untuk mengiterasi suatu koleksi, misalnya string
# (string merupakan koleksi karakter)

sebuah_string = "Halo, dunia!"
for setiap_karakter in sebuah_string:
    print(setiap_karakter, end=" ")

Output:

1 2 3 4 5 6 7 8 9 10
0 2 4 6 8 10
H a l o ,   d u n i a !

continue, break, dan else di loop

Di dalam loop, ada fitur kontrol tambahan, yaitu continue, break, dan else.

continue

Perintah continue, jika dieksekusi di dalam sebuah loop akan membuat kontrol langsung lompat kembali ke awal loop dan kembali mengevaluasi kondisi loop. Seluruh perintah di bawah perintah continue yang ada di dalam loop tersebut akan dilompati (tidak dijalankan) dalam iterasi itu. Contoh:

minuman = "susu soda"

for huruf in minuman:
    if huruf == 's':
        continue
    print(huruf, end='')

Output:

uu oda

break

Perintah break jika dieksekusi di dalam sebuah loop, akan membuat kontrol keluar dari loop yang langsung melingkupi perintah break tersebut. Jika break dieksekusi, maka seluruh perintah di bawah perintah break yang ada di dalam loop tersebut akan dilompati, begitu juga perintah-perintah di dalam blok else milik loop tersebut (jika ada). Contoh:

for angka in range(10):
    if (angka == 5):
        break
    print(angka, "deadline")
print("tepar!")

Output:

0 deadline
1 deadline
2 deadline
4 deadline
tepar!

else di loop

Sebuah loop bisa dilengkapi dengan else. Blok else akan dijalankan jika perulangan selesai secara normal. Sebuah loop dikatakan selesai secara tidak normal jika selesai karena perintah break. Contoh:

Sumber: dokumentasi Python

for n in range(2, 10):
    for x in range(2, n):
        if n % x == 0:
            print(n, 'equals', x, '*', n//x)
            break
    else:
        # loop fell through without finding a factor
        print(n, 'is a prime number')

Output:

2 is a prime number
3 is a prime number
4 equals 2 * 2
5 is a prime number
6 equals 2 * 3
7 is a prime number
8 equals 2 * 4
9 equals 3 * 3


Diadaptasi dari:

  • lab03_senin.pdf buatan FDL, IF, PDD, dan SAT
  • Lab02 Dasar-Dasar Pemrograman 1 Jumat.pdf buatan NN, WP, YE, dan AH
  • ddp1-17gasal-04.pdf buatan Adila Alfa Krisnadhi, Ph.D.

dengan beberapa perubahan.