edubun
Bahasa Indonesia

Membuat keputusan dengan if

Python memeriksa if dan setiap elif dari atas, lalu hanya menjalankan cabang pertama yang kondisinya True; sisanya dilewati.

Harga tiket yang bergantung pada usia

Coba soal ini sebelum mempelajari sintaks baru. Sebuah museum sains kecil (rekaan untuk contoh ini) menggratiskan anak di bawah 7 tahun, mengenakan 3000 won untuk usia 7 sampai 18, dan 5000 won untuk yang lain. Dengan sebuah usia sebagai masukan, program harus mencetak harga. Tulis aturan dengan kata-kata dahulu, sebagai daftar pertanyaan sesuai urutan yang akan kamu tanyakan di loket tiket.

Kamu mungkin menulis seperti ini: apakah pengunjung berusia di bawah 7? Jika ya, gratis, lalu berhenti. Jika tidak, apakah usianya 18 atau kurang? Jika ya, 3000 won, lalu berhenti. Selain itu, 5000 won. Itu sudah merupakan program. Dalam Python, "jika", "jika tidak, jika", dan "selain itu" ditulis if, elif, dan else.

age = 12
if age < 7:
    price = 0
elif age <= 18:
    price = 3000
else:
    price = 5000
print(price)
Keluaran
3000

Ada tiga detail sintaks yang penting. Setiap baris kondisi diakhiri titik dua. Baris milik suatu cabang ditulis menjorok, dan tutorial Python menyarankan empat spasi. Saat inden berakhir, cabang berakhir. Itulah sebabnya print(price) dijalankan berapa pun usianya. Hanya satu cabang dijalankan: untuk usia 12, kondisi pertama False, kondisi kedua True, sehingga price menjadi 3000 dan else tidak pernah diperiksa.

Perbandingan menghasilkan True atau False

OperatorArtiContohHasil
==sama dengan5 == 5True
!=tidak sama dengan5 != 5False
<kurang dari3 < 7True
<=kurang dari atau sama dengan7 <= 7True
>lebih dari3 > 7False
>=lebih dari atau sama dengan18 >= 19False

Perhatikan tanda sama dengan ganda. Satu = memberikan nilai, dua == membandingkan. String juga bisa dibandingkan: "kimchi" == "Kimchi" adalah False karena huruf besar dianggap karakter berbeda.

Urutan baris elif mengubah jawaban

Karena Python berhenti pada kondisi True pertama, urutan cabang penting. Contoh umum adalah pemberian nilai huruf. Periksa 90 ke atas dahulu, lalu 80, kemudian 70. Jika pemeriksaan 70 ditempatkan pertama, skor 95 akan masuk ke cabang itu dan mendapat C karena 95 >= 70 juga True.

Rangkaian if/elif/else seperti tangga. Python turun sampai menemukan kondisi True, menjalankan satu cabang itu, lalu melompati sisanya.
score = 95
if score >= 90:
    grade = "A"
elif score >= 80:
    grade = "B"
elif score >= 70:
    grade = "C"
else:
    grade = "D"
print(grade)
Keluaran
A

and, or, not menggabungkan kondisi

and bernilai True hanya jika kedua sisi True. or bernilai True jika setidaknya satu sisi True. not membalik True dan False. Kondisi seperti "antara 13 dan 18" bisa ditulis age >= 13 and age <= 18, atau bentuk singkat Python 13 <= age <= 18. Kondisi juga dapat berada di dalam cabang lain, yang disebut percabangan bersarang. Dalam salah satu standar pemrograman kurikulum informatika SMP Korea, operasi logika dan struktur kendali bersarang sama-sama disebutkan.

age = 15
has_ticket = True
if 13 <= age <= 18 and has_ticket:
    print("Teen entry")
if not has_ticket or age < 7:
    print("See the desk")
else:
    print("Go in")
Keluaran
Teen entry
Go in
ifMenjalankan baris berinden hanya saat kondisi True
elif"Jika tidak, jika": diperiksa hanya saat semua kondisi di atas False
elseDijalankan saat tidak ada kondisi di atas yang True
==Membandingkan dua nilai; = memberikan nilai
and / or / notKeduanya benar / setidaknya satu benar / kebalikannya
indenEmpat spasi yang menandai baris milik suatu cabang
  1. Apa yang dicetak kode ini?
    x = 8
    if x > 5:
        print("big")
    else:
        print("small")
  2. Apa yang dicetak kode ini?
    age = 7
    if age < 7:
        print("free")
    elif age <= 18:
        print("3000")
    else:
        print("5000")
  3. Apa yang dicetak kode ini?
    score = 85
    if score >= 70:
        print("C")
    elif score >= 80:
        print("B")
  4. Apa yang dicetak kode ini?
    x = 3
    if x > 5:
        print("A")
    print("B")
    • A
      B
    • B
    • A
    • (nothing)
  5. Apa yang dicetak kode ini?
    print(5 == 5.0, "a" == "A")
  6. Apa yang dicetak kode ini?
    t = 30
    print(t > 25 and t < 28)
  7. Apa yang dicetak kode ini?
    rain = False
    print(not rain)
  8. Apa yang dicetak kode ini?
    n = 14
    if n % 2 == 0:
        if n > 10:
            print("big even")
        else:
            print("small even")
    else:
        print("odd")
  9. Baris mana yang memeriksa dengan benar apakah x bernilai 10?
    • if x = 10:
    • if x == 10:
    • if x == 10
    • if (x = 10)
  10. Urutkan baris agar program mencetak "Even".
    Keluaran
    Even
