Tuesday, 2 July 2013

:: PROGRAM PENGOLAHAN DATA BARANG ::


Program Pengolahan Data Barang

URUTAN LANGKAH KERJA:

1.     Buka Program Menu Utama yang telah Anda  buat
2.     Tambahkan Form Baru dengan cara : Klik menu Project, Klik Add Form, Klik Open
3.     Simpan Form Tersebut dengan nama Fbarang (Lokasi penyimpanan sama dengan Menu Utama)
4.     Desain Form Seperti Gambar Dibawah ini




 






















5.     Setting Object pada Form tersebut sesuai dengan nomor..pada tabel dibawah ini.

Objek
No
Properti
Setting
Form
1


Name
Icon
Caption
FBarang
Rectangular Callout: Cari icon di…
C:\Program Files\Micrfosoft Visual Studio\Common\Graphic\icon\computer
Pilih salah satu gambar (*.ico)
Aplikasi Data Barang
Frame

2
Caption
Input Data
TextBox

3

Name
Text
TxtKode

TextBox

4
Name
Text
txtNama
TextBox
5

Name
Text
Rectangular Callout: Ctt;:
Komponen DBGrid belum ada di ToolBox, anda harus terlebih dahulu menambahkannya dengan cara:
- Klik menu Project
- Klik Component
- Cek liist pada pilihan
Microsoft Data Bound Grid Control 5.0 (SP3)


txtSatuan
TextBox
6
Name
Text
txtHargaBeli
TextBox
7
Name
Text
txtHargaJual
TextBox
8
Name
Text
txtStock
DBGrid
9
DataSource
Caption
Tab Action
Barang
Tampilan Data Barang
2 – Grid Navigation
Frame

10
Captionn
Rectangular Callout: DataSource : Barang adalah Name Objek Data, jadi data yang ditampilkan dalam DBGrid berasal dari Tabel BarangCari
OptionButton
11
Name
Caption
Index
OptSortir
Kode
0
OptionButton
12
Name
Caption
Index
OptSortir
Nama Brg
1

Rectangular Callout: DatabaseName adalah menentuka dimana database disimpan dan apa nama databasenya.(A:\Transaksi)
RecordSource adalah nama Tabel dari database Transaksi
Data
13
Name
Caption
DatabaseName
RecordSource
RecordSetType
Barang
Data Barang
A:\Transaksi.MDB
Barang
0 - Table
Frame

14
Captionn
Proses
CommandButton
15
Name
Caption

CmdTambah
&Tambah

CommandButton
16
Name
Caption

CmdBatal
&Batal

CommandButton
17
Name
Caption

CmdSimpan
&Simpan
Rectangular Callout: Tanda & = menampilkan tanda (– ) dibawah huruf sesudah tanda &, artinya. Tombol tersebut bisa diaktifkan dengan cara : Alt + (Huruf yang ditandai). Contoh : &Simpan 
Alt + S
Style : 1 – Graphical  agar  pada tombol bisa ditampilkan gambar
Frame

18
Captionn
Cari
ComboBox

19
Name
Text
cmbCari
Kode
TextBox

20

Name
Text
TxtCari

CommandButton
21
Name
Caption

CmdKoreksi
&Koreksi

CommandButton
22
Name
Caption

CmdHapus
&Hapus

CommandButton
23
Name
Caption

CmdKeluar
&Keluar



6.     Setelah selesai pengaturan Objek-objek diatas, langkah selanjutnya aktifkan Jendela Code ( Klik Menu View, Klik Code) lalu  ketiklah Program dibawah ini:

Rectangular Callout: Artinya: Mendefinisikan Variabel Koreksi bernilai String secara Global-------------------------------------------------------------------------------------------------------------------------------
Dim koreksi As String
Rectangular Callout: Pada saat Form Aktif :
MaxLength   : maksimal pengisian data pada tiab-tiap objek
Misalnya : txtkode hanya bisa diisi sebanyak 5 karakter, dst.
TidakAktif  : memanggil sub prosedure  TidakAktif

