# Catatan Uang Saku SMP · Pemula · 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 menggunakan terminal, bukan jendela GUI. Contoh diuji dengan CPython 3.12.14. ## Cakupan Pencatat uang saku terminal dengan transaksi berlabel dan simpan-muat JSON. 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: List dan indeks. Simpan tiga nama transaksi dalam list - Sesi 34: append() dan len(). Tambahkan transaksi lalu tampilkan jumlah data - Sesi 35: Dictionary dan key. Beri field jenis, nama, dan nominal pada transaksi - Sesi 36: List berisi dictionary. Susun tiga transaksi sintetis dan tampilkan dengan loop - Sesi 37: Fungsi hitung saldo. Jumlahkan pemasukan dan kurangi pengeluaran - Sesi 38: Nominal rupiah integer. Validasi int positif serta jenis transaksi - Sesi 39: Menu tambah dan daftar. Hubungkan fungsi data dengan input terminal - Sesi 40: Kasus daftar kosong. Tampilkan pesan dan saldo awal nol - Sesi 41: File dan pathlib. Tetapkan lokasi data relatif ke file program - Sesi 42: with open dan encoding. Tulis serta baca teks UTF-8 latihan - Sesi 43: json.dump(). Simpan list transaksi sebagai JSON - Sesi 44: json.load(). Muat data dan hitung saldo ulang - Sesi 45: FileNotFoundError. Mulai daftar kosong hanya ketika file belum ada - Sesi 46: JSONDecodeError. Coba file rusak pada salinan dan tampilkan pesan - Sesi 47: Uji simpan dan buka ulang. Jalankan dua kali dengan data sintetis berbeda - Sesi 48: Presentasi: Catatan Uang Saku. Demonstrasikan saldo dan jelaskan lokasi data Kerjakan perubahan di Visual Studio Code (VS Code); serahkan sumber .py dan folder proyek, README, data sintetis, serta tabel hasil uji, dan catatan uji. ## Kriteria proyek - Setiap transaksi memiliki jenis, nama, dan nominal positif - Pemasukan menambah saldo dan pengeluaran menguranginya - Buka ulang menghasilkan transaksi dan saldo yang sama - Data rusak diberi pesan tanpa menimpa sumber Bekal: Tidak memerlukan pengalaman Python. Mulai dari membuka file, print(), variabel, input(), dan latihan kecil; mentor memeriksa pemahaman sebelum menambah konsep. 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.