Tidak ada materi baru — empat bekal 4 minggu terakhir digabung jadi proyek pertamamu.
input(), operator, if/elif/else — satu program utuhflowchart di kertas SEBELUM nulis kode* baseline = level wajib yang harus utuh · menengah/challenge = bonus untuk yang baseline-nya sudah jalan.
Empat minggu terakhir kamu latihan terpisah. Hari ini keempatnya jadi SATU program buatanmu.
Naik mobil jauh: buka peta dulu, bukan nyalakan mesin lalu bingung di lampu merah pertama.
Flowchart = peta · coding = menyetir. Kurikulum menegaskan: rancang dulu, baru koding.
input() + konversiand/or/not, prioritasif/elif/else, urutan sempit → longgar, indentasi = sintaksTidak ada yang baru hari ini — dan itu harus diucapkan dengan bangga: semua sudah di tasmu, tinggal dirakit.
sempit → longgar atau longgar → sempit?Peta perjalanan: kamu di barisan ke-8 dari 17 — sudah 47% perjalanan! Titik jawab semester.
Input nama, nilai angka, kehadiran → keluarkan predikat A/B/C/D/E + status LULUS/TIDAK. Semua bekal 04-07 dipakai.
Kriteria lulus proyek: jalan tanpa error & menangani beberapa kasus.
Input umur + rating film → boleh tidaknya nonton. Logikanya nested if: umur cukup? cek lagi ratingnya.
Hanya untuk yang baseline-nya sudah jalan utuh.
Tanya calon mahasiswa, jawab sesuai minatnya — banyak cabang elif + .lower() biar "Informatika", "INFORMATIKA", "informatika" dicocokkan sama rata.
Bonus kelas — jangan kejar sebelum baseline utuh.
Aturan pilihannya satu kalimat: baseline harus dulu selesai utuh — level lain hanya untuk yang baseline-nya sudah jalan. Ini bukan hukuman; itu urutan yang aman.
"Jika nilai minimal 90, tulis A; jika tidak, tapi minimal 75, tulis B; jika tidak, tapi minimal 60, tulis C; jika tidak, tapi minimal 40, tulis D; selain itu tulis E. Dan jika nilai minimal 75 dan kehadiran minimal 80 — tulis LULUS."
Kalimat itu sudah berisi: if/elif/else (urutan tinggi → rendah) + and (dua syarat status). Tinggal diterjemahkan.
if nilai >= 60:
print("Tuntas")
else:
print("Belum tuntas")
Setiap ketupat di flowchart nanti = satu baris if di sini.
Bisa menggambar alurnya = hampir pasti bisa menulis kodenya. Maka: kalimat dulu, peta berikutnya.
if — hitung ketupatmu, itu jumlah keputusannya20 menit untuk flowchart. Kenapa serius? Kalau buntu nanti, kamu tinggal lihat: "cabang mana yang belum saya tulis?"
nama = input("Nama siswa: ")
nilai = int(input("Nilai angka (0-100): "))
hadir = int(input("Kehadiran (%): "))
print(nama, nilai, hadir) # cek!
Kalau data belum masuk benar, semua keputusan di atasnya pasti salah. Fondasi dicek sebelum dinding. Lupa int() ketahuan di sini — bukan setelah 40 baris.
if nilai >= 75 and hadir >= 80:
print("Tuntas")
else:
print("Belum tuntas")
Ini ketupat pertama di flowchartmu jadi baris if. and dari Sesi 06: dua-duanya wajib benar — nilai 90 tapi kehadiran 50 tetap belum tuntas.
Kasus kedua itu penting — dia membuktikan and-mu benar, bukan kebetulan.
Tahap C menyusul di slide 10: lengkapi semua cabang predikat + status, uji 4 kartu kasus.
nama, nilai (int), hadir (int) → cetak ketiganya untuk cekif nilai >= 60 → Tuntas / Belum tuntas — uji 2 kasusand — uji 4 kartu kasusBuka peta di kertas tadi: berapa ketupat? Itu jumlah if/elif-mu. Cabang mana yang belum tertulis? Itu pekerjaan berikutnya.
Waktu: 30 menit. Guru keliling — ini titik jawab utang konsep, minta bantu tanpa sungkan.
Budi 95 / 90
→ A, LULUS
Sinta 75 / 80
→ B, LULUS (tepat di batas, dua-duanya!)
Rio 60 / 70
→ C, TIDAK LULUS (kehadiran kurang)
Ani 40 / 90
→ D, TIDAK LULUS
Bug paling licik tidak berbunyi — program jalan tanpa error tapi cabangnya salah. Satu percobaan tidak bisa menemukannya; empat bisa.
Kebiasaan inilah yang nanti dipakai di Final Project — mulai menempel dari sekarang.
umur = int(input("Umur: "))
rating = input("Rating (SU/13+/R): ")
if umur >= 17:
print("Boleh semua film")
elif rating == "SU":
print("Boleh film SU")
elif rating == "13+" and umur >= 13:
print("Boleh film 13+")
else:
print("Belum boleh")
Keputusan di dalam keputusan — nested logika dari Sesi 07 dipakai beneran. Uji: 15 & SU, 15 & 13+, 12 & 13+, 20 & R.
minat = input("Minatmu? ").lower()
if "informatika" in minat:
print("Track software!")
elif "si" in minat:
print("Sistem Informasi!")
elif "dkv" in minat:
print("Desain Komunikasi Visual!")
else:
print("Cek semua jurusan kami!")
Kuncinya satu: .lower() membuat "Informatika", "INFORMATIKA", "informatika" dicocokkan sama rata — banyak elif berlapis untuk tiap jurusan.
"Kalau inputnya X, hasilnya apa?" — kelas menebak, presenter mengetik, program membuktikan. Ini tes pemahaman paling jujur.
Kamu memaksa dirimu mengenali bagian yang benar-benar kamu pahami — dan guru dapat sinyal cepat bagian mana yang perlu diperkuat sebelum Mini Project 2.
"Apa yang menarik" dulu, saran sesudahnya. Presentasi = latihan Final Project (Sesi 17) — formatnya persis sama.
Tracebackint()) sebelum dipakai berhitungif/elif/else) terbukti jalan minimal sekaliBaseline selesai utuh = lulus. Level menengah/challenge = penghargaan tambahan. Satu fitur selesai sempurna lebih berharga daripada tiga fitur setengah jadi — prinsip yang sama dipakai sampai Final Project.
if nilai >= 60: # longgar duluan — kena semua!
grade = "C"
elif nilai >= 90: # tak pernah dicapai
grade = "A"
Nilai 95 dapat C tanpa error. Tracing: masuk cabang mana? Perbaiki: tinggi → rendah, else paling bawah.
nilai = input("Nilai: ") # tetap str!
if nilai >= 75: # ValueError: '<' antara str & int
Bekas Sesi 05 yang muncul lagi. Obat: int(input(...)) — dan ketik angka murni saat uji.
# dicoba sekali: 82 & 85 → LULUS. Selesai? BELUM.
# coba juga: 75/80 (batas!), 60/70, 40/90
Satu input yang benar bisa menyembunyikan tiga cabang yang salah. Kartu kasus — itu bukan formalitas, itu radar bug.
lulus = nilai >= 75 or hadir >= 80 # SALAH — salah satu cukup?
lulus = nilai >= 75 and hadir >= 80 # BENAR — dua-duanya wajib
Uji kartu 60/70: dengan or program bilang LULUS — kelemahannya ketahuan. Ganti and, uji ulang 4 kartu.
Buntu di menit ke-20? Kembali ke Tahap A: input dulu, uji, tambah satu keputusan, uji lagi. Flowchart belum jelas? Buat minimalis 3 kotak, koding versi kecil dulu.
if; satu ketupat = satu keputusanand, bukan orProgrammu bisa memutuskan sekali lalu selesai — minggu depan dia belajar mengulang: satu blok kode, dijalankan berkali-kali.
Cek nilai 5 teman tanpa menulis if 5 kali. Dari situ lahir game Tebak Angka dan pola-pola bintang minggu depannya.