4tmaj4's blog · web viewvisual basic 6.0. disusun oleh: freddy heriyanto. teknik informatika....

61
Pemrograman Visual Basic 6.0 Disusun oleh: Freddy Heriyanto

Upload: others

Post on 25-Oct-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 4tmaj4's Blog · Web viewVisual Basic 6.0. Disusun oleh: Freddy Heriyanto. Teknik Informatika. Universitas Islam Azzahra. Jakarta. BAB 1. DASAR-DASAR PEMROGRAMAN. Latihan 1-1: Proses

Pemrograman

Visual Basic 6.0

Disusun oleh:Freddy Heriyanto

Teknik InformatikaUniversitas Islam Azzahra

Jakarta

Page 2: 4tmaj4's Blog · Web viewVisual Basic 6.0. Disusun oleh: Freddy Heriyanto. Teknik Informatika. Universitas Islam Azzahra. Jakarta. BAB 1. DASAR-DASAR PEMROGRAMAN. Latihan 1-1: Proses

Pemrograman VB 6.0Freddy Heriyanto

BAB 1DASAR-DASAR PEMROGRAMAN

Latihan 1-1: Proses Berurutan

Algoritma

Output('LAMA MENGINAP')Input(LAMA)Output('HARGA KAMAR/HARI')Input(TARIF)JUMLAHLAMA*TARIFOutput(JUMLAH)

Listing Program

Option Explicit

Private Sub CMDMULAI_Click() LAMA.Text = "" TARIF.Text = "" JUMLAH.Text = ""End Sub

Private Sub CMDSELESAI_Click() EndEnd Sub

Private Sub LAMA_Change() JUMLAH.Text = Val(LAMA.Text) * Val(TARIF.Text)End Sub

Private Sub TARIF_Change() JUMLAH.Text = Val(LAMA.Text) * Val(TARIF.Text)End Sub

Latihan 1-2: Pencabangan IF Satu Pernyataan

1

Page 3: 4tmaj4's Blog · Web viewVisual Basic 6.0. Disusun oleh: Freddy Heriyanto. Teknik Informatika. Universitas Islam Azzahra. Jakarta. BAB 1. DASAR-DASAR PEMROGRAMAN. Latihan 1-1: Proses

Pemrograman VB 6.0Freddy Heriyanto

Algoritma

Output('LAMA MENGINAP')Input(LAMA)Output('HARGA KAMAR/HARI')Input(TARIF)JUMLAHLAMA*TARIFIf JUMLAH>200000 Then DISJUMLAH*0.10 Else DIS0EndifBAYARJUMLAH-DISOutput(JUMLAH)Output(DIS)Output(BAYAR)

Listing Program

Option Explicit

Private Sub CMDMULAI_Click() LAMA.Text = "" TARIF.Text = "" JUMLAH.Text = "" LAMA.SetFocusEnd Sub

Private Sub CMDSELESAI_Click() EndEnd Sub

Private Sub LAMA_Change() JUMLAH.Text = Val(LAMA.Text) * Val(TARIF.Text) If JUMLAH > 200000 Then DIS.Text = Val(JUMLAH.Text) * 0.1 Else DIS.Text = 0 End If BAYAR.Text = Val(JUMLAH.Text) - Val(DIS.Text)End Sub

Private Sub TARIF_Change() JUMLAH.Text = Val(LAMA.Text) * Val(TARIF.Text) If JUMLAH > 200000 Then DIS.Text = Val(JUMLAH.Text) * 0.1 Else DIS.Text = 0 End If BAYAR.Text = Val(JUMLAH.Text) - Val(DIS.Text)End Sub

2

Page 4: 4tmaj4's Blog · Web viewVisual Basic 6.0. Disusun oleh: Freddy Heriyanto. Teknik Informatika. Universitas Islam Azzahra. Jakarta. BAB 1. DASAR-DASAR PEMROGRAMAN. Latihan 1-1: Proses

Pemrograman VB 6.0Freddy Heriyanto

Latihan 1-3: Pencabangan IF Beberapa Pernyataan

Algoritma

Output('LAMA MENGINAP')Input(LAMA)Output('HARGA KAMAR/HARI')Input(TARIF)JUMLAHLAMA*TARIFIf JUMLAH>200000 Then DISJUMLAH*0.10 KDIS"DAPAT DISKON"Else DIS0 KDIS"TAK DISKON"EndifBAYARJUMLAH-DISOutput(JUMLAH)Output(KDIS)Output(DIS)Output(BAYAR)

Listing Program

Option Explicit

Private Sub CMDMULAI_Click() LAMA.Text = "" TARIF.Text = "" JUMLAH.Text = "" DIS.Text = "" KDIS.Text = "" BAYAR.Text = "" LAMA.SetFocusEnd Sub

Private Sub CMDSELESAI_Click() EndEnd Sub

Private Sub LAMA_Change() JUMLAH.Text = Val(LAMA.Text) * Val(TARIF.Text) If JUMLAH > 200000 Then DIS.Text = Val(JUMLAH.Text) * 0.1 KDIS.Text = "DAPAT DISKON" Else DIS.Text = 0 KDIS.Text = "TAK DISKON" End If BAYAR.Text = Val(JUMLAH.Text) - Val(DIS.Text)End Sub

3

Page 5: 4tmaj4's Blog · Web viewVisual Basic 6.0. Disusun oleh: Freddy Heriyanto. Teknik Informatika. Universitas Islam Azzahra. Jakarta. BAB 1. DASAR-DASAR PEMROGRAMAN. Latihan 1-1: Proses

Pemrograman VB 6.0Freddy Heriyanto

Private Sub TARIF_Change() JUMLAH.Text = Val(LAMA.Text) * Val(TARIF.Text) If JUMLAH > 200000 Then DIS.Text = Val(JUMLAH.Text) * 0.1 KDIS.Text = "DAPAT DISKON" Else DIS.Text = 0 KDIS.Text = "TAK DISKON" End If BAYAR.Text = Val(JUMLAH.Text) - Val(DIS.Text)End Sub

Latihan 1-4: Pencabangan dengan Beberapa IF

Algoritma

Output('LAMA MENGINAP')Input(LAMA)Output('HARGA KAMAR/HARI')Input(TARIF)JUMLAHLAMA*TARIFIf (DIS=0.3) Then DISJUMLAH*0.3 KDIS"DAPAT DISKON”Else If (DIS=0.2) Then DISJUMLAH*0.2 KDIS"DAPAT DISKON" Else If (DIS=0.1) Then DISJUMLAH*0.1 KDIS"DAPAT DISKON" Else DIS0 KDIS"TAK DISKON" Endif EndifEndif

If (DIS30True) or (DIS20True) or (DIS10True) Then

4

Page 6: 4tmaj4's Blog · Web viewVisual Basic 6.0. Disusun oleh: Freddy Heriyanto. Teknik Informatika. Universitas Islam Azzahra. Jakarta. BAB 1. DASAR-DASAR PEMROGRAMAN. Latihan 1-1: Proses

Pemrograman VB 6.0Freddy Heriyanto

KDIS="DAPAT DISKON"Else KDIS"TAK DISKON"EndifBAYARJUMLAH-DISOutput(JUMLAH)Output(KDIS)Output(DIS)Output(BAYAR)

Listing Program

Option Explicit

Private Sub CMDMULAI_Click() LAMA.Text = "" TARIF.Text = "" JUMLAH.Text = "" DIS.Text = "" KDIS.Text = "" BAYAR.Text = "" LAMA.SetFocusEnd Sub

Private Sub CMDSELESAI_Click() EndEnd Sub

Private Sub DIS30_Click() DIS.Text = Val(JUMLAH.Text) * 0.3 BAYAR.Text = Val(JUMLAH.Text) - Val(DIS.Text)End Sub

Private Sub DIS20_Click() DIS.Text = Val(JUMLAH.Text) * 0.2 BAYAR.Text = Val(JUMLAH.Text) - Val(DIS.Text)End Sub

Private Sub DIS10_Click() DIS.Text = Val(JUMLAH.Text) * 0.1 BAYAR.Text = Val(JUMLAH.Text) - Val(DIS.Text)End Sub

Private Sub DIS0_Click() DIS.Text = Val(JUMLAH.Text) * 0 BAYAR.Text = Val(JUMLAH.Text) - Val(DIS.Text)End Sub

Private Sub LAMA_Change() JUMLAH.Text = Val(LAMA.Text) * Val(TARIF.Text) If DIS30.Value Then DIS.Text = Val(JUMLAH.Text) * Val(DIS.Text) Else If DIS20.Value Then DIS.Text = Val(JUMLAH.Text) * Val(DIS.Text) Else If DIS10.Value Then DIS.Text = Val(JUMLAH.Text) * Val(DIS.Text) Else DIS.Text = 0 End If End If End If

If (DIS30.Value) Or (DIS20.Value) Or (DIS10.Value) Then

5

Page 7: 4tmaj4's Blog · Web viewVisual Basic 6.0. Disusun oleh: Freddy Heriyanto. Teknik Informatika. Universitas Islam Azzahra. Jakarta. BAB 1. DASAR-DASAR PEMROGRAMAN. Latihan 1-1: Proses

Pemrograman VB 6.0Freddy Heriyanto

KDIS.Text = "DAPAT DISKON" Else KDIS.Text = "TAK DISKON" End If BAYAR.Text = Val(JUMLAH.Text) - Val(DIS.Text)End Sub

Private Sub TARIF_Change() JUMLAH.Text = Val(LAMA.Text) * Val(TARIF.Text) If DIS30.Value Then DIS.Text = Val(JUMLAH.Text) * Val(DIS.Text) Else If DIS20.Value Then DIS.Text = Val(JUMLAH.Text) * Val(DIS.Text) Else If DIS10.Value Then DIS.Text = Val(JUMLAH.Text) * Val(DIS.Text) Else DIS.Text = 0 End If End If End If If (DIS30.Value) Or (DIS20.Value) Or (DIS10.Value) Then KDIS.Text = "DAPAT DISKON" Else KDIS.Text = "TAK DISKON" End If BAYAR.Text = Val(JUMLAH.Text) - Val(DIS.Text)End Sub

6

Page 8: 4tmaj4's Blog · Web viewVisual Basic 6.0. Disusun oleh: Freddy Heriyanto. Teknik Informatika. Universitas Islam Azzahra. Jakarta. BAB 1. DASAR-DASAR PEMROGRAMAN. Latihan 1-1: Proses

Pemrograman VB 6.0Freddy Heriyanto

BAB 2MANAJEMEN DATABASEDENGAN STRATEGI DAO

Sebelum mengerjakan latihan-latihan pada Bab 2 ini, terlebih dahulu buatlah sebuah file data MS-Acess bernama Pembelian.mdb yang berisi tabel-tabel sebagai berikut:

