0% found this document useful (0 votes)
71 views76 pages

TM VB

This document describes the design of a Visual Studio 2008 programming project for managing inventory. The key aspects of the design include: 1. Creating database tables to store master data such as customers, products, locations, and transaction records 2. Developing forms for user login, a main menu, and modules for registration, warehouse management, sales, and reporting 3. Writing Visual Basic code to connect the forms and database tables and enable core functions.

Uploaded by

Fuji Zhong
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
71 views76 pages

TM VB

This document describes the design of a Visual Studio 2008 programming project for managing inventory. The key aspects of the design include: 1. Creating database tables to store master data such as customers, products, locations, and transaction records 2. Developing forms for user login, a main menu, and modules for registration, warehouse management, sales, and reporting 3. Writing Visual Basic code to connect the forms and database tables and enable core functions.

Uploaded by

Fuji Zhong
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 76

TUGAS MANDIRI

PEMROGRAMAN DENGAN MENGGUNAKAN


VISUAL STUDIO 2008

Disusun oleh:
Halim Wowor Maruli
131510124
141-IS06T-N1
Dosen : MAULI SIAGIAN, S.KOM., M.SI.

PROGRAM STUDI SISTEM INFORMASI


UNIVERSITAS PUTERA BATAM
TAHUN 2014/2015
KATA PENGANTAR

Dengan mengucapkan puji dan syukur atas kehadirat Tuhan Yang Maha Esa, karena
dengan berkah rahmat karunia serta hidayah-Nyalah kami dapat menyalesaikan makalah
Pemrograman Terstruktur. Makalah ini disusun dengan tujuan untuk memenuhi salah satu
tugas mata kuliah Sistem Informasi.

Untuk itu penulis selaku penyusun sangat berterimakasih kepada semua pihak yang
telah membantu dalam penyusunan makalah ini. Terutama kepada Ibu Mauli Siagian ,S.Kom.,
M.Si., selaku dosen mata kuliah pemrogram visual basic yang telah memberikan
bimbingannya sehingga makalah ini dapat selesaikan tepat pada waktunya.

Selaku penyusun penulis sangat mengetahui bahwa makalah ini jauh dari kesempurnaan.
Oleh karena itu, penulis mohon kritik dan saran yang membangun agar kami dapat
menyusunnya kembali lebih baik dari sebelumnya. Semoga makalah ini dapat bermanfaat
bagi semua pihak.

i
Daftar Isi

HALAMAN JUDUL ········································································· i

KATA PENGANTAR ······································································ ii

DAFTAR ISI ·················································································· iii

BAB I PENDAHULUAN ······························································· 5

BAB II DESIGN PROGRAM ·························································· 6


2.1 Design Database ·································································· 6
2.2 Login Form ········································································ 10
2.3 Menu Utama ······································································· 11
2.4 Menu Registrasi··································································· 13
2.5 Menu Gudang ····································································· 19
2.6 Menu Penjualan ··································································· 21
2.7 Menu Laporan ···································································· 22
2.8 Menu Credit ······································································· 31

BAB III SCRIPT PROGRAM ··························································· 32


3.1 Module 1 ··········································································· 32
3.2 Login Form ········································································ 32
3.3 Menu Utama (MDI Parent) ····················································· 34
3.4 Menu Registrasi··································································· 36
3.5 Menu Gudang ····································································· 57
3.6 Menu Penjualan ··································································· 62

BAB IV PEMBAHASAN SCRIPT ····················································· 65


4.1 Open Koneksi Database ························································· 65
4.2 Memasukan data dari database kedalam Data Grid View ·················· 65
4.3 Memasukan data ke Database ·················································· 65
4.4 Mendelete data pada database ·················································· 66
4.5 Menupdate data pada database ················································· 66
4.6 On Error Goto prosedur ························································· 66
4.6 Add Item pada combo box ······················································ 67

ii
iii

BAB V HASIL RUNNING APLIKASI ·············································· 68


5.1 Interface Awal (Login) ·························································· 68
5.2 Menu utama ······································································· 68
5.3 Menu Registrasi··································································· 69
5.4 Menu Gudang ····································································· 72
5.5 Penjualan··········································································· 73
5.6 Contoh Laporan ··································································· 73
5.7 Credit (About Developer) ······················································· 74

BAB VI PENUTUP ········································································ 75

DAFTAR PUSTAKA ······································································· 76


BAB I

PENDAHULUAN
Persediaan atau barang dagangan merupakan aset perusahan yang sangat
penting, sehingga harus di jaga dengan ketat (transaksi) dan keakuratan harus
terjamin. Oleh karena itu, teknologi sering di aplikasi untuk kemudahan transaksi dan
keakuratan data, sehingga memudahkan para akuntan dalam penyusunan laporan
keuangan.

Penulis menyadari pentingnya arti persedian terhadap sebuah perusahaan.


Maka penulis mencoba membuat sebuah aplikasi sederhana dengan menggunakan
Visual Studio 2008.

Dari aplikasi ini, penulis menitik berat pada beberapa point berikut :

1. Master data yang benar


2. Penrecord-an setiap transaksi yang terjadi
3. Laporan persediaan (Stock, dan kartu persediaan)

Adapun penyususan Bab dalam makalah dapat dilihat sebagai berikut :

1. Bab I  Pendahuluan dan latar belakang


2. Bab II Design pada data base dan form berserta pengaturan properies
3. Bab III  Script program pada form yang digunakan
4. Bab IV  Pembahasan singkat tentang script pada program
5. Bab V  Hasil running program
6. Bab VI  Penutup

1
2

BAB II

DESIGN PROGRAM
2.1 Design Database

Penulis menggunakan database dari aplikasi Microsoft Access dengan format


2007 (accdb). Dalam proses pembutan tabel, penulish menggunakan tipe-tipe data
sebagai berikut :

1. Autonumber  Berfungsi sebagai pembuat ID baru untuk setiap


transaksi sehingga untuk setiap transaksi bersifat unik
2. Short text  Seperti string pada umumnya untuk menampung tipe data
berupa karakter
3. Number (Double)  untuk menampung angka-angka yang akan
diperhitungkan seperti harga dan jumlah unit
4. Date  Untuk menampung tanggal, seperti kapan transaksi di update

2.1.1 Design Table

Table Customer & Vendor

2
3

Table Komodit :

Table Lokasi :

Table User List :

Table Storekeeper

Table Satuan

Table SalesID
4

Table Kartu Persediaan

Table Masterdata
5

2.1.2 Query-Query

Query merupakan table-table ringkasan yang akan digunakan dalam laporan. Dimana
kita dapat menggunakan perintah SQL yang telah disediakan oleh microsoft access. Atau
design view (Dalam pembahasan bab ini penulis menggunakan perintah SQL)

Query Kartu Persedian :

Query ListISBN

Query LokGudang (Digunakan pada combo box lokasi gudang pada master data)

Query LokToko (Digunakan pada combo box lokasi toko pada master data)

Query penerimaan

Query Penjualan
6

Query Kartu Persediaan

2.2 Login Form

Form login dapat ditambah melalui :

Project Add Windows Form  Pilih Login, maka otomatis akan ditambah form seperti
berikut :

Gambar 2.1 Add Login Form


Pengaturan Properties textbox :

Name : TxUn

Name : Txps

Name : OK Name : Cancel

Text : &Ok Text : &Cancel

Gambar 2.2 Form Login

T T
7

2.3 Menu Utama

Form MDI Parent dapat ditambah melalui :

Project Add Windows Form  Pilih MDI Parent, maka otomatis akan ditambah form
seperti berikut :

Gambar 2.3 Add MDI Parent Form

Lakukan pengeditan sesuai berikut ini :

2 buah text box

Diberi nama masing-masing loginuser dan


loginmodul, akan digunakan ketika login berhasil
maka nama user dan modul yang akan dipakai
(setting dari user list form).

Modul ini yang akan berfungsi sebagai pembatas


dalam akses menu sistem.

Untuk kerapian kedua textbox ini di setting visible


false pada properties…

Gambar 2.4 Setting Menu Utama


8

Untuk menu silakan hal sebagai berikut, untuk menu name akan diberikan otomatis sewaktu
kita memasukan item atau anak di dalam menu

Menu &Registrasi (Mregistrasi)


Level Text Menu Name
1 &Barang Dagangan BarangDaganganToolStripMenuItem
1 K&omodit Barang KomoditiBarangToolStripMenuItem
1 &Lokasi LokasiToolStripMenuItem
1 &Customer CustomerToolStripMenuItem
1 &Vendor VendorToolStripMenuItem
1 &User List UserListToolStripMenuItem
1 &Keluar ExitToolStripMenuItem

Menu &Gudang (Mgudang)


Level Text Menu Name
1 Pe&nerimaan TerimaToolStripMenuItem
Penye&suaian
1 Stock BarangRusakHilangToolStripMenuItem

Menu Pen&Jualan (Mpenjualan)


(tidak memiliki anak menu)

Menu &Laporan
Level Text Menu Name
1 &Master data MasterDataToolStripMenuItem
2 Per&Sediaan PersediaanToolStripMenuItem
2 &Customer CustomerToolStripMenuItem2
2 &Vendor VendorToolStripMenuItem2
2 &Komodit KomoditiToolStripMenuItem
1 &Gudang GudangToolStripMenuItem
2 &Stock Status StockStatusToolStripMenuItem
2 &Penerimaan PenerimaanToolStripMenuItem
2 &Kartu Persediaan PenggerakanStockToolStripMenuItem
1 Pen&Jualan PenjualanToolStripMenuItem

Menu &Credit
Level Text Menu Name
1 &Developer DeveloperToolStripMenuItem
9

2.4 Menu Registrasi

2.4.1 Master Data Barang Dagangan

Gambar 2.5 Master Data Persediaan


*Btsave dan btdelete di posisi yang sama
10

2.4.2 Komoditi Barang

Gambar 2.6 Komoditi


11

Properties pada komoditi setup :

2.4.3 Lokasi

Gambar 2.7 Setup Lokasi

Property Form Location_Setup


12

2.4.4 Customer

Gambar 2.8 Customer Setup


Keterangan : BtDelete & BtSave di posisi yang sama
13

2.4.5 Vendor

Gambar 2.8 Vendor Setup

Keterangan : BtDelete & BtSave di posisi yang sama


14

2.4.6 User List

Gambar 2.9 User Setup

Keterangan : BtDelete & BtSave di posisi yang sama


15

2.5 Menu Gudang

2.5.1 Penerimaan

Gambar 2.10 Form Penerimaan


Properties :
16

2.5.2 Penyesuaian Stock

Gambar 2.11 Form Penerimaan


Properties :
17

2.6 Menu Penjualan

Gambar 2.12 Form Penjualan