Kesalahan umum
  • "if score = 90: memeriksa apakah score bernilai 90." Satu = adalah penugasan. Python berhenti dengan SyntaxError: invalid syntax. Maybe you meant '==' or ':=' instead of '='? Tulis if score == 90:.
  • "if answer == "yes" or "y": menerima kedua jawaban." Python membacanya sebagai (answer == "yes") or ("y"), dan string tidak kosong seperti "y" dianggap benar, sehingga kondisi selalu benar. Tulis answer == "yes" or answer == "y".
  • "Inden hanya untuk tampilan." Dalam Python, inden menentukan baris mana yang menjadi bagian cabang. Jika terlupa, program berhenti dengan IndentationError: expected an indented block after 'if' statement on line 2.
Catatan untuk guruMemulai dari loket tiket cocok karena siswa sudah tahu keputusannya; yang baru hanya penulisannya. Minta mereka mengucapkan aturan secara berurutan sebelum mengetik. Program penilaian dengan urutan salah layak dijalankan sengaja: program mencetak C untuk 85 tanpa kesalahan, pengenalan awal terhadap kesalahan logika. Saat memeriksa pekerjaan, uji nilai batas (6, 7, 18, 19 untuk soal tiket), karena kekeliruan selisih satu antara < dan <= tersembunyi di sana. Kurikulum informatika SMP Korea memiliki standar tentang operasi logika dan struktur kendali bersarang.
Poin penting
  • if / elif / else: hanya cabang True pertama yang dijalankan.
  • Baris kondisi diakhiri :, dan cabangnya diberi inden empat spasi.
  • == membandingkan; = memberikan nilai.
  • Tempatkan kondisi paling ketat lebih dahulu dalam rangkaian elif.
  • and, or, dan not menggabungkan kondisi.
Sumber kursus ini (6)
  • Python Software Foundation, The Python Tutorial for Python 3.12 (docs.python.org/3.12/tutorial: 2 Using the Python Interpreter, 3 An Informal Introduction to Python (numbers, text, lists), 4 More Control Flow Tools (if, for, range, break and continue, defining functions, default argument values, 4.10 coding style: 4-space indentation), 5 Data Structures (list methods, 5.5 dictionaries, insertion order), 8 Errors and Exceptions (syntax errors, exceptions, reading the traceback, handling exceptions), 15 Floating-Point Arithmetic (0.1 + 0.2))
  • Built-in Functions (docs.python.org/3.12/library/functions.html: print, input, len, int, float, str, type, round (round half to even: round(0.5) and round(-0.5) are 0, round(1.5) is 2), range, sum, min, max, sorted)
  • Built-in Types (str methods upper, lower, replace, strip; dict.get; list.append, pop, remove, sort returning None)
  • General Python FAQ (docs.python.org/3.12/faq/general.html: Guido van Rossum began Python in the 1989 Christmas holidays, posted it to USENET in February 1991, named it after Monty Python's Flying Circus)
  • Curriculum for the Korean pages: 교육부 고시 제2022-33호 [별책 10] 정보과 교육과정 (PDF read 2026-10-19: 중학교 정보 [9정03-05] 리스트 등 데이터를 순차적으로 저장하는 구조, [9정03-06] 논리 연산과 중첩 제어 구조, [9정03-07] 함수 활용과 디버거로 오류 수정, [9정03-08] 실생활 문제를 프로그래밍으로 해결, 적용 시 고려 사항 「학생의 수준을 고려하여 적합한 프로그래밍 언어를 선정」; 고등학교 정보 [12정03-04] 자료형, [12정03-05] 표준입출력, [12정03-07] 제어 구조)
  • Bug story only: Smithsonian National Museum of American History, Log Book With Computer Bug, 1947, Harvard Mark II, "first actual case of bug being found", probably not Hopper's log book (americanhistory.si.edu/collections/object/nmah_334663, read 2026-10-19)

Diperiksa: 2026-10-19