
Belajar Python 10
Percabangan dengan if, elif, dan else
oleh: Suryo Adhy Chandra, ST
Sampai bab sebelumnya, program yang kita tulis selalu berjalan lurus dari baris pertama sampai baris terakhir. Padahal program yang berguna hampir selalu perlu mengambil keputusan: menampilkan pesan berbeda kalau nilai siswa di bawah KKM, menolak masukan yang kosong, atau memberi potongan harga kalau belanjaan melebihi jumlah tertentu. Kemampuan mengambil keputusan itulah yang disebut percabangan.
1. Bentuk paling sederhana: if
Perintah if menjalankan sekelompok baris hanya jika syaratnya bernilai benar.
Kalau syaratnya salah, kelompok baris itu dilewati begitu saja.
if, dan spasi menjorok
ke dalam pada baris di bawahnya. Python memakai jorokan itu untuk menentukan baris mana yang termasuk
dalam if. Standarnya empat spasi.
2. Menyediakan jalan lain: else
Bagian else dijalankan ketika syarat pada if ternyata tidak terpenuhi.
Dengan begitu program selalu punya jawaban, apa pun kondisinya.
3. Lebih dari dua kemungkinan: elif
Kalau kemungkinannya lebih dari dua, gunakan elif yang merupakan singkatan dari
else if. Python memeriksa syarat dari atas ke bawah, dan berhenti pada syarat pertama yang
bernilai benar. Sisanya tidak diperiksa lagi.
elif nilai >= 70 ditaruh paling atas,
maka nilai 82 akan langsung dicetak sebagai "Nilai C", karena 82 memang lebih besar dari 70 dan
Python berhenti di syarat pertama yang benar. Untuk percabangan bertingkat seperti ini, susun
syaratnya dari yang paling ketat ke yang paling longgar.
4. Operator pembanding yang sering dipakai
= berarti memberi nilai, sedangkan dua tanda == berarti
membandingkan. Menulis if nilai = 75: akan langsung menghasilkan pesan kesalahan.
5. Menggabungkan beberapa syarat
Gunakan and bila semua syarat harus terpenuhi, dan or bila cukup salah
satu saja. Kata not membalikkan nilai kebenaran suatu syarat.
Contoh dengan or, misalnya libur terjadi kalau harinya Sabtu atau Minggu:
6. Percabangan di dalam percabangan
Sebuah if boleh berada di dalam if lain. Ini berguna kalau ada syarat
yang baru relevan setelah syarat pertama terpenuhi.
and, atau
memecahnya menjadi fungsi tersendiri yang akan dibahas pada bab berikutnya.
7. Menggabungkan dengan masukan pengguna
Perlu diingat, hasil dari input() selalu berupa teks. Kalau ingin dibandingkan sebagai
angka, ubah dulu dengan int() atau float().
int(), Python akan membandingkan teks dengan angka dan memunculkan kesalahan
TypeError. Kesalahan ini sangat sering dialami pemula, dan sekarang kamu sudah tahu
penyebabnya.
8. Contoh utuh: menentukan potongan harga
Cobalah jalankan dengan beberapa masukan berbeda, misalnya 90.000, 150.000, 300.000, dan 600.000. Perhatikan bahwa hanya satu cabang yang pernah dijalankan untuk setiap masukan.
9. Latihan
- Buat program yang meminta sebuah bilangan lalu mencetak apakah bilangan itu genap atau ganjil. Gunakan operator sisa bagi
%. - Buat program yang meminta tiga nilai ulangan, menghitung rata-ratanya, lalu mencetak predikat A, B, C, atau D.
- Buat program yang menolak masukan kosong dengan mencetak pesan peringatan.
if bilangan % 2 == 0:.