• Tidak ada hasil yang ditemukan

Program Aplikasi Persediaan Barang

N/A
N/A
Protected

Academic year: 2021

Membagikan "Program Aplikasi Persediaan Barang"

Copied!
47
0
0

Teks penuh

(1)

1

Program Aplikasi Persediaan Barang

Oleh : Eko Sugiharto, S.Kom.

Buatlah database dan beberapa tabel menggunakan program Microsoft Access sesuai dengan

ketentuan berikut ini :

Nama database :

database.mdb

Daftar tabel

1.

Nama Tabel :

Barang

Field Name

Data Type (Length)

*Kode_Brg

Text(10)

Nama_Brg

Text(30)

Satuan

Text(20)

Stok

Number(Integer)

2.

Nama Tabel :

Supplier

Field Name

Data Type (Length)

*Kode_Supp

Text(10)

Nama_Supp

Text(30)

Alamat

Text(150)

Kota

Text(30)

Telepon

Text(20)

3.

Nama Tabel :

Pembelian

Field Name

Data Type (Length)

*No_Faktur

Text(10)

Tanggal

Date

Kode_Supp

Text(10)

Nama_Supp

Text(30)

Total

Number(Integer)

4.

Nama Tabel :

Detail_Beli

Field Name

Data Type (Length)

No_Faktur

Text(10)

Kode_Brg

Text(10)

Nama_Brg

Text(30)

Jumlah

Number(Integer)

Keterangan : Tanpa Primary Key

5.

Nama Tabel :

Pengeluaran

Field Name

Data Type (Length)

*No_Keluar

Text(10)

Tanggal

Date

Total

Number(Integer)

6.

Nama Tabel :

Detail_Keluar

Field Name

Data Type (Length)

No_Keluar

Text(10)

Kode_Brg

Text(10)

Nama_Brg

Text(30)

Stok

Number(Integer)

Jumlah

Number(Integer)

Keterangan : Tanpa Primary Key

7.

Nama Tabel :

Admin

Field Name

Data Type (Length)

*Username

Text(16)

(2)

2

Setelah pembuatan database dan tabel menggunakan Microsoft Access selesai, selanjutnya ikuti

langkah-langkah berikut ini :

1.

Aktifkan

Microsoft Visual Basic 6.0

2.

Kemudian klik

Project – References

untuk menambahkan Reference Microsoft ActiveX Data Objects

2.0 Library.

3.

Pilih

Microsoft ActiveX Data Objects 2.0 Library

pada kotak dialog References

(3)

3

5.

Ketik kode program sesuai contoh berikut ini :

Option Explicit

Public KonekDB As ADODB.Connection Public Rs_Barang As New ADODB.Recordset Public Rs_Supplier As New ADODB.Recordset Public Rs_Beli As New ADODB.Recordset Public Rs_Keluar As New ADODB.Recordset 'Deklarasi Variabel

Public strKonekDB As String Public SQL As String

Public Sub BukaDatabase()

Set KonekDB = New ADODB.Connection

strKonekDB = "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;Data Source=" & App.Path + "\database.mdb"

'Untuk membuka koneksi On Error Resume Next

If KonekDB.State = adStateOpen Then KonekDB.Close

Set KonekDB = New ADODB.Connection Else

KonekDB.Open strKonekDB End If

'Periksa status koneksi If Err.Number <> 0 Then

MsgBox "Koneksi Database Gagal, Silakan Periksa Kembali..!!", vbOKOnly + vbInformation, "Informasi"

End Else

'Koneksi Database Sukses End If

End Sub

6.

Simpan

Module

tersebut dengan nama

Config

7.

Tambahkan komponen

Microsoft FlexGrid Control 6.0

dengan cara

klik kanan

pada area

Toolbox

(4)

4

8.

Rancanglah form Data Barang dengan menambahkan

4 Label, 3 TextBox, 1 ComboBox, 1 Frame, 4

CommandButton

dan

1 MsFlexGrid

seperti contoh berikut ini:

9.

Kemudian atur properti masing-masing objek seperti tertera pada tabel berikut ini :

Nama Objek

Properti

Nilai Pengaturan

Form1

Name

frmBarang

Caption

Data Barang

Label1

Caption

Kode Barang

Label2

Caption

Nama Barang

Label3

Caption

Satuan

Label4

Caption

Stok

Text1

Name

txtKode

Text

(Kosongkan)

Text2

Name

txtNama

Text

(Kosongkan)

Text3

Name

txtStok

Text

(Kosongkan)

Combo1

Name

cbSatuan

Text

Kosongkan

Frame1

Caption

Proses

Command1

Name

cmdInput

Caption

&Input

Command2

Name

cmdEdit

Caption

&Edit

Command3

Name

cmdHapus

Caption

&Hapus

Command4

Name

cmdTutup

Caption

&Tutup

(5)

5

10. Sehingga tampilan akhirnya menjadi seperti berikut ini :

11. Kemudian tambahkan kode program sesuai contoh berikut ini :

Dim GridBaris As Byte

Sub NonAktif() txtKode.Enabled = False txtNama.Enabled = False cbSatuan.Enabled = False txtStok.Enabled = False cmdEdit.Enabled = False cmdHapus.Enabled = False cmdInput.Enabled = True cmdInput.Caption = "&Input" cmdTutup.Caption = "&Tutup" End Sub Sub Aktif() txtKode.Enabled = True txtNama.Enabled = True cbSatuan.Enabled = True txtStok.Enabled = True End Sub Sub Kosong() txtKode.Text = "" txtNama.Text = "" cbSatuan.Text = "" txtStok.Text = "" End Sub

Private Sub cmdEdit_Click()

If MsgBox("Apakah Anda yakin mau mengedit data ini?", vbYesNo + vbQuestion, "Konfirmasi") = vbYes Then

If txtNama.Text = "" Then

MsgBox "Nama Barang tidak boleh kosong!", vbInformation + vbOKOnly, "Informasi"

txtNama.SetFocus

ElseIf cbSatuan.Text = "" Then

MsgBox "Satuan tidak boleh kosong!", vbInformation + vbOKOnly, "Informasi" cbSatuan.SetFocus

ElseIf txtStok.Text = "" Then

MsgBox "Stok tidak boleh kosong!", vbInformation + vbOKOnly, "Informasi" txtStok.SetFocus

ElseIf Not IsNumeric(txtStok.Text) Then

MsgBox "Stok harus diisi dengan tipe number!", vbInformation + vbOKOnly, "Informasi"

(6)

6

Else

SQL = ""

SQL = "SELECT * FROM Barang WHERE Kode_Brg = '" & txtKode.Text & "'" Set Rs_Barang = New ADODB.Recordset

Rs_Barang.Open SQL, KonekDB, adOpenDynamic, adLockOptimistic If Not Rs_Barang.BOF Then

With Rs_Barang .Fields!Kode_Brg = Trim(txtKode.Text) .Fields!Nama_Brg = Trim(txtNama.Text) .Fields!Satuan = Trim(cbSatuan.Text) .Fields!Stok = Trim(txtStok.Text) .Update End With Rs_Barang.Requery Call Kosong Call NonAktif Call TampilGrid

MsgBox "Data berhasil diedit", vbOKOnly + vbInformation, "Informasi" Else

MsgBox "Data gagal diedit", vbOKOnly + vbInformation, "Informasi" End If

End If End If

End Sub

Private Sub cmdHapus_Click()

If MsgBox("Apakah Anda yakin mau menghapus data ini?", vbYesNo + vbQuestion, "Konfirmasi") = vbYes Then

SQL = "DELETE FROM Barang WHERE Kode_Brg='" & txtKode.Text & "'" KonekDB.Execute SQL, , adCmdText

Rs_Barang.Requery Call Kosong Call NonAktif Call TampilGrid

MsgBox "Data berhasil dihapus", vbOKOnly + vbInformation, "Informasi" End If

End Sub

Private Sub cmdInput_Click()

If cmdInput.Caption = "&Input" Then Call Aktif cmdInput.Caption = "&Simpan" cmdTutup.Caption = "&Batal" txtKode.SetFocus Else If txtKode.Text = "" Then

