Tutorial Visual Basic

Document Sample
Tutorial Visual Basic Powered By Docstoc
					Modul Praktikum    : Pemrograman Visual Basic II                                 Hal : 1




              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"

MESRAN, S.KOM                             STMIK BUDIDARMA EDISI II - REVISI FEB ‘06
Modul Praktikum     : Pemrograman Visual Basic II                                      Hal : 2
     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.




MESRAN, S.KOM                                 STMIK BUDIDARMA EDISI II - REVISI FEB ‘06
Modul Praktikum    : Pemrograman Visual Basic II                                    Hal : 3




              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

MESRAN, S.KOM                                STMIK BUDIDARMA EDISI II - REVISI FEB ‘06
Modul Praktikum   : Pemrograman Visual Basic II                                 Hal : 4
    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
MESRAN, S.KOM                            STMIK BUDIDARMA EDISI II - REVISI FEB ‘06
Modul Praktikum    : Pemrograman Visual Basic II                                     Hal : 5
      ….….&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).




MESRAN, S.KOM                               STMIK BUDIDARMA EDISI II - REVISI FEB ‘06
Modul Praktikum      : Pemrograman Visual Basic II                                Hal : 6




               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.




MESRAN, S.KOM                               STMIK BUDIDARMA EDISI II - REVISI FEB ‘06
Modul Praktikum    : Pemrograman Visual Basic II                                    Hal : 7
   Properties
       Object            Properti                    Setting
    Label1           Caption            Kode Supplier
    Label2           Caption            Nama
    Label3           Caption            Alamat
    Label4           Caption            Telp
    Command1         Name               CmdProses
                     Caption            BARU
                     Index              0
    Command2         Name               CmdProses
                     Caption            SIMPAN
                     Index              1
    Command3         Name               CmdProses
                     Caption            HAPUS
                     Index              2
    Command4         Name               CmdProses
                     Caption            BATAL
                     Index              3
    Command5         Name               CmdProses
                     Caption            OK
                     Index              4
    Text1            Name               TxtKd
    Text2            Name               TxtNama
    Text3            Name               TxtAlamat
                     MultiLine          True
                     Scrollbar          Vertical
    Text4            Name               TxtTelp
    Data1            DatabaseName       Cahaya.MDB
                     RecordsetType      0-Table
                     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()

MESRAN, S.KOM                               STMIK BUDIDARMA EDISI II - REVISI FEB ‘06
Modul Praktikum   : Pemrograman Visual Basic II                               Hal : 8
        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

MESRAN, S.KOM                             STMIK BUDIDARMA EDISI II - REVISI FEB ‘06
Modul Praktikum     : Pemrograman Visual Basic II                                   Hal : 9
                 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

MESRAN, S.KOM                                STMIK BUDIDARMA EDISI II - REVISI FEB ‘06
Modul Praktikum     : Pemrograman Visual Basic II                                    Hal : 10
       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         -
MESRAN, S.KOM                                 STMIK BUDIDARMA EDISI II - REVISI FEB ‘06
Modul Praktikum   : Pemrograman Visual Basic II                           Hal : 11
     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   Nur’Ainun                 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




MESRAN, S.KOM                           STMIK BUDIDARMA EDISI II - REVISI FEB ‘06
Modul Praktikum      : Pemrograman Visual Basic II                              Hal : 12


              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
    Command1          Name                CmdProses
                      Caption             BARU
MESRAN, S.KOM                                STMIK BUDIDARMA EDISI II - REVISI FEB ‘06
Modul Praktikum    : Pemrograman Visual Basic II                                    Hal : 13
                     Index              0
    Command2         Name               CmdProses
                     Caption            SIMPAN
                     Index              1
    Command3         Name               CmdProses
                     Caption            HAPUS
                     Index              2
    Command4         Name               CmdProses
                     Caption            BATAL
                     Index              3
    Command5         Name               CmdProses
                     Caption            OK
                     Index              4
    Text1            Name               TxtKd
    Text2            Name               TxtNama
    Text3            Name               TxtAlamat
                     MultiLine          True
                     Scrollbar          Vertical
    Text4            Name               TxtTelp
    Data1            DatabaseName       Cahaya.MDB
                     RecordsetType      0-Table
                     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

