Professional Documents
Culture Documents
Pengenalan
Database
S ebelum kita membuat aplikasi kita terlebih dahulu merancang susunan database yang akan kita
gunakan. DBMS (Database Management System) yang digunakan adalah Microsoft Access 2000.
Aplikasi yang akan kita buat adalah pengolahan data Penjualan. Aplikasi Penjualan melibatkan
entitas barang, pembeli (customer). Dalam mengolah data dalam DBMS kita akan menggunakan
perintah SQL (Structure Query Language).
Rancangan ERD (Entity Relationship Diagram)
ItemBeli
Nonota KodeBr
Keterangan ERD:
Customer membeli barang, satu customer boleh membeli banyak barang dan satu barang
boleh dibeli banyak customer sehingga ada hubungan many to many.
Relasi Antar Tabel
Dari Entity Relationship Diagram dapat disusun Relasi Antar Tabel sebagai berikut.
Customer Transaksi Stok
KodeCus * NoNota * KodeBr *
NamaCus TglNota NamaBr
AlamatCus KodeCus ** HargaBr
JumlahBr
Item
INoNota **
IKodeBr **
IJumlah
ITotal
Ket:
Yang bergambar * (asterik) berarti berfungsi sebagai Primary Key, yang pada aplikasi
sebenarnya datanya tidak boleh ada yang sama. ** adalah Foreinger Key yang merupakan kunci
tamu (Primary Key ditabel lain).
Customer Stok
KodeCus NamaCus AlamatCus KodeBr NamaBr HargaBr JumlahBr
C01 Andi Sunyoto Jl. Gejayan No. xx 002 Mouse Logitech 23000 484
C02 M. Indrajati Jl. Kaliurang No. 60 B 003 Intel Pentium 4 1,7 1200000 85
004 Matherboard ASUSs 500000 140
Transaksi Item
NoNota KodeCus TglNota iNonota iKodeBr iJumlah iTotal
N001 C01 7/13/03 N001 004 2 1000000
N001 002 3 69000
N001 003 5 6000000
Setelah kita desain Relasi Antar Tabelnya sekarang kita mendesain tabel yang kita perlukan.
Panggil Aplikasi Microsoft Access 200 dari Start Menu. Sekarang kita akan membuat rancangan
database Penjualan. Setelah tampil halaman Acces pada konfirmasi Create a new database using,
pilih Blank Access Database. Kemudian simpan pada folder anda (seperti gambar di sebelahnya)
dengan nama Penjualan.Mdb.
Setelah Anda membuat database buku dengan menekan tombol Create, maka Access akan
menampilkan menu utama seperti ditunjukkan pada gambar di bawah
Field Name Data Type Field Size Required Allow Zero Length
KodeCus Text 5 Yes No
NamaCus Text 30 No Yes
AlamatCus Text 50 No Yes
Untuk membuat Primary Key Anda Klik Field yang akan Anda jadikan Primary Key
kemudian pilih tombol bergambar pada toolbar menu. Filed Primary Key kami tandai
huruf tebal (KodeCus) dan berlaku pada semua desain tabel. Kemudian anda simpan
dengan nama “Customer” (Nama tabel adalah yang diapit tanda “…” pada desain.
1. Ketika barang dibeli maka jumlah barang pada stok akan berkurang.
2. Nonota disimpan dalam tabel Transaksi, sedangkan data barang yang
dibeli disimpan dalam tabel Item.
Aplikasi Penjualan
dengan Visual Basic
S etelah desain database selesai sekarang kita merancang aplikasi yang akan kita buat dengan
Visual Basic. Untuk membuat aplikasi penjualan kita akan melibatkan beberapa form yaitu:
1. Form Password -> untuk menentukan hak akses pengguna diijinkan apa tidak. Akan
kita panggil pertama kali saat program dijalankan.
2. Form Utama -> untuk tampilan utama program awal
3. Input Customer -> untuk memasukkan data customer(pembeli)
4. Input Stok -> untuk memasukkan data barang
5. Transaksi -> untuk transaksi penjualan
6. Data Transaksi -> untuk melihat data transaksi
7. Laporan-laporan -> untuk menampilkan data tertentu yang akan diprint
8. About -> menampilkan informasi program
Karena pada ToolBox standar tidak belum dilengkapi dengan koneksi database dengan
Adodc dan menampilkan data DataGrid maka kita perlu menambahkan komponen tersebut.
2. Penambahan References
Penjualan.vbp
FrmUtama.frm Module1.bas
FrmPassword.frm
DataEnvironment1.Dsr
FrmInputStok.frm
FrmInputCustomer.frm DataReport1.Dsr
FrmTransaksi.frm
FrmDataTransaksi.frm
FrmAbout.frm
Catatan:
Satu Project terdiri dari banyak form (*.frm), module (*.bas), desain environment (*.Dsr).
Anda buat file project anda simpan dengan nama Penjualan.vbp semua form dan module
yang di bawah ini berada dalam project Penjualan.vbp.
Kode Program
Public Conn As New ADODB.Connection
Public Rs As New ADODB.Recordset
Public StrConnect As String
Public StrSQL As String
Desain Form
1
6 7 8 9 11 10 12 13
2
3 15
4 14
5 17
16
19
20
18
Caption Ca&ri
CommandButton Name CmdTambah
12
Caption &Tambah
CommandButton Name CmdUpdate
13
Caption &Update
CommandButton Name CmdSimpan
14
Caption &Simpan
CommandButton Name CmdHapus
15
Caption &Hapus
CommandButton Name CmdEdit
16
Caption &Edit
CommandButton Name CmdTutup
17
Caption &Tutup
Adodc Name Adodc1
18
Caption Data Stok Barang
DataGrid Name DataGrid1
AllowAddnew False
19 AllowArrows True
AllowDelete False
AllowUpdate False
CommandButton Name CmdHapus
11
Caption &Hapus
Label Name LblJumlah
20 Caption (dikosongkan)
Font Bold
Kode Program
1. General, Declaration
'Nama : Andi Sunyoto
'Last Modify : 07/07/2003 16:05 WIB
'Email : myandisun@yahoo.com
Sub RefreshTampilan()
Call Konek
Adodc1.ConnectionString = StrConnect
Adodc1.RecordSource = "SELECT * FROM stok"
Adodc1.Refresh
LblJumlah.Caption = "Jumlah Data : " & Adodc1.Recordset.RecordCount
Set DataGrid1.DataSource = Adodc1
End Sub
CmdUpdate.Enabled = False
TxtKodeBr.TabIndex = 0
End Sub
Desain Form 1
5 6 7 9 8 10 11
2 13
3
12
4 15
14
17
18
16
Kode Program
1. General, Declarations
'Nama : Andi Sunyoto
'Last Modify : 07/07/2003 16:05 WIB
'Email : myandisun@yahoo.com
Sub RefreshTampilan()
Call Konek
Adodc1.ConnectionString = StrConnect
Adodc1.RecordSource = "SELECT * FROM customer"
Adodc1.Refresh
LblJumlah.Caption = "Jumlah Data : " & Adodc1.Recordset.RecordCount
Set DataGrid1.DataSource = Adodc1
End Sub
FTxtKodeCus.Text = .Recordset.Fields("KodeCus")
TxtKodeCus.Text = .Recordset.Fields("KodeCus")
TxtNamaCus.Text = .Recordset.Fields("NamaCus")
TxtAlamatCus.Text = .Recordset.Fields("AlamatCus")
End With
CmdEdit.Enabled = True
CmdHapus.Enabled = True
End If
End Sub
Note: Dalam Menjalankan sebuah form dan jika jumlah form lebih dari satu maka
Desain Form
7 9 12
1
2
11 6 8
3 13
4 14
10
15 20
16 19
18
17
21 22
25
23
24
25
26
Kode Program
1. General, Declarations
'Nama : Andi Sunyoto
'Last Modify : 07/07/2003 16:05 WIB
'Email : myandisun@yahoo.com
Sub RefreshBeli()
Call Konek
Adodc1.ConnectionString = StrConnect
Adodc1.RecordSource = "SELECT iKodeBr, NamaBr, HargaBr, iJumlah, iTotal,
© iNonota FROM stok, item WHERE stok.KodeBr=item.iKodeBr AND iNonota='" &
© TxtNoNota.Text & "'"
Adodc1.Refresh
Set DataGrid1.DataSource = Adodc1
End Sub
Sub SUMBeli()
StrSQL = "SELECT SUM(iTotal) As TotalHarga FROM item WHERE iNonota='" &
© TxtNoNota.Text & "'"
Set Rs = Conn.Execute(StrSQL)
CmbKodeBr.SetFocus
DataGrid1.Enabled = True
End If
End If
End Sub
TxtNamaBr.Text = ""
TxtHarga.Text = 0
TxtStok.Text = 0
Call RefreshBeli
Call SUMBeli
CmbKodeBr.SetFocus
Else
MsgBox "Stok Tidak Cukup", vbExclamation + vbInformation, "Informasi"
TxtJumlahBeli.SetFocus
End If
End If
End Sub
KodeBr = Adodc1.Recordset("iKodeBr")
Nonota = Adodc1.Recordset("iNonota")
JumlahBeli = Adodc1.Recordset("iJumlah")
If KodeBr = "" Then
MsgBox "Anda pilih mana yang batal beli !"
DataGrid1.SetFocus
Else
StrSQL = "DELETE FROM item WHERE iKodeBr ='" & KodeBr & "' AND iNoNota='" &
© Nonota & "'"
Conn.Execute (StrSQL)
StrSQL = "UPDATE stok SET JumlahBr= JumlahBr + " & JumlahBeli & " WHERE
© KodeBr='" & KodeBr & "'"
Conn.Execute (StrSQL)
Call RefreshBeli
Call SUMBeli
CmdOK.Enabled = False
End If
End Sub
StrSQL = "INSERT INTO transaksi (Nonota, KodeCus, TglNota) VALUES ('" &
© TxtNoNota.Text & "', '" & TxtKodeCus.Text & "','" & TxtTgl.Text & "')"
Conn.Execute (StrSQL)
Desain Form
6
5 7 1 2
4 9
8
Kode Program
1. General, Declarations
'Nama : Andi Sunyoto
'Last Modify : 07/07/2003 16:05 WIB
'Email : myandisun@yahoo.com
Sub RefreshTransaksi()
Call Konek
Adodc1.ConnectionString = StrConnect
Adodc1.RecordSource = "SELECT * FROM transaksi"
Adodc1.Refresh
Set DataGrid1.DataSource = Adodc1
DataGrid1.Columns(2).NumberFormat = "dd - mmm - yyyy"
End Sub
3. Komponen DataGrid1, Event RowColChange (Baris dan kolom pada grid berubah)
Private Sub DataGrid1_RowColChange(LastRow As Variant, ByVal LastCol As
© Integer)
Dim Nonota As String
Nonota = Adodc1.Recordset("Nonota")
Call RefreshDetail(Nonota)
StrSQL = "SELECT SUM(iTotal) As TotalHarga FROM item WHERE iNonota='" & Nonota
© & "'"
Set Rs = Conn.Execute(StrSQL)
LblTotalHarga.Caption = "Total Harga : " & Rs("TotalHarga")
End Sub
Nonota = Adodc1.Recordset("Nonota")
pesan = MsgBox("Apakah Anda yakin akan menghapus", vbQuestion + vbYesNo,
© "Konfirmasi")
If pesan = 6 Then
StrSQL = "DELETE FROM transaksi WHERE Nonota='" & Nonota & "'"
Conn.Execute StrSQL
Call RefreshTransaksi
StrSQL = "DELETE FROM item WHERE iNonota='" & Nonota & "'"
Conn.Execute StrSQL
Call RefreshDetail("")
End If
End Sub
Desain Form
Dari Menu Toolbar seperti gambar (1) dibawah Pilih Form – About Dialog – Open.
1 2
Dari langkah langkah diatas kemudian Anda Modifikasi Labelnya menjadi seperti gambar
dibawah. Untuk Kode program yang terbentuk secara otomatis di biarkan saja.
1 2
4. Anda desain seperti gambar dibawah. setelah seperti gambar dibawah berarti desain
laporan Anda selesai.
Desain Form
Desain Menu
1
2
3
4
5
6
7
8
9
10
Untuk membuat Level pada menu gunakan panah yang telah disediakan. Contoh Kita
membuat menu Input Stok Barang pertama anda klik pana ke kanan. Maka dia akan
terbentuk Level ke 2 dengan tanda …
Kode Program
1. Komponen Form, Event Load
Private Sub Form_Load()
Call Konek
End Sub
Desain Form
1
3 4
Kode Program
1. Komponen CmdOK, Event Click
Langkah Terakhir
Setelah semua Form telah dibuat set FrmPassword sebagai yang pertama dipanggil dalam
Project.
Note: Untuk mengamankan aplikasi yang telah dibuat sebaiknya aplikasi anda
diberi password dan database yang dibuat di MS. Access juga diberi password.
Karena jika pengamanan password hanya diberikan pada program aplikasinya
maka data-data yang ada didalam database tetap dapat diakses oleh orang lain karena
database-nya tidak diberi password.
MODUL TAMBAHAN
(Cara Lain Membuat Aplikasi Basis data)
2) Aktifkan Adodc1
3) Masukkan Properti pilih Use Connection String Æ Build
7) Klik tombol Test Connection, lihat pesan yang muncul (pesan dibawah
Success)
8) OK -> Apply
9) Klik tombol OK
10) Properti RecordSource Klik
11) Command Type: adCmdText
12) Command Text (SQL) : SELECT * FROM stok
Setting DataGrid
1. Aktifkan Komponen DataGrid
2. Setting Properti Data Source : Adodc1
3. Silakan Program Anda di Running/ dijalankan (Tekan F5)
Setting:
2) Masuk Ke Code Editor
3) Pilih Komponen Form Event Load
Private Sub Form_Load()
Dim StrKonek As String
StrKonek = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + App.Path
©+ "\penjualan.mdb;"
Adodc1.ConnectionString = StrKonek
Adodc1.RecordSource = "SELECT * FROM stok"
Set DataGrid1.DataSource = Adodc1
End Sub
Catatan:
1. Silakan Bandingkan Contoh diatas.
2. Biasanya yang programmer VB menggunakan Cara dengan source code (cara
B).
3. Keuntungan Cara B, kita bisa merubah action program di saat RunTime
(ketika dijalankan).