MsgBox "Kode Barang tidak boleh kosong!", vbInformation + vbOKOnly, "Informasi"

txtKode.SetFocus

ElseIf txtNama.Text = "" Then

MsgBox "Nama Barang tidak boleh kosong!", vbInformation + vbOKOnly, "Informasi"

txtNama.SetFocus

ElseIf cbSatuan.Text = "" Then

MsgBox "Satuan tidak boleh kosong!", vbInformation + vbOKOnly, "Informasi" cbSatuan.SetFocus

ElseIf txtStok.Text = "" Then

MsgBox "Stok tidak boleh kosong!", vbInformation + vbOKOnly, "Informasi" txtStok.SetFocus

ElseIf Not IsNumeric(txtStok.Text) Then

MsgBox "Stok harus diisi dengan tipe number!", vbInformation + vbOKOnly, "Informasi"

txtStok.Text = "" txtStok.SetFocus Else

SQL = ""

SQL = "SELECT * FROM Barang WHERE Kode_Brg = '" & txtKode.Text & "'" Set Rs_Barang = New ADODB.Recordset

Rs_Barang.Open SQL, KonekDB, adOpenDynamic, adLockOptimistic If Rs_Barang.BOF Then With Rs_Barang .AddNew .Fields!Kode_Brg = Trim(txtKode.Text) .Fields!Nama_Brg = Trim(txtNama.Text) .Fields!Satuan = Trim(cbSatuan.Text) .Fields!Stok = Trim(txtStok.Text) .Update End With

(7)

7

Rs_Barang.Requery Call Kosong Call NonAktif Call TampilGrid

MsgBox "Data berhasil tersimpan", vbOKOnly + vbInformation, "Informasi" Else

MsgBox "Data tidak tersimpan", vbOKOnly + vbInformation, "Informasi" End If

End If End If

End Sub

Private Sub cmdTutup_Click()

If cmdTutup.Caption = "&Tutup" Then

If MsgBox("Apakah Anda mau menutup form ini?", vbYesNo + vbQuestion, "Konfirmasi") = vbYes Then

Unload Me End If Else Call Kosong Call NonAktif End If End Sub

Private Sub Form_Load()

Call BukaDatabase Call TampilGrid Call NonAktif End Sub Sub AktifGrid() With GridData .Cols = 5 .RowHeightMin = 300 .Col = 0 .Row = 0 .Text = "No" .CellFontBold = True .ColWidth(0) = 400 .AllowUserResizing = flexResizeColumns .CellAlignment = flexAlignCenterCenter .RowHeightMin = 300 .Col = 1 .Row = 0

.Text = "Kode Barang" .CellFontBold = True .ColWidth(1) = 1750 .AllowUserResizing = flexResizeColumns .CellAlignment = flexAlignCenterCenter .Col = 2 .Row = 0

.Text = "Nama Barang" .CellFontBold = True .ColWidth(2) = 2500 .AllowUserResizing = flexResizeColumns .CellAlignment = flexAlignCenterCenter .Col = 3 .Row = 0 .Text = "Satuan" .CellFontBold = True .ColWidth(3) = 1500 .AllowUserResizing = flexResizeColumns .CellAlignment = flexAlignCenterCenter .Col = 4 .Row = 0 .Text = "Stok" .CellFontBold = True .ColWidth(4) = 1000 .AllowUserResizing = flexResizeColumns .CellAlignment = flexAlignCenterCenter End With End Sub

(8)

8

Sub TampilGrid()

Dim baris As Integer GridData.Clear Call AktifGrid GridData.Rows = 2 baris = 0

Set Rs_Barang = New ADODB.Recordset

Rs_Barang.Open "SELECT * FROM Barang", KonekDB, adOpenDynamic, adLockOptimistic If Rs_Barang.BOF Then

Exit Sub Else

With Rs_Barang .MoveFirst

Do While Not .EOF

On Error Resume Next baris = baris + 1 GridData.Rows = baris + 1 GridData.TextMatrix(baris, 0) = baris GridData.TextMatrix(baris, 1) = !Kode_Brg GridData.TextMatrix(baris, 2) = !Nama_Brg GridData.TextMatrix(baris, 3) = !Satuan GridData.TextMatrix(baris, 4) = !Stok .MoveNext Loop End With End If End Sub

Private Sub GridData_DblClick()

GridBaris = GridData.Row

Set Rs_Barang = New ADODB.Recordset

Rs_Barang.Open "SELECT * FROM Barang WHERE Kode_Brg='" & GridData.TextMatrix(GridBaris, 1) & "'", KonekDB, adOpenDynamic, adLockOptimistic

If Rs_Barang.BOF Then

MsgBox "TABEL MASIH KOSONG!", vbOKOnly + vbInformation, "Error" Exit Sub

Else

Rs_Barang.MoveFirst

Do While Not Rs_Barang.EOF On Error Resume Next

txtKode.Text = Rs_Barang!Kode_Brg txtNama.Text = Rs_Barang!Nama_Brg cbSatuan.Text = Rs_Barang!Satuan txtStok.Text = Rs_Barang!Stok Rs_Barang.MoveNext Loop cmdEdit.Enabled = True cmdHapus.Enabled = True cmdTutup.Caption = "&Batal" cmdInput.Caption = "&Input" cmdInput.Enabled = False Call Aktif txtKode.Enabled = False txtNama.SetFocus End If End Sub

(9)

9

13. Tambahkan form baru dan rancanglah form Data Supplier dengan menambahkan

5 Label, 5 TextBox,

1 Frame, 4 CommandButton

dan

1 MsFlexGrid

seperti contoh berikut ini:

14. Atur properti masing-masing objek seperti tertera pada tabel berikut ini :

Nama Objek

Properti

Nilai Pengaturan

Form1

Name

frmSupplier

Caption

Data Supplier

Label1

Caption

Kode Supplier

Label2

Caption

Nama Supplier

Label3

Caption

Alamat

Label4

Caption

Kota

Label5

Caption

Telepon

Text1

Name

txtKode

Text

(Kosongkan)

Text2

Name

txtNama

Text

(Kosongkan)

Text3

Name

txtAlamat

Text

(Kosongkan)

Text4

Name

txtKota

Text

(Kosongkan)

Text5

Name

txtTelepon

Text

(Kosongkan)

Frame1

Caption

Proses

Command1

Name

cmdInput

Caption

&Input

Command2

Name

cmdEdit

Caption

&Edit

Command3

Name

cmdHapus

Caption

&Hapus

Command4

Name

cmdTutup

Caption

&Tutup

(10)

10

15. Sehingga tampilan akhirnya menjadi seperti berikut ini :

16. Kemudian tambahkan kode program seperti contoh berikut ini :

Dim GridBaris As Byte

Sub NonAktif() txtKode.Enabled = False txtNama.Enabled = False txtAlamat.Enabled = False txtKota.Enabled = False txtTelepon.Enabled = False cmdEdit.Enabled = False cmdHapus.Enabled = False cmdInput.Enabled = True cmdInput.Caption = "&Input" cmdTutup.Caption = "&Tutup" End Sub Sub Aktif() txtKode.Enabled = True txtNama.Enabled = True txtAlamat.Enabled = True txtKota.Enabled = True txtTelepon.Enabled = True End Sub Sub Kosong() txtKode.Text = "" txtNama.Text = "" txtAlamat.Text = "" txtKota.Text = "" txtTelepon.Text = "" End Sub

Private Sub cmdEdit_Click()

If MsgBox("Apakah Anda yakin mau mengedit data ini?", vbYesNo + vbQuestion, "Konfirmasi") = vbYes Then

If txtNama.Text = "" Then

MsgBox "Nama Supplier tidak boleh kosong!", vbInformation + vbOKOnly, "Informasi"

txtNama.SetFocus

ElseIf txtAlamat.Text = "" Then

MsgBox "Alamat tidak boleh kosong!", vbInformation + vbOKOnly, "Informasi" txtAlamat.SetFocus

ElseIf txtKota.Text = "" Then

MsgBox "Kota tidak boleh kosong!", vbInformation + vbOKOnly, "Informasi" txtKota.SetFocus

ElseIf txtTelepon.Text = "" Then

