database pada visual basic

40
WYI Database Visual Basic 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 1

Upload: wyne

Post on 17-Jan-2016

41 views

Category:

Documents


0 download

DESCRIPTION

database

TRANSCRIPT

Page 1: Database Pada Visual Basic

WYI Database Visual Basic

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 FungsiLong Digunakan untuk menampung data numerik untuk bilangan

bulatCurrency 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 singleDate/Time Digunakan untuk menampung data tanggal atau jamText Digunakan untuk menyimpan data karakter dengan daya

tampung sebesar 255 karakterMemo Sama dengan text tetapi dapat menampung sampai dengan

64.000 karakter

1

Page 2: Database Pada Visual Basic

WYI Database Visual Basic

Table name: Barang , lalu klik Add FieldName Type Size

kdbrg Text 5nama Text 15harga Currency 8satuan 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

database2. Record Source: Barang <nama Tabelnya>3. RecordSource Type : 0-Table

Koneksi Setiap Textbox pada Database1. Pada Setiap Textbox, Data Source: Data12. Data Field: kdbrg <sesuaikan textbox dg nama fieldnya>

Koneksi DBGrid :1. Pada Tabel Properties, Data Sorce: data12. Klik kanan Pada DbGrid, Pilih Retrieve Fields

2

Microsoft Data Bound Grid 5.0 (SP 3)

Ctrl T , atau Klik Kanan pd

Toolbox, Components

Data

Data

Microsoft data Bound grid 5.0 (SP 3)

Ctrl T , atau Klik kanan

toolbox, pilih Components

Primary Key

Page 3: Database Pada Visual Basic

WYI Database Visual Basic

Sub aktif()Text1.Enabled = TrueText2.Enabled = TrueText3.Enabled = TrueText4.Enabled = TrueEnd SubSub tidak()Text1.Enabled = FalseText2.Enabled = FalseText3.Enabled = FalseText4.Enabled = FalseEnd SubPrivate Sub Cmdfirst_Click()Data1.Recordset.MoveFirstMsgBox "data awal",48 , "info"End SubPrivate Sub Cmdprev_Click()Data1.Recordset.MovePreviousIf Data1.Recordset.BOF Then Data1.Recordset.MoveFirst MsgBox "data awal",48 , "info"End IfEnd SubPrivate Sub cmdkeluar_Click()Unload MeEnd Sub

Simbol Nama Style Picturecmdtop 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.MoveNextIf Data1.Recordset.EOF Then Data1.Recordset.MoveLast MsgBox "data akhir", 48 ,"info"End IfEnd SubPrivate Sub Cmdlast_Click()Data1.Recordset.MoveLastMsgBox "data akhir",48,"info"End SubPrivate Sub Cmdtambah_Click()aktifData1.Recordset.AddNewText1.SetFocusEnd SubPrivate Sub Cmdsimpan_Click()Data1.Recordset.UpdatetidakEnd SubPrivate Sub Form_Activate()tidakMe.cmdtambah.SetFocus

End Sub

3

Page 4: Database Pada Visual Basic

WYI Database Visual Basic

Buka Database Penjualan, Pada Jendela Visdata, Pilih File, open, Microsoft accessKemudian, klik kanan pada properties, pilih new TableTable Name: Transaksi , klik add field

Name Type Sizenofak Text 5namapel Text 15kdbrg text 8jml single 4total currency 8diskon currency 8bayar currency 8tglfak Date 8

Desainlah form seperti yang dibawah

Dbcombo1 : Ctrl T, Microsoft Data Bound list ControlKoneksi : pada tabel properties :Rowsource : barangListfield : kdbrg

Sub aktif()Me.nofak.Enabled = TrueMe.nama.Enabled = TrueMe.DBCombo1.Enabled = TrueMe.jml.Enabled = TrueMe.total.Enabled = TrueMe.diskon.Enabled = TrueMe.tobay.Enabled = TrueEnd Sub

Primary KeyName : kofakAvailable fields: Nofak

4

Page 5: Database Pada Visual Basic

WYI Database Visual Basic

