8. Membuat Keputusan dengan Pernyataan if
Dalam program yang sudah kita tulis sejauh ini, Python mengeksekusi setiap baris kode dari atas ke bawah, satu pernyataan demi satu pernyataan. Tapi program di dunia nyata perlu membuat keputusan—mengeksekusi kode yang berbeda bergantung pada kondisi yang berbeda. Haruskah kita menampilkan pesan error? Haruskah kita menghitung diskon? Haruskah kita meminta input lagi? Jawabannya bergantung pada situasi.
Pernyataan kondisional (conditional statements) memungkinkan programmu membuat keputusan ini. Pernyataan ini memungkinkan Python mengeksekusi blok kode tertentu hanya ketika kondisi tertentu bernilai benar, dan melewatinya jika tidak. Bab ini memperkenalkan pernyataan if Python dan variasinya, yang menjadi dasar pengambilan keputusan dalam programmu.
Dengan menguasai pernyataan kondisional, kamu akan bisa menulis program yang merespons secara cerdas terhadap input pengguna, menangani berbagai skenario dengan tepat, dan menyelesaikan masalah yang membutuhkan penalaran logis.
8.1) Pernyataan if Sederhana
Bentuk pengambilan keputusan paling dasar di Python adalah pernyataan if sederhana (simple if statement). Ini memberi tahu Python: "Jika kondisi ini benar, jalankan blok kode ini. Kalau tidak, lewati dan lanjutkan."
8.1.1) Struktur Pernyataan if
Berikut sintaks dasar dari sebuah pernyataan if:
if condition:
# Kode yang dieksekusi jika condition bernilai True
statement1
statement2
# ... lebih banyak pernyataanMari kita uraikan setiap bagiannya:
- Keyword
if: Ini memulai pernyataan kondisional - Kondisi (condition): Ekspresi boolean yang dievaluasi menjadi
TrueatauFalse(dari Bab 7) - Titik dua (
:): Ini wajib dan menandai akhir baris kondisi - Blok kode yang diindentasi: Semua pernyataan yang diindentasi di bawah
ifdieksekusi hanya ketika kondisi bernilaiTrue
Indentasi itu krusial di Python. Baris-baris yang diindentasi membentuk sebuah blok kode (code block) yang menjadi bagian dari pernyataan if. Python menggunakan indentasi (biasanya 4 spasi) untuk menentukan pernyataan mana yang merupakan bagian dari blok kondisional.
Berikut contoh sederhana:
# temperature_check.py
temperature = 30
if temperature > 25:
print("It's a warm day!")
print("Consider wearing light clothing.")
print("Have a great day!") # Ini selalu dieksekusiOutput:
It's a warm day!
Consider wearing light clothing.
Have a great day!Dalam contoh ini:
- Kondisi
temperature > 25bernilaiTrue(karena 30 > 25) - Kedua pernyataan
print()yang diindentasi dieksekusi karena mereka bagian dari blokif - Pernyataan
print()terakhir selalu dieksekusi karena tidak diindentasi—jadi bukan bagian dari blokif
Sekarang mari lihat apa yang terjadi ketika kondisinya False:
# temperature_check_cool.py
temperature = 18
if temperature > 25:
print("It's a warm day!")
print("Consider wearing light clothing.")
print("Have a great day!") # Ini selalu dieksekusiOutput:
Have a great day!Kali ini:
- Kondisi
temperature > 25bernilaiFalse(karena 18 tidak lebih besar dari 25) - Kedua pernyataan yang diindentasi dilewati sepenuhnya
- Hanya
print()terakhir yang dieksekusi karena berada di luar blokif
8.1.2) Menggunakan Kondisi dari Bab 7
Ekspresi boolean apa pun dari Bab 7 bisa digunakan sebagai kondisi dalam pernyataan if. Ini termasuk:
Operator perbandingan (comparison operators):
# voting_eligibility.py
age = 16
if age >= 18:
print("You are eligible to vote.")
# Tidak ada yang tercetak karena 16 >= 18 bernilai False
score = 85
if score >= 60:
print("You passed the exam!") # Output: You passed the exam!Pengujian keanggotaan (membership tests) dengan in dan not in:
# user_access.py
username = "alice"
banned_users = ["bob", "charlie", "dave"]
if username not in banned_users:
print(f"Welcome, {username}!") # Output: Welcome, alice!
favorite_color = "blue"
if "u" in favorite_color:
print("Your favorite color contains the letter 'u'.") # Output: Your favorite color contains the letter 'u'.Nilai boolean langsung (direct boolean values):
# weather_check.py
is_raining = True
if is_raining:
print("Don't forget your umbrella!") # Output: Don't forget your umbrella!Truthiness dan falsiness (dari Bab 7.4):
# name_input.py
user_input = input("Enter your name: ")
if user_input: # String kosong bersifat falsy, yang tidak kosong bersifat truthy
print(f"Hello, {user_input}!")
else:
print("You didn't enter a name.")8.1.3) Banyak Pernyataan dalam Blok if
Kamu bisa memasukkan sebanyak apa pun pernyataan yang kamu perlukan dalam sebuah blok if. Semua pernyataan yang diindentasi di bawah baris if adalah bagian dari blok tersebut:
# bank_withdrawal.py
balance = 1500
withdrawal = 200
if withdrawal <= balance:
balance = balance - withdrawal # Kurangi saldo dengan jumlah penarikan
print(f"Withdrawal successful!")
print(f"Your new balance is: ${balance}")
print("Thank you for your transaction.")
print("Transaction complete.") # Selalu dieksekusiOutput:
Withdrawal successful!
Your new balance is: $1300
Thank you for your transaction.
Transaction complete.Keempat pernyataan dieksekusi karena withdrawal <= balance bernilai True. Jika kita ubah penarikan menjadi 2000:
# bank_withdrawal_insufficient.py
balance = 1500
withdrawal = 2000
if withdrawal <= balance:
balance = balance - withdrawal
print(f"Withdrawal successful!")
print(f"Your new balance is: ${balance}")
print("Thank you for your transaction.")
print("Transaction complete.") # Selalu dieksekusiOutput:
Transaction complete.Sekarang tidak ada pernyataan terindentasi yang dieksekusi karena kondisinya False. Saldo tetap tidak berubah di 1500.
8.2) Menggunakan if-else untuk Pilihan Entah-Atau
Sering kali kamu perlu memilih antara dua alternatif: mengeksekusi satu blok kode jika kondisi benar, dan blok yang berbeda jika salah. Pernyataan if-else (if-else statement) menangani pengambilan keputusan entah-atau ini.
8.2.1) Struktur if-else
Berikut sintaksnya:
if condition:
# Kode yang dieksekusi jika condition bernilai True
statement1
statement2
else:
# Kode yang dieksekusi jika condition bernilai False
statement3
statement4Klausa else menyediakan jalur alternatif. Tepat satu dari dua blok akan dieksekusi—tidak pernah keduanya, dan tidak pernah tidak ada.
Mari lihat contoh yang praktis:
# age_verification.py
age = int(input("Enter your age: "))
if age >= 18:
print("You are an adult.")
print("You can vote in elections.")
else:
print("You are a minor.")
print("You cannot vote yet.")
print("Thank you for providing your age.")Jika kamu memasukkan 25:
You are an adult.
You can vote in elections.
Thank you for providing your age.Jika kamu memasukkan 15:
You are a minor.
You cannot vote yet.
Thank you for providing your age.Perhatikan bahwa tepat satu dari dua blok dieksekusi, bergantung pada kondisi. Pernyataan print() terakhir selalu dieksekusi karena berada di luar kedua blok.
8.2.2) Membuat Keputusan Biner
if-else sangat cocok untuk keputusan biner ketika hanya ada tepat dua kemungkinan hasil:
# even_odd_checker.py
number = int(input("Enter a number: "))
if number % 2 == 0:
print(f"{number} is even.")
else:
print(f"{number} is odd.")# password_verification.py
stored_password = "python123"
entered_password = input("Enter password: ")
if entered_password == stored_password:
print("Access granted.")
print("Welcome to the system!")
else:
print("Access denied.")
print("Incorrect password.")8.3) Banyak Pilihan dengan if-elif-else
Keputusan di dunia nyata sering melibatkan lebih dari dua opsi. Haruskah kita mengenakan biaya pengiriman standar, pengiriman ekspres, atau pengiriman semalam? Apakah sebuah nilai adalah A, B, C, D, atau F? Rangkaian if-elif-else menangani banyak alternatif yang saling eksklusif.
8.3.1) Struktur if-elif-else
Berikut sintaksnya:
if condition1:
# Eksekusi jika condition1 bernilai True
block1
elif condition2:
# Eksekusi jika condition1 bernilai False dan condition2 bernilai True
block2
elif condition3:
# Eksekusi jika condition1 dan condition2 bernilai False, dan condition3 bernilai True
block3
else:
# Eksekusi jika semua kondisi bernilai False
block4Poin penting tentang rangkaian if-elif-else:
elifadalah singkatan dari "else if": Ini menyediakan kondisi tambahan untuk dicek- Urutan itu penting: Python mengecek kondisi dari atas ke bawah
- Kecocokan pertama menang: Begitu sebuah kondisi bernilai
True, blok itu dieksekusi dan sisanya dilewati - Tepat satu blok yang dieksekusi: Paling banyak satu blok dalam rangkaian yang akan berjalan
elsebersifat opsional: Ini menangkap semua kasus yang tidak ditangani oleh kondisi sebelumnya
Mari lihat contoh yang praktis:
# grade_calculator.py
score = int(input("Enter your exam score (0-100): "))
if score >= 90:
grade = "A"
print("Excellent work!")
elif score >= 80:
grade = "B"
print("Good job!")
elif score >= 70:
grade = "C"
print("Satisfactory.")
elif score >= 60:
grade = "D"
print("You passed, but consider reviewing the material.")
else:
grade = "F"
print("Unfortunately, you did not pass.")
print(f"Your grade is: {grade}")Jika kamu memasukkan 85:
Good job!
Your grade is: BMari telusuri apa yang terjadi:
- Cek
score >= 90: False (85 tidak >= 90), jadi lewati blok ini - Cek
score >= 80: True (85 >= 80), jadi eksekusi blok ini - Lewati semua blok
elifdanelseyang tersisa karena kita sudah menemukan kecocokan
Jika kamu memasukkan 55:
Unfortunately, you did not pass.
Your grade is: FSemua kondisi bernilai False, jadi blok else dieksekusi.
8.3.2) Mengapa Urutan Penting dalam Rangkaian elif
Urutan kondisi itu krusial karena Python berhenti mengecek begitu menemukan kondisi True. Perhatikan sistem penilaian yang salah ini:
# URUTAN SALAH - Jangan lakukan ini!
score = 85
if score >= 60: # Ini akan cocok duluan!
grade = "D"
elif score >= 70:
grade = "C"
elif score >= 80:
grade = "B"
elif score >= 90:
grade = "A"
else:
grade = "F"
print(f"Your grade is: {grade}") # Output: Your grade is: DIni menghasilkan output yang salah! Skor 85 seharusnya B, tetapi malah mendapat D karena score >= 60 dicek lebih dulu dan bernilai True. Python tidak pernah mencapai kondisi score >= 80.
Selalu urutkan kondisi dari yang paling spesifik ke yang paling tidak spesifik:
# URUTAN BENAR
score = 85
if score >= 90: # Paling spesifik
grade = "A"
elif score >= 80:
grade = "B"
elif score >= 70:
grade = "C"
elif score >= 60:
grade = "D"
else: # Paling tidak spesifik
grade = "F"
print(f"Your grade is: {grade}") # Output: Your grade is: B8.3.3) Menggunakan elif Tanpa else
Klausa else bersifat opsional. Terkadang kamu hanya ingin menangani kasus-kasus tertentu dan tidak melakukan apa pun untuk yang lain:
# weekend_checker.py
day = input("Enter a day of the week: ").lower()
if day == "saturday" or day == "sunday":
print("It's the weekend! Time to relax.")
elif day == "friday":
print("It's Friday! The weekend is almost here.")
elif day in ["monday", "tuesday", "wednesday", "thursday"]:
print("It's a weekday. Time to work or study.")
# Tidak ada klausa else - jika tidak ada yang cocok, tidak terjadi apa-apa
print("Have a great day!")Jika kamu memasukkan "holiday":
Have a great day!Tidak ada kondisi yang cocok, dan tidak ada klausa else, jadi hanya print() terakhir yang dieksekusi.
8.4) Pernyataan if Bertingkat (Nested)
Terkadang kamu perlu membuat keputusan di dalam keputusan. Pernyataan if bertingkat (nested if statements) menempatkan satu kondisional di dalam kondisional lainnya, sehingga kamu bisa mengecek kondisi tambahan hanya setelah kondisi awal terpenuhi.
8.4.1) Memahami Kondisional Bertingkat
Pernyataan if bertingkat itu kuat karena memungkinkanmu menghindari pengecekan kondisi yang belum masuk akal. Misalnya, tidak ada gunanya meminta password jika pengguna tidak punya akun. Nesting memungkinkanmu menyusun logika agar sesuai dengan proses pengambilan keputusan di dunia nyata, di mana beberapa pertanyaan baru masuk akal setelah pertanyaan lain dijawab.
Sebuah pernyataan if bertingkat hanyalah sebuah pernyataan if (atau rangkaian if-elif-else) di dalam blok if lain:
if outer_condition:
# Kode ini dieksekusi jika outer_condition bernilai True
if inner_condition:
# Kode ini dieksekusi jika KEDUA kondisi bernilai True
inner_block
else:
# Ini dieksekusi jika outer_condition True tetapi inner_condition False
inner_else_block
else:
# Ini dieksekusi jika outer_condition False
outer_else_blockPernyataan if di dalam hanya dievaluasi jika kondisi luar bernilai True. Ini membuat hierarki keputusan.
Berikut contoh sederhana:
# account_login.py
has_account = input("Do you have an account? (yes/no): ").lower() == "yes"
if has_account:
print("Welcome back!")
password = input("Enter your password: ")
if password == "secret123":
print("Login successful!")
print("Access granted to your dashboard.")
else:
print("Incorrect password.")
print("Access denied.")
else:
print("Please create an account first.")
print("Visit our registration page.")Jika kamu menjawab "yes" dan memasukkan password yang benar:
Welcome back!
Login successful!
Access granted to your dashboard.Jika kamu menjawab "yes" tetapi memasukkan password yang salah:
Welcome back!
Incorrect password.
Access denied.Jika kamu menjawab "no":
Please create an account first.
Visit our registration page.Perhatikan bagaimana pengecekan password hanya terjadi jika pengguna memiliki akun. Ini adalah manfaat utama nesting—kamu bisa menghindari pengecekan yang tidak perlu.
8.4.2) Kapan Menggunakan Pernyataan if Bertingkat
Pernyataan if bertingkat berguna ketika:
- Keputusan bergantung pada keputusan sebelumnya: Kamu perlu mengecek sesuatu hanya setelah kondisi lain terpenuhi
- Membuat pohon keputusan: Setiap level mempersempit kemungkinan
- Memvalidasi prasyarat (prerequisites): Cek syarat dasar sebelum mengecek syarat yang lebih detail
- Menghindari pengecekan yang tidak perlu: Lewati operasi yang mahal ketika kondisi awal gagal
Contoh: Kelayakan untuk pinjaman
# loan_eligibility.py
age = int(input("Enter your age: "))
if age >= 18:
print("Age requirement met.")
income = float(input("Enter your annual income: $"))
if income >= 30000:
print("Income requirement met.")
credit_score = int(input("Enter your credit score: "))
if credit_score >= 650:
print("Congratulations! You are eligible for a loan.")
print("Please proceed to the application form.")
else:
print("Sorry, your credit score is too low.")
print("Minimum required: 650")
else:
print("Sorry, your income is too low.")
print("Minimum required: $30,000")
else:
print("Sorry, you must be 18 or older to apply.")Ini membuat sebuah pohon keputusan di mana setiap level bergantung pada level sebelumnya. Jika usia di bawah 18, kita tidak pernah menanyakan pendapatan atau skor kredit.
8.4.3) Menghindari Nesting yang Berlebihan
Meskipun nesting itu kuat, terlalu banyak level membuat kode sulit dibaca dan dipahami. Perhatikan contoh yang sangat bertingkat ini:
# Terlalu bertingkat - sulit diikuti
if condition1:
if condition2:
if condition3:
if condition4:
if condition5:
print("All conditions met!")Ini sulit dibaca dan dirawat. Berikut strategi untuk mengurangi nesting:
Strategi 1: Gabungkan kondisi ketika sesuai
Kita akan mempelajari operator and secara detail di Bab 9, tapi untuk sekarang, ketahuilah bahwa operator ini memungkinkanmu mengecek banyak kondisi sekaligus:
# Lebih baik: Gunakan 'and' untuk menggabungkan kondisi (Bab 9 akan menjelaskan ini sepenuhnya)
# Kita akan mempelajari 'and' di Bab 9, tapi untuk sekarang, ketahuilah bahwa ini mengecek
# bahwa semua kondisi bernilai true
if condition1 and condition2 and condition3 and condition4 and condition5:
print("All conditions met!")Strategi 2: Gunakan return lebih awal (early returns) (saat bekerja dengan fungsi (functions), yang akan kita pelajari di Bab 19):
# Dalam sebuah fungsi, kita bisa return lebih awal
def check_eligibility(age, income, credit_score):
if age < 18:
return "Too young"
if income < 30000:
return "Income too low"
if credit_score < 650:
return "Credit score too low"
return "Eligible"Strategi 3: Ratakan dengan elif ketika sesuai:
# Daripada nested if yang mengecek rentang
if score >= 90:
grade = "A"
elif score >= 80:
grade = "B"
elif score >= 70:
grade = "C"
# ... dan seterusnya8.5) Kesalahan Umum pada Pernyataan if (Indentasi, Titik Dua, dan Logika)
Bahkan programmer berpengalaman pun membuat kesalahan dengan pernyataan if. Bagian ini membahas error paling umum yang ditemui pemula dan cara menghindarinya.
8.5.1) Error Indentasi
Python menggunakan indentasi untuk menentukan pernyataan mana yang termasuk dalam blok tertentu. Indentasi yang salah adalah salah satu sumber error yang paling umum.
Masalah 1: Indentasi hilang
# SALAH - IndentationError
age = 20
if age >= 18:
print("You are an adult.") # Tidak diindentasi!Ini menghasilkan:
File "example.py", line 4
print("You are an adult.")
^
IndentationError: expected an indented blockSolusi: Selalu indentasi blok di bawah pernyataan if:
# BENAR
age = 20
if age >= 18:
print("You are an adult.") # Diindentasi dengan benarMasalah 2: Indentasi tidak konsisten
# SALAH - Mencampur spasi dan tab, atau spasi yang tidak konsisten
if temperature > 30:
print("It's hot!")
print("Stay hydrated!") # Spasi ekstra - indentasi tidak konsistenSolusi: Gunakan indentasi yang konsisten (4 spasi adalah standar Python):
# BENAR
if temperature > 30:
print("It's hot!")
print("Stay hydrated!") # Level indentasi yang samaMasalah 3: Indentasi nesting yang salah
# SALAH - Level indentasi tidak tepat
if has_account:
print("Welcome!")
if password == "correct":
print("Login successful!") # Seharusnya lebih terindentasiSolusi: Setiap level bertingkat membutuhkan indentasi tambahan:
# BENAR
if has_account:
print("Welcome!")
if password == "correct":
print("Login successful!") # Indentasi benar untuk blok bertingkat8.5.2) Titik Dua yang Hilang
Titik dua (:) di akhir baris if, elif, dan else itu wajib. Melupakannya adalah kesalahan yang sangat umum:
# SALAH - SyntaxError: missing colon
if age >= 18
print("Adult")Ini menghasilkan:
File "example.py", line 2
if age >= 18
^
SyntaxError: invalid syntaxSolusi: Selalu sertakan titik dua:
# BENAR
if age >= 18:
print("Adult")Hal yang sama berlaku untuk elif dan else:
# BENAR - Semua titik dua ada
if score >= 90:
grade = "A"
elif score >= 80:
grade = "B"
else:
grade = "F"8.5.3) Operator Perbandingan yang Salah
Masalah 1: Menggunakan assignment (=) alih-alih perbandingan (==)
# SALAH - Ini menetapkan 18 ke age, bukan membandingkan!
age = 20
if age = 18: # SyntaxError
print("You are 18")Solusi: Gunakan == untuk perbandingan:
# BENAR
age = 20
if age == 18:
print("You are 18")8.5.4) Kode Tidak Pernah Tercapai Karena Error Logika
Masalah: Kondisi yang tidak mungkin bernilai True
# SALAH - elif tidak akan pernah dieksekusi
score = 85
if score >= 60:
print("You passed!")
elif score >= 80: # Ini tidak akan pernah dieksekusi!
print("You got a B!")Jika score adalah 85, kondisi pertama (score >= 60) bernilai True, jadi elif tidak pernah dicek. Urutannya salah.
Solusi: Urutkan kondisi dari yang paling spesifik ke yang paling tidak spesifik:
# BENAR
score = 85
if score >= 80:
print("You got a B!")
elif score >= 60:
print("You passed!")8.5.5) Blok if Kosong
Kamu tidak bisa memiliki blok if yang kosong di Python:
# SALAH - SyntaxError
if temperature > 30:
# Nanti saya tambahkan kode di sini
print("Done")Ini menghasilkan:
File "example.py", line 3
print("Done")
^
IndentationError: expected an indented blockSolusi: Gunakan pernyataan pass sebagai placeholder (dibahas di bagian berikutnya):
# BENAR - Menggunakan pass sebagai placeholder
if temperature > 30:
pass # TODO: Tambahkan kode di sini nanti
print("Done")8.6) Menggunakan pass sebagai Placeholder dalam Blok
Terkadang saat menulis kode, kamu tahu kamu butuh pernyataan if tetapi belum memutuskan kode apa yang harus dimasukkan ke dalamnya. Python tidak mengizinkan blok kode kosong, jadi kamu butuh cara untuk membuat blok yang valid tetapi "tidak melakukan apa-apa". Di sinilah pernyataan pass berperan.
8.6.1) Apa itu pass?
Pernyataan pass adalah operasi null (null operation)—ketika Python mengeksekusinya, tidak terjadi apa-apa. Ini adalah placeholder yang memungkinkanmu menulis kode yang benar secara sintaks meskipun implementasinya belum siap.
if condition:
pass # Tidak melakukan apa-apa untuk sekarangAnggap pass sebagai cara untuk memberi tahu Python: "Saya tahu saya butuh kode di sini, tapi akan saya isi nanti." Ini sangat berguna selama pengembangan ketika kamu sedang membuat kerangka struktur programmu.
8.6.2) Mengapa pass Diperlukan
Python mewajibkan setidaknya satu pernyataan di setiap blok kode. Blok kosong menyebabkan error sintaks:
# SALAH - Ini menyebabkan error
if age >= 18:
# TODO: Tambahkan logika dewasa di sini
print("Done")Error:
File "example.py", line 3
print("Done")
^
IndentationError: expected an indented blockMenggunakan pass membuat kode valid secara sintaks:
# BENAR - Menggunakan pass sebagai placeholder
if age >= 18:
pass # TODO: Tambahkan logika dewasa di sini
print("Done")8.6.3) Penggunaan Umum pass
Penggunaan 1: Placeholder selama pengembangan
Saat kamu membuat garis besar struktur program tetapi belum mengimplementasikan semuanya:
# user_system.py
user_type = input("Enter user type (admin/user/guest): ").lower()
if user_type == "admin":
pass # TODO: Implementasikan fitur admin
elif user_type == "user":
pass # TODO: Implementasikan fitur user
elif user_type == "guest":
print("Welcome, guest! Limited access granted.")
else:
print("Invalid user type.")Ini memungkinkanmu menjalankan program dan menguji bagian yang sudah kamu implementasikan sambil meninggalkan placeholder untuk pekerjaan selanjutnya.
Penggunaan 2: Sengaja tidak melakukan apa-apa pada salah satu cabang
Terkadang kamu memang ingin tidak melakukan apa pun dalam kasus tertentu tetapi perlu menangani kasus lain:
# positive_numbers.py
# Hanya memproses bilangan positif
number = int(input("Enter a number: "))
if number > 0:
result = number * 2
print(f"Double of {number} is {result}")
elif number == 0:
pass # Nol valid tetapi tidak memerlukan tindakan
else:
print("Negative numbers are not allowed.")8.6.4) pass dalam Konteks Lain
Meskipun kita berfokus pada pass dalam pernyataan if, kamu akan menemukannya di konteks lain saat kamu belajar lebih banyak Python:
- Functions (Bab 20): Placeholder untuk body fungsi
- Classes (Bab 31): Placeholder untuk definisi class
- Loops (Bab 11-12): Placeholder untuk body loop
- Exception handlers (Bab 29): Sengaja mengabaikan error
Untuk sekarang, ingat bahwa pass adalah alatmu untuk membuat blok kode yang valid tetapi kosong saat kamu membutuhkannya.
Menggabungkan Semuanya
Di bab ini, kamu sudah belajar cara membuat programmu menjadi cerdas dan responsif dengan menggunakan pernyataan kondisional. Mari tinjau konsep-konsep kuncinya:
Pernyataan if sederhana mengeksekusi kode hanya ketika kondisi benar:
if temperature > 30:
print("It's hot outside!")Pernyataan if-else memilih antara dua alternatif:
if age >= 18:
print("Adult")
else:
print("Minor")Rangkaian if-elif-else menangani banyak opsi yang saling eksklusif:
if score >= 90:
grade = "A"
elif score >= 80:
grade = "B"
elif score >= 70:
grade = "C"
else:
grade = "F"Pernyataan if bertingkat membuat keputusan di dalam keputusan:
if has_account:
if password_correct:
print("Welcome!")
else:
print("Wrong password")
else:
print("Create an account")Kesalahan umum yang perlu dihindari:
- Titik dua yang hilang setelah
if,elif, danelse - Indentasi yang salah atau tidak konsisten
- Menggunakan
=alih-alih==untuk perbandingan - Urutan yang salah dalam rangkaian
elif - Blok kosong tanpa
pass
Pernyataan pass berfungsi sebagai placeholder untuk blok kosong selama pengembangan.
Sekarang kamu punya alat untuk menulis program yang membuat keputusan cerdas berdasarkan kondisi. Di bab berikutnya, kita akan belajar tentang operator logika boolean (boolean logic operators) (and, or, not) yang memungkinkanmu menggabungkan banyak kondisi menjadi logika pengambilan keputusan yang lebih canggih. Ini akan membuat pernyataan if-mu menjadi lebih kuat dan ekspresif.