MsgBox "No. Telepon tidak boleh kosong!", vbInformation + vbOKOnly, "Informasi"

(11)

11

Else

SQL = ""

SQL = "SELECT * FROM Supplier WHERE Kode_Supp = '" & txtKode.Text & "'" Set Rs_Supplier = New ADODB.Recordset

Rs_Supplier.Open SQL, KonekDB, adOpenDynamic, adLockOptimistic If Not Rs_Supplier.BOF Then

With Rs_Supplier .Fields!Kode_Supp = Trim(txtKode.Text) .Fields!Nama_Supp = Trim(txtNama.Text) .Fields!Alamat = Trim(txtAlamat.Text) .Fields!Kota = Trim(txtKota.Text) .Fields!Telepon = Trim(txtTelepon.Text) .Update End With Rs_Supplier.Requery Call Kosong Call NonAktif Call TampilGrid

MsgBox "Data berhasil diedit", vbOKOnly + vbInformation, "Informasi" Else

MsgBox "Data gagal diedit", vbOKOnly + vbInformation, "Informasi" End If

End If End If

End Sub

Private Sub cmdHapus_Click()

If MsgBox("Apakah Anda yakin mau menghapus data ini?", vbYesNo + vbQuestion, "Konfirmasi") = vbYes Then

SQL = "DELETE FROM Supplier WHERE Kode_Supp='" & txtKode.Text & "'" KonekDB.Execute SQL, , adCmdText

Rs_Supplier.Requery Call Kosong

Call NonAktif Call TampilGrid

MsgBox "Data berhasil dihapus", vbOKOnly + vbInformation, "Informasi" End If

End Sub

Private Sub cmdInput_Click()

If cmdInput.Caption = "&Input" Then Call Aktif cmdInput.Caption = "&Simpan" cmdTutup.Caption = "&Batal" txtKode.SetFocus Else If txtKode.Text = "" Then

MsgBox "Kode Supplier tidak boleh kosong!", vbInformation + vbOKOnly, "Informasi"

txtKode.SetFocus

ElseIf txtNama.Text = "" Then

MsgBox "Nama Supplier tidak boleh kosong!", vbInformation + vbOKOnly, "Informasi"

txtNama.SetFocus

ElseIf txtAlamat.Text = "" Then

MsgBox "Alamat tidak boleh kosong!", vbInformation + vbOKOnly, "Informasi" txtAlamat.SetFocus

ElseIf txtKota.Text = "" Then

MsgBox "Kota tidak boleh kosong!", vbInformation + vbOKOnly, "Informasi" txtKota.SetFocus

ElseIf txtTelepon.Text = "" Then

MsgBox "No. Telepon tidak boleh kosong!", vbInformation + vbOKOnly, "Informasi"

txtTelepon.SetFocus

ElseIf Not IsNumeric(txtTelepon.Text) Then

MsgBox "No. Telepon harus diisi dengan tipe Number!", vbInformation + vbOKOnly, "Informasi"

txtTelepon.Text = "" txtTelepon.SetFocus Else

SQL = ""

SQL = "SELECT * FROM Supplier WHERE Kode_Supp = '" & txtKode.Text & "'" Set Rs_Supplier = New ADODB.Recordset

Rs_Supplier.Open SQL, KonekDB, adOpenDynamic, adLockOptimistic If Rs_Supplier.BOF Then

With Rs_Supplier .AddNew

(12)

12

.Fields!Nama_Supp = Trim(txtNama.Text) .Fields!Alamat = Trim(txtAlamat.Text) .Fields!Kota = Trim(txtKota.Text) .Fields!Telepon = Trim(txtTelepon.Text) .Update End With Rs_Supplier.Requery Call Kosong Call NonAktif Call TampilGrid

MsgBox "Data berhasil tersimpan", vbOKOnly + vbInformation, "Informasi" Else

MsgBox "Data tidak tersimpan", vbOKOnly + vbInformation, "Informasi" End If

End If End If

End Sub

Private Sub cmdTutup_Click()

If cmdTutup.Caption = "&Tutup" Then

If MsgBox("Apakah Anda mau menutup form ini?", vbYesNo + vbQuestion, "Konfirmasi") = vbYes Then

Unload Me End If Else Call Kosong Call NonAktif End If End Sub

Private Sub Form_Load()

Call BukaDatabase Call TampilGrid Call NonAktif End Sub Sub AktifGrid() With GridData .Cols = 6 .RowHeightMin = 300 .Col = 0 .Row = 0 .Text = "No" .CellFontBold = True .ColWidth(0) = 400 .AllowUserResizing = flexResizeColumns .CellAlignment = flexAlignCenterCenter .RowHeightMin = 300 .Col = 1 .Row = 0

.Text = "Kode Supplier" .CellFontBold = True .ColWidth(1) = 1750 .AllowUserResizing = flexResizeColumns .CellAlignment = flexAlignCenterCenter .Col = 2 .Row = 0

.Text = "Nama Supplier" .CellFontBold = True .ColWidth(2) = 2000 .AllowUserResizing = flexResizeColumns .CellAlignment = flexAlignCenterCenter .Col = 3 .Row = 0 .Text = "Alamat" .CellFontBold = True .ColWidth(3) = 3000 .AllowUserResizing = flexResizeColumns .CellAlignment = flexAlignCenterCenter .Col = 4 .Row = 0 .Text = "Kota" .CellFontBold = True .ColWidth(4) = 1500 .AllowUserResizing = flexResizeColumns

(13)

13

.CellAlignment = flexAlignCenterCenter .Col = 5 .Row = 0 .Text = "Telepon" .CellFontBold = True .ColWidth(5) = 1500 .AllowUserResizing = flexResizeColumns .CellAlignment = flexAlignCenterCenter End With End Sub Sub TampilGrid()

Dim baris As Integer GridData.Clear Call AktifGrid GridData.Rows = 2 baris = 0

Set Rs_Supplier = New ADODB.Recordset

Rs_Supplier.Open "SELECT * FROM Supplier", KonekDB, adOpenDynamic, adLockOptimistic If Rs_Supplier.BOF Then

Exit Sub Else

With Rs_Supplier .MoveFirst

Do While Not .EOF

On Error Resume Next baris = baris + 1 GridData.Rows = baris + 1 GridData.TextMatrix(baris, 0) = baris GridData.TextMatrix(baris, 1) = !Kode_Supp GridData.TextMatrix(baris, 2) = !Nama_Supp GridData.TextMatrix(baris, 3) = !Alamat GridData.TextMatrix(baris, 4) = !Kota GridData.TextMatrix(baris, 5) = !Telepon .MoveNext Loop End With End If End Sub

Private Sub GridData_DblClick()

GridBaris = GridData.Row

Set Rs_Supplier = New ADODB.Recordset

Rs_Supplier.Open " SELECT * FROM Supplier WHERE Kode_Supp='" & GridData.TextMatrix(GridBaris, 1) & "'", KonekDB, adOpenDynamic, adLockOptimistic

If Rs_Supplier.BOF Then

MsgBox "TABEL MASIH KOSONG!", vbOKOnly + vbInformation, "Error" Exit Sub

Else

Rs_Supplier.MoveFirst

Do While Not Rs_Supplier.EOF On Error Resume Next

txtKode.Text = Rs_Supplier!Kode_Supp txtNama.Text = Rs_Supplier!Nama_Supp txtAlamat.Text = Rs_Supplier!Alamat txtKota.Text = Rs_Supplier!Kota txtTelepon.Text = Rs_Supplier!Telepon Rs_Supplier.MoveNext Loop cmdEdit.Enabled = True cmdHapus.Enabled = True cmdTutup.Caption = "&Batal" cmdInput.Caption = "&Input" cmdInput.Enabled = False Call Aktif txtKode.Enabled = False txtNama.SetFocus End If End Sub

(14)

14

18. Tambahkan komponen

Microsoft Windows Common Controls-2.6.0

19. Kemudian tambahkan form baru dan rancanglah form Data Pembelian dengan menambahkan

8 Label,

7 TextBox, 1 DTPicker, 1 Frame, 6 CommandButton

seperti contoh berikut ini :