Table : BARANGIndex : KDBRG (Primary Key)FIELD NAME TYPE WIDTHKDBRG Text 6NMBRG Text 30SATUAN Text 6UKURAN Text 15HARGA Numb

erSingle

Table : SUPPLIERIndex : KDSPL (Primary Key)FIELD NAME TYPE WIDTHKDSPL Text 5NMSPL Text 30ALAMAT Text 30KOTA Text 20HUBUNGAN Text 30PHONE Text 15

Table : BELIIndex : NOFAK (Relative Key)FIELD NAME TYPE WIDTHNOFAK Text 10TGFAK Date/

Time-

KDBRG Text 6KDSPL Text 5BANYAK Number SingleHARGA Number Single

1. Menginput Data BarangAlgoritma:

Buka tabel BarangInput KodeBarangJika Panjang KodeBarang tak lebih kecil dari 6 Cari KodeBarang di tabel Barang Jika ketemu Tampilkan field-fieldnya Keluar Jika tak ketemu Masukkan data-data barangJika panjang KodeBarang lebih kecil dari 6 Keluar

7

Page 9: 4tmaj4's Blog · Web viewVisual Basic 6.0. Disusun oleh: Freddy Heriyanto. Teknik Informatika. Universitas Islam Azzahra. Jakarta. BAB 1. DASAR-DASAR PEMROGRAMAN. Latihan 1-1: Proses

Pemrograman VB 6.0Freddy Heriyanto

Listing Program:

Dim dbSaya As DatabaseDim rsBarang As Recordset

Private Sub Form_Load() Me.Caption = "Input Data Barang" Set dbSaya = OpenDatabase("c:\LatDAO\Pembelian.mdb") Set rsBarang = dbSaya.OpenRecordset("Barang") rsBarang.Index = "KDBRG" cmbSatuan.AddItem "PCS" cmbSatuan.AddItem "PAK" cmbSatuan.AddItem "BATANG" txtKdBrg.MaxLength = 6 Kosongkan Pasif ReverseEnd Sub

Private Sub Kosongkan() txtNmBrg.Text = "" cmbSatuan.Text = "" txtHarga.Text = ""End Sub

Private Sub Isikan() txtNmBrg.Text = rsBarang!NMBRG cmbSatuan.Text = rsBarang!SATUAN txtHarga.Text = rsBarang!HARGAEnd Sub

Private Sub Pasif() txtNmBrg.Enabled = False cmbSatuan.Enabled = False txtHarga.Enabled = False SimpanBtn.Enabled = FalseEnd Sub

Private Sub Aktif() txtNmBrg.Enabled = True cmbSatuan.Enabled = True txtHarga.Enabled = True SimpanBtn.Enabled = TrueEnd Sub

Private Sub Reverse() txtNmBrg.BackColor = &H8000000F cmbSatuan.BackColor = &H8000000F txtHarga.BackColor = &H8000000F

8

Page 10: 4tmaj4's Blog · Web viewVisual Basic 6.0. Disusun oleh: Freddy Heriyanto. Teknik Informatika. Universitas Islam Azzahra. Jakarta. BAB 1. DASAR-DASAR PEMROGRAMAN. Latihan 1-1: Proses

Pemrograman VB 6.0Freddy Heriyanto

End Sub

Private Sub Normal() txtNmBrg.BackColor = &H80000005 cmbSatuan.BackColor = &H80000005 txtHarga.BackColor = &H80000005End Sub

Private Sub txtKdBrg_Change() Dim Panjang As Byte Panjang = Len(txtKdBrg.Text) If Panjang < 6 Then Exit Sub rsBarang.Seek "=", txtKdBrg.Text If rsBarang.NoMatch Then Kosongkan Aktif Normal txtNmBrg.SetFocus Exit Sub End If Isikan Pasif Reverse txtKdBrg.SetFocus SendKeys ("{Home}+{End}")End Sub

Private Sub SimpanBtn_Click() rsBarang.AddNew rsBarang!KDBRG = txtKdBrg.Text rsBarang!NMBRG = txtNmBrg.Text rsBarang!SATUAN = cmbSatuan.Text rsBarang!HARGA = Val(txtHarga.Text) rsBarang.Update MsgBox "Data telah disimpan", vbInformation, "Sukses!" BatalBtn_ClickEnd Sub

Private Sub BatalBtn_Click() Kosongkan Pasif Reverse txtKdBrg.Text = "" txtKdBrg.SetFocusEnd Sub

Private Sub CloseBtn_Click() dbSaya.Close EndEnd Sub

Private Sub txtKdBrg_KeyPress(KeyAscii As Integer) KeyAscii = Asc(UCase(Chr(KeyAscii)))End Sub

Private Sub txtNmBrg_KeyPress(KeyAscii As Integer) KeyAscii = Asc(UCase(Chr(KeyAscii)))End Sub

Private Sub txtHarga_KeyPress(KeyAscii As Integer) If Not (KeyAscii >= Asc(0) And KeyAscii <= Asc("9") Or KeyAscii = vbKeyBack) Then KeyAscii = 0 End IfEnd Sub

Soal:

9

Page 11: 4tmaj4's Blog · Web viewVisual Basic 6.0. Disusun oleh: Freddy Heriyanto. Teknik Informatika. Universitas Islam Azzahra. Jakarta. BAB 1. DASAR-DASAR PEMROGRAMAN. Latihan 1-1: Proses

Pemrograman VB 6.0Freddy Heriyanto

Buatlah form dan code untuk menginput data Supplier !

2. Mengedit Data BarangAlgoritma:

Buka tabel BarangInput kodebarangJika panjang kodebarang tak lebih kecil 5 Cari kodebarang di tabel Barang Jika ditemukan Tampilkan field-fieldnya untuk diedit Keluar Jika tak ditemukan KeluarJika panjang kodebarang lebih kecil 5 KeluarTutup file tabel barang

Listing Program:

Dim dbSaya As DatabaseDim rsBarang As Recordset

Private Sub Form_Load() Me.Caption = "Mengedit Data Barang" Set dbSaya = OpenDatabase("c:\LatDAO\Pembelian.mdb") Set rsBarang = dbSaya.OpenRecordset("Barang") rsBarang.Index = "KDBRG" cmbSatuan.AddItem "PCS" cmbSatuan.AddItem "PAK" cmbSatuan.AddItem "BATANG" txtKdBrg.MaxLength = 6 Kosongkan Pasif ReverseEnd Sub

Private Sub Kosongkan() txtNmBrg.Text = "" cmbSatuan.Text = "" txtHarga.Text = ""End Sub

Private Sub Isikan() txtNmBrg.Text = rsBarang!NMBRG cmbSatuan.Text = rsBarang!SATUAN txtHarga.Text = rsBarang!HARGAEnd Sub

10

Page 12: 4tmaj4's Blog · Web viewVisual Basic 6.0. Disusun oleh: Freddy Heriyanto. Teknik Informatika. Universitas Islam Azzahra. Jakarta. BAB 1. DASAR-DASAR PEMROGRAMAN. Latihan 1-1: Proses

Pemrograman VB 6.0Freddy Heriyanto

Private Sub Pasif() txtNmBrg.Enabled = False cmbSatuan.Enabled = False txtHarga.Enabled = False UpdateBtn.Enabled = FalseEnd Sub

Private Sub Aktif() txtNmBrg.Enabled = True cmbSatuan.Enabled = True txtHarga.Enabled = True UpdateBtn.Enabled = TrueEnd Sub

Private Sub Reverse() txtNmBrg.BackColor = &H8000000F cmbSatuan.BackColor = &H8000000F txtHarga.BackColor = &H8000000FEnd Sub

Private Sub Normal() txtNmBrg.BackColor = &H80000005 cmbSatuan.BackColor = &H80000005 txtHarga.BackColor = &H80000005End Sub

Private Sub txtKdBrg_Change() Dim Panjang As Byte Panjang = Len(txtKdBrg.Text) If Panjang < 6 Then Exit Sub rsBarang.Seek "=", txtKdBrg.Text If rsBarang.NoMatch Then Kosongkan Reverse Pasif MsgBox "Kode : " + txtKdBrg.Text + " tidak ditemukan", vbInformation, "Pencarian" SendKeys ("{Home}+{End}") Exit Sub End If Isikan Aktif Normal txtNmBrg.SetFocusEnd Sub

Private Sub UpdateBtn_Click() rsBarang.Edit rsBarang!KDBRG = txtKdBrg.Text rsBarang!NMBRG = txtNmBrg.Text rsBarang!SATUAN = cmbSatuan.Text rsBarang!HARGA = Val(txtHarga.Text) rsBarang.Update MsgBox "Data telah diupdate", vbInformation, "Sukses!" BatalBtn_ClickEnd Sub

Private Sub BatalBtn_Click() Kosongkan Pasif Reverse txtKdBrg.Text = "" txtKdBrg.SetFocusEnd Sub

Private Sub CloseBtn_Click() dbSaya.Close

11

Page 13: 4tmaj4's Blog · Web viewVisual Basic 6.0. Disusun oleh: Freddy Heriyanto. Teknik Informatika. Universitas Islam Azzahra. Jakarta. BAB 1. DASAR-DASAR PEMROGRAMAN. Latihan 1-1: Proses

Pemrograman VB 6.0Freddy Heriyanto

EndEnd SubPrivate Sub txtKdBrg_KeyPress(KeyAscii As Integer) KeyAscii = Asc(UCase(Chr(KeyAscii)))End Sub

Private Sub txtNmBrg_KeyPress(KeyAscii As Integer) KeyAscii = Asc(UCase(Chr(KeyAscii)))End Sub

Private Sub txtHarga_KeyPress(KeyAscii As Integer) If Not (KeyAscii >= Asc(0) And KeyAscii <= Asc("9") Or KeyAscii = vbKeyBack) Then KeyAscii = 0 End IfEnd Sub

Soal:Buatlah form dan code untuk mengedit data Supplier !

3. Menghapus Data BarangAlgoritma:

Buka tabel BarangInput kodebarangJika panjang kodebarang tak lebih kecil 5 Cari kodebarang di tabel Barang Jika ditemukan Tampilkan field-fieldnya untuk dihapus Keluar Jika tak ditemukan KeluarJika panjang kodebarang lebih kecil 5 KeluarTutup file tabel barang

Listing Program:

Dim dbSaya As DatabaseDim rsBarang As Recordset

Private Sub Form_Load() Me.Caption = "Menghapus Data Barang" Set dbSaya = OpenDatabase("c:\LatDAO\Pembelian.mdb") Set rsBarang = dbSaya.OpenRecordset("Barang") rsBarang.Index = "KDBRG" cmbSatuan.AddItem "PCS"

12

Page 14: 4tmaj4's Blog · Web viewVisual Basic 6.0. Disusun oleh: Freddy Heriyanto. Teknik Informatika. Universitas Islam Azzahra. Jakarta. BAB 1. DASAR-DASAR PEMROGRAMAN. Latihan 1-1: Proses