Sub tidak()Me.nofak.Enabled = FalseMe.nama.Enabled = FalseMe.DBCombo1.Enabled = FalseMe.jml.Enabled = FalseMe.total.Enabled = FalseMe.diskon.Enabled = FalseMe.tobay.Enabled = FalseEnd SubSub bersih()nofak = ""nama = ""namabrg = ""harga = ""DBCombo1 = ""harga = ""jml = ""total = ""diskon = ""tobay = ""

End SubPrivate Sub DBCombo1_Change()With barang.recordset.Index = "kobar".Seek "=", DBCombo1.TextIf Not .NoMatch Then namabrg = !nama harga = !harga End IfEnd withEnd SubPrivate Sub Form_Activate()tidakbersihtambah.SetFocusEnd SubPrivate Sub lihat_Click()Form3.ShowEnd Sub

Private Sub jml_KeyPress(KeyAscii As Integer)If KeyAscii = 13 Thentotal = 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 Iftobay = Val(total) - Val(diskon)End IfEnd Sub

Private Sub tambah_Click()Me.aktifnofak.SetFocusEnd SubPrivate Sub Timer1_Timer()tgl.Text = DateEnd SubPrivate Sub keluar_Click()a = MsgBox("Keluaaaaaaaaaaaaaaar ", vbQuestion + vbYesNo, "Infooo")If a = vbYes Then EndEnd Sub

5

Page 6: Database Pada Visual Basic

WYI Database Visual Basic

Private Sub simpan_Click()Data2 . Recordset.AddNewData2 . Recordset ! tglfak = Me.tglData2 . Recordset ! nofak = Me.nofakData2 . Recordset ! namapel = Me.namaData2 . Recordset ! kdbrg = Me.DBCombo1Data2 . Recordset ! jumlah = Me.jmlData2. Recordset ! total = Me.totalData2 . Recordset ! diskon = Me.diskonData2 . Recordset ! tobay = Me.tobayData2 . Recordset.UpdatetidakEnd Sub

Buatlah 1 form baru, desain seperti gambar di bawah ini:

Private sub cmdkembali_click()Form2.showForm3.hideEnd Sub

Data

Microsoft Data Bound Grid Control 5.0 (SP 3)<Ctrl T>

6

Page 7: Database Pada Visual Basic

1. Buat Database dengan nama : Penjualan, sebelumnya tentukan dahulu tempat penyimpanan difolder masing-masing.2. Buat Tabel Baru dengan nama : Tbl_Barang

Name Type SizeKd_Brg Text 5Nm_Brg Text 20Harga CurrencyStok IntegerSatuan Text 10

3. Buat Index dengan nama : Kode dari Kd_Brg4. Isi Tabel sebanyak 5 Record

Kd_Brg Nm_Brg Harga Stok SatuanBKSD1 Buku Sinar

Dunia25000 75 Buah

PGH01 Penghapus 4500 20 BuahPGR01 Pengaris 5000 30 UnitPLG01 Pulpen Gel

Warna11000 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

DBGrid1(Objek Baru pada VB)

Page 8: Database Pada Visual Basic

Objek Properties NilaiCommand1 Name

EnabledCmdSimpanFalse

Command2 NameEnabled

CmdBatalFalse

Timer1 Interval 100Data1 DatabaseName

RecordSourceName

(Klik tombol…cari database)Tbl_BarangBARANG

DBGrid1 DataSource BARANG

Sub mati()CmdTambah.Enabled = FalseCmdSIMPAN.Enabled = TrueCmdBatal.Enabled = TrueCmdCARI.Enabled = FalseCmdHapus.Enabled = FalseCmdKELUAR.Enabled = FalseEnd Sub

Sub hidup()CmdTambah.Enabled = TrueCmdSIMPAN.Enabled = FalseCmdBatal.Enabled = FalseCmdCARI.Enabled = TrueCmdHapus.Enabled = TrueEnd Sub

Private Sub CmdBACK_Click()On Error Resume NextBarang.Recordset.MovePrevioustampilIf Barang.Recordset.BOF ThenMsgBox "Sudah Awal Record", 64, "Informasi"Barang.Recordset.MoveFirsttampilEnd IfEnd Sub