20. Atur properti masing-masing objek seperti tertera pada tabel berikut ini :

Nama Objek

Properti

Nilai Pengaturan

Form1

Name

frmPembelian

Caption

Data Pembelian

Label1

Caption

No. Faktur

Label2

Caption

Tanggal

Label3

Caption

Kode Supplier

Label4

Caption

Nama Supplier

Label5

Alignment

Center

BackColor

(Pilih Warna)

Caption

Kode Barang

Label6

Alignment

Center

BackColor

(Pilih Warna)

(15)

15

Label7

Alignment

Center

BackColor

(Pilih Warna)

Caption

Jumlah

Label8

Caption

Total

Text1

Name

txtNoFak

Text

Kosongkan

Text2

Name

txtKdSupp

Text

Kosongkan

Text3

Name

txtNmSupp

Text

Kosongkan

Text4

Name

txtKdBrg

Text

Kosongkan

Text5

Name

txtNmBrg

Text

Kosongkan

Text6

Name

txtJumlah

Text

Kosongkan

Text7

Name

txtTotal

Text

Kosongkan

DTPicker1

Name

dtTanggal

Frame1

Caption

Proses

Command1

Name

cmdCariSupp

Caption

...

Command2

Name

cmdCariBrg

Caption

...

Command3

Name

cmdOK

Caption

&OK

Command4

Name

cmdSimpan

Caption

&Simpan

Command5

Name

cmdBatal

Caption

&Batal

Command6

Name

cmdTutup

Caption

&Tutup

MsFlexGrid1

Name

GridData

(16)

16

22. Kemudian tambahkan kode program seperti contoh berikut ini :

Dim i, baris As Integer

Private Sub cmdBatal_Click()

Kosong

End Sub

Private Sub cmdCariSupp_Click()

frmCariSupplier.Show

End Sub

Private Sub cmdCariBrg_Click()

frmCariBarang.Show

End Sub

Private Sub Kosong()

txtNoFak.Text = ""

dtTanggal.Value = Format(Now, "dd-mm-yyyy") txtKdSupp.Text = "" txtNmSupp.Text = "" txtKdBrg.Text = "" txtNmBrg.Text = "" txtJumlah.Text = "" txtTotal.Text = "" baris = 1 GridData.Clear GridData.Rows = 2 AktifGridData End Sub

Private Sub cmdOK_Click()

On Error Resume Next If txtKdBrg = "" Then

MsgBox "Kode Barang tidak boleh kosong..!!", vbInformation + vbOKOnly, "Informasi"

txtKdBrg.SetFocus ElseIf txtNmBrg = "" Then

MsgBox "Kode Barang tidak terdaftar..!", vbInformation + vbOKOnly, "Informasi" txtKdBrg = ""

txtJumlah = "" txtKdBrg.SetFocus ElseIf txtJumlah = "" Then

MsgBox "Jumlah tidak boleh kosong..!!", vbInformation + vbOKOnly, "Informasi" txtJumlah.SetFocus

ElseIf Not IsNumeric(txtJumlah) Then

MsgBox "Jumlah harus diisi dengan tipe Number!", vbInformation + vbOKOnly, "Informasi" txtJumlah = "" txtJumlah.SetFocus Else GridData.Rows = baris + 1 GridData.TextMatrix(baris, 0) = txtKdBrg.Text GridData.TextMatrix(baris, 1) = txtNmBrg.Text GridData.TextMatrix(baris, 2) = txtJumlah.Text

txtTotal.Text = Val(txtTotal.Text) + Val(txtJumlah.Text) baris = baris + 1 txtKdBrg = "" txtNmBrg = "" txtJumlah = "" txtKdBrg.SetFocus End If Rs_Barang.Requery End Sub

Private Sub AktifGridData()

With GridData .Cols = 3 .RowHeightMin = 300 .Col = 0 .Row = 0

.Text = "Kode Barang" .CellFontBold = True .ColWidth(0) = 2000

.AllowUserResizing = flexResizeColumns .CellAlignment = flexAlignCenterCenter

(17)

17

.Col = 1 .Row = 0

.Text = "Nama Barang" .CellFontBold = True .ColWidth(1) = 4000 .AllowUserResizing = flexResizeColumns .CellAlignment = flexAlignCenterCenter .Col = 2 .Row = 0 .Text = "Jumlah" .CellFontBold = True .ColWidth(2) = 1000 .AllowUserResizing = flexResizeColumns .CellAlignment = flexAlignCenterCenter End With End Sub

Private Sub cmdSimpan_Click()

If baris <> 1 Then

If txtNoFak = "" Then

MsgBox "No. Faktur tidak boleh kosong!", vbOKOnly + vbInformation, "Informasi" txtNoFak.SetFocus

ElseIf txtKdSupp = "" Then

MsgBox "Kode Supplier tidak boleh kosong!", vbOKOnly + vbInformation, "Informasi"

txtKdSupp.SetFocus Else

'Proses penyimpanan ke Pembelian SQL = ""

SQL = "INSERT INTO Pembelian(No_Faktur,Tanggal,Kode_Supp,Nama_Supp,Total) VALUES('" & txtNoFak.Text & "','" & dtTanggal.Value & "','" & txtKdSupp.Text & "','" & txtNmSupp.Text & "','" & txtTotal.Text & "')"

KonekDB.Execute SQL, , adCmdText

'Proses penyimpanan ke Detail_Beli For i = 1 To baris - 1

SQL = ""

SQL = "INSERT INTO Detail_Beli(No_Faktur,Kode_Brg,Nama_Brg,Jumlah) VALUES('" & txtNoFak.Text & "','" & GridData.TextMatrix(i, 0) & "','" & GridData.TextMatrix(i, 1) & "','" & GridData.TextMatrix(i, 2) & "')"

KonekDB.Execute SQL, , adCmdText

Dim StokBaru As Integer Dim Kode As String

StokBaru = Val(GridData.TextMatrix(i, 2)) Kode = GridData.TextMatrix(i, 0)

SQL = ""

SQL = "UPDATE Barang SET Stok=Stok + " & StokBaru & " WHERE Kode_Brg='" & Kode & "'"

KonekDB.Execute SQL, , adCmdText Next i

MsgBox "Data Pembelian telah tersimpan.", vbInformation + vbOKOnly, "Informasi" Kosong

End If Else

MsgBox "Maaf! Data pembelian barang masih kosong.", vbOKOnly + vbInformation, "Informasi"

End If

End Sub

Private Sub cmdTutup_Click()

If MsgBox("Apakah Anda mau menutup form ini?", vbYesNo + vbQuestion, "Konfirmasi") = vbYes Then

Unload Me End If

End Sub

Private Sub Form_Load()

Call BukaDatabase Call Kosong

End Sub

Private Sub TampilBarang()

If txtKdBrg <> "" Then SQL = ""

SQL = "SELECT * FROM Barang WHERE Kode_Brg='" & txtKdBrg.Text & "'" Set Rs_Barang = New ADODB.Recordset

(18)

18

If Not Rs_Barang.BOF Then

txtNmBrg = Rs_Barang.Fields!Nama_Brg txtJumlah.SetFocus

End If End If

End Sub

Private Sub TampilSupplier()

If txtKdSupp <> "" Then SQL = ""

SQL = "SELECT * FROM Supplier WHERE Kode_Supp='" & txtKdSupp.Text & "'" Set Rs_Supplier = New ADODB.Recordset

Rs_Supplier.Open SQL, KonekDB, adOpenDynamic, adLockOptimistic

If Not Rs_Supplier.BOF Then

txtNmSupp = Rs_Supplier.Fields!Nama_Supp txtKdBrg.SetFocus

End If End If

End Sub

Private Sub txtKdBrg_Change()

TampilBarang

End Sub

Private Sub txtKdSupp_Change()

TampilSupplier

End Sub

23. Simpan form tersebut dengan nama

frmPembelian

24. Tambahkan form baru dan rancanglah form Pencarian Supplier dengan menambahkan

1 Frame, 1

TextBox, 1 CommandButton

dan

1 MsFlexGrid

seperti contoh berikut ini :

25. Atur properti masing-masing seperti tertera pada tabel berikut ini :