MESRAN, S.KOM                               STMIK BUDIDARMA EDISI II - REVISI FEB ‘06
Modul Praktikum   : Pemrograman Visual Basic II                                 Hal : 14
          !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

MESRAN, S.KOM                            STMIK BUDIDARMA EDISI II - REVISI FEB ‘06
Modul Praktikum     : Pemrograman Visual Basic II                                     Hal : 15

          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

MESRAN, S.KOM                                STMIK BUDIDARMA EDISI II - REVISI FEB ‘06
Modul Praktikum     : Pemrograman Visual Basic II                                  Hal : 16
           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




MESRAN, S.KOM                              STMIK BUDIDARMA EDISI II - REVISI FEB ‘06
Modul Praktikum      : Pemrograman Visual Basic II                                Hal : 17


              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
MESRAN, S.KOM                               STMIK BUDIDARMA EDISI II - REVISI FEB ‘06
Modul Praktikum    : Pemrograman Visual Basic II                                    Hal : 18
                     Caption            BARU
                     Index              0
     Command2        Name               CmdProses
                     Caption            SIMPAN
                     Index              1
     Command3        Name               CmdProses
                     Caption            HAPUS
                     Index              2
     Command4        Name               CmdProses
                     Caption            BATAL
                     Index              3
     Command5        Name               CmdProses
                     Caption            OK
                     Index              4
     Text1           Name               TxtKd
     Text2           Name               TxtNama
     Text4           Name               TxtHarga
     Text5           Name               TxtStock
     Combo1          Name               CboSatuan
     Data1           DatabaseName       Cahaya.MDB
                     RecordsetType      0-Table
                     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

MESRAN, S.KOM                               STMIK BUDIDARMA EDISI II - REVISI FEB ‘06
Modul Praktikum   : Pemrograman Visual Basic II                               Hal : 19
        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

MESRAN, S.KOM                             STMIK BUDIDARMA EDISI II - REVISI FEB ‘06
Modul Praktikum     : Pemrograman Visual Basic II                                       Hal : 20
              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 <= Asc(9) Or KeyAscii = vbKeyBack Or
KeyAscii = 13 Or Not KeyAscii = Asc(46)) Then
            Beep
            KeyAscii = 0
         End If

        If CheckENTER(KeyAscii, txtHarga) Then PINDAH KeyAscii, txtStock
      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
           Case 27
              If txtKD.Text = "" Then
                  Me.Hide
              Else

MESRAN, S.KOM                                 STMIK BUDIDARMA EDISI II - REVISI FEB ‘06
Modul Praktikum    : Pemrograman Visual Basic II                                       Hal : 21
                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 <= Asc(9) Or KeyAscii = vbKeyBack Or
KeyAscii = 13 Or Not KeyAscii = Asc(46)) Then
            Beep
            KeyAscii = 0
         End If

MESRAN, S.KOM                               STMIK BUDIDARMA EDISI II - REVISI FEB ‘06
Modul Praktikum       : Pemrograman Visual Basic II                                  Hal : 22

         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




                                                                   DBGRID1




   Properties
        Object            Properti                       Setting
    DBGrid1            DataSource           Data1
    Data1              DatabaseName         Cahaya.MDB
                       RecordsetType        0-Table
                       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 :

MESRAN, S.KOM                                 STMIK BUDIDARMA EDISI II - REVISI FEB ‘06
Modul Praktikum    : Pemrograman Visual Basic II                                    Hal : 23
   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       17
        0002      SEMEN IGASAR                            SAK            28000       20
        0003      Paku 1 Inchi                             Kg             1000       50
        0004      Paku 1/2 Inchi                           Kg              500       40
        0005      Paku 2 Inchi                             Kg             1750       35
        0006      Paku Beton 1 Inchi                       Kg             2500       45
        0007      Triplek                                Lembar          21500       50
        0008      Triplek Tebal                          Lembar          35000       32
        0009      Seng Yonaf                             Lembar          15700      100
        0010      Kayu 2 ½                               Batang          10500      100

