Pemrograman Basis Data
BAB 1 MEMBUAT DATABASE DENGAN ADODC (FORM TUNGGAL)
Tujuan Materi: mahasiswa dapat database dengan menggunakan fasilitas ADODC untuk form tunggal Semua contoh pemrograman database pada modul ini didasarkan pada tabel dan relasi database berikut.
Database di atas merupakan database sederhana mengenai pembelian dan penjualan barang yang melibatkan transaksi master detail. Tabel master dari relasi database diatas adalah CUSTOMER, SUPPLIER, dan BARANG. Sedangkan tabel transaksinya adalah PENJUALAN dan PEMBELIAN, diikuti PENJUALAN_DETAIL dan PEMBELIAN_DETAIL yang merupakan detail dari masing-masing tabel transaksi yang berseuaian. Tabel PENJUALAN merupakan transaksi yang berkaitan dengan customer (penjualan barang kepada customer), sedangkan tabel PEMBELIAN merupakan transaksi yang berkaitan dengan supplier (pembelian barang dari supplier). 1.1 MENAMBAHKAN KOMPONEN ADODC
Pemrograman Basis Data
Ada dua cara yang dapat digunakan. Cara pertama, klik kanan ToolBox, kemudian klik Components. Atau melalui menu Project Components.
Gambar 1.1Window Komponen Kemudian pilih Microsoft ADO Data Contol 6.0, seperti pada gambar diatas dan tekan OK. Pada ToolBox akan muncul icon Tanda panah pada ADODC, merupakan tombol navigasi. .
Gambar 1.2 ADODC dalam Form 1.2 MENAMBAHKAN DATAGRID, DATALIST, DAN DATACOMBO
Pemrograman Basis Data
DataGrid ini digunakan untuk menampilkan data dari database dalam bentuk tabel. Sedangkan DataList dan DataCombo, memiliki fungsi serupa dengan ListBox dan ComboBox
Gambar 1.3 Menambahkan Komponen Gunakan cara yang sama seperti pada penambahan komponen ADODC, kemudian pilih Microsoft DataGrid Control 6.0 untuk DataGrid dan Microsoft DataList Control 6.0 untuk DataList dan DataCombo. Pada ToolBox akan muncul icon , , dan .
Gambar 1.4 DataGrid, DataList, dan DataCombo dalam Form 1.3 SETTING KONEKSI DAN TABLE PADA ADODC
Pemrograman Basis Data
1. Klik kanan Adodc1 kemudian klik ADODC properties. Terdapat 5
tab
dalam
Property
Pages
ADODC
ini,
yaitu
General,
Authentication, RecordSource, Color, dan Font.
Gambar 1.5 Properti ADODC
2. Pada Use Connection String, klik Build.
Gambar 1.6 Properti dari Data Link
Pemrograman Basis Data
Pilih Microsoft Jet 4.0 OLE DB Provider, kemudian klik Next. 3. Isikan nama database yang digunakan.
Gambar 1.7 Memilih database
Klik Test Connection untuk memastikan koneksi sudah berhasil.
Gambar 1.8 Koneksi Berhasil
4. Pada Use Connection String akan terisi:
Provider= [Link].4.0;Data Source=C:\[Link]; Persist Security Info=False
Pemrograman Basis Data
Gambar 1.9 Properti dari Connection String
5. Kembali pada Property Pages ADODC, klik tab RecordSource.
Ubah Command Type menjadi adCmdTable. Dan pada Table or Stored Procedure Name, pilih tabel yang akan digunakan.
6. Klik OK dan ADODC siap digunakan.
1.4 BINDING ADODC DENGAN TEXTBOX
1. Set koneksi dari ADODC dan pilih tabel BARANG (Adodc1), sesuai
langkah diatas. Tambahkan TextBox pada Form (Text1).
Pemrograman Basis Data
2. Pada Properties Window dari Text1, Lakukan langkah berikut:
Pilih Adodc1 pada DataSource. Pilih namaBarang pada DataField. DataFormat dapat diubah sesuai dengan kebutuhan.
3. Jalankan aplikasi, dan hasil yang diperoleh adalah:
1.5 BINDING ADODC DENGAN DATAGRID
1. Set koneksi dari ADODC dan pilih tabel BARANG (Adodc1), sesuai
langkah diatas.
Pemrograman Basis Data
Tambahkan TextBox pada Form (DataGrid1).
2. Pada Properties Window dari DataGrid1, lakukan langkah
berikut: Pilih Adodc1 pada DataSource.
3. Klik kanan pada DataGrid1, dan pilih Retrieve fields. Klik OK jika
muncul Dialog Box. Pada DataGrid1, akan muncul kolom dari tabel BARANG.
Pemrograman Basis Data
4. Jalankan Aplikasi dan gunakan kontrol pada ADODC untuk navigasi.
1.6 BINDING ADODC DENGAN DATALIST DAN DATACOMBO
1. Set koneksi dari ADODC dan pilih tabel BARANG (Adodc1), sesuai
langkah diatas.
2. Tambahkan DataList dan DataCombo pada Form (DataList1 dan
DataCombo1).
Pemrograman Basis Data
3. Pada Properties Window dari DataList1 dan DataCombo1,
lakukan langkah berikut: Pilih Adodc1 pada RowSource, BUKAN DataSource. Pilih salah satu nilai kolom dalam ListField (namaBarang).
10
Pemrograman Basis Data
4. Jalankan Aplikasi untuk menguji
11
Pemrograman Basis Data
LATIHAN 1 1. Form input data barang (master) Desain Form
Buat Project baru. Ubah nama Form1 menjadi frmBarang. Jika belum ada, tambahkan komponen ADODC dan DataGrid. Kemudian desain form seperti berikut.
Ikuti petunjuk dibawah ini.
Tambahkan 6 buah TextBox (sesuai jumlah kolom dalam tabel BARANG) dalam frmBarang. Ubah nama masing-masing TextBox tersebut menjadi txtKodeBarang, txtNamaBarang, txtStokMinimum, tersebut. txtStokMaksimum, txtStokSekarang, dan
txtHargaBarang. Kosongkan semua Text dari tiap TextBox
12
Pemrograman Basis Data
Tambahkan DataGrid ke dalam frmBarang. Ubah namanya menjadi DGridBarang.
Tambahkan ADODC ke dalam frmBarang. Ubah Name dan Caption-nya menjadi adcBarang. Set nilai visible pada Window Properties menjadi false.
Tambahkan 4 buah Command (tombol) ke dalam frmBarang. Name dan Caption dari tombol-tombol tersebut masing-masing adalah cmdFirst dan First, cmdPrevious dan Previous, cmdNext dan Next, cmdLast dan Last.
Tambahkan 4 buah Command (tombol) ke dalam frmBarang. Name dan Caption dari tombol-tombol tersebut masing-masing adalah cmdAdd dan Add/Clear, cmdSave dan Save, cmdUpdate dan Update, cmdDelete dan Delete.
Tambahkan 1 buah Command (tombol) lagi ke dalam frmBarang. Name dan Caption dari tombol tersebut adalah cmdOK dan OK.
Setting Database pada ADODC dan Binding DataGrid.
Set
koneksi
adcBarang
pada
database
(dalam
hal
ini
[Link]) dan pilih tabel BARANG. Jika lupa, lihat lagi bagian Setting koneksi dan tabel pada ADODC diatas.
Bind DGridBarang dengan adcBarang. Jika lupa, lihat lagi bagian Binding ADODC dengan DataGrid.
13
Pemrograman Basis Data
Jika dijalankan, hasilnya adalah:
14
Pemrograman Basis Data
Kontrol Navigasi
Double klik cmdFirst. Dan tambahkan kode berikut. Private Sub cmdFirst_Click() [Link] End Sub Kode diatas berfungsi untuk menggerakkan pointer recordset menuju record pertama.
Double klik cmdPrevious. Dan tambahkan kode berikut. Private Sub cmdPrevious_Click() [Link] End Sub Kode diatas berfungsi untuk menggerakkan pointer satu record sebelum record yang sedang aktif.
Double klik cmdNext. Dan tambahkan kode berikut. Private Sub cmdNext_Click() [Link] End Sub Kode diatas berfungsi untuk menggerakkan pointer satu record setelah record yang sedang aktif.
Double klik cmdLast. Dan tambahkan kode berikut.
15
Pemrograman Basis Data
Private Sub cmdLast_Click() [Link] End Sub Kode diatas berfungsi untuk menggerakkan pointer recordset menuju record terakhir. Jalankan Aplikasi untuk menguji.
Catatan/Revisi: Jika pointer telah berada di akhir record dan tombol Next (cmdNext) terus menerus ditekan, maka akan muncul pesan kesalahan. Untuk mengatasinya, perbaiki kode hingga menjadi seperti berikut. Private Sub cmdNext_Click() If Not [Link] Then [Link] End If End Sub EOF adalah End Of File. Terjemahan dari kode diatas kurang lebih adalah, jika pointer tidak berada di akhir recordset maka jalankan pointer ke record berikutnya. ATAU Private Sub cmdNext_Click() If [Link] Then [Link] Else
16
Pemrograman Basis Data
[Link] End If End Sub Terjemahan dari kode diatas kurang lebih adalah, jika pointer berada di akhir recordset maka jalankan pointer ke record terakhir, jika tidak , jalankan pointer ke record selanjutnya. Demikian juga halnya dengan tombol Previous (cmdPrevious). Kode perbaikannya adalah sebagai berikut. Private Sub cmdPrevious_Click() If Not [Link] Then [Link] End If End Sub ATAU
Private Sub cmdPrevious_Click() If [Link] Then [Link] Else [Link] End If End Sub Jalankan Aplikasi untuk mengujinya.
17
Pemrograman Basis Data
Penambahan Data
Langkah-langkah
pada
penambahan
data
adalah,
pertama,
kosongkan semua isi TextBox dengan menekan tombol Add/Clear (cmdAdd). Kedua, isi TextBox yang telah dikosongkan tadi dengan data yang akan dimasukkan. Dan yang terakhir, tekan Save (cmdSave) untuk menyimpannya dalam database. Kode yang perlu ditambahkan adalah sebagai berikut. Private Sub cmdAdd_Click() [Link] = "" [Link] = "" [Link] = "" [Link] = "" [Link] = "" [Link] = "" End Sub Jika ingin kursor langsung berada pada txtKodeBarang,
tambahkan [Link]
Private Sub cmdSave_Click() [Link] [Link]("kodeBarang") = [Link] [Link]("namaBarang") = [Link] [Link]("stokMaksimum") = [Link] [Link]("stokMinimum") = [Link] [Link]("stokSekarang") = [Link] [Link]("hargaBarang") = [Link]
18
Pemrograman Basis Data
[Link] [Link] = "" [Link] = "" [Link] = "" [Link] = "" [Link] = "" [Link] = "" End Sub
Menghubungkan DataGrid dengan TextBox
Agar ketika DGridBarang di klik atau terjadi perpindahan record, TextBox dapat terisi nilai dari DGridBarang, tambahkan kode berikut. Hal ini terutama berkaitan dengan pengeditan record pada database. Tambahkan event RowColChange pada DGridBarang.
Private Sub DGridBarang_RowColChange(LastRow As Variant, ByVal LastCol As Integer) gridToText End Sub
Private Sub gridToText() If (Not [Link] And Not [Link]) Then [Link] = [Link]("hargaBarang") [Link] = [Link]("kodeBarang") [Link] = [Link]("namaBarang") [Link] = [Link]("stokMaksimum")
19
Pemrograman Basis Data
[Link] = [Link]("stokMinimum") [Link] = [Link]("stokSekarang") End If End Sub
Menyimpan Hasil Perubahan
Setelah dilakukan perubahan pada TextBox, klik tombol Update (cmdUpdate) untuk menyimpan hasilnya. Kode yang harus ditambahkan adalah sebagai berikut. Private Sub cmdUpdate_Click() textToGrid [Link] End Sub
Private Sub textToGrid() If (Not [Link] And Not [Link]) Then [Link]("hargaBarang") = [Link] [Link]("kodeBarang") = [Link] [Link]("namaBarang") = [Link] [Link]("stokMaksimum") = [Link] [Link]("stokMinimum") = [Link] [Link]("stokSekarang") = [Link] End If End Sub
Menghapus Data
Kode yang perlu ditambahkan pada tombol Delete (cmdDelete) agar dapat menghapus record/data adalah sebagai berikut. Private Sub cmdDelete_Click() [Link]
20
Pemrograman Basis Data
End Sub Pencarian Data
Tambahkan TextBox dan Command untuk Pencarian. Beri nama masing-masing txtSearch dan cmdSearh.
Pencarian yang dicontohkan disini hanya dilakukan terhadap satu kolom data saja, yaitu kolom namaBarang. Tambahkan kode berikut.
Private Sub cmdSearch_Click() If [Link] Then [Link] Else [Link] "namaBarang LIKE '*" & [Link] & "*'", 0, adSearchForward End If End Sub
21
Pemrograman Basis Data
Berikut ini beberapa model pencarian yang dapat digunakan.
Find "namaBarang LIKE 'su'" Find "namaBarang LIKE 'su*'" Find "namaBarang LIKE '*su'" hanya su yang dapat ditemukan. su dan susi, tapi bisu dan basuh tidak. su dan bisu, tapi susi dan basuh tidak.
Find "namaBarang LIKE '*su*'" su, susi, bisu, dan basuh dapat ditemukan.
Jalankan Aplikasi untuk mencoba hasilnya. 2. Selesaikan Form untuk Supplier dan Customer.
22
Pemrograman Basis Data
BAB 2 MEMBUAT DATABASE DENGAN ADODC (FORM BERELASI)
Tujuan Materi: mahasiswa dapat membuat database dengan fasilitas ADODC untuk form berelasi FORM INPUT DATA PENJUALAN (TRANSAKSI) Teliti dan perhatikan baik-baik. Pembuatan Form Input Data
Penjualan ini jauh lebih rumit dari pembuatan Form Input Data Barang. Desain Form
Buat Project baru. Ubah nama Form1 menjadi frmPenjualan. Buat sebuah Form lagi dan beri nama frmDetailPenjualan. Jika belum ada, tambahkan komponen DataGrid. Untuk frmPenjualan, desain form seperti berikut.
23
Pemrograman Basis Data
Ubah nama tiap TextBox sesuai dengan gambar diatas. Beri nama cmdDetail pada tombol Tambah Detail Detail, DGridPenjualan DGridDetailPenjualan untuk tombol Close. Isi adcCustomer dengan data Customer, adcDetailPenjualan dengan data Detail Penjualan, dan adcPenjualan dengan data Penjualan. Set DataSource dari DGridPenjualan ke ke adcPenjualan, dan DGridDetailPenjualan adcDetailPenjualan untuk untuk DataGrid DataGrid Penjualan, Penjualan,
DGridCustomer untuk DataGrid Customer, dan cmdClose
DGridCustomer ke adcCustomer. Set nilai Visible (dari Window Properties) dari adcCustomer, adcPenjualan, menjadi False. Untuk frmDetailPenjualan, desain form seperti berikut. adcDetailPenjualan, dan DGridCustomer
24
Pemrograman Basis Data
Ubah semua nama komponen (TextBox dan ADODC) menjadi seperti yang terlihat pada Gambar. Beri nama yang bersesuaian pada tombol dan DataGrid: cmdAdd, cmdDelete, cmdClear, cmdCancel, cmdOK, dan DGridItem. Dua DataGrid terbawah bernaman DGridPenjualan dan DGridBarang (boleh dibolakbalik). Isi adcBarang dengan data Barang, adcDetailPenjualan dengan data Detail Penjualan. adcPenjualan boleh dibiarkan saja, atau isi dengan data Penjualan. Set DataSource ke dari DGridPenjualan dan ke adcPenjualan, ke DGridItem adcBarang. Set nilai Visible (dari Window Properties) dari adcBarang, adcPenjualan, adcDetailPenjualan, DGridBarang, dan DGridItem menjadi False. adcDetailPenjualan DGridBarang
Form Penjualan (frmPenjualan)
1. Tambahkan kode berikut pada Form_Load().
Private Sub Form_Load() 25
Pemrograman Basis Data
clearText End Sub 2. Buat fungsi atau sub clearText. Private Sub clearText() [Link] = "" [Link] = "" [Link] = "" [Link] = "" End Sub Fungsi diatas digunakan untuk membersihkan isi dari TextBox Jalankan Aplikasi untuk melihat hasilnya. Filter Record
3. Filter ini diperlukan untuk menyeleksi Detail Penjualan yang sesuai
dengan
Penjualannya.
Tambahkan
Filter jika
ini data
pada dalam
DGridPenjualan_RowColChange, mengikuti.
sehingga
DGridPenjualan di klik, data dalam DGridDetailPenjualan akan
Private Sub DGridPenjualan_RowColChange(LastRow As Variant, ByVal LastCol As Integer) If (Not [Link] And Not [Link]) Then filterDetailPenjualan [Link]("kodePenjualan") End If Private Sub filterDetailPenjualan(kode As String) [Link] = "kodePenjualan='" & kode & "'" End Sub
Bentuk sederhana dari Filter diatas adalah
[Link] = "kodePenjualan='" & [Link]("kodePenjualan") ("kodePenjualan") & "'"
Artinya,
isi
dari kolom
[Link] kodePenjualannya, dimana
akan
difilter
berdasarkan
parameternya
diambil dari [Link] ("kodePenjualan"). 26
Pemrograman Basis Data
Jalankan Aplikasi dan klik DGridPenjualan untuk melihat hasilnya.
Error Kontrol
4. Kode Penjualan, karena merupakan Primarykey, maka tidak boleh
terjadi duplikasi nilai pada tabel. Kontrol terhadap kondisi ini, dapat diletakkan pada txtKodePenjualan_LostFocus(). Ketika terjadi perpindahan kursor, nilai dari Kode Penjualan (txtKodePenjualan) (rsPenjualan, MessageBox.
Private Sub txtKodePenjualan_LostFocus() [Link] [Link] "kodePenjualan='" & [Link] & "'" If (Not [Link] And Not [Link]) Then MsgBox "Kode Penjualan sudah ada" [Link] = "" [Link] End If End Sub
akan sama
dicari denga
pada
Data
Penjualan Jika
isinya
DGridPenjualan).
ditemukan, artinya terjadi duplikasi, maka akan muncul sebuah
27
Pemrograman Basis Data
Jika Kode Penjualan ditemukan, secara otomatis pointer record akan menunjuj pada Kode Penjualan tersebut. If (Not [Link] And Not [Link]) Then Terjemahan singkatnya adalah, jika rsPenjualan tidak berada dalam posisi BOF atau EOF (artinya kode Penjualan ditemukan). Jalankan Aplikasi untuk memeriksa hasilnya
5. Sama tetapi berbeda dengan Kode Penjualan, Kode Customer justru
harus
ada.
Pengecekan
kondisi
ini,
diletakkan
pada
txtKodeCustomer_LostFocus().
Private Sub txtKodeCustomer_LostFocus()
28
Pemrograman Basis Data
[Link] [Link] "kodeCustomer='" & [Link] & "'" If ([Link] Or [Link]) Then MsgBox "Kode Customer tidak ditemukan" [Link] = "" [Link] Else [Link] = [Link]("namaCustomer") End If End Sub
Bandingkan dengan yang dimiliki oleh Kode Penjualan. Pada kode diatas, jika Kode Customer ditemukan, otomatis nilai txtNamaCustomer akan diisi nilai Nama Customer dari Kode Customer yang bersesuaian.
Jalankan Aplikasi untuk memeriksa hasilnya.
Membuka Form Detail Penjualan
29
Pemrograman Basis Data
6. Detail Penjualan diinputkan pada Form yang berbeda dengan Form
Penjualan. Kode yang digunakan untuk membuka Form Detail Penjualan tersebut, diletakkan pada Private Sub cmdDetail_Click().
Private Sub cmdDetail_Click() [Link] [Link]("kodePenjualan") = [Link] [Link]("kodeCustomer") = [Link] [Link]("tanggalPenjualan") = [Link] [Link] Dim frm As frmDetailPenjualan Set frm = New frmDetailPenjualan Set [Link] = [Link] [Link] = [Link] [Link] = [Link] [Link] = [Link] [Link] vbModal If ([Link] = False) Then [Link] [Link] "kodePenjualan = '" & [Link] & "'", 0, adSearchForward [Link] [Link] End If [Link] [Link] End Sub
Penjelasan: [Link] [Link]("kodePenjualan") = [Link] [Link]("kodeCustomer") = [Link] [Link]("tanggalPenjualan") = [Link] [Link]
30
Pemrograman Basis Data
Simpan dulu data Penjualan ke dalam database. Dim frm As frmDetailPenjualan Set frm = New frmDetailPenjualan Merupakan deklarasi obyek Form Detail Penjualan (frmDetailPenjualan) [Link] = [Link] Digunakan untuk memberi nilai awal pada variabel yang terdapat pada Form Detail Penjualan (frmDetailPenjualan). Kode diatas menunjukkan bahwa nilai [Link] dari frmDetailPenjualan diisi dengan nilai dari [Link]. [Link] vbModal Digunakan untuk menampilkan Form dengan posisi diatas Form lain.
If ([Link] = False) Then [Link] [Link] "kodePenjualan = '" & [Link] & "'", 0, adSearchForward [Link] End If
Digunakan untuk menghapus data Penjualan yang sudah dimasukkan jika ternyata penambahan detail dibatalkan. [Link] = False artinya tombah Cancel pada Form Detail Penjualan telah ditekan. Jalankan Aplikasi dan klik tombol Tambah Detail (cmdDetail) untuk melihat hasilnya.
31
Pemrograman Basis Data
Form Detail penjualan (frmDetailPenjualan)
7. Tambahkan kode berikut pada deklarasi Form Detail Penjualan.
Option Explicit Public tanggalPenjualan As String Public kodeCustomer As String Dim totalItem As Integer Dim totalHarga As Currency Dim formState As Boolean tanggalPenjualan dan kodeCustomer digunakan untuk menampung nilai dari Form Penjualan. Perhatikan kode dalam Private Sub cmdDetail_Click() dari Form Penjualan diatas. formState 32
Pemrograman Basis Data
digunakan untuk menyimpan nilai ketika pengeklikan tombol Cancel atau OK. totalItem dan totalHarga digunakan untuk menyimpan nilai total dari detail transaksi.
8. Tambahkan kode berikut pada Form_Load().
Private Sub Form_Load() clearText [Link] [Link] End Sub Penjelasan: [Link] kemudian dibuka lagi dengan [Link]. 9. Buat fungsi atau sub clearText, gridToText, dan state.
Private Sub clearText() [Link] = "" [Link] = "" [Link] = "0" [Link] = "0" [Link] = "0" End Sub Private Sub gridToText() [Link] = [Link]("kodeBarang") [Link] = [Link]("jumlahBarang") [Link] = [Link]("hargaBarang") End Sub Public Property Get state() As Boolean state = formState End Property
digunakan
untuk
menutup
koneksi ADODC, sehingga DGridDetail menjadi kosong. Dan
33
Pemrograman Basis Data
state digunakan untuk menyimpan dati status penekanan tombol Cancel dan OK. Jalankan Aplikasi untuk memeriksa hasilnya.
Error Kontrol
10. Serupa dengan Customer pada Form Penjualan, Kode Barang juga
harus
ada.
Pengecekan
kondisi
ini,
diletakkan
pada
txtKodeBarang_LostFocus().
Private Sub txtKodeBarang_LostFocus() [Link] [Link] [Link] & "'" If Then MsgBox "Kode Barang tidak ditemukan" [Link] = "" [Link] Else [Link] = [Link]("namaBarang") txtHarga = [Link]("hargaBarang") End If ([Link] Or [Link]) "kodeBarang='" &
34
Pemrograman Basis Data
End Sub
Bandingkan dengan txtKodeCustomer_LostFocus() pada Form Penjualan. txtNamaBarang dan txtHarga akan terisi otomatis berdasarkan Kode Barang yang bersesuaian. Perhitungan Sub Total
11. Perhitungan
subTotal akan dilakukan secara otomatis. Kode
ditetakkan pada txtJumlahBarang_Change(). Sehingga begitu nilai txtJumlahBarang berubah, nilai txtSubTotal juga akan berubah.
Private Sub txtJumlahBarang_Change() txtSubTotal = Val([Link]) * Val([Link]) End Sub
Kode
diatas
dapat
juga
diletakkan
pada
txtJumlahBarang_LostFocus(). Hanya saja nilai nilai txtSubTotal baru berubah setelah kursor pada txtJumlahBarang dipindah. Penambahan Data serta Penghapusan isi TextBox 12. Tambahkan kode berikut pada tombol yang bersesuaian.
[Link] [Link]("kodePenjualan") = [Link] [Link]("kodeBarang") = [Link] [Link]("jumlahBarang") = [Link] [Link]("hargaBarang") = [Link] [Link] totalItem = totalItem + Val([Link]("jumlahBarang")) totalHarga = totalHarga + CCur([Link]("hargaBarang")) [Link] [Link] = "kodePenjualan='" & [Link] & "'" clearText End Sub Private Sub cmdAdd_Click()
35
Pemrograman Basis Data
Private Sub cmdClear_Click() clearText End Sub
Tambahkan data ke dalam adcDetailPenjualan kemudian ambil ulang data (Requery) dan Filter berdasarkan kodePenjualan. Data yang dimasukkan disini akan langsung masuk ke dalam database. Jalankan Aplikasi untuk mengetahui hasilnya
. Penghapusan Data yang Telah Dimasukkan
13. Ketika banyak data telah masuk ke dalam DataGrid (DGridItem),
penghapusan data tertentu harus dapat dilakukan. Tambahkan kode berikut, sesuaikan dengan event masing-masing.
Private Sub DGridItem_RowColChange(LastRow As Variant, ByVal LastCol As Integer) If (Not [Link] And Not [Link]) Then gridToText End If
36
Pemrograman Basis Data
End Sub Private Sub cmdDelete_Click() totalItem = totalItem Val([Link]("jumlahBarang")) totalHarga = totalHarga CCur([Link]("hargaBarang")) [Link] clearText End Sub
Jalankan Aplikasi untuk mengetahui hasilnya. Add beberapa item, pilih salah satu item yang sudah ada, kemudian Delete. Penyimpanan/Update Data 14. Penyimpanan data dilakukan kerika tombol OK ditekan.
formState = True [Link] "kodePenjualan = '" & [Link] & "'", 0, adSearchForward [Link]("totalItemPenjualan") = totalItem [Link]("totalHargaPenjualan") totalHarga [Link] Unload Me End Sub = Private Sub cmdOK_Click()
Penjelasan: Dalam proses ini, nilai formState diubah menjadi True. Update data dilakukan terhadap tabel Penjualan saja, karena Detail Penyimpanan telah masuk ketika tombol Add ditekan. Data yang dimasukkan dalam tabel Penjualan database adalah totalItem dan totalHarga. Jalankan Aplikasi untuk mengetahui hasilnya.
37
Pemrograman Basis Data
Pembatalan Detail
15. Jika tidak jadi melakukan penambahan data pada Form Detail
Penjualan, maka tekan Cancel.
Private Sub cmdCancel_Click() formState = False [Link] = "kodePenjualan='" & [Link] & "'" If ([Link] > 0) Then [Link] MsgBox ([Link]("kodePenjualan")) While Not [Link] [Link] [Link] Wend [Link] [Link] [Link] End If Unload Me End Sub "kodePenjualan = '" & [Link] & "'", 0, adSearchForward
Penjelasan: Dalam proses ini, nilai formState diubah menjadi False. Karena data sudah masuk harus terlebih ke dalam satu database, persatu, itu maka setelah dilakukan adcDetailPenjualan sebelumnya difilter dihapus dahulu.
Setelah
pencarian terhadap nilai kodePenjualan dalam adcPenjualan untuk dihapus. Update data dilakukan terhadap tabel Penjualan saja, karena Detail Penyimpanan telah masuk ketika tombol Add ditekan. Data yang dimasukkan dalam tabel Penjualan database adalah totalItem dan totalHarga. Jalankan Aplikasi untuk mengetahui hasilnya.
38
Pemrograman Basis Data
LATIHAN 2 1. Selesaikan Form Input Pembelian
39
Pemrograman Basis Data
BAB III REPORTS
Tujuan Materi: mahasiswa dapat memahami menu-menu utama Microsoft Excel Menambahkan Data Environment
1. Kilik ProjectAdd Data Environment.
2. Klik DataEnvironment1, kemudian ubah namanya menjadi
DEDagang. Klik Connection1, kemudian ubah namanya menjadi DCDagang.
Setting Koneksi
3. Klik kanan DCDagang, kemudian klik Properties. Akan muncul
Data Link Properties dengan tampilan seperti ketika membuat Connectionstring pada ADODC.
40
Pemrograman Basis Data
Pilih Microsoft Jet OLE DB Provider kemudian klik Next.
Pilih database yang akan digunakan, misalnya [Link]. Test Connection kemudian klik OK. Menambahkan Command atau DataMember
4. Klik kanan DCDagang, kemudian klik Add Command, sehingga
muncul
Command1.
Ubah
nama
Command1
menjadi
cmdDagang.
41
Pemrograman Basis Data
5. Pada
Properties
Window menjadi
dari
cmdDagang, dan
set pada
CommandType
adCmdTable
CommandText isikan Barang.
6. Pada Window Data Environment, dibawah cmdDagang akan
muncul kolom kolom dari tabel Barang.
Menambahkan Data Report
7. Klik
ProjectAdd
Data
Report.
Ubah
namanya
menjadi
DRBarang.
42
Pemrograman Basis Data
8. Pada Properties Window dari DRDagang, ubah DataSource
menjadi DEDagang dan DataMember menjadi cmdDagang.
9. Untuk memudahkan desain, susun layout seperti berikut
43
Pemrograman Basis Data
10. Drag cmdDagang atau kolom-kolom dibawahnya ke dalam
DRBarang. Misalnya seperti gambar dibawah ini.
11.
Susun ulang hingga berbentuk seperti gambar dibawah.
Jalankan Aplikasi untuk melihat hasilnya.
44
Pemrograman Basis Data
Tekan icon printer
untuk mencetak.
45
Pemrograman Basis Data
LATIHAN 3 1. Buat Report Untuk menampilkan daftar customer dan supplier.
46
Pemrograman Basis Data
PENILAIAN Bagian ini merupakan soal ujian Kegiatan Pembelajaran Pemrograman Basis Data untuk mengetahui capaian kemampun akhir mahasiswa. Soal Ujian 1. Penilaian yang pertama dilakukan setiap setelah menyelesaikan contoh soal yang sudah dilakukan 2. Penilaian yang kedua dilakukan setelah mahasiswa menyelesaikan Tugas Kegiatan pada masing-masing Bab 3. Penilaian yang ketiga dilakukan berdasarkan penyelesaian tugas mandiri yang sudah diberikan, dan didemonstrasikan dihadapan pengajar per Kelompok.
47
Pemrograman Basis Data
REFERENSI Petroutsos, Evangelos; Pemrograman Database dengan Visual Basic 6; Buku 1; Cetakan Kedua;Penerbit PT Elex Media Komputindo;2002 MADCOMS; Database Visual Basic 6.0 dengan Crystal Reports; Penerbit ANDI;2002
48