WEB14 / BELAJAR DAN MENCOBA
Validasi input dan batas data
Masih dalam pengembangan. Belajar pelan-pelan. Gunakan komputer sendiri dan data contoh.
Isi pelajaran ini
Kita belajar apa?
Program perlu memeriksa bentuk data yang masuk. Nomor objek seharusnya berupa angka. Angka yang benar bentuknya belum tentu menunjuk objek yang ada atau boleh diakses.
Bayangkan seperti ini
Nomor kelas harus masuk akal, tetapi nomor yang benar belum memberi izin masuk kelas orang lain.
Arti kata yang mungkin baru
- fixed
- mode lab yang memperbaiki kesalahan contoh
Penjelasan tambahan jika kamu ingin tahu lebih jauh
Validasi menentukan nilai yang dapat diterima; encoding menentukan bagaimana nilai ditampilkan; parameterisasi menentukan bagaimana nilai digunakan dalam query. Ketiganya bekerja pada masalah berbeda. Menghapus tanda kutip dari input bukan solusi umum.
Persiapan
Siapkan catatan dan baca panduan perangkat. Pakai data buatan, bukan data pribadi. Baca satu langkah, kerjakan, lalu periksa hasilnya sebelum melanjutkan.
- Unduh dan ekstrak ZIP lab dari halaman Perlengkapan ke komputer sendiri.
- Buka terminal di folder lab. Jalankan
python lab_web.py --enable-local-training. Gunakanpyataupython3jika itu nama Python pada perangkatmu. - Biarkan terminal tetap terbuka. Buka browser dan tulis
http://127.0.0.1:8765/pada bilah alamat di atas, lalu Enter. - Jika langkah menyebut
/noteatau nama halaman lain, tambahkan ke alamat lab. Contoh:http://127.0.0.1:8765/note?mode=fixed&id=1. Pilih mode lewat kotak pilihan jika tersedia. - Sesudah selesai, kembali ke terminal dan tekan Ctrl+C untuk menghentikan lab.
Langkah latihan
- Buka /api/profile?mode=fixed&id=1.
- Coba id=abc untuk bentuk yang salah.
- Coba id=999 untuk objek yang tidak ada.
- Catat status dan pesan setiap percobaan.
- Buat tiga baris: benar, salah bentuk, tidak ditemukan.
Hasil yang diharapkan
Kamu membedakan bentuk input, keberadaan objek, dan izin akses.
Bandingkan dengan hasilmu sendiri. Jika berbeda, tulis apa yang terlihat lalu baca bagian bantuan di bawah. Jangan mengaku berhasil jika langkahnya belum kamu coba.
Jika terhambat
Berhenti sebentar dan baca pesan yang muncul. Periksa nama file, folder, alamat, dan apakah program latihan masih berjalan. Ulangi satu langkah saja. Jika tetap bingung, minta bantuan guru atau pendamping; jangan mematikan keamanan perangkat.
Petunjuk khusus untuk pelajaran ini
Jangan menyimpulkan semua aplikasi harus memakai kode status persis sama; yang dinilai adalah kontrak dan kontrol lab.
Apa yang perlu kamu catat?
Tulis langkah yang kamu lakukan dan hasil yang benar-benar terlihat. Tambahkan satu kalimat: “Saya belajar bahwa …”. Untuk latihan menggambar, simpan gambar dan jawabanmu.
Cek pemahamanmu
Apa beda validasi input dengan parameterisasi SQL?
Buka pembahasan
Validasi memeriksa nilai yang boleh diterima; parameterisasi memisahkan nilai dari struktur SQL pada sink. Keduanya mempunyai tujuan berbeda.
Tantangan mandiri
Mengapa filter input saja tidak menggantikan parameter SQL?
Pedoman penilaian tantangan
Jawaban harus sesuai hasil aktual, menyebut batas kesimpulan, dan tidak keluar scope. Gunakan langkah serta hasil harapan pelajaran sebagai pembanding; nilai 0 bila belum ada, 1 bila sebagian, 2 bila jelas dan dapat ditinjau.
Perbaikan & retest
Terapkan batas panjang, tipe dan nilai yang masuk akal disertai kontrol pada sink.
