Praktikum 9
Validasi Data dan Penanganan Kesalahan
A. TUJUAN • • • • • •
Validasi data menggunakan properti required Validasi data menggunakan aturan validasi (validation rule) Validasi data menggunakan prosedur Event Validasi pilihan pengosongan nilai suatu field Mencari tahu nomer kode untuk suatu pesan kesalahan Mengganti Pesan Kesalahan Standart
B. DASAR TEORI VALIDASI DATA MENGGUNAKAN PROPERTI REQUIRED Untuk memastikan bahwa suatu field mempunyai suatu nilai, maka properti required pada table harus diset = yes. Misal field nama pada tabel karyawan harus diisi, artinya tidak ada data dalam tabel karyawan, dimana field namanya tidak terisi. Langkah yang dikerjakan adalah : 1. pilih object tabel 2. klik nama tabel yang diinginkan 3. tentukan field pada tabel yang harus diisi nilainya 4. ubah properti required = yes.
Gambar 9.1. : Field namakary harus diisi dengan mengeset properti required=yes.
Kemudian setelah itu, klik icon save untuk menyimpan perubahan, maka terdapat pesan pada layar bahwa terjadi perubahan integrity constraint dari data yang ada untuk
menerapkan aturan baru yang dibuat, dan ditanyakan apakah anda yakin dengan perubahan yang diberlakukan. Klik tombol Yes, untuk menyimpan perubahan.
Gambar 9.2. : Perubahan aturan baru dari data yang telah ada, klik tombol Yes
VALIDASI DATA MENGGUNAKAN ATURAN VALIDASI Jika yang diinginkan adalah dua pemeriksaan dua field dari suatu tabel. Maka harus digunakan cara lain daripada cara yang sudah dijelaskan sebelumnya. Misal pada tabel karyawan yang dibuat, dipastikan bahwa pada setiap record, field alamat atau field kota harus diisi, maka digunakan aturan properti ValidationRule pada tabel.
Gambar 9.3. : Properti Validation Rule dan Validation text pada Table Properties
VALIDASI DATA MENGGUNAKAN PROSEDUR EVENT Validasi data yang telah dijelaskan, belum menggunakan kode VBA apaapun. Kode VBA perlu diberikan untuk suatu validasi data, jika pada field yang harus diisi, perlu dilakukan pengaturan penanganan lebih lanjut seperti meletakkan kursor pada field tersebut. Maka untuk tipe validasi ini, diperlukan penulisan prosedur event yang akan dijalankan setiap kali sebuah record disimpan. Contoh persoalan yang akan dipecahkan adalah jika pada form karyawan, diperlukan penge cekan untuk pengisian kode pos. Untuk itu pada tabel karyawan tambahkan field kodepos, bertipe char, dengan ukuran 5.
Gambar 9.4. : Menambahkan field kodepos
Kemudian buka form karyawan, pada event form_beforeupdate masukkan kode VBA berikut : Private Sub Form_BeforeUpdate(Cancel As Integer) 'Jika user mengisi field alamat atau kota, 'maka check field kodepos If (Not IsNull(Alamat) Or Not IsNull(Kota)) And IsNull(kodepos) Then MsgBox "Anda harus mengisi kode pos", vbExclamation kodepos.SetFocus Cancel = True End If End Sub
MEMBERIKAN PILIHAN PENGOSONGAN NILAI SUATU FIELD Jika diperlukan penanganan yang lebih fleksibel, misalnya membolehkan pemakai untuk mengosongkan kodepos, atau mengisinya juga boleh. Kode VBA yang dibuat sebelumnya, akan dilakukan modifikasi sebagai berikut : Private Sub Form_BeforeUpdate(Cancel As Integer) 'Jika user mengisi field alamat atau kota, maka check field kodepos Dim pesan As String Dim tombolpil As Integer Dim pilihan As Byte If (Not IsNull(Alamat) Or Not IsNull(Kota)) And IsNull(kodepos) Then pesan = "Anda harus mengisi kode pos. Simpan tanpa mengisi kode pos ? " tombolpil = vbQuestion + vbOKCancel pilihan = MsgBox(pesan, tombolpil) 'jika ditekan tombol cancel, maka field kodepos akan diisi If pilihan = vbCancel Then kodepos.SetFocus Cancel = True End If End If End Sub
MENCARI NOMOR KODE UNTUK SUATU KESALAHAN DALAM FORM Ada beberapa kemungkinan kesalahan yang dapat terjadi pada saat berinteraksi dengan form pada aplikasi yang dibuat. Pada bagian ini anda akan mempelajari cara merespon pesan kesalahan yang terjadi, dan memberikan penanganan terhadap kesalahan tersebut. Setiap kali kesalahan terjadi pada form, event Error form terjadi. Untuk meresponnya, terlebih dahulu anda harus tahu kesalahan macam apa yang terjadi. Untuk tujuan ini, prosedur event Error memiliki argumen DataErr yang berisi nomer kode dari kesalahan yang terjadi. Nomer kode tersebut akan digunakan untuk merespon kesalahan. Contoh berikut ini akan melakukan pemeriksaan kesalahan pada Form Karyawan yang telah dibuat sebelumnya. Periksa pada table karyawan, pastikan property fields required pada NamaKary diset dengan nilai Yes. Kemudian jalankan form Karyawan pada mode form view. Isi dengan data baru yang tidak mencantumkan suatu isian pada field nama, pesan kesalahan akan muncul dan anda diharuskan untuk mengisi nama field tersebut. Pada bagian berikut, kita akan mencari tahu nomer kode kesalahan yang menyebabkan kesalahan tersebut terjadi. Langkah- langkah untuk mencari tahu nomer kode kesalahan : 1. Klik event OnError pada form kemudian klik tombol build, sehingga akan ditampilkan prosedur event Form_Error di jendela Module : Private Sub Form_Error(DataErr As Integer, Response As Integer) End Sub 2. Perhatikan dua argumen pada Form_Error yaitu DataErr dan Response. Tambahkan kode berikut ke dalam Sub Form_Error : Debug.Print “DataErr = “ ; DataErr 3. Kemudian klik tombol View -> Immediate window : 4. Jalankan form karyawan, pada saat suatu kesalahan terjadi akan dicetak nilai kode pada immediate window. Karena itu kembalikan form ke dalam mode design view, kemudian buka kode VBA untuk Form_error, nilai error yang baru terjadi akan tampil pada jendela immediate window dengan nilai 3314
MENGGANTI PESAN KESALAHAN STANDART Setelah kita tahu nomer kesalahan, maka pesan kesalahan standart yang biasa muncul untuk pesan kesalahan tersebut akan kita ganti.. Untuk itu tambahkan kode VBA pada prosedur Form_Error yang telah dibuat sebelumnya :.
Private Sub Form_Error(DataErr As Integer, Response As Integer) Const nomererr=3314 If DataErr=nomererr then DisplayMessage “Nama Karyawan harus diisi …” Response=acDataErrContinue Else Response=acDataErrDisplay End if End Sub
C. PERCOBAAN Kerjakan sesuai dengan dasar teori yang sudah dijelaskan sebelumnya. 1. Buat tabel mahasiswa yang terdiri dari NRP, NAMA, ALAMAT, KOTA. Buat validasi data agar field NAMA harus diisi pada saat input data. 2. Buat form untuk input data mahasiswa seperti pada soal nomer 1, buat validasi data jika user menginputkan suatu nilai untuk ALAMAT, maka nilai untuk KOTA harus diisi juga. 3. Berikan pilihan pengosongan field sebagai lanjutan dari soal nomer 2, agar user memiliki pilihan untuk mengosongkan field KOTA jika tidak diperlukan. 4. Untuk validasi kesalahan yang dibuat pada soal nomer 1,2, dan 3, cari nomer kode kesalahannya dan ganti pesan kesalahan standart yang muncul.
D. LAPORAN RESMI 1. Buat laporan untuk setiap langkah yang diperlukan dalam menjawab soal yang ada pada bagian Percobaan. 2. Rangkum hasil yang anda dapat pada pembahasan tentang validasi data dan penanganan kesalahan