Modul Pemrograman Komputer 2 –Teknik Informatika- 29

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)
KodeCus NamaCus NoNota TglNota KodeBr NamaBr

Customer
AlamatCus

Transaksi/ Membeli

Barang/Stok
JumlahBr HargaBr

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 KodeCus * NamaCus AlamatCus Transaksi NoNota * TglNota KodeCus ** Item INoNota ** IKodeBr ** IJumlah ITotal Stok KodeBr * NamaBr HargaBr JumlahBr

STMIK AMIKOM YOGYAKARTA –www.amikom.ac.id-

Modul Pemrograman Komputer 2 –Teknik Informatika- 30 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). Gambaran data ketika masuk kedalam database.

Customer
KodeCus C01 C02 NamaCus M. Indrajati AlamatCus Jl. Kaliurang No. 60 B KodeBr 002 003 004 Andi Sunyoto Jl. Gejayan No. xx

Stok
NamaBr Mouse Logitech Intel Pentium 4 1,7 Matherboard ASUSs HargaBr JumlahBr 23000 1200000 500000 484 85 140

Transaksi
NoNota KodeCus TglNota N001 C01 7/13/03 N001 N001 N001 004 002 003

Item
iNonota iKodeBr iJumlah iTotal 2 1000000 3 69000 5 6000000

Setelah kita desain Relasi Antar Tabelnya sekarang kita mendesain tabel yang kita perlukan.

Desain Tabel dalam Microsoft Access 2000
1. Memulai Microsoft Acces 2000 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.

STMIK AMIKOM YOGYAKARTA –www.amikom.ac.id-

Modul Pemrograman Komputer 2 –Teknik Informatika- 31 Setelah Anda membuat database buku dengan menekan tombol Create, maka Access akan menampilkan menu utama seperti ditunjukkan pada gambar di bawah

Sebelum membuat database pada Access, terlebih dulu Anda harus membuat model data, apa saja informasi yang akan ditampilkan: Untuk membuat rancangannya dari menu gambar diatas kita doble klik Create table in Desain View. Kemudian isi seperti berikut:

2. Merancang Tabel dalam Microsoft Access 2000 Desain Tabel “Customer”

Field Name Data Type Field Size KodeCus NamaCus AlamatCus Text Text Text 5 30 50

Required Allow Zero Length Yes No No No Yes 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.

STMIK AMIKOM YOGYAKARTA –www.amikom.ac.id-

amikom.32 Anda ulangi langkah diatas untuk membuat tabel-tabel di bawah ini.Modul Pemrograman Komputer 2 –Teknik Informatika.ac. 2. Desain Tabel “Stok” Field Name Data Type KodeBr NamaBr JumlahBr Text Text Number Field Size 5 30 Long Integer Required Allo Zero Length Yes No No No Yes Desain Tabel “Transaksi” Field Name Data Type NoNota KodeCus TglNota Text Text Date/Time Field Size 5 5 Required Allo Zero Length Yes No No No Yes Desain Tabel “Item” Field Name Data Type iNonota iKodeBr iJumlah iTotal Text Text Number Number Field Size 5 5 Integer Long Integer Required Allo Zero Length Yes No No No No Yes 1. Nonota disimpan dalam tabel Transaksi.id- . STMIK AMIKOM YOGYAKARTA –www. sedangkan data barang yang dibeli disimpan dalam tabel Item. Ketika barang dibeli maka jumlah barang pada stok akan berkurang.

2.id- . Akan kita panggil pertama kali saat program dijalankan.OK Pengaruh penambahan diatas pada ToolBox akan ada 2 tambahan komponen baru: untuk Adodc dan untuk DataGrid. Input Customer -> untuk memasukkan data customer(pembeli) 4. Form Utama -> untuk tampilan utama program awal 3. Data Transaksi -> untuk melihat data transaksi 7. STMIK AMIKOM YOGYAKARTA –www.Modul Pemrograman Komputer 2 –Teknik Informatika.33 Aplikasi Penjualan dengan Visual Basic S etelah desain database selesai sekarang kita merancang aplikasi yang akan kita buat dengan Visual Basic. Form Password -> untuk menentukan hak akses pengguna diijinkan apa tidak. Untuk membuat aplikasi penjualan kita akan melibatkan beberapa form yaitu: 1. Penambahan Komponen Dari menu Project – Components (Ctrl+T) kemudian pilih komponen di bawah dengan mencentang pada textboxnya.0 (OLEDB) Kemudian klik Apply .amikom. Microsoft ADO Data Control 6. 1. Langkah-langkahnya sebagai berikut: 1. Laporan-laporan -> untuk menampilkan data tertentu yang akan diprint 8.0 (OLEDB) 2. 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. Microsoft DataGrid Control 6. Transaksi -> untuk transaksi penjualan 6. Input Stok -> untuk memasukkan data barang 5.ac.

