Pemrograman Visual 1 (VB Fund)
Database Control Multi Table
Multi Table
Database biasanya terdiri dari tabel-tabel yang saling
berelasi
Sebuah Form pada aplikasi memungkinkan mengendalikan lebih dari satu tabel bahkan lebih dari satu database.
Setiap komponen ADO biasanya digunakan untuk menangani satu buah tabel.
Membuat Form Pengisian Data Buku Pada
Aplikasi Perpustakaan
Program untuk menyimpan Data Buku.
Data terdiri dari:
Kode Buku Judul Buku
Component Yang Dibutuhkan
Gunakan Komponen
Microsoft ADO Data Control 6.0 (OLEDB)
Microsoft DataGrid Control 6.0 (OLEDB)
Buat Database
Buatlah database menggunakan Ms.Access
format Database Ms. Access 2000 s/d 2003.
Nama file dbperpus.mdb,
Buat Tabel
Tabel Penerbit:
Tabel Buku
No. Field Name Field Type Size Keterangan
1 ID Autonumber PK
2 penerbit Text 50
No. Field Name Field Type Size Keterangan
1 kd_buku Text 10 PK
2 judul Text 80
Design
Beri Icon Command:
Style = 1 – Graphical Picture = Pilih gambar
Adodc1
Database dbperpus.mdb Tabel : Penerbit
Adodc2
Simpan Project
Gantilah nama Project
sesuai yang anda inginkan, misalkan Perpustakaan. Perubahan Nama Projek melalui menu : Project -> Project1 Properties
Pastikan Project VB dan DB berada di satu
folder yang sama
Keluar dari Visual Basic, dan pastikan file Project Visual
Basic dan Basis Data dbperpus.mdb berada di folder yang sama. Hal ini untuk bertujuan konfigurasi koneksi nantinya dapat berjalan secara fleksibel.
Setting Koneksi Ke Basis Data
Gunakan Adodc1 untuk mengatur koneksi.
Pilih Adodc1, Masuk ke properties->(Custom)
Pilih Provider Konektor Basis Data
Pilih Provider : Microsoft Jet 4.0 OLE DB Provider
Tentukan Basis Data
Isikan Nama Database. Nama database yang sudah dibuat
adalah dbperpus.mdb
Kemudian uji
[Test Connection]
Bila pengaturan benar, maka akan tampil pesan koneksi sukses.
Pengaturan Koneksi Tabel
Masih di Properties ADODC1, masuk ke RecordSource
Set CommandType = 2-adCmdTable
Set Table = penerbit
Atur Pengaturan Adodc2
Lakukan hal yang serupa dengan pengaturan Database
pada Adodc1. Perbedaannya terletak pada RecordSource untuk nama tabel.
Kaitkan Adodc menjadi Datasource Pada
Komponen Di Form
Kaitkan Adodc menjadi Datasource Pada
Komponen Di Form (2)
Melihat Hasil Koneksi
Untuk Memastikan Visual Basic telah terhubung ke Basisdata, sekarang
Buat Procedure IsiComboPenerbit
Procedure Bersih
Procedure AktifInputan(state)
Procedure aktifinputan bertugas untuk meng-aktifkan dan
menon-aktifkan inputan sesuai parameter yang dimasukkan.
Implementasi Procedure IsiComboPenerbit,
Bersih dan aktifInputan
Letakkan perintah berikut pada [Form] event [Load]
Jalankan program, lihatlah hasil pada combobox penerbit. Apakah sudah ada item terisi didalamnya????
Apakah semua isi inputan sudah kosong?
Apakah warna inputan menjadi abu-abu saat non-aktif?
Implementasi Procedure IsiComboPenerbit,
Bersih dan aktifInputan di [Command Baru]
Simpan Data
Untuk menyimpan data gunakan komponen Adodc pada
objek Recordset untuk melakukan penyimpanan data.
Struktur:
With Adodc1.Recordset .addNew
!namaField = dataYangInginDisimpan
…
Implementasi Fungsi Simpan
Letakkan kode berikut pada [Command Simpan] event
Membaca Isi DataGrid
Pada Datagrid yang sudah dikaitkan dengan ADODC pada dasarnya informasi yang ingin didapatkan bisa langsung
mengakses ke ADODC nya.
Sebagai contoh, ingin mendapati informasi dari item yang terpilih dari daftar yang ada di DataGrid.
with Adodc1.Recordset
namaObjekPenerima = !nama_field end With
Contoh:
With Adodc1.RecordSet
Procedure Edit
Procedure ini digunakan untuk menampilkan isi data yang
Implementasi Procedure Edit
Letakkan kode berikut pada [command edit] event [Click]
Coba jalankan program. Pilihlah salah satu item dari data
yang telah disimpan pada Datagrid
Kemudian Klik tombol Edit. Apa kah masing-masing inputan telah terisi data sesuai data yang dipilih pada datagrid????
Perbaiki Data / Update
Perbaiki data atau melakukan perubahan data yang telah
ada di dalam tabel dapat dilakukan melalui objek
Adodc1.Recordset. Dengan mencari terlebih dahulu data yang ingin di ubah dengan method find.
Biasanya pencarian berdasarkan data primary key nya. Struktur
with Adodc1.Recordset
.find “nama_field_primary = „”+nilai_id_yg_dicari+”‟”
!nama_field = isiDataBaru
Implementasi Fungsi Update
Letakkan kode berikut di [Command Perbaiki] event
Testing Update Data
Pilih Salah satu data pada Datagrid
Klik Tombol Edit
Ubah data pada inputan
Klik Perbaiki
Implementasi Tombol Batal
Hapus Data
Untuk menghapus data, gunakan method Delete pada
Recordset di Adodc.
Pertama pilihlah data yang ingin di hapus, dapat
menggunakan method find seperti yang digunakan pada update.
Struktur:
with Adodc1.Recordset
.find “nama_field_pk=„” & nilai & ”‟”
Implementasi Fungsi Hapus
Letakkan kode berikut pada [Command Hapus] event
Testing Hapus
Jalankan Program
Pilih salah satu item data yang
ingin dihapus pada DataGrid
Jalankan Program
Testing semua fungsi apa sudah berjalan dengan baik apa
Tambah Tabel
Tambahkan Table pada database dbperpus.mdb sbb:
Tabel Anggota
Isi Tabel Anggota
No Field Name Field Type Size
1 *no_anggota TEXT 6
2 nama Text 50
3 Alamat Text 250
Tambah Tabel
Tabel “peminjaman”
Tabel “detail_pinjam”
No Field Name Field Type Size
1 *no_pinjam TEXT 6
2 Tgl_pinjam Date/Time
3 Tgl_kembali Date/Time
4 No_anggota Text 6
No Field Name Field Type Size
1 *id Autonumber
2 *no_pinjam Text 6
Tambah Tabel
Tabel “detail_sementara”
No Field Name Field Type Size
1 *Kd_buku Text 10
Tambahkan form Peminjaman
Form peminjaman adalah form untuk mencatat buku yang
dipinjam oleh peminjam
Tabel yang digunakan:
Anggota Buku Penerbit
Detail_pinjam
Detail_sementara
Tambahkan Form
Ubah nama ADODC
Ubah Nama Adodc:
ADODC1 = AdoSementara
ADODC2 = AdoAnggota
ADODC3 = AdoBuku
ADODC4 = AdoPeminjaman
Setting Koneksi Ke Basis Data
Atur masing-masing Datasource komponen ADODC sebagai berikut: AdoSementara : adCmdTabel - Table = detail_sementara
AdoAnggota : adCmdTabel – Table = Anggota
AdoBuku : adCmdText - SQL =SELECT a.*, b.penerbit FROM buku a LEFT JOIN penerbit b ON a.id_penerbit=b.id
AdoPeminjaman : adCmdTabel - Table = Peminjaman
AdoDetailPinjam: adCmdTabel - Table = detail_peminjaman
Atur Objek Form untuk Datasource DataGrid : DataSource = AdoSementara
txtnoAnggota : DataSource = AdoAnggota
txtkdBuku : DataSource = AdoBuku
txtnoPinjam : DataSource = AdoPeminjaman
Tambahkan Form Utama
Form utama digunakan sebagai induk form pada program.
Form yang digunakan untuk membuka form-form lainnya.
Buat melalui
Menambah Menu Pada MDI Form
Menambah Menu Pada MDI Form
Buatlah Menu Master, menu ini digunakan untuk Top Menu.
Cara buat seperti berikut:
Menambah SubMenu Pada Menu Master
Buatlah Sub Menu “Buku”
Menambah Menu Transaksi
Buatlah Menu Transaksi, menu ini digunakan untuk Top Menu. Cara buat seperti berikut:
Bila sudah selesai [Next]
Jika Posisi menu transaksi masuk ke dalam, klik panah Kiri, sehingga
Menambah Sub Menu Transaksi
Buatlah Sub Menu
Beri Kode Form Show Pada Masing-Masing
Menu
Pilih Sub-Menu Buku. Ketikkan Kode Berikut:
call [nama_form_Buku].show()
Pilih Sub-Menu Peminjaman. Ketikan kode berikut:
Atur Start-Up Object
Pengaturan Start-Up Object harus dilakukan untuk
menentukan Form atau bagian mana yang terlebih dulu berjalan.
Masuk ke Project-> Properties…
Ganti Start-Up Object ke MDIForm yang barusan dibuat
Atur Form Menjadi MDIChild
Agar form-form yang dipanggil melalui MDIForm menjadi
anak dari MDIForm, maka harus dilakukan pengaturan Pada Form-Form tsb.
Caranya pilih Form, lihat pada Properties, ganti MDIChild = true
Contoh sbb:
Testing Form Utama
Jalankan Program….
Bila yang tampil adalah MDIForm berarti sudah benar pengaturan Start-Up Object
Pilih menu Buku. Apakah Form buku tampil?
Pilih menu Peminjaman. Apakah Form Peminjaman Tampil?
Procedure BersihkanSementara
Implementasi Procedure Bersih,
AktifInputan, BersihSementara
Letakkan kode berikut di [Form] event [Load]
Implementasi Procedure Bersih,
AktifInputan, BersihSementara
Letakkan Kode berikut di [Command Batal] event [Click]
Jalankan program. Pilih menu Peminjaman
Apakah saat program tampil semua inputan dalam keadaan non aktif?
Jika tombol Simpan Baru di klik, apakah semua inputan menjadi aktif?
Apakah posisi pengisian fokus pada no pinjam?
Function cariAnggota(kdanggota)
Fungsi ini digunakan untuk mencari data anggota
Implementasi Fungsi cariAnggota
Letakkan kode berikut di [textbox No. Anggota] event
Testing Cari Anggota
Jalankan program. Pilih menu Peminjaman
Isikan kode Anggota sesuai data yang telah diinput di tabel anggota. Misalkan AN-002
Kemudian tekan ENTER
Function cariBuku(kdbuku)
Fungsi ini digunakan untuk mencari data buku berdasarkan
Implementasi fungsi cariBuku
Letakkan kode berikut di [TextBox Kode Buku] event
Testing Cari Buku
Jalankan Program. Pilih menu Peminjaman
Isikan Kode Buku sesui data yang telah tersimpan di buku. Jika Belum ada, isikan terlebih dahulu.
Setelah diisi kode buku, tekan ENTER
Fungsi addPinjam(kdbuku)
Fungsi ini berguna untuk menyimpan kode buku yang ingin
Implementasi fungsi addPinjam
Letakkan kode berikut di [Command Pinjam] event
Testing Fungsi add Pinjam
Jalankan Program. Pilih menu peminjaman
Isikan kode buku terlebih dahulu. Tekan Enter. Bila sudah tampil judulnya, tekan tombol [Pinjam]
Fungsi simpanPeminjaman
Fungsi ini untuk menyimpan data
Fungsi simpanDetail(kdbuku)
Fungsi ini untuk menyimpan data detail peminjaman ke tabel detail_peminjaman per kode buku. Hasil balik
Fungsi simpanDetailPinjam()
Implementasi Fungsi SimpanPeminjaman
Ketikkan kode berikut di [Command Simpan] event
Testing Simpan Peminjaman
Jalankan Program. Pilih Peminjaman
Klik Baru Pinjam
Isikan No. Pinjam
Isikan No. Anggota
Isikan Kode buku yang dipinjam
Klik Tombol Pinjam
Klik tombol Simpan
Latihan
Buatlah Form untuk pengisian data anggota.
Bisa menampilkan isi data dari tabel anggota
Bisa menambah, merubah, menghapus data anggota
Buatlah form untuk pengisian data penerbit
Bisa menampilkan isi data dari tabel penerbit
Bisa menambah, merubah dan menghapus data penerbit
Buatlah program penjualan, yang terdiri dari:
Pengelolaan data barang