Kamis, 11 Juli 2013

Membuat Database dengan Kode Program VB

Menggunakan Database Lewat Kode Program

Untuk membuka database lewat kode program lakukan langkah-langkah berikut :
1.    Deklarasikan sebuah variabel database. Level deklarasi variabel database bisa pada level form atau level lain, tetapi biasanya tidak pada level procedure. Penulisannya adalah : Dim <namaVariabel> As Database
Contoh : Dim dbMahasiswa as Database

2.    Jika perintah di atas tidak dikenal, Anda dapat menambahkan dahulu objek Data dari toolbox ke dalam form. Objek Data tersebut tidak perlu dikaitkan ke dalam database karena hanya sebagai syarat supaya Anda dapat menggunakan perintah deklarasi variabel database di atas. Setelah program dijalankan satu kali, maka objek Data tersebut dapat Anda hapus.

3.    Deklarasikan sebuah variabel recordset. Level deklarasi recordset ini bisa pada level form atau level lain, tetapi biasanya tidak pada level procedure. Penulisannya adalah sebagai berikut : Dim <namaVariabel> As Recordset
Contoh : Dim rsSiswa as Recordset 

4.    Setelah Anda mendeklarasikan variabel database dan variabel recordset, Anda dapat memberikan perintah membuka database pada suatu procedure, misalnya procedure Form_Load. Penulisannya adalah sebagai berikut :
Set <namaVariabel>=OpenDatabase(“<namaFileDatabase>”)
Contoh : Set dbMahasiswa = OpenDatabase (App.Path & “\Mahasiswa.mdb")

Perhatikan bahwa pada penulisan dengan menggunakan App.Path, harus memperhatikan bahwa penempatan database dalam hal ini adalah Mahasiswa.mdb harus sesuai dengan tempat software aplikasi Visual Basic disimpan. Jika tidak maka Visual Basic tidak akan dapat mencari file database yang telah kita buat tersebut.

5.    Tentukan recordset dari database yang telah dibuka. Penentuan recordset ini adalah untuk menentukan tabel data yang dibuka di dalam file database. Penulisannya adalah sebagai berikut :
Set <nmVar>=<nmVarDatabase>.OpenRecordset(“<nmTabel>”)
Contoh : Set rsSiswa = dbMahasiswa.OpenRecordset("Siswa").

6.  Sampai disini, berarti Anda sudah membuka file database dan menentukan recordset-nya. Selanjutnya Anda dapat mengakses sesuai keinginan. Setelah database dan recordset selesai diakses, sebaiknya Anda menutup dengan memberikan perintah berikut ini :
<namaVarRecordset>.Close
<namaVarDatabase>.Close
Contoh :
rsSiswa.Close
dbMahasiswa.Close

Perhatikan bahwa jika Anda menutup suatu database, maka seluruh recordset yang mengacu pada database tersebut akan otomatis tertutup. Jadi perintah di atas boleh ditulis dengan satu baris saja, yaitu dbMahasiswa.Close

Contoh penulisan kode program selengkapnya adalah sebagai berikut :

Dim dbMahasiswa As Database
Dim rsSiswa As Recordset
Private Sub Form_Load()
Set dbMahasiswa = OpenDatabase(App.Path & “\Mahasiswa.mdb")
Set rsSiswa = dbMahasiswa.OpenRecordset("Siswa")
End Sub
Private Sub selesai_Click()
rsSiswa.Close
dbMahasiswa.Close
End
End Sub

--------------------------------------------------------------------------------------------------
Menambah, Mengisi dan Meng-update Record

Untuk menambah record baru pada suatu tabel data (recordset), Anda dapat menggunakan perintah sebagai berikut : <recordset>.Add.New

Contoh : RsSiswa.AddNew

Record yang ditambahkan tersebut masih kosong. Untuk mengisinya, Anda dapat menggunakan perintah sebagai berikut :
<recordset>!<namaField>=<data yang dimasukkan>

Contoh :
rsSiswa!NPM = “12293164”
rsSiswa!NPM = txtNPM.Text

Perhatikan bahwa cara di atas dapat dipakai juga untuk mengedit record. Jika Anda akan mengedit suatu record, tentu saja Anda tidak perlu mengunakan metode AddNew, tetapi menggunakan metode Edit sebelum dapat mengedit suatu record.

Tentu saja sebelum suatu record dapat diedit, record tersebut harus ditunjuk terlebih dahulu. Penulisan metode Edit adalah sebagai berikut :
<recordset>.Edit

Contoh : rsSiswa.Edit

Setelah suatu record ditambahkan, diisi atau diedit, maka Anda perlu meng-update-nya dengan memberikan perintah sebagai berikut :

<recordset>.Update

Contoh :
RsSiswa.Update

Jika perintah Update tidak diberikan, amak penambahan, pengisan data atau pengeditan data akan hilang.

--------------------------------------------------------------------------------------------------
Menghapus Record

Untuk menghapus record, Anda dapat menggunakan metode Delete. Penulisan perintah menghapus record adalah sebagai berikut :
<recordset>.Delete

Contoh :
RsSiswa.Delete

Perhatikan bahwa record yang dihapus adalah record yang sekarang ditunjuk oleh penunjuk record. Untuk menunjuk suatu record, Anda dapat menggunakan metode Move…, Find, Seek atau menggunakan objek yang berkaitan dengan database, misalnya DBGrid atau objek lainnya.

--------------------------------------------------------------------------------------------------

Mengenal dan Menggunakan Validasi

Untuk mempelajari validasi pada pemasukan data, kita akan membahas validasi pada proses pemasukan Nomor Pokok Mahasiswa. Untuk itu lakukan langkah-langkah di bawah ini sebagai berikut :

1. Buat form baru dan tambahkan beberapa objek seperti pada gambar berikut :

Gambar Validasi mengisi Nomor Pokok Mahasiswa

2. Sesuaikan nama objek seperti berikut ini :

Nama Objek
Keterangan
Text1
(dikosongkan)
Text2
(dikosongkan)
Text3
(dikosongkan)
Text4
(dikosongkan)
Text5
(dikosongkan)
Text6
(dikosongkan)
Text7
(dikosongkan)
Command1
Simpan
Command2
Hapus
Command3
Keluar


'deklarasi variabel database dan recordset
Dim dbMahasiswa As Database
Dim rsSiswa As Recordset
Private Sub Form_Load()
' menentukan recordset dari database
Set dbMahasiswa = OpenDatabase(App.Path & "\Mahasiswa.mdb")
Set rsSiswa = dbMahasiswa.OpenRecordset("Siswa")
'pilih index yang dipakai
rsSiswa.Index = "NPM"
txtNPM.Text = ""
BlankForm
txtNPM.Enabled = True
TidakSiapIsi
txtNPM.MaxLength = 8
txtNama.MaxLength = 20
txtJK.MaxLength = 1
txtAlamat.MaxLength = 30
txtKota.MaxLength = 10
txtPos.MaxLength = 5
txtTelpon.MaxLength = 8
End Sub

'program tombol Simpan
Private Sub simpan_Click()
'tambahkan satu record kosong
rsSiswa.AddNew
'isi record kosong dengan isi form
rsSiswa!NPM = txtNPM.Text
rsSiswa!Nama = txtNama.Text
rsSiswa!JK = txtJK.Text
rsSiswa!Alamat = txtAlamat.Text
rsSiswa!Kota = txtKota.Text
rsSiswa!Kodepos = txtPos.Text
rsSiswa!Telpon = txtTelpon.Text
'update record
rsSiswa.Update
'kosongkan lagi form
BlankForm
TidakSiapIsi
txtNPM.SetFocus
txtNPM.Text = ""
End Sub

'program tombol Batal
Private Sub batal_Click()
txtNPM.SetFocus
BlankForm
End Sub
'program tombol Selesai
Private Sub selesai_Click()
rsSiswa.Close
dbMahasiswa.Close
End
End Sub

'program mengosongkan isian
Private Sub BlankForm()
txtNama.Text = ""
txtJK.Text = ""
txtAlamat.Text = ""
txtKota.Text = ""
txtPos.Text = ""
txtTelpon.Text = ""
End Sub

'program me-nonaktifkan pemasukan data
Private Sub TidakSiapIsi()
simpan.Enabled = False
txtNama.Enabled = False
txtJK.Enabled = False
txtAlamat.Enabled = False
txtKota.Enabled = False
txtPos.Enabled = False
txtTelpon.Enabled = False
End Sub

'program mengubah huruf kecil menjadi besar untuk Jenis Kelamin
Private Sub txtJK_KeyPress(KeyAscii As Integer)
KeyAscii = Asc(UCase(Chr(KeyAscii)))
End Sub

'program untuk Nomor Pokok Mahasiswa
Private Sub txtNPM_Change()
Dim Panjang As Byte
Panjang = Len(txtNPM.Text)
If Panjang < 8 Then
Exit Sub
End If
'cari NPM
rsSiswa.Seek "=", txtNPM.Text
If rsSiswa.NoMatch Then
'jika ditemukan boleh diisi
BlankForm
simpan.Enabled = True
txtNama.Enabled = True
txtJK.Enabled = True
txtAlamat.Enabled = True
txtKota.Enabled = True
txtPos.Enabled = True
txtTelpon.Enabled = True
txtNama.SetFocus
Exit Sub
End If
'jika ditemukan tampilkan data
txtNama = rsSiswa!Nama
txtJK = rsSiswa!JK
txtAlamat = rsSiswa!Alamat
txtKota = rsSiswa!Kota
txtPos = rsSiswa!Kodepos
txtTelpon = rsSiswa!Telpon
TidakSiapIsi
simpan.Enabled = False
End Sub

'program hanya boleh diisi angka atau backspace
Private Sub txtNPM_KeyPress(KeyAscii As Integer)
If Not (KeyAscii >= Asc("0") And KeyAscii <= Asc("9") Or KeyAscii = vbKeyBack) Then
Beep
KeyAscii = 0
End If
End Sub

---------------------------------------------------------------------------
Metode Pencarian Seek

Pengujian isian Nomor Pokok Mahasiswa dilakukan dengan mencari data isian di dalam index database menggunakan metode Seek. Jika isian Nomor Pokok Mahasiswa belum terdapat dalam index (daftar urutan) Nomor Pokok Mahasiswa, maka Nomor Pokok Mahasiswa tersebut dianggap valid (memenuhi syarat), sehingga program akan mengosongkan data di bawah Nomor Pokok Mahasiswa lalu mengubah properti isian di bawahnya agar dapat di isi.

Jika isian Nomor Pokok Mahasiswa sudah terdapat di dalam index Nomor Pokok Mahasiswa, maka Nomor Pokok Mahasiswa tersebut dianggap tidak valid, karena dalam daftar mahasiswa tidak boleh ada record yang Nomor Pokok Mahasiswanya sama. Jadi karena Nomor Pokok Mahasiswa tersebut sudah ada, maka program akan menampilkan data dengan kode barang tersebut dengan cara mengisi kolom-kolom di bawahnya dengan data yang sesuai yang diambil dari record data barang.

'program untuk Nomor Pokok Mahasiswa
Private Sub txtNPM_Change()
Dim Panjang As Byte
Panjang = Len(txtNPM.Text)
If Panjang < 8 Then
Exit Sub
End If
'cari NPM
rsSiswa.Seek "=", txtNPM.Text
If rsSiswa.NoMatch Then
'jika ditemukan boleh diisi
BlankForm
simpan.Enabled = True
txtNama.Enabled = True
txtJK.Enabled = True
txtAlamat.Enabled = True
txtKota.Enabled = True
txtPos.Enabled = True
txtTelpon.Enabled = True
txtNama.SetFocus
Exit Sub
End If
'jika ditemukan tampilkan data
txtNama = rsSiswa!Nama
txtJK = rsSiswa!JK
txtAlamat = rsSiswa!Alamat
txtKota = rsSiswa!Kota
txtPos = rsSiswa!Kodepos
txtTelpon = rsSiswa!Telpon
TidakSiapIsi
simpan.Enabled = False
End Sub

Contoh berikut ini untuk membuat kode program dengan metode pencarian Seek.

1.     Buat Form seperti dibawah ini :



2.     Ubah properti untuk kontrol – kontrol yang digunakan :

Kontrol
Nilai
Keterangan
Label1
Caption
Kode Barang
Label2
Caption
Nama
Label3
Caption
Harga Satuan
Frame1
Caption
Cari Data Kode Barang
Text1
Text
(dikosongkan)
Text2
Text
(dikosongkan)
Text3
Text
(dikosongkan)
Text4
Text
(dikosongkan)
Command1
Caption
Cari
Command2
Caption
Exit
Data1
Caption
Database Pembelian


      3. Tuliskan kode program berikut :

Dim dbpembelian As Database
Dim rsbarang As Recordset
Private Sub Command1_Click()
Dim panjang As Byte
panjang = Len(Text5.Text)
If panjang < 5 Then
Exit Sub
End If
rsbarang.Index = "kdbrg"
rsbarang.Seek "=", Text5.Text
If rsbarang.NoMatch Then
Text1.Text = ""
Text2.Text = ""
Text3.Text = ""
Text1.Enabled = True
Text2.Enabled = True
Text3.Enabled = True
response = MsgBox("barang kosong")
Exit Sub
End If
Text1.Text = rsbarang!kdbrg
Text2.Text = rsbarang!nmbrg
Text3.Text = rsbarang!harga
End Sub

Artikel Terkait:

Tidak ada komentar:

Posting Komentar

Silahkan isi komentar Anda pada kolom komentar di bawah ini atau dengan kolom komentar Facebook pada bagian atas ini.
Berkomentarlah dengan sehat! Dilarang membuat komentar dengan isi yang mengandung spam, sara, pornografi, politik, iklan, dan diluar norma yang berlaku. Thanks.