Dsr FrmInputStok.vbp FrmUtama. kemudian pilih komponen di bawah dengan mencentang pada textboxnya.frm Module1.bas DataEnvironment1.Dsr). 1.Dsr STMIK AMIKOM YOGYAKARTA –www. Microsoft Data Binding Collection Kemudian klik OK Bagan hierarkhi susunan project Aplikasi Penjualan Penjualan.34 2.ac.amikom. Penambahan References Dari menu Project – Referrences.frm FrmAbout.1 Library 2.id- .frm Catatan: Satu Project terdiri dari banyak form (*. desain environment (*.frm).frm FrmInputCustomer.frm FrmTransaksi.Modul Pemrograman Komputer 2 –Teknik Informatika. DataReport1.frm FrmDataTransaksi.0 3. Microsoft ActiveX Data Object 2. Microsoft Data Report Designer v6.frm FrmPassword. Microsoft Data Formating Object Library 4. module (*.bas).

Connection Conn.Path + "\penjualan.Connection Rs As New ADODB.Data Source=" + App.vbp semua form dan module yang di bawah ini berada dalam project Penjualan.vbp.Modul Pemrograman Komputer 2 –Teknik Informatika.State = adStateOpen Then Conn.Open StrConnect Else Conn.4. Anda pilih menu toolbar seperti gambar disamping (panahnya). File Modul : Module1.mdb" If Conn. 2.bas Fungsi : Untuk membuat module koneksi dengan database.id- .ac.35 Membuat Project Aplikasi Penjualan Barang Anda buat file project anda simpan dengan nama Penjualan. module bisa dipanggil di semua form Cara menambahkan modul : 1.Jet.OleDB.amikom.Open StrConnect End If End Sub STMIK AMIKOM YOGYAKARTA –www. Pilih menu Module 3.Close Set Conn = New ADODB.Recordset StrConnect As String StrSQL As String Public Sub Konek() StrConnect = "Provider=Microsoft. Anda tuliskan kode program dibawah Kode Program Public Public Public Public Conn As New ADODB.0. Klik Open 4.

Update.id- . Delete.frm : Form untuk mengolah data Stok Barang (Insert.Modul Pemrograman Komputer 2 –Teknik Informatika.36 File Form Fungsi Desain Form 6 7 8 9 11 10 : FrmInputStok.ac. Edit) 1 12 13 3 2 4 14 15 5 16 17 19 20 18 No Nama Object Form Properti Name Caption Name Caption Name Caption Name Caption Name Caption Name Caption Name Text Name Text Name Text Name Text Name Text Visible Name Nilai FrmInputStok Input Data Stok Barang Frame1 Input Data Barang Label1 Kode Barang Label2 Nama Barang Label3 Harga Barang Label4 Jumlah Barang TxtKodeBr (dikosongkan) TxtNamaBr (dikosongkan) TxtHargaBr (dikosongkan) TxtJumlahBr (dikosongkan) FtxtKodeBr (dikosongkan) False CmdCari 1 2 3 4 5 6 7 8 9 10 11 Frame Label Label Label Label TextBox TextBox TextBox TextBox TextBox CommandButton STMIK AMIKOM YOGYAKARTA –www.amikom.

RecordSource = "SELECT * FROM stok" Adodc1.37 No Nama Object CommandButton CommandButton CommandButton CommandButton CommandButton CommandButton Adodc DataGrid 19 CommandButton Label Properti Caption Name Caption Name Caption Name Caption Name Caption Name Caption Name Caption Name Caption Name AllowAddnew AllowArrows AllowDelete AllowUpdate Name Caption Name Caption Font Nilai Ca&ri CmdTambah &Tambah CmdUpdate &Update CmdSimpan &Simpan CmdHapus &Hapus CmdEdit &Edit CmdTutup &Tutup Adodc1 Data Stok Barang DataGrid1 False True False False CmdHapus &Hapus LblJumlah (dikosongkan) Bold 12 13 14 15 16 17 18 11 20 Kode Program 1. Komponen Form.id- .Enabled = stat TxtJumlahBr.Caption = "Jumlah Data : " & Adodc1.Enabled = stat TxtHargaBr.Refresh LblJumlah.Modul Pemrograman Komputer 2 –Teknik Informatika. Declaration 'Nama : Andi Sunyoto 'Last Modify : 07/07/2003 16:05 WIB 'Email : myandisun@yahoo. Event Load (Ketika dipanggil/ diLoad) Private Sub Form_Load() Call TxtKeadaan(False) Call RefreshTampilan CmdEdit.Enabled = False CmdSimpan.Enabled = False STMIK AMIKOM YOGYAKARTA –www.ac.ConnectionString = StrConnect Adodc1. General.Recordset.RecordCount Set DataGrid1.com Sub RefreshTampilan() Call Konek Adodc1.DataSource = Adodc1 End Sub Sub TxtKeadaan(stat As Boolean) TxtNamaBr.amikom.Enabled = False CmdHapus.Enabled = stat End Sub 2.

Text = 0 Call TxtKeadaan(True) TxtKodeBr.Text = Rs("HargaBr") TxtJumlahBr.Text = Rs("JumlahBr") CmdEdit. vbExclamation + vbOKOnly.Text & "'" Set Rs = Conn.EOF Then MsgBox "Data Sudah Ada".Text = "" + Rs("KodeBr") TxtNamaBr.SetFocus Else StrSQL = "INSERT INTO stok (KodeBr. Komponen CmdSimpan.Text & "'.Text & ".Execute(StrSQL) If Rs.Text = "" + Rs("NamaBr") TxtHargaBr.Modul Pemrograman Komputer 2 –Teknik Informatika.Text = "" TxtNamaBr.Execute (StrSQL) RefreshTampilan End If End If End Sub STMIK AMIKOM YOGYAKARTA –www. vbInformation + vbOKOnly.ac.amikom.SetFocus Else FTxtKodeBr.id- .SetFocus CmdSimpan.Text = 0 TxtJumlahBr.Enabled = True End Sub 5. Event Click (Ketika diklik) Private Sub CmdCari_Click() If TxtKodeBr.Text = "" Then MsgBox "Kode Barang belum diisi".Enabled = True CmdHapus." & TxtHargaBr. Event Click (Ketika diklik) Private Sub CmdSimpan_Click() If TxtKodeBr.Execute(StrSQL) If Not Rs.Enabled = True CmdSimpan.Enabled = True End If End If End Sub 4.Text & "'. HargaBr.38 CmdUpdate.EOF Then MsgBox "Data dengan Kode """ + TxtKodeBr.Text + """ Tidak Ada ! ". "Peringatan" TxtKodeBr.Enabled = False TxtKodeBr.Text = "" TxtHargaBr.Text = "" + Rs("KodeBr") TxtKodeBr. "Informasi" Else StrSQL = "SELECT KodeBr FROM stok WHERE KodeBr='" & TxtKodeBr. JumlahBr) VALUES ('" & TxtKodeBr.Text & ")" Conn.TabIndex = 0 End Sub 3.Text & "'" Set Rs = Conn. Komponen CmdCari. "Information" TxtKodeBr. NamaBr." & TxtJumlahBr. Komponen CmdTambah. Event Click (Ketika diklik) Private Sub CmdTambah_Click() TxtKodeBr.Enabled = True CmdUpdate.Text = "" Then MsgBox "Kode Barang masih kosong !" Else StrSQL = "SELECT * FROM stok WHERE KodeBr='" & TxtKodeBr.'" & TxtNamaBr. vbExclamation + vbOKOnly.

Komponen CmdTutup.Fields("KodeBr") TxtNamaBr.Recordset.Fields("NamaBr") TxtHargaBr.EOF) Then MsgBox "Data dengan kode " + TxtKodeBr. Komponen CmdEdit.Text + " Sudah ada !".Enabled = True End If End Sub 7.Enabled = True End Sub 8.39 6.Text & "'" Conn.Text = .Text = .Modul Pemrograman Komputer 2 –Teknik Informatika.Recordset. "Information" TxtKodeBr. "Konfirmai") If pesan = 6 Then StrSQL = "DELETE FROM stok WHERE KodeBr='" & FTxtKodeBr.Text & "'.Execute(StrSQL) If (TxtKodeBr. Komponen CmdUpdate.Recordset. Event Click (Ketika diklik) Private Sub CmdEdit_Click() Call TxtKeadaan(True) CmdUpdate.Text = .Text <> FTxtKodeBr.Fields("JumlahBr") End With CmdEdit. Komponen DataGrid1.Recordset.Enabled = True CmdHapus.Recordset. Event Click (Ketika diklik) Private Sub CmdHapus_Click() Dim pesan As Integer pesan = MsgBox("Apakah Anda yakin akan menghapus".Text & _ " WHERE KodeBr='" & FTxtKodeBr.Text = .Fields("HargaBr") TxtJumlahBr.ac. ByVal LastCol As Integer) If Adodc1.JumlahBr=" & TxtJumlahBr.BOF Or Adodc1. vbInformation + vbOKOnly.Recordset.Text) And (Not Rs.SetFocus Else StrSQL = "UPDATE stok SET KodeBr='" & _ TxtKodeBr.id- .Execute StrSQL Call RefreshTampilan End If End Sub 10.Fields("KodeBr") TxtKodeBr.NamaBr='" & TxtNamaBr. Event Click (Ketika diklik) Private Sub CmdTutup_Click() Unload Me End Sub STMIK AMIKOM YOGYAKARTA –www. Event Click (Ketika diklik) Private Sub CmdUpdate_Click() StrSQL = "SELECT KodeBr FROM stok WHERE KodeBr='" & TxtKodeBr.amikom.Execute (StrSQL) Call RefreshTampilan End If End Sub 9.Text & "'" Conn. Komponen CmdHapus.Recordset. Event RowColChange (Baris dan kolom Berubah) Private Sub DataGrid1_RowColChange(LastRow As Variant. vbQuestion + vbYesNo.Text & ".HargaBr=" & _ TxtHargaBr.Text & "'.EOF Then MsgBox "Sudah di Akhir atau Awal data" Else With Adodc1 FTxtKodeBr.Text = .Text & "'" Set Rs = Conn.

amikom.Modul Pemrograman Komputer 2 –Teknik Informatika. Update.ac. Delete.frm : Form untuk mengolah data Pembeli(Insert. Edit) 1 6 7 9 8 10 11 3 2 12 4 14 13 15 17 18 16 No Nama Object Form Properti Name Caption Name Caption Name Caption Name Caption Name Caption Name Text Name Text Name Text Name Text Visible Name Caption Name Caption Nilai FrmInputCustomer Input Data Customer Frame1 Input Data Pembeli Label1 Kode Customer Label2 Nama Customer Label3 Alamat Customer TxtKodeCus (dikosongkan) TxtNamaCus (dikosongkan) TxtAlamatCus (dikosongkan) FTxtKodeCus (dikosongkan) False CmdCari Ca&ri CmdTambah &Tambah 1 2 3 4 5 6 7 8 9 10 Frame Label Label Label TextBox TextBox TextBox TextBox CommandButton CommandButton STMIK AMIKOM YOGYAKARTA –www.40 File Form Fungsi Desain Form 5 : FrmInputCustomer.id- .

Enabled = False TxtKodeCus.ac. Komponen Form.Enabled = False CmdHapus. Event Load (Ketika dipanggil/ diLoad) Private Sub Form_Load() Call TxtKeadaan(False) Call RefreshTampilan CmdEdit.Enabled = False CmdSimpan.amikom.Enabled = False CmdUpdate.com Sub RefreshTampilan() Call Konek Adodc1.Recordset.RecordCount Set DataGrid1.Refresh LblJumlah.TabIndex = 0 End Sub STMIK AMIKOM YOGYAKARTA –www. General.id- .Caption = "Jumlah Data : " & Adodc1.DataSource = Adodc1 End Sub Sub TxtKeadaan(stat As Boolean) TxtNamaCus.Enabled = stat TxtAlamatCus. Declarations 'Nama : Andi Sunyoto 'Last Modify : 07/07/2003 16:05 WIB 'Email : myandisun@yahoo.Enabled = stat End Sub 2.RecordSource = "SELECT * FROM customer" Adodc1.ConnectionString = StrConnect Adodc1.Modul Pemrograman Komputer 2 –Teknik Informatika.41 No 11 12 13 14 15 16 Nama Object CommandButton CommandButton CommandButton CommandButton CommandButton Adodc DataGrid 17 Label Properti Name Caption Name Caption Name Caption Name Caption Name Caption Name Caption Name AllowAddnew AllowArrows AllowDelete AllowUpdate Name Caption Font Nilai CmdUpdate &Update CmdSimpan &Simpan CmdHapus &Hapus CmdEdit &Edit CmdTutup &Tutup Adodc1 Data Customer DataGrid1 False True False False LblJumlah (dikosongkan) Bold 18 Kode Program 1.

Text = "" TxtNamaCus. "Informasi" Else StrSQL = "SELECT KodeCus FROM Customer WHERE KodeCus='" & TxtKodeCus.EOF Then MsgBox "Sudah di Akhir atau Awal data" Else With Adodc1 STMIK AMIKOM YOGYAKARTA –www.BOF Or Adodc1.Recordset.Execute(StrSQL) If Rs. Event Click (Ketika diklik) Private Sub CmdCari_Click() If TxtKodeCus. Event RowColChange (Baris dan kolom Berubah) Private Sub DataGrid1_RowColChange(LastRow As Variant.Text & "'" Set Rs = Conn.'" & TxtNamaCus. vbExclamation + vbOKOnly.Text = "" + Rs("NamaCus") TxtAlamatCus.Text = "" Then MsgBox "Kode Customer masih kosong !" Else StrSQL = "SELECT * FROM customer WHERE KodeCus='" & TxtKodeCus. Komponen CmdSimpan.Text = Rs("AlamatCus") CmdEdit.amikom. Komponen CmdTambah. "Peringatan" TxtKodeCus.Text & "'. Event Click (Ketika diklik) Private Sub CmdSimpan_Click() If TxtKodeCus.EOF Then MsgBox "Data Sudah Ada". "Information" TxtKodeCus.Enabled = True End Sub 5.Text = "" + Rs("KodeCus") TxtNamaCus. Event Click (Ketika diklik) Private Sub CmdTambah_Click() TxtKodeCus.ac.Text = "" TxtAlamatCus.Enabled = True End If End If End Sub 4.'" & TxtAlamatCus. ByVal LastCol As Integer) If Adodc1.SetFocus Else StrSQL = "INSERT INTO customer (KodeCus.Text & "')" Conn.Enabled = True CmdHapus.Recordset.Text = "" + Rs("KodeCus") TxtKodeCus.Text + """ Tidak Ada ! ".Text = "" Then MsgBox "Kode Customer belum diisi".Execute(StrSQL) If Not Rs.Text = "" Call TxtKeadaan(True) TxtKodeCus.id- .Execute (StrSQL) RefreshTampilan End If End If End Sub 6.Text & "'" Set Rs = Conn.Modul Pemrograman Komputer 2 –Teknik Informatika. Komponen DataGrid1.42 3. AlamatCus) VALUES ('" & TxtKodeCus. vbInformation + vbOKOnly.Enabled = True CmdSimpan. vbExclamation + vbOKOnly. Komponen CmdCari.Text & "'.EOF Then MsgBox "Data dengan Kode """ + TxtKodeCus.SetFocus CmdSimpan.SetFocus Else FTxtKodeCus. NamaCus.Enabled = True CmdUpdate.

Recordset. Event Click (Ketika diklik) Private Sub CmdEdit_Click() Call TxtKeadaan(True) CmdUpdate.EOF) Then MsgBox "Data dengan kode " + TxtKodeCus. Pilih form mana yang akan anda jalankan.Fields("KodeCus") TxtNamaCus.Text = .Text & "'" Conn.Fields("AlamatCus") End With CmdEdit.Recordset.amikom.Modul Pemrograman Komputer 2 –Teknik Informatika. berarti FrmInputCustomer yang dijalankan pertama kali.Text & "'. "Information" TxtKodeCus. Komponen CmdUpdate.Execute(StrSQL) If (TxtKodeCus.Enabled = True End Sub 8. "Konfirmai") If pesan = 6 Then StrSQL = "DELETE FROM customer WHERE KodeCus='" & FTxtKodeCus.Recordset.Execute StrSQL Call RefreshTampilan End If End Sub 10. Komponen CmdHapus.Text <> FTxtKodeCus. Event Click (Ketika diklik) Private Sub CmdTutup_Click() Unload Me End Sub Note: Dalam Menjalankan sebuah form dan jika jumlah form lebih dari satu maka “Set dalam menu ini setiap Anda membuat Form baru dan akan dijalankan.43 FTxtKodeCus. Event Click (Ketika diklik) Private Sub CmdUpdate_Click() StrSQL = "SELECT KodeCus FROM customer WHERE KodeCus='" & TxtKodeCus. Komponen CmdEdit.ac.id- .Enabled = True CmdHapus.Penjualan Properties. Komponen CmdTutup.Execute (StrSQL) Call RefreshTampilan End If End Sub 9.Text = .Text) And (Not Rs. vbInformation + vbOKOnly.Text & _ "'.Enabled = True End If End Sub 7.Recordset.NamaCus='" & TxtNamaCus.” harus di set dulu sebagai StartUp Object.Text & "'" Conn.Fields("KodeCus") TxtKodeCus. vbQuestion + vbYesNo.Fields("NamaCus") TxtAlamatCus. STMIK AMIKOM YOGYAKARTA –www. Event Click (Ketika diklik) Private Sub CmdHapus_Click() Dim pesan As Integer pesan = MsgBox("Apakah Anda yakin akan menghapus". Dari menu Project .Text + " Sudah ada !".SetFocus Else StrSQL = "UPDATE customer SET KodeCus='" & _ TxtKodeCus.Text & _ "' WHERE KodeCus='" & FTxtKodeCus.Text & "'" Set Rs = Conn.Text = .AlamatCus='" & TxtAlamatCus.Text = .