Nama Objek

Properti

Nilai Pengaturan

Form1

Name

frmCariSupplier

Caption

Pencarian

Frame1

Caption

Kata Kunci

Text1

Name

txtCari

Text

(Kosongkan)

Command1

Name

cmdTutup

Caption

&Tutup

(19)

19

26. Sehingga tampilan akhirnya menjadi seperti berikut ini :

27. Tambahkan kode program seperti contoh berikut ini :

Private Sub cmdTutup_Click()

Unload Me

End Sub

Private Sub Form_Load()

Call BukaDatabase

Set Rs_Supplier = New ADODB.Recordset

Rs_Supplier.Open "SELECT * FROM Supplier", KonekDB, adOpenDynamic, adLockOptimistic Call TampilGridData GridData.Cols = 6 End Sub Sub AktifGridData() With GridData .Cols = 6 .RowHeightMin = 300 .Col = 0 .Row = 0 .Text = "No" .CellFontBold = True .ColWidth(0) = 400 .AllowUserResizing = flexResizeColumns .CellAlignment = flexAlignCenterCenter .Col = 1 .Row = 0

.Text = "Kode Supplier" .CellFontBold = True .ColWidth(1) = 2000 .AllowUserResizing = flexResizeColumns .CellAlignment = flexAlignCenterCenter .Col = 2 .Row = 0

.Text = "Nama Supplier" .CellFontBold = True .ColWidth(2) = 2000 .AllowUserResizing = flexResizeColumns .CellAlignment = flexAlignCenterCenter .Col = 3 .Row = 0 .Text = "Alamat" .CellFontBold = True .ColWidth(3) = 3500 .AllowUserResizing = flexResizeColumns .CellAlignment = flexAlignCenterCenter .Col = 4 .Row = 0 .Text = "Kota" .CellFontBold = True .ColWidth(4) = 1500 .AllowUserResizing = flexResizeColumns .CellAlignment = flexAlignCenterCenter

(20)

20

.Col = 5 .Row = 0 .Text = "Telepon" .CellFontBold = True .ColWidth(5) = 1800 .AllowUserResizing = flexResizeColumns .CellAlignment = flexAlignCenterCenter End With End Sub Sub TampilGridData()

Dim baris As Byte GridData.Clear Call AktifGridData GridData.Rows = 2 baris = 0 If Rs_Supplier.BOF Then

MsgBox "Data Supplier Masih Kosong..", vbInformation + vbOKOnly, "Informasi" Exit Sub

Else

With Rs_Supplier .MoveFirst

Do While Not .EOF baris = baris + 1 GridData.Rows = baris + 1 GridData.TextMatrix(baris, 0) = baris GridData.TextMatrix(baris, 1) = !Kode_Supp GridData.TextMatrix(baris, 2) = !Nama_Supp GridData.TextMatrix(baris, 3) = !Alamat GridData.TextMatrix(baris, 4) = !Kota GridData.TextMatrix(baris, 5) = !Telepon .MoveNext Loop End With End If End Sub

Private Sub GridData_DblClick()

Dim b As Byte b = GridData.Row If GridData.Rows <> 1 Then With frmPembelian .txtKdSupp.Text = GridData.TextMatrix(b, 1) .txtNmSupp.Text = GridData.TextMatrix(b, 2) .txtKdBrg.SetFocus End With Else Exit Sub End If Unload Me End Sub

Private Sub txtCari_Change()

If txtCari.Text <> Empty Then

Set Rs_Supplier = New ADODB.Recordset

Rs_Supplier.Open "SELECT * FROM Supplier WHERE Kode_Supp LIKE '%" & txtCari.Text & "%' OR Nama_Supp LIKE'%" & txtCari.Text & "%'", KonekDB, adOpenDynamic, adLockBatchOptimistic

If Rs_Supplier.BOF Then

MsgBox "Data Yang Anda Cari Tidak Ditemukan..!", vbInformation + vbOKOnly, "Informasi" txtCari.Text = "" txtCari.SetFocus Else Call TampilGridData End If End If End Sub

(21)

21

29. Tambahkan form baru dan rancanglah form Pencarian Barang dengan menambahkan

1 Frame, 1

TextBox, 1 CommandButton

dan

1 MsFlexGrid

seperti contoh berikut ini :

30. Atur properti masing-masing seperti tertera pada tabel berikut ini :

Nama Objek

Properti

Nilai Pengaturan

Form1

Name

frmCariBarang

Caption

Pencarian

Frame1

Caption

Kata Kunci

Text1

Name

txtCari

Text

(Kosongkan)

Command1

Name

cmdTutup

Caption

&Tutup

MsFlexGrid1

Name

GridData

31. Sehingga tampilan akhirnya menjadi seperti berikut ini :

32. Tambahkan kode program seperti contoh berikut ini :

Private Sub cmdTutup_Click()

Unload Me

End Sub

Private Sub Form_Load()

Call BukaDatabase

Set Rs_Barang = New ADODB.Recordset

Rs_Barang.Open "SELECT * FROM Barang", KonekDB, adOpenDynamic, adLockOptimistic Call TampilGridData GridData.Cols = 4 End Sub Sub AktifGridData() With GridData .Cols = 4 .RowHeightMin = 300 .Col = 0 .Row = 0 .Text = "No" .CellFontBold = True .ColWidth(0) = 400 .AllowUserResizing = flexResizeColumns .CellAlignment = flexAlignCenterCenter

(22)

22

.Col = 1 .Row = 0

.Text = "Kode Barang" .CellFontBold = True .ColWidth(1) = 2000 .AllowUserResizing = flexResizeColumns .CellAlignment = flexAlignCenterCenter .Col = 2 .Row = 0

.Text = "Nama Barang" .CellFontBold = True .ColWidth(2) = 2000 .AllowUserResizing = flexResizeColumns .CellAlignment = flexAlignCenterCenter .Col = 3 .Row = 0 .Text = "Stok" .CellFontBold = True .ColWidth(3) = 1500 .AllowUserResizing = flexResizeColumns .CellAlignment = flexAlignCenterCenter End With End Sub Sub TampilGridData()

Dim baris As Byte GridData.Clear Call AktifGridData GridData.Rows = 2 baris = 0 If Rs_Barang.BOF Then

MsgBox "Data Barang Masih Kosong..", vbInformation + vbOKOnly, "Informasi" Exit Sub

Else

With Rs_Barang .MoveFirst

Do While Not .EOF baris = baris + 1 GridData.Rows = baris + 1 GridData.TextMatrix(baris, 0) = baris GridData.TextMatrix(baris, 1) = !Kode_Brg GridData.TextMatrix(baris, 2) = !Nama_Brg GridData.TextMatrix(baris, 3) = !Stok .MoveNext Loop End With End If End Sub

Private Sub GridData_DblClick()

Dim b As Byte b = GridData.Row If GridData.Rows <> 1 Then With frmPembelian .txtKdBrg.Text = GridData.TextMatrix(b, 1) .txtNmBrg.Text = GridData.TextMatrix(b, 2) .txtJumlah.SetFocus End With Else Exit Sub End If Unload Me End Sub

Private Sub txtCari_Change()

If txtCari.Text = Empty Then '

Else

Set Rs_Barang = New ADODB.Recordset

Rs_Barang.Open "SELECT * FROM Barang WHERE Kode_Brg LIKE '%" & txtCari.Text & "%' OR Nama_Brg LIKE'%" & txtCari.Text & "%'", KonekDB, adOpenDynamic, adLockBatchOptimistic

(23)

23

If Rs_Barang.BOF Then

MsgBox "Data Yang Anda Cari Tidak Ditemukan..!", vbInformation + vbOKOnly, "Informasi" txtCari.Text = "" txtCari.SetFocus Else Call TampilGridData End If End If End Sub

33. Simpan form tersebut dengan nama

frmCariBarang

34. Tambahkan form baru dan rancanglah form Data Pengeluaran dengan menambahkan

7 Label, 6

TextBox, 1 DTPicker, 1 Frame, 5 CommandButton,

dan

MsFlexGrid

seperti contoh berikut ini :