Pemrograman VB 6.0Freddy Heriyanto

cmbSatuan.AddItem "PAK" cmbSatuan.AddItem "BATANG" txtKdBrg.MaxLength = 6 Kosongkan Pasif ReverseEnd SubPrivate Sub Kosongkan() txtNmBrg.Text = "" cmbSatuan.Text = "" txtHarga.Text = ""End Sub

Private Sub Isikan() txtNmBrg.Text = rsBarang!NMBRG cmbSatuan.Text = rsBarang!SATUAN txtHarga.Text = rsBarang!HARGAEnd Sub

Private Sub Pasif() txtNmBrg.Enabled = False cmbSatuan.Enabled = False txtHarga.Enabled = False HapusBtn.Enabled = FalseEnd Sub

Private Sub Aktif() txtNmBrg.Enabled = True cmbSatuan.Enabled = True txtHarga.Enabled = True HapusBtn.Enabled = TrueEnd Sub

Private Sub Reverse() txtNmBrg.BackColor = &H8000000F cmbSatuan.BackColor = &H8000000F txtHarga.BackColor = &H8000000FEnd Sub

Private Sub Normal() txtNmBrg.BackColor = &H80000005 cmbSatuan.BackColor = &H80000005 txtHarga.BackColor = &H80000005End Sub

Private Sub txtKdBrg_Change() Dim Panjang As Byte Panjang = Len(txtKdBrg.Text) If Panjang < 6 Then Exit Sub rsBarang.Seek "=", txtKdBrg.Text If rsBarang.NoMatch Then Kosongkan Reverse Pasif MsgBox "Kode : " + txtKdBrg.Text + " tidak ditemukan", vbInformation, "Pencarian" SendKeys ("{Home}+{End}") Exit Sub End If Isikan Pasif NormalEnd Sub

Private Sub HapusBtn_Click() rsBarang.Delete MsgBox "Data telah diHapus", vbInformation, "Sukses!" BatalBtn_ClickEnd Sub

13

Page 15: 4tmaj4's Blog · Web viewVisual Basic 6.0. Disusun oleh: Freddy Heriyanto. Teknik Informatika. Universitas Islam Azzahra. Jakarta. BAB 1. DASAR-DASAR PEMROGRAMAN. Latihan 1-1: Proses

Pemrograman VB 6.0Freddy Heriyanto

Private Sub BatalBtn_Click() Kosongkan Pasif Reverse txtKdBrg.Text = "" txtKdBrg.SetFocusEnd Sub

Private Sub CloseBtn_Click() dbSaya.Close EndEnd Sub

Private Sub txtKdBrg_KeyPress(KeyAscii As Integer) KeyAscii = Asc(UCase(Chr(KeyAscii)))End Sub

Private Sub txtNmBrg_KeyPress(KeyAscii As Integer) KeyAscii = Asc(UCase(Chr(KeyAscii)))End Sub

Private Sub txtHarga_KeyPress(KeyAscii As Integer) If Not (KeyAscii >= Asc(0) And KeyAscii <= Asc("9") Or KeyAscii = vbKeyBack) Then KeyAscii = 0 End IfEnd Sub

Soal:Buatlah form dan code untuk menghapus data Supplier !

4. Melihat Data Barang

14

Page 16: 4tmaj4's Blog · Web viewVisual Basic 6.0. Disusun oleh: Freddy Heriyanto. Teknik Informatika. Universitas Islam Azzahra. Jakarta. BAB 1. DASAR-DASAR PEMROGRAMAN. Latihan 1-1: Proses

Pemrograman VB 6.0Freddy Heriyanto

Listing Program:

Private Sub CariBtn_Click() Dim MCari As String Dim Panjang As Byte Panjang = Len(txtNmBrg.Text) Data1.Recordset.MoveFirst Do While Not Data1.Recordset.EOF MCari = UCase(Left(Data1.Recordset!NMBRG, Panjang)) If MCari = Trim(UCase(txtNmBrg.Text)) Then Exit Sub Else Data1.Recordset.MoveNext End If LoopEnd Sub

Private Sub CloseBtn_Click() EndEnd Sub

Private Sub txtNmBrg_KeyPress(KeyAscii As Integer) KeyAscii = Asc(UCase(Chr(KeyAscii))) If KeyAscii = 13 Then CariBtn_Click End IfEnd Sub

Soal:Buatlah form dan code untuk melihat data Supplier !

5. Mencetak Data Barang (Layar dan Printer)

Siapkan juga form baru dengan nama Layar sebagai tempat untuk menampilkan data di layar monitor.

15

Page 17: 4tmaj4's Blog · Web viewVisual Basic 6.0. Disusun oleh: Freddy Heriyanto. Teknik Informatika. Universitas Islam Azzahra. Jakarta. BAB 1. DASAR-DASAR PEMROGRAMAN. Latihan 1-1: Proses

Pemrograman VB 6.0Freddy Heriyanto

Listing Program:

Dim Switch, No As Integer

Private Sub LayarBtn_Click() No = 1 Switch = 1 Layar.Show CetakLayarEnd Sub

Private Sub PrinterBtn_Click() No = 1 Switch = 1 CetakPrinter Printer.EndDocEnd Sub

Private Sub CloseBtn_Click() EndEnd Sub

Private Sub CetakLayar() Data1.Recordset.MoveFirst Do While Not Data1.Recordset.EOF If Switch = 1 Then Layar.FontBold = True Layar.FontSize = 10 Layar.Print Layar.Print Tab(20); "DATA BARANG CV TI-UNIA" Layar.FontBold = False Layar.FontSize = 10 Layar.Print Tab(25); "Jl. Jatinegara Barat No.144" Layar.Print Tab(30); "Jakarta Timur" Layar.Print String$(73, "=") Layar.Print Tab(3); "NO"; Layar.Print Tab(9); "KODE BRG"; Layar.Print Tab(21); "NAMA BARANG"; Layar.Print Tab(50); "SATUAN"; Layar.Print Tab(65); "HARGA" Layar.FontBold = False Layar.Print String$(73, "=") Switch = 0 End If Layar.Print Tab(4); Format(No, "###") + "."; Layar.Print Tab(11); Data1.Recordset!KDBRG; Layar.Print Tab(21); Data1.Recordset!NMBRG; Layar.Print Tab(50); Data1.Recordset!SATUAN; Layar.Print Tab(66); RKanan(Data1.Recordset!HARGA, "###,###") Data1.Recordset.MoveNext No = No + 1 Loop Layar.Print String$(73, "=")

16

Page 18: 4tmaj4's Blog · Web viewVisual Basic 6.0. Disusun oleh: Freddy Heriyanto. Teknik Informatika. Universitas Islam Azzahra. Jakarta. BAB 1. DASAR-DASAR PEMROGRAMAN. Latihan 1-1: Proses

Pemrograman VB 6.0Freddy Heriyanto

End Sub

Private Sub CetakPrinter() Printer.CurrentX = 0 Printer.CurrentY = 0 Data1.Recordset.MoveFirst Do While Not Data1.Recordset.EOF If Switch = 1 Then Printer.FontBold = True Printer.FontSize = 10 Printer.Print Printer.Print Tab(20); "DATA BARANG CV TI-UNIA" Printer.FontBold = False Printer.FontSize = 10 Printer.Print Tab(25); "Jl. Jatinegara Barat No.144" Printer.Print Tab(30); "Jakarta Timur" Printer.Print String$(73, "=") Printer.Print Tab(3); "NO"; Printer.Print Tab(9); "KODE BRG"; Printer.Print Tab(21); "NAMA BARANG"; Printer.Print Tab(50); "SATUAN"; Printer.Print Tab(65); "HARGA" Printer.FontBold = False Printer.Print String$(73, "=") Switch = 0 End If Printer.Print Tab(4); Format(No, "###") + "."; Printer.Print Tab(11); Data1.Recordset!KDBRG; Printer.Print Tab(21); Data1.Recordset!NMBRG; Printer.Print Tab(50); Data1.Recordset!SATUAN; Printer.Print Tab(66); RKanan(Data1.Recordset!HARGA, "###,###") Data1.Recordset.MoveNext No = No + 1 Loop Printer.Print String$(73, "=")End Sub

Private Function RKanan(NData, CFormat) As String RKanan = Format(NData, CFormat) RKanan = Space(Len(CFormat) - Len(RKanan)) + RKananEnd Function

Soal:Buatlah form dan code untukmencetak data Supplier !

6. Menginput Data Beli Sebaiknya saudara telah memiliki beberapa data gambar berekstensi BMP

dengan nama file sesuai dengan isi Kode Barang. Dan gunakan 3 buah tabel yaitu: tabel Barang, Supplier dan Faktur.

17

Page 19: 4tmaj4's Blog · Web viewVisual Basic 6.0. Disusun oleh: Freddy Heriyanto. Teknik Informatika. Universitas Islam Azzahra. Jakarta. BAB 1. DASAR-DASAR PEMROGRAMAN. Latihan 1-1: Proses

Pemrograman VB 6.0Freddy Heriyanto

18

Page 20: 4tmaj4's Blog · Web viewVisual Basic 6.0. Disusun oleh: Freddy Heriyanto. Teknik Informatika. Universitas Islam Azzahra. Jakarta. BAB 1. DASAR-DASAR PEMROGRAMAN. Latihan 1-1: Proses

Pemrograman VB 6.0Freddy Heriyanto

Listing Program:

Dim wrkJet As WorkspaceDim dbSaya As DatabaseDim rsSup As RecordsetDim rsBrg As RecordsetDim rsBeli As Recordset

Private Sub Form_Load() Set wrkJet = CreateWorkspace("", "Admin", "") Set dbSaya = OpenDatabase("c:\LatDAO\Pembelian.mdb") Set rsSup = dbSaya.OpenRecordset("Supplier") Set rsBrg = dbSaya.OpenRecordset("Barang") Set rsBeli = dbSaya.OpenRecordset("Beli") rsSup.Index = "KDSPL" rsBrg.Index = "KDBRG" txtKdSpl.MaxLength = 5 txtKdBrg.MaxLength = 6 KosongkanEnd Sub

Private Sub Kosongkan() txtNoFak.Text = "" txtTgFak.Text = "" txtKdSpl.Text = "" lblNmSpl.Caption = "" txtKdBrg.Text = "" lblNmBrg.Caption = "" txtHarga.Text = "" txtBanyak.Text = "" lblJumlah.Caption = "" Gambar.Picture = LoadPicture("")End Sub

Private Sub txtTgFak_LostFocus() On Error GoTo SalahTgl CekTgl = CDate(txtTgFak.Text) On Error GoTo 0 Exit SubSalahTgl: MsgBox "Format : mm/dd/yyyy" + Chr(13) + "Contoh : 01/21/2001", vbInformation, "Informasi" txtTgFak.SetFocus SendKeys ("{Home}+{End}")End Sub