Properties :
18

2.7 Menu Laporan

2.7.1 Langkah-langkah membuat report

Metode yang digunakan penulis dalam pembuatan laporan (report) adalah melalui
cristal report dan report wizard. Dimana kedua report tersebut dapat ditambah melaui project
 Add item  Pilih Reporting  Pilih report yang diinginkan

Selanjutnya mengikuti langkah-langkah pada wizard visual studio.

Gambar 2.13 Add Item Reporting

Contoh wizard Cristal Report :

Pilihan cara membuat report :

1. Melalui wizard
2. Bank Report (User design sendiri)
3. Existing (mendesign report yang sudah ada

Pilihan tampilan report

Gambar 2.14 Pilihan cara pembuatan cristal report


19

Masukan table atau query yang akan kita gunakan untuk buat report

Gambar 2.15 Pilihan table atau query

Pilih field-field yang ingin ditampilkan dalam report

Gambar 2.16 Pilihan field


20

Pemilihan group atau filter jika diperlukan (Next jika tidak perlu grouping atau filter)

Gambar 2.17 Pilihan field yang akan digunakan sebagai group atau filter

Terakhir pilihan style report yang diinginkan dan klik finish

Gambar 2.18 Style Report


21

Tampilan setelah finish :

Ada 2 jenis pilihan tampilan (Terdapat dibagian bawah kanan report )

Main Report :

Gambar 2.19 Tampilan Main Report dari cristal report

Atau Dalam pilihan preview :

Gambar 2.20 Tampilan Main Report Preview dari cristal report


22

Langkah-langkah wizard report:

1. Pilih data source :

Gambar 2.21 Pilih data source dalam wizard report

2. Pilih jenis Report

Gambar 2.22 Pilih jenis report

3. Lakukan Design pada table (Group atau filter)

Gambar 2.23 Pilihan Design (Group dan filter)


23

4. Pilihan layout report :

Gambar 2.24 Report Layout

5. Pilihan style report :

Gambar 2.25 Style Report

6. Nama dan pengecekan terakhir :

Gambar 2.26 Final


24

Tampilan setelah finish dari report wizard :

Gambar 2.27 Tampilan report

Yang perlu diperhatikan adalah setelah pembuatan report (dari cristal report maupun wizard
report) kita perlu membuat sebuah form yang berfungsi untuk menampilkan data tersebut

Langkah-langkah seperti berikut :

1. Add windows form (design size sesuai keinginan)


2. Dalam toolbox reporting pilih
 Crital report viewer (jika report yang dibuat melalui crystal report , file ber-
ext rpt)
 Microsoft Report Viewer (jika report yang dibuat melalui report wizard file
ber-ext rdlc)
3. Pada task pilih report yang akan ditampilkan

Gambar 2.28 Pilihan report dalam form


25

2.7.2 Masterdata

Master data merupakan bentuk normalisasi dari data tabel yang ada, sehingga data-
data yang diperlukan tidak perlu diketik berulang-ulang( Seperti nama barang) pada form-
form berikutnya dapat dilakukan add item pada combo box, sehingga pada saat ada
penambahan item akan otomatis link ke form-form lainnya.l

Adapun masterdata yang sering digunakan dalam sebuah perusahan yaitu : Daftar
Persediaan, Daftar Customer, Daftar Vendor, Daftar User, Jenis barang dan sebagainya.

Untuk sebagai contoh penulis membuat 4 macam laporan yaitu :

1. Master Data Persediaan


2. Jenis Barang yang dijual
3. Daftar Customer
4. Daftar Vendor

Gambar 2.29 Jenis-jenis laporan masterdata


26

2.7.3 Gudang

Buatlah beberapa contoh laporan gudang seperti stock persedian, penerimaan,


dan kartu persedian (Data Transaksi Persediaan).

Tambahkan laporan lewat report wizard dan pilih query-query yang sudah di
buat sebelumnya di akses. Untuk penerimaan dan kartupersedian lakukan group pada
kode ISBN barang.

Tambahkan masing-masing satu form untuk menampilkan report berikut


(Dalam kasus ini penulis menggunakan RptKartuPersedian,RptPenerimaan, dan
RptPersediaan).

Gambar 2.30 Jenis-jenis laporan Gudang

2.7.4 Penjualan

Add laporan dengan report wizard, pilih Query Penjualan sebagai data source
dan design seperti berikut dan buat lah sebuah form untuk menampung dan berikan
nama form tersebut RptPenjualan(lakukan sama seperti dengan report-report diatas):

Gambar 2.31 Laporan Penjualan


27

2.8 Menu Credit

Untuk about dapat melakukan add new item  pilih windows form  About.

Script program akan di sediakan langsung oleh visual studio. Untuk


melakukan edit text pada form ganti pada assembly information yang terdapat pada
project properties :
28

BAB III

SCRIPT PROGRAM
3.1 Module1 (nama file : module1.vb)

Insert modul pada project dan lakukan deklarasi variable seperti berikut :

Variable yang di deklarasi kan sebagai public dapat dipakai pada script form berikutnya

3.2 Login Form

Ketik script program seperti berikut

Gambar 3.1 Login Form

Melakukan import sebelum masuk ke class login dan script pada form login :

28
29
30

3.3 Menu Utama (MDI Parent)

Gambar 3.2 Menu Utama

Script-script berikut berfungsi sebagai pemanggil form-form yang ada didalam aplikasi ini.
Untuk melakukan dapat dilakukan double click pada menu atau submenu maka akan
diarahkan pada menu click event, dan masukan script pemanggilan form seperti berikut ini :

Imports System.Windows.Forms
Imports System.Data
Imports System.Data.OleDb
Public Class MDIParent1

Private Sub ExitToolsStripMenuItem_Click(ByVal sender As Object, ByVal e As


EventArgs) Handles ExitToolStripMenuItem.Click
Application.Exit()
End Sub

Private Sub BarangDaganganToolStripMenuItem_Click(ByVal sender As System.Object,


ByVal e As System.EventArgs) Handles BarangDaganganToolStripMenuItem.Click
Master_Data_Persedian.Show()
End Sub

Private Sub KomoditiBarangToolStripMenuItem_Click(ByVal sender As System.Object,


ByVal e As System.EventArgs) Handles KomoditiBarangToolStripMenuItem.Click
Jenis_Komoditi.Show()
End Sub

Private Sub CustomerToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e


As System.EventArgs) Handles CustomerToolStripMenuItem.Click
Customer_Set.Show()
End Sub

Private Sub VendorToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e


As System.EventArgs) Handles VendorToolStripMenuItem.Click
VendorSetup.Show()
End Sub

Private Sub UserListToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e


As System.EventArgs) Handles UserListToolStripMenuItem.Click
Username_Setup.Show()
End Sub

Private Sub BarangRusakHilangToolStripMenuItem_Click(ByVal sender As System.Object,


ByVal e As System.EventArgs) Handles BarangRusakHilangToolStripMenuItem.Click
Penyesuaian.Show()
End Sub
31

Private Sub LokasiToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e


As System.EventArgs) Handles LokasiToolStripMenuItem.Click
Location_Setup.Show()
End Sub

Private Sub CustomerToolStripMenuItem2_Click(ByVal sender As System.Object, ByVal


e As System.EventArgs) Handles CustomerToolStripMenuItem2.Click
RptCustomer.Show()
End Sub

Private Sub KomoditiToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e


As System.EventArgs) Handles KomoditiToolStripMenuItem.Click
RptKomoditi.Show()
End Sub

Private Sub VendorToolStripMenuItem2_Click(ByVal sender As System.Object, ByVal e


As System.EventArgs) Handles VendorToolStripMenuItem2.Click
RptVendor.Show()
End Sub

Private Sub PersediaanToolStripMenuItem_Click(ByVal sender As System.Object, ByVal


e As System.EventArgs) Handles PersediaanToolStripMenuItem.Click
RptMDInventory.Show()
End Sub

Private Sub StockStatusToolStripMenuItem_Click(ByVal sender As System.Object,


ByVal e As System.EventArgs) Handles StockStatusToolStripMenuItem.Click
RptPersediaan.Show()
End Sub

Private Sub PenerimaanToolStripMenuItem_Click(ByVal sender As System.Object, ByVal


e As System.EventArgs) Handles PenerimaanToolStripMenuItem.Click
RptPenerimaan.Show()
End Sub

Private Sub PenggerakanStockToolStripMenuItem_Click(ByVal sender As System.Object,


ByVal e As System.EventArgs) Handles PenggerakanStockToolStripMenuItem.Click
RptKartuPersediaan.show()
End Sub

Private Sub DeveloperToolStripMenuItem_Click(ByVal sender As System.Object, ByVal


e As System.EventArgs) Handles DeveloperToolStripMenuItem.Click
Develop.Show()
End Sub

Public Sub MPenjualan_Click() Handles MPenjualan.Click


'Melakukan open koneksi ke database
CNN = New OleDbConnection(Koneksi)
If CNN.State = ConnectionState.Closed Then
CNN.Open()
End If
'Meminta sales id baru dari database (setiap pengklikan pada menu penjualan
'akan memiliki invoice atau document number yang baru
OLECMD = New OleDbCommand("Insert into salesid (updateby, lastupdate) values
('" & LoginUser.Text & "', '" & Now() & "')", CNN)
x = OLECMD.ExecuteNonQuery
Dim Sql As String = "update salesid set test_re = 'success'"
OLECMD = New OleDb.OleDbCommand(Sql, CNN)
OleRDR = OLECMD.ExecuteReader
Penjualan.TxNoDoc.Text = OleRDR.RecordsAffected
'berfungsi menghitung total line / record yang ada di database
OleRDR.Close()
Penjualan.Show()
End Sub
32

Private Sub TerimaToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e


As System.EventArgs) Handles TerimaToolStripMenuItem.Click
Penerimaan.Show()
End Sub

Private Sub PenjualanToolStripMenuItem_Click(ByVal sender As System.Object, ByVal


e As System.EventArgs) Handles PenjualanToolStripMenuItem.Click
RptPenjualan.Show()
End Sub
End Class

3.4 Menu Registrasi

3.4.1 Master Data Barang Dagangan

Gambar 3.3 Master Data Persediaan

*Btsave dan btdelete di posisi yang sama


33