Private Sub CmdCARI_Click()cari = InputBox("Masukan Kode Yang Dicari", "Pencarian")temukan = "kd_brg= ' " & cari & " ' "Barang.Recordset.FindFirst temukanIf Barang.Recordset.NoMatch Then

MsgBox "Data Tidak Ditemukan", 48, "Informasi"ElsetampilEnd IfEnd Sub

30

Sub tampil()TxtKode = Barang.Recordset!kd_brgTxtNAMA = Barang.Recordset!nm_brgTxtHARGA = Barang.Recordset!hargaTxtJUMLAH = Barang.Recordset!stokCbosat = Barang.Recordset!satuanEnd Sub

Sub kosong()TxtKode = ""TxtNAMA = ""TxtHARGA = ""TxtJUMLAH = ""Cbosat = ""End Sub

Private Sub CmdBatal_Click()kosonghidupEnd Sub

Page 9: Database Pada Visual Basic

Private Sub CmdEND_Click()Barang.Recordset.MoveLasttampilEnd Sub

Private Sub CmdHAPUS_Click()If MsgBox("Yakin Akan Hapus Data ?", vbYesNo + vbQuestion, "Info") = vbYes ThenBarang.Recordset.DeleteBarang.Recordset.MoveLasttampilEnd IfEnd Sub

Private Sub CmdKELUAR_Click()pesan = MsgBox("Yakin Mau Keluar Program?", vbYesNo + vbQuestion, "Perhatian")If pesan = vbNo ThenCancel = 1ElseEndEnd IfEnd Sub

Private Sub CmdNEXT_Click()On Error Resume NextBarang.Recordset.MoveNexttampilIf Barang.Recordset.EOF ThenMsgBox "Sudah Akhir Record", 48, "Informasi"Barang.Recordset.MoveLasttampilEnd IfEnd Sub

Private Sub CmdSIMPAN_Click()Barang.Recordset.AddNewBarang.Recordset!kd_brg = TxtKodeBarang.Recordset!nm_brg = TxtNAMABarang.Recordset!harga = TxtHARGABarang.Recordset!stok = TxtJUMLAHBarang.Recordset!satuan = Cbosat.TextBarang.Recordset.UpdateCmdBatal_ClickEnd Sub

Private Sub CmdTOP_Click()Barang.Recordset.MoveFirsttampilEnd 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 = TimeEnd Sub

Private Sub CmdTAMBAH_Click()kosongmatiTxtKode.SetFocusEnd Sub

Page 10: Database Pada Visual Basic

B. Relasi DBCombo dengan properties

1. Buat Database dengan nama DataObat, simpan di folder masing-masing2. Buat Table : Obat

Field Name Type Sizekode_obat Text 5nama_obat Text 25jenis_obat Text 15harga_obat Double

Isi data sebanyak 3 record

3. Buat table :TransaksiField Name Type Sizekode_obat Text 5harga_obat Double

jumlah Integerbayar Double

discount Doubletotal Double

4. Desain Form seperti tampilan dibawah ini !

Private Sub aktif()dbkode.Enabled = Truetxtjumlah.Enabled = Truetxtbayar.Enabled = True

Kode_obat Nama_obat Jenis_obat Harga_obatOSF01 Obat Sakit Flu Tablet 1500OSK02 Obat Sakit Kepala Kapsul 1750OMA03 Obat Masuk

AnginCair 2000

Objek Properties NilaiDBCombo DataSource

NameRowSourceListField

Data_obatDBKodeData_obatKode_obat

DBComboComponnent: Microsoft Data Bound

List Controls 6.0.

Page 11: Database Pada Visual Basic

