# Kalkulator Nilai Berjendela SMA · 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 memakai Tkinter; uji python -m tkinter terlebih dahulu. Contoh diuji dengan CPython 3.12.14. ## Cakupan Aplikasi satu jendela untuk merangkum tiga nilai latihan dengan validasi. 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: Audit fungsi ringkasan. Uji fungsi tiga nilai sebelum GUI - Sesi 34: Pemeriksaan Tkinter. Jalankan python -m tkinter pada interpreter kelas - Sesi 35: Tk dan mainloop. Buka dan tutup satu root window - Sesi 36: Layout ttk dan grid. Rancang tiga Entry, tombol hitung, serta label - Sesi 37: Entry dan StringVar. Baca tiga nilai sebagai teks - Sesi 38: Button command. Daftarkan callback tanpa kurung pemanggilan - Sesi 39: Fungsi terpisah. Hubungkan callback ke fungsi ringkasan - Sesi 40: Menampilkan hasil. Format rata-rata dengan ketelitian tertulis - Sesi 41: Validasi input kosong. Berikan pesan sebelum menghitung - Sesi 42: Konversi dan ValueError. Tangani input huruf serta desimal - Sesi 43: Validasi rentang nilai. Batasi setiap nilai 0 sampai 100 - Sesi 44: Reset state. Kosongkan Entry, pesan, serta hasil - Sesi 45: Respons event loop. Uji klik cepat dan perubahan input - Sesi 46: Assert dan kasus batas. Uji fungsi dengan nol, seratus, dan data salah - Sesi 47: Uji teman dan revisi. Amati satu pengguna tanpa demo penuh - Sesi 48: Presentasi: Kalkulator Nilai Berjendela. Demonstrasikan data baru serta reset 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 - Layout terbaca dan hanya satu event loop aktif - Fungsi ringkasan dapat dijalankan tanpa GUI - Input kosong, huruf, serta nilai di luar rentang tertangani - Reset dan klik berulang tidak menumpuk widget 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.