Script Program :
Imports System.Data
Imports System.Data.OleDb
Public Class Master_Data_Persedian
Private Sub BtClose_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles BtClose.Click
On Error GoTo Keluar
Me.Close()
keluar:
Exit Sub
End Sub
Private Sub RefreshForm()
TxISBN.Text = ""
TxJenis.Text = ""
TxNama.Text = ""
TxLokGudang.Text = ""
TxLokToko.Text = ""
TxSMGudang.Text = ""
TxSMToko.Text = ""
TxROP.Text = ""
TxSK.Text = ""
TxUnitEceran.Text = ""
TxUnitGrosir.Text = ""
TxSatuanEceran.Text = ""
TxSatuanGrosir.Text = ""
TxHJEceran.Text = ""
TxHjGrosir.Text = ""
TxKetEceran.Text = ""
TxKetGrosir.Text = ""
TxStdPack.Text = ""
TxPromosi.Text = ""
TxISBN.Enabled = True
TxISBN.Focus()
TxActive.Checked = False
BtDelete.Visible = False
BtSave.Visible = True
CNN = New OleDbConnection(Koneksi)
If CNN.State <> ConnectionState.Closed Then CNN.Close()
CNN.Open()
DA = New OleDbDataAdapter("Select * From MasterData", CNN)
DT = New DataTable
DA.Fill(DT)
DGV1.DataSource = DT
CNN.Close()
End Sub
Private Sub BtSave_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles BtSave.Click
'On Error GoTo duplikasi_data
If TxISBN.Text = "" Or TxJenis.Text = "" Or TxNama.Text = "" Or
TxLokGudang.Text = "" Or TxLokToko.Text = "" Or _
TxSMGudang.Text = "" Or TxSMToko.Text = "" Or TxROP.Text = "" Or TxSK.Text =
"" Or _
TxUnitEceran.Text = "" Or TxUnitGrosir.Text = "" Or TxSatuanEceran.Text = ""
Or TxSatuanGrosir.Text = "" _
Or TxHJEceran.Text = "" Or TxHjGrosir.Text = "" Or TxKetEceran.Text = "" Or
TxKetGrosir.Text = "" Or _
TxStdPack.Text = "" Or TxPromosi.Text = "" Then
MsgBox("Data Tidak Lengkap", MsgBoxStyle.OkOnly, "Kesalahan")
Exit Sub
End If
Dim Txa As String
If TxActive.Checked = True Then
Txa = "Active"
Else
Txa = "Inactive"
End If
34

CNN = New OleDbConnection(Koneksi)


If CNN.State <> ConnectionState.Closed Then CNN.Close()
CNN.Open()
OLECMD = New OleDbCommand("Insert into masterdata (Kode_ISBN, Nama_Barang,
Jenis_Barang, Status_Per, Lok_Gudang, Lok_Toko, SM_Gudang, SM_Toko, Re_Order_Q,
Store_Keeper, Eceran_Unit, Eceran_Satuan, Eceran_Harga, Eceran_Keterangan, Grosir_Unit,
Grosir_Satuan, Grosir_Harga, Grosir_Keterangan, Std_Pack_toko, Diskon_Toko, UpdateBy,
LastUpdate) values ('" & TxISBN.Text & "','" & TxNama.Text & "','" & TxJenis.Text &
"','" & Txa & "','" & TxLokGudang.Text & "','" & TxLokToko.Text & "','" &
TxSMGudang.Text & "','" & TxSMToko.Text & "','" & TxROP.Text & "','" & TxSK.Text &
"','" & TxUnitEceran.Text & "','" & TxSatuanEceran.Text & "','" & TxHJEceran.Text &
"','" & TxKetEceran.Text & "','" & TxUnitGrosir.Text & "','" & TxSatuanGrosir.Text &
"','" & TxHjGrosir.Text & "','" & TxKetGrosir.Text & "','" & TxStdPack.Text & "','" &
TxPromosi.Text & "', '" & MDIParent1.LoginUser.Text & "','" & Now() & "')", CNN)
x = OLECMD.ExecuteNonQuery