-------------------------------------------------------------------------------------------------------------------------------
Private Sub Form_Activate()
   txtKode.MaxLength = 5
   tidakaktif
End Sub
Rectangular Callout: Pada saat Form Load :
cmbCari.AddItem “Kode”  artinya, masukkan nilai Kode ke dalam pilihan ComboBox (cmbCari)
-------------------------------------------------------------------------------------------------------------------------------
Private Sub Form_Load()
  cmbCari.AddItem "Kode"
  cmbCari.AddItem "Nama Barang"
End Sub
-------------------------------------------------------------------------------------------------------------------------------
Rectangular Callout: TxtKode_Change artinya jika objek txtKode diisi/ada perubahan. Maka:
Jika Panjang pengisian txtkode masih kecil dari 5 maka keluar dari sub, jadi txtkode harus diisi sebanyak 5 karakter.
 Len menentukan panjang pengisian data. ( < 5 )
Trim menghilangkan spasi dalam pengisian.
Barang.RecordSet.Index  = “KodeIdx” menentukan Field Index dari tabel Barang bernama “KodeIdx” 
Barang.RecordSet.Seek mencari  sesuai dengan isi txtKode.Text
IF Not Barang.RecordSet.NoMatch jika dalam pencarian ditemukan. Maka tampilkan data yang ditemukan tersebut..
Contoh : TxtNama.text = barang.RecordSet!Nama, artinya menampilkan Field Nama pada Tabel Barang pada Txtnama.Text.
Private Sub txtKode_Change()
   If Len(Trim(txtKode.Text)) < 5 Then
       Exit Sub
    End If
    barang.Recordset.Index = "KodeIdx"
    barang.Recordset.Seek "=", txtKode.Text
    If Not barang.Recordset.NoMatch Then
       txtNama.Text = barang.Recordset!Nama
       txtSatuan.Text = barang.Recordset!Satuan
       txtHargaBeli.Text = barang.Recordset!hargabeli
       txtHargaJual.Text = barang.Recordset!hargajual
       txtStock.Text = barang.Recordset!stock




       X = MsgBox("Data Barang sudah ada..mau di Koreksi ?? ", vbOKCancel, "Informasi")
Rectangular Callout: Akan mkuncul kotak pesan dengan dua pilihan tombol (OK dan Cancel)

X = bernilai sebuah VBok dan VBCancel

Jika di Klik OK maka Koreksi bernilai “ya” (data dikoreksi)
Jika di klik Cancel maka Koreksi bernilai “no” (tidak dikoreksi)

Aktifk = memanggil sub prosedure  Aktif
Kosongkan = memanggil sub prosedure Kosongkan
Txtnama.SetFocus artinya Kursor aktif pada txtnama

       If X = vbOK Then
           koreksi = "ya"
           aktif
       End If
       Exit Sub
    End If
    koreksi = "no"
Rectangular Callout: CmdSimpan_Click()  jika tombol Simpan di klik. Maka..
Jika koreksi bernilai “ya” maka data di Edit
      Barang.RecordSet.Edit (Edit record yg aktif)
