# Python — panduan mentor Draf operasional, 2026-11-04. 64 sesi × 60 menit per program. Contoh .py proyek akhir, README, dan pengujian tersedia pada folder contoh/ masing-masing jalur. Smoke test widget tidak menggantikan uji pengguna pada perangkat kelas. Persiapan: SMP: Siapkan VS Code, Python 3, ekstensi Python dan Python Debugger dari Microsoft. Pilih Python: Select Interpreter, jalankan file .py pada terminal terintegrasi, lalu uji satu breakpoint. Simpan seluruh sumber dan data sintetis dalam satu folder proyek. SMA: Siapkan VS Code, Python 3, ekstensi Python dan Python Debugger dari Microsoft. Pilih Python: Select Interpreter, jalankan file .py pada terminal terintegrasi, lalu uji satu breakpoint. Simpan seluruh sumber dan data sintetis dalam satu folder proyek. Untuk proyek GUI, jalankan python -m tkinter pada interpreter yang sama sebelum kelas. Jika modul Tkinter belum tersedia, pasang dukungan Tcl/Tk dari distribusi Python perangkat; konfirmasi jendela uji dapat dibuka dan ditutup. Alur mengikuti jenis dan tugas setiap sesi; lihat estimasi sesi. Estimasi awal perlu diuji mentor, bukan waktu terukur. ## SMP · Pemula Prasyarat: Tidak memerlukan pengalaman Python. Mulai dari membuka file, print(), variabel, input(), dan latihan kecil; mentor memeriksa pemahaman sebelum menambah konsep. Batas tugas: 64 sesi × 1 jam; empat proyek terminal dengan data sintetis 3–5 entri. Pelajari fondasi lewat latihan kecil sebelum menggabungkannya; aplikasi berjendela belum menjadi syarat. Semua file dibuka sebagai satu folder proyek di VS Code dengan interpreter terpilih, terminal terintegrasi, serta debugger. Pendampingan: Mentor memberi satu contoh kecil, lalu siswa memprediksi, mencoba variasi, dan menjelaskan hasil. Pada Lanjutan, gunakan pertanyaan serta petunjuk bertahap; periksa fondasi sebelum GUI. ### Proyek 1: Kuis Pengetahuan (sesi 1–16) Kuis terminal tiga pertanyaan dengan skor dan jawaban yang dinormalisasi. Tool proyek: Visual Studio Code (VS Code). Sumber: .py dan folder proyek. Hasil: README, data sintetis, serta tabel hasil uji. Contoh pengerjaan: Gunakan input sebagai teks; lakukan strip().lower() untuk jawaban kata. Latih int() pada contoh terpisah sebelum konversi pada kuis. Tiga jawaban 5, 7, biru untuk kunci 5, 8, biru menghasilkan 2/3. Mulai dari satu soal, kemudian tiga soal berulang. Hasil minimum: Kuis terminal tiga pertanyaan dengan skor dan jawaban yang dinormalisasi. Pengayaan: Setelah hasil minimum lolos, buat satu variasi aturan atau data pada proyek Kuis Pengetahuan dan bandingkan hasilnya; jangan menambah banyak fitur sekaligus. Transfer: Gunakan tema atau data baru pada Kuis Pengetahuan tanpa menyalin urutan contoh; jelaskan bagian yang berubah dan perbaiki satu kesalahan. Kesiapan lanjut: Lanjut jika hasil minimum dapat diulang, satu perubahan baru dapat dikerjakan, dan siswa menjelaskan satu perbaikan. Catat bentuk bantuan; bila belum siap, ulangi keterampilan yang belum tampak sebelum menambah konsep. #### Sesi 1: Folder dan interpreter - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan folder dan interpreter - Demo: Siapkan VS Code, Python 3, ekstensi Python dan Python Debugger dari Microsoft. Pilih Python: Select Interpreter, jalankan file .py pada terminal terintegrasi, lalu uji satu breakpoint. Simpan seluruh sumber dan data sintetis dalam satu folder proyek. Di VS Code, peragakan contoh minimum untuk Buka folder di VS Code, pilih Python: Select Interpreter, simpan halo.py. Minta prediksi sebelum menjalankan dan bandingkan dengan file yang benar dijalankan dari folder kelas - Praktik: Buka folder di VS Code, pilih Python: Select Interpreter, simpan halo.py - Uji/revisi: File yang benar dijalankan dari folder kelas - Kesalahan latihan: File belum disimpan atau interpreter belum dipilih - Dukungan: Mentor memberi satu contoh kecil, lalu siswa memprediksi, mencoba variasi, dan menjelaskan hasil. Pada Lanjutan, gunakan pertanyaan serta petunjuk bertahap; periksa fondasi sebelum GUI. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan folder dan interpreter; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-smp-pemula-S01-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Orientasi alat · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 10 menit → Praktik 20 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Sumber latihan baru; perangkat siap sebelum kelas. Minimum: Buka folder di VS Code, pilih Python: Select Interpreter, simpan halo.py Bukti pemahaman: Tutup lalu buka kembali sumber, ulangi satu tindakan tanpa mengikuti klik mentor dan jelaskan apa yang berubah. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan folder dan interpreter; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 5–10 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 2: print() dan keluaran - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan print() dan keluaran - Demo: Di VS Code, peragakan contoh minimum untuk Tampilkan dua kalimat memakai print() dan amati terminal. Minta prediksi sebelum menjalankan dan bandingkan dengan dua baris sesuai prediksi - Praktik: Tampilkan dua kalimat memakai print() dan amati terminal - Uji/revisi: Dua baris sesuai prediksi - Kesalahan latihan: File belum disimpan atau interpreter belum dipilih - Dukungan: Mentor memberi satu contoh kecil, lalu siswa memprediksi, mencoba variasi, dan menjelaskan hasil. Pada Lanjutan, gunakan pertanyaan serta petunjuk bertahap; periksa fondasi sebelum GUI. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan print() dan keluaran; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-smp-pemula-S02-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Tampilkan dua kalimat memakai print() dan amati terminal Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan print() dan keluaran; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 3: Variabel dan tipe data - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan variabel dan tipe data - Demo: Di VS Code, peragakan contoh minimum untuk Simpan nama sebagai str, skor sebagai int, desimal sebagai float, serta status sebagai bool lalu ubah satu nilai. Minta prediksi sebelum menjalankan dan bandingkan dengan perbedaan teks angka dan boolean dapat dijelaskan - Praktik: Simpan nama sebagai str, skor sebagai int, desimal sebagai float, serta status sebagai bool lalu ubah satu nilai - Uji/revisi: Perbedaan teks angka dan boolean dapat dijelaskan - Kesalahan latihan: File belum disimpan atau interpreter belum dipilih - Dukungan: Mentor memberi satu contoh kecil, lalu siswa memprediksi, mencoba variasi, dan menjelaskan hasil. Pada Lanjutan, gunakan pertanyaan serta petunjuk bertahap; periksa fondasi sebelum GUI. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan variabel dan tipe data; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-smp-pemula-S03-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Simpan nama sebagai str, skor sebagai int, desimal sebagai float, serta status sebagai bool lalu ubah satu nilai Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan variabel dan tipe data; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 4: input() sebagai teks - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan input() sebagai teks - Demo: Di VS Code, peragakan contoh minimum untuk Minta nama lalu tampilkan sapaan dengan f-string. Minta prediksi sebelum menjalankan dan bandingkan dengan input kosong dan nama berisi spasi diamati - Praktik: Minta nama lalu tampilkan sapaan dengan f-string - Uji/revisi: Input kosong dan nama berisi spasi diamati - Kesalahan latihan: File belum disimpan atau interpreter belum dipilih - Dukungan: Mentor memberi satu contoh kecil, lalu siswa memprediksi, mencoba variasi, dan menjelaskan hasil. Pada Lanjutan, gunakan pertanyaan serta petunjuk bertahap; periksa fondasi sebelum GUI. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan input() sebagai teks; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-smp-pemula-S04-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Minta nama lalu tampilkan sapaan dengan f-string Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan input() sebagai teks; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 5: Angka dan konversi int() - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan angka dan konversi int() - Demo: Di VS Code, peragakan contoh minimum untuk Bandingkan hasil penjumlahan teks dengan angka pada contoh kecil. Minta prediksi sebelum menjalankan dan bandingkan dengan siswa membedakan 2+3 dari penggabungan teks - Praktik: Bandingkan hasil penjumlahan teks dengan angka pada contoh kecil - Uji/revisi: Siswa membedakan 2+3 dari penggabungan teks - Kesalahan latihan: Teks dibandingkan langsung dengan angka - Dukungan: Mentor memberi satu contoh kecil, lalu siswa memprediksi, mencoba variasi, dan menjelaskan hasil. Pada Lanjutan, gunakan pertanyaan serta petunjuk bertahap; periksa fondasi sebelum GUI. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan angka dan konversi int(); prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-smp-pemula-S05-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Bandingkan hasil penjumlahan teks dengan angka pada contoh kecil Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan angka dan konversi int(); prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 6: Operator dan boolean - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan operator dan boolean - Demo: Di VS Code, peragakan contoh minimum untuk Prediksi hasil ==, !=, <, > dan bandingkan jawaban. Minta prediksi sebelum menjalankan dan bandingkan dengan benar dan salah dibedakan tanpa menebak - Praktik: Prediksi hasil ==, !=, <, > dan bandingkan jawaban - Uji/revisi: Benar dan salah dibedakan tanpa menebak - Kesalahan latihan: Teks dibandingkan langsung dengan angka - Dukungan: Mentor memberi satu contoh kecil, lalu siswa memprediksi, mencoba variasi, dan menjelaskan hasil. Pada Lanjutan, gunakan pertanyaan serta petunjuk bertahap; periksa fondasi sebelum GUI. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan operator dan boolean; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-smp-pemula-S06-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Prediksi hasil ==, !=, <, > dan bandingkan jawaban Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan operator dan boolean; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 7: Indentasi dan if/else - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan indentasi dan if/else - Demo: Di VS Code, peragakan contoh minimum untuk Buat satu soal dengan dua respons memakai blok terindentasi. Minta prediksi sebelum menjalankan dan bandingkan dengan hanya satu cabang yang berjalan - Praktik: Buat satu soal dengan dua respons memakai blok terindentasi - Uji/revisi: Hanya satu cabang yang berjalan - Kesalahan latihan: Teks dibandingkan langsung dengan angka - Dukungan: Mentor memberi satu contoh kecil, lalu siswa memprediksi, mencoba variasi, dan menjelaskan hasil. Pada Lanjutan, gunakan pertanyaan serta petunjuk bertahap; periksa fondasi sebelum GUI. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan indentasi dan if/else; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-smp-pemula-S07-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Buat satu soal dengan dua respons memakai blok terindentasi Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan indentasi dan if/else; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 8: elif dan input kosong - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan elif dan input kosong - Demo: Di VS Code, peragakan contoh minimum untuk Tambahkan respons untuk jawaban kosong sebelum memeriksa kunci. Minta prediksi sebelum menjalankan dan bandingkan dengan kosong tidak dianggap jawaban benar - Praktik: Tambahkan respons untuk jawaban kosong sebelum memeriksa kunci - Uji/revisi: Kosong tidak dianggap jawaban benar - Kesalahan latihan: Teks dibandingkan langsung dengan angka - Dukungan: Mentor memberi satu contoh kecil, lalu siswa memprediksi, mencoba variasi, dan menjelaskan hasil. Pada Lanjutan, gunakan pertanyaan serta petunjuk bertahap; periksa fondasi sebelum GUI. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan elif dan input kosong; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-smp-pemula-S08-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Tambahkan respons untuk jawaban kosong sebelum memeriksa kunci Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan elif dan input kosong; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 9: Skor dan += - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan skor dan += - Demo: Di VS Code, peragakan contoh minimum untuk Mulai skor nol lalu tambahkan satu hanya saat benar. Minta prediksi sebelum menjalankan dan bandingkan dengan dua jawaban benar memberi dua poin - Praktik: Mulai skor nol lalu tambahkan satu hanya saat benar - Uji/revisi: Dua jawaban benar memberi dua poin - Kesalahan latihan: Skor direset di dalam loop - Dukungan: Mentor memberi satu contoh kecil, lalu siswa memprediksi, mencoba variasi, dan menjelaskan hasil. Pada Lanjutan, gunakan pertanyaan serta petunjuk bertahap; periksa fondasi sebelum GUI. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan skor dan +=; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-smp-pemula-S09-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Mulai skor nol lalu tambahkan satu hanya saat benar Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan skor dan +=; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 10: for dan range() - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan for dan range() - Demo: Di VS Code, peragakan contoh minimum untuk Cetak nomor pertanyaan melalui range(3). Minta prediksi sebelum menjalankan dan bandingkan dengan loop berjalan tepat tiga kali - Praktik: Cetak nomor pertanyaan melalui range(3) - Uji/revisi: Loop berjalan tepat tiga kali - Kesalahan latihan: Skor direset di dalam loop - Dukungan: Mentor memberi satu contoh kecil, lalu siswa memprediksi, mencoba variasi, dan menjelaskan hasil. Pada Lanjutan, gunakan pertanyaan serta petunjuk bertahap; periksa fondasi sebelum GUI. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan for dan range(); prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-smp-pemula-S10-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Cetak nomor pertanyaan melalui range(3) Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan for dan range(); prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 11: List pasangan soal - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan list pasangan soal - Demo: Di VS Code, peragakan contoh minimum untuk Simpan tiga pertanyaan dan kuncinya sebagai data sederhana. Minta prediksi sebelum menjalankan dan bandingkan dengan urutan soal cocok dengan kunci - Praktik: Simpan tiga pertanyaan dan kuncinya sebagai data sederhana - Uji/revisi: Urutan soal cocok dengan kunci - Kesalahan latihan: Skor direset di dalam loop - Dukungan: Mentor memberi satu contoh kecil, lalu siswa memprediksi, mencoba variasi, dan menjelaskan hasil. Pada Lanjutan, gunakan pertanyaan serta petunjuk bertahap; periksa fondasi sebelum GUI. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan list pasangan soal; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-smp-pemula-S11-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Simpan tiga pertanyaan dan kuncinya sebagai data sederhana Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan list pasangan soal; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 12: Membaca data dalam loop - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan membaca data dalam loop - Demo: Di VS Code, peragakan contoh minimum untuk Tanyakan soal dari list dan simpan jawaban tiap putaran. Minta prediksi sebelum menjalankan dan bandingkan dengan soal tidak terlewati dan skor tidak direset - Praktik: Tanyakan soal dari list dan simpan jawaban tiap putaran - Uji/revisi: Soal tidak terlewati dan skor tidak direset - Kesalahan latihan: Skor direset di dalam loop - Dukungan: Mentor memberi satu contoh kecil, lalu siswa memprediksi, mencoba variasi, dan menjelaskan hasil. Pada Lanjutan, gunakan pertanyaan serta petunjuk bertahap; periksa fondasi sebelum GUI. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan membaca data dalam loop; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-smp-pemula-S12-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Tanyakan soal dari list dan simpan jawaban tiap putaran Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan membaca data dalam loop; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 13: Normalisasi string - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan normalisasi string - Demo: Di VS Code, peragakan contoh minimum untuk Gunakan strip().lower() pada jawaban kata. Minta prediksi sebelum menjalankan dan bandingkan dengan biru dan biru dengan spasi dinilai setara - Praktik: Gunakan strip().lower() pada jawaban kata - Uji/revisi: Biru dan biru dengan spasi dinilai setara - Kesalahan latihan: Spasi dan huruf besar membuat jawaban setara dianggap berbeda - Dukungan: Mentor memberi satu contoh kecil, lalu siswa memprediksi, mencoba variasi, dan menjelaskan hasil. Pada Lanjutan, gunakan pertanyaan serta petunjuk bertahap; periksa fondasi sebelum GUI. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan normalisasi string; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-smp-pemula-S13-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Gunakan strip().lower() pada jawaban kata Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan normalisasi string; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 14: Membaca traceback - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan membaca traceback - Demo: Di VS Code, peragakan contoh minimum untuk Perbaiki satu kesalahan nama variabel pada salinan. Minta prediksi sebelum menjalankan dan bandingkan dengan baris penyebab ditemukan dan diperbaiki - Praktik: Perbaiki satu kesalahan nama variabel pada salinan - Uji/revisi: Baris penyebab ditemukan dan diperbaiki - Kesalahan latihan: Spasi dan huruf besar membuat jawaban setara dianggap berbeda - Dukungan: Mentor memberi satu contoh kecil, lalu siswa memprediksi, mencoba variasi, dan menjelaskan hasil. Pada Lanjutan, gunakan pertanyaan serta petunjuk bertahap; periksa fondasi sebelum GUI. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan membaca traceback; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-smp-pemula-S14-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Perbaiki satu kesalahan nama variabel pada salinan Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan membaca traceback; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 15: Matriks uji kuis - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan matriks uji kuis - Demo: Di VS Code, peragakan contoh minimum untuk Uji semua benar, semua salah, serta input kosong. Minta prediksi sebelum menjalankan dan bandingkan dengan hasil cocok dengan skor yang dihitung tangan - Praktik: Uji semua benar, semua salah, serta input kosong - Uji/revisi: Hasil cocok dengan skor yang dihitung tangan - Kesalahan latihan: Spasi dan huruf besar membuat jawaban setara dianggap berbeda - Dukungan: Mentor memberi satu contoh kecil, lalu siswa memprediksi, mencoba variasi, dan menjelaskan hasil. Pada Lanjutan, gunakan pertanyaan serta petunjuk bertahap; periksa fondasi sebelum GUI. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan matriks uji kuis; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-smp-pemula-S15-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Uji semua benar, semua salah, serta input kosong Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan matriks uji kuis; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 16: Presentasi: Kuis Pengetahuan - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan presentasi kuis - Demo: Di VS Code, peragakan contoh minimum untuk Jalankan kuis baru dan tulis perintah pada README. Minta prediksi sebelum menjalankan dan bandingkan dengan siswa menjelaskan satu kondisi dan satu loop - Praktik: Jalankan kuis baru dan tulis perintah pada README Kerjakan perubahan di Visual Studio Code (VS Code); serahkan sumber .py dan folder proyek, README, data sintetis, serta tabel hasil uji, dan catatan uji. - Uji/revisi: Siswa menjelaskan satu kondisi dan satu loop - Kesalahan latihan: Spasi dan huruf besar membuat jawaban setara dianggap berbeda - Dukungan: Mentor memberi satu contoh kecil, lalu siswa memprediksi, mencoba variasi, dan menjelaskan hasil. Pada Lanjutan, gunakan pertanyaan serta petunjuk bertahap; periksa fondasi sebelum GUI. - Pengayaan: Pilih satu masukan yang berguna, revisi bagian terkait dan tunjukkan hasil uji ulang; tidak perlu menambah fitur baru. - Bukti/refleksi: python-smp-pemula-S16-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Presentasi karya · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 3 menit → Persiapan sumber 2 menit → Demonstrasi siswa 24 menit → Pertanyaan dan umpan balik 21 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Jalankan kuis baru dan tulis perintah pada README Kerjakan perubahan di Visual Studio Code (VS Code); serahkan sumber .py dan folder proyek, README, data sintetis, serta tabel hasil uji, dan catatan uji. Bukti pemahaman: Tunjukkan satu bagian yang dibuat sendiri, satu keputusan dan satu perbaikan; jawab satu pertanyaan menggunakan sumber karya. Pengayaan: Pilih satu masukan yang berguna, revisi bagian terkait dan tunjukkan hasil uji ulang; tidak perlu menambah fitur baru. Blok demonstrasi kelas: 19–24 menit. Blok seluruh giliran demonstrasi kelas; bukan waktu bicara per siswa. Umpan balik mempunyai slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Presentasi bergiliran: 4 menit/siswa; kapasitas rencana 4 siswa, 4 menit pergantian. Grup 1–4 siswa: gunakan sisa blok untuk latihan penjelasan atau pertanyaan singkat; tidak perlu memperpanjang bicara demi mengisi waktu. Private menggunakan varian tersendiri. Varian private (satu siswa): Pembuka dan cek bekal 5 menit → Konsep dan demo 3 menit → Persiapan sumber 2 menit → Demonstrasi siswa 15 menit → Pertanyaan dan umpan balik 30 menit → Simpan, refleksi dan cadangan waktu 5 menit. Blok 15 menit: sekitar 5 menit demonstrasi dan 10 menit penjelasan/probe; 30 menit uji, masukan dan revisi. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. ### Proyek 2: Tebak Angka (sesi 17–32) Game angka terminal dengan batas percobaan, fungsi pemeriksa, dan pilihan main lagi. Tool proyek: Visual Studio Code (VS Code). Sumber: .py dan folder proyek. Hasil: README, data sintetis, serta tabel hasil uji. Contoh pengerjaan: Pakai target tetap 42 dahulu: 20 terlalu kecil, 70 terlalu besar, 42 benar. Fungsi petunjuk menerima target dan tebakan. Tetapkan angka di luar 1–100 serta input huruf tidak memakai kesempatan. Setelah uji tetap lulus, gunakan random.randint(1,100). Hasil minimum: Game angka terminal dengan batas percobaan, fungsi pemeriksa, dan pilihan main lagi. Pengayaan: Setelah hasil minimum lolos, buat satu variasi aturan atau data pada proyek Tebak Angka dan bandingkan hasilnya; jangan menambah banyak fitur sekaligus. Transfer: Gunakan tema atau data baru pada Tebak Angka tanpa menyalin urutan contoh; jelaskan bagian yang berubah dan perbaiki satu kesalahan. Kesiapan lanjut: Lanjut jika hasil minimum dapat diulang, satu perubahan baru dapat dikerjakan, dan siswa menjelaskan satu perbaikan. Catat bentuk bantuan; bila belum siap, ulangi keterampilan yang belum tampak sebelum menambah konsep. #### Sesi 17: Audit kuis dan alur game - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan audit kuis dan alur game - Demo: Siapkan VS Code, Python 3, ekstensi Python dan Python Debugger dari Microsoft. Pilih Python: Select Interpreter, jalankan file .py pada terminal terintegrasi, lalu uji satu breakpoint. Simpan seluruh sumber dan data sintetis dalam satu folder proyek. Di VS Code, peragakan contoh minimum untuk Telusuri input-kondisi-loop dari kuis lalu gambar satu putaran game. Minta prediksi sebelum menjalankan dan bandingkan dengan fondasi yang belum konsisten mendapat penguatan - Praktik: Telusuri input-kondisi-loop dari kuis lalu gambar satu putaran game - Uji/revisi: Fondasi yang belum konsisten mendapat penguatan - Kesalahan latihan: Kondisi while tidak pernah berubah - Dukungan: Mentor memberi satu contoh kecil, lalu siswa memprediksi, mencoba variasi, dan menjelaskan hasil. Pada Lanjutan, gunakan pertanyaan serta petunjuk bertahap; periksa fondasi sebelum GUI. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan audit kuis dan alur game; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-smp-pemula-S17-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pengujian dan revisi · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 5 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 15 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Latihan kecil atau sumber awal proyek ini; tidak mengasumsikan proyek akhir sudah jadi. Minimum: Telusuri input-kondisi-loop dari kuis lalu gambar satu putaran game Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan audit kuis dan alur game; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 14–22 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 18: while dan kondisi berhenti - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan while dan kondisi berhenti - Demo: Di VS Code, peragakan contoh minimum untuk Ulangi tebakan pada target tetap 42. Minta prediksi sebelum menjalankan dan bandingkan dengan loop berhenti saat tebakan benar - Praktik: Ulangi tebakan pada target tetap 42 - Uji/revisi: Loop berhenti saat tebakan benar - Kesalahan latihan: Kondisi while tidak pernah berubah - Dukungan: Mentor memberi satu contoh kecil, lalu siswa memprediksi, mencoba variasi, dan menjelaskan hasil. Pada Lanjutan, gunakan pertanyaan serta petunjuk bertahap; periksa fondasi sebelum GUI. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan while dan kondisi berhenti; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-smp-pemula-S18-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Ulangi tebakan pada target tetap 42 Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan while dan kondisi berhenti; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 19: Pencacah percobaan - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan pencacah percobaan - Demo: Di VS Code, peragakan contoh minimum untuk Batasi lima tebakan valid dan amati perubahan pencacah. Minta prediksi sebelum menjalankan dan bandingkan dengan percobaan tidak melebihi lima - Praktik: Batasi lima tebakan valid dan amati perubahan pencacah - Uji/revisi: Percobaan tidak melebihi lima - Kesalahan latihan: Kondisi while tidak pernah berubah - Dukungan: Mentor memberi satu contoh kecil, lalu siswa memprediksi, mencoba variasi, dan menjelaskan hasil. Pada Lanjutan, gunakan pertanyaan serta petunjuk bertahap; periksa fondasi sebelum GUI. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan pencacah percobaan; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-smp-pemula-S19-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Batasi lima tebakan valid dan amati perubahan pencacah Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan pencacah percobaan; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 20: break dan akhir putaran - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan break dan akhir putaran - Demo: Di VS Code, peragakan contoh minimum untuk Bedakan berhenti karena menang dengan kesempatan habis. Minta prediksi sebelum menjalankan dan bandingkan dengan kedua akhir memiliki pesan berbeda - Praktik: Bedakan berhenti karena menang dengan kesempatan habis - Uji/revisi: Kedua akhir memiliki pesan berbeda - Kesalahan latihan: Kondisi while tidak pernah berubah - Dukungan: Mentor memberi satu contoh kecil, lalu siswa memprediksi, mencoba variasi, dan menjelaskan hasil. Pada Lanjutan, gunakan pertanyaan serta petunjuk bertahap; periksa fondasi sebelum GUI. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan break dan akhir putaran; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-smp-pemula-S20-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Bedakan berhenti karena menang dengan kesempatan habis Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan break dan akhir putaran; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 21: def dan pemanggilan fungsi - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan def dan pemanggilan fungsi - Demo: Di VS Code, peragakan contoh minimum untuk Pindahkan petunjuk ke fungsi bernama. Minta prediksi sebelum menjalankan dan bandingkan dengan fungsi dapat dipanggil dua kali - Praktik: Pindahkan petunjuk ke fungsi bernama - Uji/revisi: Fungsi dapat dipanggil dua kali - Kesalahan latihan: Parameter tertukar atau return tidak dipakai - Dukungan: Mentor memberi satu contoh kecil, lalu siswa memprediksi, mencoba variasi, dan menjelaskan hasil. Pada Lanjutan, gunakan pertanyaan serta petunjuk bertahap; periksa fondasi sebelum GUI. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan def dan pemanggilan fungsi; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-smp-pemula-S21-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Pindahkan petunjuk ke fungsi bernama Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan def dan pemanggilan fungsi; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 14–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 22: Parameter dan argumen - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan parameter dan argumen - Demo: Di VS Code, peragakan contoh minimum untuk Kirim target serta tebakan berbeda ke fungsi. Minta prediksi sebelum menjalankan dan bandingkan dengan perubahan argumen mengubah hasil sesuai aturan - Praktik: Kirim target serta tebakan berbeda ke fungsi - Uji/revisi: Perubahan argumen mengubah hasil sesuai aturan - Kesalahan latihan: Parameter tertukar atau return tidak dipakai - Dukungan: Mentor memberi satu contoh kecil, lalu siswa memprediksi, mencoba variasi, dan menjelaskan hasil. Pada Lanjutan, gunakan pertanyaan serta petunjuk bertahap; periksa fondasi sebelum GUI. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan parameter dan argumen; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-smp-pemula-S22-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Kirim target serta tebakan berbeda ke fungsi Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan parameter dan argumen; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 23: return dan nilai hasil - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan return dan nilai hasil - Demo: Di VS Code, peragakan contoh minimum untuk Kembalikan kecil, besar, atau benar tanpa input dalam fungsi. Minta prediksi sebelum menjalankan dan bandingkan dengan hasil dapat dibandingkan di luar fungsi - Praktik: Kembalikan kecil, besar, atau benar tanpa input dalam fungsi - Uji/revisi: Hasil dapat dibandingkan di luar fungsi - Kesalahan latihan: Parameter tertukar atau return tidak dipakai - Dukungan: Mentor memberi satu contoh kecil, lalu siswa memprediksi, mencoba variasi, dan menjelaskan hasil. Pada Lanjutan, gunakan pertanyaan serta petunjuk bertahap; periksa fondasi sebelum GUI. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan return dan nilai hasil; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-smp-pemula-S23-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Kembalikan kecil, besar, atau benar tanpa input dalam fungsi Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan return dan nilai hasil; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 24: Variabel lokal - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan variabel lokal - Demo: Di VS Code, peragakan contoh minimum untuk Pisahkan pencacah satu putaran dari menu utama. Minta prediksi sebelum menjalankan dan bandingkan dengan putaran baru tidak mewarisi nilai lama - Praktik: Pisahkan pencacah satu putaran dari menu utama - Uji/revisi: Putaran baru tidak mewarisi nilai lama - Kesalahan latihan: Parameter tertukar atau return tidak dipakai - Dukungan: Mentor memberi satu contoh kecil, lalu siswa memprediksi, mencoba variasi, dan menjelaskan hasil. Pada Lanjutan, gunakan pertanyaan serta petunjuk bertahap; periksa fondasi sebelum GUI. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan variabel lokal; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-smp-pemula-S24-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Pisahkan pencacah satu putaran dari menu utama Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan variabel lokal; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 25: import random - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan import random - Demo: Di VS Code, peragakan contoh minimum untuk Bandingkan target tetap dengan randint(1,100). Minta prediksi sebelum menjalankan dan bandingkan dengan target selalu dalam rentang yang diumumkan - Praktik: Bandingkan target tetap dengan randint(1,100) - Uji/revisi: Target selalu dalam rentang yang diumumkan - Kesalahan latihan: Konversi input huruf tidak ditangani - Dukungan: Mentor memberi satu contoh kecil, lalu siswa memprediksi, mencoba variasi, dan menjelaskan hasil. Pada Lanjutan, gunakan pertanyaan serta petunjuk bertahap; periksa fondasi sebelum GUI. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan import random; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-smp-pemula-S25-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Bandingkan target tetap dengan randint(1,100) Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan import random; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 26: try/except ValueError - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan try/except valueerror - Demo: Di VS Code, peragakan contoh minimum untuk Tangani huruf ketika int() mengonversi input. Minta prediksi sebelum menjalankan dan bandingkan dengan huruf memberi pesan dan program berlanjut - Praktik: Tangani huruf ketika int() mengonversi input - Uji/revisi: Huruf memberi pesan dan program berlanjut - Kesalahan latihan: Konversi input huruf tidak ditangani - Dukungan: Mentor memberi satu contoh kecil, lalu siswa memprediksi, mencoba variasi, dan menjelaskan hasil. Pada Lanjutan, gunakan pertanyaan serta petunjuk bertahap; periksa fondasi sebelum GUI. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan try/except valueerror; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-smp-pemula-S26-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Tangani huruf ketika int() mengonversi input Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan try/except valueerror; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 27: Validasi rentang - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan validasi rentang - Demo: Di VS Code, peragakan contoh minimum untuk Tolak nol dan 101 sebelum menghitung kesempatan. Minta prediksi sebelum menjalankan dan bandingkan dengan input tidak valid tidak mengurangi kesempatan - Praktik: Tolak nol dan 101 sebelum menghitung kesempatan - Uji/revisi: Input tidak valid tidak mengurangi kesempatan - Kesalahan latihan: Konversi input huruf tidak ditangani - Dukungan: Mentor memberi satu contoh kecil, lalu siswa memprediksi, mencoba variasi, dan menjelaskan hasil. Pada Lanjutan, gunakan pertanyaan serta petunjuk bertahap; periksa fondasi sebelum GUI. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan validasi rentang; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-smp-pemula-S27-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Tolak nol dan 101 sebelum menghitung kesempatan Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan validasi rentang; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 28: Fungsi satu putaran - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan fungsi satu putaran - Demo: Di VS Code, peragakan contoh minimum untuk Gabungkan petunjuk, loop, dan pencacah dalam satu fungsi. Minta prediksi sebelum menjalankan dan bandingkan dengan putaran dapat selesai tanpa menutup menu - Praktik: Gabungkan petunjuk, loop, dan pencacah dalam satu fungsi - Uji/revisi: Putaran dapat selesai tanpa menutup menu - Kesalahan latihan: Konversi input huruf tidak ditangani - Dukungan: Mentor memberi satu contoh kecil, lalu siswa memprediksi, mencoba variasi, dan menjelaskan hasil. Pada Lanjutan, gunakan pertanyaan serta petunjuk bertahap; periksa fondasi sebelum GUI. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan fungsi satu putaran; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-smp-pemula-S28-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Gabungkan petunjuk, loop, dan pencacah dalam satu fungsi Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan fungsi satu putaran; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 14–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 29: Menu main lagi - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan menu main lagi - Demo: Di VS Code, peragakan contoh minimum untuk Gunakan loop luar untuk pilihan ya atau tidak. Minta prediksi sebelum menjalankan dan bandingkan dengan tidak menutup program dengan paksa - Praktik: Gunakan loop luar untuk pilihan ya atau tidak - Uji/revisi: Tidak menutup program dengan paksa - Kesalahan latihan: Main ulang membawa pencacah putaran sebelumnya - Dukungan: Mentor memberi satu contoh kecil, lalu siswa memprediksi, mencoba variasi, dan menjelaskan hasil. Pada Lanjutan, gunakan pertanyaan serta petunjuk bertahap; periksa fondasi sebelum GUI. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan menu main lagi; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-smp-pemula-S29-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Gunakan loop luar untuk pilihan ya atau tidak Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan menu main lagi; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 30: Breakpoint dan Step Over - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan breakpoint dan step over - Demo: Di VS Code, peragakan contoh minimum untuk Amati target dan pencacah saat menang serta kalah. Minta prediksi sebelum menjalankan dan bandingkan dengan siswa menunjukkan nilai yang berubah - Praktik: Amati target dan pencacah saat menang serta kalah - Uji/revisi: Siswa menunjukkan nilai yang berubah - Kesalahan latihan: Main ulang membawa pencacah putaran sebelumnya - Dukungan: Mentor memberi satu contoh kecil, lalu siswa memprediksi, mencoba variasi, dan menjelaskan hasil. Pada Lanjutan, gunakan pertanyaan serta petunjuk bertahap; periksa fondasi sebelum GUI. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan breakpoint dan step over; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-smp-pemula-S30-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Amati target dan pencacah saat menang serta kalah Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan breakpoint dan step over; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 31: Regresi dua putaran - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan regresi dua putaran - Demo: Di VS Code, peragakan contoh minimum untuk Uji huruf, batas, menang, kalah, dan main lagi. Minta prediksi sebelum menjalankan dan bandingkan dengan reset tidak merusak validasi sebelumnya - Praktik: Uji huruf, batas, menang, kalah, dan main lagi - Uji/revisi: Reset tidak merusak validasi sebelumnya - Kesalahan latihan: Main ulang membawa pencacah putaran sebelumnya - Dukungan: Mentor memberi satu contoh kecil, lalu siswa memprediksi, mencoba variasi, dan menjelaskan hasil. Pada Lanjutan, gunakan pertanyaan serta petunjuk bertahap; periksa fondasi sebelum GUI. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan regresi dua putaran; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-smp-pemula-S31-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pengujian dan revisi · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 5 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 15 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Uji huruf, batas, menang, kalah, dan main lagi Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan regresi dua putaran; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 14–22 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 32: Presentasi: Tebak Angka - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan presentasi game angka - Demo: Di VS Code, peragakan contoh minimum untuk Jelaskan parameter, return, serta aturan kesempatan. Minta prediksi sebelum menjalankan dan bandingkan dengan pengguna mengikuti readme tanpa bantuan - Praktik: Jelaskan parameter, return, serta aturan kesempatan Kerjakan perubahan di Visual Studio Code (VS Code); serahkan sumber .py dan folder proyek, README, data sintetis, serta tabel hasil uji, dan catatan uji. - Uji/revisi: Pengguna mengikuti README tanpa bantuan - Kesalahan latihan: Main ulang membawa pencacah putaran sebelumnya - Dukungan: Mentor memberi satu contoh kecil, lalu siswa memprediksi, mencoba variasi, dan menjelaskan hasil. Pada Lanjutan, gunakan pertanyaan serta petunjuk bertahap; periksa fondasi sebelum GUI. - Pengayaan: Pilih satu masukan yang berguna, revisi bagian terkait dan tunjukkan hasil uji ulang; tidak perlu menambah fitur baru. - Bukti/refleksi: python-smp-pemula-S32-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Presentasi karya · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 3 menit → Persiapan sumber 2 menit → Demonstrasi siswa 24 menit → Pertanyaan dan umpan balik 21 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Jelaskan parameter, return, serta aturan kesempatan Kerjakan perubahan di Visual Studio Code (VS Code); serahkan sumber .py dan folder proyek, README, data sintetis, serta tabel hasil uji, dan catatan uji. Bukti pemahaman: Tunjukkan satu bagian yang dibuat sendiri, satu keputusan dan satu perbaikan; jawab satu pertanyaan menggunakan sumber karya. Pengayaan: Pilih satu masukan yang berguna, revisi bagian terkait dan tunjukkan hasil uji ulang; tidak perlu menambah fitur baru. Blok demonstrasi kelas: 19–24 menit. Blok seluruh giliran demonstrasi kelas; bukan waktu bicara per siswa. Umpan balik mempunyai slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Presentasi bergiliran: 4 menit/siswa; kapasitas rencana 4 siswa, 4 menit pergantian. Grup 1–4 siswa: gunakan sisa blok untuk latihan penjelasan atau pertanyaan singkat; tidak perlu memperpanjang bicara demi mengisi waktu. Private menggunakan varian tersendiri. Varian private (satu siswa): Pembuka dan cek bekal 5 menit → Konsep dan demo 3 menit → Persiapan sumber 2 menit → Demonstrasi siswa 15 menit → Pertanyaan dan umpan balik 30 menit → Simpan, refleksi dan cadangan waktu 5 menit. Blok 15 menit: sekitar 5 menit demonstrasi dan 10 menit penjelasan/probe; 30 menit uji, masukan dan revisi. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. ### Proyek 3: Catatan Uang Saku (sesi 33–48) Pencatat uang saku terminal dengan transaksi berlabel dan simpan-muat JSON. Tool proyek: Visual Studio Code (VS Code). Sumber: .py dan folder proyek. Hasil: README, data sintetis, serta tabel hasil uji. Contoh pengerjaan: Simpan nominal rupiah sebagai int positif. Pemasukan 50000 dikurangi buku 10000 dan camilan 5000 memberi saldo 35000. Bedakan file belum ada dari file rusak. Jangan simpan di atas JSON rusak sebelum pengguna membuat salinan dan memutuskan perbaikan. Hasil minimum: Pencatat uang saku terminal dengan transaksi berlabel dan simpan-muat JSON. Pengayaan: Setelah hasil minimum lolos, buat satu variasi aturan atau data pada proyek Catatan Uang Saku dan bandingkan hasilnya; jangan menambah banyak fitur sekaligus. Transfer: Gunakan tema atau data baru pada Catatan Uang Saku tanpa menyalin urutan contoh; jelaskan bagian yang berubah dan perbaiki satu kesalahan. Kesiapan lanjut: Lanjut jika hasil minimum dapat diulang, satu perubahan baru dapat dikerjakan, dan siswa menjelaskan satu perbaikan. Catat bentuk bantuan; bila belum siap, ulangi keterampilan yang belum tampak sebelum menambah konsep. #### Sesi 33: List, indeks, append() dan len() - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Panjang list berubah dari 3 menjadi 4; tiga data awal tetap ada. - Demo: Tunjukkan satu contoh kecil: Susun tiga nama transaksi, baca satu indeks, tambahkan transaksi keempat, dan periksa len(). Minta siswa memprediksi hasil. - Praktik: Susun tiga nama transaksi, baca satu indeks, tambahkan transaksi keempat, dan periksa len(). - Uji/revisi: Panjang list berubah dari 3 menjadi 4; tiga data awal tetap ada. - Kesalahan latihan: Data awal tertimpa ketika menambah elemen. - Dukungan: Mentor memberi satu contoh kecil, lalu siswa memprediksi, mencoba variasi, dan menjelaskan hasil. Pada Lanjutan, gunakan pertanyaan serta petunjuk bertahap; periksa fondasi sebelum GUI. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan list dan indeks; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-smp-pemula-S33-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Latihan kecil atau sumber awal proyek ini; tidak mengasumsikan proyek akhir sudah jadi. Minimum: Susun tiga nama transaksi, baca satu indeks, tambahkan transaksi keempat, dan periksa len(). Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan list dan indeks; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 34: Tantangan daftar belanja - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Siswa menambah barang pada data baru tanpa menyalin contoh transaksi. - Demo: Tunjukkan satu contoh kecil: Buat daftar belanja pilihanmu; tambahkan satu barang dan jelaskan indeks sebelum dan sesudahnya. Minta siswa memprediksi hasil. - Praktik: Buat daftar belanja pilihanmu; tambahkan satu barang dan jelaskan indeks sebelum dan sesudahnya. - Uji/revisi: Siswa menambah barang pada data baru tanpa menyalin contoh transaksi. - Kesalahan latihan: Data awal tertimpa ketika menambah elemen. - Dukungan: Mentor memberi satu contoh kecil, lalu siswa memprediksi, mencoba variasi, dan menjelaskan hasil. Pada Lanjutan, gunakan pertanyaan serta petunjuk bertahap; periksa fondasi sebelum GUI. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan append() dan len(); prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-smp-pemula-S34-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Buat daftar belanja pilihanmu; tambahkan satu barang dan jelaskan indeks sebelum dan sesudahnya. Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan append() dan len(); prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 35: Dictionary dan key - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan dictionary dan key - Demo: Di VS Code, peragakan contoh minimum untuk Beri field jenis, nama, dan nominal pada transaksi. Minta prediksi sebelum menjalankan dan bandingkan dengan field diakses dengan nama yang konsisten - Praktik: Beri field jenis, nama, dan nominal pada transaksi - Uji/revisi: Field diakses dengan nama yang konsisten - Kesalahan latihan: Indeks list tertukar dengan nama field dictionary - Dukungan: Mentor memberi satu contoh kecil, lalu siswa memprediksi, mencoba variasi, dan menjelaskan hasil. Pada Lanjutan, gunakan pertanyaan serta petunjuk bertahap; periksa fondasi sebelum GUI. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan dictionary dan key; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-smp-pemula-S35-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Beri field jenis, nama, dan nominal pada transaksi Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan dictionary dan key; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 14–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 36: List berisi dictionary - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan list berisi dictionary - Demo: Di VS Code, peragakan contoh minimum untuk Susun tiga transaksi sintetis dan tampilkan dengan loop. Minta prediksi sebelum menjalankan dan bandingkan dengan setiap baris memiliki label yang benar - Praktik: Susun tiga transaksi sintetis dan tampilkan dengan loop - Uji/revisi: Setiap baris memiliki label yang benar - Kesalahan latihan: Indeks list tertukar dengan nama field dictionary - Dukungan: Mentor memberi satu contoh kecil, lalu siswa memprediksi, mencoba variasi, dan menjelaskan hasil. Pada Lanjutan, gunakan pertanyaan serta petunjuk bertahap; periksa fondasi sebelum GUI. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan list berisi dictionary; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-smp-pemula-S36-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Susun tiga transaksi sintetis dan tampilkan dengan loop Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan list berisi dictionary; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 14–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 37: Fungsi hitung saldo - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan fungsi hitung saldo - Demo: Di VS Code, peragakan contoh minimum untuk Jumlahkan pemasukan dan kurangi pengeluaran. Minta prediksi sebelum menjalankan dan bandingkan dengan contoh 50000,10000,5000 menghasilkan 35000 - Praktik: Jumlahkan pemasukan dan kurangi pengeluaran - Uji/revisi: Contoh 50000,10000,5000 menghasilkan 35000 - Kesalahan latihan: Pengeluaran ditambah ke saldo - Dukungan: Mentor memberi satu contoh kecil, lalu siswa memprediksi, mencoba variasi, dan menjelaskan hasil. Pada Lanjutan, gunakan pertanyaan serta petunjuk bertahap; periksa fondasi sebelum GUI. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan fungsi hitung saldo; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-smp-pemula-S37-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Jumlahkan pemasukan dan kurangi pengeluaran Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan fungsi hitung saldo; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 14–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 38: Nominal rupiah integer - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan nominal rupiah integer - Demo: Di VS Code, peragakan contoh minimum untuk Validasi int positif serta jenis transaksi. Minta prediksi sebelum menjalankan dan bandingkan dengan negatif, nol, dan huruf ditolak - Praktik: Validasi int positif serta jenis transaksi - Uji/revisi: Negatif, nol, dan huruf ditolak - Kesalahan latihan: Pengeluaran ditambah ke saldo - Dukungan: Mentor memberi satu contoh kecil, lalu siswa memprediksi, mencoba variasi, dan menjelaskan hasil. Pada Lanjutan, gunakan pertanyaan serta petunjuk bertahap; periksa fondasi sebelum GUI. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan nominal rupiah integer; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-smp-pemula-S38-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Validasi int positif serta jenis transaksi Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan nominal rupiah integer; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 39: Menu tambah dan daftar - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan menu tambah dan daftar - Demo: Di VS Code, peragakan contoh minimum untuk Hubungkan fungsi data dengan input terminal. Minta prediksi sebelum menjalankan dan bandingkan dengan data baru terlihat tanpa menyalin menu - Praktik: Hubungkan fungsi data dengan input terminal - Uji/revisi: Data baru terlihat tanpa menyalin menu - Kesalahan latihan: Pengeluaran ditambah ke saldo - Dukungan: Mentor memberi satu contoh kecil, lalu siswa memprediksi, mencoba variasi, dan menjelaskan hasil. Pada Lanjutan, gunakan pertanyaan serta petunjuk bertahap; periksa fondasi sebelum GUI. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan menu tambah dan daftar; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-smp-pemula-S39-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Hubungkan fungsi data dengan input terminal Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan menu tambah dan daftar; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 40: Kasus daftar kosong - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan kasus daftar kosong - Demo: Di VS Code, peragakan contoh minimum untuk Tampilkan pesan dan saldo awal nol. Minta prediksi sebelum menjalankan dan bandingkan dengan tidak terjadi akses indeks yang tidak ada - Praktik: Tampilkan pesan dan saldo awal nol - Uji/revisi: Tidak terjadi akses indeks yang tidak ada - Kesalahan latihan: Pengeluaran ditambah ke saldo - Dukungan: Mentor memberi satu contoh kecil, lalu siswa memprediksi, mencoba variasi, dan menjelaskan hasil. Pada Lanjutan, gunakan pertanyaan serta petunjuk bertahap; periksa fondasi sebelum GUI. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan kasus daftar kosong; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-smp-pemula-S40-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Tampilkan pesan dan saldo awal nol Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan kasus daftar kosong; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 41: File dan pathlib - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan file dan pathlib - Demo: Di VS Code, peragakan contoh minimum untuk Tetapkan lokasi data relatif ke file program. Minta prediksi sebelum menjalankan dan bandingkan dengan lokasi dapat dijelaskan dari terminal berbeda - Praktik: Tetapkan lokasi data relatif ke file program - Uji/revisi: Lokasi dapat dijelaskan dari terminal berbeda - Kesalahan latihan: Lokasi file bergantung pada folder terminal - Dukungan: Mentor memberi satu contoh kecil, lalu siswa memprediksi, mencoba variasi, dan menjelaskan hasil. Pada Lanjutan, gunakan pertanyaan serta petunjuk bertahap; periksa fondasi sebelum GUI. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan file dan pathlib; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-smp-pemula-S41-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Tetapkan lokasi data relatif ke file program Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan file dan pathlib; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 42: with open dan encoding - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan with open dan encoding - Demo: Di VS Code, peragakan contoh minimum untuk Tulis serta baca teks UTF-8 latihan. Minta prediksi sebelum menjalankan dan bandingkan dengan file tertutup dan teks dapat dibaca kembali - Praktik: Tulis serta baca teks UTF-8 latihan - Uji/revisi: File tertutup dan teks dapat dibaca kembali - Kesalahan latihan: Lokasi file bergantung pada folder terminal - Dukungan: Mentor memberi satu contoh kecil, lalu siswa memprediksi, mencoba variasi, dan menjelaskan hasil. Pada Lanjutan, gunakan pertanyaan serta petunjuk bertahap; periksa fondasi sebelum GUI. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan with open dan encoding; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-smp-pemula-S42-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Tulis serta baca teks UTF-8 latihan Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan with open dan encoding; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 43: json.dump() - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan json.dump() - Demo: Di VS Code, peragakan contoh minimum untuk Simpan list transaksi sebagai JSON. Minta prediksi sebelum menjalankan dan bandingkan dengan struktur dapat diperiksa di explorer - Praktik: Simpan tiga transaksi menjadi JSON; ubah satu nominal, simpan salinan baru dan bandingkan isi kedua file teks. - Uji/revisi: Dua file memuat nominal sesuai prediksi dan file awal tetap utuh. - Kesalahan latihan: Lokasi file bergantung pada folder terminal - Dukungan: Mentor memberi satu contoh kecil, lalu siswa memprediksi, mencoba variasi, dan menjelaskan hasil. Pada Lanjutan, gunakan pertanyaan serta petunjuk bertahap; periksa fondasi sebelum GUI. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan json.dump(); prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-smp-pemula-S43-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Simpan tiga transaksi menjadi JSON; ubah satu nominal, simpan salinan baru dan bandingkan isi kedua file teks. Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan json.dump(); prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 44: json.load() - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan json.load() - Demo: Di VS Code, peragakan contoh minimum untuk Muat data dan hitung saldo ulang. Minta prediksi sebelum menjalankan dan bandingkan dengan jumlah serta saldo sama dengan sebelum ditutup - Praktik: Muat data dan hitung saldo ulang - Uji/revisi: Jumlah serta saldo sama dengan sebelum ditutup - Kesalahan latihan: Lokasi file bergantung pada folder terminal - Dukungan: Mentor memberi satu contoh kecil, lalu siswa memprediksi, mencoba variasi, dan menjelaskan hasil. Pada Lanjutan, gunakan pertanyaan serta petunjuk bertahap; periksa fondasi sebelum GUI. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan json.load(); prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-smp-pemula-S44-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Muat data dan hitung saldo ulang Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan json.load(); prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 45: File belum ada dan JSON rusak - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: File belum ada memulai data baru; file rusak memberi pesan dan tidak ditimpa. - Demo: Tunjukkan satu contoh kecil: Pada salinan data, bandingkan file yang belum dibuat dengan file JSON yang isinya rusak. Minta siswa memprediksi hasil. - Praktik: Pada salinan data, bandingkan file yang belum dibuat dengan file JSON yang isinya rusak. - Uji/revisi: File belum ada memulai data baru; file rusak memberi pesan dan tidak ditimpa. - Kesalahan latihan: JSON rusak dianggap data kosong lalu tersimpan menimpa sumber. - Dukungan: Mentor memberi satu contoh kecil, lalu siswa memprediksi, mencoba variasi, dan menjelaskan hasil. Pada Lanjutan, gunakan pertanyaan serta petunjuk bertahap; periksa fondasi sebelum GUI. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan filenotfounderror; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-smp-pemula-S45-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Pada salinan data, bandingkan file yang belum dibuat dengan file JSON yang isinya rusak. Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan filenotfounderror; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 46: Praktik pemulihan data - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Cadangan tidak berubah; data pulih dan saldo sesuai hitungan manual. - Demo: Tunjukkan satu contoh kecil: Buat cadangan JSON, rusakkan salinan, lalu pulihkan cadangan dan buktikan saldo tetap sama. Minta siswa memprediksi hasil. - Praktik: Buat cadangan JSON, rusakkan salinan, lalu pulihkan cadangan dan buktikan saldo tetap sama. - Uji/revisi: Cadangan tidak berubah; data pulih dan saldo sesuai hitungan manual. - Kesalahan latihan: JSON rusak dianggap data kosong lalu tersimpan menimpa sumber. - Dukungan: Mentor memberi satu contoh kecil, lalu siswa memprediksi, mencoba variasi, dan menjelaskan hasil. Pada Lanjutan, gunakan pertanyaan serta petunjuk bertahap; periksa fondasi sebelum GUI. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan jsondecodeerror; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-smp-pemula-S46-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Buat cadangan JSON, rusakkan salinan, lalu pulihkan cadangan dan buktikan saldo tetap sama. Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan jsondecodeerror; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 47: Uji simpan dan buka ulang - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan uji simpan dan buka ulang - Demo: Di VS Code, peragakan contoh minimum untuk Jalankan dua kali dengan data sintetis berbeda. Minta prediksi sebelum menjalankan dan bandingkan dengan tidak ada transaksi ganda setelah muat - Praktik: Jalankan dua kali dengan data sintetis berbeda - Uji/revisi: Tidak ada transaksi ganda setelah muat - Kesalahan latihan: JSON rusak disamakan dengan daftar kosong lalu disimpan otomatis - Dukungan: Mentor memberi satu contoh kecil, lalu siswa memprediksi, mencoba variasi, dan menjelaskan hasil. Pada Lanjutan, gunakan pertanyaan serta petunjuk bertahap; periksa fondasi sebelum GUI. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan uji simpan dan buka ulang; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-smp-pemula-S47-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pengujian dan revisi · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 5 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 15 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Jalankan dua kali dengan data sintetis berbeda Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan uji simpan dan buka ulang; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 14–22 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 48: Presentasi: Catatan Uang Saku - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan presentasi uang saku - Demo: Di VS Code, peragakan contoh minimum untuk Demonstrasikan saldo dan jelaskan lokasi data. Minta prediksi sebelum menjalankan dan bandingkan dengan readme memuat cara simpan serta pemulihan - Praktik: Demonstrasikan saldo dan jelaskan lokasi data Kerjakan perubahan di Visual Studio Code (VS Code); serahkan sumber .py dan folder proyek, README, data sintetis, serta tabel hasil uji, dan catatan uji. - Uji/revisi: README memuat cara simpan serta pemulihan - Kesalahan latihan: JSON rusak disamakan dengan daftar kosong lalu disimpan otomatis - Dukungan: Mentor memberi satu contoh kecil, lalu siswa memprediksi, mencoba variasi, dan menjelaskan hasil. Pada Lanjutan, gunakan pertanyaan serta petunjuk bertahap; periksa fondasi sebelum GUI. - Pengayaan: Pilih satu masukan yang berguna, revisi bagian terkait dan tunjukkan hasil uji ulang; tidak perlu menambah fitur baru. - Bukti/refleksi: python-smp-pemula-S48-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Presentasi karya · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 3 menit → Persiapan sumber 2 menit → Demonstrasi siswa 24 menit → Pertanyaan dan umpan balik 21 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Demonstrasikan saldo dan jelaskan lokasi data Kerjakan perubahan di Visual Studio Code (VS Code); serahkan sumber .py dan folder proyek, README, data sintetis, serta tabel hasil uji, dan catatan uji. Bukti pemahaman: Tunjukkan satu bagian yang dibuat sendiri, satu keputusan dan satu perbaikan; jawab satu pertanyaan menggunakan sumber karya. Pengayaan: Pilih satu masukan yang berguna, revisi bagian terkait dan tunjukkan hasil uji ulang; tidak perlu menambah fitur baru. Blok demonstrasi kelas: 19–24 menit. Blok seluruh giliran demonstrasi kelas; bukan waktu bicara per siswa. Umpan balik mempunyai slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Presentasi bergiliran: 4 menit/siswa; kapasitas rencana 4 siswa, 4 menit pergantian. Grup 1–4 siswa: gunakan sisa blok untuk latihan penjelasan atau pertanyaan singkat; tidak perlu memperpanjang bicara demi mengisi waktu. Private menggunakan varian tersendiri. Varian private (satu siswa): Pembuka dan cek bekal 5 menit → Konsep dan demo 3 menit → Persiapan sumber 2 menit → Demonstrasi siswa 15 menit → Pertanyaan dan umpan balik 30 menit → Simpan, refleksi dan cadangan waktu 5 menit. Blok 15 menit: sekitar 5 menit demonstrasi dan 10 menit penjelasan/probe; 30 menit uji, masukan dan revisi. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. ### Proyek 4: Pengatur Tugas Sekolah (sesi 49–64) Aplikasi terminal dengan tambah, cari, tandai selesai, ringkasan, serta JSON. Tool proyek: Visual Studio Code (VS Code). Sumber: .py dan folder proyek. Hasil: README, data sintetis, serta tabel hasil uji. Contoh pengerjaan: Gunakan tiga tugas dengan ID 1,2,3. Awalnya satu selesai dari tiga; tandai ID 3 sehingga dua selesai dari tiga tanpa menambah data. Buat fungsi pencarian yang mengembalikan tugas atau None. Antarmuka tetap terminal; GUI belum menjadi syarat. Hasil minimum: Aplikasi terminal dengan tambah, cari, tandai selesai, ringkasan, serta JSON. Pengayaan: Setelah hasil minimum lolos, buat satu variasi aturan atau data pada proyek Pengatur Tugas Sekolah dan bandingkan hasilnya; jangan menambah banyak fitur sekaligus. Transfer: Gunakan tema atau data baru pada Pengatur Tugas Sekolah tanpa menyalin urutan contoh; jelaskan bagian yang berubah dan perbaiki satu kesalahan. Kesiapan lanjut: Lanjut jika hasil minimum dapat diulang, satu perubahan baru dapat dikerjakan, dan siswa menjelaskan satu perbaikan. Catat bentuk bantuan; bila belum siap, ulangi keterampilan yang belum tampak sebelum menambah konsep. #### Sesi 49: Brief pengguna tugas - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan brief pengguna tugas - Demo: Siapkan VS Code, Python 3, ekstensi Python dan Python Debugger dari Microsoft. Pilih Python: Select Interpreter, jalankan file .py pada terminal terintegrasi, lalu uji satu breakpoint. Simpan seluruh sumber dan data sintetis dalam satu folder proyek. Di VS Code, peragakan contoh minimum untuk Tulis tiga aktivitas pengguna dan batas fitur. Minta prediksi sebelum menjalankan dan bandingkan dengan kriteria selesai dapat diuji - Praktik: Tulis tiga aktivitas pengguna dan batas fitur - Uji/revisi: Kriteria selesai dapat diuji - Kesalahan latihan: Indeks hasil pencarian dianggap ID data utama - Dukungan: Mentor memberi satu contoh kecil, lalu siswa memprediksi, mencoba variasi, dan menjelaskan hasil. Pada Lanjutan, gunakan pertanyaan serta petunjuk bertahap; periksa fondasi sebelum GUI. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan brief pengguna tugas; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-smp-pemula-S49-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Latihan kecil atau sumber awal proyek ini; tidak mengasumsikan proyek akhir sudah jadi. Minimum: Tulis tiga aktivitas pengguna dan batas fitur Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan brief pengguna tugas; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 50: Sketsa menu terminal - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan sketsa menu terminal - Demo: Di VS Code, peragakan contoh minimum untuk Gambar alur tambah, cari, selesai, dan keluar. Minta prediksi sebelum menjalankan dan bandingkan dengan setiap menu mempunyai jalan kembali - Praktik: Gambar alur tambah, cari, selesai, dan keluar - Uji/revisi: Setiap menu mempunyai jalan kembali - Kesalahan latihan: Indeks hasil pencarian dianggap ID data utama - Dukungan: Mentor memberi satu contoh kecil, lalu siswa memprediksi, mencoba variasi, dan menjelaskan hasil. Pada Lanjutan, gunakan pertanyaan serta petunjuk bertahap; periksa fondasi sebelum GUI. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan sketsa menu terminal; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-smp-pemula-S50-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Gambar alur tambah, cari, selesai, dan keluar Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan sketsa menu terminal; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 51: Model ID dan status - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan model id dan status - Demo: Di VS Code, peragakan contoh minimum untuk Buat dictionary tugas dengan ID unik serta boolean. Minta prediksi sebelum menjalankan dan bandingkan dengan dua tugas berjudul sama tetap dibedakan - Praktik: Buat dictionary tugas dengan ID unik serta boolean - Uji/revisi: Dua tugas berjudul sama tetap dibedakan - Kesalahan latihan: Indeks hasil pencarian dianggap ID data utama - Dukungan: Mentor memberi satu contoh kecil, lalu siswa memprediksi, mencoba variasi, dan menjelaskan hasil. Pada Lanjutan, gunakan pertanyaan serta petunjuk bertahap; periksa fondasi sebelum GUI. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan model id dan status; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-smp-pemula-S51-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Buat dictionary tugas dengan ID unik serta boolean Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan model id dan status; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 52: Fungsi pencarian - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan fungsi pencarian - Demo: Di VS Code, peragakan contoh minimum untuk Cari tugas dari ID dan tangani None. Minta prediksi sebelum menjalankan dan bandingkan dengan id salah tidak mengubah tugas lain - Praktik: Cari tugas dari ID dan tangani None - Uji/revisi: ID salah tidak mengubah tugas lain - Kesalahan latihan: Indeks hasil pencarian dianggap ID data utama - Dukungan: Mentor memberi satu contoh kecil, lalu siswa memprediksi, mencoba variasi, dan menjelaskan hasil. Pada Lanjutan, gunakan pertanyaan serta petunjuk bertahap; periksa fondasi sebelum GUI. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan fungsi pencarian; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-smp-pemula-S52-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Cari tugas dari ID dan tangani None Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan fungsi pencarian; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 14–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 53: Tambah tervalidasi - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan tambah tervalidasi - Demo: Di VS Code, peragakan contoh minimum untuk Tolak judul kosong dan hasil strip kosong. Minta prediksi sebelum menjalankan dan bandingkan dengan satu input valid menambah satu tugas - Praktik: Tolak judul kosong dan hasil strip kosong - Uji/revisi: Satu input valid menambah satu tugas - Kesalahan latihan: Menandai selesai malah menambah tugas baru - Dukungan: Mentor memberi satu contoh kecil, lalu siswa memprediksi, mencoba variasi, dan menjelaskan hasil. Pada Lanjutan, gunakan pertanyaan serta petunjuk bertahap; periksa fondasi sebelum GUI. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan tambah tervalidasi; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-smp-pemula-S53-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Tolak judul kosong dan hasil strip kosong Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan tambah tervalidasi; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 54: Pencarian kata - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan pencarian kata - Demo: Di VS Code, peragakan contoh minimum untuk Bandingkan judul tanpa membedakan huruf besar. Minta prediksi sebelum menjalankan dan bandingkan dengan hasil kosong memiliki pesan jelas - Praktik: Bandingkan judul tanpa membedakan huruf besar - Uji/revisi: Hasil kosong memiliki pesan jelas - Kesalahan latihan: Menandai selesai malah menambah tugas baru - Dukungan: Mentor memberi satu contoh kecil, lalu siswa memprediksi, mencoba variasi, dan menjelaskan hasil. Pada Lanjutan, gunakan pertanyaan serta petunjuk bertahap; periksa fondasi sebelum GUI. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan pencarian kata; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-smp-pemula-S54-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Bandingkan judul tanpa membedakan huruf besar Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan pencarian kata; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 55: Tandai selesai - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan tandai selesai - Demo: Di VS Code, peragakan contoh minimum untuk Ubah boolean tugas yang dipilih. Minta prediksi sebelum menjalankan dan bandingkan dengan jumlah data tetap setelah status berubah - Praktik: Ubah boolean tugas yang dipilih - Uji/revisi: Jumlah data tetap setelah status berubah - Kesalahan latihan: Menandai selesai malah menambah tugas baru - Dukungan: Mentor memberi satu contoh kecil, lalu siswa memprediksi, mencoba variasi, dan menjelaskan hasil. Pada Lanjutan, gunakan pertanyaan serta petunjuk bertahap; periksa fondasi sebelum GUI. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan tandai selesai; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-smp-pemula-S55-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Ubah boolean tugas yang dipilih Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan tandai selesai; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 56: Ringkasan tugas - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan ringkasan tugas - Demo: Di VS Code, peragakan contoh minimum untuk Hitung selesai dan belum selesai dengan loop. Minta prediksi sebelum menjalankan dan bandingkan dengan contoh satu dari tiga dapat diverifikasi - Praktik: Hitung selesai dan belum selesai dengan loop - Uji/revisi: Contoh satu dari tiga dapat diverifikasi - Kesalahan latihan: Menandai selesai malah menambah tugas baru - Dukungan: Mentor memberi satu contoh kecil, lalu siswa memprediksi, mencoba variasi, dan menjelaskan hasil. Pada Lanjutan, gunakan pertanyaan serta petunjuk bertahap; periksa fondasi sebelum GUI. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan ringkasan tugas; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-smp-pemula-S56-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Hitung selesai dan belum selesai dengan loop Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan ringkasan tugas; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 57: Integrasi menu - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan integrasi menu - Demo: Di VS Code, peragakan contoh minimum untuk Hubungkan fungsi yang sudah diuji ke pilihan pengguna. Minta prediksi sebelum menjalankan dan bandingkan dengan keluar dari submenu tidak menutup aplikasi - Praktik: Hubungkan fungsi yang sudah diuji ke pilihan pengguna - Uji/revisi: Keluar dari submenu tidak menutup aplikasi - Kesalahan latihan: Data kosong tersimpan menimpa data yang belum dimuat - Dukungan: Mentor memberi satu contoh kecil, lalu siswa memprediksi, mencoba variasi, dan menjelaskan hasil. Pada Lanjutan, gunakan pertanyaan serta petunjuk bertahap; periksa fondasi sebelum GUI. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan integrasi menu; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-smp-pemula-S57-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Produksi · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 3 menit → Konsep dan demo 2 menit → Persiapan sumber 2 menit → Praktik 38 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Hubungkan fungsi yang sudah diuji ke pilihan pengguna Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan integrasi menu; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 30–35 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 58: Simpan JSON - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan simpan json - Demo: Di VS Code, peragakan contoh minimum untuk Simpan ID, judul, dan boolean dengan struktur tetap. Minta prediksi sebelum menjalankan dan bandingkan dengan sumber file dapat diperiksa - Praktik: Simpan ID, judul, dan boolean dengan struktur tetap - Uji/revisi: Sumber file dapat diperiksa - Kesalahan latihan: Data kosong tersimpan menimpa data yang belum dimuat - Dukungan: Mentor memberi satu contoh kecil, lalu siswa memprediksi, mencoba variasi, dan menjelaskan hasil. Pada Lanjutan, gunakan pertanyaan serta petunjuk bertahap; periksa fondasi sebelum GUI. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan simpan json; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-smp-pemula-S58-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Simpan ID, judul, dan boolean dengan struktur tetap Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan simpan json; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 59: Muat dan lanjutkan - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan muat dan lanjutkan - Demo: Di VS Code, peragakan contoh minimum untuk Muat data sebelum menambah tugas baru. Minta prediksi sebelum menjalankan dan bandingkan dengan id baru tidak bertabrakan dengan id lama - Praktik: Muat data sebelum menambah tugas baru - Uji/revisi: ID baru tidak bertabrakan dengan ID lama - Kesalahan latihan: Data kosong tersimpan menimpa data yang belum dimuat - Dukungan: Mentor memberi satu contoh kecil, lalu siswa memprediksi, mencoba variasi, dan menjelaskan hasil. Pada Lanjutan, gunakan pertanyaan serta petunjuk bertahap; periksa fondasi sebelum GUI. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan muat dan lanjutkan; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-smp-pemula-S59-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Muat data sebelum menambah tugas baru Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan muat dan lanjutkan; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 60: Pemulihan kesalahan - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan pemulihan kesalahan - Demo: Di VS Code, peragakan contoh minimum untuk Tangani input menu salah dan data rusak pada salinan. Minta prediksi sebelum menjalankan dan bandingkan dengan pesan jelas dan data asal tetap ada - Praktik: Tangani input menu salah dan data rusak pada salinan - Uji/revisi: Pesan jelas dan data asal tetap ada - Kesalahan latihan: Data kosong tersimpan menimpa data yang belum dimuat - Dukungan: Mentor memberi satu contoh kecil, lalu siswa memprediksi, mencoba variasi, dan menjelaskan hasil. Pada Lanjutan, gunakan pertanyaan serta petunjuk bertahap; periksa fondasi sebelum GUI. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan pemulihan kesalahan; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-smp-pemula-S60-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pengujian dan revisi · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 5 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 15 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Tangani input menu salah dan data rusak pada salinan Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan pemulihan kesalahan; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 14–22 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 61: Uji fungsi sederhana - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan uji fungsi sederhana - Demo: Di VS Code, peragakan contoh minimum untuk Bandingkan hasil fungsi dengan nilai harapan manual. Minta prediksi sebelum menjalankan dan bandingkan dengan benar dan salah dicatat terpisah - Praktik: Bandingkan hasil fungsi dengan nilai harapan manual - Uji/revisi: Benar dan salah dicatat terpisah - Kesalahan latihan: Kasus tugas tidak ditemukan membuat program berhenti - Dukungan: Mentor memberi satu contoh kecil, lalu siswa memprediksi, mencoba variasi, dan menjelaskan hasil. Pada Lanjutan, gunakan pertanyaan serta petunjuk bertahap; periksa fondasi sebelum GUI. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan uji fungsi sederhana; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-smp-pemula-S61-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pengujian dan revisi · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 5 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 15 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Bandingkan hasil fungsi dengan nilai harapan manual Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan uji fungsi sederhana; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 17–22 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 62: Uji pengguna - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan uji pengguna - Demo: Di VS Code, peragakan contoh minimum untuk Minta teman menambah, mencari, dan menyelesaikan tugas. Minta prediksi sebelum menjalankan dan bandingkan dengan kesulitan pengguna tercatat - Praktik: Minta teman menambah, mencari, dan menyelesaikan tugas - Uji/revisi: Kesulitan pengguna tercatat - Kesalahan latihan: Kasus tugas tidak ditemukan membuat program berhenti - Dukungan: Mentor memberi satu contoh kecil, lalu siswa memprediksi, mencoba variasi, dan menjelaskan hasil. Pada Lanjutan, gunakan pertanyaan serta petunjuk bertahap; periksa fondasi sebelum GUI. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan uji pengguna; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-smp-pemula-S62-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pengujian dan revisi · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 5 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 15 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Minta teman menambah, mencari, dan menyelesaikan tugas Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan uji pengguna; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 14–22 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 63: Revisi dan dokumentasi - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan revisi dan dokumentasi - Demo: Di VS Code, peragakan contoh minimum untuk Perbaiki satu masalah lalu ulangi skenario. Minta prediksi sebelum menjalankan dan bandingkan dengan readme cocok dengan aplikasi terakhir - Praktik: Perbaiki satu masalah lalu ulangi skenario - Uji/revisi: README cocok dengan aplikasi terakhir - Kesalahan latihan: Kasus tugas tidak ditemukan membuat program berhenti - Dukungan: Mentor memberi satu contoh kecil, lalu siswa memprediksi, mencoba variasi, dan menjelaskan hasil. Pada Lanjutan, gunakan pertanyaan serta petunjuk bertahap; periksa fondasi sebelum GUI. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan revisi dan dokumentasi; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-smp-pemula-S63-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pengujian dan revisi · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 5 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 15 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Perbaiki satu masalah lalu ulangi skenario Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan revisi dan dokumentasi; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 14–22 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 64: Presentasi: Pengatur Tugas Sekolah - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan presentasi tugas sekolah - Demo: Di VS Code, peragakan contoh minimum untuk Demonstrasikan aplikasi dari kondisi awal dan buka ulang. Minta prediksi sebelum menjalankan dan bandingkan dengan siswa menjelaskan fungsi serta bukti revisi - Praktik: Demonstrasikan aplikasi dari kondisi awal dan buka ulang Kerjakan perubahan di Visual Studio Code (VS Code); serahkan sumber .py dan folder proyek, README, data sintetis, serta tabel hasil uji, dan catatan uji. - Uji/revisi: Siswa menjelaskan fungsi serta bukti revisi - Kesalahan latihan: Kasus tugas tidak ditemukan membuat program berhenti - Dukungan: Mentor memberi satu contoh kecil, lalu siswa memprediksi, mencoba variasi, dan menjelaskan hasil. Pada Lanjutan, gunakan pertanyaan serta petunjuk bertahap; periksa fondasi sebelum GUI. - Pengayaan: Pilih satu masukan yang berguna, revisi bagian terkait dan tunjukkan hasil uji ulang; tidak perlu menambah fitur baru. - Bukti/refleksi: python-smp-pemula-S64-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Presentasi karya · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 3 menit → Persiapan sumber 2 menit → Demonstrasi siswa 24 menit → Pertanyaan dan umpan balik 21 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Demonstrasikan aplikasi dari kondisi awal dan buka ulang Kerjakan perubahan di Visual Studio Code (VS Code); serahkan sumber .py dan folder proyek, README, data sintetis, serta tabel hasil uji, dan catatan uji. Bukti pemahaman: Tunjukkan satu bagian yang dibuat sendiri, satu keputusan dan satu perbaikan; jawab satu pertanyaan menggunakan sumber karya. Pengayaan: Pilih satu masukan yang berguna, revisi bagian terkait dan tunjukkan hasil uji ulang; tidak perlu menambah fitur baru. Blok demonstrasi kelas: 19–24 menit. Blok seluruh giliran demonstrasi kelas; bukan waktu bicara per siswa. Umpan balik mempunyai slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Presentasi bergiliran: 4 menit/siswa; kapasitas rencana 4 siswa, 4 menit pergantian. Grup 1–4 siswa: gunakan sisa blok untuk latihan penjelasan atau pertanyaan singkat; tidak perlu memperpanjang bicara demi mengisi waktu. Private menggunakan varian tersendiri. Varian private (satu siswa): Pembuka dan cek bekal 5 menit → Konsep dan demo 3 menit → Persiapan sumber 2 menit → Demonstrasi siswa 15 menit → Pertanyaan dan umpan balik 30 menit → Simpan, refleksi dan cadangan waktu 5 menit. Blok 15 menit: sekitar 5 menit demonstrasi dan 10 menit penjelasan/probe; 30 menit uji, masukan dan revisi. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. ## SMP · Lanjutan Prasyarat: Dapat membaca input, memakai kondisi dan loop, menulis fungsi berparameter dengan return, mengolah list/dictionary, serta menyimpan dan memuat JSON. Audit dua sesi awal memberi penguatan terarah. Batas tugas: 64 sesi × 1 jam; rekomendasi berbasis aturan dan simulasi satu loket, kemudian kalkulator serta pelacak kebiasaan satu jendela. Data 3–10 entri, assert fungsi sederhana, JSON lokal; tanpa database, akun, atau backtracking wajib. Semua file dibuka sebagai satu folder proyek di VS Code dengan interpreter terpilih, terminal terintegrasi, serta debugger. Pendampingan: Mentor memberi satu contoh kecil, lalu siswa memprediksi, mencoba variasi, dan menjelaskan hasil. Pada Lanjutan, gunakan pertanyaan serta petunjuk bertahap; periksa fondasi sebelum GUI. ### Proyek 1: Mesin Rekomendasi Buku (sesi 1–16) Pemberi rekomendasi terminal yang menjelaskan skor dari preferensi pengguna. Tool proyek: Visual Studio Code (VS Code). Sumber: .py dan folder proyek. Hasil: README, data sintetis, serta tabel hasil uji. Tantangan baru: Fondasi fungsi dan data dipakai untuk merancang keputusan yang dapat dijelaskan, bukan mengulang kuis atau menambah menu pada proyek Pemula. Keputusan siswa: Tetapkan bobot serta aturan hasil seri. Pilih respons ketika semua buku gagal filter. Uji perubahan brief: Penguji mengganti bobot serta satu larangan; prediksi dan buktikan urutan baru tanpa mengubah fungsi inti. Contoh pengerjaan: Buku A petualangan singkat, B sains panjang, C petualangan panjang. Bobot genre 2 dan singkat 1 memberi A=3,C=2,B=0 sebelum filter. Mulai dari list kecil, baru CSV. Assert memeriksa fungsi tanpa input; unittest bukan prasyarat SMP. Hasil minimum: Pemberi rekomendasi terminal yang menjelaskan skor dari preferensi pengguna. Pengayaan: Setelah hasil minimum lolos, buat satu variasi aturan atau data pada proyek Mesin Rekomendasi Buku dan bandingkan hasilnya; jangan menambah banyak fitur sekaligus. Transfer: Mentor mengubah satu aturan atau data pada Mesin Rekomendasi Buku. Siswa memprediksi akibat, memilih bagian yang perlu diubah, dan menyusun satu uji baru. Kesiapan lanjut: Lanjut jika hasil minimum dapat diulang, satu perubahan baru dapat dikerjakan, dan siswa menjelaskan satu perbaikan. Catat bentuk bantuan; bila belum siap, ulangi keterampilan yang belum tampak sebelum menambah konsep. #### Sesi 1: Audit fungsi dan data - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan audit fungsi dan data - Demo: Siapkan VS Code, Python 3, ekstensi Python dan Python Debugger dari Microsoft. Pilih Python: Select Interpreter, jalankan file .py pada terminal terintegrasi, lalu uji satu breakpoint. Simpan seluruh sumber dan data sintetis dalam satu folder proyek. Di VS Code, peragakan contoh minimum untuk Telusuri fungsi berparameter pada tiga buku. Minta prediksi sebelum menjalankan dan bandingkan dengan bekal fungsi serta dictionary dapat dijelaskan - Praktik: Telusuri fungsi berparameter pada tiga buku - Uji/revisi: Bekal fungsi serta dictionary dapat dijelaskan - Kesalahan latihan: Syarat wajib diperlakukan sebagai bonus skor - Dukungan: Mentor memberi satu contoh kecil, lalu siswa memprediksi, mencoba variasi, dan menjelaskan hasil. Pada Lanjutan, gunakan pertanyaan serta petunjuk bertahap; periksa fondasi sebelum GUI. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan audit fungsi dan data; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-smp-lanjutan-S01-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Orientasi alat · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 10 menit → Praktik 20 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Sumber latihan baru; perangkat siap sebelum kelas. Minimum: Telusuri fungsi berparameter pada tiga buku Bukti pemahaman: Tutup lalu buka kembali sumber, ulangi satu tindakan tanpa mengikuti klik mentor dan jelaskan apa yang berubah. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan audit fungsi dan data; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 5–10 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 2: Peta preferensi pembaca - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan peta preferensi pembaca - Demo: Di VS Code, peragakan contoh minimum untuk Bedakan syarat wajib dan preferensi bernilai. Minta prediksi sebelum menjalankan dan bandingkan dengan contoh buku terlarang tidak lolos filter - Praktik: Bedakan syarat wajib dan preferensi bernilai - Uji/revisi: Contoh buku terlarang tidak lolos filter - Kesalahan latihan: Syarat wajib diperlakukan sebagai bonus skor - Dukungan: Mentor memberi satu contoh kecil, lalu siswa memprediksi, mencoba variasi, dan menjelaskan hasil. Pada Lanjutan, gunakan pertanyaan serta petunjuk bertahap; periksa fondasi sebelum GUI. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan peta preferensi pembaca; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-smp-lanjutan-S02-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Bedakan syarat wajib dan preferensi bernilai Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan peta preferensi pembaca; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 3: Aturan skor manual - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan aturan skor manual - Demo: Di VS Code, peragakan contoh minimum untuk Hitung skor tiga buku pada kertas. Minta prediksi sebelum menjalankan dan bandingkan dengan a=3,c=2,b=0 pada konfigurasi contoh - Praktik: Hitung skor tiga buku pada kertas - Uji/revisi: A=3,C=2,B=0 pada konfigurasi contoh - Kesalahan latihan: Syarat wajib diperlakukan sebagai bonus skor - Dukungan: Mentor memberi satu contoh kecil, lalu siswa memprediksi, mencoba variasi, dan menjelaskan hasil. Pada Lanjutan, gunakan pertanyaan serta petunjuk bertahap; periksa fondasi sebelum GUI. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan aturan skor manual; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-smp-lanjutan-S03-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Hitung skor tiga buku pada kertas Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan aturan skor manual; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 4: Fungsi skor murni - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan fungsi skor murni - Demo: Di VS Code, peragakan contoh minimum untuk Kembalikan angka serta alasan tanpa input terminal. Minta prediksi sebelum menjalankan dan bandingkan dengan dua pemanggilan memberi hasil sama - Praktik: Kembalikan angka serta alasan tanpa input terminal - Uji/revisi: Dua pemanggilan memberi hasil sama - Kesalahan latihan: Syarat wajib diperlakukan sebagai bonus skor - Dukungan: Mentor memberi satu contoh kecil, lalu siswa memprediksi, mencoba variasi, dan menjelaskan hasil. Pada Lanjutan, gunakan pertanyaan serta petunjuk bertahap; periksa fondasi sebelum GUI. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan fungsi skor murni; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-smp-lanjutan-S04-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Kembalikan angka serta alasan tanpa input terminal Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan fungsi skor murni; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 14–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 5: Filter buku - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan filter buku - Demo: Di VS Code, peragakan contoh minimum untuk Pilih buku yang memenuhi syarat wajib. Minta prediksi sebelum menjalankan dan bandingkan dengan skor tinggi tidak meniadakan larangan - Praktik: Pilih buku yang memenuhi syarat wajib - Uji/revisi: Skor tinggi tidak meniadakan larangan - Kesalahan latihan: Pemecah seri berubah antarputaran - Dukungan: Mentor memberi satu contoh kecil, lalu siswa memprediksi, mencoba variasi, dan menjelaskan hasil. Pada Lanjutan, gunakan pertanyaan serta petunjuk bertahap; periksa fondasi sebelum GUI. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan filter buku; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-smp-lanjutan-S05-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Pilih buku yang memenuhi syarat wajib Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan filter buku; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 6: sorted() dan key - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan sorted() dan key - Demo: Di VS Code, peragakan contoh minimum untuk Urutkan salinan berdasarkan skor. Minta prediksi sebelum menjalankan dan bandingkan dengan list asal tidak berubah - Praktik: Urutkan salinan berdasarkan skor - Uji/revisi: List asal tidak berubah - Kesalahan latihan: Pemecah seri berubah antarputaran - Dukungan: Mentor memberi satu contoh kecil, lalu siswa memprediksi, mencoba variasi, dan menjelaskan hasil. Pada Lanjutan, gunakan pertanyaan serta petunjuk bertahap; periksa fondasi sebelum GUI. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan sorted() dan key; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-smp-lanjutan-S06-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Urutkan salinan berdasarkan skor Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan sorted() dan key; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 7: Hasil seri dan ID - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan hasil seri dan id - Demo: Di VS Code, peragakan contoh minimum untuk Tetapkan ID sebagai pemecah skor sama. Minta prediksi sebelum menjalankan dan bandingkan dengan urutan seri dapat diprediksi - Praktik: Tetapkan ID sebagai pemecah skor sama - Uji/revisi: Urutan seri dapat diprediksi - Kesalahan latihan: Pemecah seri berubah antarputaran - Dukungan: Mentor memberi satu contoh kecil, lalu siswa memprediksi, mencoba variasi, dan menjelaskan hasil. Pada Lanjutan, gunakan pertanyaan serta petunjuk bertahap; periksa fondasi sebelum GUI. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan hasil seri dan id; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-smp-lanjutan-S07-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Tetapkan ID sebagai pemecah skor sama Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan hasil seri dan id; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 8: Hasil tanpa kandidat - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan hasil tanpa kandidat - Demo: Di VS Code, peragakan contoh minimum untuk Tangani semua buku gagal filter. Minta prediksi sebelum menjalankan dan bandingkan dengan pesan jelas tanpa mengakses elemen pertama - Praktik: Tangani semua buku gagal filter - Uji/revisi: Pesan jelas tanpa mengakses elemen pertama - Kesalahan latihan: Pemecah seri berubah antarputaran - Dukungan: Mentor memberi satu contoh kecil, lalu siswa memprediksi, mencoba variasi, dan menjelaskan hasil. Pada Lanjutan, gunakan pertanyaan serta petunjuk bertahap; periksa fondasi sebelum GUI. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan hasil tanpa kandidat; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-smp-lanjutan-S08-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Tangani semua buku gagal filter Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan hasil tanpa kandidat; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 9: Format CSV dan header - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan format csv dan header - Demo: Di VS Code, peragakan contoh minimum untuk Baca CSV sintetis menggunakan csv.DictReader. Minta prediksi sebelum menjalankan dan bandingkan dengan setiap kolom dikenali dari header - Praktik: Baca CSV sintetis menggunakan csv.DictReader - Uji/revisi: Setiap kolom dikenali dari header - Kesalahan latihan: Angka CSV dibandingkan sebagai teks - Dukungan: Mentor memberi satu contoh kecil, lalu siswa memprediksi, mencoba variasi, dan menjelaskan hasil. Pada Lanjutan, gunakan pertanyaan serta petunjuk bertahap; periksa fondasi sebelum GUI. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan format csv dan header; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-smp-lanjutan-S09-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Baca CSV sintetis menggunakan csv.DictReader Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan format csv dan header; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 10: Konversi field CSV - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan konversi field csv - Demo: Di VS Code, peragakan contoh minimum untuk Konversi panjang halaman dan tangani nilai kosong. Minta prediksi sebelum menjalankan dan bandingkan dengan teks salah tidak lolos sebagai angka - Praktik: Konversi panjang halaman dan tangani nilai kosong - Uji/revisi: Teks salah tidak lolos sebagai angka - Kesalahan latihan: Angka CSV dibandingkan sebagai teks - Dukungan: Mentor memberi satu contoh kecil, lalu siswa memprediksi, mencoba variasi, dan menjelaskan hasil. Pada Lanjutan, gunakan pertanyaan serta petunjuk bertahap; periksa fondasi sebelum GUI. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan konversi field csv; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-smp-lanjutan-S10-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Konversi panjang halaman dan tangani nilai kosong Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan konversi field csv; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 11: Assert pada fungsi - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan assert pada fungsi - Demo: Di VS Code, peragakan contoh minimum untuk Tulis assert untuk skor, filter, dan hasil seri. Minta prediksi sebelum menjalankan dan bandingkan dengan satu kesalahan sengaja membuat assert gagal - Praktik: Tulis assert untuk skor, filter, dan hasil seri - Uji/revisi: Satu kesalahan sengaja membuat assert gagal - Kesalahan latihan: Angka CSV dibandingkan sebagai teks - Dukungan: Mentor memberi satu contoh kecil, lalu siswa memprediksi, mencoba variasi, dan menjelaskan hasil. Pada Lanjutan, gunakan pertanyaan serta petunjuk bertahap; periksa fondasi sebelum GUI. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan assert pada fungsi; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-smp-lanjutan-S11-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Tulis assert untuk skor, filter, dan hasil seri Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan assert pada fungsi; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 14–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 12: Parsing dan logika - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan parsing dan logika - Demo: Di VS Code, peragakan contoh minimum untuk Pisahkan pembaca CSV dari fungsi rekomendasi. Minta prediksi sebelum menjalankan dan bandingkan dengan fungsi diuji tanpa membaca file - Praktik: Pisahkan pembaca CSV dari fungsi rekomendasi - Uji/revisi: Fungsi diuji tanpa membaca file - Kesalahan latihan: Angka CSV dibandingkan sebagai teks - Dukungan: Mentor memberi satu contoh kecil, lalu siswa memprediksi, mencoba variasi, dan menjelaskan hasil. Pada Lanjutan, gunakan pertanyaan serta petunjuk bertahap; periksa fondasi sebelum GUI. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan parsing dan logika; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-smp-lanjutan-S12-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Pisahkan pembaca CSV dari fungsi rekomendasi Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan parsing dan logika; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 13: Preferensi kosong - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan preferensi kosong - Demo: Di VS Code, peragakan contoh minimum untuk Tetapkan hasil saat tidak ada preferensi. Minta prediksi sebelum menjalankan dan bandingkan dengan aturan tertulis cocok dengan keluaran - Praktik: Tetapkan hasil saat tidak ada preferensi - Uji/revisi: Aturan tertulis cocok dengan keluaran - Kesalahan latihan: Fungsi mengubah data sumber tanpa sengaja - Dukungan: Mentor memberi satu contoh kecil, lalu siswa memprediksi, mencoba variasi, dan menjelaskan hasil. Pada Lanjutan, gunakan pertanyaan serta petunjuk bertahap; periksa fondasi sebelum GUI. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan preferensi kosong; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-smp-lanjutan-S13-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Tetapkan hasil saat tidak ada preferensi Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan preferensi kosong; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 14: Eksperimen bobot - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan eksperimen bobot - Demo: Di VS Code, peragakan contoh minimum untuk Ubah satu bobot dan prediksi urutan baru. Minta prediksi sebelum menjalankan dan bandingkan dengan perubahan dapat ditelusuri - Praktik: Ubah satu bobot dan prediksi urutan baru - Uji/revisi: Perubahan dapat ditelusuri - Kesalahan latihan: Fungsi mengubah data sumber tanpa sengaja - Dukungan: Mentor memberi satu contoh kecil, lalu siswa memprediksi, mencoba variasi, dan menjelaskan hasil. Pada Lanjutan, gunakan pertanyaan serta petunjuk bertahap; periksa fondasi sebelum GUI. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan eksperimen bobot; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-smp-lanjutan-S14-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Ubah satu bobot dan prediksi urutan baru Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan eksperimen bobot; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 15: Uji pembaca baru - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan uji pembaca baru - Demo: Di VS Code, peragakan contoh minimum untuk Minta teman memberi preferensi berbeda. Minta prediksi sebelum menjalankan dan bandingkan dengan hasil diverifikasi dengan hitungan manual - Praktik: Minta teman memberi preferensi berbeda - Uji/revisi: Hasil diverifikasi dengan hitungan manual - Kesalahan latihan: Fungsi mengubah data sumber tanpa sengaja - Dukungan: Mentor memberi satu contoh kecil, lalu siswa memprediksi, mencoba variasi, dan menjelaskan hasil. Pada Lanjutan, gunakan pertanyaan serta petunjuk bertahap; periksa fondasi sebelum GUI. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan uji pembaca baru; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-smp-lanjutan-S15-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pengujian dan revisi · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 5 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 15 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Minta teman memberi preferensi berbeda Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan uji pembaca baru; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 14–22 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 16: Presentasi: Mesin Rekomendasi Buku - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan presentasi rekomendasi - Demo: Di VS Code, peragakan contoh minimum untuk Jelaskan aturan dan demonstrasikan brief baru. Minta prediksi sebelum menjalankan dan bandingkan dengan alasan hasil tidak mengklaim model ai - Praktik: Jelaskan aturan dan demonstrasikan brief baru Penguji mengganti bobot serta satu larangan; prediksi dan buktikan urutan baru tanpa mengubah fungsi inti. Kerjakan perubahan di Visual Studio Code (VS Code); serahkan sumber .py dan folder proyek, README, data sintetis, serta tabel hasil uji, dan catatan uji. - Uji/revisi: Alasan hasil tidak mengklaim model AI - Kesalahan latihan: Fungsi mengubah data sumber tanpa sengaja - Dukungan: Mentor memberi satu contoh kecil, lalu siswa memprediksi, mencoba variasi, dan menjelaskan hasil. Pada Lanjutan, gunakan pertanyaan serta petunjuk bertahap; periksa fondasi sebelum GUI. - Pengayaan: Pilih satu masukan yang berguna, revisi bagian terkait dan tunjukkan hasil uji ulang; tidak perlu menambah fitur baru. - Bukti/refleksi: python-smp-lanjutan-S16-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Presentasi karya · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 3 menit → Persiapan sumber 2 menit → Demonstrasi siswa 24 menit → Pertanyaan dan umpan balik 21 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Jelaskan aturan dan demonstrasikan brief baru Penguji mengganti bobot serta satu larangan; prediksi dan buktikan urutan baru tanpa mengubah fungsi inti. Kerjakan perubahan di Visual Studio Code (VS Code); serahkan sumber .py dan folder proyek, README, data sintetis, serta tabel hasil uji, dan catatan uji. Bukti pemahaman: Tunjukkan satu bagian yang dibuat sendiri, satu keputusan dan satu perbaikan; jawab satu pertanyaan menggunakan sumber karya. Pengayaan: Pilih satu masukan yang berguna, revisi bagian terkait dan tunjukkan hasil uji ulang; tidak perlu menambah fitur baru. Blok demonstrasi kelas: 19–24 menit. Blok seluruh giliran demonstrasi kelas; bukan waktu bicara per siswa. Umpan balik mempunyai slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Presentasi bergiliran: 4 menit/siswa; kapasitas rencana 4 siswa, 4 menit pergantian. Grup 1–4 siswa: gunakan sisa blok untuk latihan penjelasan atau pertanyaan singkat; tidak perlu memperpanjang bicara demi mengisi waktu. Private menggunakan varian tersendiri. Varian private (satu siswa): Pembuka dan cek bekal 5 menit → Konsep dan demo 3 menit → Persiapan sumber 2 menit → Demonstrasi siswa 15 menit → Pertanyaan dan umpan balik 30 menit → Simpan, refleksi dan cadangan waktu 5 menit. Blok 15 menit: sekitar 5 menit demonstrasi dan 10 menit penjelasan/probe; 30 menit uji, masukan dan revisi. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. ### Proyek 2: Simulator Antrean Sederhana (sesi 17–32) Simulator satu loket yang menghitung waktu mulai, selesai, dan tunggu dari data sintetis. Tool proyek: Visual Studio Code (VS Code). Sumber: .py dan folder proyek. Hasil: README, data sintetis, serta tabel hasil uji. Tantangan baru: Siswa membangun model perubahan waktu dan membandingkan skenario, berbeda dari pencatatan transaksi atau daftar tugas pada program Pemula. Keputusan siswa: Tentukan pemecah seri kedatangan. Pilih satu parameter layanan untuk dibandingkan. Uji perubahan brief: Mentor memberikan satu pengunjung datang saat loket menganggur; hitung manual lalu buktikan waktu tunggu dan selesai. Contoh pengerjaan: Kedatangan 0,1,4 dan durasi 4,2,1 menghasilkan mulai 0,4,6, selesai 4,6,7, serta tunggu 0,3,2. Mulai dengan satu loket; beberapa loket menjadi pengayaan setelah target inti. Simulasi angka, bukan GUI bergerak. Hasil minimum: Simulator satu loket yang menghitung waktu mulai, selesai, dan tunggu dari data sintetis. Pengayaan: Setelah hasil minimum lolos, buat satu variasi aturan atau data pada proyek Simulator Antrean Sederhana dan bandingkan hasilnya; jangan menambah banyak fitur sekaligus. Transfer: Mentor mengubah satu aturan atau data pada Simulator Antrean Sederhana. Siswa memprediksi akibat, memilih bagian yang perlu diubah, dan menyusun satu uji baru. Kesiapan lanjut: Lanjut jika hasil minimum dapat diulang, satu perubahan baru dapat dikerjakan, dan siswa menjelaskan satu perbaikan. Catat bentuk bantuan; bila belum siap, ulangi keterampilan yang belum tampak sebelum menambah konsep. #### Sesi 17: Brief satu loket - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan brief satu loket - Demo: Siapkan VS Code, Python 3, ekstensi Python dan Python Debugger dari Microsoft. Pilih Python: Select Interpreter, jalankan file .py pada terminal terintegrasi, lalu uji satu breakpoint. Simpan seluruh sumber dan data sintetis dalam satu folder proyek. Di VS Code, peragakan contoh minimum untuk Tuliskan asumsi FIFO serta satuan menit. Minta prediksi sebelum menjalankan dan bandingkan dengan aturan antrean tidak berubah saat diuji - Praktik: Tuliskan asumsi FIFO serta satuan menit - Uji/revisi: Aturan antrean tidak berubah saat diuji - Kesalahan latihan: Durasi layanan disamakan dengan waktu selesai - Dukungan: Mentor memberi satu contoh kecil, lalu siswa memprediksi, mencoba variasi, dan menjelaskan hasil. Pada Lanjutan, gunakan pertanyaan serta petunjuk bertahap; periksa fondasi sebelum GUI. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan brief satu loket; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-smp-lanjutan-S17-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Latihan kecil atau sumber awal proyek ini; tidak mengasumsikan proyek akhir sudah jadi. Minimum: Tuliskan asumsi FIFO serta satuan menit Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan brief satu loket; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 18: Data kedatangan - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan data kedatangan - Demo: Di VS Code, peragakan contoh minimum untuk Modelkan ID, datang, dan durasi tiga pengunjung. Minta prediksi sebelum menjalankan dan bandingkan dengan semua durasi positif - Praktik: Modelkan ID, datang, dan durasi tiga pengunjung - Uji/revisi: Semua durasi positif - Kesalahan latihan: Durasi layanan disamakan dengan waktu selesai - Dukungan: Mentor memberi satu contoh kecil, lalu siswa memprediksi, mencoba variasi, dan menjelaskan hasil. Pada Lanjutan, gunakan pertanyaan serta petunjuk bertahap; periksa fondasi sebelum GUI. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan data kedatangan; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-smp-lanjutan-S18-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Modelkan ID, datang, dan durasi tiga pengunjung Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan data kedatangan; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 19: Hitungan manual - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan hitungan manual - Demo: Di VS Code, peragakan contoh minimum untuk Buat tabel mulai, selesai, tunggu. Minta prediksi sebelum menjalankan dan bandingkan dengan tabel contoh menghasilkan tunggu 0,3,2 - Praktik: Buat tabel mulai, selesai, tunggu - Uji/revisi: Tabel contoh menghasilkan tunggu 0,3,2 - Kesalahan latihan: Durasi layanan disamakan dengan waktu selesai - Dukungan: Mentor memberi satu contoh kecil, lalu siswa memprediksi, mencoba variasi, dan menjelaskan hasil. Pada Lanjutan, gunakan pertanyaan serta petunjuk bertahap; periksa fondasi sebelum GUI. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan hitungan manual; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-smp-lanjutan-S19-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Buat tabel mulai, selesai, tunggu Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan hitungan manual; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 20: max() dan waktu mulai - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan max() dan waktu mulai - Demo: Di VS Code, peragakan contoh minimum untuk Hitung maksimum kedatangan dan loket tersedia. Minta prediksi sebelum menjalankan dan bandingkan dengan tidak melayani sebelum datang - Praktik: Hitung maksimum kedatangan dan loket tersedia - Uji/revisi: Tidak melayani sebelum datang - Kesalahan latihan: Durasi layanan disamakan dengan waktu selesai - Dukungan: Mentor memberi satu contoh kecil, lalu siswa memprediksi, mencoba variasi, dan menjelaskan hasil. Pada Lanjutan, gunakan pertanyaan serta petunjuk bertahap; periksa fondasi sebelum GUI. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan max() dan waktu mulai; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-smp-lanjutan-S20-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Hitung maksimum kedatangan dan loket tersedia Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan max() dan waktu mulai; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 21: Loop simulasi - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan loop simulasi - Demo: Di VS Code, peragakan contoh minimum untuk Perbarui waktu loket setelah setiap pengunjung. Minta prediksi sebelum menjalankan dan bandingkan dengan urutan hasil sesuai fifo - Praktik: Perbarui waktu loket setelah setiap pengunjung - Uji/revisi: Urutan hasil sesuai FIFO - Kesalahan latihan: Waktu mulai lebih kecil dari waktu kedatangan - Dukungan: Mentor memberi satu contoh kecil, lalu siswa memprediksi, mencoba variasi, dan menjelaskan hasil. Pada Lanjutan, gunakan pertanyaan serta petunjuk bertahap; periksa fondasi sebelum GUI. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan loop simulasi; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-smp-lanjutan-S21-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Perbarui waktu loket setelah setiap pengunjung Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan loop simulasi; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 22: Fungsi simulasi - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan fungsi simulasi - Demo: Di VS Code, peragakan contoh minimum untuk Pisahkan data masuk dan daftar hasil. Minta prediksi sebelum menjalankan dan bandingkan dengan data masukan tetap utuh - Praktik: Pisahkan data masuk dan daftar hasil - Uji/revisi: Data masukan tetap utuh - Kesalahan latihan: Waktu mulai lebih kecil dari waktu kedatangan - Dukungan: Mentor memberi satu contoh kecil, lalu siswa memprediksi, mencoba variasi, dan menjelaskan hasil. Pada Lanjutan, gunakan pertanyaan serta petunjuk bertahap; periksa fondasi sebelum GUI. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan fungsi simulasi; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-smp-lanjutan-S22-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Pisahkan data masuk dan daftar hasil Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan fungsi simulasi; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 14–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 23: Urutan dan seri - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan urutan dan seri - Demo: Di VS Code, peragakan contoh minimum untuk Urutkan salinan dengan ID untuk waktu datang sama. Minta prediksi sebelum menjalankan dan bandingkan dengan hasil seri deterministik - Praktik: Urutkan salinan dengan ID untuk waktu datang sama - Uji/revisi: Hasil seri deterministik - Kesalahan latihan: Waktu mulai lebih kecil dari waktu kedatangan - Dukungan: Mentor memberi satu contoh kecil, lalu siswa memprediksi, mencoba variasi, dan menjelaskan hasil. Pada Lanjutan, gunakan pertanyaan serta petunjuk bertahap; periksa fondasi sebelum GUI. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan urutan dan seri; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-smp-lanjutan-S23-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Urutkan salinan dengan ID untuk waktu datang sama Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan urutan dan seri; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 24: Rata-rata tunggu - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan rata-rata tunggu - Demo: Di VS Code, peragakan contoh minimum untuk Hitung jumlah tunggu dibagi jumlah pengunjung. Minta prediksi sebelum menjalankan dan bandingkan dengan contoh memberi 5/3 menit - Praktik: Hitung jumlah tunggu dibagi jumlah pengunjung - Uji/revisi: Contoh memberi 5/3 menit - Kesalahan latihan: Waktu mulai lebih kecil dari waktu kedatangan - Dukungan: Mentor memberi satu contoh kecil, lalu siswa memprediksi, mencoba variasi, dan menjelaskan hasil. Pada Lanjutan, gunakan pertanyaan serta petunjuk bertahap; periksa fondasi sebelum GUI. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan rata-rata tunggu; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-smp-lanjutan-S24-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Hitung jumlah tunggu dibagi jumlah pengunjung Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan rata-rata tunggu; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 25: Daftar kosong - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan daftar kosong - Demo: Di VS Code, peragakan contoh minimum untuk Tetapkan hasil kosong dan ringkasan nol. Minta prediksi sebelum menjalankan dan bandingkan dengan tidak terjadi pembagian nol - Praktik: Tetapkan hasil kosong dan ringkasan nol - Uji/revisi: Tidak terjadi pembagian nol - Kesalahan latihan: Rata-rata membagi nol pada daftar kosong - Dukungan: Mentor memberi satu contoh kecil, lalu siswa memprediksi, mencoba variasi, dan menjelaskan hasil. Pada Lanjutan, gunakan pertanyaan serta petunjuk bertahap; periksa fondasi sebelum GUI. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan daftar kosong; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-smp-lanjutan-S25-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Tetapkan hasil kosong dan ringkasan nol Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan daftar kosong; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 26: Durasi tidak valid - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan durasi tidak valid - Demo: Di VS Code, peragakan contoh minimum untuk Tolak nol, negatif, dan teks salah. Minta prediksi sebelum menjalankan dan bandingkan dengan data salah tidak menghasilkan jadwal palsu - Praktik: Tolak nol, negatif, dan teks salah - Uji/revisi: Data salah tidak menghasilkan jadwal palsu - Kesalahan latihan: Rata-rata membagi nol pada daftar kosong - Dukungan: Mentor memberi satu contoh kecil, lalu siswa memprediksi, mencoba variasi, dan menjelaskan hasil. Pada Lanjutan, gunakan pertanyaan serta petunjuk bertahap; periksa fondasi sebelum GUI. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan durasi tidak valid; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-smp-lanjutan-S26-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Tolak nol, negatif, dan teks salah Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan durasi tidak valid; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 27: Assert tabel hasil - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan assert tabel hasil - Demo: Di VS Code, peragakan contoh minimum untuk Periksa tiga waktu mulai dengan assert. Minta prediksi sebelum menjalankan dan bandingkan dengan kesalahan satu rumus terdeteksi - Praktik: Periksa tiga waktu mulai dengan assert - Uji/revisi: Kesalahan satu rumus terdeteksi - Kesalahan latihan: Rata-rata membagi nol pada daftar kosong - Dukungan: Mentor memberi satu contoh kecil, lalu siswa memprediksi, mencoba variasi, dan menjelaskan hasil. Pada Lanjutan, gunakan pertanyaan serta petunjuk bertahap; periksa fondasi sebelum GUI. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan assert tabel hasil; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-smp-lanjutan-S27-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Periksa tiga waktu mulai dengan assert Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan assert tabel hasil; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 28: Kasus loket menganggur - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan kasus loket menganggur - Demo: Di VS Code, peragakan contoh minimum untuk Tambahkan kedatangan jauh setelah layanan selesai. Minta prediksi sebelum menjalankan dan bandingkan dengan tunggu pengunjung tersebut nol - Praktik: Tambahkan kedatangan jauh setelah layanan selesai - Uji/revisi: Tunggu pengunjung tersebut nol - Kesalahan latihan: Rata-rata membagi nol pada daftar kosong - Dukungan: Mentor memberi satu contoh kecil, lalu siswa memprediksi, mencoba variasi, dan menjelaskan hasil. Pada Lanjutan, gunakan pertanyaan serta petunjuk bertahap; periksa fondasi sebelum GUI. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan kasus loket menganggur; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-smp-lanjutan-S28-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Tambahkan kedatangan jauh setelah layanan selesai Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan kasus loket menganggur; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 29: Konfigurasi baru - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan konfigurasi baru - Demo: Di VS Code, peragakan contoh minimum untuk Kurangi satu durasi dan prediksi perubahan. Minta prediksi sebelum menjalankan dan bandingkan dengan hanya akibat parameter baru yang dibandingkan - Praktik: Kurangi satu durasi dan prediksi perubahan - Uji/revisi: Hanya akibat parameter baru yang dibandingkan - Kesalahan latihan: Perbandingan memakai data awal yang berbeda - Dukungan: Mentor memberi satu contoh kecil, lalu siswa memprediksi, mencoba variasi, dan menjelaskan hasil. Pada Lanjutan, gunakan pertanyaan serta petunjuk bertahap; periksa fondasi sebelum GUI. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan konfigurasi baru; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-smp-lanjutan-S29-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Kurangi satu durasi dan prediksi perubahan Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan konfigurasi baru; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 30: Tabel perbandingan - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan tabel perbandingan - Demo: Di VS Code, peragakan contoh minimum untuk Sajikan dua hasil dari fungsi yang sama. Minta prediksi sebelum menjalankan dan bandingkan dengan perhitungan manual mendukung hasil - Praktik: Sajikan dua hasil dari fungsi yang sama - Uji/revisi: Perhitungan manual mendukung hasil - Kesalahan latihan: Perbandingan memakai data awal yang berbeda - Dukungan: Mentor memberi satu contoh kecil, lalu siswa memprediksi, mencoba variasi, dan menjelaskan hasil. Pada Lanjutan, gunakan pertanyaan serta petunjuk bertahap; periksa fondasi sebelum GUI. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan tabel perbandingan; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-smp-lanjutan-S30-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Sajikan dua hasil dari fungsi yang sama Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan tabel perbandingan; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 31: Batas model - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan batas model - Demo: Di VS Code, peragakan contoh minimum untuk Jelaskan tidak adanya prioritas dan kapasitas nyata. Minta prediksi sebelum menjalankan dan bandingkan dengan kesimpulan sesuai asumsi kecil - Praktik: Jelaskan tidak adanya prioritas dan kapasitas nyata - Uji/revisi: Kesimpulan sesuai asumsi kecil - Kesalahan latihan: Perbandingan memakai data awal yang berbeda - Dukungan: Mentor memberi satu contoh kecil, lalu siswa memprediksi, mencoba variasi, dan menjelaskan hasil. Pada Lanjutan, gunakan pertanyaan serta petunjuk bertahap; periksa fondasi sebelum GUI. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan batas model; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-smp-lanjutan-S31-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Jelaskan tidak adanya prioritas dan kapasitas nyata Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan batas model; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 32: Presentasi: Simulator Antrean Sederhana - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan presentasi simulator - Demo: Di VS Code, peragakan contoh minimum untuk Uji data kedatangan baru dari mentor. Minta prediksi sebelum menjalankan dan bandingkan dengan siswa menelusuri satu pengunjung hingga selesai - Praktik: Uji data kedatangan baru dari mentor Mentor memberikan satu pengunjung datang saat loket menganggur; hitung manual lalu buktikan waktu tunggu dan selesai. Kerjakan perubahan di Visual Studio Code (VS Code); serahkan sumber .py dan folder proyek, README, data sintetis, serta tabel hasil uji, dan catatan uji. - Uji/revisi: Siswa menelusuri satu pengunjung hingga selesai - Kesalahan latihan: Perbandingan memakai data awal yang berbeda - Dukungan: Mentor memberi satu contoh kecil, lalu siswa memprediksi, mencoba variasi, dan menjelaskan hasil. Pada Lanjutan, gunakan pertanyaan serta petunjuk bertahap; periksa fondasi sebelum GUI. - Pengayaan: Pilih satu masukan yang berguna, revisi bagian terkait dan tunjukkan hasil uji ulang; tidak perlu menambah fitur baru. - Bukti/refleksi: python-smp-lanjutan-S32-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Presentasi karya · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 3 menit → Persiapan sumber 2 menit → Demonstrasi siswa 24 menit → Pertanyaan dan umpan balik 21 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Uji data kedatangan baru dari mentor Mentor memberikan satu pengunjung datang saat loket menganggur; hitung manual lalu buktikan waktu tunggu dan selesai. Kerjakan perubahan di Visual Studio Code (VS Code); serahkan sumber .py dan folder proyek, README, data sintetis, serta tabel hasil uji, dan catatan uji. Bukti pemahaman: Tunjukkan satu bagian yang dibuat sendiri, satu keputusan dan satu perbaikan; jawab satu pertanyaan menggunakan sumber karya. Pengayaan: Pilih satu masukan yang berguna, revisi bagian terkait dan tunjukkan hasil uji ulang; tidak perlu menambah fitur baru. Blok demonstrasi kelas: 19–24 menit. Blok seluruh giliran demonstrasi kelas; bukan waktu bicara per siswa. Umpan balik mempunyai slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Presentasi bergiliran: 4 menit/siswa; kapasitas rencana 4 siswa, 4 menit pergantian. Grup 1–4 siswa: gunakan sisa blok untuk latihan penjelasan atau pertanyaan singkat; tidak perlu memperpanjang bicara demi mengisi waktu. Private menggunakan varian tersendiri. Varian private (satu siswa): Pembuka dan cek bekal 5 menit → Konsep dan demo 3 menit → Persiapan sumber 2 menit → Demonstrasi siswa 15 menit → Pertanyaan dan umpan balik 30 menit → Simpan, refleksi dan cadangan waktu 5 menit. Blok 15 menit: sekitar 5 menit demonstrasi dan 10 menit penjelasan/probe; 30 menit uji, masukan dan revisi. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. ### Proyek 3: Kalkulator Interaktif (sesi 33–48) Aplikasi satu jendela yang menghitung dua angka melalui input, tombol, dan label hasil. Tool proyek: Visual Studio Code (VS Code). Sumber: .py dan folder proyek. Hasil: README, data sintetis, serta tabel hasil uji. Tantangan baru: Logika fungsi dipakai melalui kejadian klik dan state tampilan; siswa mempelajari model aplikasi berjendela yang belum dipakai pada Pemula. Keputusan siswa: Pilih pesan untuk input kosong dan pembagian nol. Tentukan kapan hasil lama perlu dikosongkan. Uji perubahan brief: Penguji meminta angka desimal serta klik reset di tengah penggunaan; aplikasi harus tetap memberi hasil dan state yang benar. Contoh pengerjaan: Jalankan python -m tkinter sebelum kelas. Buat fungsi hitung(a,b,operasi), lalu callback membaca Entry, memvalidasi, memanggil fungsi, dan memperbarui label. Gunakan command=handler, bukan handler(). Uji 6+2=8 dan pembagian nol. Satu jendela, tanpa database. Hasil minimum: Aplikasi satu jendela yang menghitung dua angka melalui input, tombol, dan label hasil. Pengayaan: Setelah hasil minimum lolos, buat satu variasi aturan atau data pada proyek Kalkulator Interaktif dan bandingkan hasilnya; jangan menambah banyak fitur sekaligus. Transfer: Mentor mengubah satu aturan atau data pada Kalkulator Interaktif. Siswa memprediksi akibat, memilih bagian yang perlu diubah, dan menyusun satu uji baru. Kesiapan lanjut: Lanjut jika hasil minimum dapat diulang, satu perubahan baru dapat dikerjakan, dan siswa menjelaskan satu perbaikan. Catat bentuk bantuan; bila belum siap, ulangi keterampilan yang belum tampak sebelum menambah konsep. #### Sesi 33: Audit fungsi hitung - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan audit fungsi hitung - Demo: Siapkan VS Code, Python 3, ekstensi Python dan Python Debugger dari Microsoft. Pilih Python: Select Interpreter, jalankan file .py pada terminal terintegrasi, lalu uji satu breakpoint. Simpan seluruh sumber dan data sintetis dalam satu folder proyek. Untuk proyek GUI, jalankan python -m tkinter pada interpreter yang sama sebelum kelas. Jika modul Tkinter belum tersedia, pasang dukungan Tcl/Tk dari distribusi Python perangkat; konfirmasi jendela uji dapat dibuka dan ditutup. Di VS Code, peragakan contoh minimum untuk Buat fungsi tambah yang menerima dua angka. Minta prediksi sebelum menjalankan dan bandingkan dengan fungsi berjalan tanpa gui - Praktik: Buat fungsi tambah yang menerima dua angka - Uji/revisi: Fungsi berjalan tanpa GUI - Kesalahan latihan: while atau input() memblokir event loop - Dukungan: Mentor memberi satu contoh kecil, lalu siswa memprediksi, mencoba variasi, dan menjelaskan hasil. Pada Lanjutan, gunakan pertanyaan serta petunjuk bertahap; periksa fondasi sebelum GUI. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan audit fungsi hitung; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-smp-lanjutan-S33-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pengujian dan revisi · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 5 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 15 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Latihan kecil atau sumber awal proyek ini; tidak mengasumsikan proyek akhir sudah jadi. Minimum: Buat fungsi tambah yang menerima dua angka Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan audit fungsi hitung; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 17–22 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 34: Uji ketersediaan Tkinter - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan uji ketersediaan tkinter - Demo: Di VS Code, peragakan contoh minimum untuk Jalankan python -m tkinter dan catat hasil perangkat. Minta prediksi sebelum menjalankan dan bandingkan dengan jendela uji dapat dibuka dan ditutup - Praktik: Jalankan python -m tkinter dan catat hasil perangkat - Uji/revisi: Jendela uji dapat dibuka dan ditutup - Kesalahan latihan: while atau input() memblokir event loop - Dukungan: Mentor memberi satu contoh kecil, lalu siswa memprediksi, mencoba variasi, dan menjelaskan hasil. Pada Lanjutan, gunakan pertanyaan serta petunjuk bertahap; periksa fondasi sebelum GUI. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan uji ketersediaan tkinter; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-smp-lanjutan-S34-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Orientasi alat · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 10 menit → Praktik 20 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Jalankan python -m tkinter dan catat hasil perangkat Bukti pemahaman: Tutup lalu buka kembali sumber, ulangi satu tindakan tanpa mengikuti klik mentor dan jelaskan apa yang berubah. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan uji ketersediaan tkinter; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 5–10 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 35: Tk dan mainloop() - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan tk dan mainloop() - Demo: Di VS Code, peragakan contoh minimum untuk Buka satu jendela kosong lalu tutup melalui tombol sistem. Minta prediksi sebelum menjalankan dan bandingkan dengan hanya satu instance tk dibuat - Praktik: Buka satu jendela kosong lalu tutup melalui tombol sistem - Uji/revisi: Hanya satu instance Tk dibuat - Kesalahan latihan: while atau input() memblokir event loop - Dukungan: Mentor memberi satu contoh kecil, lalu siswa memprediksi, mencoba variasi, dan menjelaskan hasil. Pada Lanjutan, gunakan pertanyaan serta petunjuk bertahap; periksa fondasi sebelum GUI. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan tk dan mainloop(); prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-smp-lanjutan-S35-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Orientasi alat · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 10 menit → Praktik 20 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Buka satu jendela kosong lalu tutup melalui tombol sistem Bukti pemahaman: Tutup lalu buka kembali sumber, ulangi satu tindakan tanpa mengikuti klik mentor dan jelaskan apa yang berubah. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan tk dan mainloop(); prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 5–10 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 36: Label dan grid() - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan label dan grid() - Demo: Di VS Code, peragakan contoh minimum untuk Susun label input serta hasil dalam grid. Minta prediksi sebelum menjalankan dan bandingkan dengan tidak mencampur pack dan grid pada parent sama - Praktik: Susun label input serta hasil dalam grid - Uji/revisi: Tidak mencampur pack dan grid pada parent sama - Kesalahan latihan: while atau input() memblokir event loop - Dukungan: Mentor memberi satu contoh kecil, lalu siswa memprediksi, mencoba variasi, dan menjelaskan hasil. Pada Lanjutan, gunakan pertanyaan serta petunjuk bertahap; periksa fondasi sebelum GUI. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan label dan grid(); prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-smp-lanjutan-S36-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Susun label input serta hasil dalam grid Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan label dan grid(); prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 37: Entry dan nilai teks - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan entry dan nilai teks - Demo: Di VS Code, peragakan contoh minimum untuk Baca dua Entry melalui callback sederhana. Minta prediksi sebelum menjalankan dan bandingkan dengan nilai input dapat ditampilkan - Praktik: Baca dua Entry melalui callback sederhana - Uji/revisi: Nilai input dapat ditampilkan - Kesalahan latihan: command diisi hasil fungsi alih-alih callback - Dukungan: Mentor memberi satu contoh kecil, lalu siswa memprediksi, mencoba variasi, dan menjelaskan hasil. Pada Lanjutan, gunakan pertanyaan serta petunjuk bertahap; periksa fondasi sebelum GUI. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan entry dan nilai teks; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-smp-lanjutan-S37-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Baca dua Entry melalui callback sederhana Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan entry dan nilai teks; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 38: Button dan callback - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan button dan callback - Demo: Di VS Code, peragakan contoh minimum untuk Hubungkan command tanpa memanggil handler saat dibuat. Minta prediksi sebelum menjalankan dan bandingkan dengan aksi terjadi hanya setelah klik - Praktik: Hubungkan command tanpa memanggil handler saat dibuat - Uji/revisi: Aksi terjadi hanya setelah klik - Kesalahan latihan: command diisi hasil fungsi alih-alih callback - Dukungan: Mentor memberi satu contoh kecil, lalu siswa memprediksi, mencoba variasi, dan menjelaskan hasil. Pada Lanjutan, gunakan pertanyaan serta petunjuk bertahap; periksa fondasi sebelum GUI. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan button dan callback; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-smp-lanjutan-S38-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Hubungkan command tanpa memanggil handler saat dibuat Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan button dan callback; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 14–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 39: Fungsi dan tampilan - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan fungsi dan tampilan - Demo: Di VS Code, peragakan contoh minimum untuk Panggil fungsi tambah dari handler. Minta prediksi sebelum menjalankan dan bandingkan dengan logika diuji tanpa membuat jendela - Praktik: Panggil fungsi tambah dari handler Terapkan fungsi hitung terpisah pada total harga dua barang sebelum menghubungkannya ke GUI. - Uji/revisi: Logika diuji tanpa membuat jendela - Kesalahan latihan: command diisi hasil fungsi alih-alih callback - Dukungan: Mentor memberi satu contoh kecil, lalu siswa memprediksi, mencoba variasi, dan menjelaskan hasil. Pada Lanjutan, gunakan pertanyaan serta petunjuk bertahap; periksa fondasi sebelum GUI. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan fungsi dan tampilan; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-smp-lanjutan-S39-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Panggil fungsi tambah dari handler Terapkan fungsi hitung terpisah pada total harga dua barang sebelum menghubungkannya ke GUI. Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan fungsi dan tampilan; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 14–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 40: Pilihan operasi - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan pilihan operasi - Demo: Di VS Code, peragakan contoh minimum untuk Tambahkan kurang, kali, dan bagi. Minta prediksi sebelum menjalankan dan bandingkan dengan contoh 6 dan 2 memberi 8,4,12,3 - Praktik: Tambahkan kurang, kali, dan bagi - Uji/revisi: Contoh 6 dan 2 memberi 8,4,12,3 - Kesalahan latihan: command diisi hasil fungsi alih-alih callback - Dukungan: Mentor memberi satu contoh kecil, lalu siswa memprediksi, mencoba variasi, dan menjelaskan hasil. Pada Lanjutan, gunakan pertanyaan serta petunjuk bertahap; periksa fondasi sebelum GUI. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan pilihan operasi; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-smp-lanjutan-S40-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Tambahkan kurang, kali, dan bagi Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan pilihan operasi; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 41: Konversi float - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan konversi float - Demo: Di VS Code, peragakan contoh minimum untuk Tangani input angka desimal dengan ValueError. Minta prediksi sebelum menjalankan dan bandingkan dengan huruf tidak menutup jendela - Praktik: Tangani input angka desimal dengan ValueError Gunakan contoh ukuran panjang dengan angka desimal; bandingkan hasil dengan hitungan manual. - Uji/revisi: Huruf tidak menutup jendela - Kesalahan latihan: Konversi salah menutup aplikasi - Dukungan: Mentor memberi satu contoh kecil, lalu siswa memprediksi, mencoba variasi, dan menjelaskan hasil. Pada Lanjutan, gunakan pertanyaan serta petunjuk bertahap; periksa fondasi sebelum GUI. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan konversi float; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-smp-lanjutan-S41-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Tangani input angka desimal dengan ValueError Gunakan contoh ukuran panjang dengan angka desimal; bandingkan hasil dengan hitungan manual. Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan konversi float; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 42: Pembagian nol - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan pembagian nol - Demo: Di VS Code, peragakan contoh minimum untuk Periksa pembagi sebelum operasi. Minta prediksi sebelum menjalankan dan bandingkan dengan pesan menggantikan traceback - Praktik: Periksa pembagi sebelum operasi - Uji/revisi: Pesan menggantikan traceback - Kesalahan latihan: Konversi salah menutup aplikasi - Dukungan: Mentor memberi satu contoh kecil, lalu siswa memprediksi, mencoba variasi, dan menjelaskan hasil. Pada Lanjutan, gunakan pertanyaan serta petunjuk bertahap; periksa fondasi sebelum GUI. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan pembagian nol; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-smp-lanjutan-S42-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Periksa pembagi sebelum operasi Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan pembagian nol; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 43: Pesan dan state hasil - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan pesan dan state hasil - Demo: Di VS Code, peragakan contoh minimum untuk Kosongkan hasil lama saat input tidak valid. Minta prediksi sebelum menjalankan dan bandingkan dengan pengguna tidak melihat hasil basi - Praktik: Kosongkan hasil lama saat input tidak valid - Uji/revisi: Pengguna tidak melihat hasil basi - Kesalahan latihan: Konversi salah menutup aplikasi - Dukungan: Mentor memberi satu contoh kecil, lalu siswa memprediksi, mencoba variasi, dan menjelaskan hasil. Pada Lanjutan, gunakan pertanyaan serta petunjuk bertahap; periksa fondasi sebelum GUI. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan pesan dan state hasil; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-smp-lanjutan-S43-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Kosongkan hasil lama saat input tidak valid Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan pesan dan state hasil; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 44: Tombol reset - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan tombol reset - Demo: Di VS Code, peragakan contoh minimum untuk Kosongkan Entry serta label. Minta prediksi sebelum menjalankan dan bandingkan dengan tidak membuat jendela atau widget tambahan - Praktik: Kosongkan Entry serta label Uji reset setelah hasil benar lalu setelah input salah; kedua kondisi kembali ke tampilan awal. - Uji/revisi: Tidak membuat jendela atau widget tambahan - Kesalahan latihan: Konversi salah menutup aplikasi - Dukungan: Mentor memberi satu contoh kecil, lalu siswa memprediksi, mencoba variasi, dan menjelaskan hasil. Pada Lanjutan, gunakan pertanyaan serta petunjuk bertahap; periksa fondasi sebelum GUI. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan tombol reset; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-smp-lanjutan-S44-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Kosongkan Entry serta label Uji reset setelah hasil benar lalu setelah input salah; kedua kondisi kembali ke tampilan awal. Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan tombol reset; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 45: Event loop responsif - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan event loop responsif - Demo: Di VS Code, peragakan contoh minimum untuk Uji klik berulang tanpa input() atau while panjang. Minta prediksi sebelum menjalankan dan bandingkan dengan jendela tetap dapat dipindah dan ditutup - Praktik: Uji klik berulang tanpa input() atau while panjang - Uji/revisi: Jendela tetap dapat dipindah dan ditutup - Kesalahan latihan: Reset menambah widget atau binding baru - Dukungan: Mentor memberi satu contoh kecil, lalu siswa memprediksi, mencoba variasi, dan menjelaskan hasil. Pada Lanjutan, gunakan pertanyaan serta petunjuk bertahap; periksa fondasi sebelum GUI. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan event loop responsif; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-smp-lanjutan-S45-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Uji klik berulang tanpa input() atau while panjang Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan event loop responsif; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 46: Assert fungsi hitung - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan assert fungsi hitung - Demo: Di VS Code, peragakan contoh minimum untuk Periksa empat operasi dan pembagian nol. Minta prediksi sebelum menjalankan dan bandingkan dengan kesalahan logika terdeteksi tanpa gui - Praktik: Periksa empat operasi dan pembagian nol - Uji/revisi: Kesalahan logika terdeteksi tanpa GUI - Kesalahan latihan: Reset menambah widget atau binding baru - Dukungan: Mentor memberi satu contoh kecil, lalu siswa memprediksi, mencoba variasi, dan menjelaskan hasil. Pada Lanjutan, gunakan pertanyaan serta petunjuk bertahap; periksa fondasi sebelum GUI. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan assert fungsi hitung; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-smp-lanjutan-S46-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Periksa empat operasi dan pembagian nol Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan assert fungsi hitung; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 14–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 47: Uji pengguna satu jendela - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan uji pengguna satu jendela - Demo: Di VS Code, peragakan contoh minimum untuk Minta teman mencoba angka dan reset. Minta prediksi sebelum menjalankan dan bandingkan dengan label serta pesan dapat dipahami - Praktik: Minta teman mencoba angka dan reset - Uji/revisi: Label serta pesan dapat dipahami - Kesalahan latihan: Reset menambah widget atau binding baru - Dukungan: Mentor memberi satu contoh kecil, lalu siswa memprediksi, mencoba variasi, dan menjelaskan hasil. Pada Lanjutan, gunakan pertanyaan serta petunjuk bertahap; periksa fondasi sebelum GUI. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan uji pengguna satu jendela; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-smp-lanjutan-S47-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pengujian dan revisi · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 5 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 15 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Minta teman mencoba angka dan reset Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan uji pengguna satu jendela; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 14–22 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 48: Presentasi: Kalkulator Interaktif - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan presentasi kalkulator - Demo: Di VS Code, peragakan contoh minimum untuk Demonstrasikan input salah dan perubahan brief. Minta prediksi sebelum menjalankan dan bandingkan dengan siswa menjelaskan hubungan klik dan fungsi - Praktik: Demonstrasikan input salah dan perubahan brief Penguji meminta angka desimal serta klik reset di tengah penggunaan; aplikasi harus tetap memberi hasil dan state yang benar. Kerjakan perubahan di Visual Studio Code (VS Code); serahkan sumber .py dan folder proyek, README, data sintetis, serta tabel hasil uji, dan catatan uji. - Uji/revisi: Siswa menjelaskan hubungan klik dan fungsi - Kesalahan latihan: Reset menambah widget atau binding baru - Dukungan: Mentor memberi satu contoh kecil, lalu siswa memprediksi, mencoba variasi, dan menjelaskan hasil. Pada Lanjutan, gunakan pertanyaan serta petunjuk bertahap; periksa fondasi sebelum GUI. - Pengayaan: Pilih satu masukan yang berguna, revisi bagian terkait dan tunjukkan hasil uji ulang; tidak perlu menambah fitur baru. - Bukti/refleksi: python-smp-lanjutan-S48-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Presentasi karya · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 3 menit → Persiapan sumber 2 menit → Demonstrasi siswa 24 menit → Pertanyaan dan umpan balik 21 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Demonstrasikan input salah dan perubahan brief Penguji meminta angka desimal serta klik reset di tengah penggunaan; aplikasi harus tetap memberi hasil dan state yang benar. Kerjakan perubahan di Visual Studio Code (VS Code); serahkan sumber .py dan folder proyek, README, data sintetis, serta tabel hasil uji, dan catatan uji. Bukti pemahaman: Tunjukkan satu bagian yang dibuat sendiri, satu keputusan dan satu perbaikan; jawab satu pertanyaan menggunakan sumber karya. Pengayaan: Pilih satu masukan yang berguna, revisi bagian terkait dan tunjukkan hasil uji ulang; tidak perlu menambah fitur baru. Blok demonstrasi kelas: 19–24 menit. Blok seluruh giliran demonstrasi kelas; bukan waktu bicara per siswa. Umpan balik mempunyai slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Presentasi bergiliran: 4 menit/siswa; kapasitas rencana 4 siswa, 4 menit pergantian. Grup 1–4 siswa: gunakan sisa blok untuk latihan penjelasan atau pertanyaan singkat; tidak perlu memperpanjang bicara demi mengisi waktu. Private menggunakan varian tersendiri. Varian private (satu siswa): Pembuka dan cek bekal 5 menit → Konsep dan demo 3 menit → Persiapan sumber 2 menit → Demonstrasi siswa 15 menit → Pertanyaan dan umpan balik 30 menit → Simpan, refleksi dan cadangan waktu 5 menit. Blok 15 menit: sekitar 5 menit demonstrasi dan 10 menit penjelasan/probe; 30 menit uji, masukan dan revisi. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. ### Proyek 4: Pelacak Kebiasaan Belajar (sesi 49–64) Pelacak tiga kebiasaan belajar dengan checklist, ringkasan, serta simpan-muat lokal. Tool proyek: Visual Studio Code (VS Code). Sumber: .py dan folder proyek. Hasil: README, data sintetis, serta tabel hasil uji. Tantangan baru: Proyek akhir berupa checklist interaktif dengan pemisahan state, callback, dan persistensi; siswa merancang aplikasi baru alih-alih merapikan menu tugas Pemula. Keputusan siswa: Pilih label kebiasaan dan umpan balik ringkasan. Tentukan perilaku reset serta kapan data disimpan. Uji perubahan brief: Penguji mengganti satu nama kebiasaan dan memuat status lama; pertahankan identitas data melalui ID serta buktikan ringkasan benar. Contoh pengerjaan: Tiga kebiasaan: membaca, latihan soal, merapikan catatan. Semua status false, lalu centang membaca sehingga ringkasan 1/3. Simpan dan muat kembali dengan nilai sama. Tidak ada kalender, akun, notifikasi, atau database. Ini prototype checklist satu periode; reset dilakukan lewat tombol eksplisit. Hasil minimum: Pelacak tiga kebiasaan belajar dengan checklist, ringkasan, serta simpan-muat lokal. Pengayaan: Setelah hasil minimum lolos, buat satu variasi aturan atau data pada proyek Pelacak Kebiasaan Belajar dan bandingkan hasilnya; jangan menambah banyak fitur sekaligus. Transfer: Mentor mengubah satu aturan atau data pada Pelacak Kebiasaan Belajar. Siswa memprediksi akibat, memilih bagian yang perlu diubah, dan menyusun satu uji baru. Kesiapan lanjut: Lanjut jika hasil minimum dapat diulang, satu perubahan baru dapat dikerjakan, dan siswa menjelaskan satu perbaikan. Catat bentuk bantuan; bila belum siap, ulangi keterampilan yang belum tampak sebelum menambah konsep. #### Sesi 49: Brief kebiasaan belajar - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan brief kebiasaan belajar - Demo: Siapkan VS Code, Python 3, ekstensi Python dan Python Debugger dari Microsoft. Pilih Python: Select Interpreter, jalankan file .py pada terminal terintegrasi, lalu uji satu breakpoint. Simpan seluruh sumber dan data sintetis dalam satu folder proyek. Untuk proyek GUI, jalankan python -m tkinter pada interpreter yang sama sebelum kelas. Jika modul Tkinter belum tersedia, pasang dukungan Tcl/Tk dari distribusi Python perangkat; konfirmasi jendela uji dapat dibuka dan ditutup. Di VS Code, peragakan contoh minimum untuk Tulis tiga aktivitas dan alur checklist satu periode. Minta prediksi sebelum menjalankan dan bandingkan dengan syarat fitur dibatasi satu jendela - Praktik: Tulis tiga aktivitas dan alur checklist satu periode - Uji/revisi: Syarat fitur dibatasi satu jendela - Kesalahan latihan: Beberapa checkbox berbagi satu variabel - Dukungan: Mentor memberi satu contoh kecil, lalu siswa memprediksi, mencoba variasi, dan menjelaskan hasil. Pada Lanjutan, gunakan pertanyaan serta petunjuk bertahap; periksa fondasi sebelum GUI. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan brief kebiasaan belajar; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-smp-lanjutan-S49-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Latihan kecil atau sumber awal proyek ini; tidak mengasumsikan proyek akhir sudah jadi. Minimum: Tulis tiga aktivitas dan alur checklist satu periode Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan brief kebiasaan belajar; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 50: Audit callback - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan audit callback - Demo: Di VS Code, peragakan contoh minimum untuk Telusuri klik menuju fungsi dan state. Minta prediksi sebelum menjalankan dan bandingkan dengan siswa membedakan event dari loop terminal - Praktik: Telusuri klik menuju fungsi dan state - Uji/revisi: Siswa membedakan event dari loop terminal - Kesalahan latihan: Beberapa checkbox berbagi satu variabel - Dukungan: Mentor memberi satu contoh kecil, lalu siswa memprediksi, mencoba variasi, dan menjelaskan hasil. Pada Lanjutan, gunakan pertanyaan serta petunjuk bertahap; periksa fondasi sebelum GUI. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan audit callback; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-smp-lanjutan-S50-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pengujian dan revisi · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 5 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 15 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Telusuri klik menuju fungsi dan state Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan audit callback; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 17–22 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 51: Model ID dan boolean - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan model id dan boolean - Demo: Di VS Code, peragakan contoh minimum untuk Simpan tiga kebiasaan pada list dictionary. Minta prediksi sebelum menjalankan dan bandingkan dengan status tidak disimpan hanya dalam label - Praktik: Simpan tiga kebiasaan pada list dictionary - Uji/revisi: Status tidak disimpan hanya dalam label - Kesalahan latihan: Beberapa checkbox berbagi satu variabel - Dukungan: Mentor memberi satu contoh kecil, lalu siswa memprediksi, mencoba variasi, dan menjelaskan hasil. Pada Lanjutan, gunakan pertanyaan serta petunjuk bertahap; periksa fondasi sebelum GUI. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan model id dan boolean; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-smp-lanjutan-S51-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Simpan tiga kebiasaan pada list dictionary Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan model id dan boolean; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 52: Sketsa satu jendela - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan sketsa satu jendela - Demo: Di VS Code, peragakan contoh minimum untuk Letakkan checklist, ringkasan, simpan, muat, dan reset. Minta prediksi sebelum menjalankan dan bandingkan dengan semua tindakan memiliki label jelas - Praktik: Letakkan checklist, ringkasan, simpan, muat, dan reset - Uji/revisi: Semua tindakan memiliki label jelas - Kesalahan latihan: Beberapa checkbox berbagi satu variabel - Dukungan: Mentor memberi satu contoh kecil, lalu siswa memprediksi, mencoba variasi, dan menjelaskan hasil. Pada Lanjutan, gunakan pertanyaan serta petunjuk bertahap; periksa fondasi sebelum GUI. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan sketsa satu jendela; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-smp-lanjutan-S52-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Letakkan checklist, ringkasan, simpan, muat, dan reset Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan sketsa satu jendela; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 53: Checkbutton pertama - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan checkbutton pertama - Demo: Di VS Code, peragakan contoh minimum untuk Hubungkan satu BooleanVar dengan satu kebiasaan. Minta prediksi sebelum menjalankan dan bandingkan dengan klik mengubah satu status - Praktik: Hubungkan satu BooleanVar dengan satu kebiasaan - Uji/revisi: Klik mengubah satu status - Kesalahan latihan: Callback menangkap ID terakhir pada loop - Dukungan: Mentor memberi satu contoh kecil, lalu siswa memprediksi, mencoba variasi, dan menjelaskan hasil. Pada Lanjutan, gunakan pertanyaan serta petunjuk bertahap; periksa fondasi sebelum GUI. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan checkbutton pertama; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-smp-lanjutan-S53-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Hubungkan satu BooleanVar dengan satu kebiasaan Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan checkbutton pertama; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 54: Tiga checklist mandiri - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan tiga checklist mandiri - Demo: Di VS Code, peragakan contoh minimum untuk Buat variabel serta ID terpisah untuk setiap baris. Minta prediksi sebelum menjalankan dan bandingkan dengan klik baris kedua tidak mengubah baris ketiga - Praktik: Buat variabel serta ID terpisah untuk setiap baris - Uji/revisi: Klik baris kedua tidak mengubah baris ketiga - Kesalahan latihan: Callback menangkap ID terakhir pada loop - Dukungan: Mentor memberi satu contoh kecil, lalu siswa memprediksi, mencoba variasi, dan menjelaskan hasil. Pada Lanjutan, gunakan pertanyaan serta petunjuk bertahap; periksa fondasi sebelum GUI. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan tiga checklist mandiri; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-smp-lanjutan-S54-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Buat variabel serta ID terpisah untuk setiap baris Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan tiga checklist mandiri; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 55: Fungsi ringkasan - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan fungsi ringkasan - Demo: Di VS Code, peragakan contoh minimum untuk Hitung status true dari model data. Minta prediksi sebelum menjalankan dan bandingkan dengan dua centang menghasilkan 2/3 - Praktik: Hitung status true dari model data - Uji/revisi: Dua centang menghasilkan 2/3 - Kesalahan latihan: Callback menangkap ID terakhir pada loop - Dukungan: Mentor memberi satu contoh kecil, lalu siswa memprediksi, mencoba variasi, dan menjelaskan hasil. Pada Lanjutan, gunakan pertanyaan serta petunjuk bertahap; periksa fondasi sebelum GUI. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan fungsi ringkasan; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-smp-lanjutan-S55-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Hitung status true dari model data Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan fungsi ringkasan; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 14–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 56: Sinkronisasi tampilan - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan sinkronisasi tampilan - Demo: Di VS Code, peragakan contoh minimum untuk Perbarui label setelah setiap callback. Minta prediksi sebelum menjalankan dan bandingkan dengan model dan label selalu cocok - Praktik: Perbarui label setelah setiap callback - Uji/revisi: Model dan label selalu cocok - Kesalahan latihan: Callback menangkap ID terakhir pada loop - Dukungan: Mentor memberi satu contoh kecil, lalu siswa memprediksi, mencoba variasi, dan menjelaskan hasil. Pada Lanjutan, gunakan pertanyaan serta petunjuk bertahap; periksa fondasi sebelum GUI. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan sinkronisasi tampilan; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-smp-lanjutan-S56-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Perbarui label setelah setiap callback Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan sinkronisasi tampilan; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 57: Penyimpanan JSON - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan penyimpanan json - Demo: Di VS Code, peragakan contoh minimum untuk Simpan hanya data ID dan status. Minta prediksi sebelum menjalankan dan bandingkan dengan widget tidak diserialisasi - Praktik: Simpan hanya data ID dan status - Uji/revisi: Widget tidak diserialisasi - Kesalahan latihan: Data rusak otomatis diganti kosong - Dukungan: Mentor memberi satu contoh kecil, lalu siswa memprediksi, mencoba variasi, dan menjelaskan hasil. Pada Lanjutan, gunakan pertanyaan serta petunjuk bertahap; periksa fondasi sebelum GUI. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan penyimpanan json; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-smp-lanjutan-S57-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Simpan hanya data ID dan status Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan penyimpanan json; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 58: Muat dan render - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan muat dan render - Demo: Di VS Code, peragakan contoh minimum untuk Baca JSON lalu set variabel tampilan. Minta prediksi sebelum menjalankan dan bandingkan dengan status sama setelah tutup dan buka - Praktik: Baca JSON lalu set variabel tampilan - Uji/revisi: Status sama setelah tutup dan buka - Kesalahan latihan: Data rusak otomatis diganti kosong - Dukungan: Mentor memberi satu contoh kecil, lalu siswa memprediksi, mencoba variasi, dan menjelaskan hasil. Pada Lanjutan, gunakan pertanyaan serta petunjuk bertahap; periksa fondasi sebelum GUI. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan muat dan render; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-smp-lanjutan-S58-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Baca JSON lalu set variabel tampilan Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan muat dan render; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Periksa satu frame/preview kecil dalam kelas. Render penuh boleh berjalan setelah sumber dan setelan diperiksa; lama proses mesin tidak menentukan kelulusan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 59: Validasi struktur - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan validasi struktur - Demo: Di VS Code, peragakan contoh minimum untuk Tolak ID asing dan status bukan boolean. Minta prediksi sebelum menjalankan dan bandingkan dengan data salah tidak menggantikan state aktif - Praktik: Tolak ID asing dan status bukan boolean - Uji/revisi: Data salah tidak menggantikan state aktif - Kesalahan latihan: Data rusak otomatis diganti kosong - Dukungan: Mentor memberi satu contoh kecil, lalu siswa memprediksi, mencoba variasi, dan menjelaskan hasil. Pada Lanjutan, gunakan pertanyaan serta petunjuk bertahap; periksa fondasi sebelum GUI. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan validasi struktur; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-smp-lanjutan-S59-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Tolak ID asing dan status bukan boolean Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan validasi struktur; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 60: File rusak dan hilang - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan file rusak dan hilang - Demo: Di VS Code, peragakan contoh minimum untuk Bedakan file awal dari file JSON rusak. Minta prediksi sebelum menjalankan dan bandingkan dengan file rusak tidak ditimpa tanpa tindakan pengguna - Praktik: Bedakan file awal dari file JSON rusak - Uji/revisi: File rusak tidak ditimpa tanpa tindakan pengguna - Kesalahan latihan: Data rusak otomatis diganti kosong - Dukungan: Mentor memberi satu contoh kecil, lalu siswa memprediksi, mencoba variasi, dan menjelaskan hasil. Pada Lanjutan, gunakan pertanyaan serta petunjuk bertahap; periksa fondasi sebelum GUI. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan file rusak dan hilang; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-smp-lanjutan-S60-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Bedakan file awal dari file JSON rusak Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan file rusak dan hilang; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 61: Reset eksplisit - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan reset eksplisit - Demo: Di VS Code, peragakan contoh minimum untuk Set semua status false melalui satu tombol. Minta prediksi sebelum menjalankan dan bandingkan dengan reset dapat dijelaskan pengguna - Praktik: Set semua status false melalui satu tombol - Uji/revisi: Reset dapat dijelaskan pengguna - Kesalahan latihan: Ringkasan tidak disegarkan setelah muat - Dukungan: Mentor memberi satu contoh kecil, lalu siswa memprediksi, mencoba variasi, dan menjelaskan hasil. Pada Lanjutan, gunakan pertanyaan serta petunjuk bertahap; periksa fondasi sebelum GUI. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan reset eksplisit; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-smp-lanjutan-S61-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Set semua status false melalui satu tombol Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan reset eksplisit; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 62: Uji fungsi dan callback - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan uji fungsi dan callback - Demo: Di VS Code, peragakan contoh minimum untuk Periksa ringkasan serta perubahan satu ID. Minta prediksi sebelum menjalankan dan bandingkan dengan tidak terjadi status ganda setelah klik berulang - Praktik: Periksa ringkasan serta perubahan satu ID - Uji/revisi: Tidak terjadi status ganda setelah klik berulang - Kesalahan latihan: Ringkasan tidak disegarkan setelah muat - Dukungan: Mentor memberi satu contoh kecil, lalu siswa memprediksi, mencoba variasi, dan menjelaskan hasil. Pada Lanjutan, gunakan pertanyaan serta petunjuk bertahap; periksa fondasi sebelum GUI. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan uji fungsi dan callback; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-smp-lanjutan-S62-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pengujian dan revisi · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 5 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 15 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Periksa ringkasan serta perubahan satu ID Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan uji fungsi dan callback; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 17–22 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 63: Uji pengguna dan revisi - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan uji pengguna dan revisi - Demo: Di VS Code, peragakan contoh minimum untuk Minta teman mengikuti panduan simpan-muat. Minta prediksi sebelum menjalankan dan bandingkan dengan satu kesulitan diperbaiki dan diuji ulang - Praktik: Minta teman mengikuti panduan simpan-muat - Uji/revisi: Satu kesulitan diperbaiki dan diuji ulang - Kesalahan latihan: Ringkasan tidak disegarkan setelah muat - Dukungan: Mentor memberi satu contoh kecil, lalu siswa memprediksi, mencoba variasi, dan menjelaskan hasil. Pada Lanjutan, gunakan pertanyaan serta petunjuk bertahap; periksa fondasi sebelum GUI. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan uji pengguna dan revisi; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-smp-lanjutan-S63-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pengujian dan revisi · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 5 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 15 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Minta teman mengikuti panduan simpan-muat Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan uji pengguna dan revisi; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 14–22 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 64: Presentasi: Pelacak Kebiasaan Belajar - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan presentasi pelacak - Demo: Di VS Code, peragakan contoh minimum untuk Serahkan aplikasi serta demonstrasikan brief baru. Minta prediksi sebelum menjalankan dan bandingkan dengan sumber, data sintetis, dan readme lengkap - Praktik: Serahkan aplikasi serta demonstrasikan brief baru Penguji mengganti satu nama kebiasaan dan memuat status lama; pertahankan identitas data melalui ID serta buktikan ringkasan benar. Kerjakan perubahan di Visual Studio Code (VS Code); serahkan sumber .py dan folder proyek, README, data sintetis, serta tabel hasil uji, dan catatan uji. - Uji/revisi: Sumber, data sintetis, dan README lengkap - Kesalahan latihan: Ringkasan tidak disegarkan setelah muat - Dukungan: Mentor memberi satu contoh kecil, lalu siswa memprediksi, mencoba variasi, dan menjelaskan hasil. Pada Lanjutan, gunakan pertanyaan serta petunjuk bertahap; periksa fondasi sebelum GUI. - Pengayaan: Pilih satu masukan yang berguna, revisi bagian terkait dan tunjukkan hasil uji ulang; tidak perlu menambah fitur baru. - Bukti/refleksi: python-smp-lanjutan-S64-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Presentasi karya · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 3 menit → Persiapan sumber 2 menit → Demonstrasi siswa 24 menit → Pertanyaan dan umpan balik 21 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Serahkan aplikasi serta demonstrasikan brief baru Penguji mengganti satu nama kebiasaan dan memuat status lama; pertahankan identitas data melalui ID serta buktikan ringkasan benar. Kerjakan perubahan di Visual Studio Code (VS Code); serahkan sumber .py dan folder proyek, README, data sintetis, serta tabel hasil uji, dan catatan uji. Bukti pemahaman: Tunjukkan satu bagian yang dibuat sendiri, satu keputusan dan satu perbaikan; jawab satu pertanyaan menggunakan sumber karya. Pengayaan: Pilih satu masukan yang berguna, revisi bagian terkait dan tunjukkan hasil uji ulang; tidak perlu menambah fitur baru. Blok demonstrasi kelas: 19–24 menit. Blok seluruh giliran demonstrasi kelas; bukan waktu bicara per siswa. Umpan balik mempunyai slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Presentasi bergiliran: 4 menit/siswa; kapasitas rencana 4 siswa, 4 menit pergantian. Grup 1–4 siswa: gunakan sisa blok untuk latihan penjelasan atau pertanyaan singkat; tidak perlu memperpanjang bicara demi mengisi waktu. Private menggunakan varian tersendiri. Varian private (satu siswa): Pembuka dan cek bekal 5 menit → Konsep dan demo 3 menit → Persiapan sumber 2 menit → Demonstrasi siswa 15 menit → Pertanyaan dan umpan balik 30 menit → Simpan, refleksi dan cadangan waktu 5 menit. Blok 15 menit: sekitar 5 menit demonstrasi dan 10 menit penjelasan/probe; 30 menit uji, masukan dan revisi. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. ## SMA · Pemula Prasyarat: Tidak memerlukan pengalaman Python. Mulai dari membuka file, print(), variabel, input(), dan latihan kecil; mentor memeriksa pemahaman sebelum menambah konsep. Batas tugas: 64 sesi × 1 jam; dua proyek terminal untuk fondasi serta data, lalu kalkulator nilai dan pengatur tugas satu jendela. Data sintetis 5–10 entri, logika fungsi terpisah, JSON, validasi, dan satu revisi uji pengguna. Semua file dibuka sebagai satu folder proyek di VS Code dengan interpreter terpilih, terminal terintegrasi, serta debugger. Pendampingan: Siswa mencatat keputusan, memisahkan tanggung jawab fungsi, dan menguji kasus baru. Pemula tetap dimulai dari dasar; Lanjutan memakai brief mandiri, bukti uji, serta revisi pengguna. ### Proyek 1: Asisten Nilai Latihan (sesi 1–16) Program terminal yang merangkum nilai latihan sintetis dengan validasi dan fungsi. Tool proyek: Visual Studio Code (VS Code). Sumber: .py dan folder proyek. Hasil: README, data sintetis, serta tabel hasil uji. Contoh pengerjaan: Gunakan data latihan, bukan penentuan nilai sekolah nyata. Nilai 70,80,90 memberi rata-rata 80. Bangun dari print dan satu input, lalu list serta fungsi. Siswa memprediksi hasil sebelum menjalankan. Tidak perlu GUI pada proyek pertama. Hasil minimum: Program terminal yang merangkum nilai latihan sintetis dengan validasi dan fungsi. Pengayaan: Setelah hasil minimum lolos, buat satu variasi aturan atau data pada proyek Asisten Nilai Latihan dan bandingkan hasilnya; jangan menambah banyak fitur sekaligus. Transfer: Gunakan tema atau data baru pada Asisten Nilai Latihan tanpa menyalin urutan contoh; jelaskan bagian yang berubah dan perbaiki satu kesalahan. Kesiapan lanjut: Lanjut jika hasil minimum dapat diulang, satu perubahan baru dapat dikerjakan, dan siswa menjelaskan satu perbaikan. Catat bentuk bantuan; bila belum siap, ulangi keterampilan yang belum tampak sebelum menambah konsep. #### Sesi 1: Workspace dan Python - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan workspace dan python - Demo: Siapkan VS Code, Python 3, ekstensi Python dan Python Debugger dari Microsoft. Pilih Python: Select Interpreter, jalankan file .py pada terminal terintegrasi, lalu uji satu breakpoint. Simpan seluruh sumber dan data sintetis dalam satu folder proyek. Di VS Code, peragakan contoh minimum untuk Pilih interpreter dan jalankan file pertama di terminal VS Code. Minta prediksi sebelum menjalankan dan bandingkan dengan perintah serta lokasi file tercatat - Praktik: Pilih interpreter dan jalankan file pertama di terminal VS Code - Uji/revisi: Perintah serta lokasi file tercatat - Kesalahan latihan: Input angka dianggap sudah bertipe numerik - Dukungan: Siswa mencatat keputusan, memisahkan tanggung jawab fungsi, dan menguji kasus baru. Pemula tetap dimulai dari dasar; Lanjutan memakai brief mandiri, bukti uji, serta revisi pengguna. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan workspace dan python; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-sma-pemula-S01-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Orientasi alat · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 10 menit → Praktik 20 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Sumber latihan baru; perangkat siap sebelum kelas. Minimum: Pilih interpreter dan jalankan file pertama di terminal VS Code Bukti pemahaman: Tutup lalu buka kembali sumber, ulangi satu tindakan tanpa mengikuti klik mentor dan jelaskan apa yang berubah. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan workspace dan python; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 5–10 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 2: print dan f-string - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan print dan f-string - Demo: Di VS Code, peragakan contoh minimum untuk Tampilkan judul laporan serta nilai contoh. Minta prediksi sebelum menjalankan dan bandingkan dengan keluaran dapat diprediksi tanpa menjalankan - Praktik: Tampilkan judul laporan serta nilai contoh - Uji/revisi: Keluaran dapat diprediksi tanpa menjalankan - Kesalahan latihan: Input angka dianggap sudah bertipe numerik - Dukungan: Siswa mencatat keputusan, memisahkan tanggung jawab fungsi, dan menguji kasus baru. Pemula tetap dimulai dari dasar; Lanjutan memakai brief mandiri, bukti uji, serta revisi pengguna. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan print dan f-string; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-sma-pemula-S02-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Tampilkan judul laporan serta nilai contoh Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan print dan f-string; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 3: Variabel dan tipe data - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan variabel dan tipe data - Demo: Di VS Code, peragakan contoh minimum untuk Bedakan str, int, float, serta bool melalui contoh. Minta prediksi sebelum menjalankan dan bandingkan dengan siswa menjelaskan fungsi setiap tipe - Praktik: Bedakan str, int, float, serta bool melalui contoh - Uji/revisi: Siswa menjelaskan fungsi setiap tipe - Kesalahan latihan: Input angka dianggap sudah bertipe numerik - Dukungan: Siswa mencatat keputusan, memisahkan tanggung jawab fungsi, dan menguji kasus baru. Pemula tetap dimulai dari dasar; Lanjutan memakai brief mandiri, bukti uji, serta revisi pengguna. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan variabel dan tipe data; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-sma-pemula-S03-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Bedakan str, int, float, serta bool melalui contoh Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan variabel dan tipe data; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 4: Input dan konversi - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan input dan konversi - Demo: Di VS Code, peragakan contoh minimum untuk Baca nama serta nilai dan konversi angka. Minta prediksi sebelum menjalankan dan bandingkan dengan teks numerik tidak dijumlah sebagai string - Praktik: Baca nama serta nilai dan konversi angka - Uji/revisi: Teks numerik tidak dijumlah sebagai string - Kesalahan latihan: Input angka dianggap sudah bertipe numerik - Dukungan: Siswa mencatat keputusan, memisahkan tanggung jawab fungsi, dan menguji kasus baru. Pemula tetap dimulai dari dasar; Lanjutan memakai brief mandiri, bukti uji, serta revisi pengguna. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan input dan konversi; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-sma-pemula-S04-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Baca nama serta nilai dan konversi angka Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan input dan konversi; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 5: Operator dan prioritas - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan operator dan prioritas - Demo: Di VS Code, peragakan contoh minimum untuk Hitung total serta rata-rata tiga angka. Minta prediksi sebelum menjalankan dan bandingkan dengan 70,80,90 memberi rata-rata 80 - Praktik: Hitung total serta rata-rata tiga angka - Uji/revisi: 70,80,90 memberi rata-rata 80 - Kesalahan latihan: Batas nilai memakai kondisi boolean yang salah - Dukungan: Siswa mencatat keputusan, memisahkan tanggung jawab fungsi, dan menguji kasus baru. Pemula tetap dimulai dari dasar; Lanjutan memakai brief mandiri, bukti uji, serta revisi pengguna. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan operator dan prioritas; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-sma-pemula-S05-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Hitung total serta rata-rata tiga angka Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan operator dan prioritas; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 6: Perbandingan dan boolean - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan perbandingan dan boolean - Demo: Di VS Code, peragakan contoh minimum untuk Validasi rentang 0 sampai 100 dengan and. Minta prediksi sebelum menjalankan dan bandingkan dengan minus satu dan 101 tidak lolos - Praktik: Validasi rentang 0 sampai 100 dengan and - Uji/revisi: Minus satu dan 101 tidak lolos - Kesalahan latihan: Batas nilai memakai kondisi boolean yang salah - Dukungan: Siswa mencatat keputusan, memisahkan tanggung jawab fungsi, dan menguji kasus baru. Pemula tetap dimulai dari dasar; Lanjutan memakai brief mandiri, bukti uji, serta revisi pengguna. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan perbandingan dan boolean; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-sma-pemula-S06-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Validasi rentang 0 sampai 100 dengan and Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan perbandingan dan boolean; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 7: if elif else dan indentasi - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan if elif else dan indentasi - Demo: Di VS Code, peragakan contoh minimum untuk Beri respons input kosong, valid, atau salah. Minta prediksi sebelum menjalankan dan bandingkan dengan cabang tidak berjalan bersamaan - Praktik: Beri respons input kosong, valid, atau salah - Uji/revisi: Cabang tidak berjalan bersamaan - Kesalahan latihan: Batas nilai memakai kondisi boolean yang salah - Dukungan: Siswa mencatat keputusan, memisahkan tanggung jawab fungsi, dan menguji kasus baru. Pemula tetap dimulai dari dasar; Lanjutan memakai brief mandiri, bukti uji, serta revisi pengguna. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan if elif else dan indentasi; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-sma-pemula-S07-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Beri respons input kosong, valid, atau salah Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan if elif else dan indentasi; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 8: for dan range - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan for dan range - Demo: Di VS Code, peragakan contoh minimum untuk Ulangi input sejumlah nilai yang ditetapkan. Minta prediksi sebelum menjalankan dan bandingkan dengan pencacah dan jumlah input sesuai - Praktik: Ulangi input sejumlah nilai yang ditetapkan - Uji/revisi: Pencacah dan jumlah input sesuai - Kesalahan latihan: Batas nilai memakai kondisi boolean yang salah - Dukungan: Siswa mencatat keputusan, memisahkan tanggung jawab fungsi, dan menguji kasus baru. Pemula tetap dimulai dari dasar; Lanjutan memakai brief mandiri, bukti uji, serta revisi pengguna. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan for dan range; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-sma-pemula-S08-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Ulangi input sejumlah nilai yang ditetapkan Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan for dan range; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 9: while dan break - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan while dan break - Demo: Di VS Code, peragakan contoh minimum untuk Buat menu pendek dengan kondisi keluar. Minta prediksi sebelum menjalankan dan bandingkan dengan program tidak terjebak loop - Praktik: Buat menu pendek dengan kondisi keluar - Uji/revisi: Program tidak terjebak loop - Kesalahan latihan: Fungsi mencetak hasil tetapi tidak mengembalikan nilai - Dukungan: Siswa mencatat keputusan, memisahkan tanggung jawab fungsi, dan menguji kasus baru. Pemula tetap dimulai dari dasar; Lanjutan memakai brief mandiri, bukti uji, serta revisi pengguna. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan while dan break; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-sma-pemula-S09-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Buat menu pendek dengan kondisi keluar Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan while dan break; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 10: List dan agregasi - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan list dan agregasi - Demo: Di VS Code, peragakan contoh minimum untuk Simpan nilai lalu hitung jumlah dan banyaknya. Minta prediksi sebelum menjalankan dan bandingkan dengan data tidak hilang tiap putaran - Praktik: Simpan nilai lalu hitung jumlah dan banyaknya - Uji/revisi: Data tidak hilang tiap putaran - Kesalahan latihan: Fungsi mencetak hasil tetapi tidak mengembalikan nilai - Dukungan: Siswa mencatat keputusan, memisahkan tanggung jawab fungsi, dan menguji kasus baru. Pemula tetap dimulai dari dasar; Lanjutan memakai brief mandiri, bukti uji, serta revisi pengguna. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan list dan agregasi; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-sma-pemula-S10-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Simpan nilai lalu hitung jumlah dan banyaknya Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan list dan agregasi; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 11: def dan parameter - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan def dan parameter - Demo: Di VS Code, peragakan contoh minimum untuk Pisahkan ringkasan ke fungsi yang menerima list. Minta prediksi sebelum menjalankan dan bandingkan dengan fungsi dapat dipakai pada dua data - Praktik: Pisahkan ringkasan ke fungsi yang menerima list - Uji/revisi: Fungsi dapat dipakai pada dua data - Kesalahan latihan: Fungsi mencetak hasil tetapi tidak mengembalikan nilai - Dukungan: Siswa mencatat keputusan, memisahkan tanggung jawab fungsi, dan menguji kasus baru. Pemula tetap dimulai dari dasar; Lanjutan memakai brief mandiri, bukti uji, serta revisi pengguna. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan def dan parameter; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-sma-pemula-S11-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Pisahkan ringkasan ke fungsi yang menerima list Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan def dan parameter; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 12: return dan scope - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan return dan scope - Demo: Di VS Code, peragakan contoh minimum untuk Kembalikan hasil ringkasan tanpa mencampur input. Minta prediksi sebelum menjalankan dan bandingkan dengan nilai lokal tidak bergantung variabel global - Praktik: Kembalikan hasil ringkasan tanpa mencampur input - Uji/revisi: Nilai lokal tidak bergantung variabel global - Kesalahan latihan: Fungsi mencetak hasil tetapi tidak mengembalikan nilai - Dukungan: Siswa mencatat keputusan, memisahkan tanggung jawab fungsi, dan menguji kasus baru. Pemula tetap dimulai dari dasar; Lanjutan memakai brief mandiri, bukti uji, serta revisi pengguna. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan return dan scope; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-sma-pemula-S12-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Kembalikan hasil ringkasan tanpa mencampur input Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan return dan scope; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 13: try except ValueError - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan try except valueerror - Demo: Di VS Code, peragakan contoh minimum untuk Tangani huruf saat konversi nilai. Minta prediksi sebelum menjalankan dan bandingkan dengan input salah tidak menghentikan menu - Praktik: Tangani huruf saat konversi nilai - Uji/revisi: Input salah tidak menghentikan menu - Kesalahan latihan: Daftar kosong dibagi nol - Dukungan: Siswa mencatat keputusan, memisahkan tanggung jawab fungsi, dan menguji kasus baru. Pemula tetap dimulai dari dasar; Lanjutan memakai brief mandiri, bukti uji, serta revisi pengguna. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan try except valueerror; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-sma-pemula-S13-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Tangani huruf saat konversi nilai Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan try except valueerror; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 14: Kasus batas dan kosong - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan kasus batas dan kosong - Demo: Di VS Code, peragakan contoh minimum untuk Uji nol, seratus, serta list kosong. Minta prediksi sebelum menjalankan dan bandingkan dengan tidak ada pembagian nol - Praktik: Uji nol, seratus, serta list kosong - Uji/revisi: Tidak ada pembagian nol - Kesalahan latihan: Daftar kosong dibagi nol - Dukungan: Siswa mencatat keputusan, memisahkan tanggung jawab fungsi, dan menguji kasus baru. Pemula tetap dimulai dari dasar; Lanjutan memakai brief mandiri, bukti uji, serta revisi pengguna. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan kasus batas dan kosong; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-sma-pemula-S14-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Uji nol, seratus, serta list kosong Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan kasus batas dan kosong; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 15: Breakpoint dan bukti uji - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan breakpoint dan bukti uji - Demo: Di VS Code, peragakan contoh minimum untuk Amati akumulator serta bandingkan hasil manual. Minta prediksi sebelum menjalankan dan bandingkan dengan satu kesalahan dapat dijelaskan - Praktik: Amati akumulator serta bandingkan hasil manual - Uji/revisi: Satu kesalahan dapat dijelaskan - Kesalahan latihan: Daftar kosong dibagi nol - Dukungan: Siswa mencatat keputusan, memisahkan tanggung jawab fungsi, dan menguji kasus baru. Pemula tetap dimulai dari dasar; Lanjutan memakai brief mandiri, bukti uji, serta revisi pengguna. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan breakpoint dan bukti uji; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-sma-pemula-S15-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Amati akumulator serta bandingkan hasil manual Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan breakpoint dan bukti uji; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 16: Presentasi: Asisten Nilai Latihan - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan presentasi asisten nilai - Demo: Di VS Code, peragakan contoh minimum untuk Jalankan data baru dan serahkan README. Minta prediksi sebelum menjalankan dan bandingkan dengan siswa menjelaskan fungsi dan batas input - Praktik: Jalankan data baru dan serahkan README Kerjakan perubahan di Visual Studio Code (VS Code); serahkan sumber .py dan folder proyek, README, data sintetis, serta tabel hasil uji, dan catatan uji. - Uji/revisi: Siswa menjelaskan fungsi dan batas input - Kesalahan latihan: Daftar kosong dibagi nol - Dukungan: Siswa mencatat keputusan, memisahkan tanggung jawab fungsi, dan menguji kasus baru. Pemula tetap dimulai dari dasar; Lanjutan memakai brief mandiri, bukti uji, serta revisi pengguna. - Pengayaan: Pilih satu masukan yang berguna, revisi bagian terkait dan tunjukkan hasil uji ulang; tidak perlu menambah fitur baru. - Bukti/refleksi: python-sma-pemula-S16-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Presentasi karya · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 3 menit → Persiapan sumber 2 menit → Demonstrasi siswa 24 menit → Pertanyaan dan umpan balik 21 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Jalankan data baru dan serahkan README Kerjakan perubahan di Visual Studio Code (VS Code); serahkan sumber .py dan folder proyek, README, data sintetis, serta tabel hasil uji, dan catatan uji. Bukti pemahaman: Tunjukkan satu bagian yang dibuat sendiri, satu keputusan dan satu perbaikan; jawab satu pertanyaan menggunakan sumber karya. Pengayaan: Pilih satu masukan yang berguna, revisi bagian terkait dan tunjukkan hasil uji ulang; tidak perlu menambah fitur baru. Blok demonstrasi kelas: 19–24 menit. Blok seluruh giliran demonstrasi kelas; bukan waktu bicara per siswa. Umpan balik mempunyai slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Presentasi bergiliran: 4 menit/siswa; kapasitas rencana 4 siswa, 4 menit pergantian. Grup 1–4 siswa: gunakan sisa blok untuk latihan penjelasan atau pertanyaan singkat; tidak perlu memperpanjang bicara demi mengisi waktu. Private menggunakan varian tersendiri. Varian private (satu siswa): Pembuka dan cek bekal 5 menit → Konsep dan demo 3 menit → Persiapan sumber 2 menit → Demonstrasi siswa 15 menit → Pertanyaan dan umpan balik 30 menit → Simpan, refleksi dan cadangan waktu 5 menit. Blok 15 menit: sekitar 5 menit demonstrasi dan 10 menit penjelasan/probe; 30 menit uji, masukan dan revisi. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. ### Proyek 2: Pencatat Anggaran Kegiatan (sesi 17–32) Pencatat anggaran kegiatan sintetis dengan kategori, saldo, dan penyimpanan JSON. Tool proyek: Visual Studio Code (VS Code). Sumber: .py dan folder proyek. Hasil: README, data sintetis, serta tabel hasil uji. Contoh pengerjaan: Anggaran awal 100000, biaya alat 25000, konsumsi 15000 menghasilkan sisa 60000. Rupiah disimpan sebagai integer. Gunakan fungsi terpisah untuk validasi, ringkasan, dan simpan-muat. File rusak ditolak dan dipertahankan. Hasil minimum: Pencatat anggaran kegiatan sintetis dengan kategori, saldo, dan penyimpanan JSON. Pengayaan: Setelah hasil minimum lolos, buat satu variasi aturan atau data pada proyek Pencatat Anggaran Kegiatan dan bandingkan hasilnya; jangan menambah banyak fitur sekaligus. Transfer: Gunakan tema atau data baru pada Pencatat Anggaran Kegiatan tanpa menyalin urutan contoh; jelaskan bagian yang berubah dan perbaiki satu kesalahan. Kesiapan lanjut: Lanjut jika hasil minimum dapat diulang, satu perubahan baru dapat dikerjakan, dan siswa menjelaskan satu perbaikan. Catat bentuk bantuan; bila belum siap, ulangi keterampilan yang belum tampak sebelum menambah konsep. #### Sesi 17: Brief dan skema transaksi - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan brief dan skema transaksi - Demo: Siapkan VS Code, Python 3, ekstensi Python dan Python Debugger dari Microsoft. Pilih Python: Select Interpreter, jalankan file .py pada terminal terintegrasi, lalu uji satu breakpoint. Simpan seluruh sumber dan data sintetis dalam satu folder proyek. Di VS Code, peragakan contoh minimum untuk Tulis ID, jenis, kategori, serta nominal. Minta prediksi sebelum menjalankan dan bandingkan dengan satuan rupiah dan batas input tertulis - Praktik: Tulis ID, jenis, kategori, serta nominal - Uji/revisi: Satuan rupiah dan batas input tertulis - Kesalahan latihan: Nama field berubah antar fungsi - Dukungan: Siswa mencatat keputusan, memisahkan tanggung jawab fungsi, dan menguji kasus baru. Pemula tetap dimulai dari dasar; Lanjutan memakai brief mandiri, bukti uji, serta revisi pengguna. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan brief dan skema transaksi; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-sma-pemula-S17-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Latihan kecil atau sumber awal proyek ini; tidak mengasumsikan proyek akhir sudah jadi. Minimum: Tulis ID, jenis, kategori, serta nominal Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan brief dan skema transaksi; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 14–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 18: Dictionary transaksi - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan dictionary transaksi - Demo: Di VS Code, peragakan contoh minimum untuk Buat tiga transaksi sintetis berlabel. Minta prediksi sebelum menjalankan dan bandingkan dengan field diakses tanpa posisi tetap - Praktik: Buat tiga transaksi sintetis berlabel - Uji/revisi: Field diakses tanpa posisi tetap - Kesalahan latihan: Nama field berubah antar fungsi - Dukungan: Siswa mencatat keputusan, memisahkan tanggung jawab fungsi, dan menguji kasus baru. Pemula tetap dimulai dari dasar; Lanjutan memakai brief mandiri, bukti uji, serta revisi pengguna. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan dictionary transaksi; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-sma-pemula-S18-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Buat tiga transaksi sintetis berlabel Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan dictionary transaksi; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 14–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 19: List dan iterasi - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan list dan iterasi - Demo: Di VS Code, peragakan contoh minimum untuk Tampilkan list dictionary dengan for. Minta prediksi sebelum menjalankan dan bandingkan dengan jumlah baris cocok dengan data - Praktik: Tampilkan list dictionary dengan for - Uji/revisi: Jumlah baris cocok dengan data - Kesalahan latihan: Nama field berubah antar fungsi - Dukungan: Siswa mencatat keputusan, memisahkan tanggung jawab fungsi, dan menguji kasus baru. Pemula tetap dimulai dari dasar; Lanjutan memakai brief mandiri, bukti uji, serta revisi pengguna. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan list dan iterasi; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-sma-pemula-S19-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Tampilkan list dictionary dengan for Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan list dan iterasi; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 20: Fungsi tambah transaksi - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan fungsi tambah transaksi - Demo: Di VS Code, peragakan contoh minimum untuk Kembalikan data baru setelah validasi. Minta prediksi sebelum menjalankan dan bandingkan dengan input salah tidak menambah baris - Praktik: Kembalikan data baru setelah validasi - Uji/revisi: Input salah tidak menambah baris - Kesalahan latihan: Nama field berubah antar fungsi - Dukungan: Siswa mencatat keputusan, memisahkan tanggung jawab fungsi, dan menguji kasus baru. Pemula tetap dimulai dari dasar; Lanjutan memakai brief mandiri, bukti uji, serta revisi pengguna. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan fungsi tambah transaksi; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-sma-pemula-S20-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Kembalikan data baru setelah validasi Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan fungsi tambah transaksi; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 14–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 21: Rupiah dan integer - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan rupiah dan integer - Demo: Di VS Code, peragakan contoh minimum untuk Konversi nominal positif tanpa float. Minta prediksi sebelum menjalankan dan bandingkan dengan teks desimal serta negatif ditolak - Praktik: Konversi nominal positif tanpa float - Uji/revisi: Teks desimal serta negatif ditolak - Kesalahan latihan: Float dipakai untuk rupiah yang harus bulat - Dukungan: Siswa mencatat keputusan, memisahkan tanggung jawab fungsi, dan menguji kasus baru. Pemula tetap dimulai dari dasar; Lanjutan memakai brief mandiri, bukti uji, serta revisi pengguna. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan rupiah dan integer; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-sma-pemula-S21-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Konversi nominal positif tanpa float Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan rupiah dan integer; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 22: Fungsi saldo - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan fungsi saldo - Demo: Di VS Code, peragakan contoh minimum untuk Pisahkan pemasukan dari pengeluaran. Minta prediksi sebelum menjalankan dan bandingkan dengan contoh memberi sisa 60000 - Praktik: Pisahkan pemasukan dari pengeluaran - Uji/revisi: Contoh memberi sisa 60000 - Kesalahan latihan: Float dipakai untuk rupiah yang harus bulat - Dukungan: Siswa mencatat keputusan, memisahkan tanggung jawab fungsi, dan menguji kasus baru. Pemula tetap dimulai dari dasar; Lanjutan memakai brief mandiri, bukti uji, serta revisi pengguna. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan fungsi saldo; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-sma-pemula-S22-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Pisahkan pemasukan dari pengeluaran Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan fungsi saldo; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 14–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 23: Filter kategori - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan filter kategori - Demo: Di VS Code, peragakan contoh minimum untuk Buat fungsi yang menerima kategori. Minta prediksi sebelum menjalankan dan bandingkan dengan sumber transaksi tidak berubah - Praktik: Buat fungsi yang menerima kategori - Uji/revisi: Sumber transaksi tidak berubah - Kesalahan latihan: Float dipakai untuk rupiah yang harus bulat - Dukungan: Siswa mencatat keputusan, memisahkan tanggung jawab fungsi, dan menguji kasus baru. Pemula tetap dimulai dari dasar; Lanjutan memakai brief mandiri, bukti uji, serta revisi pengguna. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan filter kategori; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-sma-pemula-S23-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Buat fungsi yang menerima kategori Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan filter kategori; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 24: Menu dan fungsi - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan menu dan fungsi - Demo: Di VS Code, peragakan contoh minimum untuk Hubungkan pilihan pengguna ke fungsi data. Minta prediksi sebelum menjalankan dan bandingkan dengan menu tidak menggandakan logika - Praktik: Hubungkan pilihan pengguna ke fungsi data - Uji/revisi: Menu tidak menggandakan logika - Kesalahan latihan: Float dipakai untuk rupiah yang harus bulat - Dukungan: Siswa mencatat keputusan, memisahkan tanggung jawab fungsi, dan menguji kasus baru. Pemula tetap dimulai dari dasar; Lanjutan memakai brief mandiri, bukti uji, serta revisi pengguna. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan menu dan fungsi; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-sma-pemula-S24-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Hubungkan pilihan pengguna ke fungsi data Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan menu dan fungsi; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 14–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 25: Path data stabil - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan path data stabil - Demo: Di VS Code, peragakan contoh minimum untuk Gunakan pathlib relatif ke sumber program. Minta prediksi sebelum menjalankan dan bandingkan dengan data yang sama terbaca dari folder berbeda - Praktik: Gunakan pathlib relatif ke sumber program - Uji/revisi: Data yang sama terbaca dari folder berbeda - Kesalahan latihan: Lokasi data berbeda saat terminal berganti folder - Dukungan: Siswa mencatat keputusan, memisahkan tanggung jawab fungsi, dan menguji kasus baru. Pemula tetap dimulai dari dasar; Lanjutan memakai brief mandiri, bukti uji, serta revisi pengguna. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan path data stabil; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-sma-pemula-S25-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Gunakan pathlib relatif ke sumber program Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan path data stabil; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 26: with open UTF-8 - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan with open utf-8 - Demo: Di VS Code, peragakan contoh minimum untuk Baca serta tulis contoh teks. Minta prediksi sebelum menjalankan dan bandingkan dengan nama kategori beraksen tetap terbaca - Praktik: Baca serta tulis contoh teks - Uji/revisi: Nama kategori beraksen tetap terbaca - Kesalahan latihan: Lokasi data berbeda saat terminal berganti folder - Dukungan: Siswa mencatat keputusan, memisahkan tanggung jawab fungsi, dan menguji kasus baru. Pemula tetap dimulai dari dasar; Lanjutan memakai brief mandiri, bukti uji, serta revisi pengguna. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan with open utf-8; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-sma-pemula-S26-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Baca serta tulis contoh teks Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan with open utf-8; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 27: JSON dan skema - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan json dan skema - Demo: Di VS Code, peragakan contoh minimum untuk Simpan list dictionary sebagai JSON. Minta prediksi sebelum menjalankan dan bandingkan dengan id dan tipe nominal dipertahankan - Praktik: Simpan list dictionary sebagai JSON - Uji/revisi: ID dan tipe nominal dipertahankan - Kesalahan latihan: Lokasi data berbeda saat terminal berganti folder - Dukungan: Siswa mencatat keputusan, memisahkan tanggung jawab fungsi, dan menguji kasus baru. Pemula tetap dimulai dari dasar; Lanjutan memakai brief mandiri, bukti uji, serta revisi pengguna. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan json dan skema; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-sma-pemula-S27-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Simpan list dictionary sebagai JSON Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan json dan skema; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 28: Muat dan validasi - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan muat dan validasi - Demo: Di VS Code, peragakan contoh minimum untuk Periksa struktur sebelum mengganti data aktif. Minta prediksi sebelum menjalankan dan bandingkan dengan file dengan field hilang ditolak - Praktik: Periksa struktur sebelum mengganti data aktif - Uji/revisi: File dengan field hilang ditolak - Kesalahan latihan: Lokasi data berbeda saat terminal berganti folder - Dukungan: Siswa mencatat keputusan, memisahkan tanggung jawab fungsi, dan menguji kasus baru. Pemula tetap dimulai dari dasar; Lanjutan memakai brief mandiri, bukti uji, serta revisi pengguna. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan muat dan validasi; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-sma-pemula-S28-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Periksa struktur sebelum mengganti data aktif Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan muat dan validasi; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 29: File belum ada - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan file belum ada - Demo: Di VS Code, peragakan contoh minimum untuk Mulai data awal hanya pada FileNotFoundError. Minta prediksi sebelum menjalankan dan bandingkan dengan kesalahan izin tidak disamakan file kosong - Praktik: Mulai data awal hanya pada FileNotFoundError - Uji/revisi: Kesalahan izin tidak disamakan file kosong - Kesalahan latihan: File rusak ditimpa daftar kosong - Dukungan: Siswa mencatat keputusan, memisahkan tanggung jawab fungsi, dan menguji kasus baru. Pemula tetap dimulai dari dasar; Lanjutan memakai brief mandiri, bukti uji, serta revisi pengguna. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan file belum ada; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-sma-pemula-S29-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Mulai data awal hanya pada FileNotFoundError Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan file belum ada; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 30: File rusak pada salinan - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan file rusak pada salinan - Demo: Di VS Code, peragakan contoh minimum untuk Tangani JSONDecodeError dan jelaskan pemulihan. Minta prediksi sebelum menjalankan dan bandingkan dengan sumber rusak tetap utuh - Praktik: Tangani JSONDecodeError dan jelaskan pemulihan - Uji/revisi: Sumber rusak tetap utuh - Kesalahan latihan: File rusak ditimpa daftar kosong - Dukungan: Siswa mencatat keputusan, memisahkan tanggung jawab fungsi, dan menguji kasus baru. Pemula tetap dimulai dari dasar; Lanjutan memakai brief mandiri, bukti uji, serta revisi pengguna. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan file rusak pada salinan; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-sma-pemula-S30-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Tangani JSONDecodeError dan jelaskan pemulihan Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan file rusak pada salinan; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 31: Uji regresi dan data baru - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan uji regresi dan data baru - Demo: Di VS Code, peragakan contoh minimum untuk Uji filter, saldo, serta buka ulang. Minta prediksi sebelum menjalankan dan bandingkan dengan hasil manual cocok pada dua data - Praktik: Uji filter, saldo, serta buka ulang - Uji/revisi: Hasil manual cocok pada dua data - Kesalahan latihan: File rusak ditimpa daftar kosong - Dukungan: Siswa mencatat keputusan, memisahkan tanggung jawab fungsi, dan menguji kasus baru. Pemula tetap dimulai dari dasar; Lanjutan memakai brief mandiri, bukti uji, serta revisi pengguna. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan uji regresi dan data baru; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-sma-pemula-S31-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pengujian dan revisi · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 5 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 15 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Uji filter, saldo, serta buka ulang Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan uji regresi dan data baru; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 14–22 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 32: Presentasi: Pencatat Anggaran Kegiatan - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan presentasi anggaran - Demo: Di VS Code, peragakan contoh minimum untuk Serahkan folder, skema data, dan panduan. Minta prediksi sebelum menjalankan dan bandingkan dengan penguji dapat mengulang hasil - Praktik: Serahkan folder, skema data, dan panduan Kerjakan perubahan di Visual Studio Code (VS Code); serahkan sumber .py dan folder proyek, README, data sintetis, serta tabel hasil uji, dan catatan uji. - Uji/revisi: Penguji dapat mengulang hasil - Kesalahan latihan: File rusak ditimpa daftar kosong - Dukungan: Siswa mencatat keputusan, memisahkan tanggung jawab fungsi, dan menguji kasus baru. Pemula tetap dimulai dari dasar; Lanjutan memakai brief mandiri, bukti uji, serta revisi pengguna. - Pengayaan: Pilih satu masukan yang berguna, revisi bagian terkait dan tunjukkan hasil uji ulang; tidak perlu menambah fitur baru. - Bukti/refleksi: python-sma-pemula-S32-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Presentasi karya · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 3 menit → Persiapan sumber 2 menit → Demonstrasi siswa 24 menit → Pertanyaan dan umpan balik 21 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Serahkan folder, skema data, dan panduan Kerjakan perubahan di Visual Studio Code (VS Code); serahkan sumber .py dan folder proyek, README, data sintetis, serta tabel hasil uji, dan catatan uji. Bukti pemahaman: Tunjukkan satu bagian yang dibuat sendiri, satu keputusan dan satu perbaikan; jawab satu pertanyaan menggunakan sumber karya. Pengayaan: Pilih satu masukan yang berguna, revisi bagian terkait dan tunjukkan hasil uji ulang; tidak perlu menambah fitur baru. Blok demonstrasi kelas: 19–24 menit. Blok seluruh giliran demonstrasi kelas; bukan waktu bicara per siswa. Umpan balik mempunyai slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Presentasi bergiliran: 4 menit/siswa; kapasitas rencana 4 siswa, 4 menit pergantian. Grup 1–4 siswa: gunakan sisa blok untuk latihan penjelasan atau pertanyaan singkat; tidak perlu memperpanjang bicara demi mengisi waktu. Private menggunakan varian tersendiri. Varian private (satu siswa): Pembuka dan cek bekal 5 menit → Konsep dan demo 3 menit → Persiapan sumber 2 menit → Demonstrasi siswa 15 menit → Pertanyaan dan umpan balik 30 menit → Simpan, refleksi dan cadangan waktu 5 menit. Blok 15 menit: sekitar 5 menit demonstrasi dan 10 menit penjelasan/probe; 30 menit uji, masukan dan revisi. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. ### Proyek 3: Kalkulator Nilai Berjendela (sesi 33–48) Aplikasi satu jendela untuk merangkum tiga nilai latihan dengan validasi. Tool proyek: Visual Studio Code (VS Code). Sumber: .py dan folder proyek. Hasil: README, data sintetis, serta tabel hasil uji. Contoh pengerjaan: Gunakan tiga nilai sintetis 70,80,90 dan hasil rata-rata 80. Tkinter dipasang pada interpreter kelas, diuji melalui python -m tkinter. Callback membaca Entry, memanggil fungsi ringkasan, lalu memperbarui Label. Tidak ada input() di mainloop. Hasil minimum: Aplikasi satu jendela untuk merangkum tiga nilai latihan dengan validasi. Pengayaan: Setelah hasil minimum lolos, buat satu variasi aturan atau data pada proyek Kalkulator Nilai Berjendela dan bandingkan hasilnya; jangan menambah banyak fitur sekaligus. Transfer: Gunakan tema atau data baru pada Kalkulator Nilai Berjendela tanpa menyalin urutan contoh; jelaskan bagian yang berubah dan perbaiki satu kesalahan. Kesiapan lanjut: Lanjut jika hasil minimum dapat diulang, satu perubahan baru dapat dikerjakan, dan siswa menjelaskan satu perbaikan. Catat bentuk bantuan; bila belum siap, ulangi keterampilan yang belum tampak sebelum menambah konsep. #### Sesi 33: Audit fungsi ringkasan - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan audit fungsi ringkasan - Demo: Siapkan VS Code, Python 3, ekstensi Python dan Python Debugger dari Microsoft. Pilih Python: Select Interpreter, jalankan file .py pada terminal terintegrasi, lalu uji satu breakpoint. Simpan seluruh sumber dan data sintetis dalam satu folder proyek. Untuk proyek GUI, jalankan python -m tkinter pada interpreter yang sama sebelum kelas. Jika modul Tkinter belum tersedia, pasang dukungan Tcl/Tk dari distribusi Python perangkat; konfirmasi jendela uji dapat dibuka dan ditutup. Di VS Code, peragakan contoh minimum untuk Uji fungsi tiga nilai sebelum GUI. Minta prediksi sebelum menjalankan dan bandingkan dengan hasil tidak bergantung input terminal - Praktik: Uji fungsi tiga nilai sebelum GUI - Uji/revisi: Hasil tidak bergantung input terminal - Kesalahan latihan: Callback dijalankan saat tombol dibuat - Dukungan: Siswa mencatat keputusan, memisahkan tanggung jawab fungsi, dan menguji kasus baru. Pemula tetap dimulai dari dasar; Lanjutan memakai brief mandiri, bukti uji, serta revisi pengguna. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan audit fungsi ringkasan; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-sma-pemula-S33-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pengujian dan revisi · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 5 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 15 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Latihan kecil atau sumber awal proyek ini; tidak mengasumsikan proyek akhir sudah jadi. Minimum: Uji fungsi tiga nilai sebelum GUI Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan audit fungsi ringkasan; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 17–22 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 34: Pemeriksaan Tkinter - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan pemeriksaan tkinter - Demo: Di VS Code, peragakan contoh minimum untuk Jalankan python -m tkinter pada interpreter kelas. Minta prediksi sebelum menjalankan dan bandingkan dengan versi serta hasil uji perangkat tercatat - Praktik: Jalankan python -m tkinter pada interpreter kelas - Uji/revisi: Versi serta hasil uji perangkat tercatat - Kesalahan latihan: Callback dijalankan saat tombol dibuat - Dukungan: Siswa mencatat keputusan, memisahkan tanggung jawab fungsi, dan menguji kasus baru. Pemula tetap dimulai dari dasar; Lanjutan memakai brief mandiri, bukti uji, serta revisi pengguna. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan pemeriksaan tkinter; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-sma-pemula-S34-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Orientasi alat · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 10 menit → Praktik 20 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Jalankan python -m tkinter pada interpreter kelas Bukti pemahaman: Tutup lalu buka kembali sumber, ulangi satu tindakan tanpa mengikuti klik mentor dan jelaskan apa yang berubah. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan pemeriksaan tkinter; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 5–10 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 35: Tk dan mainloop - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan tk dan mainloop - Demo: Di VS Code, peragakan contoh minimum untuk Buka dan tutup satu root window. Minta prediksi sebelum menjalankan dan bandingkan dengan tidak membuat root untuk setiap tombol - Praktik: Buka dan tutup satu root window - Uji/revisi: Tidak membuat root untuk setiap tombol - Kesalahan latihan: Callback dijalankan saat tombol dibuat - Dukungan: Siswa mencatat keputusan, memisahkan tanggung jawab fungsi, dan menguji kasus baru. Pemula tetap dimulai dari dasar; Lanjutan memakai brief mandiri, bukti uji, serta revisi pengguna. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan tk dan mainloop; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-sma-pemula-S35-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Orientasi alat · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 10 menit → Praktik 20 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Buka dan tutup satu root window Bukti pemahaman: Tutup lalu buka kembali sumber, ulangi satu tindakan tanpa mengikuti klik mentor dan jelaskan apa yang berubah. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan tk dan mainloop; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 5–10 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 36: Layout ttk dan grid - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan layout ttk dan grid - Demo: Di VS Code, peragakan contoh minimum untuk Rancang tiga Entry, tombol hitung, serta label. Minta prediksi sebelum menjalankan dan bandingkan dengan urutan label mengikuti input - Praktik: Rancang tiga Entry, tombol hitung, serta label - Uji/revisi: Urutan label mengikuti input - Kesalahan latihan: Callback dijalankan saat tombol dibuat - Dukungan: Siswa mencatat keputusan, memisahkan tanggung jawab fungsi, dan menguji kasus baru. Pemula tetap dimulai dari dasar; Lanjutan memakai brief mandiri, bukti uji, serta revisi pengguna. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan layout ttk dan grid; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-sma-pemula-S36-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Rancang tiga Entry, tombol hitung, serta label Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan layout ttk dan grid; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 37: Entry dan StringVar - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan entry dan stringvar - Demo: Di VS Code, peragakan contoh minimum untuk Baca tiga nilai sebagai teks. Minta prediksi sebelum menjalankan dan bandingkan dengan nilai widget belum dianggap angka - Praktik: Baca tiga nilai sebagai teks - Uji/revisi: Nilai widget belum dianggap angka - Kesalahan latihan: Logika nilai hanya dapat diuji dengan membuka GUI - Dukungan: Siswa mencatat keputusan, memisahkan tanggung jawab fungsi, dan menguji kasus baru. Pemula tetap dimulai dari dasar; Lanjutan memakai brief mandiri, bukti uji, serta revisi pengguna. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan entry dan stringvar; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-sma-pemula-S37-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Baca tiga nilai sebagai teks Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan entry dan stringvar; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 38: Button command - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan button command - Demo: Di VS Code, peragakan contoh minimum untuk Daftarkan callback tanpa kurung pemanggilan. Minta prediksi sebelum menjalankan dan bandingkan dengan klik memicu handler tepat sekali - Praktik: Daftarkan callback tanpa kurung pemanggilan - Uji/revisi: Klik memicu handler tepat sekali - Kesalahan latihan: Logika nilai hanya dapat diuji dengan membuka GUI - Dukungan: Siswa mencatat keputusan, memisahkan tanggung jawab fungsi, dan menguji kasus baru. Pemula tetap dimulai dari dasar; Lanjutan memakai brief mandiri, bukti uji, serta revisi pengguna. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan button command; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-sma-pemula-S38-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Daftarkan callback tanpa kurung pemanggilan Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan button command; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 39: Fungsi terpisah - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan fungsi terpisah - Demo: Di VS Code, peragakan contoh minimum untuk Hubungkan callback ke fungsi ringkasan. Minta prediksi sebelum menjalankan dan bandingkan dengan fungsi diuji tanpa tk - Praktik: Hubungkan callback ke fungsi ringkasan - Uji/revisi: Fungsi diuji tanpa Tk - Kesalahan latihan: Logika nilai hanya dapat diuji dengan membuka GUI - Dukungan: Siswa mencatat keputusan, memisahkan tanggung jawab fungsi, dan menguji kasus baru. Pemula tetap dimulai dari dasar; Lanjutan memakai brief mandiri, bukti uji, serta revisi pengguna. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan fungsi terpisah; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-sma-pemula-S39-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Hubungkan callback ke fungsi ringkasan Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan fungsi terpisah; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 14–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 40: Menampilkan hasil - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan menampilkan hasil - Demo: Di VS Code, peragakan contoh minimum untuk Format rata-rata dengan ketelitian tertulis. Minta prediksi sebelum menjalankan dan bandingkan dengan 70,80,90 tampil sebagai 80 - Praktik: Format rata-rata dengan ketelitian tertulis - Uji/revisi: 70,80,90 tampil sebagai 80 - Kesalahan latihan: Logika nilai hanya dapat diuji dengan membuka GUI - Dukungan: Siswa mencatat keputusan, memisahkan tanggung jawab fungsi, dan menguji kasus baru. Pemula tetap dimulai dari dasar; Lanjutan memakai brief mandiri, bukti uji, serta revisi pengguna. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan menampilkan hasil; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-sma-pemula-S40-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Format rata-rata dengan ketelitian tertulis Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan menampilkan hasil; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 41: Validasi input kosong - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan validasi input kosong - Demo: Di VS Code, peragakan contoh minimum untuk Berikan pesan sebelum menghitung. Minta prediksi sebelum menjalankan dan bandingkan dengan tidak ada hasil palsu dari nilai kosong - Praktik: Berikan pesan sebelum menghitung - Uji/revisi: Tidak ada hasil palsu dari nilai kosong - Kesalahan latihan: Hasil sebelumnya tertinggal setelah input gagal - Dukungan: Siswa mencatat keputusan, memisahkan tanggung jawab fungsi, dan menguji kasus baru. Pemula tetap dimulai dari dasar; Lanjutan memakai brief mandiri, bukti uji, serta revisi pengguna. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan validasi input kosong; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-sma-pemula-S41-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Berikan pesan sebelum menghitung Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan validasi input kosong; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 42: Konversi dan ValueError - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan konversi dan valueerror - Demo: Di VS Code, peragakan contoh minimum untuk Tangani input huruf serta desimal. Minta prediksi sebelum menjalankan dan bandingkan dengan jendela tetap terbuka setelah gagal - Praktik: Tangani input huruf serta desimal - Uji/revisi: Jendela tetap terbuka setelah gagal - Kesalahan latihan: Hasil sebelumnya tertinggal setelah input gagal - Dukungan: Siswa mencatat keputusan, memisahkan tanggung jawab fungsi, dan menguji kasus baru. Pemula tetap dimulai dari dasar; Lanjutan memakai brief mandiri, bukti uji, serta revisi pengguna. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan konversi dan valueerror; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-sma-pemula-S42-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Tangani input huruf serta desimal Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan konversi dan valueerror; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 43: Validasi rentang nilai - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan validasi rentang nilai - Demo: Di VS Code, peragakan contoh minimum untuk Batasi setiap nilai 0 sampai 100. Minta prediksi sebelum menjalankan dan bandingkan dengan minus satu dan 101 ditolak - Praktik: Batasi setiap nilai 0 sampai 100 - Uji/revisi: Minus satu dan 101 ditolak - Kesalahan latihan: Hasil sebelumnya tertinggal setelah input gagal - Dukungan: Siswa mencatat keputusan, memisahkan tanggung jawab fungsi, dan menguji kasus baru. Pemula tetap dimulai dari dasar; Lanjutan memakai brief mandiri, bukti uji, serta revisi pengguna. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan validasi rentang nilai; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-sma-pemula-S43-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Batasi setiap nilai 0 sampai 100 Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan validasi rentang nilai; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 44: Reset state - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan reset state - Demo: Di VS Code, peragakan contoh minimum untuk Kosongkan Entry, pesan, serta hasil. Minta prediksi sebelum menjalankan dan bandingkan dengan tidak menyisakan rata-rata lama - Praktik: Kosongkan Entry, pesan, serta hasil - Uji/revisi: Tidak menyisakan rata-rata lama - Kesalahan latihan: Hasil sebelumnya tertinggal setelah input gagal - Dukungan: Siswa mencatat keputusan, memisahkan tanggung jawab fungsi, dan menguji kasus baru. Pemula tetap dimulai dari dasar; Lanjutan memakai brief mandiri, bukti uji, serta revisi pengguna. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan reset state; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-sma-pemula-S44-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Kosongkan Entry, pesan, serta hasil Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan reset state; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 45: Respons event loop - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan respons event loop - Demo: Di VS Code, peragakan contoh minimum untuk Uji klik cepat dan perubahan input. Minta prediksi sebelum menjalankan dan bandingkan dengan tidak memakai while panjang di callback - Praktik: Uji klik cepat dan perubahan input - Uji/revisi: Tidak memakai while panjang di callback - Kesalahan latihan: Loop terminal memblokir jendela - Dukungan: Siswa mencatat keputusan, memisahkan tanggung jawab fungsi, dan menguji kasus baru. Pemula tetap dimulai dari dasar; Lanjutan memakai brief mandiri, bukti uji, serta revisi pengguna. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan respons event loop; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-sma-pemula-S45-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Uji klik cepat dan perubahan input Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan respons event loop; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 46: Assert dan kasus batas - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan assert dan kasus batas - Demo: Di VS Code, peragakan contoh minimum untuk Uji fungsi dengan nol, seratus, dan data salah. Minta prediksi sebelum menjalankan dan bandingkan dengan kesalahan fungsi terdeteksi otomatis - Praktik: Uji fungsi dengan nol, seratus, dan data salah - Uji/revisi: Kesalahan fungsi terdeteksi otomatis - Kesalahan latihan: Loop terminal memblokir jendela - Dukungan: Siswa mencatat keputusan, memisahkan tanggung jawab fungsi, dan menguji kasus baru. Pemula tetap dimulai dari dasar; Lanjutan memakai brief mandiri, bukti uji, serta revisi pengguna. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan assert dan kasus batas; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-sma-pemula-S46-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Uji fungsi dengan nol, seratus, dan data salah Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan assert dan kasus batas; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 47: Uji teman dan revisi - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan uji teman dan revisi - Demo: Di VS Code, peragakan contoh minimum untuk Amati satu pengguna tanpa demo penuh. Minta prediksi sebelum menjalankan dan bandingkan dengan label serta pesan diperbaiki dari bukti - Praktik: Amati satu pengguna tanpa demo penuh - Uji/revisi: Label serta pesan diperbaiki dari bukti - Kesalahan latihan: Loop terminal memblokir jendela - Dukungan: Siswa mencatat keputusan, memisahkan tanggung jawab fungsi, dan menguji kasus baru. Pemula tetap dimulai dari dasar; Lanjutan memakai brief mandiri, bukti uji, serta revisi pengguna. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan uji teman dan revisi; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-sma-pemula-S47-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pengujian dan revisi · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 5 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 15 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Amati satu pengguna tanpa demo penuh Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan uji teman dan revisi; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 14–22 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 48: Presentasi: Kalkulator Nilai Berjendela - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan presentasi kalkulator nilai - Demo: Di VS Code, peragakan contoh minimum untuk Demonstrasikan data baru serta reset. Minta prediksi sebelum menjalankan dan bandingkan dengan siswa menjelaskan alur event hingga hasil - Praktik: Demonstrasikan data baru serta reset Kerjakan perubahan di Visual Studio Code (VS Code); serahkan sumber .py dan folder proyek, README, data sintetis, serta tabel hasil uji, dan catatan uji. - Uji/revisi: Siswa menjelaskan alur event hingga hasil - Kesalahan latihan: Loop terminal memblokir jendela - Dukungan: Siswa mencatat keputusan, memisahkan tanggung jawab fungsi, dan menguji kasus baru. Pemula tetap dimulai dari dasar; Lanjutan memakai brief mandiri, bukti uji, serta revisi pengguna. - Pengayaan: Pilih satu masukan yang berguna, revisi bagian terkait dan tunjukkan hasil uji ulang; tidak perlu menambah fitur baru. - Bukti/refleksi: python-sma-pemula-S48-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Presentasi karya · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 3 menit → Persiapan sumber 2 menit → Demonstrasi siswa 24 menit → Pertanyaan dan umpan balik 21 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Demonstrasikan data baru serta reset Kerjakan perubahan di Visual Studio Code (VS Code); serahkan sumber .py dan folder proyek, README, data sintetis, serta tabel hasil uji, dan catatan uji. Bukti pemahaman: Tunjukkan satu bagian yang dibuat sendiri, satu keputusan dan satu perbaikan; jawab satu pertanyaan menggunakan sumber karya. Pengayaan: Pilih satu masukan yang berguna, revisi bagian terkait dan tunjukkan hasil uji ulang; tidak perlu menambah fitur baru. Blok demonstrasi kelas: 19–24 menit. Blok seluruh giliran demonstrasi kelas; bukan waktu bicara per siswa. Umpan balik mempunyai slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Presentasi bergiliran: 4 menit/siswa; kapasitas rencana 4 siswa, 4 menit pergantian. Grup 1–4 siswa: gunakan sisa blok untuk latihan penjelasan atau pertanyaan singkat; tidak perlu memperpanjang bicara demi mengisi waktu. Private menggunakan varian tersendiri. Varian private (satu siswa): Pembuka dan cek bekal 5 menit → Konsep dan demo 3 menit → Persiapan sumber 2 menit → Demonstrasi siswa 15 menit → Pertanyaan dan umpan balik 30 menit → Simpan, refleksi dan cadangan waktu 5 menit. Blok 15 menit: sekitar 5 menit demonstrasi dan 10 menit penjelasan/probe; 30 menit uji, masukan dan revisi. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. ### Proyek 4: Pengatur Tugas Belajar (sesi 49–64) Aplikasi tugas satu jendela dengan tambah, cari, selesai, serta simpan-muat lokal. Tool proyek: Visual Studio Code (VS Code). Sumber: .py dan folder proyek. Hasil: README, data sintetis, serta tabel hasil uji. Contoh pengerjaan: Tugas ID 1 matematika belum, ID 2 membaca selesai, ID 3 sains belum. Cari sains lalu tandai selesai; ringkasan menjadi 2/3 tanpa menambah tugas. Satu jendela memakai list dan form, JSON untuk data lokal. Desain berdasarkan kebutuhan siswa dan satu revisi uji pengguna. Hasil minimum: Aplikasi tugas satu jendela dengan tambah, cari, selesai, serta simpan-muat lokal. Pengayaan: Setelah hasil minimum lolos, buat satu variasi aturan atau data pada proyek Pengatur Tugas Belajar dan bandingkan hasilnya; jangan menambah banyak fitur sekaligus. Transfer: Gunakan tema atau data baru pada Pengatur Tugas Belajar tanpa menyalin urutan contoh; jelaskan bagian yang berubah dan perbaiki satu kesalahan. Kesiapan lanjut: Lanjut jika hasil minimum dapat diulang, satu perubahan baru dapat dikerjakan, dan siswa menjelaskan satu perbaikan. Catat bentuk bantuan; bila belum siap, ulangi keterampilan yang belum tampak sebelum menambah konsep. #### Sesi 49: Brief aplikasi belajar - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan brief aplikasi belajar - Demo: Siapkan VS Code, Python 3, ekstensi Python dan Python Debugger dari Microsoft. Pilih Python: Select Interpreter, jalankan file .py pada terminal terintegrasi, lalu uji satu breakpoint. Simpan seluruh sumber dan data sintetis dalam satu folder proyek. Untuk proyek GUI, jalankan python -m tkinter pada interpreter yang sama sebelum kelas. Jika modul Tkinter belum tersedia, pasang dukungan Tcl/Tk dari distribusi Python perangkat; konfirmasi jendela uji dapat dibuka dan ditutup. Di VS Code, peragakan contoh minimum untuk Tulis tiga skenario pengguna serta kriteria selesai. Minta prediksi sebelum menjalankan dan bandingkan dengan fitur inti dibedakan dari pengayaan - Praktik: Tulis tiga skenario pengguna serta kriteria selesai - Uji/revisi: Fitur inti dibedakan dari pengayaan - Kesalahan latihan: Indeks Listbox dianggap ID permanen - Dukungan: Siswa mencatat keputusan, memisahkan tanggung jawab fungsi, dan menguji kasus baru. Pemula tetap dimulai dari dasar; Lanjutan memakai brief mandiri, bukti uji, serta revisi pengguna. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan brief aplikasi belajar; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-sma-pemula-S49-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Latihan kecil atau sumber awal proyek ini; tidak mengasumsikan proyek akhir sudah jadi. Minimum: Tulis tiga skenario pengguna serta kriteria selesai Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan brief aplikasi belajar; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 50: Model tugas dengan ID - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan model tugas dengan id - Demo: Di VS Code, peragakan contoh minimum untuk Rancang ID, judul, dan boolean status. Minta prediksi sebelum menjalankan dan bandingkan dengan id tetap setelah daftar difilter - Praktik: Rancang ID, judul, dan boolean status - Uji/revisi: ID tetap setelah daftar difilter - Kesalahan latihan: Indeks Listbox dianggap ID permanen - Dukungan: Siswa mencatat keputusan, memisahkan tanggung jawab fungsi, dan menguji kasus baru. Pemula tetap dimulai dari dasar; Lanjutan memakai brief mandiri, bukti uji, serta revisi pengguna. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan model tugas dengan id; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-sma-pemula-S50-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Rancang ID, judul, dan boolean status Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan model tugas dengan id; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 51: Sketsa form dan daftar - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan sketsa form dan daftar - Demo: Di VS Code, peragakan contoh minimum untuk Susun Entry, Listbox, tombol, dan ringkasan. Minta prediksi sebelum menjalankan dan bandingkan dengan alur selesai satu jendela - Praktik: Susun Entry, Listbox, tombol, dan ringkasan - Uji/revisi: Alur selesai satu jendela - Kesalahan latihan: Indeks Listbox dianggap ID permanen - Dukungan: Siswa mencatat keputusan, memisahkan tanggung jawab fungsi, dan menguji kasus baru. Pemula tetap dimulai dari dasar; Lanjutan memakai brief mandiri, bukti uji, serta revisi pengguna. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan sketsa form dan daftar; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-sma-pemula-S51-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Susun Entry, Listbox, tombol, dan ringkasan Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan sketsa form dan daftar; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 52: Fungsi data - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan fungsi data - Demo: Di VS Code, peragakan contoh minimum untuk Buat tambah, cari, dan tandai berdasarkan ID. Minta prediksi sebelum menjalankan dan bandingkan dengan logika berjalan tanpa gui - Praktik: Buat tambah, cari, dan tandai berdasarkan ID - Uji/revisi: Logika berjalan tanpa GUI - Kesalahan latihan: Indeks Listbox dianggap ID permanen - Dukungan: Siswa mencatat keputusan, memisahkan tanggung jawab fungsi, dan menguji kasus baru. Pemula tetap dimulai dari dasar; Lanjutan memakai brief mandiri, bukti uji, serta revisi pengguna. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan fungsi data; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-sma-pemula-S52-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Buat tambah, cari, dan tandai berdasarkan ID Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan fungsi data; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 14–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 53: Form tambah tervalidasi - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan form tambah tervalidasi - Demo: Di VS Code, peragakan contoh minimum untuk Hubungkan input dengan fungsi tambah. Minta prediksi sebelum menjalankan dan bandingkan dengan judul kosong tidak diterima - Praktik: Hubungkan input dengan fungsi tambah - Uji/revisi: Judul kosong tidak diterima - Kesalahan latihan: Menandai selesai dari hasil filter mengubah tugas lain - Dukungan: Siswa mencatat keputusan, memisahkan tanggung jawab fungsi, dan menguji kasus baru. Pemula tetap dimulai dari dasar; Lanjutan memakai brief mandiri, bukti uji, serta revisi pengguna. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan form tambah tervalidasi; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-sma-pemula-S53-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Hubungkan input dengan fungsi tambah Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan form tambah tervalidasi; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 54: Render daftar - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan render daftar - Demo: Di VS Code, peragakan contoh minimum untuk Tampilkan judul serta status dari model. Minta prediksi sebelum menjalankan dan bandingkan dengan tampilan tidak menjadi sumber data utama - Praktik: Tampilkan judul serta status dari model - Uji/revisi: Tampilan tidak menjadi sumber data utama - Kesalahan latihan: Menandai selesai dari hasil filter mengubah tugas lain - Dukungan: Siswa mencatat keputusan, memisahkan tanggung jawab fungsi, dan menguji kasus baru. Pemula tetap dimulai dari dasar; Lanjutan memakai brief mandiri, bukti uji, serta revisi pengguna. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan render daftar; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-sma-pemula-S54-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Tampilkan judul serta status dari model Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan render daftar; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Periksa satu frame/preview kecil dalam kelas. Render penuh boleh berjalan setelah sumber dan setelan diperiksa; lama proses mesin tidak menentukan kelulusan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 55: Pilihan dan ID - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan pilihan dan id - Demo: Di VS Code, peragakan contoh minimum untuk Petakan baris tampilan ke ID tugas. Minta prediksi sebelum menjalankan dan bandingkan dengan filter tidak mengubah sasaran tindakan - Praktik: Petakan baris tampilan ke ID tugas - Uji/revisi: Filter tidak mengubah sasaran tindakan - Kesalahan latihan: Menandai selesai dari hasil filter mengubah tugas lain - Dukungan: Siswa mencatat keputusan, memisahkan tanggung jawab fungsi, dan menguji kasus baru. Pemula tetap dimulai dari dasar; Lanjutan memakai brief mandiri, bukti uji, serta revisi pengguna. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan pilihan dan id; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-sma-pemula-S55-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Petakan baris tampilan ke ID tugas Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan pilihan dan id; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 56: Callback selesai - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan callback selesai - Demo: Di VS Code, peragakan contoh minimum untuk Tandai tugas terpilih lalu render ulang. Minta prediksi sebelum menjalankan dan bandingkan dengan tidak ada baris tambahan - Praktik: Tandai tugas terpilih lalu render ulang - Uji/revisi: Tidak ada baris tambahan - Kesalahan latihan: Menandai selesai dari hasil filter mengubah tugas lain - Dukungan: Siswa mencatat keputusan, memisahkan tanggung jawab fungsi, dan menguji kasus baru. Pemula tetap dimulai dari dasar; Lanjutan memakai brief mandiri, bukti uji, serta revisi pengguna. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan callback selesai; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-sma-pemula-S56-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Tandai tugas terpilih lalu render ulang Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan callback selesai; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 14–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 57: Pencarian interaktif - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan pencarian interaktif - Demo: Di VS Code, peragakan contoh minimum untuk Filter judul dan tangani hasil kosong. Minta prediksi sebelum menjalankan dan bandingkan dengan kembali ke semua data tidak kehilangan tugas - Praktik: Filter judul dan tangani hasil kosong - Uji/revisi: Kembali ke semua data tidak kehilangan tugas - Kesalahan latihan: Status boolean dimuat sebagai teks - Dukungan: Siswa mencatat keputusan, memisahkan tanggung jawab fungsi, dan menguji kasus baru. Pemula tetap dimulai dari dasar; Lanjutan memakai brief mandiri, bukti uji, serta revisi pengguna. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan pencarian interaktif; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-sma-pemula-S57-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Filter judul dan tangani hasil kosong Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan pencarian interaktif; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 58: Ringkasan status - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan ringkasan status - Demo: Di VS Code, peragakan contoh minimum untuk Tampilkan selesai dan belum dari data utama. Minta prediksi sebelum menjalankan dan bandingkan dengan ringkasan benar saat pencarian aktif - Praktik: Tampilkan selesai dan belum dari data utama - Uji/revisi: Ringkasan benar saat pencarian aktif - Kesalahan latihan: Status boolean dimuat sebagai teks - Dukungan: Siswa mencatat keputusan, memisahkan tanggung jawab fungsi, dan menguji kasus baru. Pemula tetap dimulai dari dasar; Lanjutan memakai brief mandiri, bukti uji, serta revisi pengguna. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan ringkasan status; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-sma-pemula-S58-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Tampilkan selesai dan belum dari data utama Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan ringkasan status; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 59: Simpan JSON - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan simpan json - Demo: Di VS Code, peragakan contoh minimum untuk Serialisasikan ID, judul, dan status. Minta prediksi sebelum menjalankan dan bandingkan dengan widget tidak dimasukkan ke file - Praktik: Serialisasikan ID, judul, dan status - Uji/revisi: Widget tidak dimasukkan ke file - Kesalahan latihan: Status boolean dimuat sebagai teks - Dukungan: Siswa mencatat keputusan, memisahkan tanggung jawab fungsi, dan menguji kasus baru. Pemula tetap dimulai dari dasar; Lanjutan memakai brief mandiri, bukti uji, serta revisi pengguna. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan simpan json; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-sma-pemula-S59-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Serialisasikan ID, judul, dan status Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan simpan json; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 60: Muat dengan validasi - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan muat dengan validasi - Demo: Di VS Code, peragakan contoh minimum untuk Periksa tipe dan ID sebelum mengganti model. Minta prediksi sebelum menjalankan dan bandingkan dengan status tidak berubah menjadi string - Praktik: Periksa tipe dan ID sebelum mengganti model - Uji/revisi: Status tidak berubah menjadi string - Kesalahan latihan: Status boolean dimuat sebagai teks - Dukungan: Siswa mencatat keputusan, memisahkan tanggung jawab fungsi, dan menguji kasus baru. Pemula tetap dimulai dari dasar; Lanjutan memakai brief mandiri, bukti uji, serta revisi pengguna. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan muat dengan validasi; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-sma-pemula-S60-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Periksa tipe dan ID sebelum mengganti model Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan muat dengan validasi; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 61: File hilang dan rusak - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan file hilang dan rusak - Demo: Di VS Code, peragakan contoh minimum untuk Bedakan data baru dari kegagalan parse. Minta prediksi sebelum menjalankan dan bandingkan dengan data rusak tidak ditimpa otomatis - Praktik: Bedakan data baru dari kegagalan parse - Uji/revisi: Data rusak tidak ditimpa otomatis - Kesalahan latihan: File rusak ditimpa sebelum diperiksa - Dukungan: Siswa mencatat keputusan, memisahkan tanggung jawab fungsi, dan menguji kasus baru. Pemula tetap dimulai dari dasar; Lanjutan memakai brief mandiri, bukti uji, serta revisi pengguna. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan file hilang dan rusak; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-sma-pemula-S61-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Bedakan data baru dari kegagalan parse Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan file hilang dan rusak; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 62: Uji fungsi dan reset - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan uji fungsi dan reset - Demo: Di VS Code, peragakan contoh minimum untuk Periksa ID salah, judul sama, serta buka ulang. Minta prediksi sebelum menjalankan dan bandingkan dengan tidak ada perubahan pada tugas lain - Praktik: Periksa ID salah, judul sama, serta buka ulang - Uji/revisi: Tidak ada perubahan pada tugas lain - Kesalahan latihan: File rusak ditimpa sebelum diperiksa - Dukungan: Siswa mencatat keputusan, memisahkan tanggung jawab fungsi, dan menguji kasus baru. Pemula tetap dimulai dari dasar; Lanjutan memakai brief mandiri, bukti uji, serta revisi pengguna. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan uji fungsi dan reset; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-sma-pemula-S62-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pengujian dan revisi · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 5 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 15 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Periksa ID salah, judul sama, serta buka ulang Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan uji fungsi dan reset; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 17–22 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 63: Uji pengguna dan README - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan uji pengguna dan readme - Demo: Di VS Code, peragakan contoh minimum untuk Minta teman menambah, mencari, menyelesaikan tugas. Minta prediksi sebelum menjalankan dan bandingkan dengan catat hambatan dan perbaiki satu - Praktik: Minta teman menambah, mencari, menyelesaikan tugas - Uji/revisi: Catat hambatan dan perbaiki satu - Kesalahan latihan: File rusak ditimpa sebelum diperiksa - Dukungan: Siswa mencatat keputusan, memisahkan tanggung jawab fungsi, dan menguji kasus baru. Pemula tetap dimulai dari dasar; Lanjutan memakai brief mandiri, bukti uji, serta revisi pengguna. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan uji pengguna dan readme; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-sma-pemula-S63-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pengujian dan revisi · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 5 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 15 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Minta teman menambah, mencari, menyelesaikan tugas Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan uji pengguna dan readme; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 14–22 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 64: Presentasi: Pengatur Tugas Belajar - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan presentasi aplikasi tugas - Demo: Di VS Code, peragakan contoh minimum untuk Demonstrasikan perubahan brief dari penguji. Minta prediksi sebelum menjalankan dan bandingkan dengan sumber dan laporan uji mendukung keputusan - Praktik: Demonstrasikan perubahan brief dari penguji Kerjakan perubahan di Visual Studio Code (VS Code); serahkan sumber .py dan folder proyek, README, data sintetis, serta tabel hasil uji, dan catatan uji. - Uji/revisi: Sumber dan laporan uji mendukung keputusan - Kesalahan latihan: File rusak ditimpa sebelum diperiksa - Dukungan: Siswa mencatat keputusan, memisahkan tanggung jawab fungsi, dan menguji kasus baru. Pemula tetap dimulai dari dasar; Lanjutan memakai brief mandiri, bukti uji, serta revisi pengguna. - Pengayaan: Pilih satu masukan yang berguna, revisi bagian terkait dan tunjukkan hasil uji ulang; tidak perlu menambah fitur baru. - Bukti/refleksi: python-sma-pemula-S64-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Presentasi karya · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 3 menit → Persiapan sumber 2 menit → Demonstrasi siswa 24 menit → Pertanyaan dan umpan balik 21 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Demonstrasikan perubahan brief dari penguji Kerjakan perubahan di Visual Studio Code (VS Code); serahkan sumber .py dan folder proyek, README, data sintetis, serta tabel hasil uji, dan catatan uji. Bukti pemahaman: Tunjukkan satu bagian yang dibuat sendiri, satu keputusan dan satu perbaikan; jawab satu pertanyaan menggunakan sumber karya. Pengayaan: Pilih satu masukan yang berguna, revisi bagian terkait dan tunjukkan hasil uji ulang; tidak perlu menambah fitur baru. Blok demonstrasi kelas: 19–24 menit. Blok seluruh giliran demonstrasi kelas; bukan waktu bicara per siswa. Umpan balik mempunyai slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Presentasi bergiliran: 4 menit/siswa; kapasitas rencana 4 siswa, 4 menit pergantian. Grup 1–4 siswa: gunakan sisa blok untuk latihan penjelasan atau pertanyaan singkat; tidak perlu memperpanjang bicara demi mengisi waktu. Private menggunakan varian tersendiri. Varian private (satu siswa): Pembuka dan cek bekal 5 menit → Konsep dan demo 3 menit → Persiapan sumber 2 menit → Demonstrasi siswa 15 menit → Pertanyaan dan umpan balik 30 menit → Simpan, refleksi dan cadangan waktu 5 menit. Blok 15 menit: sekitar 5 menit demonstrasi dan 10 menit penjelasan/probe; 30 menit uji, masukan dan revisi. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. ## SMA · Lanjutan Prasyarat: Dapat menulis fungsi yang terpisah dari GUI, memakai callback Tkinter sederhana, mengelola list/dictionary, memvalidasi input, dan menyimpan JSON. Audit awal mendahului CSV, SQL, serta pengujian otomatis. Batas tugas: 64 sesi × 1 jam; empat proyek: analisis CSV, katalog SQLite, inventaris dua tampilan, lalu perpustakaan mini. Data sintetis 10–30 entri; SQL berparameter, transaksi, unittest, dan laporan lokal. Tidak memerlukan server, login, atau distribusi .exe. Semua file dibuka sebagai satu folder proyek di VS Code dengan interpreter terpilih, terminal terintegrasi, serta debugger. Pendampingan: Siswa mencatat keputusan, memisahkan tanggung jawab fungsi, dan menguji kasus baru. Pemula tetap dimulai dari dasar; Lanjutan memakai brief mandiri, bukti uji, serta revisi pengguna. ### Proyek 1: Analisis Kegiatan Belajar (sesi 1–16) Alat terminal yang memvalidasi CSV kegiatan dan mengekspor ringkasan durasi per kategori. Tool proyek: Visual Studio Code (VS Code). Sumber: .py dan folder proyek. Hasil: README, data sintetis, serta tabel hasil uji, unittest, database latihan, dan laporan sesuai proyek. Tantangan baru: Siswa merancang pipeline input-validasi-agregasi-output dengan kontrak antarmodul dan pengujian otomatis; hasil berbeda dari kuis serta aplikasi tugas Pemula. Keputusan siswa: Pilih menolak seluruh file atau melaporkan baris salah. Tentukan kebijakan ID duplikat serta urutan laporan. Uji perubahan brief: Penguji memberi header salah dan kategori baru; laporkan kesalahan secara tepat lalu hasilkan ringkasan valid tanpa mengubah input. Contoh pengerjaan: Data membaca 20 menit, sains 30, membaca 10 menghasilkan membaca 30 dan sains 30. csv.DictReader menghasilkan teks; konversikan menit ke int positif. Buka CSV dengan newline kosong dan encoding UTF-8. Input serta output berbeda. Mulai assert, lalu kenali TestCase dan assertEqual pada contoh kecil. Hasil minimum: Alat terminal yang memvalidasi CSV kegiatan dan mengekspor ringkasan durasi per kategori. Pengayaan: Setelah hasil minimum lolos, buat satu variasi aturan atau data pada proyek Analisis Kegiatan Belajar dan bandingkan hasilnya; jangan menambah banyak fitur sekaligus. Transfer: Mentor mengubah satu aturan atau data pada Analisis Kegiatan Belajar. Siswa memprediksi akibat, memilih bagian yang perlu diubah, dan menyusun satu uji baru. Kesiapan lanjut: Lanjut jika hasil minimum dapat diulang, satu perubahan baru dapat dikerjakan, dan siswa menjelaskan satu perbaikan. Catat bentuk bantuan; bila belum siap, ulangi keterampilan yang belum tampak sebelum menambah konsep. #### Sesi 1: Audit fungsi dan struktur data - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan audit fungsi dan struktur data - Demo: Siapkan VS Code, Python 3, ekstensi Python dan Python Debugger dari Microsoft. Pilih Python: Select Interpreter, jalankan file .py pada terminal terintegrasi, lalu uji satu breakpoint. Simpan seluruh sumber dan data sintetis dalam satu folder proyek. Di VS Code, peragakan contoh minimum untuk Telusuri fungsi terpisah pada contoh kegiatan. Minta prediksi sebelum menjalankan dan bandingkan dengan prasyarat input-loop-fungsi-data terlihat mandiri - Praktik: Telusuri fungsi terpisah pada contoh kegiatan - Uji/revisi: Prasyarat input-loop-fungsi-data terlihat mandiri - Kesalahan latihan: Durasi CSV dijumlah sebagai string - Dukungan: Siswa mencatat keputusan, memisahkan tanggung jawab fungsi, dan menguji kasus baru. Pemula tetap dimulai dari dasar; Lanjutan memakai brief mandiri, bukti uji, serta revisi pengguna. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan audit fungsi dan struktur data; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-sma-lanjutan-S01-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Orientasi alat · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 10 menit → Praktik 20 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Sumber latihan baru; perangkat siap sebelum kelas. Minimum: Telusuri fungsi terpisah pada contoh kegiatan Bukti pemahaman: Tutup lalu buka kembali sumber, ulangi satu tindakan tanpa mengikuti klik mentor dan jelaskan apa yang berubah. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan audit fungsi dan struktur data; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 5–10 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 2: Skema dan hasil manual - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan skema dan hasil manual - Demo: Di VS Code, peragakan contoh minimum untuk Tetapkan id, kategori, menit dan hitung contoh. Minta prediksi sebelum menjalankan dan bandingkan dengan satuan serta kategori kosong terdefinisi - Praktik: Tetapkan id, kategori, menit dan hitung contoh - Uji/revisi: Satuan serta kategori kosong terdefinisi - Kesalahan latihan: Durasi CSV dijumlah sebagai string - Dukungan: Siswa mencatat keputusan, memisahkan tanggung jawab fungsi, dan menguji kasus baru. Pemula tetap dimulai dari dasar; Lanjutan memakai brief mandiri, bukti uji, serta revisi pengguna. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan skema dan hasil manual; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-sma-lanjutan-S02-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Tetapkan id, kategori, menit dan hitung contoh Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan skema dan hasil manual; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 3: csv.DictReader - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan csv.dictreader - Demo: Di VS Code, peragakan contoh minimum untuk Baca header dan tiga baris sintetis. Minta prediksi sebelum menjalankan dan bandingkan dengan parser mengenali kolom tanpa indeks tetap - Praktik: Baca header dan tiga baris sintetis - Uji/revisi: Parser mengenali kolom tanpa indeks tetap - Kesalahan latihan: Durasi CSV dijumlah sebagai string - Dukungan: Siswa mencatat keputusan, memisahkan tanggung jawab fungsi, dan menguji kasus baru. Pemula tetap dimulai dari dasar; Lanjutan memakai brief mandiri, bukti uji, serta revisi pengguna. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan csv.dictreader; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-sma-lanjutan-S03-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Baca header dan tiga baris sintetis Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan csv.dictreader; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 4: Konversi dan validasi - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan konversi dan validasi - Demo: Di VS Code, peragakan contoh minimum untuk Konversi menit dan kumpulkan nomor baris salah. Minta prediksi sebelum menjalankan dan bandingkan dengan huruf serta nilai negatif ditolak - Praktik: Konversi menit dan kumpulkan nomor baris salah - Uji/revisi: Huruf serta nilai negatif ditolak - Kesalahan latihan: Durasi CSV dijumlah sebagai string - Dukungan: Siswa mencatat keputusan, memisahkan tanggung jawab fungsi, dan menguji kasus baru. Pemula tetap dimulai dari dasar; Lanjutan memakai brief mandiri, bukti uji, serta revisi pengguna. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan konversi dan validasi; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-sma-lanjutan-S04-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Konversi menit dan kumpulkan nomor baris salah Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan konversi dan validasi; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 5: Fungsi agregasi - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan fungsi agregasi - Demo: Di VS Code, peragakan contoh minimum untuk Jumlahkan menit tiap kategori pada dictionary baru. Minta prediksi sebelum menjalankan dan bandingkan dengan membaca 20 dan 10 menjadi 30 - Praktik: Jumlahkan menit tiap kategori pada dictionary baru - Uji/revisi: Membaca 20 dan 10 menjadi 30 - Kesalahan latihan: Parser mencampur pencetakan dan logika agregasi - Dukungan: Siswa mencatat keputusan, memisahkan tanggung jawab fungsi, dan menguji kasus baru. Pemula tetap dimulai dari dasar; Lanjutan memakai brief mandiri, bukti uji, serta revisi pengguna. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan fungsi agregasi; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-sma-lanjutan-S05-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Jumlahkan menit tiap kategori pada dictionary baru Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan fungsi agregasi; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 14–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 6: Pemecahan modul - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan pemecahan modul - Demo: Di VS Code, peragakan contoh minimum untuk Pisahkan parser dan logika pada file berbeda. Minta prediksi sebelum menjalankan dan bandingkan dengan modul logika tidak membaca file saat diimpor - Praktik: Pisahkan parser dan logika pada file berbeda - Uji/revisi: Modul logika tidak membaca file saat diimpor - Kesalahan latihan: Parser mencampur pencetakan dan logika agregasi - Dukungan: Siswa mencatat keputusan, memisahkan tanggung jawab fungsi, dan menguji kasus baru. Pemula tetap dimulai dari dasar; Lanjutan memakai brief mandiri, bukti uji, serta revisi pengguna. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan pemecahan modul; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-sma-lanjutan-S06-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Pisahkan parser dan logika pada file berbeda Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan pemecahan modul; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 7: Assert sebelum framework - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan assert sebelum framework - Demo: Di VS Code, peragakan contoh minimum untuk Uji dua fungsi kecil dengan assert. Minta prediksi sebelum menjalankan dan bandingkan dengan kasus salah benar-benar gagal - Praktik: Uji dua fungsi kecil dengan assert - Uji/revisi: Kasus salah benar-benar gagal - Kesalahan latihan: Parser mencampur pencetakan dan logika agregasi - Dukungan: Siswa mencatat keputusan, memisahkan tanggung jawab fungsi, dan menguji kasus baru. Pemula tetap dimulai dari dasar; Lanjutan memakai brief mandiri, bukti uji, serta revisi pengguna. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan assert sebelum framework; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-sma-lanjutan-S07-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Uji dua fungsi kecil dengan assert Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan assert sebelum framework; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 8: Unittest dasar - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan unittest dasar - Demo: Di VS Code, peragakan contoh minimum untuk Kenali TestCase, assertEqual, dan discovery. Minta prediksi sebelum menjalankan dan bandingkan dengan satu test dapat ditemukan dan dijalankan - Praktik: Kenali TestCase, assertEqual, dan discovery - Uji/revisi: Satu test dapat ditemukan dan dijalankan - Kesalahan latihan: Parser mencampur pencetakan dan logika agregasi - Dukungan: Siswa mencatat keputusan, memisahkan tanggung jawab fungsi, dan menguji kasus baru. Pemula tetap dimulai dari dasar; Lanjutan memakai brief mandiri, bukti uji, serta revisi pengguna. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan unittest dasar; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-sma-lanjutan-S08-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Kenali TestCase, assertEqual, dan discovery Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan unittest dasar; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 9: Kasus kosong dan duplikat - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan kasus kosong dan duplikat - Demo: Di VS Code, peragakan contoh minimum untuk Tulis aturan ID serta file tanpa baris. Minta prediksi sebelum menjalankan dan bandingkan dengan hasil jelas dan tidak membagi nol - Praktik: Tulis aturan ID serta file tanpa baris - Uji/revisi: Hasil jelas dan tidak membagi nol - Kesalahan latihan: Pengujian memakai hasil program sendiri sebagai jawaban - Dukungan: Siswa mencatat keputusan, memisahkan tanggung jawab fungsi, dan menguji kasus baru. Pemula tetap dimulai dari dasar; Lanjutan memakai brief mandiri, bukti uji, serta revisi pengguna. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan kasus kosong dan duplikat; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-sma-lanjutan-S09-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Tulis aturan ID serta file tanpa baris Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan kasus kosong dan duplikat; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 10: Kesalahan header - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan kesalahan header - Demo: Di VS Code, peragakan contoh minimum untuk Tolak kolom wajib yang hilang. Minta prediksi sebelum menjalankan dan bandingkan dengan pesan menunjukkan skema yang diharapkan - Praktik: Tolak kolom wajib yang hilang - Uji/revisi: Pesan menunjukkan skema yang diharapkan - Kesalahan latihan: Pengujian memakai hasil program sendiri sebagai jawaban - Dukungan: Siswa mencatat keputusan, memisahkan tanggung jawab fungsi, dan menguji kasus baru. Pemula tetap dimulai dari dasar; Lanjutan memakai brief mandiri, bukti uji, serta revisi pengguna. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan kesalahan header; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-sma-lanjutan-S10-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Tolak kolom wajib yang hilang Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan kesalahan header; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 11: Laporan CSV terpisah - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan laporan csv terpisah - Demo: Di VS Code, peragakan contoh minimum untuk Tulis ringkasan melalui DictWriter. Minta prediksi sebelum menjalankan dan bandingkan dengan file sumber tidak berubah - Praktik: Tulis ringkasan melalui DictWriter - Uji/revisi: File sumber tidak berubah - Kesalahan latihan: Pengujian memakai hasil program sendiri sebagai jawaban - Dukungan: Siswa mencatat keputusan, memisahkan tanggung jawab fungsi, dan menguji kasus baru. Pemula tetap dimulai dari dasar; Lanjutan memakai brief mandiri, bukti uji, serta revisi pengguna. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan laporan csv terpisah; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-sma-lanjutan-S11-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Tulis ringkasan melalui DictWriter Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan laporan csv terpisah; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 12: newline dan encoding - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan newline dan encoding - Demo: Di VS Code, peragakan contoh minimum untuk Uji baris beraksen serta pembukaan ulang CSV. Minta prediksi sebelum menjalankan dan bandingkan dengan tidak ada baris kosong tambahan - Praktik: Uji baris beraksen serta pembukaan ulang CSV - Uji/revisi: Tidak ada baris kosong tambahan - Kesalahan latihan: Pengujian memakai hasil program sendiri sebagai jawaban - Dukungan: Siswa mencatat keputusan, memisahkan tanggung jawab fungsi, dan menguji kasus baru. Pemula tetap dimulai dari dasar; Lanjutan memakai brief mandiri, bukti uji, serta revisi pengguna. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan newline dan encoding; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-sma-lanjutan-S12-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Uji baris beraksen serta pembukaan ulang CSV Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan newline dan encoding; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 13: Uji otomatis pipeline - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan uji otomatis pipeline - Demo: Di VS Code, peragakan contoh minimum untuk Uji parser melalui file sementara. Minta prediksi sebelum menjalankan dan bandingkan dengan test tidak bergantung data pribadi - Praktik: Uji parser melalui file sementara - Uji/revisi: Test tidak bergantung data pribadi - Kesalahan latihan: Ekspor menimpa data asal - Dukungan: Siswa mencatat keputusan, memisahkan tanggung jawab fungsi, dan menguji kasus baru. Pemula tetap dimulai dari dasar; Lanjutan memakai brief mandiri, bukti uji, serta revisi pengguna. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan uji otomatis pipeline; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-sma-lanjutan-S13-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pengujian dan revisi · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 5 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 15 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Uji parser melalui file sementara Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan uji otomatis pipeline; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 14–22 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 14: Data baru dari penguji - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan data baru dari penguji - Demo: Di VS Code, peragakan contoh minimum untuk Proses kategori dan durasi yang belum dicontohkan. Minta prediksi sebelum menjalankan dan bandingkan dengan hasil cocok dengan hitungan independen - Praktik: Proses kategori dan durasi yang belum dicontohkan - Uji/revisi: Hasil cocok dengan hitungan independen - Kesalahan latihan: Ekspor menimpa data asal - Dukungan: Siswa mencatat keputusan, memisahkan tanggung jawab fungsi, dan menguji kasus baru. Pemula tetap dimulai dari dasar; Lanjutan memakai brief mandiri, bukti uji, serta revisi pengguna. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan data baru dari penguji; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-sma-lanjutan-S14-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Proses kategori dan durasi yang belum dicontohkan Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan data baru dari penguji; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 15: Dokumentasi batas - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan dokumentasi batas - Demo: Di VS Code, peragakan contoh minimum untuk Jelaskan unit, kebijakan data salah, serta hasil. Minta prediksi sebelum menjalankan dan bandingkan dengan readme tidak menjanjikan analisis tanpa batas - Praktik: Jelaskan unit, kebijakan data salah, serta hasil - Uji/revisi: README tidak menjanjikan analisis tanpa batas - Kesalahan latihan: Ekspor menimpa data asal - Dukungan: Siswa mencatat keputusan, memisahkan tanggung jawab fungsi, dan menguji kasus baru. Pemula tetap dimulai dari dasar; Lanjutan memakai brief mandiri, bukti uji, serta revisi pengguna. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan dokumentasi batas; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-sma-lanjutan-S15-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Jelaskan unit, kebijakan data salah, serta hasil Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan dokumentasi batas; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 16: Presentasi: Analisis Kegiatan Belajar - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan presentasi analisis - Demo: Di VS Code, peragakan contoh minimum untuk Serahkan modul, CSV sintetis, dan hasil unittest. Minta prediksi sebelum menjalankan dan bandingkan dengan brief baru dijalankan dari terminal - Praktik: Serahkan modul, CSV sintetis, dan hasil unittest Penguji memberi header salah dan kategori baru; laporkan kesalahan secara tepat lalu hasilkan ringkasan valid tanpa mengubah input. Kerjakan perubahan di Visual Studio Code (VS Code); serahkan sumber .py dan folder proyek, README, data sintetis, serta tabel hasil uji, unittest, database latihan, dan laporan sesuai proyek, dan catatan uji. - Uji/revisi: Brief baru dijalankan dari terminal - Kesalahan latihan: Ekspor menimpa data asal - Dukungan: Siswa mencatat keputusan, memisahkan tanggung jawab fungsi, dan menguji kasus baru. Pemula tetap dimulai dari dasar; Lanjutan memakai brief mandiri, bukti uji, serta revisi pengguna. - Pengayaan: Pilih satu masukan yang berguna, revisi bagian terkait dan tunjukkan hasil uji ulang; tidak perlu menambah fitur baru. - Bukti/refleksi: python-sma-lanjutan-S16-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Presentasi karya · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 3 menit → Persiapan sumber 2 menit → Demonstrasi siswa 24 menit → Pertanyaan dan umpan balik 21 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Serahkan modul, CSV sintetis, dan hasil unittest Penguji memberi header salah dan kategori baru; laporkan kesalahan secara tepat lalu hasilkan ringkasan valid tanpa mengubah input. Kerjakan perubahan di Visual Studio Code (VS Code); serahkan sumber .py dan folder proyek, README, data sintetis, serta tabel hasil uji, unittest, database latihan, dan laporan sesuai proyek, dan catatan uji. Bukti pemahaman: Tunjukkan satu bagian yang dibuat sendiri, satu keputusan dan satu perbaikan; jawab satu pertanyaan menggunakan sumber karya. Pengayaan: Pilih satu masukan yang berguna, revisi bagian terkait dan tunjukkan hasil uji ulang; tidak perlu menambah fitur baru. Blok demonstrasi kelas: 19–24 menit. Blok seluruh giliran demonstrasi kelas; bukan waktu bicara per siswa. Umpan balik mempunyai slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Presentasi bergiliran: 4 menit/siswa; kapasitas rencana 4 siswa, 4 menit pergantian. Grup 1–4 siswa: gunakan sisa blok untuk latihan penjelasan atau pertanyaan singkat; tidak perlu memperpanjang bicara demi mengisi waktu. Private menggunakan varian tersendiri. Varian private (satu siswa): Pembuka dan cek bekal 5 menit → Konsep dan demo 3 menit → Persiapan sumber 2 menit → Demonstrasi siswa 15 menit → Pertanyaan dan umpan balik 30 menit → Simpan, refleksi dan cadangan waktu 5 menit. Blok 15 menit: sekitar 5 menit demonstrasi dan 10 menit penjelasan/probe; 30 menit uji, masukan dan revisi. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. ### Proyek 2: Katalog Buku Lokal (sesi 17–32) Katalog terminal dengan ID buku, pencarian, ubah, hapus, serta database SQLite lokal. Tool proyek: Visual Studio Code (VS Code). Sumber: .py dan folder proyek. Hasil: README, data sintetis, serta tabel hasil uji, unittest, database latihan, dan laporan sesuai proyek. Tantangan baru: Persistensi memakai tabel relasional, identitas baris, dan transaksi; siswa merancang repository yang dapat diuji, bukan sekadar mengganti file JSON Pemula. Keputusan siswa: Tentukan field wajib dan kebijakan judul sama. Pilih respons ketika ID tidak ditemukan. Uji perubahan brief: Penguji menambah judul berapostrof serta meminta ubah ID yang tidak ada; data valid harus tetap utuh dan hasil dapat dijelaskan. Contoh pengerjaan: Gunakan sqlite3 dengan parameter ?, bukan interpolasi input. Buat tabel buku id INTEGER PRIMARY KEY dan judul TEXT NOT NULL. Tambah Buku A, ubah, cari, hapus melalui ID; uji judul berapostrof. Gunakan database sementara pada unittest dan tutup koneksi setelah operasi. Hasil minimum: Katalog terminal dengan ID buku, pencarian, ubah, hapus, serta database SQLite lokal. Pengayaan: Setelah hasil minimum lolos, buat satu variasi aturan atau data pada proyek Katalog Buku Lokal dan bandingkan hasilnya; jangan menambah banyak fitur sekaligus. Transfer: Mentor mengubah satu aturan atau data pada Katalog Buku Lokal. Siswa memprediksi akibat, memilih bagian yang perlu diubah, dan menyusun satu uji baru. Kesiapan lanjut: Lanjut jika hasil minimum dapat diulang, satu perubahan baru dapat dikerjakan, dan siswa menjelaskan satu perbaikan. Catat bentuk bantuan; bila belum siap, ulangi keterampilan yang belum tampak sebelum menambah konsep. #### Sesi 17: Model relasional kecil - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan model relasional kecil - Demo: Siapkan VS Code, Python 3, ekstensi Python dan Python Debugger dari Microsoft. Pilih Python: Select Interpreter, jalankan file .py pada terminal terintegrasi, lalu uji satu breakpoint. Simpan seluruh sumber dan data sintetis dalam satu folder proyek. Di VS Code, peragakan contoh minimum untuk Tentukan field buku serta arti primary key. Minta prediksi sebelum menjalankan dan bandingkan dengan judul sama tidak dianggap id sama - Praktik: Tentukan field buku serta arti primary key - Uji/revisi: Judul sama tidak dianggap ID sama - Kesalahan latihan: Judul dijadikan ID sehingga buku berbeda bertabrakan - Dukungan: Siswa mencatat keputusan, memisahkan tanggung jawab fungsi, dan menguji kasus baru. Pemula tetap dimulai dari dasar; Lanjutan memakai brief mandiri, bukti uji, serta revisi pengguna. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan model relasional kecil; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-sma-lanjutan-S17-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Latihan kecil atau sumber awal proyek ini; tidak mengasumsikan proyek akhir sudah jadi. Minimum: Tentukan field buku serta arti primary key Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan model relasional kecil; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 18: Pemeriksaan sqlite3 - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan pemeriksaan sqlite3 - Demo: Di VS Code, peragakan contoh minimum untuk Buka database latihan pada folder proyek. Minta prediksi sebelum menjalankan dan bandingkan dengan lokasi file db tercatat - Praktik: Buka database latihan pada folder proyek - Uji/revisi: Lokasi file DB tercatat - Kesalahan latihan: Judul dijadikan ID sehingga buku berbeda bertabrakan - Dukungan: Siswa mencatat keputusan, memisahkan tanggung jawab fungsi, dan menguji kasus baru. Pemula tetap dimulai dari dasar; Lanjutan memakai brief mandiri, bukti uji, serta revisi pengguna. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan pemeriksaan sqlite3; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-sma-lanjutan-S18-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pengujian dan revisi · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 5 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 15 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Buka database latihan pada folder proyek Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan pemeriksaan sqlite3; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 14–22 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 19: CREATE TABLE - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan create table - Demo: Di VS Code, peragakan contoh minimum untuk Buat tabel buku dan batas field wajib. Minta prediksi sebelum menjalankan dan bandingkan dengan tabel terbentuk pada database kosong - Praktik: Buat tabel buku dan batas field wajib - Uji/revisi: Tabel terbentuk pada database kosong - Kesalahan latihan: Judul dijadikan ID sehingga buku berbeda bertabrakan - Dukungan: Siswa mencatat keputusan, memisahkan tanggung jawab fungsi, dan menguji kasus baru. Pemula tetap dimulai dari dasar; Lanjutan memakai brief mandiri, bukti uji, serta revisi pengguna. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan create table; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-sma-lanjutan-S19-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Buat tabel buku dan batas field wajib Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan create table; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 20: SELECT dan baris - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan select dan baris - Demo: Di VS Code, peragakan contoh minimum untuk Baca katalog kosong serta tiga buku. Minta prediksi sebelum menjalankan dan bandingkan dengan urutan hasil ditetapkan - Praktik: Baca katalog kosong serta tiga buku - Uji/revisi: Urutan hasil ditetapkan - Kesalahan latihan: Judul dijadikan ID sehingga buku berbeda bertabrakan - Dukungan: Siswa mencatat keputusan, memisahkan tanggung jawab fungsi, dan menguji kasus baru. Pemula tetap dimulai dari dasar; Lanjutan memakai brief mandiri, bukti uji, serta revisi pengguna. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan select dan baris; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-sma-lanjutan-S20-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Baca katalog kosong serta tiga buku Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan select dan baris; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 21: INSERT berparameter - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan insert berparameter - Demo: Di VS Code, peragakan contoh minimum untuk Tambahkan judul melalui placeholder ?. Minta prediksi sebelum menjalankan dan bandingkan dengan judul berapostrof tersimpan utuh - Praktik: Tambahkan judul melalui placeholder ? - Uji/revisi: Judul berapostrof tersimpan utuh - Kesalahan latihan: Input ditempel langsung ke SQL - Dukungan: Siswa mencatat keputusan, memisahkan tanggung jawab fungsi, dan menguji kasus baru. Pemula tetap dimulai dari dasar; Lanjutan memakai brief mandiri, bukti uji, serta revisi pengguna. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan insert berparameter; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-sma-lanjutan-S21-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Tambahkan judul melalui placeholder ? Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan insert berparameter; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 22: Validasi form terminal - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan validasi form terminal - Demo: Di VS Code, peragakan contoh minimum untuk Tolak judul kosong sebelum SQL. Minta prediksi sebelum menjalankan dan bandingkan dengan tidak ada baris kosong baru - Praktik: Tolak judul kosong sebelum SQL - Uji/revisi: Tidak ada baris kosong baru - Kesalahan latihan: Input ditempel langsung ke SQL - Dukungan: Siswa mencatat keputusan, memisahkan tanggung jawab fungsi, dan menguji kasus baru. Pemula tetap dimulai dari dasar; Lanjutan memakai brief mandiri, bukti uji, serta revisi pengguna. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan validasi form terminal; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-sma-lanjutan-S22-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Tolak judul kosong sebelum SQL Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan validasi form terminal; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 23: UPDATE berdasarkan ID - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan update berdasarkan id - Demo: Di VS Code, peragakan contoh minimum untuk Ubah satu buku pada ID terpilih. Minta prediksi sebelum menjalankan dan bandingkan dengan baris lain tidak berubah - Praktik: Ubah satu buku pada ID terpilih - Uji/revisi: Baris lain tidak berubah - Kesalahan latihan: Input ditempel langsung ke SQL - Dukungan: Siswa mencatat keputusan, memisahkan tanggung jawab fungsi, dan menguji kasus baru. Pemula tetap dimulai dari dasar; Lanjutan memakai brief mandiri, bukti uji, serta revisi pengguna. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan update berdasarkan id; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-sma-lanjutan-S23-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Ubah satu buku pada ID terpilih Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan update berdasarkan id; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 24: DELETE dan konfirmasi - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan delete dan konfirmasi - Demo: Di VS Code, peragakan contoh minimum untuk Hapus satu ID setelah keputusan eksplisit. Minta prediksi sebelum menjalankan dan bandingkan dengan id tidak ditemukan memberi hasil jelas - Praktik: Hapus satu ID setelah keputusan eksplisit - Uji/revisi: ID tidak ditemukan memberi hasil jelas - Kesalahan latihan: Input ditempel langsung ke SQL - Dukungan: Siswa mencatat keputusan, memisahkan tanggung jawab fungsi, dan menguji kasus baru. Pemula tetap dimulai dari dasar; Lanjutan memakai brief mandiri, bukti uji, serta revisi pengguna. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan delete dan konfirmasi; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-sma-lanjutan-S24-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Hapus satu ID setelah keputusan eksplisit Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan delete dan konfirmasi; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 25: Commit dan rollback - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan commit dan rollback - Demo: Di VS Code, peragakan contoh minimum untuk Uji simpan perubahan dan pembatalan transaksi. Minta prediksi sebelum menjalankan dan bandingkan dengan kegagalan tidak menyisakan perubahan separuh - Praktik: Uji simpan perubahan dan pembatalan transaksi - Uji/revisi: Kegagalan tidak menyisakan perubahan separuh - Kesalahan latihan: Perubahan tidak di-commit sebelum koneksi ditutup - Dukungan: Siswa mencatat keputusan, memisahkan tanggung jawab fungsi, dan menguji kasus baru. Pemula tetap dimulai dari dasar; Lanjutan memakai brief mandiri, bukti uji, serta revisi pengguna. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan commit dan rollback; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-sma-lanjutan-S25-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Uji simpan perubahan dan pembatalan transaksi Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan commit dan rollback; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 26: Pencarian berparameter - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan pencarian berparameter - Demo: Di VS Code, peragakan contoh minimum untuk Cari kata judul dengan nilai parameter. Minta prediksi sebelum menjalankan dan bandingkan dengan input bukan bagian teks sql - Praktik: Cari kata judul dengan nilai parameter - Uji/revisi: Input bukan bagian teks SQL - Kesalahan latihan: Perubahan tidak di-commit sebelum koneksi ditutup - Dukungan: Siswa mencatat keputusan, memisahkan tanggung jawab fungsi, dan menguji kasus baru. Pemula tetap dimulai dari dasar; Lanjutan memakai brief mandiri, bukti uji, serta revisi pengguna. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan pencarian berparameter; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-sma-lanjutan-S26-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Cari kata judul dengan nilai parameter Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan pencarian berparameter; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 27: Repository terpisah - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan repository terpisah - Demo: Di VS Code, peragakan contoh minimum untuk Pisahkan akses DB dari menu terminal. Minta prediksi sebelum menjalankan dan bandingkan dengan repository dapat dipanggil test - Praktik: Pisahkan akses DB dari menu terminal - Uji/revisi: Repository dapat dipanggil test - Kesalahan latihan: Perubahan tidak di-commit sebelum koneksi ditutup - Dukungan: Siswa mencatat keputusan, memisahkan tanggung jawab fungsi, dan menguji kasus baru. Pemula tetap dimulai dari dasar; Lanjutan memakai brief mandiri, bukti uji, serta revisi pengguna. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan repository terpisah; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-sma-lanjutan-S27-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Pisahkan akses DB dari menu terminal Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan repository terpisah; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 28: Koneksi dan penutupan - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan koneksi dan penutupan - Demo: Di VS Code, peragakan contoh minimum untuk Tutup koneksi pada alur berhasil maupun gagal. Minta prediksi sebelum menjalankan dan bandingkan dengan file dapat dibuka ulang setelah operasi - Praktik: Tutup koneksi pada alur berhasil maupun gagal - Uji/revisi: File dapat dibuka ulang setelah operasi - Kesalahan latihan: Perubahan tidak di-commit sebelum koneksi ditutup - Dukungan: Siswa mencatat keputusan, memisahkan tanggung jawab fungsi, dan menguji kasus baru. Pemula tetap dimulai dari dasar; Lanjutan memakai brief mandiri, bukti uji, serta revisi pengguna. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan koneksi dan penutupan; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-sma-lanjutan-S28-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Tutup koneksi pada alur berhasil maupun gagal Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan koneksi dan penutupan; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 29: Unittest DB sementara - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan unittest db sementara - Demo: Di VS Code, peragakan contoh minimum untuk Pakai TemporaryDirectory untuk setiap test. Minta prediksi sebelum menjalankan dan bandingkan dengan database kelas tidak tersentuh - Praktik: Pakai TemporaryDirectory untuk setiap test - Uji/revisi: Database kelas tidak tersentuh - Kesalahan latihan: Test menghapus database kerja pengguna - Dukungan: Siswa mencatat keputusan, memisahkan tanggung jawab fungsi, dan menguji kasus baru. Pemula tetap dimulai dari dasar; Lanjutan memakai brief mandiri, bukti uji, serta revisi pengguna. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan unittest db sementara; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-sma-lanjutan-S29-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Pakai TemporaryDirectory untuk setiap test Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan unittest db sementara; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 30: Regresi CRUD - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan regresi crud - Demo: Di VS Code, peragakan contoh minimum untuk Uji tambah-ubah-cari-hapus serta ID salah. Minta prediksi sebelum menjalankan dan bandingkan dengan hasil diperiksa dengan select terpisah - Praktik: Uji tambah-ubah-cari-hapus serta ID salah - Uji/revisi: Hasil diperiksa dengan SELECT terpisah - Kesalahan latihan: Test menghapus database kerja pengguna - Dukungan: Siswa mencatat keputusan, memisahkan tanggung jawab fungsi, dan menguji kasus baru. Pemula tetap dimulai dari dasar; Lanjutan memakai brief mandiri, bukti uji, serta revisi pengguna. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan regresi crud; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-sma-lanjutan-S30-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pengujian dan revisi · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 5 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 15 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Uji tambah-ubah-cari-hapus serta ID salah Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan regresi crud; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 14–22 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 31: Pemulihan dan README - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan pemulihan dan readme - Demo: Di VS Code, peragakan contoh minimum untuk Catat cara backup ketika aplikasi ditutup. Minta prediksi sebelum menjalankan dan bandingkan dengan petunjuk cocok dengan lokasi db - Praktik: Catat cara backup ketika aplikasi ditutup - Uji/revisi: Petunjuk cocok dengan lokasi DB - Kesalahan latihan: Test menghapus database kerja pengguna - Dukungan: Siswa mencatat keputusan, memisahkan tanggung jawab fungsi, dan menguji kasus baru. Pemula tetap dimulai dari dasar; Lanjutan memakai brief mandiri, bukti uji, serta revisi pengguna. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan pemulihan dan readme; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-sma-lanjutan-S31-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pengujian dan revisi · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 5 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 15 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Catat cara backup ketika aplikasi ditutup Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan pemulihan dan readme; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 14–22 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 32: Presentasi: Katalog Buku Lokal - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan presentasi katalog - Demo: Di VS Code, peragakan contoh minimum untuk Uji data baru dari penguji. Minta prediksi sebelum menjalankan dan bandingkan dengan siswa menjelaskan parameter serta commit - Praktik: Uji data baru dari penguji Penguji menambah judul berapostrof serta meminta ubah ID yang tidak ada; data valid harus tetap utuh dan hasil dapat dijelaskan. Kerjakan perubahan di Visual Studio Code (VS Code); serahkan sumber .py dan folder proyek, README, data sintetis, serta tabel hasil uji, unittest, database latihan, dan laporan sesuai proyek, dan catatan uji. - Uji/revisi: Siswa menjelaskan parameter serta commit - Kesalahan latihan: Test menghapus database kerja pengguna - Dukungan: Siswa mencatat keputusan, memisahkan tanggung jawab fungsi, dan menguji kasus baru. Pemula tetap dimulai dari dasar; Lanjutan memakai brief mandiri, bukti uji, serta revisi pengguna. - Pengayaan: Pilih satu masukan yang berguna, revisi bagian terkait dan tunjukkan hasil uji ulang; tidak perlu menambah fitur baru. - Bukti/refleksi: python-sma-lanjutan-S32-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Presentasi karya · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 3 menit → Persiapan sumber 2 menit → Demonstrasi siswa 24 menit → Pertanyaan dan umpan balik 21 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Uji data baru dari penguji Penguji menambah judul berapostrof serta meminta ubah ID yang tidak ada; data valid harus tetap utuh dan hasil dapat dijelaskan. Kerjakan perubahan di Visual Studio Code (VS Code); serahkan sumber .py dan folder proyek, README, data sintetis, serta tabel hasil uji, unittest, database latihan, dan laporan sesuai proyek, dan catatan uji. Bukti pemahaman: Tunjukkan satu bagian yang dibuat sendiri, satu keputusan dan satu perbaikan; jawab satu pertanyaan menggunakan sumber karya. Pengayaan: Pilih satu masukan yang berguna, revisi bagian terkait dan tunjukkan hasil uji ulang; tidak perlu menambah fitur baru. Blok demonstrasi kelas: 19–24 menit. Blok seluruh giliran demonstrasi kelas; bukan waktu bicara per siswa. Umpan balik mempunyai slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Presentasi bergiliran: 4 menit/siswa; kapasitas rencana 4 siswa, 4 menit pergantian. Grup 1–4 siswa: gunakan sisa blok untuk latihan penjelasan atau pertanyaan singkat; tidak perlu memperpanjang bicara demi mengisi waktu. Private menggunakan varian tersendiri. Varian private (satu siswa): Pembuka dan cek bekal 5 menit → Konsep dan demo 3 menit → Persiapan sumber 2 menit → Demonstrasi siswa 15 menit → Pertanyaan dan umpan balik 30 menit → Simpan, refleksi dan cadangan waktu 5 menit. Blok 15 menit: sekitar 5 menit demonstrasi dan 10 menit penjelasan/probe; 30 menit uji, masukan dan revisi. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. ### Proyek 3: Inventaris Kelas (sesi 33–48) Aplikasi dua tampilan untuk daftar barang dan ringkasan stok dengan database lokal. Tool proyek: Visual Studio Code (VS Code). Sumber: .py dan folder proyek. Hasil: README, data sintetis, serta tabel hasil uji, unittest, database latihan, dan laporan sesuai proyek. Tantangan baru: Aplikasi menghubungkan dua tampilan, layanan validasi, dan repository SQLite; siswa harus menjaga konsistensi antarlapisan ketika data berubah. Keputusan siswa: Pilih label dan alur perubahan stok. Tentukan kapan kedua tampilan disegarkan. Uji perubahan brief: Penguji memfilter barang lalu mencoba stok negatif dan stok nol; sasaran ID serta ringkasan harus tetap konsisten. Contoh pengerjaan: Batasi barang pada id,nama,stok integer nonnegatif. Dua tampilan: katalog barang dan ringkasan jumlah jenis serta total stok. SQL berparameter pada repository; callback memanggil layanan lalu render ulang. Uji penolakan stok -1 tanpa mengubah stok sebelumnya. Hasil minimum: Aplikasi dua tampilan untuk daftar barang dan ringkasan stok dengan database lokal. Pengayaan: Setelah hasil minimum lolos, buat satu variasi aturan atau data pada proyek Inventaris Kelas dan bandingkan hasilnya; jangan menambah banyak fitur sekaligus. Transfer: Mentor mengubah satu aturan atau data pada Inventaris Kelas. Siswa memprediksi akibat, memilih bagian yang perlu diubah, dan menyusun satu uji baru. Kesiapan lanjut: Lanjut jika hasil minimum dapat diulang, satu perubahan baru dapat dikerjakan, dan siswa menjelaskan satu perbaikan. Catat bentuk bantuan; bila belum siap, ulangi keterampilan yang belum tampak sebelum menambah konsep. #### Sesi 33: Brief inventaris kecil - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan brief inventaris kecil - Demo: Siapkan VS Code, Python 3, ekstensi Python dan Python Debugger dari Microsoft. Pilih Python: Select Interpreter, jalankan file .py pada terminal terintegrasi, lalu uji satu breakpoint. Simpan seluruh sumber dan data sintetis dalam satu folder proyek. Untuk proyek GUI, jalankan python -m tkinter pada interpreter yang sama sebelum kelas. Jika modul Tkinter belum tersedia, pasang dukungan Tcl/Tk dari distribusi Python perangkat; konfirmasi jendela uji dapat dibuka dan ditutup. Di VS Code, peragakan contoh minimum untuk Tulis tiga skenario dan kriteria hasil. Minta prediksi sebelum menjalankan dan bandingkan dengan login serta server bukan bagian brief - Praktik: Tulis tiga skenario dan kriteria hasil - Uji/revisi: Login serta server bukan bagian brief - Kesalahan latihan: Kode widget sekaligus menyusun SQL tanpa batas modul - Dukungan: Siswa mencatat keputusan, memisahkan tanggung jawab fungsi, dan menguji kasus baru. Pemula tetap dimulai dari dasar; Lanjutan memakai brief mandiri, bukti uji, serta revisi pengguna. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan brief inventaris kecil; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-sma-lanjutan-S33-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Latihan kecil atau sumber awal proyek ini; tidak mengasumsikan proyek akhir sudah jadi. Minimum: Tulis tiga skenario dan kriteria hasil Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan brief inventaris kecil; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 34: Diagram modul - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan diagram modul - Demo: Di VS Code, peragakan contoh minimum untuk Pisahkan view, service, dan repository. Minta prediksi sebelum menjalankan dan bandingkan dengan arah pemanggilan dapat dijelaskan - Praktik: Pisahkan view, service, dan repository - Uji/revisi: Arah pemanggilan dapat dijelaskan - Kesalahan latihan: Kode widget sekaligus menyusun SQL tanpa batas modul - Dukungan: Siswa mencatat keputusan, memisahkan tanggung jawab fungsi, dan menguji kasus baru. Pemula tetap dimulai dari dasar; Lanjutan memakai brief mandiri, bukti uji, serta revisi pengguna. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan diagram modul; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-sma-lanjutan-S34-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Pisahkan view, service, dan repository Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan diagram modul; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 35: Model stok - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan model stok - Demo: Di VS Code, peragakan contoh minimum untuk Tetapkan ID, nama, serta integer nonnegatif. Minta prediksi sebelum menjalankan dan bandingkan dengan stok nol tetap valid - Praktik: Tetapkan ID, nama, serta integer nonnegatif - Uji/revisi: Stok nol tetap valid - Kesalahan latihan: Kode widget sekaligus menyusun SQL tanpa batas modul - Dukungan: Siswa mencatat keputusan, memisahkan tanggung jawab fungsi, dan menguji kasus baru. Pemula tetap dimulai dari dasar; Lanjutan memakai brief mandiri, bukti uji, serta revisi pengguna. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan model stok; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-sma-lanjutan-S35-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Tetapkan ID, nama, serta integer nonnegatif Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan model stok; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 36: Sketsa dua tampilan - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan sketsa dua tampilan - Demo: Di VS Code, peragakan contoh minimum untuk Rancang daftar dan ringkasan pada Notebook. Minta prediksi sebelum menjalankan dan bandingkan dengan navigasi kembali jelas - Praktik: Rancang daftar dan ringkasan pada Notebook - Uji/revisi: Navigasi kembali jelas - Kesalahan latihan: Kode widget sekaligus menyusun SQL tanpa batas modul - Dukungan: Siswa mencatat keputusan, memisahkan tanggung jawab fungsi, dan menguji kasus baru. Pemula tetap dimulai dari dasar; Lanjutan memakai brief mandiri, bukti uji, serta revisi pengguna. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan sketsa dua tampilan; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-sma-lanjutan-S36-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Rancang daftar dan ringkasan pada Notebook Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan sketsa dua tampilan; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 37: Frame dan Notebook - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan frame dan notebook - Demo: Di VS Code, peragakan contoh minimum untuk Buat dua tab dengan satu root. Minta prediksi sebelum menjalankan dan bandingkan dengan perpindahan tidak membuat root baru - Praktik: Buat dua tab dengan satu root - Uji/revisi: Perpindahan tidak membuat root baru - Kesalahan latihan: Indeks hasil pencarian dianggap primary key - Dukungan: Siswa mencatat keputusan, memisahkan tanggung jawab fungsi, dan menguji kasus baru. Pemula tetap dimulai dari dasar; Lanjutan memakai brief mandiri, bukti uji, serta revisi pengguna. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan frame dan notebook; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-sma-lanjutan-S37-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Buat dua tab dengan satu root Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan frame dan notebook; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 38: Treeview dan ID - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan treeview dan id - Demo: Di VS Code, peragakan contoh minimum untuk Tampilkan barang serta simpan primary key. Minta prediksi sebelum menjalankan dan bandingkan dengan urutan visual tidak dijadikan id - Praktik: Tampilkan barang serta simpan primary key - Uji/revisi: Urutan visual tidak dijadikan ID - Kesalahan latihan: Indeks hasil pencarian dianggap primary key - Dukungan: Siswa mencatat keputusan, memisahkan tanggung jawab fungsi, dan menguji kasus baru. Pemula tetap dimulai dari dasar; Lanjutan memakai brief mandiri, bukti uji, serta revisi pengguna. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan treeview dan id; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-sma-lanjutan-S38-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Tampilkan barang serta simpan primary key Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan treeview dan id; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 39: Form tambah - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan form tambah - Demo: Di VS Code, peragakan contoh minimum untuk Validasi nama dan stok sebelum repository. Minta prediksi sebelum menjalankan dan bandingkan dengan input salah tidak menyimpan barang - Praktik: Validasi nama dan stok sebelum repository - Uji/revisi: Input salah tidak menyimpan barang - Kesalahan latihan: Indeks hasil pencarian dianggap primary key - Dukungan: Siswa mencatat keputusan, memisahkan tanggung jawab fungsi, dan menguji kasus baru. Pemula tetap dimulai dari dasar; Lanjutan memakai brief mandiri, bukti uji, serta revisi pengguna. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan form tambah; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-sma-lanjutan-S39-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Validasi nama dan stok sebelum repository Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan form tambah; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 40: Ubah stok - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan ubah stok - Demo: Di VS Code, peragakan contoh minimum untuk Perbarui barang terpilih melalui ID. Minta prediksi sebelum menjalankan dan bandingkan dengan barang lain tidak berubah - Praktik: Perbarui barang terpilih melalui ID - Uji/revisi: Barang lain tidak berubah - Kesalahan latihan: Indeks hasil pencarian dianggap primary key - Dukungan: Siswa mencatat keputusan, memisahkan tanggung jawab fungsi, dan menguji kasus baru. Pemula tetap dimulai dari dasar; Lanjutan memakai brief mandiri, bukti uji, serta revisi pengguna. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan ubah stok; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-sma-lanjutan-S40-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Perbarui barang terpilih melalui ID Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan ubah stok; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 41: Pencarian barang - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan pencarian barang - Demo: Di VS Code, peragakan contoh minimum untuk Filter Treeview dan pertahankan ID. Minta prediksi sebelum menjalankan dan bandingkan dengan aksi pada hasil filter tepat sasaran - Praktik: Filter Treeview dan pertahankan ID - Uji/revisi: Aksi pada hasil filter tepat sasaran - Kesalahan latihan: Stok minus disimpan sebelum validasi - Dukungan: Siswa mencatat keputusan, memisahkan tanggung jawab fungsi, dan menguji kasus baru. Pemula tetap dimulai dari dasar; Lanjutan memakai brief mandiri, bukti uji, serta revisi pengguna. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan pencarian barang; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-sma-lanjutan-S41-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Filter Treeview dan pertahankan ID Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan pencarian barang; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 42: Ringkasan stok - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan ringkasan stok - Demo: Di VS Code, peragakan contoh minimum untuk Hitung jumlah jenis serta total stok. Minta prediksi sebelum menjalankan dan bandingkan dengan data 2 dan 3 menghasilkan total 5 - Praktik: Hitung jumlah jenis serta total stok - Uji/revisi: Data 2 dan 3 menghasilkan total 5 - Kesalahan latihan: Stok minus disimpan sebelum validasi - Dukungan: Siswa mencatat keputusan, memisahkan tanggung jawab fungsi, dan menguji kasus baru. Pemula tetap dimulai dari dasar; Lanjutan memakai brief mandiri, bukti uji, serta revisi pengguna. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan ringkasan stok; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-sma-lanjutan-S42-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Hitung jumlah jenis serta total stok Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan ringkasan stok; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 43: Refresh setelah commit - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan refresh setelah commit - Demo: Di VS Code, peragakan contoh minimum untuk Perbarui daftar dan ringkasan dari database. Minta prediksi sebelum menjalankan dan bandingkan dengan dua tampilan selalu konsisten - Praktik: Perbarui daftar dan ringkasan dari database - Uji/revisi: Dua tampilan selalu konsisten - Kesalahan latihan: Stok minus disimpan sebelum validasi - Dukungan: Siswa mencatat keputusan, memisahkan tanggung jawab fungsi, dan menguji kasus baru. Pemula tetap dimulai dari dasar; Lanjutan memakai brief mandiri, bukti uji, serta revisi pengguna. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan refresh setelah commit; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-sma-lanjutan-S43-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Perbarui daftar dan ringkasan dari database Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan refresh setelah commit; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 44: Pesan kegagalan - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan pesan kegagalan - Demo: Di VS Code, peragakan contoh minimum untuk Tangani tanpa pilihan dan kesalahan validasi. Minta prediksi sebelum menjalankan dan bandingkan dengan tidak muncul sukses palsu - Praktik: Tangani tanpa pilihan dan kesalahan validasi - Uji/revisi: Tidak muncul sukses palsu - Kesalahan latihan: Stok minus disimpan sebelum validasi - Dukungan: Siswa mencatat keputusan, memisahkan tanggung jawab fungsi, dan menguji kasus baru. Pemula tetap dimulai dari dasar; Lanjutan memakai brief mandiri, bukti uji, serta revisi pengguna. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan pesan kegagalan; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-sma-lanjutan-S44-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Tangani tanpa pilihan dan kesalahan validasi Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan pesan kegagalan; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 45: Unittest service - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan unittest service - Demo: Di VS Code, peragakan contoh minimum untuk Uji stok minus, nol, huruf, dan batas ID. Minta prediksi sebelum menjalankan dan bandingkan dengan penolakan tidak mengubah database - Praktik: Uji stok minus, nol, huruf, dan batas ID - Uji/revisi: Penolakan tidak mengubah database - Kesalahan latihan: Tampilan ringkasan tidak diperbarui setelah commit - Dukungan: Siswa mencatat keputusan, memisahkan tanggung jawab fungsi, dan menguji kasus baru. Pemula tetap dimulai dari dasar; Lanjutan memakai brief mandiri, bukti uji, serta revisi pengguna. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan unittest service; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-sma-lanjutan-S45-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Uji stok minus, nol, huruf, dan batas ID Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan unittest service; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 46: Uji integrasi repository - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan uji integrasi repository - Demo: Di VS Code, peragakan contoh minimum untuk Jalankan CRUD pada DB sementara. Minta prediksi sebelum menjalankan dan bandingkan dengan data bertahan setelah koneksi dibuka ulang - Praktik: Jalankan CRUD pada DB sementara - Uji/revisi: Data bertahan setelah koneksi dibuka ulang - Kesalahan latihan: Tampilan ringkasan tidak diperbarui setelah commit - Dukungan: Siswa mencatat keputusan, memisahkan tanggung jawab fungsi, dan menguji kasus baru. Pemula tetap dimulai dari dasar; Lanjutan memakai brief mandiri, bukti uji, serta revisi pengguna. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan uji integrasi repository; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-sma-lanjutan-S46-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pengujian dan revisi · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 5 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 15 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Jalankan CRUD pada DB sementara Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan uji integrasi repository; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 17–22 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 47: Uji GUI dan revisi - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan uji gui dan revisi - Demo: Di VS Code, peragakan contoh minimum untuk Minta teman mencari dan mengubah stok. Minta prediksi sebelum menjalankan dan bandingkan dengan bukti masalah serta revisi disimpan - Praktik: Minta teman mencari dan mengubah stok - Uji/revisi: Bukti masalah serta revisi disimpan - Kesalahan latihan: Tampilan ringkasan tidak diperbarui setelah commit - Dukungan: Siswa mencatat keputusan, memisahkan tanggung jawab fungsi, dan menguji kasus baru. Pemula tetap dimulai dari dasar; Lanjutan memakai brief mandiri, bukti uji, serta revisi pengguna. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan uji gui dan revisi; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-sma-lanjutan-S47-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pengujian dan revisi · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 5 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 15 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Minta teman mencari dan mengubah stok Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan uji gui dan revisi; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 14–22 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 48: Presentasi: Inventaris Kelas - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan presentasi inventaris - Demo: Di VS Code, peragakan contoh minimum untuk Demonstrasikan brief baru dan hasil test. Minta prediksi sebelum menjalankan dan bandingkan dengan struktur modul dijelaskan mandiri - Praktik: Demonstrasikan brief baru dan hasil test Penguji memfilter barang lalu mencoba stok negatif dan stok nol; sasaran ID serta ringkasan harus tetap konsisten. Kerjakan perubahan di Visual Studio Code (VS Code); serahkan sumber .py dan folder proyek, README, data sintetis, serta tabel hasil uji, unittest, database latihan, dan laporan sesuai proyek, dan catatan uji. - Uji/revisi: Struktur modul dijelaskan mandiri - Kesalahan latihan: Tampilan ringkasan tidak diperbarui setelah commit - Dukungan: Siswa mencatat keputusan, memisahkan tanggung jawab fungsi, dan menguji kasus baru. Pemula tetap dimulai dari dasar; Lanjutan memakai brief mandiri, bukti uji, serta revisi pengguna. - Pengayaan: Pilih satu masukan yang berguna, revisi bagian terkait dan tunjukkan hasil uji ulang; tidak perlu menambah fitur baru. - Bukti/refleksi: python-sma-lanjutan-S48-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Presentasi karya · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 3 menit → Persiapan sumber 2 menit → Demonstrasi siswa 24 menit → Pertanyaan dan umpan balik 21 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Demonstrasikan brief baru dan hasil test Penguji memfilter barang lalu mencoba stok negatif dan stok nol; sasaran ID serta ringkasan harus tetap konsisten. Kerjakan perubahan di Visual Studio Code (VS Code); serahkan sumber .py dan folder proyek, README, data sintetis, serta tabel hasil uji, unittest, database latihan, dan laporan sesuai proyek, dan catatan uji. Bukti pemahaman: Tunjukkan satu bagian yang dibuat sendiri, satu keputusan dan satu perbaikan; jawab satu pertanyaan menggunakan sumber karya. Pengayaan: Pilih satu masukan yang berguna, revisi bagian terkait dan tunjukkan hasil uji ulang; tidak perlu menambah fitur baru. Blok demonstrasi kelas: 19–24 menit. Blok seluruh giliran demonstrasi kelas; bukan waktu bicara per siswa. Umpan balik mempunyai slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Presentasi bergiliran: 4 menit/siswa; kapasitas rencana 4 siswa, 4 menit pergantian. Grup 1–4 siswa: gunakan sisa blok untuk latihan penjelasan atau pertanyaan singkat; tidak perlu memperpanjang bicara demi mengisi waktu. Private menggunakan varian tersendiri. Varian private (satu siswa): Pembuka dan cek bekal 5 menit → Konsep dan demo 3 menit → Persiapan sumber 2 menit → Demonstrasi siswa 15 menit → Pertanyaan dan umpan balik 30 menit → Simpan, refleksi dan cadangan waktu 5 menit. Blok 15 menit: sekitar 5 menit demonstrasi dan 10 menit penjelasan/probe; 30 menit uji, masukan dan revisi. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. ### Proyek 4: Perpustakaan Mini (sesi 49–64) Aplikasi buku serta peminjaman lokal dengan pencarian, transaksi, laporan, dan bukti uji. Tool proyek: Visual Studio Code (VS Code). Sumber: .py dan folder proyek. Hasil: README, data sintetis, serta tabel hasil uji, unittest, database latihan, dan laporan sesuai proyek. Tantangan baru: Proyek akhir dibangun dari brief baru yang menggabungkan dua entitas dan transaksi atomik, berbeda dari aplikasi tugas JSON pada Pemula serta CRUD satu tabel. Keputusan siswa: Tentukan data minimum peminjam memakai data sintetis. Prioritaskan alur stok konsisten sebelum fitur tambahan. Uji perubahan brief: Penguji meminjam buku terakhir lalu mencoba pinjam ulang dan mengembalikan pinjaman dua kali; stok serta status harus tetap benar setelah aplikasi dibuka ulang. Contoh pengerjaan: Data sintetis: Buku A stok 1. Pinjam sekali menjadi stok 0 dan satu pinjaman aktif. Pinjam berikutnya ditolak tanpa perubahan. Kembalikan ID pinjaman tersebut menjadi stok 1; kembali kedua ditolak. Gabungkan perubahan stok dan pinjaman dalam satu transaksi SQLite. Dua tampilan: buku dan pinjaman. Laporan CSV disimpan pada file baru. Hasil minimum: Aplikasi buku serta peminjaman lokal dengan pencarian, transaksi, laporan, dan bukti uji. Pengayaan: Setelah hasil minimum lolos, buat satu variasi aturan atau data pada proyek Perpustakaan Mini dan bandingkan hasilnya; jangan menambah banyak fitur sekaligus. Transfer: Mentor mengubah satu aturan atau data pada Perpustakaan Mini. Siswa memprediksi akibat, memilih bagian yang perlu diubah, dan menyusun satu uji baru. Kesiapan lanjut: Lanjut jika hasil minimum dapat diulang, satu perubahan baru dapat dikerjakan, dan siswa menjelaskan satu perbaikan. Catat bentuk bantuan; bila belum siap, ulangi keterampilan yang belum tampak sebelum menambah konsep. #### Sesi 49: Brief pengguna mandiri - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan brief pengguna mandiri - Demo: Siapkan VS Code, Python 3, ekstensi Python dan Python Debugger dari Microsoft. Pilih Python: Select Interpreter, jalankan file .py pada terminal terintegrasi, lalu uji satu breakpoint. Simpan seluruh sumber dan data sintetis dalam satu folder proyek. Untuk proyek GUI, jalankan python -m tkinter pada interpreter yang sama sebelum kelas. Jika modul Tkinter belum tersedia, pasang dukungan Tcl/Tk dari distribusi Python perangkat; konfirmasi jendela uji dapat dibuka dan ditutup. Di VS Code, peragakan contoh minimum untuk Tentukan pemakai, tiga skenario, dan batas fitur. Minta prediksi sebelum menjalankan dan bandingkan dengan kriteria dapat diuji tanpa dekorasi - Praktik: Tentukan pemakai, tiga skenario, dan batas fitur - Uji/revisi: Kriteria dapat diuji tanpa dekorasi - Kesalahan latihan: Nama peminjam dijadikan pengganti ID pinjaman - Dukungan: Siswa mencatat keputusan, memisahkan tanggung jawab fungsi, dan menguji kasus baru. Pemula tetap dimulai dari dasar; Lanjutan memakai brief mandiri, bukti uji, serta revisi pengguna. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan brief pengguna mandiri; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-sma-lanjutan-S49-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Latihan kecil atau sumber awal proyek ini; tidak mengasumsikan proyek akhir sudah jadi. Minimum: Tentukan pemakai, tiga skenario, dan batas fitur Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan brief pengguna mandiri; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 50: Model buku dan pinjaman - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan model buku dan pinjaman - Demo: Di VS Code, peragakan contoh minimum untuk Rancang dua tabel serta relasi ID. Minta prediksi sebelum menjalankan dan bandingkan dengan pinjaman merujuk buku yang benar - Praktik: Rancang dua tabel serta relasi ID - Uji/revisi: Pinjaman merujuk buku yang benar - Kesalahan latihan: Nama peminjam dijadikan pengganti ID pinjaman - Dukungan: Siswa mencatat keputusan, memisahkan tanggung jawab fungsi, dan menguji kasus baru. Pemula tetap dimulai dari dasar; Lanjutan memakai brief mandiri, bukti uji, serta revisi pengguna. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan model buku dan pinjaman; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-sma-lanjutan-S50-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Rancang dua tabel serta relasi ID Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan model buku dan pinjaman; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 51: Rencana uji sebelum kode - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan rencana uji sebelum kode - Demo: Di VS Code, peragakan contoh minimum untuk Tulis kasus stok satu, stok nol, dan kembali dua kali. Minta prediksi sebelum menjalankan dan bandingkan dengan hasil harapan dihitung manual - Praktik: Tulis kasus stok satu, stok nol, dan kembali dua kali - Uji/revisi: Hasil harapan dihitung manual - Kesalahan latihan: Nama peminjam dijadikan pengganti ID pinjaman - Dukungan: Siswa mencatat keputusan, memisahkan tanggung jawab fungsi, dan menguji kasus baru. Pemula tetap dimulai dari dasar; Lanjutan memakai brief mandiri, bukti uji, serta revisi pengguna. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan rencana uji sebelum kode; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-sma-lanjutan-S51-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Tulis kasus stok satu, stok nol, dan kembali dua kali Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan rencana uji sebelum kode; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 52: Arsitektur aplikasi - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan arsitektur aplikasi - Demo: Di VS Code, peragakan contoh minimum untuk Pisahkan repository, layanan, dan dua tampilan. Minta prediksi sebelum menjalankan dan bandingkan dengan tanggung jawab modul tidak tumpang tindih - Praktik: Pisahkan repository, layanan, dan dua tampilan - Uji/revisi: Tanggung jawab modul tidak tumpang tindih - Kesalahan latihan: Nama peminjam dijadikan pengganti ID pinjaman - Dukungan: Siswa mencatat keputusan, memisahkan tanggung jawab fungsi, dan menguji kasus baru. Pemula tetap dimulai dari dasar; Lanjutan memakai brief mandiri, bukti uji, serta revisi pengguna. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan arsitektur aplikasi; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-sma-lanjutan-S52-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Pisahkan repository, layanan, dan dua tampilan Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan arsitektur aplikasi; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 53: Database awal - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan database awal - Demo: Di VS Code, peragakan contoh minimum untuk Buat tabel serta data sintetis melalui parameter. Minta prediksi sebelum menjalankan dan bandingkan dengan db kosong dapat diinisialisasi ulang - Praktik: Buat tabel serta data sintetis melalui parameter - Uji/revisi: DB kosong dapat diinisialisasi ulang - Kesalahan latihan: Pencarian menghilangkan pemetaan ID buku - Dukungan: Siswa mencatat keputusan, memisahkan tanggung jawab fungsi, dan menguji kasus baru. Pemula tetap dimulai dari dasar; Lanjutan memakai brief mandiri, bukti uji, serta revisi pengguna. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan database awal; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-sma-lanjutan-S53-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Buat tabel serta data sintetis melalui parameter Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan database awal; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 54: Tampilan buku - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan tampilan buku - Demo: Di VS Code, peragakan contoh minimum untuk Tampilkan ID, judul, stok, dan pencarian. Minta prediksi sebelum menjalankan dan bandingkan dengan pemilihan hasil filter tetap tepat - Praktik: Tampilkan ID, judul, stok, dan pencarian - Uji/revisi: Pemilihan hasil filter tetap tepat - Kesalahan latihan: Pencarian menghilangkan pemetaan ID buku - Dukungan: Siswa mencatat keputusan, memisahkan tanggung jawab fungsi, dan menguji kasus baru. Pemula tetap dimulai dari dasar; Lanjutan memakai brief mandiri, bukti uji, serta revisi pengguna. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan tampilan buku; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-sma-lanjutan-S54-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Tampilkan ID, judul, stok, dan pencarian Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan tampilan buku; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 55: Tampilan pinjaman - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan tampilan pinjaman - Demo: Di VS Code, peragakan contoh minimum untuk Tampilkan ID pinjaman dan status aktif. Minta prediksi sebelum menjalankan dan bandingkan dengan id buku berbeda dari id pinjaman - Praktik: Tampilkan ID pinjaman dan status aktif - Uji/revisi: ID buku berbeda dari ID pinjaman - Kesalahan latihan: Pencarian menghilangkan pemetaan ID buku - Dukungan: Siswa mencatat keputusan, memisahkan tanggung jawab fungsi, dan menguji kasus baru. Pemula tetap dimulai dari dasar; Lanjutan memakai brief mandiri, bukti uji, serta revisi pengguna. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan tampilan pinjaman; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-sma-lanjutan-S55-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Tampilkan ID pinjaman dan status aktif Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan tampilan pinjaman; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 56: Alur pinjam - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan alur pinjam - Demo: Di VS Code, peragakan contoh minimum untuk Validasi stok dan nama peminjam sebelum perubahan. Minta prediksi sebelum menjalankan dan bandingkan dengan stok satu menghasilkan satu pinjaman aktif - Praktik: Validasi stok dan nama peminjam sebelum perubahan - Uji/revisi: Stok satu menghasilkan satu pinjaman aktif - Kesalahan latihan: Pencarian menghilangkan pemetaan ID buku - Dukungan: Siswa mencatat keputusan, memisahkan tanggung jawab fungsi, dan menguji kasus baru. Pemula tetap dimulai dari dasar; Lanjutan memakai brief mandiri, bukti uji, serta revisi pengguna. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan alur pinjam; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-sma-lanjutan-S56-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Validasi stok dan nama peminjam sebelum perubahan Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan alur pinjam; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 57: Transaksi atomik - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan transaksi atomik - Demo: Di VS Code, peragakan contoh minimum untuk Gabungkan kurangi stok serta catat pinjaman. Minta prediksi sebelum menjalankan dan bandingkan dengan gagal di tengah mengembalikan state awal - Praktik: Gabungkan kurangi stok serta catat pinjaman - Uji/revisi: Gagal di tengah mengembalikan state awal - Kesalahan latihan: Stok berubah walau pencatatan pinjaman gagal - Dukungan: Siswa mencatat keputusan, memisahkan tanggung jawab fungsi, dan menguji kasus baru. Pemula tetap dimulai dari dasar; Lanjutan memakai brief mandiri, bukti uji, serta revisi pengguna. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan transaksi atomik; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-sma-lanjutan-S57-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Gabungkan kurangi stok serta catat pinjaman Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan transaksi atomik; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 14–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 58: Alur kembali - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan alur kembali - Demo: Di VS Code, peragakan contoh minimum untuk Periksa status sebelum menambah stok. Minta prediksi sebelum menjalankan dan bandingkan dengan kembali kedua ditolak - Praktik: Periksa status sebelum menambah stok - Uji/revisi: Kembali kedua ditolak - Kesalahan latihan: Stok berubah walau pencatatan pinjaman gagal - Dukungan: Siswa mencatat keputusan, memisahkan tanggung jawab fungsi, dan menguji kasus baru. Pemula tetap dimulai dari dasar; Lanjutan memakai brief mandiri, bukti uji, serta revisi pengguna. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan alur kembali; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-sma-lanjutan-S58-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Periksa status sebelum menambah stok Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan alur kembali; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 59: Laporan CSV - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan laporan csv - Demo: Di VS Code, peragakan contoh minimum untuk Ekspor data pinjaman ke file keluaran baru. Minta prediksi sebelum menjalankan dan bandingkan dengan sumber database tetap utuh - Praktik: Ekspor data pinjaman ke file keluaran baru - Uji/revisi: Sumber database tetap utuh - Kesalahan latihan: Stok berubah walau pencatatan pinjaman gagal - Dukungan: Siswa mencatat keputusan, memisahkan tanggung jawab fungsi, dan menguji kasus baru. Pemula tetap dimulai dari dasar; Lanjutan memakai brief mandiri, bukti uji, serta revisi pengguna. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan laporan csv; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-sma-lanjutan-S59-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Ekspor data pinjaman ke file keluaran baru Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan laporan csv; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 60: Unittest layanan - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan unittest layanan - Demo: Di VS Code, peragakan contoh minimum untuk Uji stok habis, ID salah, dan kembali ganda. Minta prediksi sebelum menjalankan dan bandingkan dengan kasus gagal tidak mengubah data - Praktik: Uji stok habis, ID salah, dan kembali ganda - Uji/revisi: Kasus gagal tidak mengubah data - Kesalahan latihan: Stok berubah walau pencatatan pinjaman gagal - Dukungan: Siswa mencatat keputusan, memisahkan tanggung jawab fungsi, dan menguji kasus baru. Pemula tetap dimulai dari dasar; Lanjutan memakai brief mandiri, bukti uji, serta revisi pengguna. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan unittest layanan; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-sma-lanjutan-S60-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pembelajaran · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 10 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 10 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Uji stok habis, ID salah, dan kembali ganda Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan unittest layanan; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 11–19 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 61: Uji integrasi buka ulang - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan uji integrasi buka ulang - Demo: Di VS Code, peragakan contoh minimum untuk Tutup koneksi lalu baca ulang data tersimpan. Minta prediksi sebelum menjalankan dan bandingkan dengan stok dan status konsisten - Praktik: Tutup koneksi lalu baca ulang data tersimpan - Uji/revisi: Stok dan status konsisten - Kesalahan latihan: Klik kembali berulang menambah stok berkali-kali - Dukungan: Siswa mencatat keputusan, memisahkan tanggung jawab fungsi, dan menguji kasus baru. Pemula tetap dimulai dari dasar; Lanjutan memakai brief mandiri, bukti uji, serta revisi pengguna. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan uji integrasi buka ulang; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-sma-lanjutan-S61-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pengujian dan revisi · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 5 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 15 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Tutup koneksi lalu baca ulang data tersimpan Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan uji integrasi buka ulang; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 17–22 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 62: Uji pengguna brief baru - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan uji pengguna brief baru - Demo: Di VS Code, peragakan contoh minimum untuk Minta teman mencari, meminjam, dan kembali. Minta prediksi sebelum menjalankan dan bandingkan dengan catat bantuan serta hambatan - Praktik: Minta teman mencari, meminjam, dan kembali - Uji/revisi: Catat bantuan serta hambatan - Kesalahan latihan: Klik kembali berulang menambah stok berkali-kali - Dukungan: Siswa mencatat keputusan, memisahkan tanggung jawab fungsi, dan menguji kasus baru. Pemula tetap dimulai dari dasar; Lanjutan memakai brief mandiri, bukti uji, serta revisi pengguna. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan uji pengguna brief baru; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-sma-lanjutan-S62-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pengujian dan revisi · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 5 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 15 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Minta teman mencari, meminjam, dan kembali Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan uji pengguna brief baru; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 14–22 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 63: Revisi dan serah terima - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan revisi dan serah terima - Demo: Di VS Code, peragakan contoh minimum untuk Perbaiki prioritas tertinggi lalu ulangi test. Minta prediksi sebelum menjalankan dan bandingkan dengan readme sesuai versi akhir - Praktik: Perbaiki prioritas tertinggi lalu ulangi test - Uji/revisi: README sesuai versi akhir - Kesalahan latihan: Klik kembali berulang menambah stok berkali-kali - Dukungan: Siswa mencatat keputusan, memisahkan tanggung jawab fungsi, dan menguji kasus baru. Pemula tetap dimulai dari dasar; Lanjutan memakai brief mandiri, bukti uji, serta revisi pengguna. - Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan revisi dan serah terima; prediksi hasil dan tambahkan bukti pemeriksaan. - Bukti/refleksi: python-sma-lanjutan-S63-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Pengujian dan revisi · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 5 menit → Persiapan sumber 3 menit → Praktik 27 menit → Uji dan revisi 15 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Perbaiki prioritas tertinggi lalu ulangi test Bukti pemahaman: Gunakan satu input/data baru yang belum dicontohkan; tulis hasil harapan, jalankan dan jelaskan baris penyebabnya. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan revisi dan serah terima; prediksi hasil dan tambahkan bukti pemeriksaan. Estimasi tugas mandiri: 14–22 menit. Mengerjakan dan mencoba variasi; uji formal serta penyimpanan memiliki slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. #### Sesi 64: Presentasi: Perpustakaan Mini - Tool: Visual Studio Code (VS Code); sumber .py dan folder proyek - Target: Mampu menjelaskan dan menerapkan presentasi perpustakaan - Demo: Di VS Code, peragakan contoh minimum untuk Demonstrasikan brief baru serta bukti regresi. Minta prediksi sebelum menjalankan dan bandingkan dengan aplikasi mandiri memenuhi syarat yang disepakati - Praktik: Demonstrasikan brief baru serta bukti regresi Penguji meminjam buku terakhir lalu mencoba pinjam ulang dan mengembalikan pinjaman dua kali; stok serta status harus tetap benar setelah aplikasi dibuka ulang. Kerjakan perubahan di Visual Studio Code (VS Code); serahkan sumber .py dan folder proyek, README, data sintetis, serta tabel hasil uji, unittest, database latihan, dan laporan sesuai proyek, dan catatan uji. - Uji/revisi: Aplikasi mandiri memenuhi syarat yang disepakati - Kesalahan latihan: Klik kembali berulang menambah stok berkali-kali - Dukungan: Siswa mencatat keputusan, memisahkan tanggung jawab fungsi, dan menguji kasus baru. Pemula tetap dimulai dari dasar; Lanjutan memakai brief mandiri, bukti uji, serta revisi pengguna. - Pengayaan: Pilih satu masukan yang berguna, revisi bagian terkait dan tunjukkan hasil uji ulang; tidak perlu menambah fitur baru. - Bukti/refleksi: python-sma-lanjutan-S64-kode-siswa; siswa menjelaskan satu keputusan dan langkah berikutnya. Jenis: Presentasi karya · 60 menit. Estimasi awal; perlu validasi mentor di kelas Alur: Pembuka dan cek bekal 5 menit → Konsep dan demo 3 menit → Persiapan sumber 2 menit → Demonstrasi siswa 24 menit → Pertanyaan dan umpan balik 21 menit → Simpan, refleksi dan cadangan waktu 5 menit Titik awal: Lanjutkan berkas latihan/proyek yang sudah disimpan; contoh mentor adalah acuan, bukan hasil siswa. Minimum: Demonstrasikan brief baru serta bukti regresi Penguji meminjam buku terakhir lalu mencoba pinjam ulang dan mengembalikan pinjaman dua kali; stok serta status harus tetap benar setelah aplikasi dibuka ulang. Kerjakan perubahan di Visual Studio Code (VS Code); serahkan sumber .py dan folder proyek, README, data sintetis, serta tabel hasil uji, unittest, database latihan, dan laporan sesuai proyek, dan catatan uji. Bukti pemahaman: Tunjukkan satu bagian yang dibuat sendiri, satu keputusan dan satu perbaikan; jawab satu pertanyaan menggunakan sumber karya. Pengayaan: Pilih satu masukan yang berguna, revisi bagian terkait dan tunjukkan hasil uji ulang; tidak perlu menambah fitur baru. Blok demonstrasi kelas: 19–24 menit. Blok seluruh giliran demonstrasi kelas; bukan waktu bicara per siswa. Umpan balik mempunyai slot terpisah. Jika hasil minimum dan probe sudah terbukti, lanjut ke pengayaan atau refleksi; tidak perlu menghabiskan jatah waktu. Jika belum, kurangi variasi dan catat penguatan. Presentasi bergiliran: 4 menit/siswa; kapasitas rencana 4 siswa, 4 menit pergantian. Grup 1–4 siswa: gunakan sisa blok untuk latihan penjelasan atau pertanyaan singkat; tidak perlu memperpanjang bicara demi mengisi waktu. Private menggunakan varian tersendiri. Varian private (satu siswa): Pembuka dan cek bekal 5 menit → Konsep dan demo 3 menit → Persiapan sumber 2 menit → Demonstrasi siswa 15 menit → Pertanyaan dan umpan balik 30 menit → Simpan, refleksi dan cadangan waktu 5 menit. Blok 15 menit: sekitar 5 menit demonstrasi dan 10 menit penjelasan/probe; 30 menit uji, masukan dan revisi. Catat uji kelas: jumlah siswa, menit aktual, bantuan, hasil minimum, hasil probe dan penguatan berikutnya. ## Contoh kode proyek akhir ### SMP · Pemula Buka folder contoh/smp-pemula/ di VS Code. [app.py](contoh/smp-pemula/app.py) · [README](contoh/smp-pemula/README.md) · [pengujian](contoh/smp-pemula/test_app.py). Gunakan folder lengkap dari ZIP. ### SMP · Lanjutan Buka folder contoh/smp-lanjutan/ di VS Code. [app.py](contoh/smp-lanjutan/app.py) · [README](contoh/smp-lanjutan/README.md) · [pengujian](contoh/smp-lanjutan/test_app.py). Gunakan folder lengkap dari ZIP. ### SMA · Pemula Buka folder contoh/sma-pemula/ di VS Code. [app.py](contoh/sma-pemula/app.py) · [README](contoh/sma-pemula/README.md) · [pengujian](contoh/sma-pemula/test_app.py). Gunakan folder lengkap dari ZIP. ### SMA · Lanjutan Buka folder contoh/sma-lanjutan/ di VS Code. [app.py](contoh/sma-lanjutan/app.py) · [README](contoh/sma-lanjutan/README.md) · [pengujian](contoh/sma-lanjutan/test_app.py). Gunakan folder lengkap dari ZIP.