Ebook Belajar Bahasa Pemrograman Visual Basic + Database

  • Upload
    muse-my

  • View
    58

  • Download
    1

Embed Size (px)

DESCRIPTION

ebook

Citation preview

  • Modul : Belajar Bahasa Pemrograman Visual Basic + Database Hal : 1

    MESRAN, S.KOM, M.KOM

    BAB I MODUL PROGRAM

    1.1 Modul Program Sistem Informasi Penjualan Sebelum kita membuat program kita terlebih dahulu membuat sebuah modul pada

    program. Kegunaan modul ini yaitu untuk mempersingkat program yang kita ketikkan nantinya.

    Anda tambahkan sebuah modul dengan cara : Click Project | Add Module, kemudian click Open. Akan muncul sebuah Module1 yang

    masih kosong. Dan disini akan kita buat modul-modul program yang dapat di panggil melalui Form Penjualan Barang. Cara mengetikkan program pada modul harus diketik secara lengkap. Anda ketikkan Program Berikut ini.

    Function DBFind(Rs As Recordset, cIndex As String, cText As String) As Boolean DBFind = False Rs.Index = cIndex Rs.Seek "=", cText If Not Rs.NoMatch Then DBFind = True End Function Function DBFind2(Rs As Recordset, cIndex As String, cText As String, cText2 As String) As Boolean DBFind2 = False Rs.Index = cIndex Rs.Seek "=", cText, cText2 If Not Rs.NoMatch Then DBFind2 = True End Function

    Sub Add2List(Rs As Recordset, cField As Field, cbo As ComboBox) cbo.Clear If Rs.RecordCount = 0 Then Exit Sub Rs.MoveFirst Do While Not Rs.EOF cbo.AddItem cField Rs.MoveNext Loop cbo.Text = cbo.List(0) End Sub Sub AddSatuan(cbo As Object) cbo.AddItem "Unit" cbo.AddItem "Kg" cbo.AddItem "Mtr" cbo.AddItem "Ons" cbo.AddItem "Pc" cbo.AddItem "Set" cbo.AddItem "Sak" cbo.AddItem "Lembar"

  • Modul : Belajar Bahasa Pemrograman Visual Basic + Database Hal : 2

    MESRAN, S.KOM, M.KOM

    cbo.AddItem "Kaleng" End Sub Sub CenterFORM(f As Form) f.Move (Screen.Width - f.Width) / 2, (Screen.Height - f.Height) / 4 End Sub Function CheckENTER(ckey As Integer, cTXT As String) As Boolean CheckENTER = False If ckey = 13 Then If cTXT = "" Then Exit Function CheckENTER = True End If End Function Sub PINDAH(ckey As Integer, cObj As Object) If ckey = 13 Then cObj.SetFocus End Sub Sub MoveTO(KeyAscii As Integer) If KeyAscii = 13 Then KeyAscii = 0 SendKeys "{Tab}" End If End Sub Terakhir anda click Icon Disket. Pada File Name tertulis myModul anda click Save.

  • Modul : Belajar Bahasa Pemrograman Visual Basic + Database Hal : 3

    MESRAN, S.KOM, M.KOM

    BAB II DATABASE DAN MENU UTAMA

    2.1 Pembuatan DataBase

    Terlebih dahulu kita harus membuat directory PENJUALAN sebagai tempat penyimpanan Program & Database. Buatlah Database dengan cara berikut ini :

    1. Click Add Ins | Visual Data Manager pada Visual Basic. 2. Pada Visdata, kemudian pilih File | New | Microsoft Access | Version 7.0 dan pilih

    directory Penjualan yang telah anda buat sebelumnya. Kemudian ketikkan pada File Name Cahaya.MDB setelah itu click Command Save.

    3. Kemudian buatlah enam buah tabel berikut ini. Note : Harus diperhatikan pengetikan tidak boleh menggunakan tanda Titik (.), Spasi Tabel SUPPLIER

    Field Name Type Size Index Field Name Option KdSupplier Text 4 KdSupplier Primary Key, Ignore Null,

    Unique Nama Text 30 Nama Ignore Null Alamat Text 80 Telp Text 13

    Tabel PELANGGAN

    Field Name Type Size Index Field Name Option KdPelanggan Text 4 KdPelanggan Primary Key, Ignore Null,

    Unique Nama Text 30 Nama Ignore Null Alamat Text 80 Telp Text 13

    Tabel BARANG

    Field Name Type Size Index Field Name Option Kode Text 6 Kode Primary Key, Ignore Null,

    Unique Nama Text 30 Nama Ignore Null Satuan Text 10 Harga Single 4 Stock Single 4

    Tabel PEMBELIAN

    Field Name Type Size Index Field Name Option NoBukti Text 6 NoBukti Ignore Null Tanggal DateTime 8

  • Modul : Belajar Bahasa Pemrograman Visual Basic + Database Hal : 4

    MESRAN, S.KOM, M.KOM

    Kode Text 6 Kode Ignore Null Jumlah Single 4 KdSupplier Text 4 KdSupplier Ignore Null Penerima Text 30

    Tabel PENJUALAN Field Name Type Size Index Field Name Option

    NoBukti Text 6 NoBukti Ignore Null Tanggal DateTime 8 Kode Text 6 Kode Ignore Null Jumlah Single 4 KdPelanggan Text 4 KdPelanggan Ignore Null

    2.2 Perancangan MENU UTAMA

    Disini kita akan membuat sebuah Menu yang berbasis MDI (Multiple Document Interface), ikutilah langkah-langkah sebagai berikut :

    1. Untuk Form1 (JIKA ADA) yang berada pada project Explorer sebaiknya anda remove

    dengan cara click kanan pada Form1 kemudian pilih Remove Form1. 2. Click Project | Add MDI Form, kemudian click Open. 3. Akan muncul sebuah form dengan jenis MDI. Ubahlah Properti dari Form tersebut.

    Name : MenuUtama Caption : Sistem Informasi Penjualan CV. CAHAYA PERMAI BackColor : &H00E0E7E0& WindowsState : 2-Maximized

    4. Kemudian click bagian tengah Form MDI dan tekan Ctrl + E. Akan muncul tampilan Menu Editor, buatlah menu berikut ini.

    Note : pemberian Name harus diperhatikan.

    Caption Name &File MnFile .&Data Supplier MnF1 .&Data Pelanggan MnF2 .- MnF3 .K&eluar Program MnF4 &Transaksi MnTransaksi .Data &Barang MnT1 .- MnT2 .&Penjualan Barang MnT3 .P&embelian Barang MnT4 &Laporan MnLaporan .Lap. &Barang MnL1 .Lap. &Supplier MnL2 .Lap. &Pelanggan MnL3 .- MnL4 .Lap. P&enjualan Barang MnL5 ..&Harian MnL51 ..&Bulanan MnL52

  • Modul : Belajar Bahasa Pemrograman Visual Basic + Database Hal : 5

    MESRAN, S.KOM, M.KOM

    ..&per Pelanggan Bulanan MnL53 ..- MnL54 ..&Faktur MnL55 .Lap. P&embelian Barang MnL6 ..&Bulan MnL61 ..&per Kode Barang MnL62 ..&per Supplier Bulan MnL63 &About MnA .&Me MnA1

    5. Setelah selesai Click OK. Sehingga Menu akan menjadi seperti berikut ini. 6. Simpan Program anda dengan cara pilih File | Save Project As, lihat pada File Name

    apakah telah tertulis MenuUtama. Ini berarti name telah disediakan. Kita hanya tinggal click Save. Kemudian akan muncul kembali dialog save kedua lihat pada File Name apakah tertulis Project1. Jika demikian anda harus mengganti nama Project dengan CV. CAHAYA PERMAI.

    7. Jika ada perubahan program pastikan kembali anda menyimpan ulang. Cukup dengan

    Click Icon Disket pada Toolbar. Kemudian keluar dari Visual Basic. 8. Jika anda mempuyai Disket ada baiknya jika Program yang telah anda buat disimpan

    ke Disket. Cukup dengan cara : - Buka Windows Explorer (Click Start | Program | Windows Explorer) - Cari direktory Penjualan, kemudian masukkan Disket lalu Click Kanan pada

    direktory Penjualan pilih Send To | 3 Floppy (A).

  • Modul : Belajar Bahasa Pemrograman Visual Basic + Database Hal : 6

    MESRAN, S.KOM, M.KOM

    BAB III FORM MASTER

    Sebelum membuat form Supplier maka anda harus membuka Project CV. CAHAYA

    PERMAI terlebih dahulu yang berada pada Directory Penjualan. Pada bagian ini kita akan membuat program untuk menginputkan data-data master yaitu : Data Supplier Data Pelanggan & Data Barang

    Disini kita akan menggunakan Object Data. 3.1 FORM SUPPLIER

    Tambahkan sebuah Form dengan cara pilih Project | Add Form. Aturlah properti dari form tersebut dengan : Name : FrmSupplier

    Caption : FORM SUPPLIER Border Style : 1-Fixed Single BackColor : &H00FFDDDD& MDIChild : True

    Simpan Form tersebut dengan cara click Icon Disket pada Toolbar, pastikan pada File Name tertulis FrmSupplier kemudian click Save. Desainlah FrmSupplier tersebut seperti di bawah ini.

  • Modul : Belajar Bahasa Pemrograman Visual Basic + Database Hal : 7

    MESRAN, S.KOM, M.KOM

    Properties Object Properti Setting

    Label1 Caption Kode Supplier Label2 Caption Nama Label3 Caption Alamat Label4 Caption Telp

    Name CmdProses Caption BARU

    Command1

    Index 0 Name CmdProses Caption SIMPAN

    Command2

    Index 1 Name CmdProses Caption HAPUS

    Command3

    Index 2 Name CmdProses Caption BATAL

    Command4

    Index 3 Name CmdProses Caption OK

    Command5

    Index 4 Text1 Name TxtKd Text2 Name TxtNama Text3 Name TxtAlamat MultiLine True Scrollbar Vertical Text4 Name TxtTelp

    DatabaseName Cahaya.MDB RecordsetType 0-Table

    Data1

    RecordSource Supplier

    3.2 Pembuatan Kode Program untuk FORM SUPPLIER Langkah selanjutnya adalah membuat kode program untuk Form SUPPLIER Program berikut ini anda buat pada Object General (yang terletak paling atas atau bisa anda ketikkan di bawah End Sub apa saja )

    Sub Simpan(Log As Boolean) With Data1.Recordset If Log Then .AddNew Else .Edit !KdSupplier = txtKd.Text !Nama = txtNama.Text !Alamat = txtAlamat.Text !Telp = txtTelp.Text .Update End With Call Hapus End Sub Sub TampilRECORD()

  • Modul : Belajar Bahasa Pemrograman Visual Basic + Database Hal : 8

    MESRAN, S.KOM, M.KOM

    With Data1.Recordset txtNama.Text = !Nama txtAlamat.Text = !alamat txtTelp.Text = !telp End With Rubah False, True, True, True CmdProses(1).Caption = "EDIT" End Sub Sub Rubah(L0 As Boolean, L1 As Boolean, L2 As Boolean, L3 As Boolean) CmdProses(0).Enabled = L0 CmdProses(1).Enabled = L1 CmdProses(2).Enabled = L2 CmdProses(3).Enabled = L3 End Sub Sub Hapus() txtKd.Text = "" txtNama.Text = "" txtAlamat.Text = "" txtTelp.Text = "" CmdProses(1).Caption = "SIMPAN" Rubah True, False, False, False End Sub Sub AKTIF(Log As Boolean) txtKd.Locked = Not Log txtNama.Locked = Not Log txtAlamat.Locked = Not Log txtTelp.Locked = Not Log End Sub

    Double Click lah Command PROSES (Baru/Simpan/Hapus/Batal) dan buatlah program berikut ini :

    Private Sub CmdProses_Click(Index As Integer) Select Case Index Case 0 Call Hapus Rubah False, True, False, True txtKd.SetFocus Case 1 If CmdProses(1).Caption = "SIMPAN" Then Simpan(True) Else Simpan(False) Call Hapus txtKd.SetFocus Case 2 x = MsgBox("YAKIN ! Data akan dihapus ?", vbCritical + vbYesNo, "Hapus

    Record") If x = vbYes Then

  • Modul : Belajar Bahasa Pemrograman Visual Basic + Database Hal : 9

    MESRAN, S.KOM, M.KOM

    Data1.Recordset.Delete End If Call Hapus txtKd.SetFocus Case 3 Call Hapus txtKd.SetFocus Case 4 Unload Me End Select End Sub

    Double Click lah Form pilih Event Activate dan buatlah program berikut ini : Private Sub Form_Activate() txtKd.SetFocus End Sub

    Double Click lah Form pilih Event Load dan buatlah program berikut ini : Private Sub Form_Load() Call Hapus CenterFORM Me End Sub

    Double Click lah TextBox Kode pilih Keydown dan buatlah program berikut ini : Private Sub txtKd_KeyDown(KeyCode As Integer, Shift As Integer) Select Case KeyCode Case 27 If txtKd.Text = "" Then Me.Hide Else CmdProses_Click 3 End If End Select End Sub

    Double Click lah TextBox Kode pilih Keypress dan buatlah program berikut ini : Private Sub txtKD_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then If txtKd.Text = "" Then Exit Sub If DBFind(Data1.Recordset, "KDSUPPLIER", txtKd) Then TampilRECORD Else x = txtKd.Text Call Hapus txtKd.Text = x Rubah False, True, False, True End If txtNama.SetFocus End If

  • Modul : Belajar Bahasa Pemrograman Visual Basic + Database Hal : 10

    MESRAN, S.KOM, M.KOM

    End Sub

    Double Click lah TextBox Nama pilih Event KeyDown dan buatlah program berikut ini : Private Sub txtNama_KeyDown(KeyCode As Integer, Shift As Integer) If KeyCode = 27 Then txtKd.SetFocus End Sub

    Double Click lah TextBox Nama pilih Keypress dan buatlah program berikut ini : Private Sub txtNama_KeyPress(KeyAscii As Integer) If CheckENTER(KeyAscii, txtNama) Then PINDAH KeyAscii, txtAlamat End Sub

    Double Click lah TextBox Telp pilih Keypress dan buatlah program berikut ini :

    Private Sub txtTelp_KeyPress(KeyAscii As Integer) If CheckENTER(KeyAscii, txtTelp) Then MoveTO 13 End Sub Setelah semua program diatas selesai, janganlah lupa untuk selalu menyimpan program

    yang telah anda ketik. Dan jika anda membawa Disket jangan lupa untuk menyimpan data ke Disket untuk menghindari sewaktu-waktu data yang berada di dalam HardDisk hilang atau rusak.

    3.3 Menghubungkan ke MENU UTAMA

    Agar program Form Supplier dapat di pangggil melalui Menu Utama maka lakukanlah langkah-langkah sebagai berikut.

    a. Double Click lah Form MDI anda (Menu Utama) b. Click File (yang berada di Form MDI), selanjutnya click Data Supplier. Ketikkan

    program berikut :

    Private Sub mnF1_Click() FrmSupplier.Show

    End Sub

    c. Kemudian Click Menu Project | Propertis (bagian bawah) akan muncul dialog Properti CV. Cahaya Permai. Dan pada Start Up Object anda Pilihlah Menu, lalu click OK.

    Sekarang coba anda jalankan program tersebut dan pilih File kemudian click Supplier.

    Maka akan tampil Form Data Supplier.

    Isikan data-data Supplier berikut ini. Kode Nama Alamat Telp S001 M Irwansyah Jln. HM Yamin 120 C - S002 Susilawaty Jln. Bengkok 10 061-457815 S003 Aldyan Jln. Imam Bonjol No. 100 061-456965 S004 Joni Syahputra Jln. SM Raja 11 C 061-778115 S005 Ir. Supeno Jln. Pancing GG. Buntu 11 061-576815 S006 Asrul Lintang Jln. Aksara 110 061-459815 S007 Robbi Jln. SM Raja Gg Bilal No. 12 061-455615 S008 Aryanto Jln. Imam Bonjol No. 35 A -

  • Modul : Belajar Bahasa Pemrograman Visual Basic + Database Hal : 11

    MESRAN, S.KOM, M.KOM

    S009 Ardi Surya Putra Jln. Aksara 112 061-447895 S010 J. Silaban Jln. SM Raja 17 - S011 Ratna Juita Jln. SM Raja 131 061-451500 S012 NurAinun Tembung City 061-822341 S013 Tengku Jamal Marelan No. 120 - S014 Sabaruddin Marelan No. 100 - S015 Amir Hamzah Medan Timur 061-775487 S016 Jaka Aksara No. 120 - S017 Ir. M. A Hui Tembung 061-785445 S018 Safril, MT Pangkalan Susu 061-775400

  • Modul : Belajar Bahasa Pemrograman Visual Basic + Database Hal : 12

    MESRAN, S.KOM, M.KOM

    BAB IV FORM MASTER (Bagian II Form PELANGGAN)

    4.1 FORM PELANGGAN

    Tambahkan sebuah Form dengan cara pilih Project | Add Form. Aturlah properti dari form tersebut dengan :

    Name : FrmPelanggan

    Caption : FORM PELANGGAN Border Style : 1-Fixed Single BackColor : &H80000016& MDIChild : True Simpan Form tersebut dengan cara click Icon Disket pada Toolbar, pastikan pada File

    Name tertulis FrmPelanggan kemudian click Save. Desainlah Form Pelanggan berikut ini Properties

    Object Properti Setting Label1 Caption Kode Pelanggan Label2 Caption Nama Label3 Caption Alamat Label4 Caption Telp

    Name CmdProses Command1 Caption BARU

  • Modul : Belajar Bahasa Pemrograman Visual Basic + Database Hal : 13

    MESRAN, S.KOM, M.KOM

    Index 0 Name CmdProses Caption SIMPAN

    Command2

    Index 1 Name CmdProses Caption HAPUS

    Command3

    Index 2 Name CmdProses Caption BATAL

    Command4

    Index 3 Name CmdProses Caption OK

    Command5

    Index 4 Text1 Name TxtKd Text2 Name TxtNama Text3 Name TxtAlamat MultiLine True Scrollbar Vertical Text4 Name TxtTelp

    DatabaseName Cahaya.MDB RecordsetType 0-Table

    Data1

    RecordSource Pelanggan

    4.2 Pembuatan Kode Program untuk FORM PELANGGAN Langkah selanjutnya adalah membuat kode program untuk Form Konsumen Program berikut ini anda buat pada Object General (yang terletak paling atas atau bisa anda ketikkan di bawah End Sub apa saja )

    Sub Rubah(L0 As Boolean, L1 As Boolean, L2 As Boolean, L3 As Boolean) CmdProses(0).Enabled = L0 CmdProses(1).Enabled = L1 CmdProses(2).Enabled = L2 CmdProses(3).Enabled = L3 End Sub Sub Hapus() txtKd.Text = "" txtNAma.Text = "" txtAlamat.Text = "" txtTelp.Text = "" CmdProses(1).Caption = "SIMPAN" Rubah True, False, False, False End Sub Sub Simpan(Log As Boolean) With Data1.Recordset If Log Then .AddNew Else .Edit !KdPelanggan = txtKd.Text !Nama = txtNAma.Text

  • Modul : Belajar Bahasa Pemrograman Visual Basic + Database Hal : 14

    MESRAN, S.KOM, M.KOM

    !alamat = txtAlamat.Text !telp = txtTelp.Text .Update End With Call Hapus End Sub Sub TampilRECORD() With Data1.Recordset txtNAma.Text = !Nama txtAlamat.Text = !alamat txtTelp.Text = !telp End With Rubah False, True, True, True CmdProses(1).Caption = "EDIT" End Sub Sub AKTIF(Log As Boolean) txtKd.Locked = Not Log txtNAma.Locked = Not Log txtAlamat.Locked = Not Log txtTelp.Locked = Not Log End Sub

    Double Click lah Command Proses (Baru, Simpan, Edit, Hapus, Batal) dan buatlah program berikut ini :

    Private Sub CmdProses_Click(Index As Integer) Select Case Index Case 0 Call Hapus Rubah False, True, False, True txtKd.SetFocus Case 1 If CmdProses(1).Caption = "SIMPAN" Then Simpan (True) Else Simpan (False) Call Hapus txtKd.SetFocus Case 2 x = MsgBox("YAKIN ! Data akan dihapus ?", vbCritical + vbYesNo, "Hapus Record") If x = vbYes Then Data1.Recordset.Delete End If Call Hapus txtKd.SetFocus Case 3 Call Hapus txtKd.SetFocus

  • Modul : Belajar Bahasa Pemrograman Visual Basic + Database Hal : 15

    MESRAN, S.KOM, M.KOM

    Case 4 Unload Me End Select End Sub

    Double Click lah Form pilih Event Activate dan buatlah program berikut ini :

    Private Sub Form_Activate() txtKd.SetFocus End Sub

    Double Click lah Form pilih Event Load dan buatlah program berikut ini : Private Sub Form_Load() Call Hapus CenterFORM Me End Sub

    Double Click lah TextBox Kode pilih Event Keypress dan buatlah program berikut ini :

    Private Sub txtKD_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then If txtKd.Text = "" Then Exit Sub If DBFind(Data1.Recordset, "KDPELANGGAN", txtKd) Then TampilRECORD Else x = txtKd.Text Call Hapus txtKd.Text = x Rubah False, True, False, True End If txtNAma.SetFocus End If End Sub

    Double Click lah TextBox Nama pilih Event KeyDown dan buatlah program berikut ini :

    Private Sub txtNama_KeyDown(KeyCode As Integer, Shift As Integer) If KeyCode = 27 Then txtKd.SetFocus End Sub

    Double Click lah TextBox Nama pilih Event KeyPress dan buatlah program berikut ini :

    Private Sub txtNama_KeyPress(KeyAscii As Integer) If CheckENTER(KeyAscii, txtNAma) Then PINDAH KeyAscii, txtAlamat End Sub

    Double Click lah TextBox Telp pilih Event KeyPress dan buatlah program berikut ini :

    Private Sub txtTelp_KeyPress(KeyAscii As Integer) If CheckENTER(KeyAscii, txtTelp) Then MoveTO 13 End Sub

    Double Click lah TextBox Kode pilih Event KeyDown dan buatlah program berikut ini :

    Private Sub txtKd_KeyDown(KeyCode As Integer, Shift As Integer) Select Case KeyCode

  • Modul : Belajar Bahasa Pemrograman Visual Basic + Database Hal : 16

    MESRAN, S.KOM, M.KOM

    Case 27 If txtKd.Text = "" Then Me.Hide Else CmdProses_Click 3 End If End Select End Sub

    Setelah semua program diatas selesai, janganlah lupa untuk selalu menyimpan program

    yang telah anda ketik. Dan jika anda membawa Disket jangan lupa untuk menyimpan data ke Disket untuk menghindari sewaktu-waktu data yang berada di dalam HardDisk hilang atau rusak.

    4.3 Menghubungkan ke MENU UTAMA

    Agar program Form Data Pelanggan dapat di pangggil melalui Menu Utama maka lakukanlah langkah-langkah sebagai berikut.

    a. Double Click lah Form MDI anda (Menu Utama) b. Click File (yang berada di Form MDI), selanjutnya click Data Pelanggan. Ketikkan

    program berikut :

    Private Sub mnF2_Click() FrmPelanggan.Show

    End Sub

    Sekarang coba anda jalankan program tersebut dan pilih File kemudian click Pelanggan Maka akan tampil Form Data Pelanggan.

    Isikan data Pelanggan berikut ini :

    Kode Nama Alamat Telp P001 Jack Boyker Jln. Denai Gg Mulia No. 1 061-476512 P002 Anto Hud Jln. Jamin Ginting 10 C 061-317815 P003 Titi Mely Jln. Dr. Mansyur 10 061-556965 P004 Sandra Jln. Setia Budi 121 061-767715 P005 Heiji Koe Jln. Belanga Gg. Bunga 11 061-996815 P006 Rini Koesasih Jln. Sujono 10 061-987815 P007 Mita Kesuma Jln. SM Raja Gg Bilal No. 12 061-888615 P008 Indra Saputra Jln. Imam Bonjol No. 35 A 061-476111 P009 Ronny Mbeek Jln. Aksara 10 061-476895 P010 Haryadi, S.Kom Jln. Gatot Subroto 100 061-476121 P011 Ismail, S.Kom Jln. SM Raja 11 061-476500 P012 Jon Ardi Jln. Batang Kuis 10 061-899341

  • Modul : Belajar Bahasa Pemrograman Visual Basic + Database Hal : 17

    MESRAN, S.KOM, M.KOM

    BAB V FORM MASTER (Bagian III Form BARANG)

    5.1 FORM BARANG

    Tambahkan sebuah Form dengan cara pilih Project | Add Form. Aturlah properti dari form tersebut dengan : Name : FrmBarang

    Caption : FORM BARANG Border Style : 1-Fixed Single BackColor : &H00E0E0E0& MDIChild : True

    Simpan Form tersebut dengan cara click Icon Disket pada Toolbar, pastikan pada File Name tertulis FrmBarang kemudian click Save. Desailah FrmBarang tersebut seperti di bawah ini Properties

    Object Properti Setting Label1 Caption Kode Label2 Caption Nama Label3 Caption Satuan Label4 Caption Harga Label5 Caption Stock Command1 Name CmdProses

  • Modul : Belajar Bahasa Pemrograman Visual Basic + Database Hal : 18

    MESRAN, S.KOM, M.KOM

    Caption BARU Index 0 Name CmdProses Caption SIMPAN

    Command2

    Index 1 Name CmdProses Caption HAPUS

    Command3

    Index 2 Name CmdProses Caption BATAL

    Command4

    Index 3 Name CmdProses Caption OK

    Command5

    Index 4 Text1 Name TxtKd Text2 Name TxtNama Text4 Name TxtHarga Text5 Name TxtStock Combo1 Name CboSatuan

    DatabaseName Cahaya.MDB RecordsetType 0-Table

    Data1

    RecordSource Barang

    5.2 Pembuatan Kode Program Langkah selanjutnya adalah membuat Kode Program untuk form barang. Program berikut ini anda buat pada Object General (yang terletak paling atas atau bisa anda ketikkan di bawah End Sub apa saja )

    Sub TampilRECORD() With Data1.Recordset txtNama.Text = !Nama cboSatuan.Text = !Satuan txtHarga.Text = !Harga txtStock.Text = !Stock End With Rubah False, True, True, True CmdProses(1).Caption = "EDIT" End Sub Sub Simpan(log As Boolean) With Data1.Recordset If log Then .AddNew Else .Edit !Kode = txtKD.Text !Nama = txtNama.Text !Satuan = cboSatuan.Text !Harga = txtHarga.Text !Stock = txtStock.Text .Update End With

  • Modul : Belajar Bahasa Pemrograman Visual Basic + Database Hal : 19

    MESRAN, S.KOM, M.KOM

    Call Hapus txtKD.SetFocus End Sub Sub Rubah(L0 As Boolean, L1 As Boolean, L2 As Boolean, L3 As Boolean) CmdProses(0).Enabled = L0 CmdProses(1).Enabled = L1 CmdProses(2).Enabled = L2 CmdProses(3).Enabled = L3 End Sub Sub Hapus() txtKD.Text = "" txtNama.Text = "" cboSatuan.Text = "" txtHarga.Text = "" txtStock.Text = "" CmdProses(1).Caption = "SIMPAN" Rubah True, False, False, False AKTIF False End Sub Sub AKTIF(log As Boolean) txtNama.Locked = Not log cboSatuan.Locked = Not log txtHarga.Locked = Not log txtStock.Locked = Not log End Sub

    Double Click lah Command PROSES (Baru/Simpan/Edit/Hapus/Batal) dan buatlah program berikut ini :

    Private Sub CmdProses_Click(Index As Integer) Select Case Index Case 0 Call Hapus txtKD.SetFocus Rubah False, True, False, True Case 1 If CmdProses(1).Caption = "SIMPAN" Then Simpan(True) Else Simpan(False) Call Hapus txtKD.SetFocus Case 2 x = MsgBox("YAKIN ! Data akan dihapus ?", vbCritical + vbYesNo, "Hapus Record") If x = vbYes Then Data1.Recordset.Delete End If Call Hapus

  • Modul : Belajar Bahasa Pemrograman Visual Basic + Database Hal : 20

    MESRAN, S.KOM, M.KOM

    txtKD.SetFocus Case 3 Call Hapus txtKD.SetFocus Case 4 Unload Me End Select End Sub

    Double Click lah Form, pilih event Activate dan buatlah program berikut ini : Private Sub Form_Activate() txtKD.SetFocus End Sub

    Double Click lah Form, pilih event Load dan buatlah program berikut ini :

    Private Sub Form_Load() Call Hapus CenterFORM Me AddSatuan cboSatuan End Sub

    Double Click lah Texbox Harga pilih event Change dan buatlah program berikut ini : Private Sub txtHarga_Change() If txtHarga.Text = "0" Then Exit Sub End If txtHarga.Text = Format(txtHarga.Text, "###,###,###") txtHarga.SelStart = Len(txtHarga.Text) End Sub

    Double Click lah TextBox Harga, pilih event Keypress dan buatlah program berikut ini :

    Private Sub TxtHarga_KeyPress(KeyAscii As Integer) If Not (KeyAscii >= Asc(0) And KeyAscii

  • Modul : Belajar Bahasa Pemrograman Visual Basic + Database Hal : 21

    MESRAN, S.KOM, M.KOM

    CmdProses_Click 3 End If Case 112 ListBarang.Data1.Refresh ListBarang.Left = Me.Left + 1900 ListBarang.Top = Me.Top + 1550 ListBarang.Show End Select End Sub

    Double Click lah TextBox Kode, pilih event Keypress dan buatlah program berikut ini : Private Sub txtKD_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then If txtKD.Text = "" Then Exit Sub If DBFind(Data1.Recordset, "KODE", txtKD.Text) Then TampilRECORD Else x = txtKD.Text Call Hapus txtKD.Text = x Rubah False, True, False, True End If AKTIF True txtNama.SetFocus End If End Sub

    Double Click lah TextBox Nama, pilih KeyDown dan buatlah program berikut ini : Private Sub txtNama_KeyDown(KeyCode As Integer, Shift As Integer) If KeyCode = 27 Then txtKD.SetFocus End Sub

    Double Click lah TextBox Nama, pilih event Keypress dan buatlah program berikut ini : Private Sub txtNama_KeyPress(KeyAscii As Integer) If CheckENTER(KeyAscii, txtNama) Then PINDAH KeyAscii, cboSatuan End Sub

    Double Click lah Combo Box Satuan, pilih event Keypress dan buatlah program ini :

    Private Sub CboSatuan_KeyPress(KeyAscii As Integer) If CheckENTER(KeyAscii, cboSatuan) Then PINDAH KeyAscii, txtHarga End Sub

    Double Click lah TextBox Stock, pilih event Keypress dan buatlah program berikut ini : Private Sub txtStock_KeyPress(KeyAscii As Integer) If Not (KeyAscii >= Asc(0) And KeyAscii

  • Modul : Belajar Bahasa Pemrograman Visual Basic + Database Hal : 22

    MESRAN, S.KOM, M.KOM

    If CheckENTER(KeyAscii, txtStock) Then MoveTO 13 End Sub Setelah semua program diatas selesai, janganlah lupa untuk selalu menyimpan program

    yang telah anda ketik. Dan jika anda membawa Disket jangan lupa untuk menyimpan data ke Disket untuk menghindari sewaktu-waktu data yang berada di dalam HardDisk hilang atau rusak.

    5.3 FORM List Barang

    Tambahkan sebuah Form dengan cara pilih Project | Add Form. Aturlah properti dari form tersebut dengan : Name : ListBarang

    Caption : List Barang Border Style : 0-None BackColor : Pilih Warna BIRU MDIChild : True

    Simpan Form tersebut dengan cara click Icon Disket pada Toolbar, pastikan pada File Name tertulis ListBarang kemudian click Save.

    Desainlah ListBarang tersebut seperti di bawah ini

    Properties Object Properti Setting

    DBGrid1 DataSource Data1 DatabaseName Cahaya.MDB RecordsetType 0-Table

    Data1

    RecordSource Barang Setelah anda rubah propertis di atas maka click kanan pada objek DBGRID1 lalu pilih Retrieve Fields 5.4 Kode Program LIST BARANG

    Langkah selanjutnya adalah membuat Kode Program untuk List Barang

    Double Click lah DBGrid1, pilih event KeyDown dan buatlah program berikut ini :

    DBGRID1

  • Modul : Belajar Bahasa Pemrograman Visual Basic + Database Hal : 23

    MESRAN, S.KOM, M.KOM

    Private Sub DBGrid1_KeyDown(KeyCode As Integer, Shift As Integer) Select Case KeyCode Case 27 Me.Hide Case 112 With Data1.Recordset frmBarang.txtKD.Text = !Kode frmBarang.txtNama.Text = !Nama frmBarang.txtStock.Text = !Stock frmBarang.cboSatuan.Text = !Satuan frmBarang.txtHarga.Text = !Harga End With Me.Hide End Select End Sub Double Click lah Form, pilih event KeyDown dan buatlah program berikut ini : Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer) If KeyCode = 27 Then Me.Hide End Sub

    5.5 Menghubungkan ke MENU UTAMA

    Agar program Form Data Barang dapat di pangggil melalui Menu Utama maka lakukanlah langkah-langkah sebagai berikut.

    a. Double Click lah Form MDI anda (Menu Utama) b. Click Transaksi (yang berada di Form MDI), selanjutnya click Data Barang. Ketikkan

    program berikut :

    Private Sub mnT1_Click() frmBarang.Show

    End Sub

    Sekarang coba anda jalankan program tersebut dan pilih File kemudian click Barang. Maka akan tampil Form Data Barang.

    Isikan Data BARANG berikut ini :

    Kode Nama Satuan Harga Stock 0001 SEMEN PADANG 40 Kg SAK 27500 170002 SEMEN IGASAR SAK 28000 200003 Paku 1 Inchi Kg 1000 500004 Paku 1/2 Inchi Kg 500 400005 Paku 2 Inchi Kg 1750 350006 Paku Beton 1 Inchi Kg 2500 450007 Triplek Lembar 21500 500008 Triplek Tebal Lembar 35000 320009 Seng Yonaf Lembar 15700 1000010 Kayu 2 Batang 10500 100

  • Modul : Belajar Bahasa Pemrograman Visual Basic + Database Hal : 24

    MESRAN, S.KOM, M.KOM

    0011 Kayu 4 Batang 21500 570012 Cat Tembok Bend Kaleng 25000 350013 Cat Minyak 2 Kg Kaleng 10500 110014 Cat Minyak 1 Kg Kaleng 7500 130015 Cat Tembok Kaleng 21000 17

    TUGAS

    1. Tambahkah record barang sebanyak 15 record lagi sehingga total record menjadi 30 record

    2. Pada Form SUPPLIER & FORM PELANGGAN anda buatkan masing-masing list dari

    recordnya, seperti pada form Barang.

  • Modul : Belajar Bahasa Pemrograman Visual Basic + Database Hal : 25

    MESRAN, S.KOM, M.KOM

    BAB VI Pembuatan Laporan dari Data Master ( Bagian I - LAPORAN SUPPLIER)

    Pada Bab ini kita akan membahas tentang Crystal Reports. Kegunaan yang paling

    utama adalah sebagai sarana menampilkan laporan. Disini yang akan kita buat adalah laporan dari : Supplier, Pelanggan dan Barang. 5.1 Laporan Data Supplier.

    Adapun langkah-langkah menggunakan Crystal Reports dalam pembuatan Laporan Data Supplier adalah : 1. Click menu Project | More ActiveX Designers | Crystal Reports 7. 2. Akan keluar sebuah dialog seperti berikut :

    Click

    3. Pilih Empty Report, kemudian click OK. 4. Anda perhatikan pada kotak Project Propertis (sebelah kanan tengah). Muncul Form1 &

    CrystalReport1. Anda rubah properti menjadi

    Double Click CrystalReport1 Name : RptSupplier Double Click Form1 Name : LapSupplier Caption : LAPORAN DATA SUPPLIER MDIChild : True WindowsState : 2-Maximized Setelah properti diatas anda rubah kemudian simpan program tersebut dengan cara Click Icon Disket.

    5. Kemudian pada bagian tengah Form, anda Double Click sehingga muncul kode-kode program seperti berikut :

  • Modul : Belajar Bahasa Pemrograman Visual Basic + Database Hal : 26

    MESRAN, S.KOM, M.KOM

    Dim Report As New CrystalReport1 Private Sub Form_Load() Screen.MousePointer = vbHourglass CRViewer1.ReportSource = Report CRViewer1.ViewReport Screen.MousePointer = vbDefault CRViewer1.EnableRefreshButton = True End Sub Private Sub Form_Resize() CRViewer1.Top = 0 CRViewer1.Left = 0 CRViewer1.Height = ScaleHeight CRViewer1.Width = ScaleWidth End Sub

    pada bagian Dim Report As New CrystalReport1 rubah menjadi Dim Report As New RptSupplier Hal ini kita rubah karena CrystalReport1 sebelumnya telah kita rubah menjadi RptSupplier

    6. Sampai tahap ini Crystal Report (RptSupplier) yang telah kita buat masih kosong. Double Click RptSupplier.

    Pada Main Report Database terdapat beberapa Pilihan. Anda Click Kanan Pada Database Fields anda pilih Add Database to Report. Kemudian anda cari File database yang anda miliki yaitu Cahaya.MDB. Setelah anda pilih & anda click Open, akan keluar sebuah dialog yaitu Select Table.

    Anda click Table yang anda inginkan yaitu Supplier. Kemudian Click OK sebanyak dua kali.

    7. Pada bagian + Database Fields anda click + kemudian tabel Supplier anda click +

    sehingga isi dari tabel Supplier akan tampak. 8. Untuk Judul dari Laporan seperti Laporan Data Supplier dan Judul CV dapat anda

    buat dengan cara Click Text Object pada ToolBox (Crystal Report) yang bertuliskan ab. Caranya yaitu : - Click ab (Text Object), kemudian anda letakkan pada bagian Report Header

    (Section1), cukup click saja. - Untuk menuliskan textnya cukup dengan Double Click kotak yang terbentuk dan

    tulislah Text Laporan Data Supplier , selesai menuliskan cukup click di luar kotak.

    - Untuk merubah jenis huruf, font size, style click kanan kotak tulisan tersebut pilih Format. Carilah Tab Font dan atur sesuai dengan keinginan anda, begitu juga untuk membuat rata kiri, tengah, kanan, cari pada Tab Common.

    Anda Tambahkan

  • Modul : Belajar Bahasa Pemrograman Visual Basic + Database Hal : 27

    MESRAN, S.KOM, M.KOM

    9. Untuk mengisikan data data dari Table Supplier yaitu dengan cara pindahkan Field yang ada dalam Tabel Supplier misalnya field KdSupplier, cukup Click & bawa ke Bagian Detail (Section03). Ingat pada saat memindahkan mouse jangan di lepas. Sehingga akan terbentuk seperti dibawah.

    Untuk field berikutnya lakukan cara yang sama seperti pada KdSupplier. Atur seperti gambar di bawah ini. Untuk merubah Text pada bagian Text Header cukup double click textnya kemudian tulis text yang ada inginkan, dan membesarkan kotak objectnya dengan cara tarik kotak-kotak pada bagian text object pada saat object ter-click (bukan double click).

    10. Click kanan bagian Detail di sebelah kanan KdSupplier. Pilih Insert | Special Field

    kemudian anda pilih Record Number. Letakkan di sebelah Kiri KdSupplier. Pada bagian Page Header text Record Number anda ganti menjadi No.

    11. Click kanan bagian Report Footer di sebelah kanan Medan, . Pilih Insert | Special Field kemudian anda pilih PrintDate. Letakkan di sebelah Kanan Medan,.

    12. Untuk menggambar kotak, anda click Box Object (Object no. 4). Anda click kemudian gambarkan kotak pada bagian Page Header. Seperti di bawah ini :

  • Modul : Belajar Bahasa Pemrograman Visual Basic + Database Hal : 28

    MESRAN, S.KOM, M.KOM

    13. Untuk membuat garis antara No dengan Kode Distributor atau yang lainnya, bisa dibuat dengan object Line Object. (Object No. 3)

    14. Simpanlah Project anda.

    6.2 Menghubungkan ke Menu Utama Agar program Laporan Data Supplier dapat di pangggil melalui Menu Utama maka

    lakukanlah langkah-langkah sebagai berikut. a. Double Click lah Form MDI anda (Menu Utama) b. Click Laporan (yang berada di Form MDI), selanjutnya click Lap. Supplier. Ketikkan

    program berikut :

    Private Sub mnL2_Click() LapSupplier.Show End Sub

    c. Kemudian pilih menu Project | Propertis, pada StartUp Object rubah menjadi MenuUtama.

    Sekarang anda tes Laporan Data Supplier , apakah sesuai dengan yang anda harapkan.

    Apakah bentuk Laporan anda seperti ini :

  • Modul : Belajar Bahasa Pemrograman Visual Basic + Database Hal : 29

    MESRAN, S.KOM, M.KOM

    BAB VII Pembuatan Laporan dari Data Master ( Bagian II - LAPORAN PELANGGAN )

    7.1 Laporan Data Pelanggan.

    Adapun langkah-langkah menggunakan Crystal Reports dalam pembuatan Laporan Data Pelanggan hampir menyerupai Laporan Data Supplier, yaitu : 1. Click menu Project | More ActiveX Designers | Crystal Reports 7. 2. Akan keluar sebuah dialog seperti berikut :

    Click

    3. Pilih Empty Report, kemudian click OK. 4. Anda perhatikan pada kotak Project Propertis (sebelah kanan tengah). Muncul Form1 &

    CrystalReport1. Anda rubah properti menjadi

    Double Click CrystalReport1 Name : RptPelanggan Double Click Form1 Name : LapPelanggan Caption : LAPORAN DATA PELANGGAN MDIChild : True WindowsState : 2-Maximized Setelah properti diatas anda rubah kemudian simpan program tersebut dengan cara Click Icon Disket.

    5. Kemudian pada bagian tengah Form, anda Double Click sehingga muncul kode-kode program seperti berikut :

    Dim Report As New CrystalReport1 Private Sub Form_Load() Screen.MousePointer = vbHourglass CRViewer1.ReportSource = Report

  • Modul : Belajar Bahasa Pemrograman Visual Basic + Database Hal : 30

    MESRAN, S.KOM, M.KOM

    CRViewer1.ViewReport Screen.MousePointer = vbDefault CRViewer1.EnableRefreshButton = True End Sub

    Private Sub Form_Resize() CRViewer1.Top = 0 CRViewer1.Left = 0 CRViewer1.Height = ScaleHeight CRViewer1.Width = ScaleWidth End Sub

    pada bagian Dim Report As New CrystalReport1 rubah menjadi Dim Report As New RptPelanggan Hal ini kita rubah karena CrystalReport1 sebelumnya telah kita rubah menjadi RptPelanggan

    6. Sampai tahap ini Crystal Report (RptPelanggan) yang telah kita buat masih kosong. Double Click RptPelanggan.

    Pada Main Report Database terdapat beberapa Pilihan. Anda Click Kanan Pada Database Fields anda pilih Add Database to Report. Kemudian anda cari File database yang anda miliki yaitu Cahaya.MDB. Setelah anda pilih & anda click Open, akan keluar sebuah dialog yaitu Select Table.

    Anda click Table yang anda inginkan yaitu Pelanggan. Kemudian Click OK sebanyak dua kali.

    7. Pada bagian + Database Fields anda click + kemudian tabel Pelanggan anda click +

    sehingga isi dari tabel Pelanggan akan tampak. 8. Untuk Judul dari Laporan seperti Laporan Data Pelanggan & Judul CV dapat anda

    buat dengan cara Click Text Object pada ToolBox (Crystal Report) yang bertuliskan ab. Caranya yaitu :

    - Click ab (Text Object), kemudian anda letakkan pada bagian Report Header

    (Section1), cukup click saja. - Untuk menuliskan textnya cukup dengan Double Click kotak yang terbentuk dan

    tulislah Text Laporan Data Pelanggan , selesai menuliskan cukup click di luar kotak.

    - Untuk merubah jenis huruf, font size, style click kanan kotak tulisan tersebut pilih

    Format. Carilah Tab Font dan atur sesuai dengan keinginan anda, begitu juga untuk membuat rata kiri, tengah, kanan, cari pada Tab Common.

    9. Untuk mengisikan data-data dari Table Pelanggan yaitu dengan cara pindahkan Field

    yang ada dalam Tabel Pelanggan misalnya field KdPelanggan, cukup Click & bawa ke

    Anda Tambahkan

  • Modul : Belajar Bahasa Pemrograman Visual Basic + Database Hal : 31

    MESRAN, S.KOM, M.KOM

    Bagian Detail (Section03). Ingat pada saat memindahkan mouse jangan di lepas. Sehingga akan terbentuk seperti berikut :

    Untuk field berikutnya lakukan cara yang sama seperti pada KdPelanggan. Atur seperti gambar di bawah. Untuk merubah Text pada bagian Text Header cukup double click textnya kemudian tulis text yang ada inginkan, dan membesarkan kotak objectnya dengan cara tarik kotak-kotak pada bagian text object pada saat object terclick (bukan double click).

    10. Click kanan bagian Detail di sebelah Kiri KdPelanggan. Pilih Insert | Special Field

    kemudian anda pilih Record Number. Letakkan di sebelah Kiri KdPelanggan. Pada bagian Page Header text Record Number anda ganti menjadi No.

    11. Click kanan bagian Report Footer di sebelah kanan Medan, . Pilih Insert | Special Field kemudian anda pilih PrintDate. Letakkan di sebelah Kanan Medan,.

    12. Untuk menggambar kotak, anda click Box Object (Object no. 4). Anda click kemudian gambarkan kotak pada bagian Page Header. Seperti di bawah ini :

  • Modul : Belajar Bahasa Pemrograman Visual Basic + Database Hal : 32

    MESRAN, S.KOM, M.KOM

    13. Untuk membuat garis antara No dengan Kode Distributor atau yang lainnya, bisa dibuat

    dengan object Line Object. (Object No. 3) 14. Simpanlah Project anda.

    7.2 Menghubungkan ke Menu Utama Agar program Laporan Data Konsumen dapat di pangggil melalui Menu Utama maka

    lakukanlah langkah-langkah sebagai berikut. a. Double Click lah Form MDI anda (Menu Utama) b. Click Laporan (yang berada di Form MDI), selanjutnya click Lap. Pelanggan.

    Ketikkan program berikut :

    Private Sub mnL3_Click() LapPelanggan.Show End Sub

    c. Kemudian pilih menu Project | Propertis, pada StartUp Object rubah menjadi MenuUtama.

  • Modul : Belajar Bahasa Pemrograman Visual Basic + Database Hal : 33

    MESRAN, S.KOM, M.KOM

    Sekarang anda tes Laporan Data Pelanggan, apakah sesuai dengan yang anda harapkan. Output Laporan Pelanggan

  • Modul : Belajar Bahasa Pemrograman Visual Basic + Database Hal : 34

    MESRAN, S.KOM, M.KOM

    BAB VIII Pembuatan Laporan dari Data Master ( Bagian II - LAPORAN BARANG)

    8.1 Laporan Data Barang.

    Adapun langkah-langkah menggunakan Crystal Reports dalam pembuatan Laporan Data Barang adalah : 1. Click menu Project | More ActiveX Designers | Crystal Reports 7. 2. Akan keluar sebuah dialog seperti berikut : 3. Pilih Empty Report, kemudian click OK. 4. Anda perhatikan pada kotak Project Propertis (sebelah kanan tengah). Muncul Form1 &

    CrystalReport1. Anda rubah properti menjadi

    Double Click CrystalReport1 Name : RptBarang Double Click Form1 Name : LapBarang Caption : LAPORAN PERSEDIAAN BARANG MDIChild : True WindowsState : 2-Maximized Setelah properti diatas anda rubah kemudian simpan program tersebut dengan cara Click Icon Disket.

    5. Kemudian pada bagian tengah Form, anda Double Click sehingga muncul kode-kode program seperti berikut :

    Dim Report As New CrystalReport1 Private Sub Form_Load() Screen.MousePointer = vbHourglass CRViewer1.ReportSource = Report

  • Modul : Belajar Bahasa Pemrograman Visual Basic + Database Hal : 35

    MESRAN, S.KOM, M.KOM

    CRViewer1.ViewReport Screen.MousePointer = vbDefault CRViewer1.EnableRefreshButton = True End Sub Private Sub Form_Resize() CRViewer1.Top = 0 CRViewer1.Left = 0 CRViewer1.Height = ScaleHeight CRViewer1.Width = ScaleWidth End Sub

    pada bagian Dim Report As New CrystalReport1 rubah menjadi Dim Report As New RptBarang Hal ini kita rubah karena CrystalReport1 sebelumnya telah kita rubah menjadi RptBarang

    6. Sampai tahap ini Crystal Report (RptDistributor) yang telah kita buat masih kosong. Double Click RptDistributor.

    Pada Main Report Database terdapat beberapa Pilihan. Anda Click Kanan Pada Database Fields anda pilih Add Database to Report. Kemudian anda cari File database yang anda miliki yaitu Cahaya.MDB. Setelah anda pilih & anda click Open, akan keluar sebuah dialog yaitu Select Table.

    Anda click Table yang anda inginkan yaitu Barang. Kemudian Click OK sebanyak dua kali.

    7. Pada bagian + Database Fields anda click + kemudian tabel Barang anda click +

    sehingga isi dari tabel Barang akan tampak. 8. Untuk Judul dari Laporan seperti Laporan Persediaan Barang & Judul CV dapat

    anda buat dengan cara Click Text Object pada ToolBox (Crystal Report) yang bertuliskan ab. Caranya yaitu : - Click ab (Text Object), kemudian anda letakkan pada bagian Report Header

    (Section1), cukup click saja. - Untuk menuliskan textnya cukup dengan Double Click kotak yang terbentuk dan

    tulislah Text Laporan Persediaan Barang , selesai menuliskan cukup click di luar kotak.

    - Untuk merubah jenis huruf, font size, style click kanan kotak tulisan tersebut pilih

    Format. Carilah Tab Font dan atur sesuai dengan keinginan anda, begitu juga untuk membuat rata kiri, tengah, kanan, cari pada Tab Common.

    9. Untuk mengisikan data data dari Table Barang yaitu dengan cara pindahkan Field yang

    ada dalam Tabel Barang misalnya field Kode, cukup Click & bawa ke Bagian Detail

    Anda Tambahkan

  • Modul : Belajar Bahasa Pemrograman Visual Basic + Database Hal : 36

    MESRAN, S.KOM, M.KOM

    (Section03). Ingat pada saat memindahkan mouse jangan di lepas. Sehingga akan terbentuk seperti dibawah.

    Untuk field berikutnya lakukan cara yang sama seperti pada Field Kode. Atur seperti gambar di bawah. Untuk merubah Text pada bagian Text Header cukup double click textnya kemudian tulis text yang ada inginkan, dan membesarkan kotak objectnya dengan cara tarik kotak-kotak pada bagian text object pada saat object terclick (bukan double click).

    10. Click Kanan pada bagian Detail(section3), pilih Designer | Priter Setup, pada Frame Orientation anda Click Landscape. Yang berguna untuk merubah bentuk kertas dari Portrait menjadi Landscape.

    11. Click kanan bagian Detail di sebelah Kiri Kode Barang. Pilih Insert | Special Field

    kemudian anda pilih Record Number. Letakkan di sebelah kanan Kode. Pada bagian Page Header text Record Number anda ganti menjadi No.

    12. Click kanan bagian Report Footer di sebelah kanan Medan, . Pilih Insert | Special Field

    kemudian anda pilih PrintDate. Letakkan di sebelah Kanan Medan,.

    13. Untuk menggambar kotak, anda click Box Object (Object no. 4). Anda click kemudian gambarkan kotak pada bagian Page Header. Seperti di bawah ini :

  • Modul : Belajar Bahasa Pemrograman Visual Basic + Database Hal : 37

    MESRAN, S.KOM, M.KOM

    14. Untuk membuat garis antara No dengan Kode Barang atau yang lainnya, bisa dibuat dengan object Line Object. (Object No. 3)

    15. Simpanlah Project anda.

    8.2 Menghubungkan ke Menu Utama Agar program Laporan Data Barang dapat di pangggil melalui Menu Utama maka

    lakukanlah langkah-langkah sebagai berikut. a. Double Click lah Form MDI anda (Menu Utama) b. Click Laporan (yang berada di Form MDI), selanjutnya click Lap. Barang. Ketikkan

    program berikut :

    Private Sub mnL1_Click() LapBarang.Show End Sub

    c. Kemudian pilih menu Project | Propertis, pada StartUp Object rubah menjadi MenuUtama.

  • Modul : Belajar Bahasa Pemrograman Visual Basic + Database Hal : 38

    MESRAN, S.KOM, M.KOM

    Sekarang anda tes Laporan Data Barang, apakah sesuai dengan yang anda harapkan. Output Laporan Persediaan Barang

  • Modul : Belajar Bahasa Pemrograman Visual Basic + Database Hal : 39

    MESRAN, S.KOM, M.KOM

    BAB IX FORM TRANSAKSI ( Bagian I - Penjualan Barang)

    9.1 FORM PENJUALAN BARANG (Barang Keluar)

    Tambahkan sebuah Form dengan cara pilih Project | Add Form. Aturlah properti dari form tersebut dengan :

    Name : FrmPenjualan

    Caption : FORM PENJUALAN Border Style : 1-Fixed Single BackColor : &H00FFDDDD& MDIChild : True

    Simpan Form tersebut dengan cara click Icon Disket pada Toolbar, pastikan pada File Name tertulis FrmPenjualan kemudian click Save. Desainlah FrmPenjualan tersebut seperti di bawah ini.

  • Modul : Belajar Bahasa Pemrograman Visual Basic + Database Hal : 40

    MESRAN, S.KOM, M.KOM

    Untuk menambah Object ListView1 & DTPicker1 dengan cara : 1. Tekan Ctrl+T 2. CheckList Microsoft Windows Common Control 6.0 & Microsoft Windows Common

    Control-2 6.0 3. Terakhir Klik OK Properti dari FrmPenjualan

    Object Properti Setting Text1 Name TxtNoBukti Text2 Name TxtKdPelanggan Text3 Name TxtKode Text4 Name TxtNama Text5 Name TxtSatuan Text6 Name TxtHarga Text7 Name TxtJumlah Text8 Name TxtTotal Text9 Name TxtTTotal

    Name DBPelanggan DatabaseName Cahaya.MDB ResordSetType Table

    Data1

    RecordSource Pelanggan Name DBBarang DatabaseName Cahaya.MDB ResordSetType Table

    Data2

    RecordSource Barang Name DBJual DatabaseName Cahaya.MDB ResordSetType Table

    Data3

    RecordSource Penjualan Name CmdTrans Caption BARU

    Command1

    Index 0 Name CmdTrans Caption SIMPAN

    Command1

    Index 1 Name CmdTrans Caption HAPUS

    Command1

    Index 2 Name CmdTrans Caption BATAL

    Command1

    Index 3 Name CmdTrans Caption OK

    Command1

    Index 4 Name CmdHapus Command2 Caption Hapus Barang

    LiistView1 Name LV Combo1 Name CboNama

  • Modul : Belajar Bahasa Pemrograman Visual Basic + Database Hal : 41

    MESRAN, S.KOM, M.KOM

    Name TxtTanggal DTPicker1 Format dtpLongDate

    9.2 Pembuatan Kode Program

    Langkah selanjutnya adalah membuat Kode Program. Dim Lst As ListItem Dim cKdBarang As String Dim nJumlah As Double Dim i As Byte Dim nT As Double Dim nJual As Byte Sub SimpanJUAL() With DBJual.Recordset If txtKdPelanggan.Text = "" Then Exit Sub For i = 1 To LV.ListItems.Count nJumlah = Val(LV.ListItems(i).ListSubItems(4).Text) .AddNew !Nobukti = txtNoBukti.Text !Tanggal = txtTanggal.Value !KdPelanggan = txtKdPelanggan.Text !Kode = LV.ListItems(i).Text !Jumlah = nJumlah .Update If DBFind(DBBarang.Recordset, "Kode", LV.ListItems(i).Text) Then DBBarang.Recordset.Edit DBBarang.Recordset!Stock = DBBarang.Recordset!Stock - nJumlah DBBarang.Recordset.Update End If Next i End With Call Hapus End Sub Sub HapusJual() With DBJual.Recordset If DBJual.Recordset.RecordCount = 0 Then Exit Sub .MoveFirst Do While Not .EOF cKdBarang = DBJual.Recordset!Kode nJumlah = DBJual.Recordset!Jumlah If DBJual.Recordset!Nobukti = txtNoBukti.Text Then DBFind DBBarang.Recordset, "Kode", cKdBarang DBBarang.Recordset.Edit DBBarang.Recordset!Stock = DBBarang.Recordset!Stock + nJumlah DBBarang.Recordset.Update DBJual.Recordset.Delete

  • Modul : Belajar Bahasa Pemrograman Visual Basic + Database Hal : 42

    MESRAN, S.KOM, M.KOM

    End If .MoveNext Loop End With End Sub Sub EditJUAL() HapusJual SimpanJUAL End Sub Sub ShowJual() With DBJual.Recordset If DBJual.Recordset.RecordCount = 0 Then Exit Sub .MoveFirst Do While Not .EOF If DBJual.Recordset!Nobukti = txtNoBukti.Text Then cKdBarang = DBJual.Recordset!Kode nJumlah = DBJual.Recordset!Jumlah DBFind DBBarang.Recordset, "Kode", cKdBarang Set Lst = LV.ListItems.Add(, , cKdBarang) Lst.SubItems(1) = DBBarang.Recordset!Nama Lst.SubItems(2) = DBBarang.Recordset!Satuan Lst.SubItems(3) = Format(DBBarang.Recordset!Harga, "###,###") Lst.SubItems(4) = nJumlah Lst.SubItems(5) = Format(DBBarang.Recordset!Harga * nJumlah, "###,###,#") End If .MoveNext Loop End With End Sub Sub TampilRECORD() With DBJual.Recordset txtTanggal.Value = !Tanggal txtKdPelanggan.Text = !KdPelanggan DBFind DBPelanggan.Recordset, "KDPELANGGAN", txtKdPelanggan.Text cboNama.Text = DBPelanggan.Recordset!Nama CmdTrans(1).Caption = "EDIT" Rubah False, True, True, True ShowJual CekTotal End With End Sub Sub Tabel() LV.ColumnHeaders.Add , , "Kode", 850

  • Modul : Belajar Bahasa Pemrograman Visual Basic + Database Hal : 43

    MESRAN, S.KOM, M.KOM

    LV.ColumnHeaders.Add , , "Nama", 3250 LV.ColumnHeaders.Add , , "Satuan", 1000, 2 LV.ColumnHeaders.Add , , "Harga", 830, 1 LV.ColumnHeaders.Add , , "Qty", 530, 1 LV.ColumnHeaders.Add , , "Nilai", 900, 1 LV.View = lvwReport LV.GridLines = True End Sub Sub Proses() If Not CEKBARANG(txtKode.Text) Then Set Lst = LV.ListItems.Add(, , txtKode.Text) Lst.SubItems(1) = txtNAma.Text Lst.SubItems(2) = txtSatuan.Text Lst.SubItems(3) = Format(txtHarga.Text, "###,###,###") Lst.SubItems(4) = txtJumlah.Text Lst.SubItems(5) = Format(txtTotal.Text, "###,###,###") CekTotal Else MsgBox "Ma'af ! Barang ini telah ada dalam LIST FAKTUR", vbInformation + vbOKOnly, "Barang SUDAH ADA" HapusBarang End If End Sub Function CEKBARANG(txt As String) As Boolean Dim i As Byte CEKBARANG = False For i = 1 To LV.ListItems.Count If txt = LV.ListItems(i).Text Then CEKBARANG = True Exit For End If Next i End Function Sub CekTotal() nT = 0 For i = 1 To LV.ListItems.Count nT = nT + CCur(LV.ListItems(i).ListSubItems(5).Text) Next i txtTTotal.Text = Format(nT, "###,###,#") End Sub Sub Rubah(L0 As Boolean, L1 As Boolean, L2 As Boolean, L3 As Boolean) CmdTrans(0).Enabled = L0 CmdTrans(1).Enabled = L1 CmdTrans(2).Enabled = L2 CmdTrans(3).Enabled = L3 End Sub

  • Modul : Belajar Bahasa Pemrograman Visual Basic + Database Hal : 44

    MESRAN, S.KOM, M.KOM

    Sub Hapus() txtNoBukti.Text = "" txtKdPelanggan.Text = "" cboNama.Text = "" txtTanggal.Value = Now LV.ListItems.Clear txtTTotal.Text = "" txtKode.Locked = True txtJumlah.Locked = True txtTTotal.Locked = True CmdTrans(1).Caption = "SIMPAN" Rubah True, False, False, False End Sub Sub HapusBarang() txtKode.Text = "" txtNAma.Text = "" txtSatuan.Text = "" txtHarga.Text = "" txtJumlah.Text = "" txtTotal.Text = "" End Sub Private Sub cboNama_Click() If DBFind(DBPelanggan.Recordset, "Nama", cboNama.Text) Then txtKdPelanggan.Text = DBPelanggan.Recordset!KdPelanggan End If End Sub Private Sub cboNama_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then txtKode.SetFocus End Sub Private Sub cmdHapus_Click() If LV.ListItems.Count = 0 Then MsgBox "Record Belum ada Dalam Tabel!", vbOKOnly + vbInformation, "Pilih..." Else LV.ListItems.Remove LV.SelectedItem.Index CekTotal End If End Sub Private Sub Form_Activate() Add2List DBPelanggan.Recordset, DBPelanggan.Recordset!Nama, cboNama cboNama_Click txtNoBukti.SetFocus End Sub Private Sub Form_Load()

  • Modul : Belajar Bahasa Pemrograman Visual Basic + Database Hal : 45

    MESRAN, S.KOM, M.KOM

    CenterFORM Me Hapus HapusBarang Tabel End Sub Private Sub txtJumlah_KeyDown(KeyCode As Integer, Shift As Integer) If KeyCode = 27 Then HapusBarang txtKode.SetFocus End If End Sub Private Sub CmdTrans_Click(Index As Integer) Select Case Index Case 0 Call Hapus Rubah False, True, False, True txtNoBukti.SetFocus Case 1 If CmdTrans(1).Caption = "SIMPAN" Then SimpanJUAL Else EditJUAL Call Hapus txtNoBukti.SetFocus Case 2 x = MsgBox("YAKIN ! Data akan dihapus ?", vbCritical + vbYesNo, "Hapus Record") If x = vbYes Then HapusJual Call Hapus txtNoBukti.SetFocus Case 3 Call Hapus Call HapusBarang txtNoBukti.SetFocus Case 4 Unload Me End Select End Sub Private Sub txtJumlah_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then If txtJumlah.Text = "" Then Exit Sub If txtJumlah.Text > nJual Then MsgBox "Ma'af ! Jumlah barang tidak mencukupi untuk di jual", vbInformation + vbOKOnly, "Stock Kurang" txtJumlah.Text = nJual Exit Sub

  • Modul : Belajar Bahasa Pemrograman Visual Basic + Database Hal : 46

    MESRAN, S.KOM, M.KOM

    End If txtTotal.Text = txtJumlah.Text * txtHarga.Text Call Proses HapusBarang txtKode.SetFocus End If End Sub Private Sub txtKdPelanggan_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then cboNama.SetFocus End Sub Private Sub txtKode_KeyDown(KeyCode As Integer, Shift As Integer) If KeyCode = 27 Then txtNoBukti.SetFocus End Sub Private Sub txtKode_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then If txtKode.Text = "" Then Exit Sub If DBFind(DBBarang.Recordset, "Kode", txtKode) Then With DBBarang.Recordset txtNAma.Text = !Nama txtSatuan.Text = !Satuan txtHarga.Text = !Harga txtJumlah.Text = !Stock nJual = !Stock txtJumlah.SetFocus End With Else MsgBox "Ma'af ! Data barang ini tidak ada...", vbInformation + vbOKOnly, "Not Found" txtKode.SetFocus End If End If End Sub Private Sub txtNoBukti_KeyDown(KeyCode As Integer, Shift As Integer) Select Case KeyCode Case 27 If txtNoBukti.Text = "" Then Me.Hide Else CmdTrans_Click 3 End If End Select End Sub Private Sub txtNoBukti_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then

  • Modul : Belajar Bahasa Pemrograman Visual Basic + Database Hal : 47

    MESRAN, S.KOM, M.KOM

    If txtNoBukti.Text = "" Then Exit Sub If DBFind(DBJual.Recordset, "NOBUKTI", txtNoBukti) Then TampilRECORD Else x = txtNoBukti.Text Call Hapus txtNoBukti.Text = x Rubah False, True, False, True End If txtKode.Locked = False txtJumlah.Locked = False txtTanggal.SetFocus End If End Sub Private Sub txtTanggal_KeyDown(KeyCode As Integer, Shift As Integer) If KeyCode = 27 Then txtNoBukti.SetFocus End Sub

    Setelah semua program diatas selesai, janganlah lupa untuk selalu menyimpan program yang telah anda ketik. Dan jika anda membawa Disket jangan lupa untuk menyimpan data ke Disket untuk menghindari sewaktu-waktu data yang berada di dalam HardDisk hilang atau rusak.

    9.3 Menghubungkan ke Menu Utama Agar program Form Data Penjualan Barang dapat di pangggil melalui Menu Utama maka

    lakukanlah langkah-langkah sebagai berikut. a. Double Click lah Form MDI anda (Menu Utama) b. Click Transaksi (yang berada di Form MDI), selanjutnya click Penjualan Barang.

    Ketikkan program berikut :

    Private Sub mnT3_Click()

    FrmPenjualan.Show End Sub

    c. Pastikan StartUp Object telah MenuUTAMA. Sekarang coba anda jalankan program tersebut dan pilih Transaksi kemudian click

    Penjualan Barang. Maka akan tampil Form Data Penjualan Barang.

  • Modul : Belajar Bahasa Pemrograman Visual Basic + Database Hal : 48

    MESRAN, S.KOM, M.KOM

    Isikan data-data Penjualan Barang berikut ini. Data ke 1 No Faktur : 10000 Tanggal : 27 Nopember 2005 Kode Pelanggan : P002 Nama : Anto Hud

    Kode Nama Satuan Harga Jumlah Nilai 0006 Paku Beton 1 Inchi Kg 2500 1 ?0007 Triplek Lembar 21500 5 ?0010 Kayu 2 Batang 10500 10 ?

    Data ke 2 No Faktur : 10001 Tanggal : 29 Desember 2005 Kode Pelanggan : P010 Nama : Haryadi, S.Kom

    Kode Nama Satuan Harga Jumlah Nilai 0001 SEMEN PADANG 40 Kg SAK 27500 6 ?0003 Paku 1 Inchi Kg 1000 5 ?

    Data ke 3 No Faktur : 10002 Tanggal : 5 Desember 2005 Kode Pelanggan : P008 Nama : Indra Saputra

    Kode Nama Satuan Harga Jumlah Nilai 0011 Kayu 4 Batang 21500 7 ?0012 Cat Tembok Bend Kaleng 25000 5 ?0014 Cat Minyak 1 Kg Kaleng 7500 3 ?0002 SEMEN IGASAR SAK 28000 2 ?

    Data ke 4 No Faktur : 1010 Tanggal : 10 Desember 2005 Kode Pelanggan : P010 Nama : Haryadi, S.Kom

    Kode Nama Satuan Harga Jumlah Nilai 0001 SEMEN PADANG 40 Kg SAK 27500 2 ?

  • Modul : Belajar Bahasa Pemrograman Visual Basic + Database Hal : 49

    MESRAN, S.KOM, M.KOM

    BAB X FORM TRANSAKSI ( Bagian II Pembelian Barang)

    10.1 FORM PEMBELIAN BARANG(Barang Masuk)

    Tambahkan sebuah Form dengan cara pilih Project | Add Form. Aturlah properti dari form tersebut dengan :

    Name : FrmPembelian

    Caption : FORM PEMBELIAN Border Style : 1-Fixed Single BackColor : &H00FFDDDD& MDIChild : True Simpan Form tersebut dengan cara click Icon Disket pada Toolbar, pastikan pada File

    Name tertulis FrmPembelian kemudian click Save.

    Desainlah FrmPembelian tersebut seperti di bawah ini.

  • Modul : Belajar Bahasa Pemrograman Visual Basic + Database Hal : 50

    MESRAN, S.KOM, M.KOM

    Untuk menambah Object ListView1 & DTPicker1 dengan cara : 1. Tekan Ctrl+T 2. CheckList Microsoft Windows Common Control 6.0 & Microsoft Windows Common

    Control-2 6.0 3. Terakhir Klik OK Properti dari FrmPenjualan

    Object Properti Setting Text1 Name TxtNoBukti Text2 Name TxtKdSupplier Text3 Name TxtKode Text4 Name TxtNama Text5 Name TxtSatuan Text6 Name TxtHarga Text7 Name TxtJumlah Text8 Name TxtTotal Text9 Name TxtTTotal

    Name DBSupplier DatabaseName Cahaya.MDB ResordSetType Table

    Data1

    RecordSource Supplier Name DBBarang DatabaseName Cahaya.MDB ResordSetType Table

    Data2

    RecordSource Barang Name DBBeli DatabaseName Cahaya.MDB ResordSetType Table

    Data3

    RecordSource Pembelian Name CmdTrans Caption BARU

    Command1

    Index 0 Name CmdTrans Caption SIMPAN

    Command1

    Index 1 Name CmdTrans Caption HAPUS

    Command1

    Index 2 Name CmdTrans Caption BATAL

    Command1

    Index 3 Name CmdTrans Caption OK

    Command1

    Index 4 Name CmdHapus Command2 Caption Hapus Barang

    LiistView1 Name LV Combo1 Name CboNama

  • Modul : Belajar Bahasa Pemrograman Visual Basic + Database Hal : 51

    MESRAN, S.KOM, M.KOM

    Name TxtTanggal DTPicker1 Format dtpLongDate

    10.2 Pembuatan Kode Program Langkah selanjutnya adalah membuat Kode Program.

    Dim Lst As ListItem Dim cKdBarang As String Dim nJumlah As Double Dim i As Byte Dim nT As Double Sub SimpanBELI() With DBBeli.Recordset If txtKdSupplier.Text = "" Then Exit Sub For i = 1 To LV.ListItems.Count nJumlah = Val(LV.ListItems(i).ListSubItems(4).Text) .AddNew !Nobukti = txtNoBukti.Text !Tanggal = txtTanggal.Value !KdSupplier = txtKdSupplier.Text !Kode = LV.ListItems(i).Text !Jumlah = nJumlah .Update If DBFind(DBBarang.Recordset, "Kode", LV.ListItems(i).Text) Then DBBarang.Recordset.Edit DBBarang.Recordset!Stock = DBBarang.Recordset!Stock + nJumlah DBBarang.Recordset.Update End If Next i End With Call Hapus End Sub Sub HapusBeli() With DBBeli.Recordset If DBBeli.Recordset.RecordCount = 0 Then Exit Sub .MoveFirst Do While Not .EOF cKdBarang = DBBeli.Recordset!Kode nJumlah = DBBeli.Recordset!Jumlah If DBBeli.Recordset!Nobukti = txtNoBukti.Text Then DBFind DBBarang.Recordset, "Kode", cKdBarang

  • Modul : Belajar Bahasa Pemrograman Visual Basic + Database Hal : 52

    MESRAN, S.KOM, M.KOM

    DBBarang.Recordset.Edit DBBarang.Recordset!Stock = DBBarang.Recordset!Stock - nJumlah DBBarang.Recordset.Update DBBeli.Recordset.Delete End If .MoveNext Loop End With End Sub Sub EditBeli() HapusBeli SimpanBELI End Sub Sub ShowJual() With DBBeli.Recordset If DBBeli.Recordset.RecordCount = 0 Then Exit Sub .MoveFirst Do While Not .EOF If DBBeli.Recordset!Nobukti = txtNoBukti.Text Then cKdBarang = DBBeli.Recordset!Kode nJumlah = DBBeli.Recordset!Jumlah DBFind DBBarang.Recordset, "Kode", cKdBarang Set Lst = LV.ListItems.Add(, , cKdBarang) Lst.SubItems(1) = DBBarang.Recordset!Nama Lst.SubItems(2) = DBBarang.Recordset!Satuan Lst.SubItems(3) = Format(DBBarang.Recordset!Harga, "###,###") Lst.SubItems(4) = nJumlah Lst.SubItems(5) = Format(DBBarang.Recordset!Harga * nJumlah, "###,###,#") End If .MoveNext Loop End With End Sub Sub TampilRECORD() With DBBeli.Recordset txtTanggal.Value = !Tanggal txtKdSupplier.Text = !KdSupplier DBFind DBSupplier.Recordset, "KdSupplier", txtKdSupplier.Text cboNama.Text = DBSupplier.Recordset!Nama CmdTrans(1).Caption = "EDIT" Rubah False, True, True, True ShowJual CekTotal

  • Modul : Belajar Bahasa Pemrograman Visual Basic + Database Hal : 53

    MESRAN, S.KOM, M.KOM

    End With End Sub Sub Tabel() LV.ColumnHeaders.Add , , "Kode", 850 LV.ColumnHeaders.Add , , "Nama", 3250 LV.ColumnHeaders.Add , , "Satuan", 1000, 2 LV.ColumnHeaders.Add , , "Harga", 830, 1 LV.ColumnHeaders.Add , , "Qty", 530, 1 LV.ColumnHeaders.Add , , "Nilai", 900, 1 LV.View = lvwReport LV.GridLines = True End Sub

    Sub Proses() If Not CEKBARANG(txtKode.Text) Then Set Lst = LV.ListItems.Add(, , txtKode.Text) Lst.SubItems(1) = txtNAma.Text Lst.SubItems(2) = txtSatuan.Text Lst.SubItems(3) = Format(txtHarga.Text, "###,###,###") Lst.SubItems(4) = txtJumlah.Text Lst.SubItems(5) = Format(txtTotal.Text, "###,###,###") CekTotal Else MsgBox "Ma'af ! Barang ini telah ada dalam LIST FAKTUR", vbInformation +

    vbOKOnly, "Barang SUDAH ADA" HapusBarang End If End Sub Function CEKBARANG(txt As String) As Boolean Dim i As Byte CEKBARANG = False For i = 1 To LV.ListItems.Count If txt = LV.ListItems(i).Text Then CEKBARANG = True Exit For End If Next i End Function Sub CekTotal() nT = 0 For i = 1 To LV.ListItems.Count nT = nT + CCur(LV.ListItems(i).ListSubItems(5).Text) Next i txtTTotal.Text = Format(nT, "###,###,#") End Sub

    Sub Rubah(L0 As Boolean, L1 As Boolean, L2 As Boolean, L3 As Boolean) CmdTrans(0).Enabled = L0 CmdTrans(1).Enabled = L1

  • Modul : Belajar Bahasa Pemrograman Visual Basic + Database Hal : 54

    MESRAN, S.KOM, M.KOM

    CmdTrans(2).Enabled = L2 CmdTrans(3).Enabled = L3 End Sub

    Sub Hapus() txtNoBukti.Text = "" txtKdSupplier.Text = "" cboNama.Text = "" txtTanggal.Value = Now LV.ListItems.Clear txtTTotal.Text = "" txtTTotal.Locked = True txtKode.Locked = True txtJumlah.Locked = True CmdTrans(1).Caption = "SIMPAN" Rubah True, False, False, False End Sub Sub HapusBarang() txtKode.Text = "" txtNAma.Text = "" txtSatuan.Text = "" txtHarga.Text = "" txtJumlah.Text = "" txtTotal.Text = "" End Sub Private Sub cboNama_Click() If DBFind(DBSupplier.Recordset, "Nama", cboNama.Text) Then txtKdSupplier.Text = DBSupplier.Recordset!KdSupplier End If End Sub Private Sub cboNama_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then txtKode.SetFocus End Sub Private Sub cmdHapus_Click() If LV.ListItems.Count = 0 Then MsgBox "Record Belum ada Dalam Tabel!", vbOKOnly + vbInformation, "Pilih..." Else LV.ListItems.Remove LV.SelectedItem.Index CekTotal End If End Sub Private Sub Form_Activate() Add2List DBSupplier.Recordset, DBSupplier.Recordset!Nama, cboNama

  • Modul : Belajar Bahasa Pemrograman Visual Basic + Database Hal : 55

    MESRAN, S.KOM, M.KOM

    cboNama_Click txtNoBukti.SetFocus End Sub Private Sub Form_Load() CenterFORM Me Hapus HapusBarang Tabel End Sub Private Sub txtJumlah_KeyDown(KeyCode As Integer, Shift As Integer) If KeyCode = 27 Then HapusBarang txtKode.SetFocus End If End Sub Private Sub CmdTrans_Click(Index As Integer) Select Case Index Case 0 Call Hapus Rubah False, True, False, True txtNoBukti.SetFocus Case 1 If CmdTrans(1).Caption = "SIMPAN" Then SimpanBELI Else EditBeli Call Hapus txtNoBukti.SetFocus Case 2 x = MsgBox("YAKIN ! Data akan dihapus ?", vbCritical + vbYesNo, "Hapus

    Record") If x = vbYes Then HapusBeli Call Hapus txtNoBukti.SetFocus Case 3 Call Hapus Call HapusBarang txtNoBukti.SetFocus Case 4 Unload Me End Select End Sub Private Sub txtJumlah_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then

  • Modul : Belajar Bahasa Pemrograman Visual Basic + Database Hal : 56

    MESRAN, S.KOM, M.KOM

    If txtJumlah.Text = "" Then Exit Sub txtTotal.Text = txtJumlah.Text * txtHarga.Text Call Proses HapusBarang txtKode.SetFocus End If End Sub Private Sub txtKdSupplier_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then cboNama.SetFocus End Sub Private Sub txtKode_KeyDown(KeyCode As Integer, Shift As Integer) If KeyCode = 27 Then txtNoBukti.SetFocus End Sub Private Sub txtKode_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then If txtKode.Text = "" Then Exit Sub If DBFind(DBBarang.Recordset, "Kode", txtKode) Then With DBBarang.Recordset txtNAma.Text = !Nama txtSatuan.Text = !Satuan txtHarga.Text = !Harga txtJumlah.SetFocus End With Else MsgBox "Ma'af ! Data barang ini tidak ada...", vbInformation + vbOKOnly, "Not

    Found" txtKode.SetFocus End If End If End Sub Private Sub txtNoBukti_KeyDown(KeyCode As Integer, Shift As Integer) Select Case KeyCode Case 27 If txtNoBukti.Text = "" Then Me.Hide Else CmdTrans_Click 3 End If End Select End Sub Private Sub txtNoBukti_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then

  • Modul : Belajar Bahasa Pemrograman Visual Basic + Database Hal : 57

    MESRAN, S.KOM, M.KOM

    If txtNoBukti.Text = "" Then Exit Sub If DBFind(DBBeli.Recordset, "NOBUKTI", txtNoBukti) Then TampilRECORD Else x = txtNoBukti.Text Call Hapus txtNoBukti.Text = x Rubah False, True, False, True End If txtKode.Locked = False txtJumlah.Locked = False txtTanggal.SetFocus End If End Sub Private Sub txtTanggal_KeyDown(KeyCode As Integer, Shift As Integer) If KeyCode = 27 Then txtNoBukti.SetFocus End Sub Setelah semua program diatas selesai, janganlah lupa untuk selalu menyimpan program

    yang telah anda ketik. Dan jika anda membawa Disket jangan lupa untuk menyimpan data ke Disket untuk menghindari sewaktu-waktu data yang berada di dalam HardDisk hilang atau rusak. 10.3 Menghubungkan ke Menu Utama

    Agar program Form Data Pembelian Barang dapat di pangggil melalui Menu Utama maka lakukanlah langkah-langkah sebagai berikut.

    a. Double Click lah Form MDI anda (Menu Utama) b. Click Transaksi (yang berada di Form MDI), selanjutnya click Pembelian Barang.

    Ketikkan program berikut :

    Private Sub mnT4_Click() FrmPembelian.Show

    End Sub

    c. Pastikan StartUp Object telah MenuUTAMA. Sekarang coba anda jalankan program tersebut dan pilih Transaksi kemudian click

    Pembelian Barang. Maka akan tampil Form Data Pembelian Barang.

  • Modul : Belajar Bahasa Pemrograman Visual Basic + Database Hal : 58

    MESRAN, S.KOM, M.KOM

    Isikan data-data Pembelian Barang berikut ini. Data ke 1 No Faktur : 80000 Tanggal : 25 Nopember 2005 Kode Supplier : S003 Nama : Aldyan

    Kode Nama Satuan Harga Jumlah Nilai 0006 Paku Beton 1 Inchi Kg 2500 7 ?0003 Paku 1 Inchi Kg 1000 15 ?0005 Paku 2 Inchi Kg 1750 13 ?0002 SEMEN IGASAR SAK 28000 16 ?0008 Triplek Tebal Lembar 35000 8 ?

    Data ke 2 No Faktur : 80001 Tanggal : 29 Nopember 2005 Kode Supplier : S008 Nama : Aryanto

    Kode Nama Satuan Harga Jumlah Nilai 0010 Kayu 2 Batang 10500 15 ?0009 Seng Yonaf Lembar 15700 10 ?

    Data ke 3 No Faktur : 80002 Tanggal : 1 Desember 2005 Kode Supplier : S012 Nama : Nur Ainun

    Kode Nama Satuan Harga Jumlah Nilai 0011 Kayu 4 Batang 21500 17 ?0015 Cat Tembok Kaleng 21000 15 ?0013 Cat Minyak 2 Kg Kaleng 10500 10 ?0004 Paku 1/2 Inchi Kg 500 5 ?

    Data ke 4 No Faktur : 8010 Tanggal : 3 Desember 2005 Kode Supplier : S005 Nama : Ir Supeno

    Kode Nama Satuan Harga Jumlah Nilai 0001 SEMEN PADANG 40 Kg SAK 27500 12 ?0002 SEMEN IGASAR SAK 28000 12 ?

  • Modul : Belajar Bahasa Pemrograman Visual Basic + Database Hal : 59

    MESRAN, S.KOM, M.KOM

    BAB XI LAPORAN TRANSAKSI

    Untuk bagian Laporan Transaksi ini kita akan membahas tentang bagaimana cara

    pembuatan Laporan yang berinteraksi terhadap tabel-tabel yang ada yaitu Supplier, Pelanggan, Barang, Penjualan, Pembelian. Laporan yang kita buat disini ada 2 jenis yaitu :

    Laporan Penjualan

    - Per Hari - Per Bulan - Per Pelanggan Bulan - Per Faktur

    Laporan Pembelian - Per Bulan - Per Kode Barang - Per Supplier Bulan

    11.1 Laporan Penjualan Barang per Bulan

    Adapun langkah-langkah menggunakan Crystal Reports dalam pembuatan Laporan Data Penjualan Barang per Bulan adalah :

    1. Click menu Project | More ActiveX Designers | Crystal Reports 7. 2. Akan keluar sebuah dialog seperti berikut : 3. Pilih Empty Report, kemudian click OK. 4. Anda perhatikan pada kotak Project Propertis (sebelah kanan tengah). Muncul Form1 &

    CrystalReport1. Anda rubah properti menjadi

    Double Click CrystalReport1 Name : RptJualBulan Double Click Form1 Name : LapJualBulan Caption : LAPORAN PENJUALAN BARANG

  • Modul : Belajar Bahasa Pemrograman Visual Basic + Database Hal : 60

    MESRAN, S.KOM, M.KOM

    MDIChild : True WindowsState : 2-Maximized Setelah properti diatas anda rubah kemudian simpan program tersebut dengan cara Click Icon Disket.

    5. Pada Form tambahkah object label1, datetimepicker, dan command button dan rubah properti objek menjadi seperti bentuk di bawah ini

    6. Kemudian pada bagian tengah Form, anda Double Click sehingga muncul kode-kode

    program seperti berikut : Dim Report As New RptJualBulan Private Sub cmdPreview_Click() On Error Resume Next

    Report.RecordSelectionFormula = "Month({Penjualan.Tanggal}) = " & _ Month(txtTanggal.Value) & _ " and Year({Penjualan.Tanggal}) = " & Year(txtTanggal.Value) CRViewer1.ReportSource = Report CRViewer1.ViewReport CRViewer1.EnableGroupTree = False CRViewer1.Refresh CRViewer1.Refresh End Sub Private Sub Form_Load() Screen.MousePointer = vbHourglass CRViewer1.ReportSource = Report CRViewer1.ViewReport Screen.MousePointer = vbDefault CRViewer1.EnableRefreshButton = True txtTanggal.Value = Now End Sub Private Sub Form_Resize() CRViewer1.Top = 500 CRViewer1.Left = 0 CRViewer1.Height = ScaleHeight CRViewer1.Width = ScaleWidth End Sub

    pada bagian Dim Report As New CrystalReport1 rubah menjadi Dim Report As New RptJualBulan

    Anda Tambahkan

    Name : TxtTanggal Name : CmdPreview

  • Modul : Belajar Bahasa Pemrograman Visual Basic + Database Hal : 61

    MESRAN, S.KOM, M.KOM

    Hal ini kita rubah karena CrystalReport1 sebelumnya telah kita rubah menjadi RptJualBulan

    7. Sampai tahap ini Crystal Report(RptJualBulan) tersebut masih kosong. Double Click

    RptJualBulan. Pada Main Report Database terdapat beberapa Pilihan. Anda Click Kanan Pada Database Fields anda pilih Add Database to Report. Kemudian anda cari File database yang anda miliki yaitu Cahaya.MDB. Setelah anda pilih & anda click Open, akan keluar sebuah dialog yaitu Select Table.

    Anda click Table yang anda inginkan yaitu Barang, Pelanggan, Penjualan. (untuk memilih 3 table sekaligus dengan cara tekan Ctrl lalu Click table yang anda inginkan) Kemudian Click OK.

    8. Sehingga akan muncul Visual Expert Linking. Seperti dibawah ini :

    Coba anda perhatikan gambar di atas apakah sama dengan gambar di bawah(halaman selanjutnya) ? Jika sama maka kita tidak perlu me-Remove Link dari gambar tersebut. Jika tidak sama maka kita harus menghilangkan garis panah yang menghubungkan table tersebut dengan cara click kanan garis tersebut dan pilih Remove Link. Begitu juga dengan garis yang lainnya. Kemudian kita membuat Link yang baru (sama seperti Link yang kita Remove sebelumnya) dengan cara : 1. Anda Click Kode (KdBarang) pada Tabel Penjualan dan bawa Ke Tabel Barang.

    (ini bermaksud untuk mengambil data-data barang seperti Nama, Satuan, dll yang terdapat dalam table Barang dan garis tersebut merupakan jembatan yang yang terdapat dari tabel penjualan ke barang).

    2. Demikian juga KdPelanggan pada Tabel Penjualan dan bawa ke Tabel Pelanggan. Sehingga Visual Expert Lingking akan manjadi seperti berikut ini :

    Setelah ini anda click OK.

  • Modul : Belajar Bahasa Pemrograman Visual Basic + Database Hal : 62

    MESRAN, S.KOM, M.KOM

    9. Kemudian Laporan Penjualan Barang ini diGroup berdasarkan Tanggal (sehingga menjadi PerBULAN) dengan cara :

    Click Kanan Group Name Fields, pilih Insert Group sehingga muncul Insert Group.

    Click Field Tanggal yang terdapat dalam Tabel Penjualan. Kemudian pada Combo The Section will be printed : anda pilih for each month.

    Kemudian click OK. Sehingga terbentuk Group Header #1 Penjualan.Tanggal A (Section6)

    10. Text Group #1 Name anda Delete. Report Header, Page Header, Pager Footer, Report Footer anda kecilkan sehingga tertutup. Sedangkan Group Header #1 Penjualan.Tanggal dibesarkan.

    11. Click Kanan pada bagian Detail(section3), pilih Designer | Priter Setup, pada Frame Orientation anda Click Landscape. Yang berguna untuk merubah bentuk kertas dari Portrait menjadi Landscape.

    12. Anda buat Tampilan seperti gambar dibawah ini :

    Pilih Field Tanggal pada Tabel Penjualan

    Rubah menjadi for each month

    Ini merupakan Special Field

  • Modul : Belajar Bahasa Pemrograman Visual Basic + Database Hal : 63

    MESRAN, S.KOM, M.KOM

    Judul Laporan, Judul Tabel tersebut dapat anda buat dengan Text Object. Atur seperti tampilan di atas.

    13. Tambahkan No. Record dengan Cara Click Kanan dibawah No pilih Insert | Special Fields | Record Number dan letakkan di bawah No. di bagian Detail (section3).

    14. Untuk Tanggal, No Bukti, Nama Pelanggan, Kode Barang, Nama Barang, Satuan, Harga,

    Jumlah Jual dapat anda tarik melalui Database Fields (terlebih dahulu + anda Click dulu menjadi - ) dan letakkan pada bagian Detail. Jika terlalu panjang dapat anda kecilkan agar sesuai dengan Judul Tabelnya.

    15. Untuk Nilai Barang, anda Click Kanan Formula Fields | New... anda Ketik TOTAL

    kemudian Enter. Cari table Barang & Penjualan pada Colom Pertama (Click +). Kemudian dalam Tabel Barang, Double Click Harga setelah itu ketik * , kemudian dalam Tabel Barang Double Click Jumlah. Langkah terakhir Simpan Formula dengan cara tekan Ctrl + S (atau click icon Disket).

    Kemudian anda tarik TOTAL (formula yang telah kita buat) dan letakkan dibawah Nilai Barang (bagian Detail) Sehingga tampilan akan menjadi seperti berikut ini :

  • Modul : Belajar Bahasa Pemrograman Visual Basic + Database Hal : 64

    MESRAN, S.KOM, M.KOM

    Buatlah tampilan serapi mungkin. Jika pada bagian Page Header terdapat Text Object (yang terbentuk pada saat kita menarik Fields) dapat anda Hapus.

    16. Click Kanan Tanggal (disamping tulisan Bulan), pilih Format sehingga muncul Format Editor dan atur property :

    Order (Tab Date/Time) : Date Click Tab Date pada Format Day pilih None pada Month pilih Bulan yang lengkap

    dengan Huruf.

    Perhatikan Sample apakah sudah lengkap Bulan disertai dengan Tahun. Jika sudah click OK.

    17. Untuk membuat Sum Of @Total lakukan dengan cara Click kanan @Total lalu pilih Insert of SubTotal

    18. Pekerjaan terakhir kita yaitu menggambar Kotak dan Garis untuk mempercantik tampilan. 19. Simpanlah Project anda.

    11.2 Menghubungkan ke Menu Utama Agar program Laporan Terima Barang dapat di pangggil melalui Menu Utama maka

    lakukanlah langkah-langkah sebagai berikut. a. Double Click lah Form MDI anda (Menu Utama) b. Click Laporan (yang berada di Form MDI), selanjutnya click Lap. Penjualan lalu

    Click Bulanan. Ketikkan program berikut :

    Private Sub MnL52_Click() LapJualBulan.Show End Sub

    c. Kemudian pilih menu Project | Propertis, pada StartUp Object rubah menjadi MenuUtama.

    Sekarang anda tes Laporan Penerimaan Barang, apakah sesuai dengan yang anda harapkan.

  • Modul : Belajar Bahasa Pemrograman Visual Basic + Database Hal : 65

    MESRAN, S.KOM, M.KOM

    11.3 Laporan Penjualan Barang per HARI Adapun langkah-langkah hampir menyerupai laporan penjualan barang per Bulan.

    1. Click menu Project | More ActiveX Designers | Crystal Reports 7. 2. Akan keluar sebuah dialog seperti berikut : 3. Pilih Empty Report, kemudian click OK. 4. Anda perhatikan pada kotak Project Propertis (sebelah kanan tengah). Muncul Form1 &

    CrystalReport1. Anda rubah properti menjadi

    Double Click CrystalReport1 Name : RptJualHari Double Click Form1 Name : LapJualHari Caption : LAPORAN PENJUALAN BARANG MDIChild : True WindowsState : 2-Maximized Setelah properti diatas anda rubah kemudian simpan program tersebut dengan cara Click Icon Disket.

    5. Pada Form tambahkah object label1, datetimepicker, dan command button dan rubah properti objeck menjadi seperti bentuk di bawah ini

    6. Kemudian pada bagian tengah Form, anda Double Click sehingga muncul kode-kode

    program seperti berikut :

    Name : TxtTanggal Name : CmdPreview

  • Modul : Belajar Bahasa Pemrograman Visual Basic + Database Hal : 66

    MESRAN, S.KOM, M.KOM

    Dim Report As New RptJualHari Private Sub cmdPreview_Click() On Error Resume Next Report.RecordSelectionFormula = "Day({Penjualan.Tanggal}) = " & _ Day(txtTanggal.Value) & " and Month({Penjualan.Tanggal}) = " & _ Month(txtTanggal.Value) & " and Year({Penjualan.Tanggal}) = " & _

    Year(txtTanggal.Value) CRViewer1.ReportSource = Report CRViewer1.ViewReport CRViewer1.EnableGroupTree = False CRViewer1.Refresh CRViewer1.Refresh End Sub Private Sub Form_Load() Screen.MousePointer = vbHourglass CRViewer1.ReportSource = Report CRViewer1.ViewReport Screen.MousePointer = vbDefault CRViewer1.EnableRefreshButton = True txtTanggal.Value = Now End Sub Private Sub Form_Resize() CRViewer1.Top = 500 CRViewer1.Left = 0 CRViewer1.Height = ScaleHeight CRViewer1.Width = ScaleWidth End Sub

    pada bagian Dim Report As New CrystalReport1 rubah menjadi Dim Report As New RptJualBulan

    Hal ini kita rubah karena CrystalReport1 sebelumnya telah kita rubah menjadi RptJualBulan

    7. Sampai tahap ini Crystal Report(RptJualBulan) tersebut masih kosong. Double Click

    RptJualBulan. Pada Main Report Database terdapat beberapa Pilihan. Anda Click Kanan Pada Database Fields anda pilih Add Database to Report Kemudian anda cari File database yang anda miliki yaitu Cahaya.MDB. Setelah anda pilih & anda click Open, akan keluar sebuah dialog yaitu Select Table.

    Anda click Table yang anda inginkan yaitu Barang, Pelanggan, Penjualan. (untuk memilih 3 table sekaligus dengan cara tekan Ctrl lalu Click table yang anda inginkan) Kemudian Click OK.

    8. Atur Visual Expert Linking menjadi seperti di halaman berikut :

    Anda Tambahkan

  • Modul : Belajar Bahasa Pemrograman Visual Basic + Database Hal : 67

    MESRAN, S.KOM, M.KOM

    Setelah ini anda click OK. 9. Kemudian Laporan Penjualan Barang ini diGroup berdasarkan Tanggal (sehingga

    menjadi PerHari) dengan cara : a. Click Kanan Group Name

    Fields, pilih Insert Group sehingga muncul Insert Group.

    b. Click Field Tanggal yang terdapat dalam Tabel Penjualan. c. Kemudian pada Combo The Section will be printed : anda pilih for each month.

    Kemudian click OK. Sehingga terbentuk Group Header #1 Penjualan.Tanggal A (Section6)

    10. Text Group #1 Name anda Delete. Report Header, Page Header, Pager Footer, Report Footer anda kecilkan sehingga tertutup. Sedangkan Group Header #1 Penjualan.Tanggal dibesarkan.

    11. Click Kanan pada bagian Detail(section3), pilih Designer | Priter Setup, pada Frame

    Orientation anda Click Landscape. Yang berguna untuk merubah bentuk kertas dari Portrait menjadi Landscape.

    Pilih Field Tanggal pada Tabel Penjualan

    Tetap for each day

  • Modul : Belajar Bahasa Pemrograman Visual Basic + Database Hal : 68

    MESRAN, S.KOM, M.KOM

    12. Anda buat Tampilan seperti gambar dibawah ini :

    Judul Laporan, Judul Tabel tersebut dapat anda buat dengan T