Masalah pengguna dan kontrak masukan-keluaran
INFO9-01
Merumuskan persoalan komputasi dengan masukan, keluaran, batas, dan kriteria penerimaan.
Bekal awal: Memahami variabel, kondisi, dan tujuan pengguna.
Konteks bab
Peminjaman serta pengembalian alat pada Hiwarut Thalabah (PDF17 dan109) memberi konteks. Jumlah dan kode benda berikut seluruhnya rekaan.
Bacaan dan kasus
1 · Nol bukan berarti belum diketahui
Bacaan pendalaman
Kasus dan angka yang dibuat untuk latihan adalah simulasi/rekaan; fakta konsep dan sumber dibedakan dalam uraian.
Tiga catatan simulasi menyebut A01 total10 dipinjam4, A02 total6 dipinjam6, dan A03 total kosong dipinjam2. Penyusun pertama mengisi semua kolom kosong dengan0 agar tabel tampak lengkap. Akibatnya A03 menghasilkan sisa−2 dan laporan sulit dipahami.
Pemeriksa mengembalikan data awal. A02 memang mempunyai sisa0, sedangkan total A03 belum diketahui. Dua keadaan itu tidak sama. Ia menandai A03 perlu verifikasi dan mempertahankan jejak perubahan, alih-alih mengubah dipinjam2 menjadi0 untuk menghilangkan nilai negatif.
Kelompok kemudian menulis kontrak: total serta dipinjam harus bilangan bulat, tidak negatif, dan dipinjam tidak lebih besar daripada total. Kontrak memeriksa kelayakan model; catatan sumber tetap diperlukan untuk memastikan angka benar. Mereka menyepakati tidak menambah identitas santri karena tujuan latihan hanya menghitung persediaan benda.
Fokus pemeriksaan. Apa informasi yang hilang jika kosong dan nol disamakan?
Tujuan mendahului program
Permintaan “buat aplikasi peminjaman” masih terlalu luas. Kita perlu mengetahui keputusan apa yang ingin dibantu. Dalam model buku ini, petugas rekaan ingin mengetahui jumlah alat tersedia tanpa menyimpan nama peminjam. Masukannya jumlah total dan jumlah sedang dipinjam; keluarannya jumlah tersedia atau pesan bahwa data tidak valid. Model kecil ini dapat diperiksa di kertas sebelum diwujudkan sebagai program.
Kontrak menjelaskan janji dan batas
Kontrak masukan-keluaran menyebut tipe, rentang, satuan, serta keadaan yang ditolak. Jumlah alat harus bilangan bulat tidak negatif dan dipinjam tidak melebihi total. Program tidak boleh diam-diam mengubah −2 menjadi 0 atau mengarang jumlah ketika isian kosong. Pesan kesalahan menjelaskan bagian yang perlu diperbaiki tanpa menyalahkan pengguna.
Kriteria penerimaan dapat diuji
Tuliskan contoh sebelum membuat program: total12 dan pinjam5 menghasilkan7; total0 dan pinjam0 menghasilkan0; total4 dan pinjam6 ditolak. Kriteria ini memeriksa perilaku, bukan warna tombol. Nama, jumlah, dan transaksi dalam buku merupakan simulasi. Program latihan bukan sistem inventaris yang telah disahkan untuk penggunaan nyata.
Telusuri contoh
Ubah permintaan umum menjadi kontrak kecil.
- Tujuan: mengetahui tersedia.
- Masukan: total dan dipinjam, bilangan bulat dengan 0≤dipinjam≤total.
- Keluaran: selisih atau kesalahan data yang jelas.
Mengapa nilai kosong tidak langsung dianggap nol?
- Kosong dapat berarti belum diketahui atau belum diisi.
- Nol berarti diketahui tidak ada.
- Kontrak perlu membedakan keduanya agar keluaran tidak menyesatkan.
Aplikasi yang tampak rapi belum tentu memenuhi kebutuhan; data kosong berbeda dari nol.
Latihan mandiri
1 Apa keluaran total12 pinjam5?
Petunjuk awal
Pisahkan informasi yang diketahui, alasan yang diperlukan, dan batas kesimpulan. Periksa kembali contoh sebelum membuka pembahasan.
Pembahasan · buka setelah mencoba
7 alat tersedia.
2 Mengapa total4 pinjam6 ditolak?
Petunjuk awal
Pisahkan informasi yang diketahui, alasan yang diperlukan, dan batas kesimpulan. Periksa kembali contoh sebelum membuka pembahasan.
Pembahasan · buka setelah mencoba
Melanggar batas dipinjam tidak melebihi total dalam model.
3 Sebutkan tiga unsur kontrak.
Petunjuk awal
Pisahkan informasi yang diketahui, alasan yang diperlukan, dan batas kesimpulan. Periksa kembali contoh sebelum membuka pembahasan.
Pembahasan · buka setelah mencoba
Tipe, rentang/syarat, satuan, keluaran, atau perilaku saat invalid.
4 Apa yang belum diuji dengan warna tombol?
Petunjuk awal
Pisahkan informasi yang diketahui, alasan yang diperlukan, dan batas kesimpulan. Periksa kembali contoh sebelum membuka pembahasan.
Pembahasan · buka setelah mencoba
Ketepatan hitungan, validasi, dan perilaku pada kasus batas.
Perluas pemahamanmu
Perluas kontrak untuk dua jenis alat tanpa menambahkan data pribadi. Jelaskan informasi yang benar-benar diperlukan untuk tujuan.
Coba dengan umpan balik
Latihan otomatis membantu pemeriksaan; tuliskan alasan dan langkah untuk membuktikan pemahaman.
1 Masukan kosong sebaiknya…
Petunjuk awal
Tentukan informasi, konsep dan bukti yang dibutuhkan.
Pembahasan · buka setelah mencoba
D. ditangani sesuai kontrak, tidak diam-diam dianggap nol. Status belum diisi berbeda dari nilai yang diketahui nol.
Praktik dan refleksi
Tulis enam kartu masukan dengan hasil yang diharapkan: normal, nol, batas maksimum contoh, negatif, kosong, dan jumlah pinjam berlebih.
Penanda pribadi di perangkat ini; bukan nilai atau bukti penguasaan.