ac.amikom.frm : Form untuk mengolah data Transaksi Penjualan Barang 7 11 6 8 9 12 1 2 3 4 5 15 16 17 21 23 13 14 10 20 19 18 22 25 24 26 25 No Nama Object Form Properti Name Caption Name Caption Name Caption Name Caption Name Caption Name Caption Name Caption Name Caption Name Caption Name Caption Name Caption Name Text Nilai FrmTransaksi Form Transaksi Barang Frame1 Data Transaksi Penjualan Barang Frame1 Data Pembelian Label1 Kode Customer Label2 Nama Customer Label3 Alamat Customer LblNamaCus (dikosongkan) LblAlamatCus (dikosongkan) Label4 No Nota * Label5 Tanggal Label6 Kode Nama Barang Beli Stok Total TxtKodeCus (dikosongkan) 1 2 3 4 5 6 7 8 9 10 11 Frame Frame Label Label Label Label Label Label Label Label TextBox Harga STMIK AMIKOM YOGYAKARTA –www.44 File Form Fungsi Desain Form : FrmTransaksi.id- .Modul Pemrograman Komputer 2 –Teknik Informatika.

NamaBr.Text & "'" Adodc1.45 No 13 14 15 16 17 18 19 20 21 Nama Object TextBox TextBox ComboBox TextBox TextBox TextBox TextBox TextBox Adodc DataGrid 22 CommandButton CommandButton CommandButton Label Properti Name Text Name Text Name Text Name Text Name Text Name Text Name Text Name Text Name Caption Name AllowAddnew AllowArrows AllowDelete AllowUpdate Name Caption Name Caption Name Caption Name Caption Font Nilai TxtNoNota (dikosongkan) TxtTgl (dikosongkan) CmbKodeBr (dikosongkan) TxtNamaBr (dikosongkan) TxtJumlahBeli 0 TxtHarga (dikosongkan) TxtStok (dikosongkan) TxtTotal 0 Adodc1 Adodc1 DataGrid1 False True False False CmdHapus Ca&ri CmdOK &OK CmdTutup &Tutup LblTotalHarga (dikosongkan) Bold 23 24 25 18 Kode Program 1. General.KodeBr=item.com Sub RefreshBeli() Call Konek Adodc1. iNonota FROM stok.id- .Execute(StrSQL) STMIK AMIKOM YOGYAKARTA –www.Modul Pemrograman Komputer 2 –Teknik Informatika. item WHERE stok.iKodeBr AND iNonota='" & TxtNoNota. HargaBr.ac.DataSource = Adodc1 End Sub Sub SUMBeli() StrSQL = "SELECT SUM(iTotal) As TotalHarga FROM item WHERE iNonota='" & TxtNoNota.Refresh Set DataGrid1. Declarations 'Nama : Andi Sunyoto 'Last Modify : 07/07/2003 16:05 WIB 'Email : myandisun@yahoo.Text & "'" Set Rs = Conn.amikom. iJumlah. iTotal.RecordSource = "SELECT iKodeBr.ConnectionString = StrConnect Adodc1.

