Membuat Keputusan dan Pengulangan · Pelajaran 6 dari 11
Percabangan if, elif, dan else
8 menit baca · BelajarCode
Percabangan membuat program memilih jalan. Bentuk dasarnya:
1nilai = 822if nilai >= 75:3 print("Tuntas")4else:5 print("Belum tuntas, ikut remedial")6print("Pemeriksaan selesai")Tuntas Pemeriksaan selesai
- Baris
ifdanelsediakhiri titik dua:. - Perintah di dalam blok menjorok 4 spasi. Python memakai jarak ini untuk menentukan perintah mana yang termasuk ke dalam blok.
- Baris yang tidak menjorok (
print("Pemeriksaan selesai")) selalu dijalankan, apa pun hasil syaratnya.
Banyak pilihan dengan elif
1nilai = 682if nilai >= 90:3 predikat = "A"4elif nilai >= 80:5 predikat = "B"6elif nilai >= 70:7 predikat = "C"8elif nilai >= 60:9 predikat = "D"10else:11 predikat = "E"12print("Predikat:", predikat)Predikat: D
Python memeriksa syarat dari atas. Begitu menemukan syarat yang benar, bloknya dijalankan dan sisanya dilewati.
Syarat gabungan
Tahun kabisat adalah contoh klasik syarat gabungan. Sebuah tahun adalah kabisat jika habis dibagi 4 tetapi tidak habis dibagi 100, atau habis dibagi 400.
1tahun = int(input("Tahun: "))2if (tahun % 4 == 0 and tahun % 100 != 0) or tahun % 400 == 0:3 print(tahun, "adalah tahun kabisat")4else:5 print(tahun, "bukan tahun kabisat")Tahun: 1900 1900 bukan tahun kabisat
Tahun 1900 habis dibagi 4 dan 100, tetapi tidak habis dibagi 400, jadi bukan kabisat. Tahun 2000 habis dibagi 400, jadi kabisat.
If di dalam if
1umur = 162punya_sim = False3if umur >= 17:4 if punya_sim:5 print("Boleh mengendarai motor")6 else:7 print("Buat SIM dulu")8else:9 print("Belum cukup umur untuk SIM")Belum cukup umur untuk SIM
Kesalahan jarak menjorok
Jarak menjorok yang tidak konsisten membuat program error atau, lebih buruk, berjalan dengan logika yang salah. Pakai 4 spasi untuk setiap tingkat, dan jangan mencampur spasi dengan tab.
Cek pemahaman
Jika x = 15, apa yang ditampilkan oleh kode berikut: if x > 10: tampilkan "A", elif x > 5: tampilkan "B", else: tampilkan "C"?
Latihan
Ongkos kirim
Sebuah toko online menetapkan ongkos kirim: Rp10.000 untuk berat sampai 1 kg, ditambah Rp4.000 untuk setiap kilogram berikutnya (dibulatkan ke atas). Belanja Rp200.000 atau lebih gratis ongkir. Buat programnya.
Pembahasan
1belanja = int(input("Total belanja: "))2berat = int(input("Berat (kg, dibulatkan ke atas): "))34if belanja >= 200000:5 ongkir = 06elif berat <= 1:7 ongkir = 100008else:9 ongkir = 10000 + (berat - 1) * 40001011print("Ongkos kirim:", ongkir)12print("Total bayar:", belanja + ongkir)Total belanja: 150000 Berat (kg, dibulatkan ke atas): 3 Ongkos kirim: 18000 Total bayar: 168000
Syarat gratis ongkir diperiksa paling awal, karena berlaku berapa pun beratnya.
Jalankan contoh kode di pelajaran ini tanpa instalasi lewat compiler Python online.