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