MESRAN, S.KOM                               STMIK BUDIDARMA EDISI II - REVISI FEB ‘06
Modul Praktikum   : Pemrograman Visual Basic II                             Hal : 24
       0011       Kayu 4                           Batang         21500      57
       0012       Cat Tembok Bend                  Kaleng         25000      35
       0013       Cat Minyak 2 Kg                  Kaleng         10500      11
       0014       Cat Minyak 1 Kg                  Kaleng          7500      13
       0015       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.




MESRAN, S.KOM                           STMIK BUDIDARMA EDISI II - REVISI FEB ‘06
Modul Praktikum    : Pemrograman Visual Basic II                                  Hal : 25


              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 :


MESRAN, S.KOM                              STMIK BUDIDARMA EDISI II - REVISI FEB ‘06
Modul Praktikum    : Pemrograman Visual Basic II                                     Hal : 26
             Dim Report As New CrystalReport1
             Private Sub Form_Load()
               Screen.MousePointer = vbHourglass
               CRViewer1.ReportSource = Report
               CRViewer1.ViewReport
               Screen.MousePointer = vbDefault
               CRViewer1.EnableRefreshButton = True             Anda Tambahkan
             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.


MESRAN, S.KOM                               STMIK BUDIDARMA EDISI II - REVISI FEB ‘06
Modul Praktikum    : Pemrograman Visual Basic II                                    Hal : 27
   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 :




MESRAN, S.KOM                               STMIK BUDIDARMA EDISI II - REVISI FEB ‘06
Modul Praktikum    : Pemrograman Visual Basic II                                  Hal : 28
   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 :




MESRAN, S.KOM                             STMIK BUDIDARMA EDISI II - REVISI FEB ‘06
Modul Praktikum   : Pemrograman Visual Basic II                                   Hal : 29


              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

MESRAN, S.KOM                               STMIK BUDIDARMA EDISI II - REVISI FEB ‘06
Modul Praktikum    : Pemrograman Visual Basic II                                    Hal : 30
               CRViewer1.ViewReport
               Screen.MousePointer = vbDefault
               CRViewer1.EnableRefreshButton = True             Anda Tambahkan
             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


MESRAN, S.KOM                               STMIK BUDIDARMA EDISI II - REVISI FEB ‘06
Modul Praktikum    : Pemrograman Visual Basic II                                    Hal : 31
      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 :




MESRAN, S.KOM                               STMIK BUDIDARMA EDISI II - REVISI FEB ‘06
Modul Praktikum    : Pemrograman Visual Basic II                                   Hal : 32




    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.




MESRAN, S.KOM                              STMIK BUDIDARMA EDISI II - REVISI FEB ‘06
Modul Praktikum   : Pemrograman Visual Basic II                           Hal : 33
       Sekarang anda tes Laporan Data Pelanggan, apakah sesuai dengan yang anda
harapkan.
Output Laporan Pelanggan




MESRAN, S.KOM                           STMIK BUDIDARMA EDISI II - REVISI FEB ‘06
Modul Praktikum   : Pemrograman Visual Basic II                                   Hal : 34


              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
MESRAN, S.KOM                             STMIK BUDIDARMA EDISI II - REVISI FEB ‘06
Modul Praktikum    : Pemrograman Visual Basic II                                    Hal : 35
               CRViewer1.ViewReport
               Screen.MousePointer = vbDefault
               CRViewer1.EnableRefreshButton = True           Anda Tambahkan
             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