txtdiscount.Enabled = Truetxttotal.Enabled = Truecmdinput.Enabled = Falsecmdsave.Enabled = TrueEnd SubPrivate Sub Form_Activate()nonaktifEnd SubPrivate Sub dbkode_Change()Data1.Recordset.FindFirst "kode_obat=' " & dbkode.Text & " ' "txtnama = Data1.Recordset!nama_obattxtjenis = Data1.Recordset!jenis_obattxtharga = Data1.Recordset!harga_obattxtjumlah.SetFocusEnd SubPrivate Sub cmdinput_Click()aktifdbkode = "Pilih Kode"txtnama = ""txtjenis = ""txtharga = ""txtjumlah = ""txtbayar = ""txtdiscount = ""txttotal = ""dbkode.SetFocusEnd SubPrivate Sub txtjumlah_Change()txtbayar = Val(txtjumlah) * Val(txtharga)If Val(txtbayar) >= 15000 Thentxtdiscount = 0.1 * Val(txtbayar)Elsetxtdiscount = 0End IfEnd SubPrivate Sub nonaktif()dbkode.Enabled = Falsetxtnama.Enabled = Falsetxtjenis.Enabled = Falsetxtharga.Enabled = Falsetxtjumlah.Enabled = Falsetxtbayar.Enabled = Falsetxtdiscount.Enabled = Falsetxttotal.Enabled = Falsecmdinput.Enabled = Truecmdsave.Enabled = FalseEndSub

Private Sub cmdsave_Click()Data2.Recordset.AddNewData2.Recordset!kode_obat = dbkodeData2.Recordset!harga_obat = txthargaData2.Recordset!jumlah = txtjumlahData2.Recordset!bayar = txtbayarData2.Recordset!discount = txtdiscountData2.Recordset!total = txttotalData2.Recordset.UpdateData2.Refreshcmdinput.Enabled = Truecmdsave.Enabled = FalseEnd SubPrivate Sub cmdtotal_Click()txttotal = Val(txtbayar) - Val(txtdiscount)End Sub

Page 12: Database Pada Visual Basic

Latihan Database1. Buat Database Baru dengan nama : Elektronik2. Buat Table Baru

Page 13: Database Pada Visual Basic

Table : BarangName Type SizeKobar Text 5Nabar Text 25Harga Currency 8

Add Index Name:KodeAvailable Field : Kobar

Isi Record Berikut :Kobar Nabar Harga

LMS01 Lemari Es 2500000MSC02 Mesin Cuci 2000000RTP03 Radio Tape 850000

Table : PenjualanName Type Size

No_faktur Text 5Tgl Date/Time 8Kobar Text 5Jml Single 4Total Currency 8

Add Index =Name: nofakAvailable Field : No_faktur

DTPicker Ctrl T Microsoft Windows Common

Control-2 6.0 (SP 4)

DBCombo1 : Ctrl T Microsoft dataBound list Control 6.0Koneksi : Row Source :

Data1

Name: Data1DatabaseName: C:\Lab Pagi\1305…\ElektronikRecordSource : PenjualanRecordSourceType: 0-Table

Name: Data2DatabaseName: C:\Lab Pagi\1305…\ElektronikRecordSource : BarangRecordSourceType: 0-Table

DBGrid: * Ctrl T*Microsoft Data Bound grid Control 5.0 (SP 3)Koneksi , Data Source: Data1Klik Kanan Pada Dbgrid, Pilih Retrieve Fields

Page 14: Database Pada Visual Basic

sub bersih()Me. nofak = ""Me. nama = ""Me. nabar = ""Me. harga = ""Me. jml = ""Me. total = ""Me. DBCombo1 = ""Option1. Value = FalseOption2. Value = FalseEnd SubSub mati()Me. nofak. Enabled = FalseMe. nama. Enabled = FalseMe. nabar. Enabled = FalseMe. harga. Enabled = FalseMe. jml. Enabled = FalseMe. total. Enabled = FalseMe. DBCombo1. Enabled = FalseEnd SubSub hidup()Me. nofak. Enabled = TrueMe. nabar. Enabled = TrueMe. harga. Enabled = TrueMe. jml. Enabled = TrueMe. total. Enabled = TrueMe. DBCombo1. Enabled = TrueEnd SubPrivate Sub cmdadd_Click()hidupbersihnofak. SetFocusEnd SubPrivate Sub cmdbatal_Click()bersihmaticmdadd. SetFocusEnd SubPrivate Sub cmdkeluar_Click()Unload MeEnd SubPrivate Sub cmdsave_Click()If nofak = "" Then

