BAB 10: Seleksi Kondisi di Python—if, elif, else, dan Pattern Matching - Abd. Asis

BAB 10: Seleksi Kondisi di Python—if, elif, else, dan Pattern Matching

Setelah kamu paham operator di Python, sekarang waktunya belajar tentang seleksi kondisi—blok kode yang dieksekusi hanya jika kriteria tertentu terpenuhi. Teknik ini sangat penting untuk kontrol alur program.

Keyword if

Keyword if digunakan untuk seleksi kondisi. Contoh:

grade = 100

if grade == 100:
    print("perfect")

if grade == 90:
    print("ok")
    print("keep working hard!")

Block Indentation

Blok kondisi di Python ditandai dengan indentation (spasi 4 karakter, bukan tab). Contoh:

if grade == 90:
    print("ok")
    print("keep working hard!")

Keyword elif

elif (else if) untuk menambah seleksi kondisi baru setelah if:

str_input = input('Enter your grade: ')
grade = int(str_input)

if grade == 100:
    print("perfect")
elif grade >= 85:
    print("awesome")
elif grade >= 65:
    print("passed the exam")

Fungsi input(), type(), dan Konversi Tipe Data

str_input = input('Enter your grade: ')
grade = int(str_input)
print("inputan user:", grade, type(grade))

Keyword else

else sebagai penutup jika if/elif tidak terpenuhi:

str_input = input('Enter your grade: ')
grade = int(str_input)

if grade == 100:
    print("perfect")
elif grade >= 85:
    print("awesome")
elif grade >= 65:
    print("passed the exam")
else:
    print("below the passing grade")

Seleksi Kondisi Bercabang (Nested)

Seleksi kondisi bisa bersarang di dalam blok lain:

str_input = input('Enter your grade: ')
grade = int(str_input)

if grade == 100:
    print("perfect")
elif grade >= 85:
    print("awesome")
elif grade >= 65:
    print("passed the exam")
    if grade <= 70:
        print("but you need to improve it!")
    else:
        print("with ok grade")
else:
    print("below the passing grade")

Seleksi Kondisi dengan Operasi Logika

Keyword and, or, dan not bisa digunakan dalam seleksi kondisi:

grade = int(input('Enter your current grade: '))
prev_grade = int(input('Enter your previous grade: '))

if grade >= 90 and prev_grade >= 65:
    print("awesome")
if grade >= 90 and prev_grade < 65:
    print("awesome. you definitely working hard, right?")
elif grade >= 65:
    print("passed the exam")
else:
    print("below the passing grade")

if (grade >= 65 and not prev_grade >= 65) or (not grade >= 65 and prev_grade >= 65):
    print("at least you passed one exam. good job!")

Seleksi Kondisi Sebaris & Ternary

Penulisan seleksi kondisi bisa sebaris atau dengan ternary:

if grade >= 65: print("passed the exam")
if grade < 65: print("below the passing grade")

print("passed the exam") if grade >= 65 else print("below the passing grade")

message = "passed the exam" if grade >= 65 else "below the passing grade"
print(message)

Pattern Matching

Selain if, Python punya keyword match dan case untuk pattern matching (advance). Pembahasan detail ada di bab khusus.

Praktik & Tips Seleksi Kondisi Python

  • Gunakan if, elif, else untuk kontrol alur program
  • Pakai indentation 4 spasi sesuai PEP 8
  • Kombinasikan dengan operator logika untuk kondisi kompleks
  • Gunakan ternary untuk seleksi sederhana
  • Selalu validasi input dan tipe data

Review Pembelajaran

Di bab ini, kamu sudah belajar:

  • Seleksi kondisi dengan if, elif, else
  • Nested, operasi logika, dan ternary
  • Praktik terbaik kontrol alur program

Bab berikutnya, kita akan membahas tentang perulangan di Python—biar kamu makin jago bikin program yang dinamis. Siap lanjut?