MESRAN, S.KOM                               STMIK BUDIDARMA EDISI II - REVISI FEB ‘06
Modul Praktikum    : Pemrograman Visual Basic II                                    Hal : 36
      (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 :




MESRAN, S.KOM                               STMIK BUDIDARMA EDISI II - REVISI FEB ‘06
Modul Praktikum   : Pemrograman Visual Basic II                                 Hal : 37




   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.




MESRAN, S.KOM                            STMIK BUDIDARMA EDISI II - REVISI FEB ‘06
Modul Praktikum   : Pemrograman Visual Basic II                                Hal : 38
   Sekarang anda tes Laporan Data Barang, apakah sesuai dengan yang anda harapkan.
Output Laporan Persediaan Barang




MESRAN, S.KOM                            STMIK BUDIDARMA EDISI II - REVISI FEB ‘06
Modul Praktikum      : Pemrograman Visual Basic II                                Hal : 39


              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.




MESRAN, S.KOM                              STMIK BUDIDARMA EDISI II - REVISI FEB ‘06
Modul Praktikum    : Pemrograman Visual Basic II                           Hal : 40
   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
    Data1            Name               DBPelanggan
                     DatabaseName       Cahaya.MDB
                     ResordSetType      Table
                     RecordSource       Pelanggan
    Data2            Name               DBBarang
                     DatabaseName       Cahaya.MDB
                     ResordSetType      Table
                     RecordSource       Barang
    Data3            Name               DBJual
                     DatabaseName       Cahaya.MDB
                     ResordSetType      Table
                     RecordSource       Penjualan
    Command1         Name               CmdTrans
                     Caption            BARU
                     Index              0
    Command1         Name               CmdTrans
                     Caption            SIMPAN
                     Index              1
    Command1         Name               CmdTrans
                     Caption            HAPUS
                     Index              2
    Command1         Name               CmdTrans
                     Caption            BATAL
                     Index              3
    Command1         Name               CmdTrans
                     Caption            OK
                     Index              4
    Command2         Name               CmdHapus
                     Caption            Hapus Barang
    LiistView1       Name               LV
    Combo1           Name               CboNama

MESRAN, S.KOM                            STMIK BUDIDARMA EDISI II - REVISI FEB ‘06
Modul Praktikum    : Pemrograman Visual Basic II                              Hal : 41
    DTPicker1       Name                  TxtTanggal
                    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

MESRAN, S.KOM                              STMIK BUDIDARMA EDISI II - REVISI FEB ‘06
Modul Praktikum     : Pemrograman Visual Basic II                               Hal : 42
         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

MESRAN, S.KOM                               STMIK BUDIDARMA EDISI II - REVISI FEB ‘06
Modul Praktikum    : Pemrograman Visual Basic II                                 Hal : 43
     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

MESRAN, S.KOM                               STMIK BUDIDARMA EDISI II - REVISI FEB ‘06
Modul Praktikum    : Pemrograman Visual Basic II                                   Hal : 44

   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()

MESRAN, S.KOM                              STMIK BUDIDARMA EDISI II - REVISI FEB ‘06
Modul Praktikum   : Pemrograman Visual Basic II                                 Hal : 45
     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

MESRAN, S.KOM                            STMIK BUDIDARMA EDISI II - REVISI FEB ‘06
Modul Praktikum    : Pemrograman Visual Basic II                              Hal : 46
       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

MESRAN, S.KOM                               STMIK BUDIDARMA EDISI II - REVISI FEB ‘06
Modul Praktikum     : Pemrograman Visual Basic II                                  Hal : 47
        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.




MESRAN, S.KOM                                   STMIK BUDIDARMA EDISI II - REVISI FEB ‘06
Modul Praktikum    : Pemrograman Visual Basic II                                  Hal : 48

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                  ?




MESRAN, S.KOM                             STMIK BUDIDARMA EDISI II - REVISI FEB ‘06
Modul Praktikum       : Pemrograman Visual Basic II                             Hal : 49


               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.




MESRAN, S.KOM                               STMIK BUDIDARMA EDISI II - REVISI FEB ‘06
Modul Praktikum    : Pemrograman Visual Basic II                           Hal : 50
   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
    Data1            Name               DBSupplier
                     DatabaseName       Cahaya.MDB
                     ResordSetType      Table
                     RecordSource       Supplier
    Data2            Name               DBBarang
                     DatabaseName       Cahaya.MDB
                     ResordSetType      Table
                     RecordSource       Barang
    Data3            Name               DBBeli
                     DatabaseName       Cahaya.MDB
                     ResordSetType      Table
                     RecordSource       Pembelian
    Command1         Name               CmdTrans
                     Caption            BARU
                     Index              0
    Command1         Name               CmdTrans
                     Caption            SIMPAN
                     Index              1
    Command1         Name               CmdTrans
                     Caption            HAPUS
                     Index              2
    Command1         Name               CmdTrans
                     Caption            BATAL
                     Index              3
    Command1         Name               CmdTrans
                     Caption            OK
                     Index              4
    Command2         Name               CmdHapus
                     Caption            Hapus Barang
    LiistView1       Name               LV
    Combo1           Name               CboNama

MESRAN, S.KOM                            STMIK BUDIDARMA EDISI II - REVISI FEB ‘06
Modul Praktikum    : Pemrograman Visual Basic II                                Hal : 51
    DTPicker1        Name                  TxtTanggal
                     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

MESRAN, S.KOM                               STMIK BUDIDARMA EDISI II - REVISI FEB ‘06
Modul Praktikum   : Pemrograman Visual Basic II                                Hal : 52
               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

MESRAN, S.KOM                             STMIK BUDIDARMA EDISI II - REVISI FEB ‘06
Modul Praktikum    : Pemrograman Visual Basic II                              Hal : 53
        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

MESRAN, S.KOM                              STMIK BUDIDARMA EDISI II - REVISI FEB ‘06
Modul Praktikum    : Pemrograman Visual Basic II                                   Hal : 54
        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

MESRAN, S.KOM                              STMIK BUDIDARMA EDISI II - REVISI FEB ‘06
Modul Praktikum   : Pemrograman Visual Basic II                                Hal : 55
        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

MESRAN, S.KOM                              STMIK BUDIDARMA EDISI II - REVISI FEB ‘06
Modul Praktikum       : Pemrograman Visual Basic II                                Hal : 56
             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

MESRAN, S.KOM                                  STMIK BUDIDARMA EDISI II - REVISI FEB ‘06
Modul Praktikum    : Pemrograman Visual Basic II                                   Hal : 57
           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.




MESRAN, S.KOM                                STMIK BUDIDARMA EDISI II - REVISI FEB ‘06
Modul Praktikum   : Pemrograman Visual Basic II                                Hal : 58
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             ?




MESRAN, S.KOM                            STMIK BUDIDARMA EDISI II - REVISI FEB ‘06
Modul Praktikum    : Pemrograman Visual Basic II                                   Hal : 59




               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

MESRAN, S.KOM                                STMIK BUDIDARMA EDISI II - REVISI FEB ‘06
Modul Praktikum    : Pemrograman Visual Basic II                                  Hal : 60
             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




         Name : TxtTanggal          Name : CmdPreview

   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          Anda Tambahkan
     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

MESRAN, S.KOM                              STMIK BUDIDARMA EDISI II - REVISI FEB ‘06
Modul Praktikum    : Pemrograman Visual Basic II                                    Hal : 61
   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.

MESRAN, S.KOM                              STMIK BUDIDARMA EDISI II - REVISI FEB ‘06
Modul Praktikum   : Pemrograman Visual Basic II                                  Hal : 62
   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.



    Pilih Field Tanggal pada
    Tabel Penjualan


     Rubah menjadi for
     each month




         •  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 :




                                          Ini merupakan
                                          Special Field


MESRAN, S.KOM                             STMIK BUDIDARMA EDISI II - REVISI FEB ‘06
Modul Praktikum    : Pemrograman Visual Basic II                                     Hal : 63
      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 :




MESRAN, S.KOM                               STMIK BUDIDARMA EDISI II - REVISI FEB ‘06
Modul Praktikum    : Pemrograman Visual Basic II                                  Hal : 64
      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.




MESRAN, S.KOM                              STMIK BUDIDARMA EDISI II - REVISI FEB ‘06
Modul Praktikum   : Pemrograman Visual Basic II                                   Hal : 65
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




         Name : TxtTanggal          Name : CmdPreview

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



MESRAN, S.KOM                              STMIK BUDIDARMA EDISI II - REVISI FEB ‘06
Modul Praktikum    : Pemrograman Visual Basic II                                   Hal : 66
   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           Anda Tambahkan
     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 :

MESRAN, S.KOM                               STMIK BUDIDARMA EDISI II - REVISI FEB ‘06
Modul Praktikum    : Pemrograman Visual Basic II                                 Hal : 67




      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.



    Pilih Field Tanggal pada
    Tabel Penjualan


     Tetap for each day




         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.


MESRAN, S.KOM                             STMIK BUDIDARMA EDISI II - REVISI FEB ‘06
Modul Praktikum    : Pemrograman Visual Basic II                                      Hal : 68
   12. Anda buat Tampilan seperti gambar dibawah ini :
       Judul Laporan, Judul Tabel tersebut dapat anda buat dengan Text Object. Atur seperti
       tampilan di bawah.




(Tampilan di atas sudah jadi)
   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 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).


