# Katalog Buku Lokal SMA · Lanjutan · sesi 17–32 ## Menjalankan di VS Code Buka folder hasil ekstraksi, pilih Python: Select Interpreter. Jalankan `python app.py` dari terminal terintegrasi. Demo sintetis otomatis: `python demo.py`. Aplikasi menggunakan terminal, bukan jendela GUI. Contoh diuji dengan CPython 3.12.14. ## Cakupan Katalog terminal dengan ID buku, pencarian, ubah, hapus, serta database SQLite lokal. Ini contoh minimum untuk dikembangkan melalui tugas, bukan produk siap produksi atau jaminan seluruh rubrik sudah selesai. Demo memiliki assertion kasus inti; tambahkan regresi sesuai sesi sebelum menganggap fitur lengkap. Data sintetis saja. Simpan-muat interaktif memakai folder di samping app.py; lakukan latihan pada salinan folder. Demo otomatis memakai memori atau folder sementara dan tidak mengganti data kerja. ## Urutan tugas - Sesi 17: Model relasional kecil. Tentukan field buku serta arti primary key - Sesi 18: Pemeriksaan sqlite3. Buka database latihan pada folder proyek - Sesi 19: CREATE TABLE. Buat tabel buku dan batas field wajib - Sesi 20: SELECT dan baris. Baca katalog kosong serta tiga buku - Sesi 21: INSERT berparameter. Tambahkan judul melalui placeholder ? - Sesi 22: Validasi form terminal. Tolak judul kosong sebelum SQL - Sesi 23: UPDATE berdasarkan ID. Ubah satu buku pada ID terpilih - Sesi 24: DELETE dan konfirmasi. Hapus satu ID setelah keputusan eksplisit - Sesi 25: Commit dan rollback. Uji simpan perubahan dan pembatalan transaksi - Sesi 26: Pencarian berparameter. Cari kata judul dengan nilai parameter - Sesi 27: Repository terpisah. Pisahkan akses DB dari menu terminal - Sesi 28: Koneksi dan penutupan. Tutup koneksi pada alur berhasil maupun gagal - Sesi 29: Unittest DB sementara. Pakai TemporaryDirectory untuk setiap test - Sesi 30: Regresi CRUD. Uji tambah-ubah-cari-hapus serta ID salah - Sesi 31: Pemulihan dan README. Catat cara backup ketika aplikasi ditutup - Sesi 32: Presentasi: Katalog Buku Lokal. 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. ## Kriteria proyek - ID buku unik dan field wajib memiliki validasi - SQL menerima parameter terpisah dari teks query - Perubahan tersimpan sesudah commit dan koneksi ditutup - Pengujian tidak menyentuh database pengguna Bekal: 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. Pengujian: catat input, harapan, aktual, revisi, dan bantuan. Uji pengguna serta tempo kelas tetap dilakukan mentor. Untuk project CSV jalankan python app.py input.csv laporan-baru.csv; ekspor menolak tujuan yang sudah ada.