Private Sub txtKdSpl_Change() Dim Panjang As Byte Panjang = Len(txtKdSpl.Text) If Panjang < 5 Then Exit Sub rsSup.Seek "=", txtKdSpl.Text If rsSup.NoMatch Then MsgBox "Kode Supplier : " + txtKdSpl.Text + " tidak ada", vbInformation, "Pencarian" txtKdSpl.SetFocus SendKeys ("{Home}+{End}") Exit Sub End If lblNmSpl.Caption = rsSup!NMSPL txtKdBrg.SetFocusEnd Sub

Private Sub txtKdBrg_Change() Dim NamaGambar As String Dim Panjang As Byte NamaGambar = "c:\LatDAO\" + txtKdBrg.Text + ".BMP" Panjang = Len(txtKdBrg.Text)

19

Page 21: 4tmaj4's Blog · Web viewVisual Basic 6.0. Disusun oleh: Freddy Heriyanto. Teknik Informatika. Universitas Islam Azzahra. Jakarta. BAB 1. DASAR-DASAR PEMROGRAMAN. Latihan 1-1: Proses

Pemrograman VB 6.0Freddy Heriyanto

If Panjang < 6 Then Exit Sub rsBrg.Seek "=", txtKdBrg.Text If rsBrg.NoMatch Then MsgBox "Kode Barang : " + txtKdBrg.Text + " tidak ditemukan", vbInformation, "Pencarian" txtKdBrg.SetFocus SendKeys ("{Home}+{End}") Gambar.Picture = LoadPicture("") Exit Sub End If lblNmBrg.Caption = rsBrg!NMBRG txtHarga.SetFocus On Error GoTo TakAdaGambar Gambar.Picture = LoadPicture(NamaGambar) On Error GoTo 0 Exit SubTakAdaGambar: Gambar.Picture = LoadPicture("")End Sub

Private Sub txtHarga_Change() Dim MJumlah As Single MJumlah = Val(txtHarga.Text) * Val(txtBanyak.Text) lblJumlah.Caption = Format(MJumlah, "Rp ###,###,###") + ",-"End Sub

Private Sub txtBanyak_Change() Dim MJumlah As Single MJumlah = Val(txtHarga.Text) * Val(txtBanyak.Text) lblJumlah.Caption = Format(MJumlah, "Rp ###,###,###") + ",-"End Sub

Private Sub SimpanBtn_Click() If txtNoFak.Text = "" Then Exit Sub If txtTgFak.Text = "" Then Exit Sub If txtKdSpl.Text = "" Then Exit Sub If txtKdBrg.Text = "" Then Exit Sub If txtHarga.Text = "" Then Exit Sub If txtBanyak.Text = "" Then Exit Sub With rsBeli .AddNew !NOFAK = txtNoFak.Text !TGFAK = txtTgFak.Text !KDSPL = txtKdSpl.Text !KDBRG = txtKdBrg.Text !HARGA = Val(txtHarga.Text) !BANYAK = Val(txtBanyak.Text) .Update End With MsgBox "Data telah disimpan", vbInformation, "Sukses" BatalBtn_ClickEnd Sub

Private Sub BatalBtn_Click() Kosongkan txtNoFak.SetFocusEnd Sub

Private Sub CloseBtn_Click() dbSaya.Close EndEnd Sub

20

Page 22: 4tmaj4's Blog · Web viewVisual Basic 6.0. Disusun oleh: Freddy Heriyanto. Teknik Informatika. Universitas Islam Azzahra. Jakarta. BAB 1. DASAR-DASAR PEMROGRAMAN. Latihan 1-1: Proses

Pemrograman VB 6.0Freddy Heriyanto

BAB 3MANAJEMEN DATABASEDENGAN STRATEGI ADO

1. Menginput Data Sebelum mengerjakan Latihan 1, terlebih dahulu buatlah sebuah file data MS-

Acess bernama Mahasiswa.mdb yang berisi satu buah tabel:

Table : PersonalFIELD NAME TYPE WIDTHNIM Text 7NMMHS Text 30FAKULTAS Text 15

Listing Program:

Dim MyDB As New ADODB.ConnectionDim Cmd As New ADODB.CommandDim rsPersonal As New ADOR.Recordset

Private Sub Form_Load() Me.Caption = "Menambah Data Mahasiswa" MyDB.Provider = "Microsoft.Jet.OLEDB.4.0" MyDB.CursorLocation = adUseClient MyDB.Open "c:\LatAdo\Mahasiswa.mdb", "Admin", "" Set Cmd.ActiveConnection = MyDB Cmd.CommandText = "SELECT * FROM Personal" rsPersonal.Open Cmd, , adOpenDynamic, adLockOptimistic Kosongkan Pasif Reverse cmbFakultas.AddItem "Ekonomi" cmbFakultas.AddItem "Teknik" cmbFakultas.AddItem "ISIP" cmbFakultas.AddItem "Hukum" cmbFakultas.AddItem "Psikologi" cmbFakultas.AddItem "Agama Islam" txtNIM.MaxLength = 7End Sub

Private Sub Form_Unload(Cancel As Integer) MyDB.CloseEnd SubPrivate Sub Kosongkan()

21

Page 23: 4tmaj4's Blog · Web viewVisual Basic 6.0. Disusun oleh: Freddy Heriyanto. Teknik Informatika. Universitas Islam Azzahra. Jakarta. BAB 1. DASAR-DASAR PEMROGRAMAN. Latihan 1-1: Proses

Pemrograman VB 6.0Freddy Heriyanto

txtNmMhs.Text = "" cmbFakultas.Text = ""End Sub

Private Sub Pasif() txtNmMhs.Enabled = False cmbFakultas.Enabled = False SimpanBtn.Enabled = FalseEnd Sub

Private Sub Aktif() txtNmMhs.Enabled = True cmbFakultas.Enabled = True SimpanBtn.Enabled = TrueEnd Sub

Private Sub Reverse() txtNmMhs.BackColor = &H8000000F cmbFakultas.BackColor = &H8000000FEnd Sub

Private Sub Normal() txtNmMhs.BackColor = &H80000005 cmbFakultas.BackColor = &H80000005End Sub

Private Sub txtNIM_Change() Dim Panjang As Byte Panjang = Len(txtNIM.Text) If Panjang < 7 Then Exit Sub If Not (rsPersonal.BOF Or rsPersonal.EOF) Then rsPersonal.MoveFirst rsPersonal.Find "NIM ='" + txtNIM.Text + "'" End If If rsPersonal.EOF Then Kosongkan Aktif Normal txtNmMhs.SetFocus Exit Sub End If Pasif Reverse txtNmMhs.Text = rsPersonal!NMMHS cmbFakultas.Text = rsPersonal!FAKULTASEnd Sub

Private Sub SimpanBtn_Click() If txtNIM.Text = "" Or txtNmMhs.Text = "" Or cmbFakultas.Text = "" Then Exit Sub End If With rsPersonal .AddNew !NIM = txtNIM.Text !NMMHS = txtNmMhs.Text !FAKULTAS = cmbFakultas.Text .Update End With MsgBox "Data telah tersimpan", vbInformation, "Sukses!" BatalBtn_ClickEnd Sub

22

Page 24: 4tmaj4's Blog · Web viewVisual Basic 6.0. Disusun oleh: Freddy Heriyanto. Teknik Informatika. Universitas Islam Azzahra. Jakarta. BAB 1. DASAR-DASAR PEMROGRAMAN. Latihan 1-1: Proses

Pemrograman VB 6.0Freddy Heriyanto

Private Sub BatalBtn_Click() Kosongkan Pasif Reverse txtNIM.Text = "" txtNIM.SetFocusEnd Sub

Private Sub CloseBtn_Click() Unload Me EndEnd Sub

Soal:Buatlah form-form dan code-code untuk mengedit, menghapus, dan mencetak

!

2. Mencari Data Tingkat LanjutPada Latihan ini saudara akan diperkenalkan cara mencari data tingkat lanjut.

Database dan tabel yang digunakan adalah dengan memanfaatkan sampel database yang dimiliki oleh visual basic yaitu Biblio.mdb yang disimpan di folder C:\Program Files\Microsoft Visual Studio\Vb98.

Listing Program:

Dim MyDB As New ADODB.ConnectionDim Cmd As New ADODB.CommandDim RsJudul As New ADOR.RecordsetDim Ketemu As Integer

Private Sub Form_Load() MyDB.Provider = "Microsoft.Jet.OLEDB.3.51" MyDB.CursorLocation = adUseClient MyDB.Open "C:\Program Files\Microsoft Visual Studio\Vb98\Biblio.MDB", "Admin", "" Cmd.CommandText = "SELECT * FROM Titles" Set Cmd.ActiveConnection = MyDB Set RsJudul = Cmd.ExecuteEnd Sub

23

MENCARI DATA BUKU

Kata Kunci

Cari

lblKet

Daftar

Page 25: 4tmaj4's Blog · Web viewVisual Basic 6.0. Disusun oleh: Freddy Heriyanto. Teknik Informatika. Universitas Islam Azzahra. Jakarta. BAB 1. DASAR-DASAR PEMROGRAMAN. Latihan 1-1: Proses

Pemrograman VB 6.0Freddy Heriyanto

Private Sub CariBtn_Click() Ketemu = 0 Dim KataKunci As String KataKunci = Text1.Text If KataKunci = "" Then Text1.SetFocus Exit Sub End If Daftar.Clear LblKet.Caption = "" RsJudul.MoveFirst RsJudul.Find ("Title like '*" + KataKunci + "*'") If RsJudul.EOF Then MsgBox "Tidak ada judul buku yang dicari", vbInformation, "Ora Ono!" Exit Sub End If Daftar.AddItem RsJudul!Title Ketemu = Ketemu + 1 RsJudul.MoveNext Do While Not RsJudul.EOF RsJudul.Find ("Title like '*" + KataKunci + "*'") If RsJudul.EOF Then Exit Do Daftar.AddItem RsJudul!Title Ketemu = Ketemu + 1 RsJudul.MoveNext Loop LblKet.Caption = "Ada " + Str(Ketemu) + " judul buku yang berhubungan dengan kata " + KataKunci + "." RsJudul.MoveFirst

End Sub

Private Sub Text1_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then CariBtn_ClickEnd Sub

3. Aplikasi Navigasi dan Modifikasi DataBuatlah form untuk aplikasi navigasi dan modifikasi data dengan nama

Accs_Mhs. File datatabase adalah Mahasiswa.mdb dengan Tabel Personal seperti pada Latihan 1.

24

Page 26: 4tmaj4's Blog · Web viewVisual Basic 6.0. Disusun oleh: Freddy Heriyanto. Teknik Informatika. Universitas Islam Azzahra. Jakarta. BAB 1. DASAR-DASAR PEMROGRAMAN. Latihan 1-1: Proses

Pemrograman VB 6.0Freddy Heriyanto

Listing Program:

Dim MyDB As New ADODB.ConnectionDim Cmd As New ADODB.CommandDim rsPersonal As New ADOR.RecordsetDim Jwb As VbMsgBoxResult

Private Sub Form_Load() Me.Caption = "Mengakses Data Mahasiswa" cmbFakultas.AddItem "Ekonomi" cmbFakultas.AddItem "Teknik" cmbFakultas.AddItem "ISIP" cmbFakultas.AddItem "Hukum" cmbFakultas.AddItem "Psikologi" cmbFakultas.AddItem "Agama Islam" MyDB.Provider = "Microsoft.Jet.OLEDB.4.0" MyDB.CursorLocation = adUseClient MyDB.Open "c:\LatAdo\Mahasiswa.mdb", "Admin", "" Set Cmd.ActiveConnection = MyDB Cmd.CommandText = "SELECT * FROM Personal" rsPersonal.Open Cmd, , adOpenDynamic, adLockOptimistic If Not (rsPersonal.BOF Or rsPersonal.EOF) Then rsPersonal.MoveFirst Tampil TambahBtn.Enabled = False Exit Sub End If lblRec.Caption = ""End Sub

Private Sub Form_Unload(Cancel As Integer) MyDB.CloseEnd Sub

Private Sub Tampil() If rsPersonal.BOF Or rsPersonal.EOF Then Exit Sub End If lblRec.Caption = "Rec." + CStr(rsPersonal.AbsolutePosition) + "/" + CStr(rsPersonal.RecordCount) With rsPersonal txtNIM.Text = !NIM txtNmMhs.Text = !NMMHS cmbFakultas.Text = !FAKULTAS End With

25

Page 27: 4tmaj4's Blog · Web viewVisual Basic 6.0. Disusun oleh: Freddy Heriyanto. Teknik Informatika. Universitas Islam Azzahra. Jakarta. BAB 1. DASAR-DASAR PEMROGRAMAN. Latihan 1-1: Proses

Pemrograman VB 6.0Freddy Heriyanto

End Sub

Private Sub Kosong() txtNIM.Text = "" txtNmMhs.Text = "" cmbFakultas.Text = ""End Sub

Private Sub CloseBtn_Click() Unload Me EndEnd Sub

Private Sub AkhirBtn_Click() TambahBtn.Enabled = False HapusBtn.Enabled = True UpdateBtn.Enabled = True If rsPersonal.BOF And rsPersonal.EOF Then Exit Sub End If rsPersonal.MoveLast TampilEnd SubPrivate Sub MundurBtn_Click() TambahBtn.Enabled = False HapusBtn.Enabled = True UpdateBtn.Enabled = True If rsPersonal.BOF And rsPersonal.EOF Then Exit Sub End If If rsPersonal.BOF Then rsPersonal.MoveFirst Else rsPersonal.MovePrevious End If TampilEnd Sub

Private Sub MajuBtn_Click() TambahBtn.Enabled = False HapusBtn.Enabled = True UpdateBtn.Enabled = True If rsPersonal.BOF And rsPersonal.EOF Then Exit Sub End If If rsPersonal.EOF Then rsPersonal.MoveLast Else rsPersonal.MoveNext End If TampilEnd Sub

Private Sub ResetBtn_Click() Kosong lblRec.Caption = "" txtNIM.SetFocus TambahBtn.Enabled = True UpdateBtn.Enabled = False HapusBtn.Enabled = FalseEnd Sub

Private Sub HapusBtn_Click() If rsPersonal.BOF Or rsPersonal.EOF Then Exit Sub Jwb = MsgBox("Anda yakin akan menghapus record ini?", vbYesNo, "Konfirmasi") If Jwb = vbYes Then rsPersonal.Delete

26

Page 28: 4tmaj4's Blog · Web viewVisual Basic 6.0. Disusun oleh: Freddy Heriyanto. Teknik Informatika. Universitas Islam Azzahra. Jakarta. BAB 1. DASAR-DASAR PEMROGRAMAN. Latihan 1-1: Proses

Pemrograman VB 6.0Freddy Heriyanto

Kosong End IfEnd Sub

Private Sub TambahBtn_Click() Dim Cari As String If txtNIM.Text = "" Or txtNmMhs.Text = "" Or cmbFakultas.Text = "" Then Exit Sub End If Cari = txtNIM.Text If Not (rsPersonal.BOF Or rsPersonal.EOF) Then rsPersonal.MoveFirst rsPersonal.Find "NIM ='" + Cari + "'" If Not rsPersonal.EOF Then MsgBox "NIM : " + Cari + " sudah ada, Gantilah!", vbInformation, "Pencarian" txtNIM.SetFocus SendKeys ("{Home}+{End}") Exit Sub End If End If Jwb = MsgBox("Data yang anda isikan sudah benar?", vbYesNo, "Konfirmasi") If Jwb = vbNo Then txtNIM.SetFocus Exit Sub End If With rsPersonal .AddNew !NIM = txtNIM.Text !NMMHS = txtNmMhs.Text !FAKULTAS = cmbFakultas.Text .Update End With ResetBtn_ClickEnd Sub

Private Sub UpdateBtn_Click() Dim Cari, Krit As String If rsPersonal.BOF Or rsPersonal.EOF Then Exit Sub Cari = txtNIM.Text Krit = rsPersonal!NIM If Not (Cari = Krit) Then rsPersonal.MoveFirst rsPersonal.Find "NIM ='" + Cari + "'" If Not rsPersonal.EOF Then MsgBox "NIM : " + Cari + " sudah ada, gantilah!", vbInformation, "Pencarian" txtNIM.SetFocus SendKeys ("{Home}+{End}") Exit Sub End If rsPersonal.MoveFirst rsPersonal.Find "NIM ='" + Krit + "'" End If With rsPersonal !NIM = txtNIM.Text !NMMHS = txtNmMhs.Text !FAKULTAS = cmbFakultas.Text .Update End With MsgBox "Data telah diupdate", vbInformation, "Sukses"End Sub

Private Sub AwalBtn_Click() TambahBtn.Enabled = False HapusBtn.Enabled = True UpdateBtn.Enabled = True

27

Page 29: 4tmaj4's Blog · Web viewVisual Basic 6.0. Disusun oleh: Freddy Heriyanto. Teknik Informatika. Universitas Islam Azzahra. Jakarta. BAB 1. DASAR-DASAR PEMROGRAMAN. Latihan 1-1: Proses

Pemrograman VB 6.0Freddy Heriyanto

If rsPersonal.BOF And rsPersonal.EOF Then Exit Sub End If rsPersonal.MoveFirst TampilEnd Sub

28

Page 30: 4tmaj4's Blog · Web viewVisual Basic 6.0. Disusun oleh: Freddy Heriyanto. Teknik Informatika. Universitas Islam Azzahra. Jakarta. BAB 1. DASAR-DASAR PEMROGRAMAN. Latihan 1-1: Proses

Pemrograman VB 6.0Freddy Heriyanto

BAB 4MANAJEMEN DATABASE JARINGAN

DENGAN STRATEGI ADO

Sebelum saudara memulai latihan pada Bab 4 ini siapkan file database dengan menggunakan SQL Server versi 7.0. Untuk itu saudara diharapkan sudah mampu membuat dan mengelola database dengan SQL Server. Jika jaringannya tidak ada atau mungkin SQL Servernya belum ada. Anda masih bisa mencoba dengan menggunakan file database dari MS-Acces. Penulis akan memberikan catatan-catatan pada modul dan program utama, instruksi apa saja yang untuk Server dan mana yang bukan.

File database : Bank.mds (untuk SQL server) atau Bank.mdb (untuk MS-Access)

Tabel Profile:Field Name

Type Width

NoRekNamaAlamatKotaPhone

TextTextTextTextText

1530302010

Tabel Saving:Field Name

Type Width

NoNoRekSaldo

TextTextDouble

1015

Tabel Transaksi:Field Name

Type Width

TidNoRekTglJenisJumlah

TextTextDateTextDouble

815

6

Module1Global MyDB As New ADODB.ConnectionGlobal Cmd As New ADODB.CommandGlobal RsProfile As New ADOR.RecordsetGlobal RsSaving As New ADOR.RecordsetGlobal RsTransaksi As New ADOR.Recordset

Global Jumlah As SingleGlobal Waktu As DateGlobal JmlNasabah As LongGlobal JudulTarik As String

Global Stat As BooleanGlobal User As StringGlobal Pass As String

29

Page 31: 4tmaj4's Blog · Web viewVisual Basic 6.0. Disusun oleh: Freddy Heriyanto. Teknik Informatika. Universitas Islam Azzahra. Jakarta. BAB 1. DASAR-DASAR PEMROGRAMAN. Latihan 1-1: Proses

Pemrograman VB 6.0Freddy Heriyanto

'Untuk Multi User:'--------------------------------------------------------------------------'Public Function BukaDB(userx As String, passx As String) As Boolean' MyDB.Provider = "SQLOLEDB"' MyDB.CursorLocation = adUseServer' MyDB.Open "Server=FREDDY;Database=Bank;UID=" + userx + ";PWD=" + passx' BukaDB = True'End Function'-------------------------------------------------------------------------

UtamaFrm

Const judul As String = "Bank Freddy Teller - "

Private Sub Timer1_Timer() If Stat = False Then Me.Caption = judul + CStr(Now) + ".Locked!" Else 'Untuk Multi User : '------------------------------------------- 'Me.Caption = judul + CStr(Now) + "." + User 'Untuk Single User : '---------------------------- Me.Caption = judul + CStr(Now) End IfEnd Sub

Private Sub Form_Load() Me.Show Me.Caption = judul + CStr(Now) + ".Locked!" Stat = False KunciEnd Sub

Private Sub Kunci()

30

Page 32: 4tmaj4's Blog · Web viewVisual Basic 6.0. Disusun oleh: Freddy Heriyanto. Teknik Informatika. Universitas Islam Azzahra. Jakarta. BAB 1. DASAR-DASAR PEMROGRAMAN. Latihan 1-1: Proses

Pemrograman VB 6.0Freddy Heriyanto

NewBtn.Enabled = False LogBtn.Enabled = False TotalBtn.Enabled = False LogInBtn.Enabled = True LogOutBtn.Enabled = False

SetorBtn.Enabled = False TarikBtn.Enabled = False TransferBtn.Enabled = False AirBtn.Enabled = False ListrikBtn.Enabled = False HPPascaBtn.Enabled = FalseEnd Sub

Private Sub Lepas() NewBtn.Enabled = True LogBtn.Enabled = True TotalBtn.Enabled = True LogInBtn.Enabled = False LogOutBtn.Enabled = True SetorBtn.Enabled = True TarikBtn.Enabled = True TransferBtn.Enabled = True AirBtn.Enabled = True ListrikBtn.Enabled = True HPPascaBtn.Enabled = TrueEnd Sub

