Pertemuan 6

Percabangan If–Else di Python

Hari ini kita belajar bagaimana membuat program yang mampu mengambil keputusan secara otomatis. Fokus utama materi ini adalah struktur percabangan: if, else, dan elif pada Python. Setelah mempelajari materi ini, kamu diharapkan memahami apa yang dimaksud dengan percabangan, bagaimana alur kerjanya, dan mampu menulis program sederhana yang menggunakan percabangan.

Ilustrasi persimpangan jalan

Program yang Bisa "Mikir"

Dalam kehidupan sehari-hari, kita selalu membuat keputusan. Ketika hujan kita memakai jas hujan, saat lapar kita mencari makanan, atau saat uang cukup kita membeli sesuatu. Program komputer dapat bekerja dengan cara yang sama. Program dapat memilih tindakan yang berbeda berdasarkan kondisi tertentu. Inilah konsep dasar dari percabangan.

Komik keputusan sehari-hari

Apa Itu Percabangan?

Percabangan adalah cara bagi program untuk memeriksa sebuah kondisi dan menentukan jalur mana yang akan dijalankan berikutnya. Jika kondisi bernilai benar, program menjalankan jalur tertentu. Jika kondisi salah, program dapat mengambil jalur berbeda. Tanpa percabangan, program hanya berjalan lurus dari atas ke bawah tanpa kemampuan mengambil keputusan.

Diagram percabangan simple

Struktur Dasar if di Python

Struktur dasar if di Python ditulis dengan menempatkan kondisi setelah kata kunci if, diikuti tanda titik dua. Baris perintah yang ingin dijalankan harus ditulis menjorok ke dalam sebagai bentuk indentasi. Ketika kondisi bernilai benar, seluruh baris yang berada di dalam blok if akan dijalankan.

if kondisi:
    aksi_yang_dijalankan
                    

Contoh: Cek Kelulusan

nilai = 80

if nilai >= 75:
    print("Lulus")
                    

Program mengecek apakah nilai memenuhi syarat kelulusan. Karena nilai 80 lebih besar atau sama dengan 75, program menampilkan "Lulus". Jika nilai berada di bawah 75, program tidak menampilkan apa pun karena tidak ada perintah di luar blok if.

Menambahkan else

Ketika kita ingin program melakukan tindakan alternatif saat kondisi tidak terpenuhi, kita dapat menggunakan else. Bagian ini akan dijalankan ketika kondisi pada if bernilai salah.

if kondisi:
    aksi_jika_benar
else:
    aksi_jika_salah
                    

Contoh: Lulus atau Tidak Lulus

nilai = 60

if nilai >= 75:
    print("Lulus")
else:
    print("Tidak lulus")
                    

Karena nilai tidak memenuhi batas minimal, program langsung menjalankan bagian else dan menampilkan "Tidak lulus". Dalam sebuah percabangan if–else, hanya satu bagian yang akan dijalankan.

Indentasi: "Kurung Kurawal"-nya Python

Berbeda dengan beberapa bahasa lain yang menggunakan {} untuk menandai blok kode, Python justru menggunakan indentasi. Semua baris di dalam if, elif, atau else harus menjorok ke dalam dengan jumlah spasi atau tab yang sama. Jika indentasi tidak konsisten, Python akan menghasilkan error.

Kesalahan yang sering terjadi adalah lupa menuliskan tanda : setelah if, elif, atau else. Tanpa tanda ini, Python tidak dapat mengenali bahwa sebuah blok kode akan dimulai.

Contoh salah:

if nilai >= 75
    print("Lulus")
                            

Contoh benar:

if nilai >= 75:
    print("Lulus")
                            

Indentasi Tidak Konsisten

Indentasi yang tidak konsisten dapat menyebabkan error karena Python menganggap blok kode tidak sejajar. Misalnya satu baris memakai dua spasi dan baris lain memakai empat spasi.

Contoh salah:

if nilai >= 75:
print("Lulus")
    print("Bagus!")
                            

Contoh benar:

if nilai >= 75:
    print("Lulus")
    print("Bagus!")
                            

Menggunakan = Saat Harusnya ==

Operator = digunakan untuk memberi nilai pada variabel, sedangkan == digunakan untuk membandingkan dua nilai. Salah menggunakan operator akan membuat program berjalan tidak sesuai harapan.

Contoh salah:

if nilai = 75:
    print("Lulus")
                            

Contoh benar:

if nilai == 75:
    print("Lulus")
                            

Baris Di Luar Blok Karena Indentasi Keliru

