If Else¶
If Statement¶
Python mendukung kondisi logika umum dari matematika:
Equals:
a == bNot Equals:
a != bLess than:
a < bLess than or equal to:
a <= bGreater than:
a > bGreater than or equal to:
a >= b
Kondisi-kondisi ini dapat digunakan dengan beberapa cara, yang paling umum adalah dalam "pernyataan if" dan perulangan.
"Pernyataan if" ditulis dengan menggunakan kata kunci if.
a = 33
b = 200
if b > a:
print("b is greater than a")
Dalam contoh ini, kami menggunakan dua variabel, a dan b, yang digunakan sebagai bagian dari pernyataan if untuk menguji apakah b lebih besar dari a. Karena a adalah 33, dan b adalah 200, kami tahu bahwa 200 lebih besar dari 33, sehingga kami menampilkan di layar bahwa "b lebih besar dari a".
Cara Kerja Pernyataan If¶
Pernyataan if mengevaluasi suatu kondisi (ekspresi yang menghasilkan True atau False). Jika kondisinya true, blok kode di dalam pernyataan if akan dieksekusi. Jika kondisinya false, blok kode akan dilewati.
number = 15
if number > 0:
print("The number is positive")
Indentasi¶
Python mengandalkan indentasi (spasi di awal baris) untuk menentukan ruang lingkup kode. Bahasa pemrograman lain sering menggunakan tanda kurung kurawal untuk tujuan ini.
# If statement, without indentation (will raise an error):
a = 33
b = 200
if b > a:
print("b is greater than a") # you will get an error
Catatan
Anda dapat menggunakan spasi atau tab untuk indentasi, tetapi Anda harus menggunakan jumlah indentasi yang sama untuk semua pernyataan dalam blok kode yang sama.
Multiple Statements in If Block¶
Anda dapat memiliki beberapa pernyataan di dalam blok if. Semua pernyataan harus memiliki indentasi yang sama.
Catatan
age = 20 if age >= 18:
print("You are an adult") print("You can vote") print("You have full legal rights")
Menggunakan Variabel dalam Kondisi¶
Variabel Boolean dapat digunakan langsung dalam pernyataan if tanpa operator perbandingan.
is_logged_in = True
if is_logged_in:
print("Welcome back!")
Python dapat mengevaluasi berbagai jenis nilai sebagai True atau False dalam pernyataan if.
Nilai nol (0), string kosong (""), None, dan koleksi kosong diperlakukan sebagai False. Semua nilai lainnya diperlakukan sebagai True.
Ini termasuk bilangan positif (5), bilangan negatif (-3), dan string apa pun yang tidak kosong (bahkan "False" pun diperlakukan sebagai True karena string tersebut tidak kosong).
Elif Statement¶
Kata kunci elif adalah cara Python untuk mengatakan "jika kondisi sebelumnya tidak benar, maka coba kondisi ini".
Kata kunci elif memungkinkan Anda untuk memeriksa beberapa ekspresi untuk memastikan nilai Benar dan mengeksekusi blok kode segera setelah salah satu kondisi bernilai Benar.
a = 33
b = 33
if b > a:
print("b is greater than a")
elif a == b:
print("a and b are equal")
Dalam contoh ini a sama dengan b, jadi kondisi pertama tidak benar, tetapi kondisi elif benar, jadi kita mencetak ke layar bahwa "a dan b sama".
Multiple Elif Statements¶
Anda dapat memiliki pernyataan elif sebanyak yang Anda butuhkan. Python akan memeriksa setiap kondisi secara berurutan dan mengeksekusi kondisi pertama yang benar.
score = 75
if score >= 90:
print("Grade: A")
elif score >= 80:
print("Grade: B")
elif score >= 70:
print("Grade: C")
elif score >= 60:
print("Grade: D")
Dalam contoh ini, program memeriksa setiap kondisi secara berurutan. Karena score adalah 75, program akan mencetak "Grade: C" (kondisi pertama yang bernilai benar).
How Elif Works¶
Saat Anda menggunakan elif, Python mengevaluasi kondisi dari atas ke bawah. Segera setelah menemukan kondisi yang benar, Python akan mengeksekusi blok tersebut dan melewati semua kondisi yang tersisa.
Penting
Hanya kondisi pertama yang benar yang akan dieksekusi. Bahkan jika beberapa kondisi benar, Python akan berhenti setelah mengeksekusi blok pertama yang cocok.
Kapan Menggunakan Elif¶
Gunakan elif ketika Anda memiliki beberapa kondisi yang saling eksklusif untuk diperiksa. Ini lebih efisien daripada menggunakan beberapa pernyataan if yang terpisah karena Python berhenti memeriksa setelah menemukan kondisi yang benar.
day = 3
if day == 1:
print("Monday")
elif day == 2:
print("Tuesday")
elif day == 3:
print("Wednesday")
elif day == 4:
print("Thursday")
elif day == 5:
print("Friday")
elif day == 6:
print("Saturday")
elif day == 7:
print("Sunday")
#return Wednesday
Else Statement¶
Kata kunci else menangkap apa pun yang tidak ditangkap oleh kondisi sebelumnya.
Pernyataan else dieksekusi ketika kondisi if (dan kondisi elif apa pun) bernilai False.
a = 200
b = 33
if b > a:
print("b is greater than a")
elif a == b:
print("a and b are equal")
else:
print("a is greater than b")
Dalam contoh ini, a lebih besar dari b, jadi kondisi pertama tidak benar. Kondisi elif juga tidak benar, jadi kita beralih ke kondisi else dan mencetak ke layar bahwa "a lebih besar dari b".
Else Tanpa Elif¶
Anda juga bisa memiliki else tanpa elif:
a = 200
b = 33
if b > a:
print("b is greater than a")
else:
print("b is not greater than a")
Ini menciptakan pilihan dua arah yang sederhana: jika kondisinya benar, jalankan satu blok; jika tidak, jalankan blok else.
Cara Kerja Else¶
Pernyataan else menyediakan tindakan default ketika tidak ada kondisi sebelumnya yang benar. Anggap saja sebagai "catch-all" untuk skenario apa pun yang tidak tercakup oleh pernyataan if dan elif Anda.
Catatan
Pernyataan else harus berada di akhir. Anda tidak dapat menambahkan elif setelah else.
number = 7
if number % 2 == 0:
print("The number is even")
else:
print("The number is odd")
Rantai If-Elif-Else yang Lengkap¶
Anda dapat menggabungkan if, elif, dan else untuk menciptakan struktur pengambilan keputusan yang komprehensif.
temperature = 22
if temperature > 30:
print("It's hot outside!")
elif temperature > 20:
print("It's warm outside")
elif temperature > 10:
print("It's cool outside")
else:
print("It's cold outside!")
Else sebagai Fallback¶
Pernyataan else bertindak sebagai fallback yang dieksekusi ketika tidak ada kondisi sebelumnya yang benar. Hal ini membuatnya berguna untuk penanganan kesalahan, validasi, dan penyediaan nilai default.
# Validating user input:
username = "Emil"
if len(username) > 0:
print(f"Welcome, {username}!")
else:
print("Error: Username cannot be empty")
Shorthand If¶
Jika Anda hanya memiliki satu pernyataan untuk dieksekusi, Anda dapat menaruhnya pada baris yang sama dengan pernyataan if.
a = 5
b = 2
if a > b: print("a is greater than b")
Catatan
Anda masih memerlukan titik dua : setelah kondisi tersebut.
Shorthand If ... Else¶
Jika Anda memiliki satu pernyataan untuk if dan satu untuk else, Anda dapat menempatkannya pada baris yang sama menggunakan ekspresi kondisional:
a = 2
b = 330
print("A") if a > b else print("B")
Catatan
This is called a conditional expression (sometimes known as a "ternary operator").
Assign a Value With If ... Else¶
Anda juga dapat menggunakan if/else satu baris untuk memilih nilai dan menetapkannya ke variabel:
a = 10
b = 20
bigger = a if a > b else b
print("Bigger is", bigger) #return Bigger is 20
Sintaksisnya mengikuti pola ini:
variable = value_if_true
ifconditionelsevalue_if_false
Beberapa Kondisi dalam Satu Baris¶
Anda dapat merangkai ekspresi kondisi, tetapi buatlah singkat agar tetap mudah dibaca:
a = 330
b = 330
print("A") if a > b else print("=") if a == b else print("B")
#return =
Contoh Praktis¶
Operator terner sangat berguna untuk penugasan sederhana dan pernyataan return.
#Finding the maximum of two numbers:
x = 15
y = 20
max_value = x if x > y else y
print("Maximum value:", max_value)
#return Maximum value: 20
.. code:: py
#Setting a default value:
username = ""
display_name = username if username else "Guest"
print("Welcome,", display_name)
#return Welcome, Guest
When to Use Shorthand If¶
Pernyataan if singkat dan operator terner sebaiknya digunakan ketika:
Kondisi dan tindakannya sederhana
Meningkatkan keterbacaan kode
Anda ingin membuat penugasan cepat berdasarkan suatu kondisi
Penting
Meskipun pernyataan if singkat dapat membuat kode lebih ringkas, hindari penggunaannya yang berlebihan untuk kondisi yang kompleks. Agar lebih mudah dibaca, gunakan pernyataan if-else standar saat menangani beberapa baris kode atau logika yang kompleks.
Logical Operators¶
Operator logika digunakan untuk menggabungkan pernyataan kondisional. Python memiliki tiga operator logika:
and- Mengembalikan True jika kedua pernyataan benaror- Mengembalikan True jika salah satu pernyataan benarnot- Membalikkan hasil, mengembalikan False jika hasilnya benar
Operator and¶
Kata kunci and adalah operator logika, dan digunakan untuk menggabungkan pernyataan kondisional. Kedua kondisi harus benar agar seluruh ekspresi bernilai benar.
#Test if a is greater than b, AND if c is greater than a:
a = 200
b = 33
c = 500
if a > b and c > a:
print("Both conditions are True")
Operator or¶
Kata kunci or adalah operator logika yang digunakan untuk menggabungkan pernyataan kondisional. Setidaknya satu kondisi harus benar agar seluruh ekspresi bernilai benar.
#Test if a is greater than b, OR if a is greater than c:
a = 200
b = 33
c = 500
if a > b or a > c:
print("At least one of the conditions is True")
Operator not¶
Kata kunci not adalah operator logika, dan digunakan untuk membalikkan hasil pernyataan kondisional.
#Test if a is NOT greater than b:
a = 33
b = 200
if not a > b:
print("a is NOT greater than b")
Menggabungkan Beberapa Operator¶
Anda dapat menggabungkan beberapa operator logika dalam satu ekspresi. Python mengevaluasi not terlebih dahulu, lalu and, lalu or.
#Combining and, or, and not:
age = 25
is_student = False
has_discount_code = True
if (age < 18 or age > 65) and not is_student or has_discount_code:
print("Discount applies!")
#return Discount applies!
Menggunakan Tanda Kurung (Parentheses) untuk Kejelasan¶
Saat menggabungkan beberapa operator logika, gunakan tanda kurung untuk memperjelas maksud Anda dan mengontrol urutan evaluasi.
#Using parentheses for complex conditions:
temperature = 25
is_raining = False
is_weekend = True
if (temperature > 20 and not is_raining) or is_weekend:
print("Great day for outdoor activities!")
#return Great day for outdoor activities!
Contoh Lainnya¶
#User authentication check:
username = "Tobias"
password = "secret123"
is_verified = True
if username and password and is_verified:
print("Login successful")
else:
print("Login failed")
#return Login successful
######
#Range checking with logical operators:
score = 85
if score >= 0 and score <= 100:
print("Valid score")
else:
print("Invalid score")
#return Valid score
Nested If¶
Anda dapat memiliki pernyataan if di dalam pernyataan if. Ini disebut pernyataan if bersarang (nested).
x = 41
if x > 10:
print("Above ten,")
if x > 20:
print("and also above 20!")
else:
print("but not above 20.")
# return
# Above ten,
# and also above 20!
Dalam contoh ini, pernyataan if dalam hanya berjalan jika kondisi luar (x > 10) adalah benar.
Multiple Levels of Nesting¶
Anda dapat menyusun tingkatan penyusun sedalam yang dibutuhkan, tetapi perlu diingat bahwa terlalu banyak tingkatan dapat membuat kode lebih sulit dibaca.
#Three levels of nesting:
score = 85
attendance = 90
submitted = True
if score >= 60:
if attendance >= 80:
if submitted:
print("Pass with good standing")
else:
print("Pass but missing assignment")
else:
print("Pass but low attendance")
else:
print("Fail")
#return Pass with good standing
Nested If vs Logical Operators¶
Terkadang pernyataan if bersarang dapat disederhanakan menggunakan operator logika seperti and. Pilihannya bergantung pada logika Anda.
temperature = 25
is_sunny = True
#This nested if:
if temperature > 20:
if is_sunny:
print("Perfect beach weather!")
#Could also be written with and:
if temperature > 20 and is_sunny:
print("Perfect beach weather!")
Kedua pendekatan menghasilkan hasil yang sama. Gunakan pernyataan if bersarang ketika logika internal kompleks atau bergantung pada kondisi eksternal. Gunakan and ketika kedua kondisi sederhana dan sama pentingnya.
Contoh Lainnya¶
#Login validation with nested checks:
username = "Emil"
password = "python123"
is_active = True
if username:
if password:
if is_active:
print("Login successful")
else:
print("Account is not active")
else:
print("Password required")
else:
print("Username required")
#Grade calculation with nested logic:
score = 92
extra_credit = 5
if score >= 90:
if extra_credit > 0:
print("A+ grade")
else:
print("A grade")
elif score >= 80:
print("B grade")
else:
print("C grade or below")
Pass Statement¶
pernyataan if tidak boleh kosong, tetapi jika karena alasan tertentu Anda memiliki pernyataan if tanpa konten, masukkan pernyataan pass untuk menghindari munculnya kesalahan.
a = 33
b = 200
if b > a:
pass
# having an empty if statement like this, would raise an error without the pass statement
Pernyataan pass adalah operasi null - tidak terjadi apa-apa saat dijalankan. Pernyataan ini berfungsi sebagai pengganti.
Why Use pass?¶
Pernyataan pass berguna dalam beberapa situasi:
Saat Anda membuat struktur kode tetapi belum mengimplementasikan logikanya
Saat suatu pernyataan diperlukan secara sintaksis tetapi tidak ada tindakan yang diperlukan
Sebagai pengganti kode di masa mendatang selama pengembangan
Dalam fungsi atau kelas kosong yang akan Anda implementasikan nanti
pass in Development¶
Selama pengembangan, Anda mungkin ingin membuat sketsa struktur program sebelum menerapkan detailnya. Pernyataan pass memungkinkan Anda melakukan ini tanpa kesalahan sintaksis.
age = 16
if age < 18:
pass # TODO: Add underage logic later
else:
print("Access granted")
pass vs Comments¶
Komentar diabaikan oleh Python, tetapi pass adalah pernyataan yang dieksekusi (meskipun tidak menghasilkan apa pun). Anda memerlukan pass jika Python mengharapkan pernyataan, bukan sekadar komentar.
score = 85
#This will cause an error (empty code block):
if score > 90:
# This is excellent
# This will raise an IndentationError
if score > 90:
pass # This is excellent
print("Score processed")
pass with Multiple Conditions¶
#Using pass in different branches:
value = 50
if value < 0:
print("Negative value")
elif value == 0:
pass # Zero case - no action needed
else:
print("Positive value")
pass in Other Contexts¶
Walaupun kita fokus pada pass dengan pernyataan if di sini, kata itu juga umum digunakan dengan loop, fungsi, dan kelas.
#Using pass with functions:
def calculate_discount(price):
pass # TODO: Implement discount logic
# Function exists but doesn't do anything yet