Caption = "Total Harga : " & Rs("TotalHarga") End Sub 2. "Information" TxtNoNota.SetFocus End If End If End If End Sub 4. Komponen TxtNoNota.EOF CmbKodeBr. Komponen Form. vbQuestion + vbYesNo. Event KeyPress (ditekan tombol pada keyborad) Private Sub TxtNoNota_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then StrSQL = "SELECT Nonota FROM Transaksi WHERE NoNota='" & TxtNoNota.yyyy") End Sub 3.EOF Then MsgBox "No Nota Sudah Ada.id- .46 LblTotalHarga.amikom.Show Else TxtKodeCus.SetFocus Else StrSQL = "SELECT KodeBr FROM stok" Set Rs = Conn.Text & "'" Set Rs = Conn.Execute(StrSQL) If Not Rs.Enabled = False TxtJumlahBeli.Caption = Rs("AlamatCus") TxtNoNota.Enabled = False CmbKodeBr.mmm .AddItem Rs("KodeBr") Rs.Caption = "" + Rs("NamaCus") LblAlamatCus. Event KeyPress (ditekan tombol pada keyborad) Private Sub TxtKodeCus_KeyPress(KeyAscii As Integer) Dim pesan As Integer If KeyAscii = 13 Then ‘jika tombol enter ditekan If TxtKodeCus.Text & "'" Set Rs = Conn.MoveNext Loop CmbKodeBr.Enabled = True STMIK AMIKOM YOGYAKARTA –www. "dd .EOF Then pesan = MsgBox("Data dengan Kode """ + TxtKodeCus.SetFocus End If Else LblNamaCus.Enabled = False TxtTgl. No yang Lain".Text = "" Then MsgBox "Kode Customer masih kosong !" Else StrSQL = "SELECT * FROM customer WHERE KodeCus='" & TxtKodeCus.Enabled = False TxtTgl.Execute(StrSQL) CmbKodeBr. vbInformation + vbOKOnly.Enabled = True TxtTgl.Execute(StrSQL) If Rs.ac. Komponen TxtKodeCus.Clear Do While Not Rs.Modul Pemrograman Komputer 2 –Teknik Informatika.Text + """ Tidak Ada ! " + Chr(13) + "Apakah Anda Akan menambahkannya ?". "Konfirmasi") If pesan = 6 Then FrmInputCustomer.Text = Format(Date. Event Load (Ketika dipanggil/ diLoad) Private Sub Form_Load() TxtNoNota.Enabled = True TxtNoNota.

