Memahami `elif` pada Python: Struktur Percabangan Lanjutan

Ilustrasi Struktur Percabangan If-Elif-Else Diagram alir sederhana yang menunjukkan kondisi dicek satu per satu (IF, ELIF, ELSE). Kondisi IF (Cek Pertama) Kondisi ELIF (Cek Kedua) ELSE (Default)

Dalam pemrograman Python, struktur kontrol alur (flow control) sangat penting untuk membuat keputusan dalam kode. Pernyataan yang paling mendasar adalah `if`. Namun, bagaimana jika kita perlu mengevaluasi beberapa kondisi secara berurutan? Di sinilah peran krusial dari kata kunci elif (singkatan dari "else if") hadir.

Struktur if-elif-else memungkinkan program Anda untuk menguji serangkaian kondisi secara eksklusif. Begitu satu kondisi terbukti benar (True), blok kode yang terkait akan dieksekusi, dan seluruh struktur percabangan akan dilewati—tidak ada kondisi berikutnya yang akan diperiksa.

Mengapa Membutuhkan `elif`?

Bayangkan Anda harus menentukan tingkatan nilai seorang siswa berdasarkan skor yang diperoleh:

Jika Anda menggunakan beberapa blok if terpisah, alurnya akan salah. Misalnya, jika skor siswa adalah 95, blok if (skor >= 90) akan dieksekusi, dan program akan keluar. Namun, jika Anda hanya menggunakan if, setelah blok pertama dieksekusi, Python akan tetap melanjutkan dan mungkin mengecek if (skor >= 80), yang juga bernilai benar, menyebabkan hasil yang tidak diinginkan (misalnya, menetapkan nilai B padahal sudah A).

Struktur elif memastikan bahwa hanya satu jalur eksekusi yang akan dipilih dari seluruh rantai kondisi tersebut.

Sintaks Dasar Penggunaan `elif` pada Python

Sintaks yang benar harus selalu mengikuti urutan: if pertama, diikuti oleh nol atau lebih elif, dan opsional diakhiri dengan else.

if kondisi_pertama:
    # Blok kode yang dijalankan jika kondisi_pertama True
    print("Kondisi pertama terpenuhi.")
elif kondisi_kedua:
    # Blok kode yang dijalankan jika kondisi_pertama False DAN kondisi_kedua True
    print("Kondisi kedua terpenuhi.")
elif kondisi_ketiga:
    # Blok kode yang dijalankan jika kondisi_pertama & kedua False DAN kondisi_ketiga True
    print("Kondisi ketiga terpenuhi.")
else:
    # Blok kode yang dijalankan jika SEMUA kondisi di atas False
    print("Tidak ada kondisi yang terpenuhi.")
            

Contoh Praktis Penentuan Grade

Mari kita terapkan contoh penentuan grade menggunakan elif:

skor_siswa = 85

if skor_siswa >= 90:
    grade = "A"
elif skor_siswa >= 80:
    grade = "B"
elif skor_siswa >= 70:
    grade = "C"
elif skor_siswa >= 60:
    grade = "D"
else:
    grade = "E (Gagal)"

print(f"Skor Anda adalah {skor_siswa}, Grade Anda: {grade}")
            

Dalam contoh di atas, ketika skor_siswa = 85:

  1. Cek if skor_siswa >= 90 (85 >= 90) -> False.
  2. Pindah ke elif skor_siswa >= 80 (85 >= 80) -> True. Blok kode dijalankan, grade menjadi "B".
  3. Semua sisa pemeriksaan (`elif` selanjutnya dan `else`) dilewati.

Pentingnya Urutan Kondisi

Salah satu kesalahan umum pemula adalah tidak memperhatikan urutan kondisi saat menggunakan elif, terutama ketika kondisi saling tumpang tindih.

Perhatikan contoh yang salah (logika terbalik):

skor = 95
if skor >= 60:
    print("Lulus") # Akan selalu dieksekusi pertama kali untuk skor 95
elif skor >= 90:
    print("Sempurna") # Baris ini tidak akan pernah tercapai jika skor >= 90
            

Karena kondisi yang lebih longgar (skor >= 60) diletakkan di awal, ia akan menangkap semua nilai dari 60 ke atas, termasuk 95. Oleh karena itu, dalam struktur percabangan berurutan seperti if-elif-else, selalu pastikan Anda menguji kondisi yang paling spesifik atau paling ketat terlebih dahulu, lalu bergerak menuju kondisi yang lebih umum.

Catatan Penting: Python hanya akan menjalankan satu blok kode dari keseluruhan rangkaian if-elif-else. Jika Anda perlu mengeksekusi beberapa blok kode berdasarkan kondisi yang berbeda namun tidak saling eksklusif, Anda harus menggunakan beberapa pernyataan if independen tanpa elif.

Kesimpulan

elif adalah alat yang sangat efisien dalam Python untuk menangani skenario di mana Anda memiliki banyak kemungkinan hasil yang saling eksklusif. Dengan sintaks yang ringkas dan terstruktur, elif menjaga kode tetap bersih, mudah dibaca, dan yang terpenting, memastikan bahwa logika percabangan dieksekusi dengan benar sesuai urutan prioritas yang telah Anda tentukan.