Private Sub LogInBtn_Click() '--- Untuk Multi User --- 'User = InputBox("Masukkan user anda", "Input user") 'Pass = InputBox("Masukkan password" + User, "Input Password" + User) 'If User = "" Then Exit Sub 'If Pass = "" Then Exit Sub 'Stat = BukaDB(User, Pass) '--- Untuk Single User --- PW = InputBox("Masukkan password anda", "Input Password") If UCase(PW) = "GUE" Then Stat = True End If If Stat = False Then Kunci Else Lepas End IfEnd Sub

Private Sub LogOutBtn_Click() Stat = False Kunci '--- Untuk Multi User --- 'MyDB.Close End Sub

Private Sub NewBtn_Click() NewFrm.Show 1End Sub

Private Sub TotalBtn_Click() TotalFrm.Show 1End Sub

31

Page 33: 4tmaj4's Blog · Web viewVisual Basic 6.0. Disusun oleh: Freddy Heriyanto. Teknik Informatika. Universitas Islam Azzahra. Jakarta. BAB 1. DASAR-DASAR PEMROGRAMAN. Latihan 1-1: Proses

Pemrograman VB 6.0Freddy Heriyanto

Private Sub LogBtn_Click() LogFrm.Show 1End Sub

Private Sub SetorBtn_Click() SetorFrm.Show 1End Sub

Private Sub TarikBtn_Click() JudulTarik = "Penarikan Dana" TarikFrm.Show 1End Sub

Private Sub TransferBtn_Click() TransferFrm.Show 1End Sub

Private Sub AirBtn_Click() JudulTarik = "Bayar Air" TarikFrm.Show 1End Sub

Private Sub ListrikBtn_Click() JudulTarik = "Bayar Listrik" TarikFrm.Show 1End Sub

Private Sub HPPascaBtn_Click() JudulTarik = "Bayar HP Pasca Bayar" TarikFrm.Show 1End Sub

NewFrm

Dim NorekTemp As StringDim Prefix As String

32

Page 34: 4tmaj4's Blog · Web viewVisual Basic 6.0. Disusun oleh: Freddy Heriyanto. Teknik Informatika. Universitas Islam Azzahra. Jakarta. BAB 1. DASAR-DASAR PEMROGRAMAN. Latihan 1-1: Proses

Pemrograman VB 6.0Freddy Heriyanto

Dim Suffix As String

Private Sub Form_Load() Me.Caption = "Mengisi Data Nasabah Baru" '--- single user --- MyDB.Provider = "Microsoft.Jet.OLEDB.4.0" MyDB.CursorLocation = adUseClient MyDB.Open "c:\Latihan\Bank.mdb", "Admin", ""

Set Cmd.ActiveConnection = MyDB Cmd.CommandText = "SELECT * FROM Profile" rsProfile.Open Cmd, , adOpenDynamic, adLockOptimistic Cmd.CommandText = "SELECT * FROM Saving" rsSaving.Open Cmd, , adOpenDynamic, adLockOptimistic Cmd.CommandText = "SELECT * FROM Transaksi" rsTransaksi.Open Cmd, , adOpenDynamic, adLockOptimistic Prefix = "208-10-" Suffix = "-1" Option1.Value = TrueEnd Sub

Private Sub Form_Unload(Cancel As Integer) '--- multi user --- 'rsProfile.Close 'rsSaving.Close 'rsTransaksi.Close '--- single user --- MyDB.CloseEnd Sub

Private Sub Option1_Click() Suffix = "-1"End Sub

Private Sub Option2_Click() Suffix = "-2"End Sub

Private Sub Option3_Click() Suffix = "-3"End Sub

Private Sub Option4_Click() Suffix = "-4"End Sub

Private Sub txtSetor_KeyPress(KeyAscii As Integer) If Not (KeyAscii >= Asc("0") And KeyAscii <= Asc("9") Or KeyAscii = vbKeyBack) Then KeyAscii = 0 End IfEnd Sub

Private Sub TambahBtn_Click() Dim x As Long Dim Jawab As VbMsgBoxResult If txtNama.Text = "" Then Exit Sub If txtAlamat.Text = "" Then Exit Sub If txtKota.Text = "" Then Exit Sub If txtPhone.Text = "" Then Exit Sub If txtSetor.Text = "" Then Exit Sub If Not rsProfile.BOF And rsProfile.EOF Then rsProfile.MoveLast rsSaving.MoveLast

33

Page 35: 4tmaj4's Blog · Web viewVisual Basic 6.0. Disusun oleh: Freddy Heriyanto. Teknik Informatika. Universitas Islam Azzahra. Jakarta. BAB 1. DASAR-DASAR PEMROGRAMAN. Latihan 1-1: Proses

Pemrograman VB 6.0Freddy Heriyanto

rsTransaksi.MoveLast End If

If rsProfile.BOF And rsProfile.EOF Then NorekTemp = Prefix + "1" + Suffix Else x = Val(Mid(rsProfile!Norek, 8, 5)) + 1 NorekTemp = Prefix + Trim(Str(x)) + Suffix End If Jawab = MsgBox("No.Rekening " + Chr(9) + NorekTemp + Chr(13) + "Nama nasabah" + Chr(9) + txtNama.Text + Chr(13) + "Dibuat sekarang ?", vbYesNo, "Konfirmasi") If Jawab = vbNo Then Exit Sub With rsProfile .AddNew !Norek = NorekTemp !Nama = txtNama.Text !Alamat = txtAlamat.Text !Kota = txtKota.Text !Phone = txtPhone.Text .Update End With If rsSaving.BOF And rsSaving.EOF Then x = 1 Else x = Val(rsSaving!No) + 1 End If With rsSaving .AddNew !No = Str(x) !Norek = NorekTemp !Saldo = Val(txtSetor.Text) .Update End With If rsTransaksi.BOF And rsTransaksi.EOF Then x = 1 Else x = Val(rsTransaksi!TID) + 1 End If Waktu = Date With rsTransaksi .AddNew !TID = Str(x) !Tgl = Waktu !Norek = NorekTemp !Jenis = "Kredit" !Jumlah = Val(txtSetor.Text) .Update End With MsgBox "Data telah tersimpan", vbInformation, "Sukses!" CancelBtn_ClickEnd Sub

Private Sub CancelBtn_Click() txtNama.Text = "" txtAlamat.Text = "" txtKota.Text = "" txtPhone.Text = "" txtSetor.Text = "" Option1.Value = True

34

Page 36: 4tmaj4's Blog · Web viewVisual Basic 6.0. Disusun oleh: Freddy Heriyanto. Teknik Informatika. Universitas Islam Azzahra. Jakarta. BAB 1. DASAR-DASAR PEMROGRAMAN. Latihan 1-1: Proses

Pemrograman VB 6.0Freddy Heriyanto

txtNama.SetFocusEnd Sub

35

Page 37: 4tmaj4's Blog · Web viewVisual Basic 6.0. Disusun oleh: Freddy Heriyanto. Teknik Informatika. Universitas Islam Azzahra. Jakarta. BAB 1. DASAR-DASAR PEMROGRAMAN. Latihan 1-1: Proses

Pemrograman VB 6.0Freddy Heriyanto

TotalFrm

Private Sub Form_Load() Me.Caption = "Total Dana" '--- Single User --- MyDB.Provider = "Microsoft.Jet.OLEDB.4.0" MyDB.CursorLocation = adUseClient MyDB.Open "c:\Latihan\Bank.mdb", "Admin", "" Set Cmd.ActiveConnection = MyDB Cmd.CommandText = "SELECT * FROM Saving" rsSaving.Open Cmd, , adOpenDynamic, adLockOptimistic If rsSaving.BOF And rsSaving.EOF Then MsgBox "Belum ada data sama sekali", vbInformation, "Informasi" OKBtn_Click Exit Sub End If rsSaving.MoveFirst JmlNasabah = 1 Jumlah = rsSaving!Saldo rsSaving.MoveNext Do While Not rsSaving.EOF JmlNasabah = JmlNasabah + 1 Jumlah = Jumlah + rsSaving!Saldo rsSaving.MoveNext Loop lblNasabah.Caption = JmlNasabah lblDana.Caption = Format(Jumlah, "Rp ###,###,###,###.00") End Sub

Private Sub Form_Unload(Cancel As Integer) '--- Multi User --- 'rsSaving.Close '--- Single User --- MyDB.CloseEnd Sub

Private Sub OKBtn_Click() Unload MeEnd Sub

36

Page 38: 4tmaj4's Blog · Web viewVisual Basic 6.0. Disusun oleh: Freddy Heriyanto. Teknik Informatika. Universitas Islam Azzahra. Jakarta. BAB 1. DASAR-DASAR PEMROGRAMAN. Latihan 1-1: Proses

Pemrograman VB 6.0Freddy Heriyanto

LogFrm

Private Sub Form_Load() Me.Caption = "Transaksi Log" '--- Single User --- MyDB.Provider = "Microsoft.Jet.OLEDB.4.0" MyDB.CursorLocation = adUseClient MyDB.Open "c:\Latihan\Bank.Mdb", "Admin", "" Set Cmd.ActiveConnection = MyDB Cmd.CommandText = "SELECT * FROM Profile" rsProfile.Open Cmd, , adOpenDynamic, adLockOptimistic Cmd.CommandText = "SELECT * FROM Saving" rsSaving.Open Cmd, , adOpenDynamic, adLockOptimistic If rsProfile.BOF And rsProfile.EOF Then MsgBox "Belum ada data sama sekali", vbInformation, "Informasi" Unload Me Exit Sub End If SetTampilan rsProfile.MoveFirst CmbNoRek.AddItem rsProfile!NoRek rsProfile.MoveNext While Not rsProfile.EOF CmbNoRek.AddItem rsProfile!NoRek rsProfile.MoveNext Wend txtNoRek.Text = "" CmbNoRek.Text = ""

End Sub

Private Sub Form_Unload(Cancel As Integer) '--- Multi User --- 'rsProfile.Close 'rsSaving.Close 'rsTransaksi.Close '--- Single User --- MyDB.CloseEnd Sub

Private Sub SetTampilan() LblNama.Caption = ""

37

Page 39: 4tmaj4's Blog · Web viewVisual Basic 6.0. Disusun oleh: Freddy Heriyanto. Teknik Informatika. Universitas Islam Azzahra. Jakarta. BAB 1. DASAR-DASAR PEMROGRAMAN. Latihan 1-1: Proses

Pemrograman VB 6.0Freddy Heriyanto

LblAlamat.Caption = "" LblKota.Caption = "" LblPhone.Caption = "" LblSaldo.Caption = "" Grid1.Clear Grid1.ColWidth(0) = 2100 Grid1.ColWidth(1) = 2000 Grid1.ColWidth(2) = 2000 Grid1.Row = 0 Grid1.Col = 0 Grid1.Text = " Tanggal" Grid1.Row = 0 Grid1.Col = 1 Grid1.Text = " Debet" Grid1.Row = 0 Grid1.Col = 2 Grid1.Text = " Kredit"End Sub