Text & "'" Conn.Fields("NamaBr") TxtHarga. iJumlah. Komponen TxtJumlahBeli.Text = 0 MsgBox "Kode Barang Tidak Ada" CmbKodeBr.Text CmdOK.Text = Rs.Enabled = True TxtJumlahBeli. Event KeyPress (ditekan tombol pada keyborad) Private Sub TxtJumlahBeli_KeyPress(KeyAscii As Integer) If (KeyAscii = 13) Then If CInt(TxtJumlahBeli.Fields("HargaBr") TxtStok.SetFocus End If End Sub 6.Execute(StrSQL) If Not Rs.Execute (StrSQL) StrSQL = "UPDATE stok SET JumlahBr=" & TxtStok. Event Click Private Sub CmbKodeBr_Click() StrSQL = "SELECT * FROM stok WHERE KodeBr='" & CmbKodeBr. "Informasi" TxtJumlahBeli.Text) <= CInt(TxtStok. Event Change Private Sub TxtJumlahBeli_Change() If TxtJumlahBeli." & TxtTotal.SetFocus DataGrid1.Text & "'.Text & " WHERE KodeBr='" & CmbKodeBr. '" & CmbKodeBr.Execute (StrSQL) STMIK AMIKOM YOGYAKARTA –www.SetFocus End If End If End Sub 8.Modul Pemrograman Komputer 2 –Teknik Informatika.Enabled = True End If End If End Sub 5. Event KeyPress (ditekan tombol pada keyborad) Private Sub CmbKodeBr_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then Call CmbKodeBr_Click If TxtNamaBr.Text = "" & Rs.SetFocus End If End If End Sub 7. Komponen CmbKodeBr.Text & ")" Conn.Text) Then TxtTotal.Text * TxtHarga.id- . vbExclamation + vbInformation.Text) <= CInt(TxtStok.47 CmbKodeBr.Text) Then StrSQL = "INSERT INTO item (iNonota.Text & "'" Set Rs = Conn. Komponen CmbKodeBr." & TxtJumlahBeli.Text = "" TxtHarga.Text = TxtJumlahBeli.Text <> "" Then TxtJumlahBeli.Text & ". iKodeBr.amikom.Fields("JumlahBr") Else TxtNamaBr.Text <> "" Then If CInt(TxtJumlahBeli. Komponen TxtJumlahBeli.Enabled = True Else MsgBox "Stok Tidak Cukup".Text = Rs. iTotal) VALUES ('" & TxtNoNota.Text – TxtJumlahBeli.EOF Then TxtNamaBr.ac.Text = 0 TxtStok.Text & "'.