Ketika satu baris yang seharusnya berada di dalam blok justru tidak diindentasi dengan benar, Python akan menganggapnya berada di luar blok percabangan.

Contoh salah:

if nilai >= 75:
    print("Lulus")
print("Bagus!") # tidak sengaja keluar blok
                        

Tidak Mengubah Input Menjadi Angka

input() selalu menghasilkan string. Jika dibandingkan langsung dengan angka, hasilnya salah dan bisa menyebabkan error. Oleh karena itu perlu mengonversinya menggunakan int().

Contoh salah:

nilai = input("Masukkan nilai: ")
if nilai >= 75:
    print("Lulus")
                            

Contoh benar:

nilai = int(input("Masukkan nilai: "))
if nilai >= 75:
    print("Lulus")
                            

Program Cek Ganjil / Genap

angka = int(input("Masukkan sebuah angka: "))

if angka % 2 == 0:
    print("Angka genap")
else:
    print("Angka ganjil")
                    

Operator % digunakan untuk mengambil sisa hasil pembagian. Jika sisa pembagian angka terhadap 2 adalah nol, maka angka tersebut genap; jika tidak, angka tersebut ganjil.

Mengambil Input dan Menggunakan If–Else

Program dapat meminta pengguna memasukkan data menggunakan input(). Jika yang diminta adalah angka, data tersebut harus diubah menjadi bilangan dengan int(). Setelah itu nilai tersebut bisa dipakai dalam percabangan.

nilai = int(input("Masukkan nilai kamu: "))

if nilai >= 75:
    print("Lulus")
else:
    print("Tidak lulus")
                    

Contoh: Menentukan Grade

nilai = 82

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

Pada contoh ini, nilai 82 tidak memenuhi kondisi pertama, tetapi memenuhi kondisi kedua sehingga menghasilkan "Grade B".

Rentang Nilai

  • 90–100 → Grade A
  • 80–89 → Grade B
  • 70–79 → Grade C
  • 60–69 → Grade D
  • < 60 → Grade E

Studi Kasus: Diskon

total = int(input("Total belanja: "))

if total >= 100_000:
    diskon = total * 10 / 100
    total_bayar = total - diskon
    print("Mendapat diskon 10%")
    print("Total yang harus dibayar:", total_bayar)
else:
    print("Tidak ada diskon")
    print("Total yang harus dibayar:", total)
                    

Diskon diberikan hanya ketika total belanja mencapai batas minimal.

Studi Kasus: Login

username = input("Masukkan username: ")
password = input("Masukkan password: ")

if username == "admin" and password == "1234":
    print("Login berhasil")
else:
    print("Username atau password salah")
                    

Pada login sederhana ini, program mengecek apakah kedua nilai yang dimasukkan sesuai. Jika salah satu berbeda, program menampilkan pesan gagal.

Studi Kasus: Biaya Parkir

  • 2 jam pertama: Rp5.000.
  • Jam berikutnya: tambah Rp2.000 per jam.
jam = int(input("Lama parkir (jam): "))

if jam <= 2:
    biaya = 5_000
else:
    biaya = 5_000 + (jam - 2) * 2_000

print("Biaya parkir:", biaya)
                    

Latihan Mandiri

1. Kategori Umur

  • Input umur dari pengguna.
  • < 13 → "Anak-anak".
  • 13–17 → "Remaja".
  • >= 18 → "Dewasa".
  • Gunakan if–elif–else.

2. Salam Berdasarkan Jam

  • Input jam (0–23).
  • 0–11 → "Selamat pagi".
  • 12–17 → "Selamat siang".
  • 18–23 → "Selamat malam".

Latihan untuk Siswa

1. Kategori Umur

  • Program meminta input umur.
  • Jika umur di bawah 13 tampilkan "Anak-anak".
  • Jika 13–17 tampilkan "Remaja".
  • Jika 18 ke atas tampilkan "Dewasa".

2. Salam Berdasarkan Jam

  • Program meminta input jam 0–23.
  • Jika jam berada di 0–11 tampilkan "Selamat pagi".
  • Jika 12–17 tampilkan "Selamat siang".
  • Jika 18–23 tampilkan "Selamat malam".

Rangkuman Akhir

Struktur if digunakan untuk memeriksa kondisi tertentu. Bagian else menangani kondisi ketika syarat tidak terpenuhi, sedangkan elif digunakan ketika terdapat lebih dari dua kemungkinan kondisi. Python menggunakan indentasi untuk menentukan blok kode, sehingga penulisan rapi sangat penting. Percabangan ini digunakan di banyak contoh nyata seperti login, diskon, perhitungan biaya, dan kategorisasi umur.