Struktur kontrol alir (control flow) adalah inti dari pemrograman. Di Python, pernyataan if, elif, dan else adalah cara utama untuk membuat program Anda membuat keputusan berdasarkan kondisi tertentu. Memahami logika ini sangat penting untuk membangun aplikasi yang dinamis dan fungsional.
Pernyataan if adalah blok kode yang akan dieksekusi hanya jika kondisi yang diberikan bernilai True. Jika kondisinya False, blok kode tersebut diabaikan.
# Contoh: Memeriksa apakah angka positif
angka = 15
if angka > 0:
print(f"Angka {angka} adalah bilangan positif.")
# Jika angka = -5, output di atas tidak akan muncul.
Ketika Anda memerlukan dua jalur eksekusi yang berbeda—satu jika kondisi benar, dan satu lagi jika kondisi salah—Anda menggunakan else. Ini adalah percabangan biner paling sederhana.
# Contoh: Menentukan apakah seseorang memenuhi syarat usia minimum
usia = 17
batas_usia = 18
if usia >= batas_usia:
print("Selamat! Anda memenuhi syarat untuk mendaftar.")
else:
sisa_usia = batas_usia - usia
print(f"Maaf, Anda belum cukup umur. Tunggu {sisa_usia} tahun lagi.")
Dalam contoh di atas, karena usia (17) tidak lebih besar atau sama dengan batas_usia (18), blok else yang akan dieksekusi.
Seringkali, kita perlu menguji lebih dari dua kemungkinan. Di sinilah elif (singkatan dari "else if") berperan. Python akan menguji kondisi secara berurutan, dan segera menjalankan blok kode pertama yang kondisinya terpenuhi, kemudian melewati sisa blok if/elif/else.
Mari kita terapkan untuk menentukan grade berdasarkan nilai:
nilai = 88
if nilai >= 90:
grade = "A"
elif nilai >= 80:
grade = "B"
elif nilai >= 70:
grade = "C"
elif nilai >= 60:
grade = "D"
else:
grade = "E (Gagal)"
print(f"Dengan nilai {nilai}, Anda mendapatkan grade: {grade}")
# Penjelasan Alur:
# 1. Apakah 88 >= 90? (False) -> Lanjut ke elif berikutnya.
# 2. Apakah 88 >= 80? (True) -> Blok ini dieksekusi, grade = "B".
# 3. Sisa elif dan else diabaikan.
Penting untuk diperhatikan bahwa urutan dalam if/elif/else sangat krusial. Jika kita menempatkan elif nilai >= 60 sebelum elif nilai >= 80, semua nilai di atas 60 akan langsung mendapatkan grade 'D' tanpa sempat diperiksa ke kondisi yang lebih tinggi (A, B, atau C).
Struktur percabangan juga bisa ditempatkan di dalam struktur percabangan lain. Ini disebut Nested If. Meskipun berguna, penggunaan yang berlebihan dapat membuat kode sulit dibaca (terlalu banyak indentasi).
username_aktif = True
saldo = 500000
limit_pinjaman = 1000000
if username_aktif:
print("Pengguna terverifikasi.")
if saldo > 0:
print("Memiliki saldo tersedia.")
if saldo < limit_pinjaman:
print("Anda memenuhi syarat untuk pinjaman kecil.")
else:
print("Saldo Anda sangat besar, cek kebijakan limit.")
else:
print("Akun tidak dapat melakukan transaksi karena saldo nol.")
else:
print("Harap login terlebih dahulu.")