Jika tidak barang di Tambah
     Barang.RecordSet.AddNew (tambahkan Record baru

Barang.RecordSet!Kode = txtKode.Text, artinya :
Field Kode pada tabel Barang diisi dengan data pada objek txtKode.Text dan seterusnya…..
Barang.Recordset.Update artinya : Simpan ke Database data-data diatas..
Barang.Refresh artinya: Refres data pada database (tabel barang)
cmdClick_Click artinya: tombol Batal di klik melalui kode program

    aktif
    kosongkan
    txtNama.SetFocus
End Sub
-------------------------------------------------------------------------------------------------------------------------------
Private Sub cmdsimpan_Click()
    If koreksi = "ya" Then
       barang.Recordset.Edit
    Else
       barang.Recordset.AddNew
    End If
    barang.Recordset!Kode = txtKode.Text
    barang.Recordset!Nama = txtNama.Text
    barang.Recordset!Satuan = txtSatuan.Text
    barang.Recordset!hargabeli = txtHargaBeli.Text
    barang.Recordset!hargajual = txtHargaJual.Text
    barang.Recordset!stock = txtStock.Text
    barang.Recordset.Update
    cmdBatal_Click
End Sub
Rectangular Callout: Jika tombol Batal di Klik:
 - Panggil Sub Prosedure kosongkan
 - Panggil Sub Prosedure tidakaktif

-------------------------------------------------------------------------------------------------------------------------------
Private Sub cmdBatal_Click()
   kosongkan
   tidakaktif
End Sub
-------------------------------------------------------------------------------------------------------------------------------
Rectangular Callout: Jika tombol Tambah di Klik:
 -Aktifkan txtkode
 -Kosongkan txtkode
 -Tukar warna Background txtkode
 -Kursor aktif di txtkode
 -Aktifkan Tombol Batal

Private Sub cmdtambah_Click()
   txtKode.Enabled = True
   txtKode.Text = ""
   txtKode.BackColor = vbWhite
   txtKode.SetFocus
   cmdBatal.Enabled = True
End Sub
-------------------------------------------------------------------------------------------------------------------------------
Rectangular Callout: Karena OptSortir ada dua (namanya sama) maka di Index, untuk memilihnya digunakan Select Case

Case 0 
Jika yang di Klik OptSortir index 0 (Kode) Sortir kode
Case 1
Jika yang di Klik OptSortir index 1 (Nama) Sortir Nama

Private Sub optsortir_Click(Index As Integer)
 Select Case Index
  Case 0
      barang.Recordset.Index = "kodeidx"
  Case 1
      barang.Recordset.Index = "namaidx"
  End Select
End Sub
-------------------------------------------------------------------------------------------------------------------------------
Rectangular Callout: txtCari_Change artinya Jika terjadi perubahan object txtcariKode maka:
Apakah isi dari cmbCari =”Kode” kalau iya yang dicari adalah Kode
    tentukan index dari tabel barang yaitu Kodeidx
    bandingkan txtCari dengan kodeidx

Apakah isi dari cmbCari =”Nama Barang” kalau iya yang dicari Nama Brg
    tentukan index dari tabel barang yaitu namaIdx
    bandingkan txtCari dengan namaIdx

 beep untuk mengeluarkan bunyi, jika data tidak ditemukan..

Private Sub txtCari_Change()
 If cmbCari.Text = "Kode" Then
    barang.Recordset.Index = "KodeIdx"
    barang.Recordset.Seek "<=", Trim(txtCari.Text) & "zzz"
    If barang.Recordset.NoMatch Then
       If Len(Trim(txtCari.Text)) = 6 Then
          Beep
       End If
    End If
 End If
 If cmbCari.Text = "Nama Barang" Then
    barang.Recordset.Index = "NamaIdx"
    barang.Recordset.Seek "<=", Trim(txtCari.Text) & "zzz"
    If barang.Recordset.NoMatch Then
       If Len(Trim(txtCari.Text)) = 50 Then
          Beep
Rectangular Callout: X sebuah varkiabel memori  yg bernilai = VYes dan VBNo
-Jika yang di klik Yes maka X=Vbok   - - - Hapus Record
-Jika yang di klik No maka X=VBCancel  --- Tidak jadi di hapus
       End If
    End If
 End If
End Sub
-------------------------------------------------------------------------------------------------------------------------------
Private Sub cmdHapus_Click()
  X = MsgBox("Betul akan dihapus?", vbYesNo, "Menghapus record")
  If X = vbOK Then
     barang.Recordset.Delete
  End If
End Sub
-------------------------------------------------------------------------------------------------------------------------------
Rectangular Callout: Jika Tombol Koreksi di Klick 
- Panggil sub prosedure aktif
- txtkode.text diisi dengan Field kode pada Tabel Barang
Private Sub cmdkoreksi_Click()
   aktif
   txtKode.Text = barang.Recordset!Kode
End Sub
-------------------------------------------------------------------------------------------------------------------------------
Rectangular Callout: Jika Tombol Keluar di Klick 
- Hilangkan tampilan Form Barang /kembali ke MENU
Private Sub cmdkeluar_Click()
  Unload Me
End Sub
-------------------------------------------------------------------------------------------------------------------------------
Rem-------------------------------------------------------------------------------------------------------------------------------
Rem -- Kumpulan Sub Program ---
Rectangular Callout: TidakAktif  adalah sebuah prosedure :

Guna fungsi ini: Untuk menonaktifkan beberapa object, dan memberikan warna pada  object yang tidak aktif tersebut

 Enabled = False menyebabkan Objek-objek tersebut tidak Aktif/tidak dapat diisikan atau di klik

BackColor = vbRayText adalah warna latar dari objek saat tidak aktif 
Rem -------------------------------------------------------------------------------------------------------------------------------
Sub tidakaktif()
   txtKode.Enabled = False
   txtNama.Enabled = False
   txtSatuan.Enabled = False
   txtHargaBeli.Enabled = False
   txtHargaJual.Enabled = False
   txtStock.Enabled = False
   txtKode.BackColor = vbGrayText
   txtNama.BackColor = vbGrayText
   txtSatuan.BackColor = vbGrayText
   txtHargaBeli.BackColor = vbGrayText
   txtHargaJual.BackColor = vbGrayText
   txtStock.BackColor = vbGrayText
   cmdsimpan.Enabled = False
   cmdBatal.Enabled = False
End Sub
-------------------------------------------------------------------------------------------------------------------------------
Rectangular Callout: Aktif  adalah sebuah prosedure :

Guna fungsi ini: Untuk mengaktifkan beberapa object, dan memberikan warna pada  object yang aktif tersebut

 Enabled = False menyebabkan Objek-objek tersebut tidak Aktif/tidak dapat diisikan atau di klik

BackColor = vbwhite adalah warna latar dari objek aktif 
Sub aktif()
   txtKode.Enabled = True
   txtNama.Enabled = True
   txtSatuan.Enabled = True
   txtHargaBeli.Enabled = True
   txtHargaJual.Enabled = True
   txtStock.Enabled = True
   txtKode.BackColor = vbWhite
   txtNama.BackColor = vbWhite
   txtSatuan.BackColor = vbWhite
   txtHargaBeli.BackColor = vbWhite
   txtHargaJual.BackColor = vbWhite
   txtStock.BackColor = vbWhite
   cmdsimpan.Enabled = True
End Sub
-------------------------------------------------------------------------------------------------------------------------------
Rectangular Callout: kosongkan adalah Sebuah prosedure yang kita buat: (Nama prosedure  tidak boleh ada spasi)
Guna fungsi ini: Untuk mengosongkan object dengan memberikan nilai = “”  pada properti Text-nya.
Sub kosongkan()
  txtNama.Text = ""
  txtSatuan.Text = ""
  txtHargaBeli.Text = ""
  txtHargaJual.Text = ""
  txtStock.Text = ""
End Sub
-------------------------------------------------------------------------------------------------------------------------------


Catatan:
Setelah selesai Anda  ketik kode programnya, untuk menjalankan Aplikasi Barang. Hubungkan Program Barang dengan Program Menu:

Caranya:
·         Buka program MENU
·         Klik Menu File pada Menu yang anda buat tadi
·         Klik Aplikasi Barang
·         Buat seperti program dibawah ini…
……………………………………………………………
Private sub mnuBRG_click()
      FBARANG.SHOW
End Sub
……………………………………………………………





7.     Setelah Program Anda Selesai Isikan data-data dibawah ini: