Menguasai Struktur Percabangan dengan elif dalam Python

Kondisi 1 (IF) Kondisi N (ELIF) Blok Lainnya (ELSE) Program Berlanjut

Ilustrasi alur logika IF-ELIF-ELSE.

Dalam dunia pemrograman Python, struktur kontrol alur (flow control) adalah pondasi penting untuk membuat logika aplikasi yang kompleks. Salah satu struktur yang paling sering digunakan adalah percabangan kondisional, yang diwakili oleh tiga kata kunci utama: if, elif, dan else.

Sementara if memulai blok kondisi, dan else menyediakan jalur eksekusi jika semua kondisi sebelumnya gagal, kata kunci elif (singkatan dari "else if") memainkan peran krusial sebagai jembatan penengah. Peran elif adalah menguji serangkaian kondisi tambahan secara berurutan tanpa mengganggu validitas kondisi if awal.

Mengapa Kita Membutuhkan elif?

Bayangkan Anda harus menentukan grade siswa berdasarkan skor yang mereka dapatkan. Anda memiliki banyak kemungkinan rentang nilai: A, B, C, D, dan E. Jika kita hanya menggunakan if dan else, kita akan membuat kode yang sangat berulang dan kurang efisien. Sebagai contoh:

nilai = 85

# Pendekatan yang kurang efisien tanpa elif
if nilai >= 90:
    print("Grade A")
if nilai >= 80:
    print("Grade B") # Ini akan dieksekusi jika nilai 95 (karena 95 juga >= 80)
if nilai >= 70:
    print("Grade C")
        

Dalam contoh di atas, jika nilainya 95, program akan mencetak "Grade A", "Grade B", dan "Grade C", padahal seharusnya hanya mencetak "Grade A". Ini karena setiap pernyataan if dievaluasi secara independen.

Sintaks dan Cara Kerja elif yang Benar

Di sinilah elif menjadi penyelamat. Ketika digunakan dalam satu blok percabangan, Python memastikan bahwa hanya satu blok kode yang akan dieksekusi. Begitu satu kondisi (baik if utama atau salah satu elif) bernilai True, blok kodenya dieksekusi, dan seluruh struktur percabangan dilewati (program melompat ke kode setelah blok else atau akhir struktur).

Mari kita terapkan elif pada contoh grading:

skor = 85

if skor >= 90:
    print("Anda mendapatkan Grade A.")
elif skor >= 80:
    print("Anda mendapatkan Grade B.")
elif skor >= 70:
    print("Anda mendapatkan Grade C.")
elif skor >= 60:
    print("Anda mendapatkan Grade D.")
else:
    print("Anda mendapatkan Grade E (Gagal).")
        

Ketika skor adalah 85:

  1. Kondisi if skor >= 90 dievaluasi: Salah.
  2. Program pindah ke elif skor >= 80: Benar.
  3. Pesan "Anda mendapatkan Grade B." dicetak.
  4. Program segera keluar dari struktur percabangan ini dan melanjutkan eksekusi setelah blok else.

Aturan Penting Penggunaan elif

Memahami urutan sangat penting:

  1. Urutan Prioritas: Evaluasi selalu dimulai dari if pertama, kemudian dilanjutkan secara berurutan ke setiap elif.
  2. Hanya Satu Eksekusi: Dalam satu set if/elif/else, hanya satu blok kode yang bisa berjalan.
  3. Opsionalitas: Blok elif bersifat opsional. Anda bisa memiliki nol, satu, atau banyak elif di antara if dan else.
  4. Ketergantungan: Semua elif harus berada di tingkat indentasi yang sama persis dengan if awal, menunjukkan bahwa mereka adalah bagian dari struktur keputusan yang sama.

Penggunaan elif tidak hanya membuat kode lebih efisien karena memangkas evaluasi yang tidak perlu, tetapi juga meningkatkan keterbacaan secara dramatis. Ini adalah cara standar dan terbaik di Python untuk menangani banyak kondisi yang saling eksklusif. Dengan menguasai if, elif, dan else, Anda telah mengunci salah satu fondasi utama dalam pemrograman logis.