SetFocus Else StrSQL = "DELETE FROM item WHERE iKodeBr ='" & KodeBr & "' AND iNoNota='" & Nonota & "'" Conn.Recordset("iJumlah") If KodeBr = "" Then MsgBox "Anda pilih mana yang batal beli !" DataGrid1.Text = "" TxtHarga.'" & TxtTgl.48 TxtNamaBr.Modul Pemrograman Komputer 2 –Teknik Informatika.Text & "')" Conn. vbExclamation + vbInformation.Text = 0 Call RefreshBeli Call SUMBeli CmbKodeBr.SetFocus Else MsgBox "Stok Tidak Cukup".Enabled = False End If End Sub 10.Recordset("iKodeBr") Nonota = Adodc1.Text = 0 TxtStok.Recordset("iNonota") JumlahBeli = Adodc1.Execute (StrSQL) Call RefreshBeli Call SUMBeli CmdOK.Enabled = False DataGrid1. "Informasi" TxtKodeCus.Execute (StrSQL) StrSQL = "UPDATE stok SET JumlahBr= JumlahBr + " & JumlahBeli & " WHERE KodeBr='" & KodeBr & "'" Conn.Enabled = False End Sub 11.Text & "'. Nonota As String Dim JumlahBeli As Integer KodeBr = Adodc1. Komponen CmdOK. Komponen CmdTutup. Event Click (ketika diklik) Private Sub CmdTutup_Click() Unload Me End Sub STMIK AMIKOM YOGYAKARTA –www. "Informasi" TxtJumlahBeli.id- . KodeCus. '" & TxtKodeCus.SetFocus CmbKodeBr.amikom.Text & "'. Event Click Private Sub cmdOK_Click() Dim pesan As Integer StrSQL = "INSERT INTO transaksi (Nonota.Execute (StrSQL) MsgBox "Data transaksi sudah terekam".ac. vbInformation + vbOKOnly. Komponen CmdHapus. Event Click Private Sub CmdHapus_Click() Dim KodeBr. TglNota) VALUES ('" & TxtNoNota.SetFocus End If End If End Sub 9.

ac.id- .Modul Pemrograman Komputer 2 –Teknik Informatika.amikom.49 File Form Fungsi Desain Form 5 6 7 1 2 : FrmDataTransaksi.frm : Form melihat Transaksi (No Nota) dan apa barang yang dibeli 3 4 9 8 No Nama Object Form Properti Name Caption Name Caption Name Caption Name Caption Name Caption Name AllowAddnew AllowArrows AllowDelete AllowUpdate Name AllowAddnew AllowArrows AllowDelete AllowUpdate Name Caption Name Caption Name Caption Font Nilai FrmDataTransaksi Form Data Transaksi Dan Detail Transaksi Frame1 Data Transaksi Frame1 Detail Barang Yang dibeli Adodc1 No Nota Adodc2 Detail Penjualan DataGrid1 False True False False DataGrid2 False True False False CmdDelete Delete Transaksi CmdTutup &Tutup LblTotalHarga (dikosongkan) Bold 1 2 3 4 Frame Frame Adodc Adodc DataGrid 5 DataGrid 6 CommandButton CommandButton Label 7 8 9 STMIK AMIKOM YOGYAKARTA –www.

ConnectionString = StrConnect Adodc1. General. HargaBr As Harga.Refresh Set DataGrid1. iNonota As [No Nota] FROM stok.Caption = "Total Harga : " & Rs("TotalHarga") End Sub 4.RecordSource = "SELECT * FROM transaksi" Adodc1. iNonota As [No Nota] FROM stok. item WHERE stok.mmm .DataSource = Adodc1 DataGrid1.id- .ac.50 Kode Program 1. iJumlah As Jumlah. Komponen Form. item WHERE stok.NumberFormat = "dd .DataSource = Adodc2 End Sub 2.RecordSource = "SELECT iKodeBr As Kode. NamaBr As [Nama Barang] . Komponen DataGrid1.KodeBr=item.Modul Pemrograman Komputer 2 –Teknik Informatika. HargaBr As Harga.com Sub RefreshTransaksi() Call Konek Adodc1. Event Click (Ketika diclick) Private Sub CmdDelete_Click() Dim pesan As Integer Dim Nonota As String Nonota = Adodc1.Columns(2).iKodeBr" End If Adodc2.amikom.Recordset("Nonota") Call RefreshDetail(Nonota) StrSQL = "SELECT SUM(iTotal) As TotalHarga FROM item WHERE iNonota='" & Nonota & "'" Set Rs = Conn. vbQuestion + vbYesNo. iJumlah As Jumlah. Declarations 'Nama : Andi Sunyoto 'Last Modify : 07/07/2003 16:05 WIB 'Email : myandisun@yahoo.KodeBr=item. "Konfirmasi") If pesan = 6 Then StrSQL = "DELETE FROM transaksi WHERE Nonota='" & Nonota & "'" STMIK AMIKOM YOGYAKARTA –www. NamaBr As [Nama Barang] .Recordset("Nonota") pesan = MsgBox("Apakah Anda yakin akan menghapus".yyyy" End Sub Sub RefreshDetail(DataDetail As String) Call Konek Adodc2. Event RowColChange (Baris dan kolom pada grid berubah) Private Sub DataGrid1_RowColChange(LastRow As Variant.Execute(StrSQL) LblTotalHarga.RecordSource = "SELECT iKodeBr As Kode. Komponen CmdDelete. Event Load (Ketika dipanggil/ diLoad) Private Sub Form_Load() Call RefreshTransaksi Call RefreshDetail("") End Sub 3.Refresh Set DataGrid2.ConnectionString = StrConnect If DataDetail <> "" Then Adodc2.iKodeBr AND iNonota='" & DataDetail & "'" Else Adodc2. ByVal LastCol As Integer) Dim Nonota As String Nonota = Adodc1.