35. Aturlah properti masing-masing objek seperti tertera pada tabel berikut ini :

Nama Objek

Properti

Nilai Pengaturan

Form1

Name

frmPengeluaran

Caption

Data Pengeluaran

Label1

Caption

No. Keluar

Label2

Caption

Tanggal

Label3

Alignment

Center

BackColor

(Pilih Warna)

Caption

Kode Barang

Label4

Alignment

Center

BackColor

(Pilih Warna)

Caption

Nama Barang

Label5

Alignment

Center

BackColor

(Pilih Warna)

Caption

Stok

Label6

Alignment

Center

BackColor

(Pilih Warna)

Caption

Qty Minta

Label7

Caption

Total Minta

Text1

Name

txtNo

Text

Kosongkan

Text2

Name

txtKdBrg

Text

Kosongkan

Text3

Name

txtNmBrg

Text

Kosongkan

Text4

Name

txtStok

Text

Kosongkan

Text5

Name

txtJumlah

(24)

24

Text6

Name

txtTotal

Text

Kosongkan

DTPicker1

Name

dtTanggal

Frame1

Caption

Proses

Command1

Name

cmdCariBrg

Caption

...

Command2

Name

cmdOK

Caption

&OK

Command3

Name

cmdSimpan

Caption

&Simpan

Command4

Name

cmdBatal

Caption

&Batal

Command5

Name

cmdTutup

Caption

&Tutup

MsFlexGrid1

Name

GridData

36. Sehingga tampilan akhirnya menjadi seperti berikut ini :

37. Tambahkan kode program seperti contoh berikut ini ;

Dim i, baris As Integer

Private Sub cmdBatal_Click()

Kosong

End Sub

Private Sub cmdCariBrg_Click()

frmCariBarang2.Show

End Sub

Private Sub Kosong()

txtNo.Text = ""

dtTanggal.Value = Format(Now, "dd-mm-yyyy") txtKdBrg.Text = "" txtNmBrg.Text = "" txtJumlah.Text = "" txtTotal.Text = "" baris = 1 GridData.Clear GridData.Rows = 2 AktifGridData End Sub

(25)

25

Private Sub cmdOK_Click()

On Error Resume Next Dim cekKode As String If txtKdBrg = "" Then

MsgBox "Kode Barang tidak boleh kosong..!!", vbInformation + vbOKOnly, "Informasi"

txtKdBrg.SetFocus ElseIf txtNmBrg = "" Then

MsgBox "Kode Barang tidak terdaftar..!", vbInformation + vbOKOnly, "Informasi" txtKdBrg = ""

txtJumlah = "" txtKdBrg.SetFocus ElseIf txtJumlah = "" Then

MsgBox "Jumlah tidak boleh kosong..!!", vbInformation + vbOKOnly, "Informasi" txtJumlah.SetFocus

ElseIf Not IsNumeric(txtJumlah) Then

MsgBox "Jumlah harus diisi dengan tipe Number!", vbInformation + vbOKOnly, "Informasi"

txtJumlah = "" txtJumlah.SetFocus

ElseIf Val(txtJumlah.Text) > Val(txtStok.Text) Then

MsgBox "Stok barang tidak mencukupi!", vbInformation + vbOKOnly, "Informasi" txtJumlah = "" txtJumlah.SetFocus Else GridData.Rows = baris + 1 GridData.TextMatrix(baris, 0) = txtKdBrg.Text GridData.TextMatrix(baris, 1) = txtNmBrg.Text GridData.TextMatrix(baris, 2) = txtStok.Text GridData.TextMatrix(baris, 3) = txtJumlah.Text

txtTotal.Text = Val(txtTotal.Text) + Val(txtJumlah.Text) baris = baris + 1 txtKdBrg = "" txtNmBrg = "" txtStok = "" txtJumlah = "" txtKdBrg.SetFocus End If Rs_Barang.Requery End Sub

Private Sub AktifGridData()

With GridData .Cols = 4 .RowHeightMin = 300 .Col = 0 .Row = 0

.Text = "Kode Barang" .CellFontBold = True .ColWidth(0) = 1500 .AllowUserResizing = flexResizeColumns .CellAlignment = flexAlignCenterCenter .Col = 1 .Row = 0

.Text = "Nama Barang" .CellFontBold = True .ColWidth(1) = 3500 .AllowUserResizing = flexResizeColumns .CellAlignment = flexAlignCenterCenter .Col = 2 .Row = 0 .Text = "Stok" .CellFontBold = True .ColWidth(2) = 1000 .AllowUserResizing = flexResizeColumns .CellAlignment = flexAlignCenterCenter .Col = 3 .Row = 0

.Text = "Qty Minta" .CellFontBold = True .ColWidth(2) = 1200 .AllowUserResizing = flexResizeColumns .CellAlignment = flexAlignCenterCenter End With End Sub

(26)

26

Private Sub cmdSimpan_Click()

If baris <> 1 Then If txtNo = "" Then

MsgBox "No. Keluar tidak boleh kosong!", vbOKOnly + vbInformation, "Informasi" txtNo.SetFocus

Else

'Proses penyimpanan ke Pengeluaran SQL = ""

SQL = "INSERT INTO Pengeluaran(No_Keluar,Tanggal,Total) VALUES('" & txtNo.Text & "','" & dtTanggal.Value & "','" & txtTotal.Text & "')"

KonekDB.Execute SQL, , adCmdText

'Proses penyimpanan ke Detail_Keluar For i = 1 To baris - 1

SQL = ""

SQL = "INSERT INTO Detail_Keluar(No_Keluar,Kode_Brg,Nama_Brg,Stok,Jumlah) VALUES('" & txtNo.Text & "','" & GridData.TextMatrix(i, 0) & "','" & GridData.TextMatrix(i, 1) & "','" & GridData.TextMatrix(i, 2) & "','" & GridData.TextMatrix(i, 3) & "')"

KonekDB.Execute SQL, , adCmdText

Dim JumKeluar As Integer Dim Kode As String

JumKeluar = Val(GridData.TextMatrix(i, 3)) Kode = GridData.TextMatrix(i, 0)

SQL = ""

SQL = "UPDATE Barang SET Stok=Stok - " & JumKeluar & " WHERE Kode_Brg='" & Kode & "'"

KonekDB.Execute SQL, , adCmdText Next i

MsgBox "Data Pengeluaran telah tersimpan.", vbInformation + vbOKOnly, "Informasi"

Kosong End If Else

MsgBox "Maaf! Data Pengeluaran barang masih kosong.", vbOKOnly + vbInformation, "Informasi"

End If

End Sub

Private Sub cmdTutup_Click()

If MsgBox("Apakah Anda mau menutup form ini?", vbYesNo + vbQuestion, "Konfirmasi") = vbYes Then

Unload Me End If

End Sub

Private Sub Form_Load()

Call BukaDatabase Call Kosong

End Sub

Private Sub TampilBarang()

If txtKdBrg <> "" Then SQL = ""

SQL = "SELECT * FROM Barang WHERE Kode_Brg='" & txtKdBrg.Text & "'" Set Rs_Barang = New ADODB.Recordset

Rs_Barang.Open SQL, KonekDB, adOpenDynamic, adLockOptimistic

If Not Rs_Barang.BOF Then

txtNmBrg = Rs_Barang.Fields!Nama_Brg txtJumlah.SetFocus

End If End If

End Sub

Private Sub txtKdBrg_Change()

TampilBarang

End Sub

(27)

27

39. Tambahkan form baru dan rancanglah form Pencarian Barang dengan menambahkan

1 Frame, 1

TextBox, 1 CommandButton

dan

1 MsFlexGrid

seperti contoh berikut ini :

40. Atur properti masing-masing seperti tertera pada tabel berikut ini :

Nama Objek

Properti

Nilai Pengaturan

Form1

Name

frmCariBarang2

Caption

Pencarian

Frame1

Caption

Kata Kunci

Text1

Name

txtCari

Text

(Kosongkan)

Command1

Name

cmdTutup

Caption

&Tutup

MsFlexGrid1

Name

GridData

41. Sehingga tampilan akhirnya menjadi seperti berikut ini :

42. Tambahkan kode program seperti contoh berikut ini :

