Percabangan

Percabangan adalah cara yang digunakan untuk mengambil keputusan apabila di dalam program dihadapkan pada kondisi tertentu. Jumlah kondisinya bisa satu, dua atau lebih.

Percabangan mengevaluasi kondisi atau ekspresi yang hasilnya benar atau salah .  Kondisi atau ekspresi tersebut disebut ekspresi boolean. Hasil dari pengecekan kondisi adalah True atau False. Bila benar (True), maka pernyataan yang ada di dalam blok kondisi tersebut akan dieksekusi. Bila salah (False), maka blok pernyataan lain yang dieksekusi.

 

Di Python ada 3 jenis pernyataan yang digunakan untuk percabangan, yaitu sebagai berikut:

No Pernyataan Deskripsi
1 if Pernyataan if terdiri dari ekspresi boolean diikuti oleh satu baris atau lebih pernyataan.
2 if…else Bila pernyataan if benar, maka blok pernyataan if dieksekusi. Bila salah, maka blok pernyataan else yang dieksekusi.
3 if…elif…else Disebut juga if bercabang. Bila ada kemungkinan beberapa kondisi bisa benar maka digunakan pernyataan if…elif atau if…elif…else

Berikut adalah penjelasan masing-masing pernyataan.


Pernyataan if

Pernyataan if menguji satu buah kondisi. Bila hasilnya benar maka pernyataan di dalam blok if tersebut dieksekusi. Bila salah, maka pernyataan tidak dieksekusi. Sintaksnya adalah seperti berikut:

if tes kondisi:
   blok pernyataan if

Gambar diagram alir untuk pernyataan if adalah seperti berikut:

 

# Bila bilangan positif, tampilkan pesan angka = 5 if angka > 0: print(angka, "adalah bilangan positif.") angka = -1 # yang berikut akan bernilai False sehingga tidak dieksekusi if angka > 0: print(angka, "adalah bilangan positif.")

Pada saat kita jalankan program, maka hasil keluarannya adalah:

5 adalah bilangan positif

Pada contoh di atas, awalnya angka berisi 5. Pada saat if yang pertama dieksekusi maka kondisinya adalah apakah 5 > 0? Karena hasilnya benar/True, maka statement di grup if ini dieksekusi dan menampilkan pesan 5 adalah bilangan positif.

Selanjutnya angka sudah diubah jadi -1. Untuk if yang kedua, hasil pengujian kondisinya menjadi apakah -1 > 0? Hasilnya salah/False. Oleh karena itu, pernyataan di dalam grupnya tidak dijalankan.


Pernyataan if…else

Pernyataan if…else menguji 2 kondisi. Kondisi pertama kalau benar, dan kondisi kedua kalau salah. Sintaksnya adalah seperti berikut:

if tes kondisi:
    blok pernyataan if
else:
    blok pernyataan else

Diagram alir untuk pernyataan if…else adalah seperti berikut:

# Program menguji apakah sebuah bilangan positif atau negatif # dan menampilkan pesan ke monitor bilangan = 5 # coba juga mengubah bilangan menjadi bilangan = -1 # dan perhatikan hasilnya if bilangan >= 0: print("Positif atau Nol") else: print("Bilangan negatif")

Pada contoh di atas, bilangan kita beri nilai 5. Kemudian pada pengujian if, kondisinya adalah apakah bilangan >= 0? Hasilnya adalah benar, maka hasil yang ditampilkan adalah Positif atau Nol. Seandainya kita ganti bilangan jadi -1, maka hasil pengujian if nya akan salah/False dan blok else yang akan dijalankan, yaitu menampilkan pesan Bilangan negatif.


Pernyataan if…elif…else…

Pernyataan if…elif…else digunakan untuk menguji lebih dari 2 kondisi. Bila kondisi pada if benar, maka pernyataan di dalamnya yang dieksekusi. Bila salah, maka masuk ke pengujian kondisi elif. Terakhir bila tidak ada if atau elif yang benar, maka yang dijalankan adalah yang di blok else. Sintaksnya adalah seperti berikut:

if tes kondisi:
    blok pernyataan if
elif tes kondisi:
    blok pernyataan elif
else:
    blok pernyataan else

Diagram alir if…else…if adalah sebagai berikut:

# Di sini kita menguji apakah sebuah bilangan # adalah bilangan positif, nol, atau negatif # dan menampilkan hasilnya ke layar bilangan = 5.5 # Coba juga mengganti bilangan jadi # bilangan = 0 # bilangan = -5.5 if bilangan > 0: print("Bilangan positif") elif bilangan == 0: print("Nol") else: print("Bilangan negatif")

Pada contoh di atas, bilangan kita beri nilai 5.5. Pada pengujian if, kondisinya adalah apakah bilangan > 0? Hasilnya benar, maka yang ditampilkan adalah pesan Bilangan positif.

Bila nilai bilangan kita ganti menjadi 0, maka yang akan bernilai benar adalah pernyataan elif. Bila kita mengganti bilangan jadi minus, maka kondisi if dan elif salah, dan yang dijalankan adalah blok else.


Catatan: Python mengasumsikan bahwa nilai selain nol dan selain tipe None sebagai nilai True, dan yang nilai nol dan None sebagai False.