Private Sub Cari(Nomor As String) If rsProfile.BOF And rsProfile.EOF Then Exit Sub End If SetTampilan rsProfile.MoveFirst rsProfile.Find "NoRek ='" + Nomor + "'" If rsProfile.EOF Then MsgBox "Tidak ada nomor rekening tersebut!", vbCritical, "Kosong!" Exit Sub End If rsSaving.MoveFirst rsSaving.Find "NoRek ='" + Nomor + "'" Cmd.ActiveConnection = MyDB Cmd.CommandText = "SELECT * FROM Transaksi WHERE NoRek ='" + Nomor + "'" rsTransaksi.Open Cmd, , adOpenDynamic, adLockOptimistic rsTransaksi.MoveFirst

If Trim(rsTransaksi!Jenis) = "Kredit" Then Grid1.AddItem Str(rsTransaksi!Tgl) + Chr(9) + Chr(9) + Format(rsTransaksi!Jumlah, "###,###,###,###.00") Jumlah = Jumlah + rsTransaksi!Jumlah Else Grid1.AddItem Str(rsTransaksi!Tgl) + Chr(9) + Format(rsTransaksi!Jumlah, "###,###,###,###.00") Jumlah = Jumlah - rsTransaksi!Jumlah End If

rsTransaksi.MoveNext

While Not rsTransaksi.EOF If Trim(rsTransaksi!Jenis) = "Kredit" Then Grid1.AddItem Str(rsTransaksi!Tgl) + Chr(9) + Chr(9) + Format(rsTransaksi!Jumlah, "###,###,###,###.00") Jumlah = Jumlah + rsTransaksi!Jumlah Else Grid1.AddItem Str(rsTransaksi!Tgl) + Chr(9) + Format(rsTransaksi!Jumlah, "###,###,###,###.00")

38

Page 40: 4tmaj4's Blog · Web viewVisual Basic 6.0. Disusun oleh: Freddy Heriyanto. Teknik Informatika. Universitas Islam Azzahra. Jakarta. BAB 1. DASAR-DASAR PEMROGRAMAN. Latihan 1-1: Proses

Pemrograman VB 6.0Freddy Heriyanto

Jumlah = Jumlah - rsTransaksi!Jumlah End If rsTransaksi.MoveNext Wend

rsTransaksi.Close LblNama.Caption = rsProfile!Nama LblAlamat.Caption = rsProfile!Alamat LblKota.Caption = rsProfile!Kota LblPhone.Caption = rsProfile!Phone LblSaldo.Caption = Format(rsSaving!Saldo, "###,###,###,###.00")End Sub

Private Sub txtNoRek_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then Cari (txtNoRek.Text) CmbNoRek.Text = "" End IfEnd Sub

Private Sub CmbNoRek_Click() Cari (CmbNoRek.Text) txtNoRek.Text = ""End Sub

SetorFrm

Private Sub Form_Load() Me.Caption = "Penyetoran Dana"

'Untuk Single User : '------------------------------------------- MyDB.Provider = "Microsoft.Jet.OLEDB.4.0" MyDB.CursorLocation = adUseClient MyDB.Open "c:\Latihan\Bank.mdb", "Admin", "" '-------------------------------------------- Set Cmd.ActiveConnection = MyDB Cmd.CommandText = "SELECT * FROM Profile'" RsProfile.Open Cmd, , adOpenDynamic, adLockOptimistic Cmd.CommandText = "SELECT * FROM Saving" RsSaving.Open Cmd, , adOpenDynamic, adLockOptimistic Cmd.CommandText = "SELECT * FROM Transaksi" RsTransaksi.Open Cmd, , adOpenDynamic, adLockOptimistic

If RsProfile.BOF And RsProfile.EOF Then Exit Sub End IfEnd Sub

39

Page 41: 4tmaj4's Blog · Web viewVisual Basic 6.0. Disusun oleh: Freddy Heriyanto. Teknik Informatika. Universitas Islam Azzahra. Jakarta. BAB 1. DASAR-DASAR PEMROGRAMAN. Latihan 1-1: Proses

Pemrograman VB 6.0Freddy Heriyanto

Private Sub Form_Unload(Cancel As Integer) 'Untuk Multi user : '------------------ 'RsProfile.Close 'RsSaving.Close 'RsTransaksi.Close '------------------ 'Untuk Single User : '------------------- MyDB.Close End Sub

Private Sub txtNoRek_LostFocus() If RsProfile.BOF And RsProfile.EOF Then Exit Sub End If If txtNoRek.Text = "" Then CancelBtn_Click Exit Sub End If RsProfile.MoveFirst RsProfile.Find "NoRek ='" + txtNoRek.Text + "'" If RsProfile.EOF Then MsgBox "Tidak ada nomor rekening tersebut!", vbInformation, "Pencarian" txtNoRek.SetFocus SendKeys ("{Home}+{End}") Exit Sub End If LblNama.Caption = RsProfile!NamaEnd Sub

Private Sub CancelBtn_Click() Unload MeEnd Sub

Private Sub OKBtn_Click() Dim NoRekCrit As String Dim Ammount As Long Dim Current_Saldo As Single Dim x As Long If RsProfile.BOF And RsProfile.EOF Then Exit Sub End If NoRekCrit = txtNoRek.Text Ammount = Val(txtSetor.Text) RsSaving.MoveFirst RsSaving.Find "NoRek ='" + Trim(NoRekCrit) + "'" Waktu = Now x = Val(RsTransaksi!TID) x = x + 1 Current_Saldo = RsSaving!Saldo With RsTransaksi .AddNew !TID = Trim(Str(x)) !NoRek = NoRekCrit !Tgl = Waktu !Jenis = "Kredit" !Jumlah = Ammount .Update End With

40

Page 42: 4tmaj4's Blog · Web viewVisual Basic 6.0. Disusun oleh: Freddy Heriyanto. Teknik Informatika. Universitas Islam Azzahra. Jakarta. BAB 1. DASAR-DASAR PEMROGRAMAN. Latihan 1-1: Proses

Pemrograman VB 6.0Freddy Heriyanto

With RsSaving !NoRek = NoRekCrit !Saldo = Current_Saldo + Ammount .Update End With MsgBox "Transaksi penyetoran telah disimpan", vbInformation, "Informasi" txtNoRek.Text = "" LblNama.Caption = "" txtSetor.Text = "" txtNoRek.SetFocusEnd Sub

TarikFrm

Private Sub Form_Load() Me.Caption = JudulTarik 'Untuk Single User : '------------------------------------------- MyDB.Provider = "Microsoft.Jet.OLEDB.4.0" MyDB.CursorLocation = adUseClient MyDB.Open "c:\Latihan\Bank.mdb", "Admin", "" '-------------------------------------------- Set Cmd.ActiveConnection = MyDB Cmd.CommandText = "SELECT * FROM Profile'" RsProfile.Open Cmd, , adOpenDynamic, adLockOptimistic Cmd.CommandText = "SELECT * FROM Saving" RsSaving.Open Cmd, , adOpenDynamic, adLockOptimistic Cmd.CommandText = "SELECT * FROM Transaksi" RsTransaksi.Open Cmd, , adOpenDynamic, adLockOptimistic

If RsProfile.BOF And RsProfile.EOF Then Exit Sub End If

End Sub

Private Sub Form_Unload(Cancel As Integer) 'Untuk Multi user : '------------------ 'RsProfile.Close 'RsSaving.Close 'RsTransaksi.Close '------------------ 'Untuk Single User : '------------------- MyDB.Close End Sub

41

Page 43: 4tmaj4's Blog · Web viewVisual Basic 6.0. Disusun oleh: Freddy Heriyanto. Teknik Informatika. Universitas Islam Azzahra. Jakarta. BAB 1. DASAR-DASAR PEMROGRAMAN. Latihan 1-1: Proses

Pemrograman VB 6.0Freddy Heriyanto

Private Sub txtNoRek_LostFocus() If RsProfile.BOF And RsProfile.EOF Then Exit Sub End If If txtNoRek.Text = "" Then CancelBtn_Click Exit Sub End If RsProfile.MoveFirst RsProfile.Find "NoRek ='" + txtNoRek.Text + "'" If RsProfile.EOF Then MsgBox "Tidak ada nomor rekening tersebut!", vbInformation, "Pencarian" txtNoRek.SetFocus SendKeys ("{Home}+{End}") Exit Sub End If LblNama.Caption = RsProfile!NamaEnd Sub

Private Sub CancelBtn_Click() Unload MeEnd Sub

Private Sub OKBtn_Click() Dim NoRekCrit As String Dim Ammount As Long Dim Current_Saldo As Single Dim x As Long If RsProfile.BOF And RsProfile.EOF Then Exit Sub End If NoRekCrit = txtNoRek.Text Ammount = Val(txtTarik.Text) RsSaving.MoveFirst RsSaving.Find "NoRek ='" + Trim(NoRekCrit) + "'" Waktu = Now x = Val(RsTransaksi!TID) x = x + 1 Current_Saldo = RsSaving!Saldo If Ammount > Current_Saldo Then MsgBox "Dana yang ditarik terlalu besar" + vbCrLf + "Maksimum: " + Format(Current_Saldo, "###,###,###,###.00"), vbInformation, "Informasi" txtTarik.SetFocus SendKeys ("{Home}+{End}") Exit Sub End If With RsTransaksi .AddNew !TID = Trim(Str(x)) !NoRek = NoRekCrit !Tgl = Waktu !Jenis = "Debit" !Jumlah = Ammount .Update End With With RsSaving !NoRek = NoRekCrit !Saldo = Current_Saldo - Ammount .Update End With

42

Page 44: 4tmaj4's Blog · Web viewVisual Basic 6.0. Disusun oleh: Freddy Heriyanto. Teknik Informatika. Universitas Islam Azzahra. Jakarta. BAB 1. DASAR-DASAR PEMROGRAMAN. Latihan 1-1: Proses

Pemrograman VB 6.0Freddy Heriyanto

MsgBox "Transaksi Penarikan telah disimpan", vbInformation, "Informasi" txtNoRek.Text = "" LblNama.Caption = "" txtTarik.Text = "" txtNoRek.SetFocusEnd Sub

TransferFrm

Dim NoRek1 As StringDim NoRek2 As StringDim Ammount As SingleDim Saldo_Skrg As SingleDim x As Long

Private Sub Form_Load() Me.Caption = "Transfer Dana" 'Untuk Single User : '------------------------------------------- MyDB.Provider = "Microsoft.Jet.OLEDB.4.0" MyDB.CursorLocation = adUseClient MyDB.Open "c:\Latihan\Bank.mdb", "Admin", "" '-------------------------------------------- Set Cmd.ActiveConnection = MyDB Cmd.CommandText = "SELECT * FROM Profile'" RsProfile.Open Cmd, , adOpenDynamic, adLockOptimistic Cmd.CommandText = "SELECT * FROM Saving" RsSaving.Open Cmd, , adOpenDynamic, adLockOptimistic Cmd.CommandText = "SELECT * FROM Transaksi" RsTransaksi.Open Cmd, , adOpenDynamic, adLockOptimistic