id- .ac.Modul Pemrograman Komputer 2 –Teknik Informatika. Event Click Private Sub CmdTutup_Click() Unload Me End Sub File Form Fungsi Desain Form : FrmAbout.amikom. 1 2 Dari langkah langkah diatas kemudian Anda Modifikasi Labelnya menjadi seperti gambar dibawah.51 Conn.frm : Menampilkan data tentang program dan programmer Dari Menu Toolbar seperti gambar (1) dibawah Pilih Form – About Dialog – Open.Execute StrSQL Call RefreshTransaksi StrSQL = "DELETE FROM item WHERE iNonota='" & Nonota & "'" Conn. STMIK AMIKOM YOGYAKARTA –www. Untuk Kode program yang terbentuk secara otomatis di biarkan saja.Execute StrSQL Call RefreshDetail("") End If End Sub 5. Komponen CmdTutup.

kemudian terbentuk Command1 6. SELECT * FROM stok berarti menampilkan seluruh data stok barang. Klik kanan pada Connection1 . Membuat Data Sumber Untuk Laporan (Data Environment) 1. A.Add Command.amikom. Klick kanan pada Connection1 – Properties – Microsoft Jet 4. Pilih menu Project . 5. Klik tombol Test Connection.0 OLEDB Provider – Next 3. jika sudah muncul pesan Success berarti database sudah terhubung.Dsr : Membuat laporan (Report) Berikut langkah-langkah membuat laporan Stok barang.Modul Pemrograman Komputer 2 –Teknik Informatika. Klik kana pada Command1.ac. STMIK AMIKOM YOGYAKARTA –www.52 Membuat Laporan/ Report File Form Fungsi : DataEnvironment1.id- .More ActiveX Designers – Data Environment 2. Klik Apply dan OK.Dsr dan DataReport1. kemudian setting seperti gambar dibawah. Pada select or enter database name isikan Nama database yang telah dibuat yaitu penjualan.mdb 4.

Anda Drag Drop Command1 ke area Data Report bagian Detail (Section1) 3. Anda desain seperti gambar dibawah. Anda tata pada gambar 1 di bagian Page 1 2 4.ac. Membuat Desain Laporan (Data Report) Langlah: 1.id- . Silakan Anda lihat gambar dibawah. Pilih menu Project – Add Data Report 2.amikom. Header.Dsr B. STMIK AMIKOM YOGYAKARTA –www.53 7. Simpan dengan nama DataEnvironment1. setelah seperti gambar dibawah berarti desain laporan Anda selesai.Modul Pemrograman Komputer 2 –Teknik Informatika.

amikom.Dsr No Nama Object DataReport Properti Name Caption DataSource DataMember Name Caption DataRepot1 Nilai Laporan Data Stok DataEnvironmen1 Command1 Label5 LAPORAN DATA STOK BARANG 1 RptLabel Hasil Running DataReport1 STMIK AMIKOM YOGYAKARTA –www.id- .ac. Simpan desain laporan yang telah dibuat dengan nama DataReport1.54 1 5.Modul Pemrograman Komputer 2 –Teknik Informatika.

STMIK AMIKOM YOGYAKARTA –www.Modul Pemrograman Komputer 2 –Teknik Informatika.Ltd Style: Bold. Susun Menu sebagai berikut. 2. Myandisun Co.ac. Size:24 1 Label Image 2 Label 3 Desain Menu Membuat Menu Utama 1.amikom. Klik pada toolbar.id- .WMF True Label2 PT. Size:24 Image1 C:\Program Files\Microsoft Visual Studio\Common\Graphics\Metafile\Business\3DLRSIGN.frm : Membuat Form dan Menu Utama yang menyatukan seluruh form 1 2 3 No Nama Object Form Properti Name Caption Name Caption Font Name Picture Strecth Name Caption Font Nilai FrmPassword Password Label1 Aplikasi Penjualan Barang Style: Bold.55 File Form Fungsi Desain Form : FrmUtama.

56 1 3 5 7 9 2 4 6 8 10 Untuk membuat Level pada menu gunakan panah yang telah disediakan. Komponen MnInputStok. Event Click Private Sub MnInputStok_Click() FrmInputStok.Modul Pemrograman Komputer 2 –Teknik Informatika. Contoh Kita membuat menu Input Stok Barang pertama anda klik pana ke kanan.ac.Show End Sub STMIK AMIKOM YOGYAKARTA –www. Komponen Form. Event Load Private Sub Form_Load() Call Konek End Sub 2.id- .amikom. Maka dia akan terbentuk Level ke 2 dengan tanda … No 1 2 3 4 5 6 7 8 9 10 Caption File &Master Input &Stok Barang Input &Customer &Transaksi Penjualan Data Transaksi &Laporan Laporan Data Barang &About &Exit Name MnMaster MnInputStok MnInputCus MnTransaksi MnPenjualan MnDataTransaksi MnLaporan MnLapDataBarang MnAbout MnExit 1 2 2 1 2 2 1 2 1 1 Level Shortcut Ctrl+S Ctrl+C Ctrl+P Ctrl+T Ctrl+L Kode Program 1.