MESRAN, S.KOM                                STMIK BUDIDARMA EDISI II - REVISI FEB ‘06
Modul Praktikum    : Pemrograman Visual Basic II                                   Hal : 69

      Kemudian anda tarik TOTAL (formula yang telah kita buat) dan letakkan dibawah Nilai
      Barang (bagian Detail)
      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 Tanggal pertama), pilih Format sehingga muncul
       Format Editor dan atur property :
           a. Order (Tab Date/Time) : Date
           b. Click Tab Date pada Format Month anda pilih penulisan lengkap, Day pilih yang
              dua digit pada Year anda pilih 4 digit.

       Perhatikan Sample apakah sudah lengkap Tanggal, 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.4 Menghubungkan ke Menu Utama
       Agar program Laporan Penjualan Barang Harian 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 Harian. Ketikkan program berikut :

             Private Sub MnL51_Click()
               LapJualHari.Show
             End Sub

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




MESRAN, S.KOM                              STMIK BUDIDARMA EDISI II - REVISI FEB ‘06
Modul Praktikum    : Pemrograman Visual Basic II                             Hal : 70
Contoh Output Laporan per Tanggal / Hari




MESRAN, S.KOM                              STMIK BUDIDARMA EDISI II - REVISI FEB ‘06
Modul Praktikum       : Pemrograman Visual Basic II                                  Hal : 71




               BAB XII
               TUGAS – Pembuatan LAPORAN
