Pengecekan Validasi (Keabsahan) Data dengan Penanganan Kesalahan pada Lazarus Free Pascal wajib dilakukan oleh programmer, Sebagai programmer kita menginginkan agar pemakai program buatan kita dijalankan dengan benar, misal disuruh input angka maka yang diinputkan juga angka, inputan tanggal diisi tanggal. Ada kalanya apa yang kita inginkan sebagai programmer tidak dilakukan oleh pemakai program kita, baik itu karena unsur sengaja maupun tidak sengaja. Bisa juga kesalahan data itu dari hasil program kita sendiri.
Sebagai bahan praktek validasi data kali ini silahkan buka kembali postingan aku sebelumnya di Memilih Data dengan RadioButton Lazarus (Belajar Lazarus #7) buka proyek aplikasi kasiratk.lpi
Silahkan compile (tekan F9) lalu coba masukkan pada kotak EBanyak barang dengan angka pecahan misalnya 5.5 , terus tekan tombol hitung. Perhatikan apa yang terjadi! Akan muncul pesan error.
Gambar error pertama di bawah ini adalah pesan error yang dihasilkan oleh IDE Lazarus Free Pascal.
Sedangkan error kedua di bawah ini adalah yang dihasilkan oleh Program Kasiratk. (Jika program dijalankan diluar IDE Lazarus maka yang muncul hanya gambar error di bawah ini saja)
Pesan error tersebut menyebutkan:
Coba ingat-ingat tipe data apa yang kita gunakan untuk harga, banyak, dan bayar pada program kasiratk? Tipe datanya integer kan. Sedangkan 5.5 adalah merupakan tipe data real.
Untuk error yang kemungkinan bisa timbul pada sebuah program maka perlu dilakukan pengecekan validasi / keabsahan data dengan melakukan penanganan kesalahan / error handling yang mungkin bisa timbul. Untuk program kasihatk ini pengecekan validasi / keabsahan meliputi:
1. Mencegah pengguna agar hanya bisa mengetikkan angka saja pada kotak EBanyak. Sebab jika huruf yang diisikan pada kotak EBanyak maka akan error karena huruf bukan tipe data integer yang valid.
Untuk validasi ini kita perlu membuat event OnKeyPress pada komponen EBanyak seperti di bawah ini:
Untuk referensi tentang eventkeypress silahkan baca disini Program Kode Ascii Keyboard Lazarus Free Pascal
2. Jika kotak edit masih kosong atau berisi 0 maka transaksi digagalkan. Sebab jika kotak edit masih kosong maka akan muncul error karena data kosong bukan merupakan data integer yang valid. Walau kotak EBanyak berisi angka 0 yang merupakan nilai integer yang valid tapi kita gagalkan juga transaksinya sebab secara logika kalau berisi 0 maka tidak ada barang yang dibeli.
Untuk validasi ini kita perlu merubah isi event OnClick milik komponen BHitung seperti di bawah ini:
Sekarang simpan dan compile / jalankan dengan menekan F9. Lihat apa yang terjadi. pada kotak edit EBanyak selain angka tidak dapat diketikkan dan jika EBanyak masih kosong atau berisi 0 maka akan muncul kotak pesan
"Isikan banyak barang!". Sekian tutorial Validasi Data Penanganan Kesalahan Lazarus Free Pascal semoga bermanfaat.
Sebagai bahan praktek validasi data kali ini silahkan buka kembali postingan aku sebelumnya di Memilih Data dengan RadioButton Lazarus (Belajar Lazarus #7) buka proyek aplikasi kasiratk.lpi
Silahkan compile (tekan F9) lalu coba masukkan pada kotak EBanyak barang dengan angka pecahan misalnya 5.5 , terus tekan tombol hitung. Perhatikan apa yang terjadi! Akan muncul pesan error.
Gambar error pertama di bawah ini adalah pesan error yang dihasilkan oleh IDE Lazarus Free Pascal.
Sedangkan error kedua di bawah ini adalah yang dihasilkan oleh Program Kasiratk. (Jika program dijalankan diluar IDE Lazarus maka yang muncul hanya gambar error di bawah ini saja)
Pesan error tersebut menyebutkan:
"5.5" is an invalid integer.
Coba ingat-ingat tipe data apa yang kita gunakan untuk harga, banyak, dan bayar pada program kasiratk? Tipe datanya integer kan. Sedangkan 5.5 adalah merupakan tipe data real.
Untuk error yang kemungkinan bisa timbul pada sebuah program maka perlu dilakukan pengecekan validasi / keabsahan data dengan melakukan penanganan kesalahan / error handling yang mungkin bisa timbul. Untuk program kasihatk ini pengecekan validasi / keabsahan meliputi:
1. Mencegah pengguna agar hanya bisa mengetikkan angka saja pada kotak EBanyak. Sebab jika huruf yang diisikan pada kotak EBanyak maka akan error karena huruf bukan tipe data integer yang valid.
Untuk validasi ini kita perlu membuat event OnKeyPress pada komponen EBanyak seperti di bawah ini:
procedure TFKasirATK.EBanyakKeyPress(Sender: TObject; var Key: char);
begin
if not (key in['0'..'9',#8,#13]) then
Key:=#0;
end;
Untuk referensi tentang eventkeypress silahkan baca disini Program Kode Ascii Keyboard Lazarus Free Pascal
2. Jika kotak edit masih kosong atau berisi 0 maka transaksi digagalkan. Sebab jika kotak edit masih kosong maka akan muncul error karena data kosong bukan merupakan data integer yang valid. Walau kotak EBanyak berisi angka 0 yang merupakan nilai integer yang valid tapi kita gagalkan juga transaksinya sebab secara logika kalau berisi 0 maka tidak ada barang yang dibeli.
Untuk validasi ini kita perlu merubah isi event OnClick milik komponen BHitung seperti di bawah ini:
procedure TFKasirATK.BHitungClick(Sender: TObject);
var
harga, banyak, bayar: integer;
begin
if (EBanyak.Text='') or (EBanyak.Text='0') then
ShowMessage('Isikan banyak barang!')
else
begin
banyak:= strtoint(EBanyak.Text);
if RBSpidol.Checked then harga:= 5000;
if RBPulpen.Checked then harga:= 3000;
if RBPensil.Checked then harga:= 1000;
bayar:= banyak*harga;
EJumlah.Text:= inttostr(bayar);
end;
end;
Sekarang simpan dan compile / jalankan dengan menekan F9. Lihat apa yang terjadi. pada kotak edit EBanyak selain angka tidak dapat diketikkan dan jika EBanyak masih kosong atau berisi 0 maka akan muncul kotak pesan
"Isikan banyak barang!". Sekian tutorial Validasi Data Penanganan Kesalahan Lazarus Free Pascal semoga bermanfaat.
Comments
Post a Comment