MsgBox "isi terlebih dahulu nofak nya!", 64, "kasi tau" nofak. SetFocusEnd IfWith Data1. Recordset . Index = "nofak" . Seek "=", nofakIf . 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 . UpdateElse MsgBox "data sudah ada", 64, "info"bersihEnd IfEnd WithMe. DBGrid1. RefreshmatiEnd SubPrivate Sub DBCombo1_Change()With Data2 . Recordset . Index = "kode" . Seek "=", DBCombo1If Not . NoMatch Then nabar = !nabar harga = !hargaEnd IfEnd WithEnd SubPrivate Sub DBCombo1_Click(Area As Integer)Me . jml . SetFocusEnd Sub

Private Sub Form_Activate()matibersihMe. DBGrid1. RefreshEnd SubPrivate Sub jml_Change()total = Val(jml) * Val(harga)End SubPrivate Sub Option1_Click()

nama. Enabled = Truenama. SetFocusEnd SubPrivate Sub Option2_Click()nama. Enabled = FalseEnd Sub

Page 15: Database Pada Visual Basic

Created BY WYI

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 SQL1. Select….From

Digunakan Untuk memilih field dan tabel data dengan SQLBU : 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…WhereDigunakan Untuk Menyaring data berdasarkan Kriteria tertentuBU : Select <Daftar Field> From <Nama Tabel> Where <Syarat>

3. Select…From…OrderByDigunakan 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 SizeNim Text 5Nama Text 25Jurusan Text 25Kelas Text 5IPK Single

4. Isi Record Sebanyak 5 :

Nim Nama Jurusan Kelas IPK12011 Vina Ade Manajemen Informatika MI4D 2.8511025 Lyra Chandra Komputerisasi Akutansi KA4C 3.1513020 Abdul Fatah Teknik Komputer TK4E 3.2312055 Hendra Adi Manajemen Informatika MI4R 2.7213021 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 ThenEndElsePesan = MsgBox(“Ga Jadi Keluar Ah!”, vbInformation + vbOkOnly, ”Informasi”)End IfEnd Sub

32

Private Sub CmdTampil_Click()Data1.RecordSource = Text1.TextData1.RefreshEnd Sub

Page 16: Database Pada Visual Basic

Created BY WYI

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_Mhs2. Select * from Tbl_Mhs3. Select * from Tbl_Mhs where jurusan = ‘Teknik Komputer’4. Select * from Tbl_Mhs where ipk > 3.005. Select * from Tbl_Mhs order by nama6. Select * from Tbl_Mhs order by ipk

33

Page 17: Database Pada Visual Basic

Created BY WYI

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 BukuBuat normalisasi:

1. Unnormalized Form

Page 18: Database Pada Visual Basic

Created BY WYI

2. First Normalized Form

3. Second Normalized Form(2NF)

4. Third

Normalized Form (3NF)

Page 19: Database Pada Visual Basic

Created BY WYI

Page 20: Database Pada Visual Basic

Created BY WYI

Buat Database:penjualan_buku dengan table:Simpan dengan nama : buku

Field Type Size KeteranganKodebuku Text 5 Primary keyJenis Text 25Pengarang Text 25Penerbit Text 25Harga currency 8

Isi data 3 record

Simpan dengan nama : customerField Type Size KeteranganKdcus Text 5 Primary keyNmcus Text 25Alamat Text 50notelp Text 12

Isi 3 recordSimpan dengan nama : detail

Field Type Size KeteranganNotrans Text 8Kodebuku text 5Jenis Text 25Harga Currency 8Jumlah Single 4tot currency 8

Simpan dengan nama sementaraField Type Size KeteranganKodebuku text 5Jenis Text 25pengarang text 25harga Currency 8jumlah single 4Tot Currency 8

Simpan dengan nama : transaksiField Type Size Keterangannotrans Text 8 Primary keytgltrans text 12kdcus text 5total currency 8

Page 21: Database Pada Visual Basic

Created BY WYI

Form Buku

Microsoft tabbed dialog control 6.0 (sp3)