Private Sub cmdTutup_Click()

Unload Me

End Sub

Private Sub Form_Load()

Call BukaDatabase

Set Rs_Barang = New ADODB.Recordset

Rs_Barang.Open "SELECT * FROM Barang", KonekDB, adOpenDynamic, adLockOptimistic Call TampilGridData GridData.Cols = 4 End Sub Sub AktifGridData() With GridData .Cols = 4 .RowHeightMin = 300 .Col = 0 .Row = 0 .Text = "No" .CellFontBold = True .ColWidth(0) = 400 .AllowUserResizing = flexResizeColumns .CellAlignment = flexAlignCenterCenter

(28)

28

.Col = 1 .Row = 0

.Text = "Kode Barang" .CellFontBold = True .ColWidth(1) = 2000 .AllowUserResizing = flexResizeColumns .CellAlignment = flexAlignCenterCenter .Col = 2 .Row = 0

.Text = "Nama Barang" .CellFontBold = True .ColWidth(2) = 2000 .AllowUserResizing = flexResizeColumns .CellAlignment = flexAlignCenterCenter .Col = 3 .Row = 0 .Text = "Stok" .CellFontBold = True .ColWidth(3) = 1500 .AllowUserResizing = flexResizeColumns .CellAlignment = flexAlignCenterCenter End With End Sub Sub TampilGridData()

Dim baris As Byte GridData.Clear Call AktifGridData GridData.Rows = 2 baris = 0 If Rs_Barang.BOF Then

MsgBox "Data Barang Masih Kosong..", vbInformation + vbOKOnly, "Informasi" Exit Sub

Else

With Rs_Barang .MoveFirst

Do While Not .EOF baris = baris + 1 GridData.Rows = baris + 1 GridData.TextMatrix(baris, 0) = baris GridData.TextMatrix(baris, 1) = !Kode_Brg GridData.TextMatrix(baris, 2) = !Nama_Brg GridData.TextMatrix(baris, 3) = !Stok .MoveNext Loop End With End If End Sub

Private Sub GridData_DblClick()

Dim b As Byte b = GridData.Row If GridData.Rows <> 1 Then With frmPengeluaran .txtKdBrg.Text = GridData.TextMatrix(b, 1) .txtNmBrg.Text = GridData.TextMatrix(b, 2) .txtStok.Text = GridData.TextMatrix(b, 3) .txtJumlah.SetFocus End With Else Exit Sub End If Unload Me End Sub

Private Sub txtCari_Change()

If txtCari.Text = Empty Then '

Else

Set Rs_Barang = New ADODB.Recordset

Rs_Barang.Open "SELECT * FROM Barang WHERE Kode_Brg LIKE '%" & txtCari.Text & "%' OR Nama_Brg LIKE'%" & txtCari.Text & "%'", KonekDB, adOpenDynamic, adLockBatchOptimistic

(29)

29

If Rs_Barang.BOF Then

MsgBox "Data Yang Anda Cari Tidak Ditemukan..!", vbInformation + vbOKOnly, "Informasi" txtCari.Text = "" txtCari.SetFocus Else Call TampilGridData End If End If End Sub

43. Simpan form tersebut dengan nama

frmCariBarang2

44. Tambahkan form baru untuk membuat form Login seperti contoh berikut ini :

45. Aturlah properti masing-masing objek seperti tertera pada tabel berikut ini :

Nama Objek

Properti

Nilai Pengaturan

Form1

Name

frmLogin

Caption

Login

Label1

Caption

Username

Label2

Caption

Password

Text1

Name

txtUser

Text

(Kosongkan)

Text2

Name

txtPassword

PasswordChar

*

Text

(Kosongkan)

Command1

Name

cmdOK

Caption

&OK

Command1

Name

cmdBatal

Caption

&Batal

46. Sehingga tampilan akhirnya menjadi seperti berikut ini :

47. Tambahkan kode program seperti contoh berikut ini :

Dim db As ADODB.Connection Dim rs As ADODB.Recordset Dim SQL As String

Dim salah As Byte

Sub koneksi()

Set db = New ADODB.Connection Set rs = New ADODB.Recordset

db.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\database.mdb;Persist Security Info=False"

End Sub

Private Sub cmdBatal_Click()

End

End Sub

Private Sub cmdOK_Click()

If txtUser = "" Then

MsgBox "Nama user tidak boleh kosong..!!", vbOKOnly + vbInformation, "Login" txtUser.SetFocus

(30)

30

ElseIf txtPassword = "" Then

MsgBox "Password tidak boleh kosong..!!", vbOKOnly + vbInformation, "Login" txtPassword.SetFocus

Else

koneksi

SQL = "SELECT * FROM admin WHERE username='" & txtUser.Text & "' AND password='" & txtPassword.Text & "'"

Set rs = db.Execute(SQL) 'Jika data user ditemukan If Not rs.BOF Then

frmUtama.Show Unload Me Else

If salah < 2 Then

MsgBox "Nama user atau Password Salah..!! Silakan ulangi lagi..", vbCritical + vbOKOnly, "Login"

txtUser.Text = "" txtPassword.Text = "" txtUser.SetFocus salah = salah + 1 Else

MsgBox "Kesalahan Password 3 kali berturut-turut.., Silakan Login ulang..", vbCritical + vbOKOnly, "Login"

salah = 0 End End If End If End If End Sub

Private Sub txtPassword_KeyPress(KeyAscii As Integer)

If KeyAscii = 13 Then cmdOK_Click End If

End Sub

Private Sub txtUser_KeyPress(KeyAscii As Integer)

If KeyAscii = 13 Then txtPassword.SetFocus End If

End Sub

Private Sub txtUser_Change()

txtPassword.Text = ""

End Sub

48. Simpan form tersebut dengan nama

frmLogin

49. Tambahkan form baru sebagai form utama Program Aplikasi Stok Barang, kemudian tambahkan menu

dan submenu menggunakan Menu Editor sesuai dengan ketentuan berikut ini :

Nama Objek

Properti

Nilai Pengaturan

Form1

Name

frmUtama

Caption

Aplikasi Persediaan Barang

WindowState

Maximized

Menu Editor

Caption

&Master

Name

mnuMaster

Caption

Data &Barang

Name

mnuBarang

Caption

Data &Supplier

Name

mnuSupplier

Caption

-

Name

mnuGaris

Caption

&Keluar

Name

mnuKeluar

Caption

&Transaksi

Name

mnuTransaksi

Caption

Pembelian

Name

mnuPembelian

Caption

Pengeluaran

Name

mnuPengeluaran

Caption

Laporan

Name

mnuLaporan

(31)

31

Caption

Barang

Name

mnuLapBarang

Caption

Supplier

Name

mnuLapSupplier

Caption

-

Name

mnuGaris2

Caption

Pembelian

Name

mnuLapBeli

Caption

Pengeluaran

Name

mnuLapKeluar

Keterangan : Untuk membuat sub menu seperti Data Barang yaitu dengan klik ikon panah arah ke

kanan (

)

50. Tambahkan kode program seperti contoh berikut ini :

Private Sub Form_Unload(Cancel As Integer)

If MsgBox("Apakah Anda yakin mau keluar dari aplikasi ini???", vbYesNo + vbQuestion, "Konfirmasi") = vbYes Then

End Else

Cancel = 1 End If

End Sub

Private Sub mnuBarang_Click()

frmBarang.Show

End Sub

Private Sub mnuKeluar_Click()

If MsgBox("Apakah Anda yakin mau keluar dari aplikasi ini???", vbYesNo + vbQuestion, "Konfirmasi") = vbYes Then

End End If

End Sub

Private Sub mnuLapBarang_Click()

lapBarang.Refresh lapBarang.Show

End Sub

Private Sub mnuLapBeli_Click()

frmLapBeli.Show

End Sub

Private Sub mnuLapKeluar_Click()

frmLapKeluar.Show

(32)

32

Private Sub mnuLapSupplier_Click()

LapSupplier.Refresh LapSupplier.Show

End Sub

Private Sub mnuPembelian_Click()

frmPembelian.Show

End Sub

Private Sub mnuPengeluaran_Click()