Event Click Private Sub MnInputCus_Click() FrmInputCustomer.Show End Sub 4. Komponen MnLapDataBarang. Event Click Private Sub MnLapDataBarang_Click() Dim de As DataEnvironment1 Set de = New DataEnvironment1 Set DataReport1.Close Unload Me End If End Sub STMIK AMIKOM YOGYAKARTA –www. Komponen MnExit. Komponen MnInputCus.Show End Sub 5. "Konfirmasi") If pesan = 6 Then Conn. Komponen MnAbout. vbQuestion + vbYesNo.Show End Sub 7.Show End Sub 8.Show End Sub 6.id- .DataSource = de DataReport1.57 3.amikom. Event Click Private Sub MnExit_Click() Dim pesan As Integer pesan = MsgBox("Anda yakin keluar ?". Komponen MnDataTransaksi. Event Click Private Sub MnAbout_Click() frmAbout.Modul Pemrograman Komputer 2 –Teknik Informatika. Komponen MnPenjualan.ac. Event Click Private Sub MnDataTransaksi_Click() FrmDataTransaksi. Event Click Private Sub MnPenjualan_Click() FrmTransaksi.

Modul Pemrograman Komputer 2 –Teknik Informatika.SetFocus End If End If End Sub 2. Event Click Private Sub CmdBatal_Click() Unload Me End Sub STMIK AMIKOM YOGYAKARTA –www.frm : Untuk menjadi keamanan program dari orang yang tidak berhak 1 2 3 4 No Nama Object Form Label TextBox CommandButton CommandButton Properti Name Caption StartUpPosition Name Caption Name Text PasswordChar Name Caption Name Caption Nilai FrmPassword Password 2 . "Information" TxtPassword.ac. vbExclamation + vbOKOnly.id- . vbCritical + vbOKOnly.Text = "amikom" Then FrmUtama. Komponen CmdBatal.Text = "" Then MsgBox "Password belum diisi". Komponen CmdOK.Show Else MsgBox "Password Anda Salah". "Informasi" TxtPassword.SetFocus Else If TxtPassword.amikom.CenterScreen Label1 Password TxtPassword (dikosongkan) * CmdOk OK CmdBatal Batal 1 2 3 4 Kode Program 1. Event Click Private Sub cmdOK_Click() If TxtPassword.58 File Form Fungsi Desain Form : FrmPassword.

Dan Anda jalankan. Note: Untuk mengamankan aplikasi yang telah dibuat sebaiknya aplikasi anda diberi password dan database yang dibuat di MS. Access juga diberi password.amikom.59 Langkah Terakhir Setelah semua Form telah dibuat set FrmPassword sebagai yang pertama dipanggil dalam Project.id- . Anda pindah ke Tab Make Simpan program Anda.ac.Modul Pemrograman Komputer 2 –Teknik Informatika. STMIK AMIKOM YOGYAKARTA –www. 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 Pemrograman Komputer 2 –Teknik Informatika. Microsoft ADO Data Control 6. dan Label dan setting seperti gambar dibawah: 2) Aktifkan Adodc1 3) Masukkan Properti pilih Use Connection String Build 4) Data Links Properties 5) Pilih Microsoft Jet 4.amikom.id- .0 OLE DB Provider Next STMIK AMIKOM YOGYAKARTA –www. Penanganan Dengan Konfigurasi Visual Setting Komponen Adodc 1) Pilih Komponen Adodc.60 MODUL TAMBAHAN (Cara Lain Membuat Aplikasi Basis data) 1) Panggil Visual Basic 2) Tambahkan komponen dari menu Project Component a.ac. DataGrid.0 (OLEDB) A. Microsoft DataGrid Control 6.0 (OLEDB) b.

id- .Modul Pemrograman Komputer 2 –Teknik Informatika. Pilih Database yang diinginkan.61 6) Klick Databasenya. lihat pesan yang muncul (pesan dibawah Success) 8) OK -> Apply STMIK AMIKOM YOGYAKARTA –www. jika tempat penyimpanan program dan database menjadi satu bisa langsung menuliskan nama file 7) Klik tombol Test Connection.ac.amikom.

Modul Pemrograman Komputer 2 –Teknik Informatika. Silakan Program Anda di Running/ dijalankan (Tekan F5) STMIK AMIKOM YOGYAKARTA –www.amikom.62 9) Klik tombol OK 10) Properti RecordSource Klik 11) Command Type: adCmdText 12) Command Text (SQL) : SELECT * FROM stok 13) Apply -> OK Setting DataGrid 1.id- .ac. Setting Properti Data Source : Adodc1 3. Aktifkan Komponen DataGrid 2.

ac.63 STMIK AMIKOM YOGYAKARTA –www.amikom.Modul Pemrograman Komputer 2 –Teknik Informatika.id- .

" Adodc1. Penanganan Dengan Kode Program Keuntungan Bisa diubah saat RunTime 1) Pilih Komponen Seperti dibawah Setting: 2) Masuk Ke Code Editor 3) Pilih Komponen Form Event Load Private Sub Form_Load() Dim StrKonek As String StrKonek = "Provider=Microsoft.ac.0.Data Source=" + App.amikom.ConnectionString = StrKonek Adodc1.Path + "\penjualan.mdb.Jet.DataSource = Adodc1 End Sub 4) Jalankan Program Anda STMIK AMIKOM YOGYAKARTA –www.OLEDB.RecordSource = "SELECT * FROM stok" Set DataGrid1.id- .Modul Pemrograman Komputer 2 –Teknik Informatika.64 B.4.

kita bisa merubah action program di saat RunTime (ketika dijalankan).Modul Pemrograman Komputer 2 –Teknik Informatika. Biasanya yang programmer VB menggunakan Cara dengan source code (cara B).ac.amikom. STMIK AMIKOM YOGYAKARTA –www. Silakan Bandingkan Contoh diatas. 3.65 Catatan: 1. 2. Keuntungan Cara B.id- .