Anda buatlah laporan-laporan di bawah ini :
1. Laporan Faktur Jual, bentuk hasilnya yaitu :




2. Laporan Penjualan Barang per pelanggan Bulanan, bentuk desainnya :
    Kode           :
    Nama Pelanggan :
    Alamat         :                                               Bulan :
    No Tanggal Kode        Nama Barang            Satuan   Harga    Jumlah   Nilai Barang



    Total Penjualan Rp.
3. Laporan Pembelian Barang per Bulan, anda desain sendiri bentuknya
4. Laporan Pembelian Barang per Supplier, bentuk desainnya :
    Kode               :
    Nama Supplier      :
    Alamat             :

    Bulan              :
    No Tanggal      Kode   Nama Barang            Satuan   Harga   Jumlah    Nilai Barang



    Total Pembelian Rp.




MESRAN, S.KOM                               STMIK BUDIDARMA EDISI II - REVISI FEB ‘06
Modul Praktikum    : Pemrograman Visual Basic II                                     Hal : 72

5. Laporan Pembelian Barang per Barang, bentuk desainnya :

   Kode Barang       :
   Nama              :                                       Stock Akhir   :
   No    Tanggal         Nama Supplier        Jumlah     Harga        Nilai Barang



   Total Pembelian Rp.




MESRAN, S.KOM                            STMIK BUDIDARMA EDISI II - REVISI FEB ‘06
Modul Praktikum    : Pemrograman Visual Basic II                                   Hal : 73




               BAB XIII
               TAMBAHAN
      Untuk bahan akhir dari materi kita yaitu menambahkan fasilitas Password dan About dari
