Pertemuan 6
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.
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.
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.
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
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.
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
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.
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.
Contoh salah:
if nilai >= 75
print("Lulus")
Contoh benar:
if nilai >= 75:
print("Lulus")
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!")
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")
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
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")
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.
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")
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".
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.
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.
jam = int(input("Lama parkir (jam): "))
if jam <= 2:
biaya = 5_000
else:
biaya = 5_000 + (jam - 2) * 2_000
print("Biaya parkir:", biaya)
if–elif–else.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.