If RsProfile.BOF And RsProfile.EOF Then Exit Sub End If

End Sub

Private Sub Form_Unload(Cancel As Integer) 'Untuk Multi user : '------------------

43

Page 45: 4tmaj4's Blog · Web viewVisual Basic 6.0. Disusun oleh: Freddy Heriyanto. Teknik Informatika. Universitas Islam Azzahra. Jakarta. BAB 1. DASAR-DASAR PEMROGRAMAN. Latihan 1-1: Proses

Pemrograman VB 6.0Freddy Heriyanto

'RsProfile.Close 'RsSaving.Close 'RsTransaksi.Close '------------------ 'Untuk Single User : '------------------- MyDB.Close End Sub

Private Sub CancelBtn_Click() Unload MeEnd Sub

Private Sub txtNoRek1_LostFocus() If RsProfile.BOF And RsProfile.EOF Then Exit Sub End If NoRek1 = Trim(txtNoRek1.Text) RsProfile.MoveFirst RsProfile.Find "NoRek ='" + NoRek1 + "'" If RsProfile.EOF Then LblNama1.Caption = "" Exit Sub End If LblNama1.Caption = RsProfile!NamaEnd Sub

Private Sub txtNoRek2_LostFocus() If RsProfile.BOF And RsProfile.EOF Then Exit Sub End If NoRek2 = Trim(txtNoRek2) RsProfile.MoveFirst RsProfile.Find "NoRek ='" + NoRek2 + "'" If RsProfile.EOF Then LblNama2.Caption = "" Exit Sub End If LblNama2.Caption = RsProfile!NamaEnd Sub

Private Sub KirimBtn_Click() If txtNoRek1.Text = "" Or txtNoRek2.Text = "" Then Exit Sub End If If LblNama1.Caption = "" Or LblNama2.Caption = "" Then Exit Sub End If If txtNoRek1.Text = txtNoRek2.Text Then MsgBox "No. Rekening tidak boleh sama", vbInformation, "Informasi" Exit Sub End If If txtJumlah.Text = "" Then Exit Sub End If '--- Proses untuk rekening pengirim --- ' Ammount = Val(txtJumlah.Text) RsSaving.MoveFirst RsSaving.Find "NoRek ='" + NoRek1 + "'" Saldo_Skrg = RsSaving!Saldo If Ammount >= RsSaving!Saldo Then

44

Page 46: 4tmaj4's Blog · Web viewVisual Basic 6.0. Disusun oleh: Freddy Heriyanto. Teknik Informatika. Universitas Islam Azzahra. Jakarta. BAB 1. DASAR-DASAR PEMROGRAMAN. Latihan 1-1: Proses

Pemrograman VB 6.0Freddy Heriyanto

MsgBox "Dana yang ditransfer melebihi Saldo", vbInformation, "Informasi" txtJumlah.SetFocus SendKeys ("{Home}+{End}") Exit Sub End If RsSaving!Saldo = Saldo_Skrg - Ammount RsSaving.Update RsTransaksi.MoveLast Waktu = Now x = Val(RsTransaksi!TID) x = x + 1 With RsTransaksi .AddNew !TID = Trim(Str(x)) !NoRek = NoRek1 !Tgl = Waktu !Jenis = "Debit" !Jumlah = Ammount .Update End With '--- Proses untuk rekening penerima ---" Ammount = Val(txtJumlah.Text) RsSaving.MoveFirst RsSaving.Find "NoRek ='" + NoRek2 + "'" Saldo_Skrg = RsSaving!Saldo RsSaving!Saldo = Saldo_Skrg + Ammount RsSaving.Update RsTransaksi.MoveLast Waktu = Now x = Val(RsTransaksi!TID) x = x + 1 With RsTransaksi .AddNew !TID = Trim(Str(x)) !NoRek = NoRek2 !Tgl = Waktu !Jenis = "Kredit" !Jumlah = Ammount .Update End With '--- Keterangan Transfer Sukses ---' MsgBox "Transfer Sukses....", vbInformation, "Informasi" txtNoRek1.Text = "" txtNoRek2.Text = "" LblNama1.Caption = "" LblNama2.Caption = "" txtJumlah.Text = "" txtNoRek1.SetFocusEnd Sub

Private Sub txtJumlah_KeyPress(KeyAscii As Integer) If Not (KeyAscii >= Asc("0") And KeyAscii <= Asc("9") Or KeyAscii = vbKeyBack) Then KeyAscii = 0 End IfEnd Sub

45

Page 47: 4tmaj4's Blog · Web viewVisual Basic 6.0. Disusun oleh: Freddy Heriyanto. Teknik Informatika. Universitas Islam Azzahra. Jakarta. BAB 1. DASAR-DASAR PEMROGRAMAN. Latihan 1-1: Proses

Pemrograman VB 6.0Freddy Heriyanto

BAB 4BEBERAPA

TRIK PEMROGRAMAN

1. Enkripsi dan Dekripsi Sederhana

Di bawah ini akan diberikan program simulasi untuk mengenkripsi dan mendeskripsikan teks secara sederhana.

Listing Program :

Private Sub ResetBtn_Click() txtPlain.Text = "" txtEnc1.Text = "" txtEnc2.Text = "" txtDec1.Text = "" txtDec2.Text = "" txtPlain.SetFocusEnd Sub

Private Sub OKBtn_Click() Dim ctr As Integer Dim tmp1 As String Dim tmp2 As String Dim tmp3 As String Dim tmp4 As String '-- proses encrypt pertama ctr = Len(txtPlain.Text) For I = ctr To 1 Step -1 tmp1 = tmp1 + Mid(txtPlain.Text, ctr, 1) ctr = ctr - 1 Next txtEnc1.Text = tmp1

46

Page 48: 4tmaj4's Blog · Web viewVisual Basic 6.0. Disusun oleh: Freddy Heriyanto. Teknik Informatika. Universitas Islam Azzahra. Jakarta. BAB 1. DASAR-DASAR PEMROGRAMAN. Latihan 1-1: Proses

Pemrograman VB 6.0Freddy Heriyanto

'-- proses encrypt kedua ctr = Len(txtPlain.Text) For I = 1 To ctr tmp2 = tmp2 + Chr(Asc(Mid(tmp1, I, 1)) + 4) Next txtEnc2.Text = tmp2 '-- proses decrypt pertama ctr = Len(txtPlain.Text) For I = 1 To ctr tmp3 = tmp3 + Chr(Asc(Mid(tmp2, I, 1)) - 4) Next txtDec1.Text = tmp3 '-- proses decrypt kedua ctr = Len(txtPlain.Text) For I = ctr To 1 Step -1 tmp4 = tmp4 + Mid(tmp3, ctr, 1) ctr = ctr - 1 Next txtDec2.Text = tmp4End Sub

2. Class Module

Dahulu banyak developer membuat program dengan cara seluruh instruksi dibuat menjadi 1 file program besar yang rumit. Boleh dikatakan banyak yang menggunakan pola terstruktur untuk mendesain software.

Saat ini yang menjadi trend dan telah terbukti efektivitasnya adalah pola OOP (Object Oriented Programming), yaitu memecah kasus besar menjadi beberapa kasus kecil.

Membuat suatu class module dalam Visual Basic merupakan salah satu faktor yang cukup penting dalam pola OOP.

Untuk menambah suatu class module, silahkan anda memilih menu Project kemudian klik Add Class Module. Maka akan muncul kotak dialog, pilihlah Class Module.

Di bawah ini kode lengkap Class Module : Class1.cls

'----- MENDEKLARASIKAN PROPERTI -----Dim mAwal As SingleDim mAkhir As SingleDim mHasil As Single

'----- MEMBUAT EVENT -----Public Event Selesai()

'----- MENGGUNAKAN PROPERTI -----

Public Property Let Awal(ByVal nilai As Single) mAwal = nilai 'mengubah nilaiEnd Property

Public Property Get Awal() As Single Awal = mAwal 'membaca nilai

47

Page 49: 4tmaj4's Blog · Web viewVisual Basic 6.0. Disusun oleh: Freddy Heriyanto. Teknik Informatika. Universitas Islam Azzahra. Jakarta. BAB 1. DASAR-DASAR PEMROGRAMAN. Latihan 1-1: Proses

Pemrograman VB 6.0Freddy Heriyanto

End PropertyPublic Property Let Akhir(ByVal nilai As Single) mAkhir = nilai 'mengubah nilaiEnd Property

Public Property Get Akhir() As Single Akhir = mAkhir 'membaca nilaiEnd Property

Public Property Let Hasil(nilai As Single) mHasil = nilaiEnd Property

Public Property Get Hasil() As Single Hasil = mHasilEnd Property

'----- MEMBUAT METODE ------

Public Sub Kali() Hasil = Awal * Akhir RaiseEvent SelesaiEnd Sub

Public Sub Pangkat(x As Integer, y As Integer) Hasil = x ^ y RaiseEvent SelesaiEnd Sub

Public Function Sisa(x As Integer, y As Integer) As Single Sisa = x Mod y Hasil = Sisa RaiseEvent SelesaiEnd Function

Public Function Bagi() As Single Bagi = Awal / Akhir Hasil = Bagi RaiseEvent SelesaiEnd Function

48

Page 50: 4tmaj4's Blog · Web viewVisual Basic 6.0. Disusun oleh: Freddy Heriyanto. Teknik Informatika. Universitas Islam Azzahra. Jakarta. BAB 1. DASAR-DASAR PEMROGRAMAN. Latihan 1-1: Proses

Pemrograman VB 6.0Freddy Heriyanto

Kode untuk aplikasi adalah sebagai berikut :

Private Sub Command1_Click() Dim x As New Class1 'membuat instance baru 'kalau tidak diisi salah satu maka OUT! If Text1.Text = "" Then Exit Sub If Text2.Text = "" Then Exit Sub 'pengisian nilai pada properti x.Awal = Val(Text1.Text) x.Akhir = Val(Text2.Text) If Option1.Value = True Then x.Kali lblHasil.Caption = x.Hasil End If If Option2.Value = True Then x.Bagi lblHasil.Caption = x.Hasil End If If Option3.Value = True Then x.Pangkat x.Awal, x.Akhir lblHasil.Caption = x.Hasil End If If Option4.Value = True Then lblHasil.Caption = x.Sisa(x.Awal, x.Akhir) End If 'menghancurkan objek dari memori Set x = Nothing End Sub

Private Sub Form_Load() lblHasil.Caption = "" Option1.Value = True Text1.Text = "0" Text2.Text = "0"End Sub

49