Modul, pemisahan tanggung jawab, dan prototipe kerja
INFO9-27
Menghubungkan validasi, perhitungan, serta penyajian tanpa mencampur seluruh tugas.
Bekal awal: Memahami fungsi dan daftar catatan.
Konteks bab
Revisi naskah pada PDF65 memberi konteks perbaikan berdasarkan pembaca. Prototipe berikut bukan gambaran sistem operasional pondok.
Bacaan dan kasus
7 · Hasil lama yang masih terlihat
Bacaan pendalaman
Kasus dan angka yang dibuat untuk latihan adalah simulasi/rekaan; fakta konsep dan sumber dibedakan dalam uraian.
Prototipe rekaan menampilkan total12, dipinjam5, dan hasil7. Pengguna mengganti total menjadi4 tetapi belum menekan tombol hitung. Hasil7 tetap terlihat tanpa penanda. Ia mengira angka itu sudah sesuai isian baru. Program menghitung benar pada perintah sebelumnya, tetapi tampilan keadaan membuat keputusan pengguna keliru.
Kelompok merancang dua pilihan: menghitung ulang setiap perubahan jika valid, atau menandai hasil lama belum berlaku sampai perintah berikutnya. Mereka membandingkan kejelasan, pesan invalid, dan cara akses. Label “jumlah” juga diganti menjadi “total alat” serta “sedang dipinjam” agar hubungan lebih jelas.
Uji berikut memakai tugas yang sama dan mencatat bantuan. Dua pemeran dapat memperbaiki isian sendiri; satu memerlukan penjelasan. Laporan menyebut perbedaan itu dan tidak mengubahnya menjadi tiga pengguna mandiri. Perbaikan antarmuka dibuktikan oleh alur yang dapat dipahami, bukan hanya warna baru.
Fokus pemeriksaan. Mengapa uji hitungan perlu dilengkapi uji keadaan tampilan?
Bagian kecil lebih mudah diperiksa
Prototipe dapat dipisah menjadi membaca data, memvalidasi, menghitung, dan menyajikan. Perubahan format keluaran tidak seharusnya mengubah rumus sisa. Perubahan cara masukan dibaca tidak perlu menghapus seluruh uji hitungan. Batas antarbagian dijelaskan melalui masukan, keluaran, serta kesalahan yang dapat terjadi.
Alur menggabungkan fungsi
Pada model, satu fungsi memeriksa catatan dan mengembalikan sisa; bagian lain menyusun kalimat kode dan jumlah. Jika baris invalid, catat masalahnya dan jangan menampilkan angka seolah sah. Keputusan apakah seluruh proses ditolak atau baris valid tetap diproses harus disebut dalam kontrak. Dua pilihan itu mempunyai akibat berbeda terhadap kelengkapan ringkasan.
Prototipe menjaga ruang lingkup
Contoh program hanya menampilkan laporan tiga catatan rekaan. Ia tidak menyimpan riwayat, menangani banyak pengguna sekaligus, atau mengesahkan transaksi nyata. Kekurangan ini ditulis agar pembaca memahami batas. Kualitas rancangan tampak pada kejelasan perilaku, pengujian, dan dokumentasi, bukan klaim bahwa sedikit kode sudah menyelesaikan semua kebutuhan.
Perhitungan dan tampilan dipisahkan
def hitung(total, pinjam):
if not (0 <= pinjam <= total):
raise ValueError("rentang tidak valid")
return total - pinjam
def label(kode, sisa):
return f"{kode}: {sisa} tersedia"
for kode, total, pinjam in [("A01", 12, 5), ("A02", 4, 4)]:
print(label(kode, hitung(total, pinjam)))Keluaran contoh
A01: 7 tersedia A02: 0 tersedia
Contoh mempunyai bilangan bulat yang sudah disiapkan. Untuk masukan bebas, tambahkan pemeriksaan tipe, kode unik, dan penanganan error sesuai pelajaran9.
Telusuri contoh
Mengapa fungsi format tidak menghitung sisa dengan rumus baru?
- Rumus sebaiknya mempunyai satu tanggung jawab yang jelas.
- Gunakan hasil perhitungan yang sudah diuji.
- Duplikasi rumus dapat menghasilkan ketidakkonsistenan saat diubah.
Satu baris invalid. Apa yang perlu dijelaskan laporan?
- Status baris ditolak dan alasannya.
- Apakah ringkasan hanya mencakup baris valid atau seluruh proses dibatalkan.
- Jangan menyebut hasil parsial sebagai total lengkap tanpa penanda.
Modul bukan sekadar memecah berkas; hubungan masukan, keluaran, dan kesalahan harus jelas.
Latihan mandiri
1 Sebutkan empat bagian alur.
Petunjuk awal
Pisahkan informasi yang diketahui, alasan yang diperlukan, dan batas kesimpulan. Periksa kembali contoh sebelum membuka pembahasan.
Pembahasan · buka setelah mencoba
Baca, validasi, hitung, sajikan.
2 Apa manfaat batas fungsi?
Petunjuk awal
Pisahkan informasi yang diketahui, alasan yang diperlukan, dan batas kesimpulan. Periksa kembali contoh sebelum membuka pembahasan.
Pembahasan · buka setelah mencoba
Memudahkan pengujian dan perubahan tanpa mencampur tanggung jawab.
3 Apa risiko laporan parsial tanpa penanda?
Petunjuk awal
Pisahkan informasi yang diketahui, alasan yang diperlukan, dan batas kesimpulan. Periksa kembali contoh sebelum membuka pembahasan.
Pembahasan · buka setelah mencoba
Pembaca mengira mencakup semua data dan mengambil keputusan salah.
4 Sebutkan batas prototipe contoh.
Petunjuk awal
Pisahkan informasi yang diketahui, alasan yang diperlukan, dan batas kesimpulan. Periksa kembali contoh sebelum membuka pembahasan.
Pembahasan · buka setelah mencoba
Belum menyimpan riwayat, menangani transaksi bersamaan, atau digunakan untuk operasional nyata.
Perluas pemahamanmu
Tambahkan status “parsial” pada laporan jika satu baris ditolak. Tentukan kapan pengguna perlu menghentikan keputusan sampai data lengkap.
Coba dengan umpan balik
Latihan otomatis membantu pemeriksaan; tuliskan alasan dan langkah untuk membuktikan pemahaman.
1 Laporan yang hanya memakai baris valid harus…
Petunjuk awal
Tentukan informasi, konsep dan bukti yang dibutuhkan.
Pembahasan · buka setelah mencoba
A. menjelaskan cakupan parsial dan baris ditolak. Pembaca perlu mengetahui cakupan hasil sebelum menggunakannya.
Praktik dan refleksi
Bagi kartu langkah ke empat bagian alur. Tukar rancangan format keluaran dan periksa bagian yang seharusnya tetap.
Penanda pribadi di perangkat ini; bukan nilai atau bukti penguasaan.