frmPengeluaran.Show

End Sub

Private Sub mnuSupp_Click()

frmSupplier.Show

End Sub

51. Simpan form tersebut dengan nama

frmUtama

52. Tambahkan form baru dan rancanglah form Laporan Pembelian dengan menambahkan

1 Label, 1

Frame, 4 OptionButton, 1 ComboBox, 3 DTPicker

, dan

2 CommandButton

seperti contoh berikut

ini:

53. Aturlah properti masing-masing objek seperti tertera pada tabel berikut ini :

Nama Objek

Properti

Nilai Pengaturan

Form1

Name

frmLapBeli

Caption

Laporan

Label1

Alignment

2 - Center

Caption

Laporan Pembelian Barang

Font (Size)

14

Frame1

Caption

Kategori

Option1

Name

opt1

Caption

No. Faktur

Tab Index

1

Option2

Name

opt2

Caption

Tanggal

Tab Index

2

Option3

Name

opt3

Caption

Per Periode

Tab Index

3

Option4

Name

opt4

Caption

Seluruh

Tab Index

0

Combo1

Name

cbNo

Text

(Kosongkan)

DTPicker1

Name

dtTanggal

DTPicker2

Name

dtAwal

DTPicker3

Name

dtAkhir

Command1

Name

cmdTampilkan

(33)

33

Command2

Name

cmdTutup

Caption

Tutup

54. Sehingga tampilan akhirnya menjadi seperti berikut ini :

55. Tambahkan kode seperti contoh berikut ini :

Private Sub NonAktif()

cbNo.Clear

dtTanggal = Format(Date, "dd-mm-yyyy") dtAwal = Format(Date, "dd-mm-yyyy") dtAkhir = Format(Date, "dd-mm-yyyy") cbNo.Enabled = False dtTanggal.Enabled = False dtAwal.Enabled = False dtAkhir.Enabled = False NoFaktur End Sub

Private Sub NoFaktur()

Set Rs1 = New ADODB.Recordset

Rs1.Open "SELECT No_Faktur FROM Pembelian ORDER BY No_Faktur", KonekDB, adOpenDynamic, adLockOptimistic

cbNo.Clear

Do While Not Rs1.EOF

cbNo.AddItem Rs1!No_Faktur Rs1.MoveNext

Loop

End Sub

Private Sub Lap_PembelianNo()

If cbNo = "" Then

MsgBox "Pilihan No. Faktur tidak boleh kosong..!!", vbOKOnly + vbInformation, "Informasi"

cbNo.SetFocus Else

DELaporan.rsPembelian.Filter = "No_Faktur='" & cbNo.Text & "'" LapBeli.Refresh

LapBeli.Show End If

End Sub

Private Sub Lap_PembelianTanggal()

DELaporan.rsPembelian.Filter = "Tanggal='" & dtTanggal.Value & "'" LapBeli.Refresh

LapBeli.Show

End Sub

Private Sub Lap_PembelianPeriode()

If dtAwal > dtAkhir Then

MsgBox "Tanggal Awal lebih besar dari Tanggal Akhir..!!", vbOKOnly + vbInformation, "Informasi"

dtAwal.SetFocus Else

DELaporan.rsPembelian.Filter = "Tanggal>='" & dtAwal.Value & "' AND Tanggal<='" & dtAkhir.Value & "'"

LapBeli.Refresh LapBeli.Show

(34)

34

End If

End Sub

Private Sub LapPembelianAll()

DELaporan.rsPembelian.Filter = "" LapBeli.Refresh

LapBeli.Show

End Sub

Private Sub cmdTampil_Click()

If opt1 Then

'menampilkan laporan per No. Faktur Lap_PembelianNo

ElseIf opt2 Then

'menampilkan laporan per Tanggal Lap_PembelianTanggal

ElseIf opt3 Then

'menampilkan laporan per Periode Lap_PembelianPeriode

Else

'menampilkan laporan seluruh data NonAktif

LapPembelianAll End If

End Sub

Private Sub cmdTutup_Click()

Unload Me

End Sub

Private Sub Form_Load()

BukaDatabase NonAktif

End Sub

Private Sub opt1_Click()

NonAktif

cbNo.Enabled = True cbNo.SetFocus

End Sub

Private Sub opt2_Click()

NonAktif

dtTanggal.Enabled = True dtTanggal.SetFocus

End Sub

Private Sub opt3_Click()

NonAktif

dtAwal.Enabled = True dtAkhir.Enabled = True dtAwal.SetFocus

End Sub

Private Sub opt4_Click()

NonAktif

End Sub

56. Simpan form dengan nama

frmLapBeli

57. Tambahkan form baru untuk

frmLapKeluar

yang secara keseluruhan objek yang digunakannya hampir

sama dengan

frmLapBeli

(35)

35

59. Hingga tampilan akhirnya menjadi seperti berikut ini :

60. Tambahkan kode seperti berikut ini :

Private Sub NonAktif()

cbNo.Clear

dtTanggal = Format(Date, "dd-mm-yyyy") dtAwal = Format(Date, "dd-mm-yyyy") dtAkhir = Format(Date, "dd-mm-yyyy") cbNo.Enabled = False dtTanggal.Enabled = False dtAwal.Enabled = False dtAkhir.Enabled = False NoKeluar End Sub

Private Sub NoKeluar()

Set Rs1 = New ADODB.Recordset

Rs1.Open "SELECT No_Keluar FROM Pengeluaran ORDER BY No_Keluar", KonekDB, adOpenDynamic, adLockOptimistic

cbNo.Clear

Do While Not Rs1.EOF

cbNo.AddItem Rs1!No_Keluar Rs1.MoveNext

Loop

End Sub

Private Sub Lap_PengeluaranNo()

If cbNo = "" Then

MsgBox "Pilihan No. Keluar tidak boleh kosong..!!", vbOKOnly + vbInformation, "Informasi"

cbNo.SetFocus Else

DELaporan.rsPengeluaran.Filter = "No_Keluar='" & cbNo.Text & "'" LapKeluar.Refresh

LapKeluar.Show End If

End Sub

Private Sub Lap_PengeluaranTanggal()

DELaporan.rsPengeluaran.Filter = "Tanggal='" & dtTanggal.Value & "'" LapKeluar.Refresh

LapKeluar.Show

End Sub

Private Sub Lap_PengeluaranPeriode()

If dtAwal > dtAkhir Then

MsgBox "Tanggal Awal lebih besar dari Tanggal Akhir..!!", vbOKOnly + vbInformation, "Informasi"

dtAwal.SetFocus Else

DELaporan.rsPengeluaran.Filter = "Tanggal>='" & dtAwal.Value & "' AND Tanggal<='" & dtAkhir.Value & "'"

LapKeluar.Refresh LapKeluar.Show End If

Referensi

Dokumen terkait

Sejalan dengan renstra Direktorat Jenderal Prasarana dan Sarana Pertanian tahun 2011 – 2014, program kerja Direktorat Pengelolaan Air Irigasi yaitu : 1)

User akan membuka menu laporan pelayanan selanjutnya user diminta memasukkan id yang ingin dilihat kemudian sistem akan menampilkan informasi atau data yang

Berdasarkan definisi di atas, dapat disimpulkan bahwa strategi merupakan suatu pola perencanaan yang menyeluruh meliputi serangkaian usaha dan pemberdayaan sumber daya yang

Dengan adanya hasil penelitian ini, diharapkan pada peneliti selanjutnya untuk mengadakan penelitian yang lebih mendalam mengenai faktor-faktor lain yang kemungkinan

Dari hasil penelitian dapat disimpul- kan bahwa tidak terdapat hubungan antara jarak menonton dan lama paparan sinar biru pesawat televisi terhadap fungsi refraksi

Berdasarkan hasil penelitian faktor-faktor yang berhubungan dengan kepesertaan Program JKN di wilayah kerja Puskesmas Remaja Samarinda bahwa terdapat hubungan pengetahuan dengan

Selain itu kami juga tambahkan fitur pencarian informasi berdasarkan tanggal, sehingga nasabah dapat melihat informasi pergerakan asing pada rentang waktu tertentu.Pengguna