program

13.1 FORM PASSWORD
       Form yang kita buat ini sangat sederhana sekali hanya bisa digunakan oleh satu orang
user saja.




LISTING PROGRAM FORM PASSWORD

   Dim i As Byte
   Private Sub CmdProses_Click(Index As Integer)
     Select Case Index
        Case 0
          PanggilMENU
        Case 1
          End
     End Select
   End Sub

   Private Sub Form_Load()
     txtUser.Text = ""
     TxtPassword.Text = ""
     TxtPassword.PasswordChar = "*"
     i=1
   End Sub

   Sub PanggilMENU()
     If txtUser.Text = "MESRAN" And TxtPassword.Text = "vbKU" Then
         MsgBox "SELAMAT MENGGUNAKAN...." & vbCrLf & _
               "Sistem Informasi Penjualan CV. CAHAYA PERMAI" & vbCrLf & _
               " " & vbCrLf & _
               "(C)opy Right by MESRAN FEB06", vbInformation + vbOKOnly, "Password"
         Unload Me
         MENU.Show
     Else
         If i > 2 Then

MESRAN, S.KOM                              STMIK BUDIDARMA EDISI II - REVISI FEB ‘06
Modul Praktikum     : Pemrograman Visual Basic II                                   Hal : 74
          MsgBox "Ma'af..!" & vbCrLf & _
              "Anda tidak berhak menggunakan program ini !", vbInformation + vbOKOnly,
   "Password"
          End
       Else
          MsgBox "Ma'af..!" & vbCrLf & _
              "Password anda SALAH", vbInformation + vbOKOnly, "Password"
       End If
       txtUser.Text = ""
       TxtPassword.Text = ""
       txtUser.SetFocus
       i=i+1
     End If
   End Sub

   Private Sub TxtPassword_KeyPress(KeyAscii As Integer)
     If KeyAscii = 13 Then
        If TxtPassword.Text = "" Then Exit Sub
        CmdProses(0).SetFocus
     End If
   End Sub

   Private Sub txtUser_KeyPress(KeyAscii As Integer)
     If KeyAscii = 13 Then
        If txtUser.Text = "" Then Exit Sub
        TxtPassword.SetFocus
     End If
   End Sub

       Setelah semua program di atas 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.

JANGAN LUPA !
     Pastikan StartUp Object telah frmPASSWORD lalu jalankanlah program

13.2 FORM ABOUT
       Form About ini sangat gampang sekali untuk di buat. Kegunaan dari form ini adalah untuk
menjelaskan siapa yang membuat program. Contoh dari form About yaitu :




MESRAN, S.KOM                               STMIK BUDIDARMA EDISI II - REVISI FEB ‘06
Modul Praktikum   : Pemrograman Visual Basic II                               Hal : 75

Form ini berisikan Nama Program, Versi dari Program, Tanggal program di buat, dan siapa
pembuat program.

Jangan lupa untuk menghubungkan Form About dengan Menu UTAMA




MESRAN, S.KOM                            STMIK BUDIDARMA EDISI II - REVISI FEB ‘06

				
DOCUMENT INFO
Shared By:
Tags:
Stats:
views:2184
posted:9/19/2010
language:Indonesian
pages:75
M.Joko Lukito M.Joko Lukito Blog HTC http://ojelhtc.blogspot.com
About Saya Adalah Orang Simple Dan Mudah Bergaul Dan Saya Selalu Belajar Untuk Mendapatkan SUatu Kepuasan Tersendiri dan ini sarat saya mau daftar google adsense...