17 pertemuan lalu print("Hello World") terasa ajaib. Hari ini kamu naik panggung membawa aplikasimu sendiri — dan menamatkan program ini dengan gaya.
Aturan nomor nol: tepuk tangan untuk setiap tim — sejak menit pertama. Ini pentas, bukan sidang.
list[dict] — satu record = satu paket data utuhload di awal, save tiap perubahan: data selamatMinggu lalu kamu membangun. Hari ini kamu menjualnya — dan kodenya dinilai dengan rubrik yang sama persis.
Posisimu: 17 dari 17 — 100% perjalanan. Barisan terakhir, dan yang paling seru.
| Bagian | Waktu | Isi 1 kalimat |
|---|---|---|
| 01 · Masalah | 30 detik | Untuk siapa aplikasimu, menyelesaikan masalah apa |
| 02 · Fitur | 45 detik | Sebut 4–5 fitur menu — tanpa demo dulu |
| 03 · Demo Live | 2–3 menit | Jalankan aplikasi: tambah → lihat → cari → statistik → keluar |
| 04 · Kode dibanggakan | 1 menit | 1 fungsi saja, jelaskan dengan kalimat sendiri |
| 05 · Q&A | 1–2 menit | Jawab pertanyaan — jujur kalau belum diuji |
Demo itu seperti jualan di pentas seni: mulai dari masalah nyata supaya audiens peduli, baru perlihatkan jawabannya. Kalau demo dulu, audiens masih bingung mereka sedang menonton apa.
Kode yang jalan itu hebat. Kode yang bisa kamu jelaskan itu lebih hebat lagi.
"Aplikasiku untuk siapa, yang selama ini menyelesaikan apa."
"Nilai kelas masih dicatat di kertas — sering hilang, susah dihitung rata-ratanya. Aplikasi kami menyimpannya aman di file."
"Kami pakai Python, list, dict, dan file..." — itu alat, bukan cerita. Audiens belum peduli; alat menyusul di bagian kode.
Tes 5 detik: kalau adik kelas dengar 1 kalimatmu lalu bertanya "terus gimana solusinya?" — kamu berhasil.
Kalau demo sambil nyebut fitur, dua-duanya berantakan. Sebut semua dulu = audiens punya peta. Demo = jalanin peta itu berurutan.
Fitur bonus yang belum stabil? Ceritakan saja, jangan didemokan — jangan korbankan demo utama demi fitur yang nomor terbesarnya belum 100%.
Puncak dramanya justru langkah terakhir: tutup program, buka lagi, data selamat. Itu momen "oooh" dari audiens.
Ctrl + + sebelum naikLatih urutan ini sampai otomatis — gladi bersih di slide 12.
def cari_data(kata):
hasil = []
for item in data:
if kata.lower() in item["nama"].lower():
hasil.append(item)
return hasil # kosong = jujur "tidak ketemu"
cari_data() — logika pencarian yang sopan
tambah_data() — try-except anti user nakal
statistik() — sum/max/min + penjaga data kosong
Pilih satu yang paling kamu pahami. Jelaskan maksimal 3 poin kenapa ditulis begitu — bukan dibaca ulang baris per baris. Contoh pembuka: "Fungsi ini saya paling bangga karena..."
Ketiganya ada lengkap di kode.py pendamping sesi ini — lengkap dengan alasan layak pamer.
list[dict], bukan dua list terpisah?"Kunci jawabannya sudah kamu pegang: satu record = satu dict · try-except menolak dengan sopan · save tiap perubahan + load di awal.
"Belum kami coba, tapi rencananya seperti ini..."
Jujur itu dinilai. Mengarang jawaban yang kelak ketahuan — tidak.
Aturan audiens: pertanyaan boleh, menggurui jangan. Kamu juga penilai — isi 1 hal keren + 1 saran untuk tiap tim.
Yang di Sesi 03 belum berani nulis print dan hari ini mendemokan aplikasi ber-menu adalah bintang hari itu — apa pun nilainya. Kita mengapresiasi kemajuan, bukan cuma hasil akhir.
Feedback dinilai pakai rubrik — bukan perbandingan antar siswa. Sama persis dengan Sesi 16.
Ctrl + +), laptop tidak sleepKalimat penyelamat: "Kemarin fitur ini jalan — mari lihat rekamannya sementara saya cek errornya."
Bisa bilang "ini ValueError dari input huruf, penanganannya di sini"? Itu bukan gagal demo — itu poin Demo & Penjelasan.
Buka kode.py pendamping sesi ini — ada app panggung mini + skenario demo yang sama persis. Gladi di situ dulu, terapkan ke Final Project-mu.
Waktu: 15 menit. Tim yang gladi bersih rapih hampir selalu demo paling tenang.
Panjang bar proporsional terhadap porsi terbesar (30%).
list[dict] + file + modularRubrik dibagikan di awal — tiap tim tahu di mana fokus sebelum naik panggung.
Gejala: demo semua fitur + Q&A memanjang → kelompok lain kehilangan panggung. Obat: demo inti saja (tambah → lihat → cari → statistik → keluar); fitur bonus cukup diceritakan.
Gejala: error muncul persis saat demo. Obat: baca errornya dengan tenang — 1 menit tidak selesai? Lompat ke Plan B (video/screenshot) dan lanjut cerita. Error = alarm, bukan aib.
Gejala: buka folder yang salah, atau file data.txt tertinggal di laptop lain. Obat: backup copy di 2 tempat + cek jalankan dari awal saat tech check.
Gejala: ditanya kenapa pakai try-except, otak tiba-tiba kosong. Obat: kalimat penyelamat — "belum kami coba, tapi rencananya seperti ini". Jujur dinilai, mengarang tidak.
Aturan 3 menit: jangan biarkan 3 menit habis untuk 1 bug — panggungmu lebih penting daripada satu error yang bisa diperbaiki nanti.
Pertanyaan kuncinya: apa 1 hal yang dulu terasa mustahil — sekarang bisa kamu jelaskan ke adik kelas?
Taruh Final Project-mu di GitHub — kode + README 5 baris + screenshot fitur. Proyek jadi yang bisa ditunjukkan lebih berharga daripada seratus yang setengah jadi.
Urutan wajar setelah hari ini: OOP (class & object) → modul eksternal (csv untuk data sungguhan) → GUI/web sederhana. Semua fondasinya sudah kamu pegang.
Ambil jawaban refleksimu: edit data, sorting, laporan otomatis, tampilan lebih baik. 1 proyek yang terus dikembangkan mengajarkan lebih banyak daripada 10 yang baru dimulai.
Pertanyaan penutupnya bukan "sudah selesai?" — tapi "selanjutnya saya bangun apa?"
17 pertemuan lalu: print("Hello World")
Hari ini: aplikasi rancanganmu sendiri, jalan utuh, data aman.
Itu bukan bakat — itu 17 pertemuan kerja yang menumpuk. Jaga kebiasaan baikmu: alur dulu sebelum kode, 1 fitur selesai daripada 5 setengah jadi, dan error selalu alarm.