# Model relasional kecil Python · SMA · Lanjutan · Sesi 17 · 60 menit Proyek: Katalog Buku Lokal ## 1. Model relasional kecil · 3 menit SMA · Lanjutan, sesi 17; proyek Katalog Buku Lokal, sesi 17–32. VS Code, Python 3, ekstensi Python dan Python Debugger dari Microsoft. Buka seluruh folder hasil ekstraksi, pilih Python: Select Interpreter, lalu Terminal → New Terminal. Jalankan python latihan.py 0 untuk A dan python latihan.py 1 untuk B; gunakan py/python3 bila sesuai interpreter perangkat. Contoh diuji dengan CPython 3.12.14. Pasang breakpoint pada perubahan value, F5 untuk debug, F10 untuk Step Over. Screenshot VS Code memakai Output dari eksekusi helper; praktik siswa memakai terminal terintegrasi atau Run Python File. Jika Tkinter diperlukan, uji python -m tkinter pada interpreter yang sama. Pembungkus lab dan support.py disediakan mentor, bukan materi prasyarat awal. Siswa memisahkan logika, parsing/penyimpanan, dan tampilan; tentukan kontrak data serta kasus gagal. Gunakan pertanyaan sebelum memberi solusi. Prasyarat jalur: 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. 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. [Kebijakan belajar] Siswa menentukan solusi dari brief, menyusun kasus uji, dan menjelaskan keputusan. Mentor memberi petunjuk bertahap. Jangan habiskan satu jam untuk mengenalkan nama fitur. Gunakan sisa waktu untuk masalah kecil, penelusuran hasil, dan variasi mandiri; jika siswa belum siap, ulangi contoh minimum. Gunakan struktur folder sumber/data/uji, coba .venv pada salinan proyek melalui interpreter VS Code, serta simpan riwayat perubahan sederhana (versi bernama atau Git lokal terbimbing). Tetap gunakan pustaka standar; instal paket bukan prasyarat. Minimum proyek: 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. [Estimasi tugas] 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. Slot slide ini 3 menit di dalam alur sesi, bukan tambahan. ## 2. Hari ini kita dapat… · 2 menit SMA · Lanjutan, sesi 17; proyek Katalog Buku Lokal, sesi 17–32. VS Code, Python 3, ekstensi Python dan Python Debugger dari Microsoft. Buka seluruh folder hasil ekstraksi, pilih Python: Select Interpreter, lalu Terminal → New Terminal. Jalankan python latihan.py 0 untuk A dan python latihan.py 1 untuk B; gunakan py/python3 bila sesuai interpreter perangkat. Contoh diuji dengan CPython 3.12.14. Pasang breakpoint pada perubahan value, F5 untuk debug, F10 untuk Step Over. Screenshot VS Code memakai Output dari eksekusi helper; praktik siswa memakai terminal terintegrasi atau Run Python File. Jika Tkinter diperlukan, uji python -m tkinter pada interpreter yang sama. Pembungkus lab dan support.py disediakan mentor, bukan materi prasyarat awal. Siswa memisahkan logika, parsing/penyimpanan, dan tampilan; tentukan kontrak data serta kasus gagal. Gunakan pertanyaan sebelum memberi solusi. Prasyarat jalur: 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. 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.Target kurikulum: Mampu menjelaskan dan menerapkan model relasional kecil Target khusus: Mampu menjelaskan dan menerapkan model relasional kecil [Kebijakan belajar] Siswa menentukan solusi dari brief, menyusun kasus uji, dan menjelaskan keputusan. Mentor memberi petunjuk bertahap. Jangan habiskan satu jam untuk mengenalkan nama fitur. Gunakan sisa waktu untuk masalah kecil, penelusuran hasil, dan variasi mandiri; jika siswa belum siap, ulangi contoh minimum. Gunakan struktur folder sumber/data/uji, coba .venv pada salinan proyek melalui interpreter VS Code, serta simpan riwayat perubahan sederhana (versi bernama atau Git lokal terbimbing). Tetap gunakan pustaka standar; instal paket bukan prasyarat. Minimum proyek: 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. [Estimasi tugas] 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. Slot slide ini 2 menit di dalam alur sesi, bukan tambahan. Menyelesaikan tugas inti: Model relasional kecil. Mencoba satu perubahan dan menjelaskan hasilnya. Menunjukkan bagian yang dikerjakan sendiri. ## 3. Pahami konsepnya · 5 menit SMA · Lanjutan, sesi 17; proyek Katalog Buku Lokal, sesi 17–32. VS Code, Python 3, ekstensi Python dan Python Debugger dari Microsoft. Buka seluruh folder hasil ekstraksi, pilih Python: Select Interpreter, lalu Terminal → New Terminal. Jalankan python latihan.py 0 untuk A dan python latihan.py 1 untuk B; gunakan py/python3 bila sesuai interpreter perangkat. Contoh diuji dengan CPython 3.12.14. Pasang breakpoint pada perubahan value, F5 untuk debug, F10 untuk Step Over. Screenshot VS Code memakai Output dari eksekusi helper; praktik siswa memakai terminal terintegrasi atau Run Python File. Jika Tkinter diperlukan, uji python -m tkinter pada interpreter yang sama. Pembungkus lab dan support.py disediakan mentor, bukan materi prasyarat awal. Siswa memisahkan logika, parsing/penyimpanan, dan tampilan; tentukan kontrak data serta kasus gagal. Gunakan pertanyaan sebelum memberi solusi. Prasyarat jalur: 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. 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. Primary key mengidentifikasi satu buku. Judul tidak unik dan bukan pengganti ID relasional. [Kebijakan belajar] Siswa menentukan solusi dari brief, menyusun kasus uji, dan menjelaskan keputusan. Mentor memberi petunjuk bertahap. Jangan habiskan satu jam untuk mengenalkan nama fitur. Gunakan sisa waktu untuk masalah kecil, penelusuran hasil, dan variasi mandiri; jika siswa belum siap, ulangi contoh minimum. Gunakan struktur folder sumber/data/uji, coba .venv pada salinan proyek melalui interpreter VS Code, serta simpan riwayat perubahan sederhana (versi bernama atau Git lokal terbimbing). Tetap gunakan pustaka standar; instal paket bukan prasyarat. Minimum proyek: 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. [Estimasi tugas] 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. Slot slide ini 5 menit di dalam alur sesi, bukan tambahan. Primary key mengidentifikasi satu buku. Judul tidak unik dan bukan pengganti ID relasional. ## 4. Telusuri kode sebelum menjalankan · 2 menit SMA · Lanjutan, sesi 17; proyek Katalog Buku Lokal, sesi 17–32. VS Code, Python 3, ekstensi Python dan Python Debugger dari Microsoft. Buka seluruh folder hasil ekstraksi, pilih Python: Select Interpreter, lalu Terminal → New Terminal. Jalankan python latihan.py 0 untuk A dan python latihan.py 1 untuk B; gunakan py/python3 bila sesuai interpreter perangkat. Contoh diuji dengan CPython 3.12.14. Pasang breakpoint pada perubahan value, F5 untuk debug, F10 untuk Step Over. Screenshot VS Code memakai Output dari eksekusi helper; praktik siswa memakai terminal terintegrasi atau Run Python File. Jika Tkinter diperlukan, uji python -m tkinter pada interpreter yang sama. Pembungkus lab dan support.py disediakan mentor, bukan materi prasyarat awal. Siswa memisahkan logika, parsing/penyimpanan, dan tampilan; tentukan kontrak data serta kasus gagal. Gunakan pertanyaan sebelum memberi solusi. Prasyarat jalur: 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. 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.variant memilih kasus 0 atau 1. value menjadi hasil aktual; expected adalah oracle pada pembungkus uji. Fokus pada bagian KONSEP. Helper dan mock disediakan agar input serta widget dapat diuji berulang. Prediksi kasus A: 1; B: 2. Jangan tampilkan jawaban sebelum siswa memprediksi. [Kebijakan belajar] Siswa menentukan solusi dari brief, menyusun kasus uji, dan menjelaskan keputusan. Mentor memberi petunjuk bertahap. Jangan habiskan satu jam untuk mengenalkan nama fitur. Gunakan sisa waktu untuk masalah kecil, penelusuran hasil, dan variasi mandiri; jika siswa belum siap, ulangi contoh minimum. Gunakan struktur folder sumber/data/uji, coba .venv pada salinan proyek melalui interpreter VS Code, serta simpan riwayat perubahan sederhana (versi bernama atau Git lokal terbimbing). Tetap gunakan pustaka standar; instal paket bukan prasyarat. Minimum proyek: 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. [Estimasi tugas] 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. Slot slide ini 2 menit di dalam alur sesi, bukan tambahan. ## 5. Siapkan lab dan proyekmu · 3 menit SMA · Lanjutan, sesi 17; proyek Katalog Buku Lokal, sesi 17–32. VS Code, Python 3, ekstensi Python dan Python Debugger dari Microsoft. Buka seluruh folder hasil ekstraksi, pilih Python: Select Interpreter, lalu Terminal → New Terminal. Jalankan python latihan.py 0 untuk A dan python latihan.py 1 untuk B; gunakan py/python3 bila sesuai interpreter perangkat. Contoh diuji dengan CPython 3.12.14. Pasang breakpoint pada perubahan value, F5 untuk debug, F10 untuk Step Over. Screenshot VS Code memakai Output dari eksekusi helper; praktik siswa memakai terminal terintegrasi atau Run Python File. Jika Tkinter diperlukan, uji python -m tkinter pada interpreter yang sama. Pembungkus lab dan support.py disediakan mentor, bukan materi prasyarat awal. Siswa memisahkan logika, parsing/penyimpanan, dan tampilan; tentukan kontrak data serta kasus gagal. Gunakan pertanyaan sebelum memberi solusi. Prasyarat jalur: 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. 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. VS Code, Python 3, ekstensi Python dan Python Debugger dari Microsoft. Buka seluruh folder hasil ekstraksi, pilih Python: Select Interpreter, lalu Terminal → New Terminal. Jalankan python latihan.py 0 untuk A dan python latihan.py 1 untuk B; gunakan py/python3 bila sesuai interpreter perangkat. Contoh diuji dengan CPython 3.12.14. Pasang breakpoint pada perubahan value, F5 untuk debug, F10 untuk Step Over. Screenshot VS Code memakai Output dari eksekusi helper; praktik siswa memakai terminal terintegrasi atau Run Python File. Jika Tkinter diperlukan, uji python -m tkinter pada interpreter yang sama. Pembungkus lab dan support.py disediakan mentor, bukan materi prasyarat awal. [Kebijakan belajar] Siswa menentukan solusi dari brief, menyusun kasus uji, dan menjelaskan keputusan. Mentor memberi petunjuk bertahap. Jangan habiskan satu jam untuk mengenalkan nama fitur. Gunakan sisa waktu untuk masalah kecil, penelusuran hasil, dan variasi mandiri; jika siswa belum siap, ulangi contoh minimum. Gunakan struktur folder sumber/data/uji, coba .venv pada salinan proyek melalui interpreter VS Code, serta simpan riwayat perubahan sederhana (versi bernama atau Git lokal terbimbing). Tetap gunakan pustaka standar; instal paket bukan prasyarat. Minimum proyek: 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. [Estimasi tugas] 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. Slot slide ini 3 menit di dalam alur sesi, bukan tambahan. Ekstrak ZIP, lalu Open Folder di VS Code. Pilih interpreter; buka terminal terintegrasi. Jalankan python latihan.py 0 atau 1. ## 6. Acuan: Katalog Buku Lokal · 1 menit SMA · Lanjutan, sesi 17; proyek Katalog Buku Lokal, sesi 17–32. VS Code, Python 3, ekstensi Python dan Python Debugger dari Microsoft. Buka seluruh folder hasil ekstraksi, pilih Python: Select Interpreter, lalu Terminal → New Terminal. Jalankan python latihan.py 0 untuk A dan python latihan.py 1 untuk B; gunakan py/python3 bila sesuai interpreter perangkat. Contoh diuji dengan CPython 3.12.14. Pasang breakpoint pada perubahan value, F5 untuk debug, F10 untuk Step Over. Screenshot VS Code memakai Output dari eksekusi helper; praktik siswa memakai terminal terintegrasi atau Run Python File. Jika Tkinter diperlukan, uji python -m tkinter pada interpreter yang sama. Pembungkus lab dan support.py disediakan mentor, bukan materi prasyarat awal. Siswa memisahkan logika, parsing/penyimpanan, dan tampilan; tentukan kontrak data serta kasus gagal. Gunakan pertanyaan sebelum memberi solusi. Prasyarat jalur: 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. 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.Contoh proyek: Katalog terminal dengan ID buku, pencarian, ubah, hapus, serta database SQLite lokal. Baca README untuk cakupan dan perintah. Untuk aplikasi berjendela, screenshot berasal dari HWND Tk milik contoh; untuk terminal, screenshot menunjukkan lab sesi terkait, bukan layar aplikasi GUI. Demo proyek menjalankan assertion konsep inti. [Kebijakan belajar] Siswa menentukan solusi dari brief, menyusun kasus uji, dan menjelaskan keputusan. Mentor memberi petunjuk bertahap. Jangan habiskan satu jam untuk mengenalkan nama fitur. Gunakan sisa waktu untuk masalah kecil, penelusuran hasil, dan variasi mandiri; jika siswa belum siap, ulangi contoh minimum. Gunakan struktur folder sumber/data/uji, coba .venv pada salinan proyek melalui interpreter VS Code, serta simpan riwayat perubahan sederhana (versi bernama atau Git lokal terbimbing). Tetap gunakan pustaka standar; instal paket bukan prasyarat. Minimum proyek: 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. [Estimasi tugas] 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. Slot slide ini 1 menit di dalam alur sesi, bukan tambahan. Buka contoh proyek sebagai folder terpisah. Jalankan python demo.py terlebih dahulu. Terapkan tugas pada proyek siswa. ## 7. Praktik bersama mentor · 8 menit SMA · Lanjutan, sesi 17; proyek Katalog Buku Lokal, sesi 17–32. VS Code, Python 3, ekstensi Python dan Python Debugger dari Microsoft. Buka seluruh folder hasil ekstraksi, pilih Python: Select Interpreter, lalu Terminal → New Terminal. Jalankan python latihan.py 0 untuk A dan python latihan.py 1 untuk B; gunakan py/python3 bila sesuai interpreter perangkat. Contoh diuji dengan CPython 3.12.14. Pasang breakpoint pada perubahan value, F5 untuk debug, F10 untuk Step Over. Screenshot VS Code memakai Output dari eksekusi helper; praktik siswa memakai terminal terintegrasi atau Run Python File. Jika Tkinter diperlukan, uji python -m tkinter pada interpreter yang sama. Pembungkus lab dan support.py disediakan mentor, bukan materi prasyarat awal. Siswa memisahkan logika, parsing/penyimpanan, dan tampilan; tentukan kontrak data serta kasus gagal. Gunakan pertanyaan sebelum memberi solusi. Prasyarat jalur: 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. 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.Demo kurikulum: 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 Tugas rinci: Tentukan field buku serta arti primary key Siswa memisahkan logika, parsing/penyimpanan, dan tampilan; tentukan kontrak data serta kasus gagal. Gunakan pertanyaan sebelum memberi solusi. [Kebijakan belajar] Siswa menentukan solusi dari brief, menyusun kasus uji, dan menjelaskan keputusan. Mentor memberi petunjuk bertahap. Jangan habiskan satu jam untuk mengenalkan nama fitur. Gunakan sisa waktu untuk masalah kecil, penelusuran hasil, dan variasi mandiri; jika siswa belum siap, ulangi contoh minimum. Gunakan struktur folder sumber/data/uji, coba .venv pada salinan proyek melalui interpreter VS Code, serta simpan riwayat perubahan sederhana (versi bernama atau Git lokal terbimbing). Tetap gunakan pustaka standar; instal paket bukan prasyarat. Minimum proyek: 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. [Estimasi tugas] 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. Slot slide ini 8 menit di dalam alur sesi, bukan tambahan. Prediksi value saat variant = 0. Jalankan kasus A; tunjuk baris penyebab hasilnya. Mentor mencontohkan satu bagian tugas proyek. ## 8. Contoh pengerjaan: kasus A · 1 menit SMA · Lanjutan, sesi 17; proyek Katalog Buku Lokal, sesi 17–32. VS Code, Python 3, ekstensi Python dan Python Debugger dari Microsoft. Buka seluruh folder hasil ekstraksi, pilih Python: Select Interpreter, lalu Terminal → New Terminal. Jalankan python latihan.py 0 untuk A dan python latihan.py 1 untuk B; gunakan py/python3 bila sesuai interpreter perangkat. Contoh diuji dengan CPython 3.12.14. Pasang breakpoint pada perubahan value, F5 untuk debug, F10 untuk Step Over. Screenshot VS Code memakai Output dari eksekusi helper; praktik siswa memakai terminal terintegrasi atau Run Python File. Jika Tkinter diperlukan, uji python -m tkinter pada interpreter yang sama. Pembungkus lab dan support.py disediakan mentor, bukan materi prasyarat awal. Siswa memisahkan logika, parsing/penyimpanan, dan tampilan; tentukan kontrak data serta kasus gagal. Gunakan pertanyaan sebelum memberi solusi. Prasyarat jalur: 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. 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.Hasil awal yang diuji di Python: 1. Cocokkan angka, tipe, dan satuan. Screenshot menunjukkan satu kasus komponen saja. [Kebijakan belajar] Siswa menentukan solusi dari brief, menyusun kasus uji, dan menjelaskan keputusan. Mentor memberi petunjuk bertahap. Jangan habiskan satu jam untuk mengenalkan nama fitur. Gunakan sisa waktu untuk masalah kecil, penelusuran hasil, dan variasi mandiri; jika siswa belum siap, ulangi contoh minimum. Gunakan struktur folder sumber/data/uji, coba .venv pada salinan proyek melalui interpreter VS Code, serta simpan riwayat perubahan sederhana (versi bernama atau Git lokal terbimbing). Tetap gunakan pustaka standar; instal paket bukan prasyarat. Minimum proyek: 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. [Estimasi tugas] 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. Slot slide ini 1 menit di dalam alur sesi, bukan tambahan. Input memakai variant 0. Bandingkan hasil dengan prediksimu. Klik gambar untuk membaca detail. ## 9. Tugas mandiri pada proyek · 19 menit SMA · Lanjutan, sesi 17; proyek Katalog Buku Lokal, sesi 17–32. VS Code, Python 3, ekstensi Python dan Python Debugger dari Microsoft. Buka seluruh folder hasil ekstraksi, pilih Python: Select Interpreter, lalu Terminal → New Terminal. Jalankan python latihan.py 0 untuk A dan python latihan.py 1 untuk B; gunakan py/python3 bila sesuai interpreter perangkat. Contoh diuji dengan CPython 3.12.14. Pasang breakpoint pada perubahan value, F5 untuk debug, F10 untuk Step Over. Screenshot VS Code memakai Output dari eksekusi helper; praktik siswa memakai terminal terintegrasi atau Run Python File. Jika Tkinter diperlukan, uji python -m tkinter pada interpreter yang sama. Pembungkus lab dan support.py disediakan mentor, bukan materi prasyarat awal. Siswa memisahkan logika, parsing/penyimpanan, dan tampilan; tentukan kontrak data serta kasus gagal. Gunakan pertanyaan sebelum memberi solusi. Prasyarat jalur: 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. 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.Instruksi: Tentukan field buku serta arti primary key Rincian kurikulum: Tentukan field buku serta arti primary key Keputusan siswa: Tentukan field wajib dan kebijakan judul sama. Batas cakupan: 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. Berkas bukti: python-sma-lanjutan-S17-kode-siswa. Jangan menyelesaikan tugas siswa; catat mandiri/petunjuk/bantuan. Hasil minimum: Tentukan field buku serta arti primary key Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan model relasional kecil; prediksi hasil dan tambahkan bukti pemeriksaan. [Kebijakan belajar] Siswa menentukan solusi dari brief, menyusun kasus uji, dan menjelaskan keputusan. Mentor memberi petunjuk bertahap. Jangan habiskan satu jam untuk mengenalkan nama fitur. Gunakan sisa waktu untuk masalah kecil, penelusuran hasil, dan variasi mandiri; jika siswa belum siap, ulangi contoh minimum. Gunakan struktur folder sumber/data/uji, coba .venv pada salinan proyek melalui interpreter VS Code, serta simpan riwayat perubahan sederhana (versi bernama atau Git lokal terbimbing). Tetap gunakan pustaka standar; instal paket bukan prasyarat. Minimum proyek: 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. [Estimasi tugas] 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. Slot slide ini 19 menit di dalam alur sesi, bukan tambahan. Tentukan field buku serta arti primary key Uji satu input baru; prediksi hasil sebelum menjalankan. Simpan hasil dan jelaskan bantuan yang dipakai. ## 10. Bandingkan dengan kasus B · 1 menit SMA · Lanjutan, sesi 17; proyek Katalog Buku Lokal, sesi 17–32. VS Code, Python 3, ekstensi Python dan Python Debugger dari Microsoft. Buka seluruh folder hasil ekstraksi, pilih Python: Select Interpreter, lalu Terminal → New Terminal. Jalankan python latihan.py 0 untuk A dan python latihan.py 1 untuk B; gunakan py/python3 bila sesuai interpreter perangkat. Contoh diuji dengan CPython 3.12.14. Pasang breakpoint pada perubahan value, F5 untuk debug, F10 untuk Step Over. Screenshot VS Code memakai Output dari eksekusi helper; praktik siswa memakai terminal terintegrasi atau Run Python File. Jika Tkinter diperlukan, uji python -m tkinter pada interpreter yang sama. Pembungkus lab dan support.py disediakan mentor, bukan materi prasyarat awal. Siswa memisahkan logika, parsing/penyimpanan, dan tampilan; tentukan kontrak data serta kasus gagal. Gunakan pertanyaan sebelum memberi solusi. Prasyarat jalur: 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. 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.Hasil pembanding yang diuji di Python: 2. Jika hasil A dan B sama, jelaskan sifat yang diuji, misalnya reset atau input berbeda yang sama-sama ditolak. Minta satu kasus baru dengan harapan buatan siswa. [Kebijakan belajar] Siswa menentukan solusi dari brief, menyusun kasus uji, dan menjelaskan keputusan. Mentor memberi petunjuk bertahap. Jangan habiskan satu jam untuk mengenalkan nama fitur. Gunakan sisa waktu untuk masalah kecil, penelusuran hasil, dan variasi mandiri; jika siswa belum siap, ulangi contoh minimum. Gunakan struktur folder sumber/data/uji, coba .venv pada salinan proyek melalui interpreter VS Code, serta simpan riwayat perubahan sederhana (versi bernama atau Git lokal terbimbing). Tetap gunakan pustaka standar; instal paket bukan prasyarat. Minimum proyek: 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. [Estimasi tugas] 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. Slot slide ini 1 menit di dalam alur sesi, bukan tambahan. Input kini memakai variant 1. Cari nilai yang berubah atau tetap. Jelaskan alasan hasilnya. ## 11. Uji dan perbaiki dengan bukti · 5 menit SMA · Lanjutan, sesi 17; proyek Katalog Buku Lokal, sesi 17–32. VS Code, Python 3, ekstensi Python dan Python Debugger dari Microsoft. Buka seluruh folder hasil ekstraksi, pilih Python: Select Interpreter, lalu Terminal → New Terminal. Jalankan python latihan.py 0 untuk A dan python latihan.py 1 untuk B; gunakan py/python3 bila sesuai interpreter perangkat. Contoh diuji dengan CPython 3.12.14. Pasang breakpoint pada perubahan value, F5 untuk debug, F10 untuk Step Over. Screenshot VS Code memakai Output dari eksekusi helper; praktik siswa memakai terminal terintegrasi atau Run Python File. Jika Tkinter diperlukan, uji python -m tkinter pada interpreter yang sama. Pembungkus lab dan support.py disediakan mentor, bukan materi prasyarat awal. Siswa memisahkan logika, parsing/penyimpanan, dan tampilan; tentukan kontrak data serta kasus gagal. Gunakan pertanyaan sebelum memberi solusi. Prasyarat jalur: 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. 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.Gangguan kurikulum: Judul dijadikan ID sehingga buku berbeda bertabrakan. Cek: Judul sama tidak dianggap ID sama Script lab berisi kasus yang dapat diuji; error pembelajaran yang disengaja dijelaskan pada sesi. bug pada proyek siswa dianalisis terpisah. Ubah satu variabel, hindari mengubah expected hanya untuk membuat label hijau. [Kebijakan belajar] Siswa menentukan solusi dari brief, menyusun kasus uji, dan menjelaskan keputusan. Mentor memberi petunjuk bertahap. Jangan habiskan satu jam untuk mengenalkan nama fitur. Gunakan sisa waktu untuk masalah kecil, penelusuran hasil, dan variasi mandiri; jika siswa belum siap, ulangi contoh minimum. Gunakan struktur folder sumber/data/uji, coba .venv pada salinan proyek melalui interpreter VS Code, serta simpan riwayat perubahan sederhana (versi bernama atau Git lokal terbimbing). Tetap gunakan pustaka standar; instal paket bukan prasyarat. Minimum proyek: 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. [Estimasi tugas] 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. Slot slide ini 5 menit di dalam alur sesi, bukan tambahan. Catat keadaan awal dan hasil yang diharapkan. Jalankan satu kasus sah dan satu kasus gagal. Perbaiki satu penyebab, lalu ulangi kedua uji. ## 12. Periksa sebelum selesai · 5 menit Kriteria sesi: Judul sama tidak dianggap ID sama Simpan versi awal dan akhir; catat harapan, hasil aktual, satu alasan perubahan, dan bentuk bantuan. 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. [Kebijakan belajar] Siswa menentukan solusi dari brief, menyusun kasus uji, dan menjelaskan keputusan. Mentor memberi petunjuk bertahap. Jangan habiskan satu jam untuk mengenalkan nama fitur. Gunakan sisa waktu untuk masalah kecil, penelusuran hasil, dan variasi mandiri; jika siswa belum siap, ulangi contoh minimum. Gunakan struktur folder sumber/data/uji, coba .venv pada salinan proyek melalui interpreter VS Code, serta simpan riwayat perubahan sederhana (versi bernama atau Git lokal terbimbing). Tetap gunakan pustaka standar; instal paket bukan prasyarat. Minimum proyek: 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. [Estimasi tugas] 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. Slot slide ini 5 menit di dalam alur sesi, bukan tambahan. Tugas inti selesai dan dapat dijalankan ulang. Satu perubahan dicoba dan dijelaskan. Sumber tersimpan; bantuan dicatat. ## 13. Jelaskan keputusanmu · 3 menit SMA · Lanjutan, sesi 17; proyek Katalog Buku Lokal, sesi 17–32. VS Code, Python 3, ekstensi Python dan Python Debugger dari Microsoft. Buka seluruh folder hasil ekstraksi, pilih Python: Select Interpreter, lalu Terminal → New Terminal. Jalankan python latihan.py 0 untuk A dan python latihan.py 1 untuk B; gunakan py/python3 bila sesuai interpreter perangkat. Contoh diuji dengan CPython 3.12.14. Pasang breakpoint pada perubahan value, F5 untuk debug, F10 untuk Step Over. Screenshot VS Code memakai Output dari eksekusi helper; praktik siswa memakai terminal terintegrasi atau Run Python File. Jika Tkinter diperlukan, uji python -m tkinter pada interpreter yang sama. Pembungkus lab dan support.py disediakan mentor, bukan materi prasyarat awal. Siswa memisahkan logika, parsing/penyimpanan, dan tampilan; tentukan kontrak data serta kasus gagal. Gunakan pertanyaan sebelum memberi solusi. Prasyarat jalur: 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. 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.Minta siswa menunjuk fungsi, baris, atau data yang relevan. Minta kontrak data, satu penolakan tanpa mutasi, serta respons terhadap perubahan data penguji. [Kebijakan belajar] Siswa menentukan solusi dari brief, menyusun kasus uji, dan menjelaskan keputusan. Mentor memberi petunjuk bertahap. Jangan habiskan satu jam untuk mengenalkan nama fitur. Gunakan sisa waktu untuk masalah kecil, penelusuran hasil, dan variasi mandiri; jika siswa belum siap, ulangi contoh minimum. Gunakan struktur folder sumber/data/uji, coba .venv pada salinan proyek melalui interpreter VS Code, serta simpan riwayat perubahan sederhana (versi bernama atau Git lokal terbimbing). Tetap gunakan pustaka standar; instal paket bukan prasyarat. Minimum proyek: 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. [Estimasi tugas] 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. Slot slide ini 3 menit di dalam alur sesi, bukan tambahan. Input serta data yang saya gunakan adalah… Saya memilih aturan ini karena… Bukti pengujian saya menunjukkan… ## 14. Apa yang perlu diuji berikutnya? · 2 menit SMA · Lanjutan, sesi 17; proyek Katalog Buku Lokal, sesi 17–32. VS Code, Python 3, ekstensi Python dan Python Debugger dari Microsoft. Buka seluruh folder hasil ekstraksi, pilih Python: Select Interpreter, lalu Terminal → New Terminal. Jalankan python latihan.py 0 untuk A dan python latihan.py 1 untuk B; gunakan py/python3 bila sesuai interpreter perangkat. Contoh diuji dengan CPython 3.12.14. Pasang breakpoint pada perubahan value, F5 untuk debug, F10 untuk Step Over. Screenshot VS Code memakai Output dari eksekusi helper; praktik siswa memakai terminal terintegrasi atau Run Python File. Jika Tkinter diperlukan, uji python -m tkinter pada interpreter yang sama. Pembungkus lab dan support.py disediakan mentor, bukan materi prasyarat awal. Siswa memisahkan logika, parsing/penyimpanan, dan tampilan; tentukan kontrak data serta kasus gagal. Gunakan pertanyaan sebelum memberi solusi. Prasyarat jalur: 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. 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.Catat prasyarat yang belum kuat sebelum menambah mekanik. Pengayaan: Setelah target inti tercapai, ubah satu data atau batas input pada kegiatan model relasional kecil; prediksi hasil dan tambahkan bukti pemeriksaan. [Kebijakan belajar] Siswa menentukan solusi dari brief, menyusun kasus uji, dan menjelaskan keputusan. Mentor memberi petunjuk bertahap. Jangan habiskan satu jam untuk mengenalkan nama fitur. Gunakan sisa waktu untuk masalah kecil, penelusuran hasil, dan variasi mandiri; jika siswa belum siap, ulangi contoh minimum. Gunakan struktur folder sumber/data/uji, coba .venv pada salinan proyek melalui interpreter VS Code, serta simpan riwayat perubahan sederhana (versi bernama atau Git lokal terbimbing). Tetap gunakan pustaka standar; instal paket bukan prasyarat. Minimum proyek: 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. [Estimasi tugas] 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. Slot slide ini 2 menit di dalam alur sesi, bukan tambahan. Sumber API: https://docs.python.org/3/tutorial/controlflow.html