# Perpustakaan Mini SMA · Lanjutan · sesi 49–64 ## 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 memakai Tkinter; uji python -m tkinter terlebih dahulu. Contoh diuji dengan CPython 3.12.14. ## Cakupan Aplikasi buku serta peminjaman lokal dengan pencarian, transaksi, laporan, dan bukti uji. Ini contoh minimum untuk dikembangkan melalui tugas, bukan produk siap produksi atau jaminan seluruh rubrik sudah selesai. Contoh proyek akhir mengikuti sumber paket kurikulum yang sudah tersedia; test_app.py dapat dijalankan dengan python -m unittest -v. 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 49: Brief pengguna mandiri. Tentukan pemakai, tiga skenario, dan batas fitur - Sesi 50: Model buku dan pinjaman. Rancang dua tabel serta relasi ID - Sesi 51: Rencana uji sebelum kode. Tulis kasus stok satu, stok nol, dan kembali dua kali - Sesi 52: Arsitektur aplikasi. Pisahkan repository, layanan, dan dua tampilan - Sesi 53: Database awal. Buat tabel serta data sintetis melalui parameter - Sesi 54: Tampilan buku. Tampilkan ID, judul, stok, dan pencarian - Sesi 55: Tampilan pinjaman. Tampilkan ID pinjaman dan status aktif - Sesi 56: Alur pinjam. Validasi stok dan nama peminjam sebelum perubahan - Sesi 57: Transaksi atomik. Gabungkan kurangi stok serta catat pinjaman - Sesi 58: Alur kembali. Periksa status sebelum menambah stok - Sesi 59: Laporan CSV. Ekspor data pinjaman ke file keluaran baru - Sesi 60: Unittest layanan. Uji stok habis, ID salah, dan kembali ganda - Sesi 61: Uji integrasi buka ulang. Tutup koneksi lalu baca ulang data tersimpan - Sesi 62: Uji pengguna brief baru. Minta teman mencari, meminjam, dan kembali - Sesi 63: Revisi dan serah terima. Perbaiki prioritas tertinggi lalu ulangi test - Sesi 64: Presentasi: Perpustakaan Mini. 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. ## Kriteria proyek - Brief memuat kasus normal, batas stok, serta kriteria selesai - Pinjam dan kembali memakai ID buku serta ID pinjaman yang tepat - Pinjam gagal tidak mengubah stok dan pengembalian tidak diproses dua kali - Aplikasi, DB latihan, laporan, README, serta hasil test dapat dibuka ulang 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.