microsoft word - database pada visual basic
DESCRIPTION
Microsoft Word - Database Pada Visual BasicTRANSCRIPT
WYI Database Visual Basic
1
Database Pada Visual Basic
1. Membuat Database Baru
• Klik Menu add-Ins pada Menubar
• Pilih Visual Data Manager, akan Muncul Jendela Visdata
• Pilih File , New , Microsoft Access, Version 7.0 MDB.
• Simpan Dengan nama :Penjualan , Simpan Di C:\Lab B Pagi\13054….
• Klik Kanan Pada Properties, Pilih New Table
Tipe Field Fungsi
Long Digunakan untuk menampung data numerik untuk bilangan bulat
Currency Digunakan untuk menampung data numerik. Kelebihannya adalah currency tidak akan melakukan pembulatan bilangan pada operasi matematik
Single Digunakan untuk menampung data numerik untuk bilangan pecahan
Double Fungsinya sama dengan single
Date/Time Digunakan untuk menampung data tanggal atau jam
Text Digunakan untuk menyimpan data karakter dengan daya tampung sebesar 255 karakter
Memo Sama dengan text tetapi dapat menampung sampai dengan 64.000 karakter
WYI Database Visual Basic
2
• Table name: Barang , lalu klik Add Field
Name Type Size
kdbrg Text 5
nama Text 15
harga Currency 8
satuan Text 15
• Klik Add Index, Name= Kobar, Pada Available Fields : kdbrg
• Build The table
• Desain Form spt di bawah ini :
Koneksi Data Ke Database:
1. Pada Tabel Properties, Database Name : Path / alamat tempat penyimpanan
database
2. Record Source: Barang <nama Tabelnya>
3. RecordSource Type : 0-Table
Koneksi Setiap Textbox pada Database
1. Pada Setiap Textbox, Data Source: Data1
2. Data Field: kdbrg <sesuaikan textbox dg nama fieldnya>
Koneksi DBGrid :
1. Pada Tabel Properties, Data Sorce: data1
2. Klik kanan Pada DbGrid, Pilih Retrieve Fields
Data
Microsoft data Bound
grid 5.0 (SP 3)
• Ctrl T , atau
• Klik kanan
toolbox, pilih
Components
Primary Key
WYI Database Visual Basic
3
Sub aktif() Text1.Enabled = True
Text2.Enabled = True
Text3.Enabled = True
Text4.Enabled = True
End Sub
Sub tidak() Text1.Enabled = False
Text2.Enabled = False
Text3.Enabled = False
Text4.Enabled = False
End Sub
Private Sub Cmdfirst_Click() Data1.Recordset.MoveFirst
MsgBox "data awal",48 , "info"
End Sub
Private Sub Cmdprev_Click() Data1.Recordset.MovePrevious
If Data1.Recordset.BOF Then
Data1.Recordset.MoveFirst
MsgBox "data awal",48 , "info"
End If
End Sub
Private Sub cmdkeluar_Click() Unload Me
End Sub
Simbol Nama Style Picture
cmdtop 1-graphical c:\program file\microsoft visual studio\
fp98\wizards\wizbmps\wztop
cmdback 1-graphical c:\program file\microsoft visual studio\
fp98\wizards\wizbmps\wztop
cmdnext 1-graphical c:\program file\microsoft visual studio\
fp98\wizards\wizbmps\wztop
cmdlast 1-graphical c:\program file\microsoft visual studio\
fp98\wizards\wizbmps\wztop
Private Sub Cmdnext_Click() Data1.Recordset.MoveNext
If Data1.Recordset.EOF Then
Data1.Recordset.MoveLast
MsgBox "data akhir", 48
,"info"
End If
End Sub
Private Sub Cmdlast_Click() Data1.Recordset.MoveLast
MsgBox "data akhir",48,"info"
End Sub
Private Sub
Cmdtambah_Click() aktif
Data1.Recordset.AddNew
Text1.SetFocus
End Sub
Private Sub
Cmdsimpan_Click() Data1.Recordset.Update
tidak
End Sub
Private Sub Form_Activate() tidak
Me.cmdtambah.SetFocus
End Sub
WYI Database Visual Basic
4
Buka Database Penjualan,
Pada Jendela Visdata, Pilih File, open, Microsoft access
Kemudian, klik kanan pada properties, pilih new Table
Table Name: Transaksi , klik add field
Name Type Size
nofak Text 5
namapel Text 15
kdbrg text 8
jml single 4
total currency 8
diskon currency 8
bayar currency 8
tglfak Date 8
Desainlah form seperti yang dibawah
Dbcombo1 : Ctrl T, Microsoft Data Bound list Control
Koneksi : pada tabel properties :
Rowsource : barang
Listfield : kdbrg
Sub aktif() Me.nofak.Enabled = True
Me.nama.Enabled = True
Me.DBCombo1.Enabled = True
Me.jml.Enabled = True
Me.total.Enabled = True
Me.diskon.Enabled = True
Me.tobay.Enabled = True
End Sub
Primary Key
Name : kofak
Available fields: Nofak
WYI Database Visual Basic
5
Sub tidak() Me.nofak.Enabled = False
Me.nama.Enabled = False
Me.DBCombo1.Enabled = False
Me.jml.Enabled = False
Me.total.Enabled = False
Me.diskon.Enabled = False
Me.tobay.Enabled = False
End Sub
Sub bersih()
nofak = ""
nama = ""
namabrg = ""
harga = ""
DBCombo1 = ""
harga = ""
jml = ""
total = ""
diskon = ""
tobay = ""
End Sub
Private Sub DBCombo1_Change() With barang.recordset
.Index = "kobar"
.Seek "=", DBCombo1.Text
If Not .NoMatch Then
namabrg = !nama
harga = !harga
End If
End with
End Sub
Private Sub Form_Activate() tidak
bersih
tambah.SetFocus
End Sub
Private Sub lihat_Click() Form3.Show
End Sub
Private Sub jml_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then
total = Val(harga) * Val(jml)
If Val(jml) > 6 Then
diskon = 0.1 * Val(total)
ElseIf Val(jml) > 10 Then
diskon = 0.5 * Val(total)
Else
diskon = 0
End If
tobay = Val(total) - Val(diskon)
End If
End Sub
Private Sub tambah_Click() Me.aktif
nofak.SetFocus
End Sub
Private Sub Timer1_Timer()
tgl.Text = Date
End Sub
Private Sub keluar_Click() a = MsgBox("Keluaaaaaaaaaaaaaaar ", vbQuestion + vbYesNo, "Infooo")
If a = vbYes Then End
End Sub
WYI Database Visual Basic
6
Private Sub simpan_Click() Data2 . Recordset.AddNew
Data2 . Recordset ! tglfak = Me.tgl
Data2 . Recordset ! nofak = Me.nofak
Data2 . Recordset ! namapel = Me.nama
Data2 . Recordset ! kdbrg = Me.DBCombo1
Data2 . Recordset ! jumlah = Me.jml
Data2. Recordset ! total = Me.total
Data2 . Recordset ! diskon = Me.diskon
Data2 . Recordset ! tobay = Me.tobay
Data2 . Recordset.Update
tidak
End Sub
Buatlah 1 form baru, desain seperti gambar di bawah ini:
Private sub cmdkembali_click() Form2.show
Form3.hide
End Sub
Data
Microsoft Data
Bound Grid
Control 5.0
(SP 3)
<Ctrl T>
WYI Database Visual Basic
7
1. Buat Database dengan nama : Penjualan, sebelumnya tentukan dahulu tempat
penyimpanan difolder masing-masing. 2. Buat Tabel Baru dengan nama : Tbl_Barang
Name Type Size Kd_Brg Text 5
Nm_Brg Text 20 Harga Currency Stok Integer Satuan Text 10
3. Buat Index dengan nama : Kode dari Kd_Brg 4. Isi Tabel sebanyak 5 Record
Kd_Brg Nm_Brg Harga Stok Satuan BKSD1 Buku Sinar
Dunia 25000 75 Buah
PGH01 Penghapus 4500 20 Buah
PGR01 Pengaris 5000 30 Unit PLG01 Pulpen Gel
Warna 11000 35 Buah
PSL2B Pensil 2B 2500 45 Unit
Microsoft Data Bound Grid Control 5.0 (SP3), Name : DBGrid1 Cara Menambah Objek baru pada Toolbox yaitu dengan : CTRL + T atau Klik kanan pada ToolBox pilih Component, atau Klik menu Project pada menu utama VB, pilih Component.
Setelah Database Koneksi, Klik Kanan :Retrieve Fields
DBGrid1 (Objek Baru pada VB)
WYI Database Visual Basic
8
Objek Properties Nilai Command1 Name
Enabled CmdSimpan False
Command2 Name Enabled
CmdBatal False
Timer1 Interval 100 Data1 DatabaseName
RecordSource Name
(Klik tombol…cari database) Tbl_Barang BARANG
DBGrid1 DataSource BARANG
Sub mati() CmdTambah.Enabled = False CmdSIMPAN.Enabled = True CmdBatal.Enabled = True CmdCARI.Enabled = False CmdHapus.Enabled = False CmdKELUAR.Enabled = False End Sub Sub hidup() CmdTambah.Enabled = True CmdSIMPAN.Enabled = False CmdBatal.Enabled = False CmdCARI.Enabled = True CmdHapus.Enabled = True End Sub Private Sub CmdBACK_Click() On Error Resume Next Barang.Recordset.MovePrevious tampil If Barang.Recordset.BOF Then MsgBox "Sudah Awal Record", 64, "Informasi" Barang.Recordset.MoveFirst tampil End If End Sub Private Sub CmdCARI_Click() cari = InputBox("Masukan Kode Yang Dicari", "Pencarian") temukan = "kd_brg= ' " & cari & " ' " Barang.Recordset.FindFirst temukan If Barang.Recordset.NoMatch Then MsgBox "Data Tidak Ditemukan", 48, "Informasi" Else tampil End If End Sub
30
Sub tampil() TxtKode = Barang.Recordset!kd_brg TxtNAMA = Barang.Recordset!nm_brg TxtHARGA = Barang.Recordset!harga TxtJUMLAH = Barang.Recordset!stok Cbosat = Barang.Recordset!satuan End Sub Sub kosong() TxtKode = "" TxtNAMA = "" TxtHARGA = "" TxtJUMLAH = "" Cbosat = "" End Sub Private Sub CmdBatal_Click() kosong hidup End Sub
WYI Database Visual Basic
9
Private Sub CmdEND_Click() Barang.Recordset.MoveLast tampil End Sub Private Sub CmdHAPUS_Click() If MsgBox("Yakin Akan Hapus Data ?", vbYesNo + vbQuestion, "Info") = vbYes Then Barang.Recordset.Delete Barang.Recordset.MoveLast tampil End If End Sub Private Sub CmdKELUAR_Click() pesan = MsgBox("Yakin Mau Keluar Program?", vbYesNo + vbQuestion, "Perhatian") If pesan = vbNo Then Cancel = 1 Else End End If End Sub Private Sub CmdNEXT_Click() On Error Resume Next Barang.Recordset.MoveNext tampil If Barang.Recordset.EOF Then MsgBox "Sudah Akhir Record", 48, "Informasi" Barang.Recordset.MoveLast tampil End If End Sub Private Sub CmdSIMPAN_Click() Barang.Recordset.AddNew Barang.Recordset!kd_brg = TxtKode Barang.Recordset!nm_brg = TxtNAMA Barang.Recordset!harga = TxtHARGA Barang.Recordset!stok = TxtJUMLAH Barang.Recordset!satuan = Cbosat.Text Barang.Recordset.Update CmdBatal_Click End Sub Private Sub CmdTOP_Click() Barang.Recordset.MoveFirst tampil End Sub
Private Sub Form_Load() Cbosat.AddItem "Unit" Cbosat.AddItem "Potong" Cbosat.AddItem "Buah" Cbosat.AddItem “Pasang” End Sub Private Sub Timer1_Timer() LblJam.Caption = Time End Sub
Private Sub CmdTAMBAH_Click() kosong mati TxtKode.SetFocus End Sub
WYI Database Visual Basic
10
B. Relasi DBCombo dengan properties
1. Buat Database dengan nama DataObat, simpan di folder masing-masing 2. Buat Table : Obat
Field Name Type Size kode_obat Text 5 nama_obat Text 25 jenis_obat Text 15
harga_obat Double Isi data sebanyak 3 record
3. Buat table :Transaksi Field Name Type Size kode_obat Text 5
harga_obat Double jumlah Integer bayar Double
discount Double total Double
4. Desain Form seperti tampilan dibawah ini !
Kode_obat Nama_obat Jenis_obat Harga_obat OSF01 Obat Sakit Flu Tablet 1500
OSK02 Obat Sakit Kepala Kapsul 1750
OMA03 Obat Masuk Angin
Cair 2000
Objek Properties Nilai
DBCombo DataSource Name RowSource ListField
Data_obat DBKode Data_obat Kode_obat
DBCombo Componnent: Microsoft Data Bound List Controls 6.0.
WYI Database Visual Basic
11
Private Sub aktif() dbkode.Enabled = True txtjumlah.Enabled = True txtbayar.Enabled = True txtdiscount.Enabled = True txttotal.Enabled = True cmdinput.Enabled = False cmdsave.Enabled = True End Sub Private Sub Form_Activate() nonaktif End Sub Private Sub dbkode_Change() Data1.Recordset.FindFirst "kode_obat=' " & dbkode.Text & " ' " txtnama = Data1.Recordset!nama_obat txtjenis = Data1.Recordset!jenis_obat txtharga = Data1.Recordset!harga_obat txtjumlah.SetFocus End Sub Private Sub cmdinput_Click() aktif dbkode = "Pilih Kode" txtnama = "" txtjenis = "" txtharga = "" txtjumlah = "" txtbayar = "" txtdiscount = "" txttotal = "" dbkode.SetFocus End Sub Private Sub txtjumlah_Change() txtbayar = Val(txtjumlah) * Val(txtharga) If Val(txtbayar) >= 15000 Then txtdiscount = 0.1 * Val(txtbayar) Else txtdiscount = 0 End If End Sub Private Sub nonaktif() dbkode.Enabled = False txtnama.Enabled = False txtjenis.Enabled = False txtharga.Enabled = False txtjumlah.Enabled = False txtbayar.Enabled = False txtdiscount.Enabled = False txttotal.Enabled = False cmdinput.Enabled = True cmdsave.Enabled = False EndSub
Private Sub cmdsave_Click() Data2.Recordset.AddNew Data2.Recordset!kode_obat = dbkode Data2.Recordset!harga_obat = txtharga Data2.Recordset!jumlah = txtjumlah Data2.Recordset!bayar = txtbayar Data2.Recordset!discount = txtdiscount Data2.Recordset!total = txttotal Data2.Recordset.Update Data2.Refresh cmdinput.Enabled = True cmdsave.Enabled = False End Sub Private Sub cmdtotal_Click() txttotal = Val(txtbayar) - Val(txtdiscount) End Sub
WYI Database Visual Basic
12
Latihan Database 1. Buat Database Baru dengan nama : Elektronik
2. Buat Table Baru
� Table : Barang
Name Type Size
Kobar Text 5
Nabar Text 25
Harga Currency 8
Add Index Name:Kode
Available Field : Kobar
Isi Record Berikut :
Kobar Nabar Harga
LMS01 Lemari Es 2500000
MSC02 Mesin Cuci 2000000
RTP03 Radio Tape 850000
� Table : Penjualan
Name Type Size
No_faktur Text 5
Tgl Date/Time 8
Kobar Text 5
Jml Single 4
Total Currency 8
Add Index =Name: nofak
Available Field : No_faktur
DTPicker
• Ctrl T
• Microsoft Windows Common
Control-2 6.0 (SP 4)
DBCombo1 :
• Ctrl T
• Microsoft data
Bound list Control
6.0
Koneksi :
• Row Source :
Data1
Name: Data1
DatabaseName: C:\Lab
Pagi\1305…\Elektronik
RecordSource : Penjualan
RecordSourceType: 0-Table
Name: Data2
DatabaseName: C:\Lab
Pagi\1305…\Elektronik
RecordSource : Barang
RecordSourceType: 0-Table
DBGrid: * Ctrl T
*Microsoft Data Bound grid Control 5.0 (SP 3)
Koneksi , Data Source: Data1
Klik Kanan Pada Dbgrid, Pilih Retrieve Fields
WYI Database Visual Basic
13
sub bersih()
Me. nofak = ""
Me. nama = ""
Me. nabar = ""
Me. harga = ""
Me. jml = ""
Me. total = ""
Me. DBCombo1 = ""
Option1. Value = False
Option2. Value = False
End Sub
Sub mati() Me. nofak. Enabled = False
Me. nama. Enabled = False
Me. nabar. Enabled = False
Me. harga. Enabled = False
Me. jml. Enabled = False
Me. total. Enabled = False
Me. DBCombo1. Enabled = False
End Sub
Sub hidup() Me. nofak. Enabled = True
Me. nabar. Enabled = True
Me. harga. Enabled = True
Me. jml. Enabled = True
Me. total. Enabled = True
Me. DBCombo1. Enabled = True
End Sub
Private Sub cmdadd_Click() hidup
bersih
nofak. SetFocus
End Sub
Private Sub cmdbatal_Click() bersih
mati
cmdadd. SetFocus
End Sub
Private Sub cmdkeluar_Click() Unload Me
End Sub
Private Sub cmdsave_Click()
If nofak = "" Then
MsgBox "isi terlebih dahulu nofak
nya!", 64, "kasi tau"
nofak. SetFocus
End If
With Data1. Recordset
. Index = "nofak"
. Seek "=", nofak
If . NoMatch Then
. AddNew
!no_faktur = nofak
!tgl = Me. DTPicker1
If Option1. Value = True Then
!jenis_pel = "tetap"
Else
!jenis_pel = "umum"
End If
!kdbrg = DBCombo1
!nama = nama
!jml = jml
!total = total
. Update
Else
MsgBox "data sudah ada", 64, "info"
bersih
End If
End With
Me. DBGrid1. Refresh
mati
End Sub
Private Sub DBCombo1_Change() With Data2 . Recordset
. Index = "kode"
. Seek "=", DBCombo1
If Not . NoMatch Then
nabar = !nabar
harga = !harga
End If
End With
End Sub
Private Sub DBCombo1_Click(Area As
Integer)
Me . jml . SetFocus
End Sub
Private Sub Form_Activate()
mati
bersih
Me. DBGrid1. Refresh
End Sub
Private Sub jml_Change() total = Val(jml) * Val(harga)
End Sub
Private Sub Option1_Click() nama. Enabled = True
nama. SetFocus
End Sub
Private Sub Option2_Click()
nama. Enabled = False
End Sub
Created BY WYI
14
SQL (Structured Query Language)
SQL adalah bahasa yang digunakan untuk memuat, mengurutkan, menyaring, mengupdate dan mengolah relasi antar
database suatu data sehingga dihasilkan suatu data yang spesifik dari suatu database.
Bentuk Umum :
<Objek Data>. RecordSource = <String SQL>
Ket: <String SQL> adalah string yang berisi pernyataan dalam SQL.
Bentuk-Bentuk dalam SQL
1. Select….From
Digunakan Untuk memilih field dan tabel data dengan SQL
BU : Select <Daftar Field> From <Nama Tabel> In <Nama Database>
Ket : <Field> Adalah nama-nama field yang diinginkan, bisa satu /lebih field
<Nama Tabel> adalah salah satu nama tabel yang ada dalam database (*) untuk semua field
2. Select….From…Where
Digunakan Untuk Menyaring data berdasarkan Kriteria tertentu
BU : Select <Daftar Field> From <Nama Tabel> Where <Syarat>
3. Select…From…OrderBy
Digunakan untuk mengakses suatu data dengan hasil yang terurut (mengurutkan data secara Assembly)
BU : Select <Daftar Field> From <Nama Tabel> In <Nama Database> Order By <Field Kunci1>, <Field Kunci2>
Latihan :
1. Buat Database dengan nama : Mahasiswa, simpan difolder masing-masing.
2. Buat Tabel baru dengan nama : Tbl_Mhs
Name Type Size
Nim Text 5
Nama Text 25
Jurusan Text 25
Kelas Text 5
IPK Single
4. Isi Record Sebanyak 5 :
Nim Nama Jurusan Kelas IPK
12011 Vina Ade Manajemen Informatika MI4D 2.85
11025 Lyra Chandra Komputerisasi Akutansi KA4C 3.15
13020 Abdul Fatah Teknik Komputer TK4E 3.23
12055 Hendra Adi Manajemen Informatika MI4R 2.72
13021 Dendy Reski Teknik Komputer TK4F 3.45
Listing Form :
Private Sub Cmdselesai_Click()
Pesan = MsgBox("Yakin Nih Ingin Keluar ?", 32 + 1, "Info")
If pesan = vbOK Then
End
Else
Pesan = MsgBox(“Ga Jadi Keluar Ah!”, vbInformation + vbOkOnly, ”Informasi”)
End If
End Sub
32
Private Sub CmdTampil_Click() Data1.RecordSource = Text1.Text Data1.Refresh End Sub
Created BY WYI
15
Proses Program : Cara menjalankan program dengan mengetikkan perintah SQL pada Text Box, kemudian klik Command Tampil Data maka data yang dimunculkan pada DBGrid1 akan terseleksi dengan perintah SQL yang diketik. Buatlah perintah SQL dibawah ini : 1. Select nim, nama, kelas from Tbl_Mhs 2. Select * from Tbl_Mhs 3. Select * from Tbl_Mhs where jurusan = ‘Teknik Komputer’ 4. Select * from Tbl_Mhs where ipk > 3.00
5. Select * from Tbl_Mhs order by nama 6. Select * from Tbl_Mhs order by ipk
33
Created BY WYI
16
Database One To Many
Normalisasi: Adalah pengelompokkan data-data dalam bentuk tabel-tabel.
Bentuk normalisasi:
1. Unnormalized form (bentuk tidak normal)
Ciri:
-didapat dari dokumen masukan dan keluaran
-semua data direkam apa adanya dan masih adanya field yang redudant (sama)
2. First Normalized Form (Normalisasi bentuk pertama� 1 NF)
-sudah ada lagi data yang redudant
-adanya candidate key
3. Second Normalized Form( 2NF)
-memenuhi bentuk 1 NF
-dalam bentuk tabel, sudah ada relasi dan PK
-masih adanya ketergantungan transitif
4. Third Normalized Form (3NF)
- Sudah memenuhi bentuk ke dua
- Tidak adanya ketergantungan transitif
Contoh: penjualan Buku
Buat normalisasi:
1. Unnormalized Form
Kodebuku
Jenis
PengarangPenerbit
HargaKdcus
NmcusAlamat
NotelpNotransTgltrans
KdcusKodebuku
JenisPengarang
PenerbitHarga
JumlahTottotal
Created BY WYI
17
2. First Normalized Form
3. Second Normalized Form(2NF)
4. Th
ird
Nor
mali
zed
For
m
(3N
F)
Kodebuku*
Jenis
PengarangPenerbitHarga
Kdcus*Nmcus
AlamatNotelp
Notrans*
TgltransJumlah
Tottotal
Kodebuku*
Jenis
Pengarang
PenerbitHarga
Kdcus*
N m cus
A lam at
N otelp
Notrans*Tgltrans
Jum lah
Tot
tota l
Kodebuku**
Kdcus**
Buku Custom er
Transaksi
Created BY WYI
18
Created BY WYI
19
Buat Database:penjualan_buku dengan table: Simpan dengan nama : buku
Field Type Size Keterangan
Kodebuku Text 5 Primary key
Jenis Text 25
Pengarang Text 25
Penerbit Text 25
Harga currency 8
Isi data 3 record
Simpan dengan nama : customer
Field Type Size Keterangan
Kdcus Text 5 Primary key
Nmcus Text 25
Alamat Text 50
notelp Text 12
Isi 3 record
Simpan dengan nama : detail
Field Type Size Keterangan
Notrans Text 8
Kodebuku text 5
Jenis Text 25
Harga Currency 8
Jumlah Single 4
tot currency 8
Simpan dengan nama sementara
Field Type Size Keterangan
Kodebuku text 5
Jenis Text 25
pengarang text 25
harga Currency 8
jumlah single 4
Tot Currency 8
Simpan dengan nama : transaksi
Field Type Size Keterangan
notrans Text 8 Primary key
tgltrans text 12
kdcus text 5
total currency 8
Created BY WYI
20
Form Buku
Microsoft
tabbed dialog
control 6.0
(sp3)
kobuk jebuk pengarang
penerbit
harga
Data1:
DatabaseName : path tempat penyimpanan
database
RecordSource : buku
RecordSourceType:1-Table
Created BY WYI
21
Syntax:
Sub bersih()
Me.kobuk = ""
Me.jebuk = ""
Me.penerbit = ""
Me.pengarang = ""
Me.harga = ""
End Sub
Sub isi() kobuk.Enabled = True
jebuk.Enabled = True
penerbit.Enabled = True
pengarang.Enabled = True
harga.Enabled = True
End Sub
Sub tidak() kobuk.Enabled = False
jebuk.Enabled = False
penerbit.Enabled = False
pengarang.Enabled = False
harga.Enabled = False
End Sub
Sub tampil() With Data1.Recordset
kobuk = !kodebuku
jebuk = !jenis
pengarang = !pengarang
penerbit = !penerbt
harga = !harga
End With
End Sub
Private Sub add_Click()
isi
bersih
kobuk.SetFocus
End Sub
Private Sub cari_Click() On Error Resume Next
KeyAscii = Asc(UCase(Chr(KeyAscii)))
kobuk = InputBox("Isi Data Buku!!!", "Find@!", " Isi 5 digit")
With Data1.Recordset
.Index = "kodebuk"
.Seek "=", kobuk
If Not .NoMatch Then
tampil
tidak
Else
MsgBox " Kode Buku " & kobuk & "tidak ada", 48, "info"
bersih
.MoveFirst
End If
End With
End Sub
Private Sub dele_Click() del = MsgBox(" mau di hapus???", vbYesNo, "Pemberitahuan")
If del = vbYes Then
Data1.Recordset.Delete
Data1.Recordset.MoveNext
If Data1.Recordset.EOF Then
Data1.Recordset.MoveLast
End If
End If
bersih
End Sub
Created BY WYI
22
Private Sub edit_Click() tampil
isi
kobuk.Enabled = False
jebuk.SetFocus
End Sub
Private Sub Form_Activate() tidak
tgl = Date
add.SetFocus
kobuk.MaxLength = 5
End Sub
Private Sub harga_KeyPress(KeyAscii As Integer) If Not (KeyAscii >= Asc("0") And KeyAscii <= Asc("9") Or KeyAscii = vbKeyBack) Then
KeyAscii = 0
End Sub
Private Sub jebuk_KeyPress(KeyAscii As
Integer)
KeyAscii = Asc(UCase(Chr(KeyAscii)))
If KeyAscii = 13 Then
pengarang.SetFocus
End If
End Sub
Private Sub keluar_Click() Unload Me
End Sub
Private Sub kobuk_KeyPress(KeyAscii As
Integer) KeyAscii = Asc(UCase(Chr(KeyAscii)))
If KeyAscii = 13 Then
jebuk.SetFocus
End If
End Sub
Private Sub penerbit_KeyPress(KeyAscii As Integer)
KeyAscii = Asc(UCase(Chr(KeyAscii)))
If KeyAscii = 13 Then
harga.SetFocus
End If
End Sub
Private Sub pengarang_KeyPress(KeyAscii As Integer) KeyAscii = Asc(UCase(Chr(KeyAscii)))
If KeyAscii = 13 Then
penerbit.SetFocus
End If
End Sub
Private Sub save_Click() If kobuk = "" Or jebuk = "" Or pengarang = "" Or penerbit = "" Or harga = "" Then
MsgBox " lengkapi data terlebih dahulu", 48, "info"
Exit Sub
End If
With Data1.Recordset
.Index = "kodebuk"
.Seek "=", kobuk.Text
If .NoMatch Then
.AddNew
!kodebuku = kobuk
!jenis = jebuk
!pengarang = pengarang
!penerbt = penerbit
!harga = harga
.Update
Else
Created BY WYI
23
.edit
!jenis = jebuk
!pengarang = pengarang
!penerbt = penerbit
!harga = harga
.Update
End If
End With
tidak
Data1.Refresh
End Sub
Tabel Penjualan Buku
Data buku : name: dtbuku
Data pelanggan: name:dtpelanggan
Data transaski: name:dttransaksi
Data detail : name: dtdetail
Data sementara: name :dtsementara
Created BY WYI
24
Syntax:
Sub bersih()
Me.no = ""
DBCombo1 = "pilih"
nm = ""
Me.kobuk = ""
Me.judul = ""
hrg = ""
Me.pengarang = ""
Me.jb = ""
Me.tot = ""
Me.total = ""
Me.ub = ""
Me.uk = ""
Option1 = 0
Option2 = 0
End Sub
Sub auto()
Dim urutan As String * 8
Dim HITUNG As Byte
With Me.dttransaksi.Recordset
If .RecordCount = 0 Then
urutan = "00001"
Else
.MoveLast
HITUNG = Val(!notrans) + 1
urutan = "000" & Right("00" & HITUNG, 2)
End If
Me.no = urutan
End With
End Sub
Sub tidak() Me.no.Enabled = False
Me.nm.Enabled = False
Me.kobuk.Enabled = False
Me.judul.Enabled = False
Me.pengarang.Enabled = False
Me.jb.Enabled = False
Me.tot.Enabled = False
Me.total.Enabled = False
Me.ub.Enabled = False
Me.uk.Enabled = False
Me.hrg.Enabled = False
End Sub
Sub isi() Me.kobuk.Enabled = True
Me.ub.Enabled = True
jb.Enabled = True
End Sub
Sub simdetail() With dtdetail.Recordset
.AddNew
!notrans = no
!kodebuku = dtsementara.Recordset!kodebuku
!jenis = dtsementara.Recordset!jenis
!harga = dtsementara.Recordset!harga
!jumlah = dtsementara.Recordset!jumlah
!tot = dtsementara.Recordset!tot
.Update
End With
End Sub
Created BY WYI
25
Sub simpan_semua() With Me.dttransaksi.Recordset
.AddNew
!notrans = Me.no
!tgltrans = Me.tgl
!kdcus = Me.DBCombo1
!total = total
.Update
End With
Me.tidak
End Sub
Private Sub add_Click()
Me.isi
bersih
Call auto
End Sub
Private Sub batal_Click() Me.bersih
tidak
If Not Me.dtsementara.Recordset.RecordCount = 0 Then
dtsementara.Recordset.MoveFirst
Do While Not dtsementara.Recordset.EOF
dtsementara.Recordset.Delete
dtsementara.Recordset.MoveNext
Loop
End If
dtsementara.Recordset.MoveFirst
DBGrid1.SetFocus
DBGrid1.Col = 1
End Sub
Private Sub DBCombo1_Change()
With dtpel.Recordset
.Index = "kopel"
.Seek "=", DBCombo1
If Not .NoMatch Then
nm = !nmcus
End If
End With
'kobuk.SetFocus
End Sub
Sub simpan_sementara()
a = MsgBox(" mau Input lagi......??", 32 + 1, "Konfirmasi")
If a = 1 Then
With Me.dtsementara.Recordset
.AddNew
!kodebuku = kobuk
!jenis = judul
!pengarang = pengarang
!harga = hrg
!jumlah = jb
!tot = tot
.Update
End With
Me.kobuk = ""
Me.judul = ""
pengarang = ""
hrg = ""
jb = ""
tot = ""
kobuk.SetFocus
dtsementara.Refresh
Call totalkan
Else
With Me.dtsementara.Recordset
.AddNew
!kodebuku = kobuk
!jenis = judul
!pengarang = pengarang
!harga = hrg
!jumlah = jb
!tot = tot
.Update
End With
Call totalkan
ub.SetFocus
End If
End Sub
Created BY WYI
26
Sub totalkan()
Dim ttl As Currency
If dtsementara.Recordset.RecordCount > 0 Then
dtsementara.Recordset.MoveFirst
Do While dtsementara.Recordset.EOF = False
ttl = ttl + dtsementara.Recordset!tot
dtsementara.Recordset.MoveNext
Loop
End If
total.Text = ttl
End Sub
Private Sub Form_Activate()
tidak
bersih
add.SetFocus
End Sub
Private Sub jb_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then
Me.tot = Val(Me.jb) * Val(Me.hrg)
Me.ok.SetFocus
End If
End Sub
Private Sub keluar_Click() Unload Me
End Sub
Private Sub kobuk_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then
With dtbuku.Recordset
.Index = "kodebuk"
.Seek "=", kobuk
If Not .NoMatch Then
judul = !jenis
pengarang = !pengarang
penerbit = !penerbt
hrg = !harga
jb.Enabled = True
jb.SetFocus
Else
MsgBox "kode tersebut tidak ada", 48, "kasih tau"
kobuk = ""
Me.kobuk.SetFocus
End If
End With
End If
End Sub
Created BY WYI
27
Private Sub ok_Click() simpan_sementara
End Sub
Private Sub Option1_Click()
DBCombo1.Enabled = False
End Sub
Private Sub Option2_Click() DBCombo1.Enabled = True
End Sub
Private Sub save_Click() simpan_semua
dtsementara.Recordset.MoveFirst
Do While dtsementara.Recordset.EOF = False
simdetail
'Hapus Data Sementara
dtsementara.Recordset.Delete
dtsementara.Recordset.MoveNext
Loop
Me.bersih
Me.tidak
MsgBox " Terima Kasih Atas Pembeliannya"
End Sub
Private Sub Timer1_Timer()
tgl = Date
jam = Time
End Sub
Private Sub ub_KeyPress(KeyAscii As
Integer) If KeyAscii = 13 Then
If ub > Me.total Then
uk = Val(ub) - Val(total)
MsgBox " Uang kembaliannya Rp. " & uk, 48,
"info"
Else
MsgBox " Uang bayar kurang", 48, "info"
End If
End If
End Sub
Created BY WYI
28
Membuat Report & Menu Utama
1. Report
Munculkan data environtment dengan pilih
salah satu cara seperti gambar dibawah ini:
Atau
Klik kanan pilih conection 1, Pilih Properties
Pilih provider Microsoft Jet 4.0 DB Provider, pilih next
Pilih lokasi penyimpanan database , test conection , jika success pilih ok
Pilih ok
Klik kanan pada command 1 pilih properties
Isi command name : buku
Database object : table
Pilih table : buku
Created BY WYI
29
Tampilkan data Report dengan cara add report seperti gambar dibawah :
Desain dta report seperti dibawah ini:
Created BY WYI
30
dengan bantuan tools dibawah ini desain data report:
Tarik buku pada data environtment ke bagian detail
Pisahkan bagian awal ke bagian header
Label
Garis
Penjumlahan
Created BY WYI
31
Klik data report 1 , setting properties dengan data source : data environtment 1, data member :buku
Hasil Saat Dijalankan:
Created BY WYI
32
2. Menu Utama
a. Pastikan form dan data report dalam 1 project
b. Membuat form utama, tambahkan sebuah MDI Form kedalam project
c. Dari menu project, add MDI form� open
d. Pilih tools , menu editor
Atau klik icon
Pada Caption ketikan pilihan menu beserta namenya
Sesuai dengan gambar diatas:
Caption Name Keterangan
&Master mnmaster Next, klik
&Buku mnbuku Next, klik
&Transaksi nmtrans Next, klik
&Penjualan Buku mnpenjualan Next, Klik
&Laporan mnlap Next, klik
&Laporan Buku mnlapbuku Next, Klik
&Keluar mnkeluar Klik ok
Hasil Form Pada menu Utama: untuk form setting pada properties, Windows State : 2-Maximized
Created BY WYI
33
Simpan dengan nama menu utama
Klik master, pilih buku
Ketikkan coding seperti di bawah ini :
Created BY WYI
34
Latihan UAS:
Latihan UAS dengan Data:
Buat Database dengan nm latuas1
Buat tabel : barang
Isi record =3 (isi record lewat access)
Buat tabel : trans
Buat Tampilan Form Seperti Di Bawah Ini:
field Type data size keterangan
kdbrg Text 5 Primary key
Index=”kode”
Nmbrg Text 30
hrg currency 8
Kdbrg nmbrg hrg
B001 Baju 30000
B002 T-Shirt 40000
C001 Celana Panjang 50000
C002 Celana Pendek 60000
field Type data size keterangan
Notrans Text 6 Primary key
Index =”nota”
Tgltrans Date/time 8
Np Text 30
Alamat text 30
Kdbrg Text 5
Jml Single 4
total currency 8
Created BY WYI
35
Ketentuan Soal: 1. Buat Prosedur Aktif, nonaktif , dan bersih
2. saat form dijalankan seluruh objeck dalam keadaan bersih dan tidak aktif
3. jika tombol add di klik maka kondisi aktif dan bersih, no transaksi otomatis muncul
4. pada form jika kode barang diinput saat dienter nama barang dan harga otomatis keluar
5. koneksi dengan menggunakan data
6. jumlah barang diinput jika dienter maka total otomatis keluar dan kursor berada di
pembayaran
7. pembayaran diinput kembali otomatis keluar
8. tombol simpan di klik maka data transaksi akn tersimpan
9. buat pesan keluar seperti di bawah ini