# Perpustakaan Mini — sma-lanjutan Contoh minimum proyek akhir, bukan jawaban yang harus disalin siswa. Bangun bertahap dari sesi pada panduan mentor. Dua tab buku/pinjaman; tambah buku, pilih ID, pinjam, kembali, dan ekspor laporan CSV. Pinjam serta kembali memakai transaksi SQLite. ## Menjalankan 1. Buka folder ini di VS Code; pilih interpreter Python 3 yang dipakai kelas. 2. Jalankan `python -m tkinter` untuk memeriksa Tcl/Tk sebelum membuka aplikasi. 3. Jalankan `python app.py` dari folder ini. 4. Data latihan tersimpan di `library.db` di samping sumber. Mulai dari katalog kosong; tambahkan Buku A stok 1 dan gunakan nama sintetis. ## Menguji Jalankan `python -m unittest -v` dari folder ini. Test memakai folder sementara, bukan data kerja. Unittest adalah perangkat validasi mentor; SMP cukup mempelajari assert dan tabel hasil sesuai sesi. Test GUI membuka root tersembunyi, membangun widget, serta memanggil callback; ini bukan pengganti uji keterbacaan dan interaksi pengguna di kelas. ## Skenario manual Buku A stok 1 → pinjam sekali stok 0 → pinjam ulang ditolak → kembali stok 1 → kembali lagi ditolak. Tutup dan buka ulang; stok serta status harus sama. Ekspor CSV dan baca hasil tanpa mengubah DB. Catat versi Python/Tk, hasil uji, bantuan yang diperlukan siswa, serta satu revisi dari pengguna. Aplikasi dijalankan dari .py; installer .exe, akun, server, dan data pribadi tidak diperlukan.