Belajar Python #4: Percabangan Logika (If, Elif, Else)

Heru Iryanto
Heru Iryanto
Teacher, Content Creator and Full-Stack Developer

Sebuah komputer akan terasa “cerdas” karena ia sanggup mengambil keputusan berdasarkan situasi yang terjadi. Di dalam pemrograman, kemampuan mengambil keputusan ini disebut sebagai Percabangan Logika (Control Flow / Conditionals).

Di Python, percabangan dibuat menggunakan tiga kata kunci utama: if, elif, dan else.

1️⃣ Pentingnya Indentasi di Python

Sebelum menulis kode percabangan, Anda wajib memahami aturan paling krusial di Python: Indentasi (Penjorokan Kode).

Tidak seperti JavaScript atau C++ yang menggunakan kurung kurawal {} untuk menandai blok kode, Python menggunakan 4 spasi indentasi. Kode yang sejajar di bawah percabangan dianggap sebagai bagian dari blok keputusan tersebut.

# CONTOH BENAR:
if True:
    print("Baris ini masuk di dalam blok IF (menggunakan indentasi)")
print("Baris ini di luar blok IF")

# CONTOH SALAH (Menyebabkan IndentationError):
# if True:
# print("Error! Lupa indentasi")

2️⃣ Struktur Dasar if dan else

Kata kunci if mengevaluasi suatu kondisi boolean. Jika kondisi tersebut bernilai True, blok kode di dalamnya akan dijalankan. Jika bernilai False, Python akan melompat ke blok else (jika ada).

nilai = 80

if nilai >= 75:
    print("Selamat! Anda dinyatakan LULUS.")
else:
    print("Maaf, Anda harus mengikuti Ujian Remedial.")

3️⃣ Menangani Banyak Kondisi dengan elif

Jika Anda memiliki lebih dari dua pilihan keputusan, gunakan elif (singkatan dari Else If). Python akan mengecek kondisi dari atas ke bawah secara berurutan. Begitu ada kondisi yang bernilai True, blok tersebut dijalankan dan sisa kondisi di bawahnya diabaikan.

nilai_siswa = 87

if nilai_siswa >= 90:
    grade = "A (Sangat Memuaskan)"
elif nilai_siswa >= 80:
    grade = "B (Bagus)"
elif nilai_siswa >= 70:
    grade = "C (Cukup)"
elif nilai_siswa >= 60:
    grade = "D (Kurang)"
else:
    grade = "E (Gagal)"

print(f"Nilai: {nilai_siswa} -> Grade: {grade}")

4️⃣ Percabangan Bersarang (Nested If) & Ternary Operator

Nested If

Anda bisa memasukkan struktur if di dalam if lainnya untuk pengecekan bertingkat.

username = "admin"
password = "123"

if username == "admin":
    if password == "123":
        print("Login Berhasil! Selamat datang Admin.")
    else:
        print("Login Gagal: Password Anda salah.")
else:
    print("Login Gagal: Username tidak ditemukan.")

Short-Hand Ternary Operator

Untuk pernyataan if-else sederhana satu baris, Anda dapat menggunakan sintaks Ternary Operator:

umur = 18
status = "Dewasa" if umur >= 18 else "Anak-anak"
print("Status:", status)

5️⃣ Latihan Studi Kasus: Sistem Tiket Bioskop

Mari kita gabungkan pengetahuan variabel, input, dan percabangan logika untuk menghitung harga tiket bioskop berdasarkan umur dan hari:

umur = int(input("Masukkan umur Anda: "))
hari = input("Masukkan hari (senin-minggu): ").lower()

harga_dasar = 50000

if umur < 12:
    harga_tiket = harga_dasar * 0.5  # Diskon 50% untuk anak-anak
elif umur >= 60:
    harga_tiket = harga_dasar * 0.7  # Diskon 30% untuk lansia
else:
    harga_tiket = harga_dasar

# Tambahan biaya akhir pekan
if hari in ["sabtu", "minggu"]:
    harga_tiket += 10000

print(f"Harga tiket Anda untuk hari {hari.capitalize()} adalah: Rp {int(harga_tiket):,}")

🗽 Kesimpulan

Percabangan if-elif-else memunginkkan program Anda membuat keputusan dinamis secara fleksibel sesuai input dan kondisi yang terjadi.

Namun bagaimana jika kita ingin mengeksekusi sebuah perintah berulang kali tanpa harus mengetik kode yang sama 100 kali?

Mari kita pelajari di materi Perulangan & Otomatisasi (For & While Loop).