kobuk jebuk pengarang

penerbitharga

penerbit

harga

Data1:DatabaseName : path tempat penyimpanan databaseRecordSource : bukuRecordSourceType:1-Table

Page 22: Database Pada Visual Basic

Created BY WYI

Syntax:Sub bersih()Me.kobuk = ""Me.jebuk = ""Me.penerbit = ""Me.pengarang = ""Me.harga = ""End SubSub isi()kobuk.Enabled = Truejebuk.Enabled = Truepenerbit.Enabled = Truepengarang.Enabled = Trueharga.Enabled = TrueEnd SubSub tidak()kobuk.Enabled = Falsejebuk.Enabled = Falsepenerbit.Enabled = False

pengarang.Enabled = Falseharga.Enabled = FalseEnd SubSub tampil()With Data1.Recordsetkobuk = !kodebukujebuk = !jenispengarang = !pengarangpenerbit = !penerbtharga = !hargaEnd WithEnd SubPrivate Sub add_Click()isibersihkobuk.SetFocusEnd Sub

Private Sub cari_Click()On Error Resume NextKeyAscii = Asc(UCase(Chr(KeyAscii)))kobuk = InputBox("Isi Data Buku!!!", "Find@!", " Isi 5 digit")With Data1.Recordset.Index = "kodebuk".Seek "=", kobukIf Not .NoMatch ThentampiltidakElseMsgBox " Kode Buku " & kobuk & "tidak ada", 48, "info"bersih.MoveFirstEnd IfEnd WithEnd SubPrivate Sub dele_Click()del = MsgBox(" mau di hapus???", vbYesNo, "Pemberitahuan")If del = vbYes ThenData1.Recordset.DeleteData1.Recordset.MoveNext If Data1.Recordset.EOF Then Data1.Recordset.MoveLast End IfEnd IfbersihEnd Sub

Page 23: Database Pada Visual Basic

Created BY WYI

Private Sub edit_Click()tampilisikobuk.Enabled = Falsejebuk.SetFocusEnd Sub

Private Sub Form_Activate()tidaktgl = Dateadd.SetFocuskobuk.MaxLength = 5End Sub

Private Sub harga_KeyPress(KeyAscii As Integer)If Not (KeyAscii >= Asc("0") And KeyAscii <= Asc("9") Or KeyAscii = vbKeyBack) Then KeyAscii = 0End SubPrivate Sub jebuk_KeyPress(KeyAscii As Integer) KeyAscii = Asc(UCase(Chr(KeyAscii)))If KeyAscii = 13 Thenpengarang.SetFocusEnd IfEnd SubPrivate Sub keluar_Click()Unload MeEnd Sub

Private Sub kobuk_KeyPress(KeyAscii As Integer) KeyAscii = Asc(UCase(Chr(KeyAscii)))If KeyAscii = 13 Thenjebuk.SetFocusEnd IfEnd Sub

Private Sub penerbit_KeyPress(KeyAscii As Integer)KeyAscii = Asc(UCase(Chr(KeyAscii)))If KeyAscii = 13 Thenharga.SetFocusEnd IfEnd SubPrivate Sub pengarang_KeyPress(KeyAscii As Integer) KeyAscii = Asc(UCase(Chr(KeyAscii)))If KeyAscii = 13 Thenpenerbit.SetFocusEnd IfEnd SubPrivate Sub save_Click()If kobuk = "" Or jebuk = "" Or pengarang = "" Or penerbit = "" Or harga = "" ThenMsgBox " lengkapi data terlebih dahulu", 48, "info"Exit SubEnd IfWith Data1.Recordset.Index = "kodebuk".Seek "=", kobuk.TextIf .NoMatch Then.AddNew!kodebuku = kobuk!jenis = jebuk!pengarang = pengarang!penerbt = penerbit!harga = harga.UpdateElse

Page 24: Database Pada Visual Basic

Created BY WYI

.edit!jenis = jebuk!pengarang = pengarang!penerbt = penerbit!harga = harga.UpdateEnd IfEnd WithtidakData1.RefreshEnd Sub

Tabel Penjualan Buku

