35
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

Microsoft Word - Database Pada Visual Basic

Embed Size (px)

DESCRIPTION

Microsoft Word - Database Pada Visual Basic

Citation preview

Page 1: Microsoft Word - Database Pada Visual Basic

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

Page 2: Microsoft Word - Database Pada Visual Basic

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

Page 3: Microsoft Word - Database Pada Visual Basic

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

Page 4: Microsoft Word - Database Pada Visual Basic

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

Page 5: Microsoft Word - Database Pada Visual Basic

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

Page 6: Microsoft Word - Database Pada Visual Basic

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>

Page 7: Microsoft Word - Database Pada Visual Basic

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)

Page 8: Microsoft Word - Database Pada Visual Basic

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

Page 9: Microsoft Word - Database Pada Visual Basic

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

Page 10: Microsoft Word - Database Pada Visual Basic

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.

Page 11: Microsoft Word - Database Pada Visual Basic

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

Page 12: Microsoft Word - Database Pada Visual Basic

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

Page 13: Microsoft Word - Database Pada Visual Basic

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

Page 14: Microsoft Word - Database Pada Visual Basic

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

Page 15: Microsoft Word - Database Pada Visual Basic

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

Page 16: Microsoft Word - Database Pada Visual Basic

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

Page 17: Microsoft Word - Database Pada Visual Basic

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

Page 18: Microsoft Word - Database Pada Visual Basic

Created BY WYI

18

Page 19: Microsoft Word - Database Pada Visual Basic

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

Page 20: Microsoft Word - Database Pada Visual Basic

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

Page 21: Microsoft Word - Database Pada Visual Basic

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

Page 22: Microsoft Word - Database Pada Visual Basic

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

Page 23: Microsoft Word - Database Pada Visual Basic

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

Page 24: Microsoft Word - Database Pada Visual Basic

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

Page 25: Microsoft Word - Database Pada Visual Basic

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

Page 26: Microsoft Word - Database Pada Visual Basic

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

Page 27: Microsoft Word - Database Pada Visual Basic

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

Page 28: Microsoft Word - Database Pada Visual Basic

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

Page 29: Microsoft Word - Database Pada Visual Basic

Created BY WYI

29

Tampilkan data Report dengan cara add report seperti gambar dibawah :

Desain dta report seperti dibawah ini:

Page 30: Microsoft Word - Database Pada Visual Basic

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

Page 31: Microsoft Word - Database Pada Visual Basic

Created BY WYI

31

Klik data report 1 , setting properties dengan data source : data environtment 1, data member :buku

Hasil Saat Dijalankan:

Page 32: Microsoft Word - Database Pada Visual Basic

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

Page 33: Microsoft Word - Database Pada Visual Basic

Created BY WYI

33

Simpan dengan nama menu utama

Klik master, pilih buku

Ketikkan coding seperti di bawah ini :

Page 34: Microsoft Word - Database Pada Visual Basic

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

Page 35: Microsoft Word - Database Pada Visual Basic

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