Mengapa Percabangan Python adalah “Jantung” Pemrograman?

Hai, Sobat Pradha! Bayangkan kamu sedang membuat program untuk menentukan apakah seseorang boleh menonton film bioskop. Syaratnya: usia minimal 17 tahun ATAU didampingi orang tua. Tanpa struktur percabangan, programmu tidak bisa mengambil keputusan ini—hasilnya, bayi baru lahir pun bisa lolos!

Nah, di sinilah if, elif, else di Python berperan. Ketiga keyword ini ibarat rambu-rambu lalu lintas yang mengatur alur programmu. Ingin tahu cara menggunakannya dengan benar? Yuk, kita eksplor dari dasar hingga trik profesional!

Apa Itu Percabangan? Analogi Sederhana untuk Pemula

Percabangan (branching) adalah teknik untuk membuat program mengambil keputusan berdasarkan kondisi tertentu. Analoginya seperti memilih jalan:

  • Jika hujan, bawa payung (if).
  • Jika tidak hujan tapi panas, pakai topi (elif).
  • Jika tidak keduanya, jalan biasa (else).

Di Python, struktur dasarnya seperti ini:

Python
if kondisi1:  
    # Jalankan kode ini jika kondisi1 benar  
elif kondisi2:  
    # Jalankan jika kondisi1 salah, tapi kondisi2 benar  
else:  
    # Jalankan jika semua kondisi salah  

If Statement: Kunci Awal Pengambilan Keputusan

Mari mulai dengan contoh sederhana: program cek usia minimal pembuatan SIM.

Python
usia = 18  

if usia >= 17:  
    print("Selamat! Anda boleh membuat SIM.")  

Penjelasan:

  • if diikuti kondisi usia >= 17.
  • Jika kondisi True (benar), blok kode di dalamnya dijalankan.
  • Jika False, program akan mengabaikannya.

Catatan:

  • Pastikan indentasi (spasi/tab) setelah if benar. Ini wajib di Python!
  • Gunakan operator perbandingan seperti ><==!=.

Else: Antisipasi Kasus “Jika Semuanya Gagal”

Agar program bisa menangani kasus di luar kondisi utama, tambahkan else:

Python
password = "pradha123"  
input_user = input("Masukkan password: ")  

if input_user == password:  
    print("Login berhasil!")  
else:  
    print("Password salah. Coba lagi.")  

Fungsi else:

  • Menjadi “tempat sampah” untuk semua kondisi yang tidak masuk if atau elif.
  • Hanya boleh ada satu else dalam satu blok percabangan.

Baca Juga :

Elif: Penengah Multi-Kondisi yang Fleksibel

Bagaimana jika ada lebih dari dua kemungkinan? Gunakan elif (kependekan dari else if). Contoh: program penentuan nilai huruf.

Python
nilai = 85  

if nilai >= 90:  
    print("A")  
elif nilai >= 80:  
    print("B")  
elif nilai >= 70:  
    print("C")  
else:  
    print("D")  

Hasil: Output adalah B, karena 85 memenuhi nilai >= 80.

Tips:

  • Urutkan kondisi dari yang paling spesifik ke umum.
  • Hindari tumpang-tindih kondisi (misal: nilai >= 80 dan nilai >= 70 tanpa batas atas).

Percabangan Bersarang (Nested If): Saat Kondisi dalam Kondisi

Kadang, kita perlu mengecek sub-kondisi di dalam kondisi utama. Contoh: program diskon belanja dengan syarat ganda.

Python
total_belanja = 1_200_000  
member = True  

if total_belanja > 1_000_000:  
    if member:  
        print("Diskon 15%!")  
    else:  
        print("Diskon 10%!")  
else:  
    print("Diskon 0%.")  

Hasil:

  • Jika belanja Rp 1,2 juta dan member, diskon 15%.
  • Jika belanja Rp 1,2 juta tapi bukan member, diskon 10%.

Hati-hati:

  • Terlalu banyak nested if bisa membuat kode rumit (istilah kerennya: pyramid of doom).

Kombinasi dengan Operator Logika (AND, OR, NOT)

Agar percabangan lebih efisien, gabungkan kondisi dengan operator logika:

Contoh 1: Program cek kuota internet.

Python
kuota = 5  # dalam GB  
wifi_terhubung = False  

if kuota > 0 or wifi_terhubung:  
    print("Bisa browsing!")  
else:  
    print("Kuota habis dan WiFi tidak terhubung.")  

Contoh 2: Syarat promo membership premium.

Python
usia = 25  
pendapatan_bulanan = 15_000_000  

if usia >= 21 and pendapatan_bulanan >= 10_000_000:  
    print("Anda memenuhi syarat untuk membership premium!")  
else:  
    print("Maaf, syarat belum terpenuhi.")  

5 Kesalahan Umum dalam Percabangan Python (dan Solusinya)

  1. Lupa Titik Dua (:)
    if usia >= 17 # ERROR: kurang tanda :
    print("Boleh bikin SIM")
  2. Indentasi Tidak Konsisten
    if kondisi:
    print("Hello") # ERROR: tidak ada indentasi
  3. Menggunakan = alih-alih ==
    if password = "rahasia": # ERROR: harus ==
  4. Urutan Kondisi yang Salah
    if nilai >= 70:
    print("C")
    elif nilai >= 80: # Kondisi ini tidak akan pernah terpenuhi
    print("B")
  5. Tidak Mempertimbangkan Semua Kasus
    Contoh: lupa menangani input negatif dalam program cek usia.

Studi Kasus: Membuat Sistem Login Sederhana

Mari praktikkan dengan program yang memvalidasi username dan password:

Python
username_db = "pradha_admin"  
password_db = "p@ssw0rd!"  

input_user = input("Username: ")  
input_pass = input("Password: ")  

if input_user == username_db:  
    if input_pass == password_db:  
        print("Login sukses!")  
    else:  
        print("Password salah.")  
else:  
    print("Username tidak ditemukan.")  

Tips Optimalkan Percabangan Python

  1. Gunakan Ternary Operator untuk Kode Singkat
    status = "Lulus" if nilai >= 75 else "Remidi"
  2. Manfaatkan Dictionary untuk Menggantikan Elif Berantai
    def get_grade(nilai):
    return {
    nilai >= 90: "A",
    80 <= nilai < 90: "B",
    70 <= nilai < 80: "C"
    }.get(True, "D")
  3. Hindari Percabangan Kosong dengan pass
    if kondisi:
    pass # Tidak melakukan apa-apa
    else:
    print("Kondisi salah")

Kapan Harus Menghindari If-Else?

Meskipun powerful, percabangan berlebihan bisa jadi masalah:

  • Polymorphism: Di OOP, terkadang lebih baik gunakan inheritance.
  • Strategy Pattern: Untuk algoritma kompleks, pisahkan logika ke fungsi terpisah.

Kesimpulan: Jika, Elif, Else adalah Kunci Logika Program

Dengan menguasai percabangan, kamu bisa membuat program yang dinamis dan responsif. Ingat prinsip KISS (Keep It Simple, Stupid!): hindari nested if yang terlalu dalam dan manfaatkan operator logika untuk menyederhanakan kondisi.

Praktikkan segera! Coba buat program kalkulator BMI atau sistem diskon belanja. Semakin sering praktik, semakin mahir!

Sumber & Referensi

Leave a Reply

Your email address will not be published. Required fields are marked *