# Inventaris Kelas SMA · Lanjutan · sesi 33–48 ## 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 dua tampilan untuk daftar barang dan ringkasan stok dengan database 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 33: Brief inventaris kecil. Tulis tiga skenario dan kriteria hasil - Sesi 34: Diagram modul. Pisahkan view, service, dan repository - Sesi 35: Model stok. Tetapkan ID, nama, serta integer nonnegatif - Sesi 36: Sketsa dua tampilan. Rancang daftar dan ringkasan pada Notebook - Sesi 37: Frame dan Notebook. Buat dua tab dengan satu root - Sesi 38: Treeview dan ID. Tampilkan barang serta simpan primary key - Sesi 39: Form tambah. Validasi nama dan stok sebelum repository - Sesi 40: Ubah stok. Perbarui barang terpilih melalui ID - Sesi 41: Pencarian barang. Filter Treeview dan pertahankan ID - Sesi 42: Ringkasan stok. Hitung jumlah jenis serta total stok - Sesi 43: Refresh setelah commit. Perbarui daftar dan ringkasan dari database - Sesi 44: Pesan kegagalan. Tangani tanpa pilihan dan kesalahan validasi - Sesi 45: Unittest service. Uji stok minus, nol, huruf, dan batas ID - Sesi 46: Uji integrasi repository. Jalankan CRUD pada DB sementara - Sesi 47: Uji GUI dan revisi. Minta teman mencari dan mengubah stok - Sesi 48: Presentasi: Inventaris Kelas. 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. ## Kriteria proyek - Kebutuhan dan pembagian modul dapat dijelaskan - Pilihan tabel dipetakan ke ID database - Stok negatif serta teks salah ditolak sebelum perubahan - Ringkasan dan database sesuai setelah buka 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.