Data buku : name: dtbukuData pelanggan: name:dtpelangganData transaski: name:dttransaksiData detail : name: dtdetailData sementara: name :dtsementara

Page 25: Database Pada Visual Basic

Created BY WYI

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 = 0Option2 = 0

End SubSub auto()Dim urutan As String * 8Dim HITUNG As ByteWith Me.dttransaksi.RecordsetIf .RecordCount = 0 Thenurutan = "00001"Else.MoveLastHITUNG = Val(!notrans) + 1urutan = "000" & Right("00" & HITUNG, 2)End IfMe.no = urutanEnd WithEnd Sub

Sub tidak()Me.no.Enabled = FalseMe.nm.Enabled = FalseMe.kobuk.Enabled = FalseMe.judul.Enabled = FalseMe.pengarang.Enabled = FalseMe.jb.Enabled = FalseMe.tot.Enabled = FalseMe.total.Enabled = FalseMe.ub.Enabled = FalseMe.uk.Enabled = FalseMe.hrg.Enabled = FalseEnd SubSub isi()Me.kobuk.Enabled = TrueMe.ub.Enabled = Truejb.Enabled = TrueEnd SubSub 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.UpdateEnd WithEnd Sub

Page 26: Database Pada Visual Basic

Created BY WYI

Sub simpan_semua()With Me.dttransaksi.Recordset.AddNew!notrans = Me.no!tgltrans = Me.tgl!kdcus = Me.DBCombo1!total = total.Update

End WithMe.tidakEnd SubPrivate Sub add_Click()Me.isibersihCall autoEnd Sub

Private Sub batal_Click()Me.bersihtidakIf Not Me.dtsementara.Recordset.RecordCount = 0 Thendtsementara.Recordset.MoveFirstDo While Not dtsementara.Recordset.EOFdtsementara.Recordset.Deletedtsementara.Recordset.MoveNextLoopEnd Ifdtsementara.Recordset.MoveFirstDBGrid1.SetFocusDBGrid1.Col = 1End SubPrivate Sub DBCombo1_Change()With dtpel.Recordset.Index = "kopel".Seek "=", DBCombo1If Not .NoMatch Thennm = !nmcusEnd IfEnd With'kobuk.SetFocusEnd SubSub simpan_sementara()a = MsgBox(" mau Input lagi......??", 32 + 1, "Konfirmasi")If a = 1 ThenWith 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 totalkanElseWith Me.dtsementara.Recordset .AddNew !kodebuku = kobuk !jenis = judul !pengarang = pengarang !harga = hrg !jumlah = jb !tot = tot .Update End With

Page 27: Database Pada Visual Basic

Created BY WYI

Call totalkan ub.SetFocus

End IfEnd Sub

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 Iftotal.Text = ttlEnd SubPrivate Sub Form_Activate()tidakbersihadd.SetFocusEnd SubPrivate Sub jb_KeyPress(KeyAscii As Integer)If KeyAscii = 13 ThenMe.tot = Val(Me.jb) * Val(Me.hrg)Me.ok.SetFocusEnd IfEnd Sub

Private Sub keluar_Click()Unload MeEnd SubPrivate 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 WithEnd IfEnd Sub

Page 28: Database Pada Visual Basic

Created BY WYI

Private Sub ok_Click()simpan_sementaraEnd SubPrivate Sub Option1_Click()DBCombo1.Enabled = FalseEnd SubPrivate Sub Option2_Click()DBCombo1.Enabled = TrueEnd SubPrivate Sub save_Click()simpan_semuadtsementara.Recordset.MoveFirstDo While dtsementara.Recordset.EOF = Falsesimdetail'Hapus Data Sementaradtsementara.Recordset.Deletedtsementara.Recordset.MoveNextLoopMe.bersihMe.tidakMsgBox " Terima Kasih Atas Pembeliannya"End Sub

Page 29: Database Pada Visual Basic

Created BY WYI

Page 30: Database Pada Visual Basic

Private Sub Timer1_Timer()tgl = Datejam = TimeEnd SubPrivate 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 IfEnd IfEnd Sub