If x = 1 Then
MsgBox("Data berhasil disimpan", MsgBoxStyle.OkOnly, "Sukses")
TxISBN.Focus()
Else
MsgBox("Ada kesalahan penginputan data", MsgBoxStyle.OkOnly, "Kesalahan")
End If
RefreshForm()
Exit Sub
duplikasi_data:
MsgBox("Anda memasukan kode yang sama 2 kali", MsgBoxStyle.OkOnly, "Primary
Key Duplicate")
Exit Sub
End Sub
Private Sub BtEdit_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles BtEdit.Click
If TxISBN.Text = "" Or TxJenis.Text = "" Or TxNama.Text = "" Or
TxLokGudang.Text = "" Or TxLokToko.Text = "" Or _
TxSMGudang.Text = "" Or TxSMToko.Text = "" Or TxROP.Text = "" Or TxSK.Text = ""
Or _
TxUnitEceran.Text = "" Or TxUnitGrosir.Text = "" Or TxSatuanEceran.Text = "" Or
TxSatuanGrosir.Text = "" _
Or TxHJEceran.Text = "" Or TxHjGrosir.Text = "" Or TxKetEceran.Text = "" Or
TxKetGrosir.Text = "" Or _
TxStdPack.Text = "" Or TxPromosi.Text = "" Then
MsgBox("Data Tidak Lengkap", MsgBoxStyle.OkOnly, "Kesalahan")
Exit Sub
End If
Dim Txa As String
If TxActive.Checked = True Then
Txa = "Active"
Else
Txa = "Inactive"
End If
CNN = New OleDbConnection(Koneksi)
If CNN.State <> ConnectionState.Closed Then CNN.Close()
CNN.Open()
OLECMD = New OleDbCommand("Update Masterdata Set nama_barang= '" & TxNama.Text
& _
"',Jenis_Barang= '" & TxJenis.Text & _
"',Status_Per= '" & TxActive.Text & _
"',Lok_Gudang= '" & TxLokGudang.Text & _
"',Lok_Toko= '" & TxLokToko.Text & _
"',SM_Gudang= '" & TxSMGudang.Text & _
"',SM_Toko= '" & TxSMToko.Text & _
"',Re_Order= '" & TxROP.Text & _
"',Store_Keeper= '" & TxSK.Text & _
"',Eceran_Unit= '" & TxUnitEceran.Text & _
"',Eceran_Satuan= '" & TxSatuanEceran.Text & _
"',Eceran_Harga= '" & TxHJEceran.Text & _
"',Eceran_Keterangan= '" & TxKetEceran.Text & _
"',Grosir_Unit= '" & TxUnitGrosir.Text & _
35

"',Grosir_Satuan= '" & TxSatuanGrosir.Text & _


"',Grosir_Harga= '" & TxHjGrosir.Text & _
"',Grosir_Keterangan= '" & TxKetGrosir.Text & _
"',Std_Pack= '" & TxStdPack.Text & _
"',Diskon= '" & TxPromosi.Text & _
"',UpdateBy= '" & MDIParent1.LoginUser.Text & _
"',LastUpdate= '" & Now() & _
"' where Kode_ISBN = '" & TxISBN.Text & "' ", CNN)
On Error GoTo Data_Tidak_Ada
x = OLECMD.ExecuteNonQuery

If x = 1 Then
MsgBox("Data berhasil disimpan", MsgBoxStyle.OkOnly, "Sukses")
Else
MsgBox("Ada kesalahan penginputan data", MsgBoxStyle.OkOnly, "Kesalahan")

End If
RefreshForm()
Exit Sub
Data_Tidak_Ada:
MsgBox("Anda memasukan kode yang salah", MsgBoxStyle.OkOnly, "Primary Key Not
Found")
Exit Sub
End Sub
Private Sub BtDelete_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles BtDelete.Click
If TxISBN.Text = "" Then
MsgBox("Data Tidak Lengkap", MsgBoxStyle.OkOnly, "Kesalahan")
Exit Sub
End If
CNN = New OleDbConnection(Koneksi)
If CNN.State <> ConnectionState.Closed Then CNN.Close()
CNN.Open()
OLECMD = New OleDbCommand("Delete * from masterdata where Kode_ISBN = '" &
TxISBN.Text & "' ", CNN)
On Error GoTo Data_Tidak_Ada
x = OLECMD.ExecuteNonQuery

If x = 1 Then
MsgBox("Data berhasil dihapus", MsgBoxStyle.OkOnly, "Sukses")
Else
MsgBox("Ada kesalahan penginputan data", MsgBoxStyle.OkOnly, "Kesalahan")
End If
RefreshForm()
Exit Sub
Data_Tidak_Ada:
MsgBox("Anda memasukan kode yang salah", MsgBoxStyle.OkOnly, "Primary Key Not
Found")
Exit Sub
End Sub

Private Sub DGV1_DoubleClick(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles DGV1.DoubleClick
If DGV1.Rows.Count > 0 Then
If DGV1.SelectedRows.Count > 0 Then
Dim a As String = DGV1.SelectedRows(0).Cells("Kode_ISBN").Value
CNN = New OleDbConnection(Koneksi)
If CNN.State = ConnectionState.Closed Then
CNN.Open()
End If
TxISBN.Text = a

TxNama.Text = DGV1.SelectedRows(0).Cells("Nama_Barang").Value
TxJenis.Text = DGV1.SelectedRows(0).Cells("Jenis_Barang").Value
TxActive.Text = DGV1.SelectedRows(0).Cells("Status_Per").Value
TxLokGudang.Text = DGV1.SelectedRows(0).Cells("Lok_Gudang").Value
TxLokToko.Text = DGV1.SelectedRows(0).Cells("Lok_Toko").Value
TxSMGudang.Text = DGV1.SelectedRows(0).Cells("SM_Gudang").Value
36

TxSMToko.Text = DGV1.SelectedRows(0).Cells("SM_Toko").Value
TxROP.Text = DGV1.SelectedRows(0).Cells("Re_Order_q").Value
TxSK.Text = DGV1.SelectedRows(0).Cells("Store_Keeper").Value
TxUnitEceran.Text = DGV1.SelectedRows(0).Cells("Eceran_Unit").Value
TxSatuanEceran.Text =
DGV1.SelectedRows(0).Cells("Eceran_Satuan").Value
TxHJEceran.Text = DGV1.SelectedRows(0).Cells("Eceran_Harga").Value
TxKetEceran.Text =
DGV1.SelectedRows(0).Cells("Eceran_Keterangan").Value
TxUnitGrosir.Text = DGV1.SelectedRows(0).Cells("Grosir_Unit").Value
TxSatuanGrosir.Text =
DGV1.SelectedRows(0).Cells("Grosir_Satuan").Value
TxHjGrosir.Text = DGV1.SelectedRows(0).Cells("Grosir_Harga").Value
TxKetGrosir.Text =
DGV1.SelectedRows(0).Cells("Grosir_Keterangan").Value
TxStdPack.Text = DGV1.SelectedRows(0).Cells("Std_Pack_toko").Value
TxPromosi.Text = DGV1.SelectedRows(0).Cells("Diskon_Toko").Value
DGV1.Tag = a
CNN.Close()
BtDelete.Visible = True
BtSave.Visible = False
TxISBN.Enabled = False
End If
End If
End Sub

Private Sub Master_Data_Persedian_Load(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles MyBase.Load

If MDIParent1.LoginModul.Text = "Admin Office" Or MDIParent1.LoginModul.Text =


"Administrator" Then
Me.StoreKeeperTableAdapter.Fill(Me.Inventory_ManagementDataSet.StoreKeeper)
Me.SatuanTableAdapter.Fill(Me.Inventory_ManagementDataSet.Satuan)
Me.KomoditiTableAdapter.Fill(Me.Inventory_ManagementDataSet.Komoditi)
Me.LoKTokoTableAdapter.Fill(Me.Inventory_ManagementDataSet.LoKToko)
Me.LokGudangTableAdapter.Fill(Me.Inventory_ManagementDataSet.LokGudang)
Call Combo_Komoditi()
Call Combo_ECES()
Call Combo_SK()
Call Combo_Lokg()
Call Combo_Lokt()
Call RefreshForm()
TxActive.Checked = True
Else
MsgBox("Maaf!!! Anda tidak bisa akses form ini. Silakan check dengan
administrator", MsgBoxStyle.Information, "Login Failed")
Me.Close()
End If

On Error GoTo keluar


keluar: Exit Sub
End Sub
Private Sub Combo_Komoditi()
Dim Sql As String = "Select Komoditi from Komoditi"
CNN = New OleDbConnection(Koneksi)
If CNN.State = ConnectionState.Closed Then
CNN.Open()
End If
OLECMD = New OleDb.OleDbCommand(Sql, CNN)
OleRDR = OLECMD.ExecuteReader
Try
While OleRDR.Read
TxJenis.Items.Add(OleRDR("Komoditi"))
End While
Catch ex As Exception
37

MsgBox("Gagal Mendapatkan item", MsgBoxStyle.OkOnly, "Gagal")


End Try
OleRDR.Close()
End Sub
Private Sub Combo_ECES()
Dim Sql As String = "Select Satuan from Satuan"
CNN = New OleDbConnection(Koneksi)
If CNN.State = ConnectionState.Closed Then
CNN.Open()
End If
OLECMD = New OleDb.OleDbCommand(Sql, CNN)
OleRDR = OLECMD.ExecuteReader
Try
While OleRDR.Read
TxSatuanEceran.Items.Add(OleRDR("Satuan"))
TxSatuanGrosir.Items.Add(OleRDR("Satuan"))
End While
Catch ex As Exception
MsgBox("Gagal Mendapatkan item", MsgBoxStyle.OkOnly, "Gagal")
End Try
OleRDR.Close()
End Sub
Private Sub Combo_SK()
Dim Sql As String = "Select Storekeeper from Storekeeper"
CNN = New OleDbConnection(Koneksi)
If CNN.State = ConnectionState.Closed Then
CNN.Open()
End If
OLECMD = New OleDb.OleDbCommand(Sql, CNN)
OleRDR = OLECMD.ExecuteReader
Try
While OleRDR.Read
TxSK.Items.Add(OleRDR("StoreKeeper"))
End While
Catch ex As Exception
MsgBox("Gagal Mendapatkan item", MsgBoxStyle.OkOnly, "Gagal")
End Try
OleRDR.Close()
End Sub
Private Sub Combo_Lokg()
Dim Sql As String = "Select Rak_No from LokGudang"
CNN = New OleDbConnection(Koneksi)
If CNN.State = ConnectionState.Closed Then
CNN.Open()
End If
OLECMD = New OleDb.OleDbCommand(Sql, CNN)
OleRDR = OLECMD.ExecuteReader
Try
While OleRDR.Read
TxLokGudang.Items.Add(OleRDR("Rak_No"))
End While
Catch ex As Exception
MsgBox("Gagal Mendapatkan item", MsgBoxStyle.OkOnly, "Gagal")
End Try
OleRDR.Close()
End Sub
Private Sub Combo_Lokt()
Dim Sql As String = "Select Rak_No from LokToko"
CNN = New OleDbConnection(Koneksi)
If CNN.State = ConnectionState.Closed Then
CNN.Open()
End If
OLECMD = New OleDb.OleDbCommand(Sql, CNN)
OleRDR = OLECMD.ExecuteReader
Try
While OleRDR.Read
TxLokToko.Items.Add(OleRDR("Rak_No"))
End While
38

Catch ex As Exception
MsgBox("Gagal Mendapatkan item", MsgBoxStyle.OkOnly, "Gagal")
End Try
OleRDR.Close()
End Sub
End Class

3.4.2 Komoditi Barang

Gambar 3.4 Komoditi

Script Program :
Imports System.Data
Imports System.Data.OleDb
Public Class Jenis_Komoditi

Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles Button3.Click
Me.Close()
End Sub

Private Sub RefreshTable()


CNN = New OleDbConnection(Koneksi)
If CNN.State = ConnectionState.Closed Then
CNN.Open()
End If

DA = New OleDbDataAdapter("Select komoditi, updateby, lastupdate from


komoditi", CNN)
DT = New DataTable
DA.Fill(DT)
DGV1.DataSource = DT
39

CNN.Close()
End Sub

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles Button2.Click
'Button Save (Image)

If TxKomoditi.Text = "" Then


MsgBox("Data Tidak Lengkap", MsgBoxStyle.OkOnly, "Kesalahan")
Exit Sub
End If
CNN = New OleDbConnection(Koneksi)
If CNN.State <> ConnectionState.Closed Then CNN.Close()
CNN.Open()
OLECMD = New OleDbCommand("Insert into Komoditi (Komoditi,UpdateBy,LastUpdate)
values ('" & TxKomoditi.Text & "','" & MDIParent1.LoginUser.Text & "', '" & Now() &
"' )", CNN)
On Error GoTo duplikasi_data
OLECMD.ExecuteNonQuery()

MsgBox("Data berhasil disimpan", MsgBoxStyle.OkOnly, "Sukses")


TxKomoditi.Text = ""
TxKomoditi.Focus()

RefreshTable()

Exit Sub

duplikasi_data:
MsgBox("Anda memasukan komiditi yang sama 2 kali", MsgBoxStyle.OkOnly,
"Primary Key Duplicate")
Exit Sub
End Sub

Private Sub Jenis_Komoditi_Load(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles MyBase.Load
If MDIParent1.LoginModul.Text = "Admin Office" Or MDIParent1.LoginModul.Text =
"Administrator" Then
RefreshTable()
Else
MsgBox("Maaf!!! Anda tidak bisa akses form ini. Silakan check dengan
administrator", MsgBoxStyle.Information, "Login Failed")
Me.Close()
End If

End Sub

Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles DGV1.DoubleClick
'Double click for edit
If DGV1.Rows.Count > 0 Then
If DGV1.SelectedRows.Count > 0 Then
Dim a As String = DGV1.SelectedRows(0).Cells("Komoditi").Value
CNN = New OleDbConnection(Koneksi)
If CNN.State = ConnectionState.Closed Then
CNN.Open()
End If
TxKomoditi.Text = a
TxKomoditi.Tag = a
CNN.Close()
End If
End If
End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles Button1.Click

If TxKomoditi.Text = "" Then


40

MsgBox("Data Tidak Lengkap", MsgBoxStyle.OkOnly, "Kesalahan")


Exit Sub
End If
CNN = New OleDbConnection(Koneksi)
If CNN.State <> ConnectionState.Closed Then CNN.Close()
CNN.Open()
OLECMD = New OleDbCommand("delete * from komoditi where komoditi ='" &
TxKomoditi.Text & "'", CNN)
'On Error GoTo duplikasi_data
OLECMD.ExecuteNonQuery()

MsgBox("Data berhasil delete", MsgBoxStyle.OkOnly, "Sukses")


TxKomoditi.Text = ""
TxKomoditi.Focus()

RefreshTable()

Exit Sub

duplikasi_data:
MsgBox("Data Not Found", MsgBoxStyle.OkOnly, "Primary Key Duplicate")
Exit Sub
End Sub
End Class

3.4.3 Lokasi

Gambar 3.5 Setup Lokasi

Script Program
Imports System.Data
Imports System.Data.OleDb

Public Class Location_Setup

Private Sub BtClose_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles BtClose.Click
Me.Close()
End Sub
41

Private Sub Location_Setup_Load() Handles MyBase.Load


If MDIParent1.LoginModul.Text = "Admin Office" Or MDIParent1.LoginModul.Text =
"Administrator" Then
CNN = New OleDbConnection(Koneksi)
If CNN.State = ConnectionState.Closed Then
CNN.Open()
End If

DA = New OleDbDataAdapter("Select Type, Rak_No, UpdateBy, LastUpdate from


lokasi", CNN)
DT = New DataTable
DA.Fill(DT)
DGV1.DataSource = DT
CNN.Close()
RB1.Enabled = True
RB2.Enabled = True
TxRak.Enabled = True
Else
MsgBox("Maaf!!! Anda tidak bisa akses form ini. Silakan check dengan
administrator", MsgBoxStyle.Information, "Login Failed")
Me.Close()
End If
End Sub

Private Sub BtSave_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles BtSave.Click
Dim IDSE As String
Dim TPE As String
If RB1.Checked = False And RB2.Checked = False Then
MsgBox("Pilih salah satu tipe lokasi", MsgBoxStyle.Critical, "Type Not
Found")
Exit Sub
End If

If TxRak.Text = "" Then


MsgBox("Data Tidak Lengkap", MsgBoxStyle.OkOnly, "Kesalahan")
Exit Sub
End If

If RB1.Checked = True Then


TPE = "Gudang"
IDSE = TPE & TxRak.Text
Else
TPE = "Toko"
IDSE = TPE & TxRak.Text
End If

CNN = New OleDbConnection(Koneksi)


If CNN.State <> ConnectionState.Closed Then CNN.Close()
CNN.Open()
OLECMD = New OleDbCommand("Insert into Lokasi
(ID,Type,Rak_No,UpdateBy,LastUpdate) values ('" & IDSE & "','" & TPE & "','" &
TxRak.Text & "','" & MDIParent1.LoginUser.Text & "', '" & Now() & "' )", CNN)
On Error GoTo duplikasi_data
OLECMD.ExecuteNonQuery()

MsgBox("Data berhasil disimpan", MsgBoxStyle.OkOnly, "Sukses")


RB1.Checked = False
RB2.Checked = False
TxRak.Text = ""
TxRak.Focus()
Location_Setup_Load()
Exit Sub

duplikasi_data:
MsgBox("Anda memasukan komiditi yang sama 2 kali", MsgBoxStyle.OkOnly,
"Primary Key Duplicate")
Exit Sub
42

End Sub

Private Sub BtDelete_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles BtDelete.Click
Dim IDSE As String
Dim TPE As String

If RB1.Checked = True Then


TPE = "Gudang"
IDSE = TPE & TxRak.Text
Else
TPE = "Toko"
IDSE = TPE & TxRak.Text
End If

If TxRak.Text = "" Then


MsgBox("Data Tidak Lengkap", MsgBoxStyle.OkOnly, "Kesalahan")
Exit Sub
End If
CNN = New OleDbConnection(Koneksi)
If CNN.State <> ConnectionState.Closed Then CNN.Close()
CNN.Open()
OLECMD = New OleDbCommand("delete * from lokasi where ID ='" & IDSE & "'", CNN)
'On Error GoTo duplikasi_data
OLECMD.ExecuteNonQuery()

MsgBox("Data berhasil delete", MsgBoxStyle.OkOnly, "Sukses")


RB1.Checked = False
RB2.Checked = False
TxRak.Text = ""
TxRak.Focus()
Location_Setup_Load()
Exit Sub

duplikasi_data:
MsgBox("Data Not Found", MsgBoxStyle.OkOnly, "Primary Key Failure")
Exit Sub
End Sub

Private Sub DGV1_DoubleClick(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles DGV1.DoubleClick
'Double click for edit
If DGV1.Rows.Count > 0 Then
If DGV1.SelectedRows.Count > 0 Then
Dim a As String = DGV1.SelectedRows(0).Cells("Type").Value
Dim b As String = DGV1.SelectedRows(0).Cells("Rak_no").Value
CNN = New OleDbConnection(Koneksi)
If CNN.State = ConnectionState.Closed Then
CNN.Open()
End If
TxRak.Text = b

If a = "Gudang" Then
RB1.Checked = True
Else
RB2.Checked = True
End If

CNN.Close()
End If
End If
End Sub
End Class
43

3.4.4 Customer

Gambar 3.6 Customer Setup


Program script :
Imports System.Data
Imports System.Data.OleDb
Public Class Customer_Set
Private Sub Refresh_Table()
CNN = New OleDbConnection(Koneksi)
If CNN.State <> ConnectionState.Closed Then CNN.Close()
CNN.Open()
DA = New OleDbDataAdapter("Select * From Customer", CNN)
DT = New DataTable
DA.Fill(DT)
ListViewCustomer.DataSource = DT
CNN.Close()
End Sub
Private Sub BtClose_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles BtClose.Click
Me.Close()
End Sub
Private Sub BtSave_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles BtSave.Click

If TxAlamat.Text = "" Or TxCP.Text = "" Or TxEmail.Text = "" Or TxFax.Text =


"" Or TxKode.Text = "" Or _
TxKota.Text = "" Or TxNama.Text = "" Or TxTelp.Text = "" Then
MsgBox("Data Tidak Lengkap", MsgBoxStyle.OkOnly, "Kesalahan")
Exit Sub
End If
CNN = New OleDbConnection(Koneksi)
If CNN.State <> ConnectionState.Closed Then CNN.Close()
CNN.Open()
OLECMD = New OleDbCommand("Insert into Customer
(Kode_Customer,Nama_Customer,Alamat,Kota,No_Telp,No_Fax,Email,Contact_Person, updateby,
44

lastupdate) values ('" & TxKode.Text & "','" & TxNama.Text & "', '" & TxAlamat.Text &
"', '" & TxKota.Text & "', '" & TxTelp.Text & "', '" & TxFax.Text & "' ,'" &
TxEmail.Text & "', '" & TxCP.Text & "' , '" & MDIParent1.LoginUser.Text & "', '" &
Now() & "')", CNN)
On Error GoTo duplikasi_data
x = OLECMD.ExecuteNonQuery

If x = 1 Then
MsgBox("Data berhasil disimpan", MsgBoxStyle.OkOnly, "Sukses")
TxAlamat.Text = ""
TxCP.Text = ""
TxEmail.Text = ""
TxFax.Text = ""
TxKode.Text = ""
TxKota.Text = ""
TxNama.Text = ""
TxTelp.Text = ""
TxKode.Focus()
Else
MsgBox("Ada kesalahan penginputan data", MsgBoxStyle.OkOnly, "Kesalahan")
End If
Call Refresh_Table()
Exit Sub
duplikasi_data:
MsgBox("Anda memasukan kode yang sama 2 kali", MsgBoxStyle.OkOnly, "Primary
Key Duplicate")
Exit Sub
End Sub

Private Sub BtEdit_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles BtEdit.Click
If TxAlamat.Text = "" Or TxCP.Text = "" Or TxEmail.Text = "" Or TxFax.Text =
"" Or TxKode.Text = "" Or _
TxKota.Text = "" Or TxNama.Text = "" Or TxTelp.Text = "" Then
MsgBox("Data Tidak Lengkap", MsgBoxStyle.OkOnly, "Kesalahan")
Exit Sub
End If
CNN = New OleDbConnection(Koneksi)
If CNN.State <> ConnectionState.Closed Then CNN.Close()
CNN.Open()
OLECMD = New OleDbCommand("Update Customer Set Nama_Customer= '" & TxNama.Text
& _
"', Alamat= '" & TxAlamat.Text & _
"', Kota= '" & TxKota.Text & _
"', No_Telp='" & TxTelp.Text & _
"', No_Fax='" & TxFax.Text & _
"', Email= '" & TxEmail.Text & _
"', Contact_Person = '" & TxCP.Text & _
"', UpdateBy = '" & MDIParent1.LoginUser.Text & _
"', lastupdate = '" & Now() & _
"' where Kode_Customer = '" & TxKode.Text & "' ",
CNN)
On Error GoTo Data_Tidak_Ada
x = OLECMD.ExecuteNonQuery

If x = 1 Then
MsgBox("Data berhasil disimpan", MsgBoxStyle.OkOnly, "Sukses")
TxAlamat.Text = ""
TxCP.Text = ""
TxEmail.Text = ""
TxFax.Text = ""
TxKode.Text = ""
TxKota.Text = ""
TxNama.Text = ""
TxTelp.Text = ""
TxKode.Focus()
Else
MsgBox("Ada kesalahan penginputan data", MsgBoxStyle.OkOnly, "Kesalahan")
45

End If
Customer_Set_Load()
Exit Sub
Data_Tidak_Ada:
MsgBox("Anda memasukan kode yang salah", MsgBoxStyle.OkOnly, "Primary Key Not
Found")
Exit Sub
End Sub

Private Sub Customer_Set_Load() Handles MyBase.Load


If MDIParent1.LoginModul.Text = "Admin Office" Or MDIParent1.LoginModul.Text =
"Administrator" Then
Refresh_Table()
BtDELETE.Visible = False
BtSave.Visible = True
TxKode.Enabled = True
Else
MsgBox("Maaf!!! Anda tidak bisa akses form ini. Silakan check dengan
administrator", MsgBoxStyle.Information, "Login Failed")
Me.Close()
End If

End Sub

Private Sub ListViewCustomer_DoubleClick(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles ListViewCustomer.DoubleClick
If ListViewCustomer.Rows.Count > 0 Then
If ListViewCustomer.SelectedRows.Count > 0 Then
Dim a As String =
ListViewCustomer.SelectedRows(0).Cells("Kode_Customer").Value
CNN = New OleDbConnection(Koneksi)
If CNN.State = ConnectionState.Closed Then
CNN.Open()
End If
TxKode.Text = a
TxNama.Text =
ListViewCustomer.SelectedRows(0).Cells("Nama_Customer").Value
TxAlamat.Text = ListViewCustomer.SelectedRows(0).Cells("Alamat").Value
TxCP.Text =
ListViewCustomer.SelectedRows(0).Cells("Contact_Person").Value
TxEmail.Text = ListViewCustomer.SelectedRows(0).Cells("Email").Value
TxFax.Text = ListViewCustomer.SelectedRows(0).Cells("No_Fax").Value
TxKota.Text = ListViewCustomer.SelectedRows(0).Cells("Kota").Value
TxTelp.Text = ListViewCustomer.SelectedRows(0).Cells("No_Telp").Value

ListViewCustomer.Tag = a
CNN.Close()
BtDELETE.Visible = True
BtSave.Visible = False
TxKode.Enabled = False
End If
End If
End Sub

Private Sub BtDELETE_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles BtDELETE.Click
If TxKode.Text = "" Then
MsgBox("Data Tidak Lengkap", MsgBoxStyle.OkOnly, "Kesalahan")
Exit Sub
End If
CNN = New OleDbConnection(Koneksi)
If CNN.State <> ConnectionState.Closed Then CNN.Close()
CNN.Open()
OLECMD = New OleDbCommand("Delete * from customer where Kode_Customer = '" &
TxKode.Text & "' ", CNN)
On Error GoTo Data_Tidak_Ada
46

x = OLECMD.ExecuteNonQuery

If x = 1 Then
MsgBox("Data berhasil dihapus", MsgBoxStyle.OkOnly, "Sukses")
TxAlamat.Text = ""
TxCP.Text = ""
TxEmail.Text = ""
TxFax.Text = ""
TxKode.Text = ""
TxKota.Text = ""
TxNama.Text = ""
TxTelp.Text = ""
TxKode.Focus()
Else
MsgBox("Ada kesalahan penginputan data", MsgBoxStyle.OkOnly, "Kesalahan")

End If
Customer_Set_Load()

Exit Sub
Data_Tidak_Ada:
MsgBox("Anda memasukan kode yang salah", MsgBoxStyle.OkOnly, "Primary Key Not
Found")
Exit Sub

End Sub
End Class

3.4.5 Vendor

Gambar 3.7 Vendor Setup

Keterangan : BtDelete & BtSave di posisi yang sama


47

Script Program :
Imports System.Data
Imports System.Data.OleDb
Public Class VendorSetup

Private Sub BtClose_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles BtClose.Click
Me.Close()
End Sub

Private Sub Refresh_Table()


CNN = New OleDbConnection(Koneksi)
If CNN.State <> ConnectionState.Closed Then CNN.Close()
CNN.Open()
DA = New OleDbDataAdapter("Select * From Vendor", CNN)
DT = New DataTable
DA.Fill(DT)
DataVendor.DataSource = DT
CNN.Close()
End Sub
Private Sub BtSave_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles BtSave.Click
If TxAlamat.Text = "" Or TxCP.Text = "" Or TxEmail.Text = "" Or TxFax.Text =
"" Or TxKode.Text = "" Or _
TxKota.Text = "" Or TxNama.Text = "" Or TxTelp.Text = "" Then
MsgBox("Data Tidak Lengkap", MsgBoxStyle.OkOnly, "Kesalahan")
Exit Sub
End If
CNN = New OleDbConnection(Koneksi)
If CNN.State <> ConnectionState.Closed Then CNN.Close()
CNN.Open()
OLECMD = New OleDbCommand("Insert into Vendor
(Kode_Vendor,Nama_Vendor,Alamat,Kota,No_Telp,No_Fax,Email,Contact_Person, updateby,
lastupdate) values ('" & TxKode.Text & "','" & TxNama.Text & "', '" & TxAlamat.Text &
"', '" & TxKota.Text & "', '" & TxTelp.Text & "', '" & TxFax.Text & "' ,'" &
TxEmail.Text & "', '" & TxCP.Text & "' , '" & MDIParent1.LoginUser.Text & "', '" &
Now() & "')", CNN)
On Error GoTo duplikasi_data
x = OLECMD.ExecuteNonQuery

If x = 1 Then
MsgBox("Data berhasil disimpan", MsgBoxStyle.OkOnly, "Sukses")
TxAlamat.Text = ""
TxCP.Text = ""
TxEmail.Text = ""
TxFax.Text = ""
TxKode.Text = ""
TxKota.Text = ""
TxNama.Text = ""
TxTelp.Text = ""
TxKode.Focus()
Else
MsgBox("Ada kesalahan penginputan data", MsgBoxStyle.OkOnly, "Kesalahan")
End If
Call Refresh_Table()
Exit Sub
duplikasi_data:
MsgBox("Anda memasukan kode yang sama 2 kali", MsgBoxStyle.OkOnly, "Primary
Key Duplicate")
Exit Sub
End Sub

Private Sub VendorSetup_Load() Handles MyBase.Load


48

If MDIParent1.LoginModul.Text = "Admin Office" Or MDIParent1.LoginModul.Text =


"Administrator" Then
Refresh_Table()
BtSave.Visible = True
BtDelete.Visible = False
TxKode.Enabled = True
Else
MsgBox("Maaf!!! Anda tidak bisa akses form ini. Silakan check dengan
administrator", MsgBoxStyle.Information, "Login Failed")
Me.Close()
End If

End Sub

Private Sub BtDelete_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles BtDelete.Click
If TxKode.Text = "" Then
MsgBox("Data Tidak Lengkap", MsgBoxStyle.OkOnly, "Kesalahan")
Exit Sub
End If
CNN = New OleDbConnection(Koneksi)
If CNN.State <> ConnectionState.Closed Then CNN.Close()
CNN.Open()
OLECMD = New OleDbCommand("Delete * from vendor where Kode_vendor = '" &
TxKode.Text & "' ", CNN)
On Error GoTo Data_Tidak_Ada
x = OLECMD.ExecuteNonQuery

If x = 1 Then
MsgBox("Data berhasil dihapus", MsgBoxStyle.OkOnly, "Sukses")
TxAlamat.Text = ""
TxCP.Text = ""
TxEmail.Text = ""
TxFax.Text = ""
TxKode.Text = ""
TxKota.Text = ""
TxNama.Text = ""
TxTelp.Text = ""
TxKode.Focus()
Else
MsgBox("Ada kesalahan penginputan data", MsgBoxStyle.OkOnly, "Kesalahan")

End If
VendorSetup_Load()

Exit Sub
Data_Tidak_Ada:
MsgBox("Anda memasukan kode yang salah", MsgBoxStyle.OkOnly, "Primary Key Not
Found")
Exit Sub

End Sub

Private Sub BtEdit_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles BtEdit.Click
If TxAlamat.Text = "" Or TxCP.Text = "" Or TxEmail.Text = "" Or TxFax.Text =
"" Or TxKode.Text = "" Or _
TxKota.Text = "" Or TxNama.Text = "" Or TxTelp.Text = "" Then
MsgBox("Data Tidak Lengkap", MsgBoxStyle.OkOnly, "Kesalahan")
Exit Sub
End If
CNN = New OleDbConnection(Koneksi)
If CNN.State <> ConnectionState.Closed Then CNN.Close()
CNN.Open()
OLECMD = New OleDbCommand("Update Vendor Set Nama_Vendor= '" & TxNama.Text & _
"', Alamat= '" & TxAlamat.Text & _
"', Kota= '" & TxKota.Text & _
"', No_Telp='" & TxTelp.Text & _
49

"', No_Fax='" & TxFax.Text & _


"', Email= '" & TxEmail.Text & _
"', Contact_Person = '" & TxCP.Text & _
"', UpdateBy = '" & MDIParent1.LoginUser.Text & _
"', lastupdate = '" & Now() & _
"' where Kode_vendor = '" & TxKode.Text & "' ", CNN)
On Error GoTo Data_Tidak_Ada
x = OLECMD.ExecuteNonQuery

If x = 1 Then
MsgBox("Data berhasil disimpan", MsgBoxStyle.OkOnly, "Sukses")
TxAlamat.Text = ""
TxCP.Text = ""
TxEmail.Text = ""
TxFax.Text = ""
TxKode.Text = ""
TxKota.Text = ""
TxNama.Text = ""
TxTelp.Text = ""
TxKode.Focus()
Else
MsgBox("Ada kesalahan penginputan data", MsgBoxStyle.OkOnly, "Kesalahan")

End If
VendorSetup_Load()
Exit Sub
Data_Tidak_Ada:
MsgBox("Anda memasukan kode yang salah", MsgBoxStyle.OkOnly, "Primary Key Not
Found")
Exit Sub
End Sub

Private Sub DataVendor_DoubleClick(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles DataVendor.DoubleClick
On Error GoTo Error_Message
If DataVendor.Rows.Count > 0 Then
If DataVendor.SelectedRows.Count > 0 Then
Dim a As String =
DataVendor.SelectedRows(0).Cells("Kode_Vendor").Value
CNN = New OleDbConnection(Koneksi)
If CNN.State = ConnectionState.Closed Then
CNN.Open()
End If
TxKode.Text = a
TxNama.Text = DataVendor.SelectedRows(0).Cells("Nama_Vendor").Value
TxAlamat.Text = DataVendor.SelectedRows(0).Cells("Alamat").Value
TxCP.Text = DataVendor.SelectedRows(0).Cells("Contact_Person").Value
TxEmail.Text = DataVendor.SelectedRows(0).Cells("Email").Value
TxFax.Text = DataVendor.SelectedRows(0).Cells("No_Fax").Value
TxKota.Text = DataVendor.SelectedRows(0).Cells("Kota").Value
TxTelp.Text = DataVendor.SelectedRows(0).Cells("No_Telp").Value

DataVendor.Tag = a
CNN.Close()
BtDelete.Visible = True
BtSave.Visible = False
TxKode.Enabled = False

End If
End If
Exit Sub
Error_Message:
MsgBox("ERROR!!!", MsgBoxStyle.OkOnly, "Data Not Found")
Exit Sub

End Sub
End Class
50

3.4.6 User List

Gambar 3.8 User Setup

Program Script :
Imports System.Data
Imports System.Data.OleDb

Public Class Username_Setup


Private Sub Username_Setup_Load() Handles MyBase.Load
If MDIParent1.LoginModul.Text = "Administrator" Then
'Module item refresh
TxMo.Items.Add("Admin Office")
TxMo.Items.Add("Store Keeper")
TxMo.Items.Add("Kasir")
'Table Refresh
CNN = New OleDbConnection(Koneksi)
If CNN.State <> ConnectionState.Closed Then CNN.Close()
CNN.Open()
DA = New OleDbDataAdapter("Select userid, username,jabatan, Modul_Pro From
UserList", CNN)
DT = New DataTable
DA.Fill(DT)
DGV1.DataSource = DT
CNN.Close()

'Form Default setting


TxID.Enabled = True
TxMo.Enabled = True
TxPS.Enabled = True
TxUn.Enabled = True
BtSave.Visible = True
51

BtEdit.Visible = True
BtDelete.Visible = False
Else
MsgBox("Maaf!!! Anda tidak bisa akses form ini. Silakan check dengan
administrator", MsgBoxStyle.Information, "Login Failed")
Me.Close()
End If

End Sub

Private Sub BtClose_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles BtClose.Click
Me.Close()
End Sub

Private Sub BtSave_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles BtSave.Click

If TxID.Text = "" Or TxMo.Text = "" Or TxPS.Text = "" Or TxUn.Text = "" Then


MsgBox("Data Tidak Lengkap", MsgBoxStyle.OkOnly, "Kesalahan")
Exit Sub
End If
CNN = New OleDbConnection(Koneksi)
If CNN.State <> ConnectionState.Closed Then CNN.Close()
CNN.Open()
OLECMD = New OleDbCommand("Insert into UserList
(UserID,username,jabatan,modul_pro,pass_word,updateby, lastupdate) values ('" & _
TxID.Text & "','" & TxUn.Text & "', '" & TxPS.Text &
"', '" & TxMo.Text & "', '" & TxID.Text & "', '" & MDIParent1.LoginUser.Text & "', '"
& Now() & "')", CNN)
'On Error GoTo duplikasi_data
x = OLECMD.ExecuteNonQuery

If x = 1 Then
MsgBox("Data berhasil disimpan", MsgBoxStyle.OkOnly, "Sukses")
TxID.Text = ""
TxMo.Text = ""
TxUn.Text = ""
TxPS.Text = ""
TxID.Focus()
Else
MsgBox("Ada kesalahan penginputan data", MsgBoxStyle.OkOnly, "Kesalahan")
End If
Call Username_Setup_Load()
Exit Sub
duplikasi_data:
MsgBox("Anda memasukan kode yang sama 2 kali", MsgBoxStyle.OkOnly, "Primary
Key Duplicate")
Exit Sub
End Sub

Private Sub BtEdit_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles BtEdit.Click
If TxID.Text = "" Or TxMo.Text = "" Or TxPS.Text = "" Or TxUn.Text = "" Then
MsgBox("Data Tidak Lengkap", MsgBoxStyle.OkOnly, "Kesalahan")
Exit Sub
End If
CNN = New OleDbConnection(Koneksi)
If CNN.State <> ConnectionState.Closed Then CNN.Close()
CNN.Open()
OLECMD = New OleDbCommand("Update Userlist Set Jabatan= '" & TxPS.Text & _
"', Modul_Pro= '" & TxMo.Text & _
"', UpdateBy = '" & MDIParent1.LoginUser.Text & _
"', lastupdate = '" & Now() & _
"' where userid = '" & TxID.Text & "' ", CNN)
On Error GoTo Data_Tidak_Ada
x = OLECMD.ExecuteNonQuery
52

If x = 1 Then
MsgBox("Data berhasil disimpan", MsgBoxStyle.OkOnly, "Sukses")
TxID.Text = ""
TxMo.Text = ""
TxUn.Text = ""
TxPS.Text = ""
TxID.Focus()
Else
MsgBox("Ada kesalahan penginputan data", MsgBoxStyle.OkOnly, "Kesalahan")

End If
Call Username_Setup_Load()
Exit Sub
Data_Tidak_Ada:
MsgBox("Anda memasukan kode yang salah", MsgBoxStyle.OkOnly, "Primary Key Not
Found")
Exit Sub
End Sub

Private Sub BtDelete_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles BtDelete.Click
If TxID.Text = "" Then
MsgBox("Data Tidak Lengkap", MsgBoxStyle.OkOnly, "Kesalahan")
Exit Sub
End If
CNN = New OleDbConnection(Koneksi)
If CNN.State <> ConnectionState.Closed Then CNN.Close()
CNN.Open()
OLECMD = New OleDbCommand("Delete * from userlist where userid = '" &
TxID.Text & "' ", CNN)
On Error GoTo Data_Tidak_Ada
x = OLECMD.ExecuteNonQuery

If x = 1 Then
MsgBox("Data berhasil dihapus", MsgBoxStyle.OkOnly, "Sukses")
TxID.Text = ""
TxMo.Text = ""
TxUn.Text = ""
TxPS.Text = ""
TxID.Focus()
Else
MsgBox("Ada kesalahan penginputan data", MsgBoxStyle.OkOnly, "Kesalahan")

End If
Call Username_Setup_Load()

Exit Sub
Data_Tidak_Ada:
MsgBox("Anda memasukan kode yang salah", MsgBoxStyle.OkOnly, "Primary Key Not
Found")
Exit Sub

End Sub

Private Sub DGV1_DoubleClick(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles DGV1.DoubleClick
If DGV1.Rows.Count > 0 Then
If DGV1.SelectedRows.Count > 0 Then
Dim a As String = DGV1.SelectedRows(0).Cells("UserID").Value
CNN = New OleDbConnection(Koneksi)
If CNN.State = ConnectionState.Closed Then
CNN.Open()
End If
TxID.Text = a
TxUn.Text = DGV1.SelectedRows(0).Cells("username").Value
TxPS.Text = DGV1.SelectedRows(0).Cells("Jabatan").Value
TxMo.Text = DGV1.SelectedRows(0).Cells("Modul_Pro").Value
53

DGV1.Tag = a
CNN.Close()
BtDelete.Visible = True
BtSave.Visible = False
TxID.Enabled = False
TxUn.Enabled = False

End If
End If
End Sub
End Class

3.5 Menu Gudang

3.5.1 Penerimaan

Gambar 3.9 Form Penerimaan


Program Script
Imports System.Data
Imports System.Data.OleDb

Public Class Penerimaan


Private Sub Refresh_Table()
CNN = New OleDbConnection(Koneksi)
If CNN.State <> ConnectionState.Closed Then CNN.Close()
CNN.Open()
DA = New OleDbDataAdapter("Select * From kartupersediaan where
transaction_type = 'Penerimaan'", CNN)
DT = New DataTable
DA.Fill(DT)
ListTerima.DataSource = DT
CNN.Close()
TxISBN.Text = ""
TxJumlah.Text = ""
TxNoDoc.Text = ""
54

TxID.Text = ""
TxID.Enabled = True
TxID.Visible = False

BtSave.Visible = True

End Sub

Private Sub Penerimaan_Load(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles MyBase.Load
If MDIParent1.LoginModul.Text = "Store Keeper" Or MDIParent1.LoginModul.Text =
"Administrator" Then
Me.List_ISBNTableAdapter.Fill(Me.Inventory_ManagementDataSet.List_ISBN)
Call Combo_ISBN()
Call Refresh_Table()
Else
MsgBox("Maaf!!! Anda tidak bisa akses form ini. Silakan check dengan
administrator", MsgBoxStyle.Information, "Login Failed")
Me.Close()
End If

End Sub
Private Sub BtClose_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles BtClose.Click
Me.Close()
End Sub
Private Sub BtSave_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles BtSave.Click
If TxISBN.Text = "" Or TxJumlah.Text = "" Or TxNoDoc.Text = "" Then
MsgBox("Data Tidak Lengkap", MsgBoxStyle.OkOnly, "Kesalahan")
Exit Sub
End If
CNN = New OleDbConnection(Koneksi)
If CNN.State <> ConnectionState.Closed Then CNN.Close()
CNN.Open()
OLECMD = New OleDbCommand("Insert into KartuPersediaan (No_Document,
Tanggal_Terima, Transaction_Type, Lokasi, Kode_ISBN, Jumlah, updateby, lastupdate)
values ('" & TxNoDoc.Text & "','" & Today() & "','Penerimaan', 'Gudang', '" &
TxISBN.Text & "', '" & TxJumlah.Text & "', '" & MDIParent1.LoginUser.Text & "', '" &
Now() & "')", CNN)
On Error GoTo duplikasi_data
x = OLECMD.ExecuteNonQuery

If x = 1 Then
MsgBox("Data berhasil disimpan", MsgBoxStyle.OkOnly, "Sukses")
Else
MsgBox("Ada kesalahan penginputan data", MsgBoxStyle.OkOnly, "Kesalahan")
End If
Call Refresh_Table()
Exit Sub
duplikasi_data:
MsgBox("Anda memasukan kode yang sama 2 kali", MsgBoxStyle.OkOnly, "Primary
Key Duplicate")
Exit Sub
End Sub

Private Sub Combo_ISBN()


Dim Sql As String = "Select Kode_ISBN from List_ISBN"
CNN = New OleDbConnection(Koneksi)
If CNN.State = ConnectionState.Closed Then
CNN.Open()
End If
OLECMD = New OleDb.OleDbCommand(Sql, CNN)
OleRDR = OLECMD.ExecuteReader
Try
While OleRDR.Read
TxISBN.Items.Add(OleRDR("Kode_ISBN"))
55

End While
Catch ex As Exception
MsgBox("Gagal Mendapatkan item", MsgBoxStyle.OkOnly, "Gagal")
End Try
OleRDR.Close()
End Sub

Private Sub ListTerima_DoubleClick(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles ListTerima.DoubleClick
On Error GoTo Error_Message
If ListTerima.Rows.Count > 0 Then
If ListTerima.SelectedRows.Count > 0 Then
Dim a As String = ListTerima.SelectedRows(0).Cells("TransID").Value
CNN = New OleDbConnection(Koneksi)
If CNN.State = ConnectionState.Closed Then
CNN.Open()
End If
TxID.Text = a
TxISBN.Text = ListTerima.SelectedRows(0).Cells("kode_isbn").Value
TxJumlah.Text = ListTerima.SelectedRows(0).Cells("jumlah").Value
TxNoDoc.Text = ListTerima.SelectedRows(0).Cells("No_Document").Value
ListTerima.Tag = a
CNN.Close()
BtSave.Visible = False
TxID.Visible = True
TxID.Enabled = False
End If
End If
Exit Sub
Error_Message:
MsgBox("ERROR!!!", MsgBoxStyle.OkOnly, "Data Not Found")
Exit Sub

End Sub

Private Sub BtEdit_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles BtEdit.Click
On Error GoTo Data_Tidak_Ada
If TxISBN.Text = "" Or TxJumlah.Text = "" Or TxNoDoc.Text = "" Then
MsgBox("Data Tidak Lengkap", MsgBoxStyle.OkOnly, "Kesalahan")
Exit Sub
End If
CNN = New OleDbConnection(Koneksi)
If CNN.State <> ConnectionState.Closed Then CNN.Close()
CNN.Open()
OLECMD = New OleDbCommand("Update KartuPersediaan Set No_Document= '" &
TxNoDoc.Text & _
"', Jumlah= '" & TxJumlah.Text & _
"', Kode_ISBN= '" & TxISBN.Text & _
"', LastUpdate= '" & Now() & _
"', UpdateBy= '" & MDIParent1.LoginUser.Text & _
"' where transid = " & TxID.Text, CNN)

x = OLECMD.ExecuteNonQuery

If x = 1 Then
MsgBox("Data berhasil disimpan", MsgBoxStyle.OkOnly, "Sukses")
Else
MsgBox("Ada kesalahan penginputan data", MsgBoxStyle.OkOnly, "Kesalahan")
End If
Refresh_Table()
Exit Sub
Data_Tidak_Ada:
MsgBox("Anda memasukan kode yang salah", MsgBoxStyle.OkOnly, "Primary Key Not
Found")
Exit Sub
End Sub
End Class
56

3.5.2 Penyesuaian Stock

Gambar 3.10 Form Penyesuaian Stock


Properties :
Imports System.Data
Imports System.Data.OleDb

Public Class Penyesuaian

Private Sub Penyesuaian_Load(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles MyBase.Load
If MDIParent1.LoginModul.Text = "Store Keeper" Or MDIParent1.LoginModul.Text =
"Administrator" Then
TxLokasi.Items.Add("Gudang")
TxLokasi.Items.Add("Toko")
TxPer.Items.Add("Barang Hilang")
TxPer.Items.Add("Barang Rusak")
TxPer.Items.Add("Barang Lebih")
TxPer.Items.Add("Barang Expired")

Dim Sql As String = "Select Kode_ISBN from List_ISBN"


CNN = New OleDbConnection(Koneksi)
If CNN.State = ConnectionState.Closed Then
CNN.Open()
End If
OLECMD = New OleDb.OleDbCommand(Sql, CNN)
OleRDR = OLECMD.ExecuteReader
Try
While OleRDR.Read
TxISBN.Items.Add(OleRDR("Kode_ISBN"))
End While
Catch ex As Exception
MsgBox("Gagal Mendapatkan item", MsgBoxStyle.OkOnly, "Gagal")
End Try
OleRDR.Close()
Else
MsgBox("Maaf!!! Anda tidak bisa akses form ini. Silakan check dengan
administrator", MsgBoxStyle.Information, "Login Failed")
Me.Close()
End If
End Sub
57

Private Sub BtClose_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles BtClose.Click
Me.Close()
End Sub

Private Sub BtSave_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles BtSave.Click
If TxISBN.Text = "" Or TxJumlah.Text = "" Or TxLokasi.Text = "" Or TxPer.Text
= "" Then
MsgBox("Data Tidak Lengkap", MsgBoxStyle.OkOnly, "Kesalahan")
Exit Sub
End If
Dim Nilai As Integer
If TxPer.Text = "Barang Lebih" Then
Nilai = Val(TxJumlah.Text) * 1
Else
Nilai = Val(TxJumlah.Text) * -1
End If
CNN = New OleDbConnection(Koneksi)
If CNN.State <> ConnectionState.Closed Then CNN.Close()
CNN.Open()
OLECMD = New OleDbCommand("Insert into KartuPersediaan (No_Document,
Tanggal_Terima, Transaction_Type, Lokasi, Kode_ISBN, Jumlah, updateby, lastupdate)
values ('" & TxNoDoc.Text & "','" & Today() & "','" & TxPer.Text & "', '" &
TxLokasi.Text & "', '" & TxISBN.Text & "', '" & Nilai & "', '" &
MDIParent1.LoginUser.Text & "', '" & Now() & "')", CNN)
On Error GoTo duplikasi_data
x = OLECMD.ExecuteNonQuery

If x = 1 Then
MsgBox("Data berhasil disimpan", MsgBoxStyle.OkOnly, "Sukses")
Else
MsgBox("Ada kesalahan penginputan data", MsgBoxStyle.OkOnly, "Kesalahan")
End If
TxISBN.Text = ""
TxJumlah.Text = ""
TxLokasi.Text = ""
TxNoDoc.Text = ""
TxPer.Text = ""
TxNoDoc.Focus()
Exit Sub
duplikasi_data:
MsgBox("Anda memasukan kode yang sama 2 kali", MsgBoxStyle.OkOnly, "Primary
Key Duplicate")
Exit Sub
End Sub

End Class
58

3.6 Menu Penjualan

Gambar 3.11 Form Penjualan


Script Program :
Imports System.Data
Imports System.Data.OleDb

Public Class Penjualan


Dim nama As String = ""
Dim harga As Integer = 0
Dim diskon As Integer = 0
Private Sub OpenKoneksi()
CNN = New OleDbConnection(Koneksi)
If CNN.State <> ConnectionState.Closed Then CNN.Close()
CNN.Open()
End Sub

Private Sub Combo_ISBN()


Dim Sql As String = "Select Kode_ISBN from List_ISBN"
CNN = New OleDbConnection(Koneksi)
If CNN.State = ConnectionState.Closed Then
CNN.Open()
End If
OLECMD = New OleDb.OleDbCommand(Sql, CNN)
OleRDR = OLECMD.ExecuteReader
Try
While OleRDR.Read
TxISBN.Items.Add(OleRDR("Kode_ISBN"))
End While

Catch ex As Exception
MsgBox("Gagal Mendapatkan item", MsgBoxStyle.OkOnly, "Gagal")
End Try
OleRDR.Close()
End Sub
Private Sub RefreshTable()
DA = New OleDbDataAdapter("Select * From penjualan where no_document = '" &
TxNoDoc.Text & "'", CNN)
DT = New DataTable
DA.Fill(DT)
DGV1.DataSource = DT
59

End Sub
Private Sub DefaultSetting()
TxIsbn.Text = ""
TxJumlah.Text = ""
TxName.Text = ""
TxNoDoc.Enabled = False
TxBayar.Enabled = False
TxKembali.Enabled = False
TxIsbn.Enabled = True
TxName.Enabled = True
BtAdd.Enabled = True
BtClose.Enabled = True
TxJumlah.Enabled = True
BtReceived.Visible = False
TxTotal.Text = ""
TxIsbn.Focus()
End Sub
Private Sub GetHarga()
OpenKoneksi()
Dim Sql As String = "Select * from masterdata"

OLECMD = New OleDb.OleDbCommand(Sql, CNN)


OleRDR = OLECMD.ExecuteReader

Try
While OleRDR.Read
If TxIsbn.Text = OleRDR("kode_isbn") Then
nama = OleRDR("Nama_Barang")
harga = OleRDR("eceran_harga")

Exit While
End If
End While
Catch ex As Exception
MsgBox(ex.Message)
End Try
OleRDR.Close()
End Sub
Private Sub BtClose_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles BtClose.Click
Me.Close()
End Sub

Private Sub BtAdd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)


Handles BtAdd.Click
On Error GoTo Kesalahan
If TxNoDoc.Text = "" Or TxIsbn.Text = "" Or TxJumlah.Text = "" Then
MsgBox("Data tidak lengkap", MsgBoxStyle.Exclamation, "Data Tidak Lengkap")
Exit Sub
End If
OpenKoneksi()
Call GetHarga()
OLECMD = New OleDbCommand("Insert into KartuPersediaan (No_Document,
Tanggal_Terima, Transaction_Type, Lokasi, Kode_ISBN, Jumlah, Harga, Diskon, updateby,
lastupdate) values ('" & _
TxNoDoc.Text & "','" & Today() & "','Penjualan',
'Gudang', '" & TxIsbn.Text & "', '" & TxJumlah.Text & "', '" & harga & "','" & diskon
& "','" & MDIParent1.LoginUser.Text & "', '" & Now() & "')", CNN)
x = OLECMD.ExecuteNonQuery

TxTotal.Text = Val(TxTotal.Text) + Val(TxJumlah.Text) * harga

Call RefreshTable()
TxIsbn.Text = ""
TxName.Text = ""
TxJumlah.Text = ""
BtClose.Enabled = False
Exit Sub
60

Kesalahan:
MsgBox("Error!!!", MsgBoxStyle.OkOnly, "Error!!!")
Exit Sub
End Sub

Private Sub Penjualan_Load() Handles MyBase.Load


Call Combo_ISBN()
Call RefreshTable()
Call DefaultSetting()
End Sub

Private Sub TxIsbn_TextChanged(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles TxIsbn.TextChanged
Call GetHarga()
TxName.Text = nama
TxJumlah.Focus()
End Sub

Private Sub BtBayar_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles BtBayar.Click
TxIsbn.Enabled = False
TxName.Enabled = False
TxJumlah.Enabled = False
TxTotal.Enabled = False
TxBayar.Enabled = True
BtReceived.Visible = True
TxBayar.Focus()
End Sub

Private Sub BtReceived_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles BtReceived.Click
If Val(TxBayar.Text) > Val(TxTotal.Text) Then
TxKembali.Text = Val(TxBayar.Text) - Val(TxTotal.Text)
MsgBox("Uang pengembalian : " & TxKembali.Text, MsgBoxStyle.Information,
"Uang Kembali")
Me.Close()
Call MDIParent1.MPenjualan_Click()

Else
MsgBox("Pembayaran Kurang!!! Transaksi Tidak bisa dilanjutkan",
MsgBoxStyle.Exclamation, "Pembayaran Kurang")
TxBayar.Focus()
End If
End Sub
End Class
60

BAB IV

PEMBAHASAN SCRIPT
Pada bab ini kita akan membahas beberapa script yang terdapat pada Bab III.
Pada dasarnya script-script yang ada pada Bab III memiliki fungsi yang sama yakni
memaskukan data ke Database. Berikut ini adalah penjelasan singkat tentang script
yang ada.

4.1 Open Koneksi Database

Untuk setiap update atau masukan data ke database harus memastikan koneksi ke
data base selalu open. Untuk mengkoneksi ke database cukup dengan script dibawah
ini :

4.2 Memasukan data dari database kedalam Data Grid View

4.3 Memasukan data ke Database

Memasukan database memakai perintah query :

Insert into nama_table (field1, field2,….) values (value field1, value field2,…)

Contoh penggunaan :
4.4 Mendelete data pada database

Kalimat Query mendelete pada database :

Delete * from nama_table where kondisi

4.5 Menupdate data pada database

Kalimat Query menupdate pada database :

Update nama_table set field1 = valuefield1, … where kondisi

4.6 On Error Goto prosedur…

Perintah ini berfungsi menhandle error-error yang terjadi ketika suatu


prosedur dijalankan. Pada umumnya merupakan insert data yang sama pada field
yang sudah didefinisikan sebagai primary key.

Jika terjadi Error maka akan langsung


lompat ke prosedure yang dibawah.

61
4.7 Add Item pada combo box :

Step untuk add item pada combo box dapat di lihat sebagai berikut :

1. Deklarasi variable untuk perintah SQL (Bisa diabaikan dan dimasukkan


kedalam oleDb.Oledbcommand(Perintah Sql, Koneksi yang diinginkan)
2. Open Koneksi ke database
3. Jalankan perintah SQL
4. Pilih field yang akan dimasukan ke dalam combo box

62
63

BAB V

HASIL RUNNING APLIKASI


5.1 Interface Awal (Login)

Gambar 5.1 Login Form

5.2 Menu utama

Gambar 5.2 Menu Utama

63
5.3 Menu Registrasi

5.3.1 Barang Dagangan

Gambar 5.3Form Barang Dagangan

5.3.2 Komoditi

Gambar 5.4Form Komoditi

64
5.3.3 Lokasi

Gambar 5.5Form Lokasi

5.3.4 Customer

Gambar 5.6 Form Customer

65
5.3.5 Vendor

Gambar 5.7Form Vendor

5.3.6 User List

Gambar 5.8 User Setup

66
5.4 Menu Gudang

5.4.1 Penerimaan Barang

Gambar 5.9 Form Penerimaan Baramg

5.4.2 Penyesuaian Stock

Gambar 5.10 Form Penyesuaian Stock

67
5.5 Penjualan

Gambar 5.11 Form Penjualan

5.6 Contoh Laporan

Gambar 5.12 Contoh Salah satu laporan

68
5.7 Credit (About Developer)

Gambar 5.13 About Developer

69
70

BAB VI

PENUTUP
Penulis menyadari masih banyak kekurangan pada makalah ini, penulis
memohon kritik saran yang dapat membangun penulis. Sehingga pada tahap-tahap
berikut dapat menyajikan makalah dengan lebih baik.

Penulis berharap dengan penjelasan yang singkat dan contoh kasus yang ada
dapat membantu rekan-rekan sebagai refferensi dalam pembuatan aplikasi database
menggunakan VB.

Sebagai penutup penulis membuat beberapa point sebagai pertimbangan


dalam pembuatan aplikasi database, yakni :

1. Table-table untuk masterdata harus didesign sebaik mungkin, dan dapat


merangkup semua informasi yang diperlukan, walaupun pada saat sekarang
kita belum bisa membuat, akan tetapi akan sangat membantu untuk
melakukan upgrade versi aplikasi pada tahap selanjutnya
2. Untuk pengambilan data-data berupa dapat berubah sewaktu-waktu, harus
dipisahkan dari table mastedata (Pada contoh kasus ini harga unit selain
pada masterdata inventory pada kartu persediaan juga tersedia. Sehingga
pada saat kalkulasi laporan yang lama tidak terjadi salah penggunaan harga.
3. Penggunaan type data diperhatikan dengan benar sehingga record dapat di
update dengan benar dan tepat (tidak terjadi error karena salah type data)

Penulis sangat berterima kasih kepada semua pihak yang telah membantu
penulis dalam penyelesaain makalah ini. Semoga makalah ini dapat menjadi referensi
yang baik untuk semua pihak.

70
DAFTAR PUSTAKA

 Priyanto,Rahmat. 2009. Langsung Bisa Visual Basic .Net 2008, Penerbit Andi.
Yogyakarta

71

You might also like