Aplikasi Sistem Informasi Distributor Barang Dengan Visual Basic 2010, Studi Kasus PD.Dwi Putra Mandiri.

(1)

i

ABSTRAK

Aplikasi sistem informasi distributor ini bertujuan untuk mendukung kegiatan operasional bisnis. Buku ini menjelaskan perancangan dan pemrograman aplikasi untuk sebuah distributor. Aplikasi diprogram menggunakan Visual Basic 2010 dan MySQL yang telah terintegrasi dan siap digunakan sebagai database server.

Aplikasi yang dibuat mencakup kegiatan operasional PD. Dwi Putra Mandiri, seperti pembelian dan penjualan secara umum. Aplikasi ini menitikberatkan pada pengelolaan data secara manual dan hanya menyimpan informasi esensial yang sekiranya perlu pada pengelolaan sehari-hari. Seluruh sistem aplikasi sudah diuji dan dapat berfungsi sesuai dengan tujuan pembuatannya.


(2)

ii

ABSTRACT

Application of Distributor Information System is used to support the business operations. This book describes the design and programming of an application for a distributor. The application is programmed using Visual Basic 2010 and MySQL which and ready to be a database server.

The application covers PD. Dwi Putra Mandiri operational process such as goods purchasing and selling. This application focused on manual data management and only stores essential information required for daily shop operation. The entire application system has been tested and is functioning properly as it is intended.


(3)

iii

DAFTAR ISI

ABSTRAK ... i

ABSTRACT ... ii

KATA PENGANTAR ... iii

DAFTAR ISI... v

DAFTAR GAMBAR ... xi

DAFTAR TABEL ... xiii

BAB 1 PENDAHULUAN 1.1 Latar Belakang... 1

1.2 Rumusan Masalah ... 2

1.3 Tujuan ... 2

1.4 Batasan Masalah ... 3

1.5 Sistematika Penulisan ... 3

BAB 2 DASAR TEORI 2.1 Perangkat Lunak ... 5

2.1.1 Perangkat Lunak Sistem ... .5

2.1.2 Perangkat Lunak Aplikasi ... 6

2.2 Sistem ... 7

2.3 Informasi... 12

2.4 Sistem Informasi ... 15


(4)

iv

2.6 Entity Relationship Data (ERD) ... 20

2.7 Visual Basic ... 21

2.8 Pemrograman Berorientasi Objek ... 22

2.9 Teori Database ... 26

2.9.1 Normalisasi Database ... 26

2.9.2 Bentuk-Bentuk Normalisasi ... 26

2.10 SQL (Structured Query Language) ... 28

2.10.1 Data Definition Language ... 28

2.10.2 Data Manipulation Language ... 33

2.11 Struktur Organisasi Perusahaan, Pembagian Tugas, dan Wewenang .. 38

BAB 3 PERANCANGAN 3.1 Metode Analisis Kebutuhan Informasi ... 40

3.2 Cara Kerja Sistem ... 41

3.3 Data Flow Diagram ... 42

3.4 Perancangan Database ... 46

3.5 Relational Diagram ... 52

3.6 Diagram Alir/ Flowchart ... 53

3.7 Rancangan Input Sistem Informasi PD. Dwi Putra Mandiri ... 59

3.7.1 Rancangan Form Verifikasi ... 59

3.7.2 Rancangan Form Registrasi ... 59

3.7.3 Rancangan Form Utama ... 61

3.7.4 Rancangan Form Barang ... 61

3.7.5 Rancangan Form Supplier ... 63


(5)

v

3.7.7 Rancangan Form Pembelian ... 67

3.7.8 Rancangan Form Proses Pembelian ... 68

3.7.9 Rancangan Form Master Pembelian ... 69

3.7.10 Rancangan Form Penjualan ... 70

3.7.11 Rancangan Form Proses Penjualan ... 70

3.7.12 Rancangan Form Master Penjualan ... 71

3.8 Rancangan Output Sistem Informasi PD. Dwi Putra Mandiri ... 72

3.8.1 Rancangan Laporan Data Barang ... 72

3.8.2 Rancangan Laporan Data Supplier ... 73

3.8.3 Rancangan Laporan Data Customer ... 73

3.8.4 Rancangan Laporan Data Transaksi Pembelian ... 74

3.8.5 Rancangan Laporan Data Transaksi Penjualan ... 74

BAB 4 DATA PENGAMATAN 4.1 Implementasi Antarmuka PD. Dwi Putra Mandiri ... 75

4.1.1 Tampilan Form Utama ... 75

4.1.2 Tampilan Form Barang ... 76

4.1.3 Tampilan Form Supplier ... 81

4.1.4 Tampilan Form Customer ... 87

4.1.5 Tampilan Form Pembelian ... 91

4.1.6 Tampilan Form Master Pembelian ... 94

4.1.7 Tampilan Form Penjualan ... 95

4.1.8 Tampilan Form Master Penjualan ... 98

4.1.9 Tampilan Form Registrasi ... 100


(6)

vi BAB 5 KESIMPULAN DAN SARAN

5.1 Kesimpulan ... 103 5.2 Saran ... 104

DAFTAR PUSTAKA ... 105 LAMPIRAN... A-1


(7)

vii

DAFTAR GAMBAR

GAMBAR 2.1 Siklus Informasi ... 14

GAMBAR 2.2 Struktur Organisasi PD. Dwi Putra Mandiri ... 38

GAMBAR 3.1 Cara Kerja Sistem Informasi PD. Dwi Putra Mandiri ... 41

GAMBAR 3.2 Diagram Konteks Sistem Informasi PD. Dwi Putra Mandiri ... 42

GAMBAR 3.3 DFD Level 0 Sistem Informasi PD. Dwi Putra Mandiri ... 43

GAMBAR 3.4 DFD level 1: Mendaftarkan Master ... 44

GAMBAR 3.5 DFD level 1: Melayani Penjualan ... 44

GAMBAR 3.6 DFD level 1: Melakukkan Pembelian ... 45

GAMBAR 3.7 DFD level 1: Pembayaran ... 45

GAMBAR 3.8 Relational Diagram Sistem Informasi PD. Dwi Putra Mandiri ... 52

GAMBAR 3.9 Diagram Alir Sistem Mulai ... 53

GAMBAR 3.10 Diagram Alir Sistem Login ... 54

GAMBAR 3.11 Diagram alir Sistem insert ... 55

GAMBAR 3.12 Diagram alir Sistem Update ... 56

GAMBAR 3.13 Diagram alir Sistem Delete ... 57

GAMBAR 3.14 Diagram alir Sistem Search ... 58

GAMBAR 3.15 Rancangan Form Verifikasi ... 59

GAMBAR 3.16 Rancangan Form Jari ... 60

GAMBAR 3.17 Rancangan Form Registrasi ... 60

GAMBAR 3.18 Rancangan Form Utama ... 61

GAMBAR 3.19 Rancangan Form Barang ... 62


(8)

viii

GAMBAR 3.21 Rancangan Form Laporan Barang ... 63

GAMBAR 3.22 Rancangan Form Supplier ... 64

GAMBAR 3.23 Rancangan Form Detil Supplier ... 64

GAMBAR 3.24 Rancangan Form Kota ... 65

GAMBAR 3.25 Rancangan Form Laporan Supplier ... 65

GAMBAR 3.26 Rancangan Form Customer ... 66

GAMBAR 3.27 Rancangan Form Laporan Customer ... 67

GAMBAR 3.28 Rancangan Form Pembelian ... 68

GAMBAR 3.29 Rancangan Form Proses Pembelian ... 69

GAMBAR 3.30 Rancangan Form Laporan Pembelian ... 69

GAMBAR 3.31 Rancangan Form Master Pembelian ... 70

GAMBAR 3.32 Rancangan Form Penjualan ... 70

GAMBAR 3.33 Rancangan Form Proses Penjualan ... 71

GAMBAR 3.34 Rancangan Form Laporan Penjualan ... 71

GAMBAR 3.35 Rancangan Form Master Penjualan ... 72

GAMBAR 3.36 Rancangan Form Laporan Data Barang ... 72

GAMBAR 3.37 Rancangan Form Laporan Data Supplier ... 73

GAMBAR 3.38 Rancangan Form Laporan Data Customer ... 73

GAMBAR 3.39 Rancangan Form Data Transaksi Pembelian ... 74

GAMBAR 3.40 Rancangan Form Data Transaksi Penjualan ... 74

GAMBAR 4.1 Tampilan Form Utama ... 75

GAMBAR 4.2 Tampilan Form Barang ... 76


(9)

ix

GAMBAR 4.4 Hasil Input data Barang ... 77

GAMBAR 4.5 Edit Data Barang ... 78

GAMBAR 4.6 Hasil Edit Data Barang ... 79

GAMBAR 4.7 Hapus Data Barang ... 79

GAMBAR 4.8 Hasil Hapus Data Barang ... 80

GAMBAR 4.9 Laporan Data Barang ... 80

GAMBAR 4.10 Tampilan Form Supplier ... 81

GAMBAR 4.11 Masukan data Supplier ... 82

GAMBAR 4.12 Hasil Input data Supplier ... 82

GAMBAR 4.13 Tambah Detil Supplier ... 83

GAMBAR 4.14 Setelah Menambah Detil Supplier ... 83

GAMBAR 4.15 Hasil Tambah Detil Supplier pada Form Supplier ... 84

GAMBAR 4.16 Edit Data Supplier ... 85

GAMBAR 4.17 Hasil Edit Data Supplier ... 85

GAMBAR 4.18 Hapus Data Supplier ... 86

GAMBAR 4.19 Hasil Hapus Data Supplier ... 86

GAMBAR 4.20 Laporan Data Supplier ... 87

GAMBAR 4.21 Tampilan Form Customer ... 88

GAMBAR 4.22 Masukan data Customer ... 88

GAMBAR 4.23 Hasil Input data Customer ... 89

GAMBAR 4.24 Edit Data Customer ... 90

GAMBAR 4.25 Hasil Edit Data Customer ... 90


(10)

x

GAMBAR 4.27 Hasil Hapus Data Customer ... 91

GAMBAR 4.28 Laporan Data Customer ... 92

GAMBAR 4.29 Tampilan Form Pembelian ... 93

GAMBAR 4.30 Proses Pembelian ... 93

GAMBAR 4.31 Dialog Box Cetak Laporan ... 94

GAMBAR 4.32 Laporan Transaksi Pembelian ... 94

GAMBAR 4.33 Tampilan Form Master Pembelian ... 95

GAMBAR 4.34 Tampilan Laporan Master Pembelian ... 96

GAMBAR 4.35 Tampilan Form Penjualan ... 97

GAMBAR 4.36 Proses Penjualan ... 97

GAMBAR 4.37 Dialog Box Cetak Laporan ... 98

GAMBAR 4.38 Laporan Transaksi Penjualan ... 98

GAMBAR 4.39 Tampilan Form Master Penjualan ... 99

GAMBAR 4.40 Tampilan Laporan Master Penjualan ... 100

GAMBAR 4.41 Tampilan Form Verifikasi ... 100

GAMBAR 4.42 Tampilan Form Jari ... 101

GAMBAR 4.43 Sukses Registrasi Fingerprint User ... 96


(11)

xi

DAFTAR TABEL

TABEL 2.1 Simbol-Simbol dalam Diagram Aliran Data ... 28

TABEL 3.1 Tabel Fingerprint_t ... 46

TABEL 3.2 Tabel Tblbarang ... 46

TABEL 3.3 Tabel Tblcustomer ... 47

TABEL 3.4 Tabel Tblsupplier ... 47

TABEL 3.5 Tabel Tbldetilsupplier ... 48

TABEL 3.6 Tabel Tblpembelian ... 48

TABEL 3.7 Tabel Tbldetilpembelian ... 48

TABEL 3.8 Tabel Tblpenjualan ... 49

TABEL 3.9 Tabel Tbldetilpenjualan ... 49

TABEL 3.10 Tabel Tblhutang ... 49

TABEL 3.11 Tabel Tblpiutang ... 50

TABEL 3.12 Tabel Tbljenispembayaran ... 50

TABEL 3.13 Tabel Tblkategoribarang ... 50

TABEL 3.14 Tabel Tblsatuan ... 51

TABEL 3.15 Tabel Tblkota ... 51


(12)

(13)

A-2

Berikut merupakan listing code dari Form Verifikasi:

Imports System.IO

Public Class FrmVerifikasi_vb

Dim FPDatabase As New FingerspotETouchSDK.FinFPDatabase

Dim WithEvents verifikasi As FingerspotETouchSDK.FinFPVerification Sub clear()

lblIDver.Text = Nothing lblStatus.Text = Nothing lblUser.Text = Nothing PicUser.Image = Nothing End Sub

Private Sub FrmVerifikasi_vb_Disposed(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Disposed

Try

verifikasi.FPVerificationCancel() verifikasi = Nothing

Catch ex As Exception Return

End Try End Sub

Private Sub FrmVerifikasi_vb_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

'TODO: This line of code loads data into the

'FortunaDataSet1.fingerprint_t' table. You can move, or remove it, as needed. Me.BringToFront()

Me.Focus() clear()


(14)

A-3

If FPDatabase.ActiveConnection("Driver={MySQL ODBC 5.1

Driver};Server=localhost;Database=fortuna; User=root;Password=;Option=3;") = FingerspotETouchSDK.ConnectionStatus.sc_Fail Then

MsgBox("Koneksi Database gagal") Else

verifikasi = New FingerspotETouchSDK.FinFPVerification

verifikasi.PictureSamplePath = My.Application.Info.DirectoryPath & "\FPTemp.BMP"

verifikasi.PictureSampleHeight =

Microsoft.VisualBasic.Compatibility.VB6.PixelsToTwipsY(PictureBox1.Height) verifikasi.PictureSampleWidth =

Microsoft.VisualBasic.Compatibility.VB6.PixelsToTwipsX(PictureBox1.Width) verifikasi.FPVerification()

End If End Sub

Private Sub Verification_FPVerificationID(ByRef ID As String, ByRef FingerNr As FingerspotETouchSDK.FingerNumber) Handles

verifikasi.FPVerificationID lblIdVer.Text = ID

lblUser.Text = Fingerprint_tTableAdapter.dapetFinger(ID, FingerNr) FrmPembelian.namaKar = lblUser.Text

FrmPenjualan.namakar = lblUser.Text 'PicUser.ImageLocation =

Fingerprint_tTableAdapter.dapetUserpicture(ID) Dim bitGbr As Byte() =

Fingerprint_tTableAdapter.dapetUserpicture(ID)

Dim gbr As Image = Image.FromStream(New System.IO.MemoryStream(bitGbr))

PicUser.Image = gbr

MsgBox("Selamat Datang " & lblUser.Text, MsgBoxStyle.OkOnly + MsgBoxStyle.Exclamation, "Login Sukses!")


(15)

A-4 Me.Hide()

verifikasi.FPVerificationCancel() verifikasi = Nothing

End Sub

Private Sub Verification_FPVerificationImage() Handles verifikasi.FPVerificationImage

Dim imgFile As System.IO.FileStream = New

System.IO.FileStream(My.Application.Info.DirectoryPath & "\FPTemp.BMP", System.IO.FileMode.Open, System.IO.FileAccess.Read,

System.IO.FileShare.ReadWrite)

Dim fileBytes(imgFile.Length) As Byte imgFile.Read(fileBytes, 0, fileBytes.Length) imgFile.Close()

Dim ms As System.IO.MemoryStream = New MemoryStream(fileBytes)

PictureBox1.Image = Image.FromStream(ms) End Sub

Private Sub Verification_FPVerificationStatus(ByRef Status As FingerspotETouchSDK.VerificationStatus) Handles

verifikasi.FPVerificationStatus Select Case Status

Case FingerspotETouchSDK.VerificationStatus.v_MultiplelMatch lblStatus.Text = "Ditemukan Lebih Dari Satu!!"

Case FingerspotETouchSDK.VerificationStatus.v_OK lblStatus.Text = "Selamat Datang!"

Case FingerspotETouchSDK.VerificationStatus.v_NotFound clear()

lblStatus.Text = "Tidak Ditemukan" Exit Sub


(16)

A-5

lblStatus.Text = "Verifikasi gagal, mohon dicoba lagi" Exit Sub

Case FingerspotETouchSDK.VerificationStatus.v_NoDevice MsgBox("Alat Fingerprint Tidak ditemukan")

Me.Dispose() Exit Sub

Case FingerspotETouchSDK.VerificationStatus.v_PoorQuality lblStatus.Text = "Verifikasi gagal, mohon dicoba lagi" Exit Sub

End Select

verifikasi.FPVerification()

End Sub

Private Sub tblBatal_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tblBatal.Click

Me.Dispose() End Sub


(17)

A-6

Berikut merupakan listing code dari Form Jari:

Public Class FrmJari

Sub ambilID()

Dim teksID As Integer If Not

(Fingerprint_tTableAdapter.dapetID().Equals(System.DBNull.Value)) Then If (Fingerprint_tTableAdapter.dapetID() >= 1) Then

teksID = Fingerprint_tTableAdapter.dapetID() teksID += 1

Else

teksID = 1 End If End If

txtID.Text = teksID End Sub

Private Sub FrmJari_Disposed(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Disposed

FrmUtama.Visible = True End Sub

Private Sub FrmJari_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles Me.KeyPress

If Keys.Enter Then

tblSimpan.PerformClick() End If

End Sub

Private Sub FrmJari_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load


(18)

A-7 ambilID()

End Sub

Private Sub tblSimpan_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tblSimpan.Click

id = txtID.Text

jari = CByte(lstJari.SelectedIndex) usrName = CStr(txtUser.Text) If String.IsNullOrEmpty(jari) Then

MsgBox("anda belum memilih jari yang akan diregistrasikan!!", MsgBoxStyle.Information)

End If

frmRegistrasi.Show() Me.Visible = False lstJari.Text = Nothing End Sub

Private Sub tblBatal_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tblBatal.Click

Me.Dispose() End Sub

Private Sub FrmJari_VisibleChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.VisibleChanged

If Me.Visible = True Then ambilID()

End If End Sub End Class

Berikut merupakan listing code dari Form Registrasi:


(19)

A-8 Imports System.Drawing

Public Class FrmRegistrasi

Dim FPDatabase As New FingerspotETouchSDK.FinFPDatabase Dim WithEvents Registration As

FingerspotETouchSDK.FinFPRegistration

Dim file_path As String = "C:\Users\dodol\Documents\Visual Studio 2010\Projects\SistemLogin\SistemLogin\Userpicture\"

Dim file_path_user As String = "C:\Users\dodol\Documents\Visual Studio 2010\Projects\SistemLogin\SistemLogin\Userpicture\" & usrName & ".jpeg"

Dim rawData As Byte() Dim fs As FileStream Dim gedeFile As UInt32

Private Sub FrmRegistrasi_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

'TODO: This line of code loads data into the

'FortunaDataSet1.fingerprint_t' table. You can move, or remove it, as needed. Me.Fingerprint_tTableAdapter.Fill(Me.FortunaDataSet1.fingerprint_t) tblSimpan.Enabled = False

If FPDatabase.ActiveConnection("Driver={MySQL ODBC 5.1

Driver};Server=localhost;Database=fortuna; User=root;Password=;Option=3;") = FingerspotETouchSDK.ConnectionStatus.sc_Fail Then

MsgBox("Koneksi Database Gagal") Else

Registration = New FingerspotETouchSDK.FinFPRegistration Registration.PictureSamplePath =

My.Application.Info.DirectoryPath & "\FPTemp.BMP" Registration.PictureSampleHeight =

Microsoft.VisualBasic.Compatibility.VB6.PixelsToTwipsY(PictureBox1.Height) Registration.PictureSampleWidth =


(20)

A-9 End If

Registration.FPRegistration(id, jari) End Sub

Private Sub Registration_FPRegistrationImage() Handles Registration.FPRegistrationImage

Dim imgFile As System.IO.FileStream = New

System.IO.FileStream(My.Application.Info.DirectoryPath & "\FPTemp.BMP", System.IO.FileMode.Open, System.IO.FileAccess.Read,

System.IO.FileShare.ReadWrite)

Dim fileBytes(imgFile.Length) As Byte imgFile.Read(fileBytes, 0, fileBytes.Length) imgFile.Close()

Dim ms As System.IO.MemoryStream = New MemoryStream(fileBytes)

PictureBox1.Image = Image.FromStream(ms) End Sub

Private Sub Registration_FPRegistrationStatus(ByRef Status As FingerspotETouchSDK.RegistrationStatus) Handles

Registration.FPRegistrationStatus Select Case Status

Case FingerspotETouchSDK.RegistrationStatus.r_OK

MsgBox("Registrasi Sukses. Sidik Jari anda sudah disimpan dalam Database", vbInformation)

tblSimpan.Enabled = True

Case FingerspotETouchSDK.RegistrationStatus.r_FpIdAlreadyExist MsgBox("ID dan finger number sudah ada!!", vbInformation) If vbOK Then

Me.Dispose() End If


(21)

A-10

MsgBox("Pemindai Sidik Jari Tidak Ditemukan, silahkan Cek Koneksi anda!!", vbInformation)

Case FingerspotETouchSDK.RegistrationStatus.r_RegFailed MsgBox("Registrasi Anda Gagal, silahkan ulangi sekali Lagi", vbExclamation)

Case FingerspotETouchSDK.RegistrationStatus.r_WrongFingerNr MsgBox("Anda belum memilih Jari yang akan di registrasikan Pilih Batal!!", vbExclamation)

End Select End Sub

Private Sub Registration_FPSamplesNeeded(ByRef Samples As Short) Handles Registration.FPSamplesNeeded

lblSample.Text = Samples End Sub

Private Sub btnBrowse_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnBrowse.Click

Dim bukaBrowse As New OpenFileDialog Dim tPic As Integer = gbrUser.Height Dim lPic As Integer = gbrUser.Width Dim skalaH As Single

Dim skalaW As Single With bukaBrowse

.CheckFileExists = True .ShowReadOnly = True

.Filter = "All Files|*.*|Bitmap Files (*)| *.bmp;*.jpg;*.gif" .FilterIndex = 2

If .ShowDialog = Windows.Forms.DialogResult.OK Then Dim picSource As New Bitmap(Image.FromFile(.FileName)) If picSource.Height > tPic Then


(22)

A-11

skalaH = CSng(tPic / picSource.Height) End If

If (picSource.Width * skalaH) > lPic Then skalaW = CSng(lPic / picSource.Width) End If

Dim picDest As New Bitmap(CInt(picSource.Width * skalaW), CInt(picSource.Height * skalaH))

Dim tempPic As Graphics = Graphics.FromImage(picDest) tempPic.DrawImage(picSource, 0, 0, picDest.Width + 1, picDest.Height + 1)

gbrUser.Image = picDest

picDest.Save(file_path & usrName & ".jpeg", System.Drawing.Imaging.ImageFormat.Jpeg)

fs = New FileStream(file_path & usrName & ".jpeg", FileMode.Open, FileAccess.Read)

gedeFile = fs.Length

rawData = New Byte(gedeFile) {} fs.Read(rawData, 0, gedeFile) fs.Close()

File.Delete(file_path_user) End If

End With End Sub

Private Sub tblSimpan_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tblSimpan.Click

Fingerprint_tTableAdapter.updateFingerprint(usrName, rawData, id) 'FrmUtama.Visible = True

Me.Dispose()


(23)

A-12 End Sub

Private Sub tblBatal_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tblBatal.Click

'FrmUtama.Visible = True

Registration.FPRegistrationCancel() Me.Dispose()

End Sub End Class

Berikut merupakan listing code dari Form Utama:

Public Class FrmUtama

Private Sub FrmUtama_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing

Dim hasil As MsgBoxResult = MsgBox("Apakah Anda Yakin ingin menutup aplikasi?", MsgBoxStyle.OkCancel + MsgBoxStyle.Exclamation, "Peringatan")

If hasil = MsgBoxResult.Ok Then Me.Dispose()

FrmVerifikasi_vb.Dispose() Else

e.Cancel = True Return

End If End Sub

Private Sub FrmUtama_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

If FrmPembelian.namaKar = "dony perdana" Then tblkaryawan.Visible = True


(24)

A-13 End Sub

Private Sub mnTbhBarang_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnTbhBarang.Click

FrmBarang.Show() End Sub

Private Sub mnEditBarang_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnEditBarang.Click

FrmBarang.Show() With FrmBarang

If .tblEdit.Text = "&Edit" Then teks.bersih(FrmBarang)

grid.dapetGridTeks({.txtKdBrg, .txtNamaBarang}, .MasterTemplate, 0)

grid.dapetGridMask({.txtHargaBeli, .txtR1, .txtR2, .txtR3, .txtR4, .txtStok}, .MasterTemplate, 2)

grid.dapetGridCombo({.lstKategoriBarang, .lstSatuan}, .MasterTemplate, 8)

tbl.aturEdit(FrmBarang, True) .tblEdit.Text = "Selesai" .enbEdit = True

Else

.tblEdit.Text = "&Edit"

tbl.aturEdit(FrmBarang, False) .enbEdit = False

.clearGrid() End If

End With End Sub


(25)

A-14

Private Sub mnHapusBarang_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnHapusBarang.Click

FrmBarang.Show() With FrmBarang

If .tblEdit.Text = "&Edit" Then teks.bersih(FrmBarang)

grid.dapetGridTeks({.txtKdBrg, .txtNamaBarang}, .MasterTemplate, 0)

grid.dapetGridMask({.txtHargaBeli, .txtR1, .txtR2, .txtR3, .txtR4, .txtStok}, .MasterTemplate, 2)

grid.dapetGridCombo({.lstKategoriBarang, .lstSatuan}, .MasterTemplate, 8)

tbl.aturEdit(FrmBarang, True) .tblEdit.Text = "Selesai" .enbEdit = True

Else

.tblEdit.Text = "&Edit"

tbl.aturEdit(FrmBarang, False) .enbEdit = False

.clearGrid() End If

End With End Sub

Private Sub mnLapBarang_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnLapBarang.Click

FrmLapBarang.Show() End Sub


(26)

A-15

Private Sub mnTbhSupplier_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnTbhSupplier.Click

FrmSupplier.Show() End Sub

Private Sub mnEditSupplier_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnEditSupplier.Click

FrmSupplier.Show() With FrmSupplier

If .tblEditSup.Text = "&Edit" Then teks.bersih(FrmSupplier)

grid.dapetGridTeks({.txtKdSup, .txtNamaSup, .txtAlamatSup, .txtkdPos}, .gridSupplier, 0)

grid.dapetGridCombo({.lstKota}, .gridSupplier, 4)

grid.dapetGridTeks({.txtKontak, .txtTelepon}, .gridSupplier, 5) tbl.aturEdit(FrmSupplier, True)

.tblEditSup.Text = "Selesai" .enbEdit = True

Else

.tblEditSup.Text = "&Edit" tbl.aturEdit(FrmSupplier, False) .enbEdit = False

.clear() End If End With


(27)

A-16

Private Sub mnHapusSupplier_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnHapusSupplier.Click

FrmSupplier.Show() With FrmSupplier

If .tblEditSup.Text = "&Edit" Then teks.bersih(FrmSupplier)

grid.dapetGridTeks({.txtKdSup, .txtNamaSup, .txtAlamatSup, .txtkdPos}, .gridSupplier, 0)

grid.dapetGridCombo({.lstKota}, .gridSupplier, 4)

grid.dapetGridTeks({.txtKontak, .txtTelepon}, .gridSupplier, 5) tbl.aturEdit(FrmSupplier, True)

.tblEditSup.Text = "Selesai" .enbEdit = True

Else

.tblEditSup.Text = "&Edit" tbl.aturEdit(FrmSupplier, False) .enbEdit = False

.clear() End If End With End Sub

Private Sub mnLapSupplier_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnLapSupplier.Click

FrmLapSupplier.Show() End Sub

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


(28)

A-17 FrmPembelian.Show()

End Sub

Private Sub mnEditPembelian_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnEditPembelian.Click

FrmMasterPembelian.Show() End Sub

Private Sub mnHapusPembelian_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnHapusPembelian.Click

FrmMasterPembelian.Show() End Sub

Private Sub mnLapPembelian_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnLapPembelian.Click

FrmLapPembelian.Show() End Sub

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

mnTransaksiPenjualan.Click FrmPenjualan.Show() End Sub

Private Sub mnEditPenjualan_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnEditPenjualan.Click

FrmMasterPenjualan.Show() End Sub

Private Sub mnLaporanPenjualan_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnLaporanPenjualan.Click


(29)

A-18 FrmLapPenjualan.Show()

End Sub

Private Sub mnHapusPenjualan_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnHapusPenjualan.Click

FrmMasterPenjualan.Show() End Sub

Private Sub mnTambahKar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnTambahKar.Click

FrmJari.Show() End Sub

Private Sub mnMasterKar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnMasterKar.Click

FrmMasterKaryawan.Show() End Sub

End Class

Berikut merupakan listing code dari Form Barang:

Imports MySql.Data

Imports Telerik.WinControls.UI Imports Telerik.WinControls.Data Public Class FrmBarang

Public enbEdit As Boolean Dim i As Integer


(30)

A-19 Dim kat As String

Dim sat As String Dim kolom As String

Private Sub FrmBarang_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

Me.ViewbarangTableAdapter.Fill(Me.FortunaDataSet1.viewbarang) Me.TblsatuanTableAdapter.Fill(Me.FortunaDataSet1.tblsatuan)

Me.TblkategoribarangTableAdapter.Fill(Me.FortunaDataSet1.tblkategoribarang) 'lstKategoriBarang.SelectionStart = 0

tbl.aturEdit(Me, False)

End Sub

Sub convTextToID() kat =

TblkategoribarangTableAdapter.getIDKat(lstKategoriBarang.Text) sat = TblsatuanTableAdapter.getIDSatuan(lstSatuan.Text) End Sub

Sub clearGrid()

Me.ViewbarangTableAdapter.ClearBeforeFill = True

Me.ViewbarangTableAdapter.Fill(Me.FortunaDataSet1.viewbarang) MasterTemplate.Refresh()

teks.bersih(Me) teks.bersihMask(Me)

lstKategoriBarang.SelectedIndex = 0 lstSatuan.SelectedIndex = 0

i = MasterTemplate.Rows.Count


(31)

A-20 End Sub

Private Sub tblTambahBarang_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tblTambahBarang.Click

Try

If String.IsNullOrEmpty(txtKdBrg.Text) Then pesan.peringatan("Barang")

Exit Sub End If

convTextToID() teks.potong(Me)

TblbarangTableAdapter.tambahBarang(txtKdBrg.Text, txtNamaBarang.Text, CDec(txtHargaBeli.Value), CDec(txtR1.Value), CDec(txtR2.Value), CDec(txtR3.Value), CDec(txtR4.Value),

CDec(txtStok.Value), (kat), (sat)) clearGrid()

Catch ex As MySqlClient.MySqlException pesan.validasiTambah("Data Barang") End Try

End Sub

Private Sub tblUbahBarang_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tblPerbaikiBarang.Click

Try

teks.potong(Me) convTextToID()

TblbarangTableAdapter.UpdateBarang(txtNamaBarang.Text, CDec(txtHargaBeli.Value), CDec(txtR1.Value), CDec(txtR2.Value), CDec(txtR3.Value), CDec(txtR4.Value), CDec(txtStok.Value), kat, sat, txtKdBrg.Text)


(32)

A-21

Catch ex As MySqlClient.MySqlException pesan.validasiUpdate()

End Try End Sub

Private Sub tblHapusBarang_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tblHapusBarang.Click

Try

Dim terselek As GridViewRowInfo() = MasterTemplate.SelectedRows.ToArray()

Dim j As Integer

For j = 0 To terselek.Length - 1

TblbarangTableAdapter.hapusBarang(terselek(j).Cells(0).Value) Next

clearGrid()

Catch ex As MySqlClient.MySqlException pesan.validasiHapus()

End Try End Sub

Private Sub MasterTemplate_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MasterTemplate.Click

teks.bersihCombo(Me) If enbEdit = True Then

grid.dapetGridTeks({txtKdBrg, txtNamaBarang}, MasterTemplate, 0)

grid.dapetGridMask({txtHargaBeli, txtR1, txtR2, txtR3, txtR4, txtStok}, MasterTemplate, 2)

grid.dapetGridCombo({lstKategoriBarang, lstSatuan}, MasterTemplate, 8)


(33)

A-22 End Sub

Private Sub tblCetakBarang_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tblCetakBarang.Click

FrmLapBarang.Show() End Sub

Private Sub tblEdit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tblEdit.Click

If tblEdit.Text = "&Edit" Then teks.bersih(Me)

grid.dapetGridTeks({txtKdBrg, txtNamaBarang}, MasterTemplate, 0)

grid.dapetGridMask({txtHargaBeli, txtR1, txtR2, txtR3, txtR4, txtStok}, MasterTemplate, 2)

grid.dapetGridCombo({lstKategoriBarang, lstSatuan}, MasterTemplate, 8)

tbl.aturEdit(Me, True) tblEdit.Text = "Selesai" enbEdit = True

Else

tblEdit.Text = "&Edit" tbl.aturEdit(Me, False) enbEdit = False

clearGrid() End If

End Sub

Private Sub tblTambahKat_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tblTambahKat.Click

FrmKategoriBarang.Show() Me.Enabled = False


(34)

A-23 End Sub

Private Sub MasterTemplate_CustomFiltering(ByVal sender As Object, ByVal e As Telerik.WinControls.UI.GridViewCustomFilteringEventArgs) Handles MasterTemplate.CustomFiltering

grid.gridCustomFilter(e, txtCariBarang, MasterTemplate) End Sub

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

txtCariBarang.TextChanged

Me.MasterTemplate.MasterTemplate.Refresh() End Sub

Private Sub tblTambahSat_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tblTambahSat.Click

FrmSatuan.Show() Me.Enabled = False End Sub

End Class

Berikut merupakan listing code dari Form Supplier:

Imports MySql.Data

Imports Telerik.WinControls.UI Imports Telerik.WinControls.Data Public Class FrmSupplier

Dim i As Integer Dim kot As String Dim kolom As String Public enbEdit As Boolean Sub clear()

Me.ViewdetilsupplierTableAdapter.Fill(Me.FortunaDataSet1.viewdetilsupplie r)

Me.TblkotaTableAdapter.Fill(Me.FortunaDataSet1.tblkota)

Me.ViewsupplierTableAdapter.Fill(Me.FortunaDataSet1.viewsupplier) teks.bersih(Me)

i = gridSupplier.Rows.Count

Me.gridSupplier.Rows(i - 1).IsCurrent = True lstKota.SelectedIndex = 0


(35)

A-24

Private Sub FrmSupplier_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

'TODO: This line of code loads data into the

'FortunaDataSet1.viewdetilsupplier' table. You can move, or remove it, as needed. Me.ViewdetilsupplierTableAdapter.Fill(Me.FortunaDataSet1.viewdetilsupplie r) Me.TblkotaTableAdapter.Fill(Me.FortunaDataSet1.tblkota) Me.ViewsupplierTableAdapter.Fill(Me.FortunaDataSet1.viewsupplier) tbl.aturEdit(Me, False) End Sub

Private Sub tblSimpanSup_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tblTambahSup.Click

Try

If String.IsNullOrEmpty(txtKdSup.Text) Then pesan.peringatan("Supplier")

Exit Sub End If

teks.potong(Me)

kot = TblkotaTableAdapter.getIDFromKota(lstKota.Text) TblsupplierTableAdapter.tambahSupplier(txtKdSup.Text,

txtNamaSup.Text, txtAlamatSup.Text, txtkdPos.Text, kot, txtKontak.Text, txtTelepon.Text)

clear()

'Me.gridSupplier.Rows(i + 1).IsCurrent = True Catch ex As MySqlClient.MySqlException pesan.validasiTambah("Data Supplier") End Try

End Sub

Private Sub tblTambahKota_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tblTambahKota.Click

FrmKota.Show() Me.Enabled = False End Sub

Private Sub tblEditSup_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tblEditSup.Click

If tblEditSup.Text = "&Edit" Then teks.bersih(Me)

grid.dapetGridTeks({txtKdSup, txtNamaSup, txtAlamatSup, txtkdPos}, gridSupplier, 0)

grid.dapetGridCombo({lstKota}, gridSupplier, 4)

grid.dapetGridTeks({txtKontak, txtTelepon}, gridSupplier, 5) tbl.aturEdit(Me, True)

tblEditSup.Text = "Selesai" enbEdit = True


(36)

A-25 Else

tblEditSup.Text = "&Edit" tbl.aturEdit(Me, False) enbEdit = False

clear() End If End Sub

Private Sub tblHapusSup_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tblHapusSup.Click

Try

Dim terselek As GridViewRowInfo() = gridSupplier.SelectedRows.ToArray()

Dim j As Integer

For j = 0 To terselek.Length - 1

TblsupplierTableAdapter.hapusSupplier(terselek(j).Cells(0).Value) Next

clear()

Catch ex As MySqlClient.MySqlException pesan.validasiHapus()

End Try End Sub

Private Sub tblPerbaikiSup_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tblPerbaikiSup.Click

Try

teks.potong(Me)

kot = TblkotaTableAdapter.getIDFromKota(lstKota.Text) TblsupplierTableAdapter.updateSupplier(txtNamaSup.Text, txtAlamatSup.Text, txtkdPos.Text, kot, txtKontak.Text, txtTelepon.Text, txtKdSup.Text)

clear()

Catch ex As MySqlClient.MySqlException pesan.validasiUpdate()

End Try End Sub

Private Sub gridSupplier_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles gridSupplier.Click

teks.bersihCombo(Me)

FrmDetilSupplier.passIDSup = gridSupplier.CurrentRow.Cells(0).Value If enbEdit = True Then

grid.dapetGridTeks({txtKdSup, txtNamaSup, txtAlamatSup, txtkdPos}, gridSupplier, 0)

grid.dapetGridCombo({lstKota}, gridSupplier, 4)

grid.dapetGridTeks({txtKontak, txtTelepon}, gridSupplier, 5) End If


(37)

A-26

Private Sub gridSupplier_CustomFiltering(ByVal sender As Object, ByVal e As Telerik.WinControls.UI.GridViewCustomFilteringEventArgs) Handles gridSupplier.CustomFiltering

grid.gridCustomFilter(e, txtCariSupplier, gridSupplier) End Sub

Private Sub txtCariSupplier_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtCariSupplier.TextChanged

Me.gridSupplier.MasterTemplate.Refresh() End Sub

Private Sub tblTambahbrg_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tblTambahbrg.Click

FrmDetilSupplier.Show() Me.Enabled = False End Sub

Private Sub tblCetakSup_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tblCetakSup.Click

FrmLapSupplier.Show() End Sub

End Class

Berikut merupakan listing code dari Form Detil Supplier:

Imports Telerik.WinControls.Data Public Class FrmDetilSupplier Friend passIDSup As String Dim idBrg As String

Sub filterBaris()

'passing passIDSup dari frmSupplier lalu, filter menggunakan gridfiltering(berhubung SQL IN kagak bisa...)

ViewdetilsupplierTableAdapter.FillByKdSup(Me.FortunaDataSet.viewdetil supplier, passIDSup)

gridbrg.FilterDescriptors.Clear() Dim isibrs As Integer

Dim baris As Integer = gridDetilSup.Rows.Count For baris = 0 To baris - 1

isibrs = gridDetilSup.Rows(baris).Cells(1).Value cr.GridFiltering(gridbrg, isibrs, "kdBarang") Next baris


(38)

A-27

Private Sub FrmDetilSupplier_Disposed(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Disposed

FrmSupplier.ViewsupplierTableAdapter.Fill(FrmSupplier.FortunaDataSet1. viewsupplier) FrmSupplier.ViewdetilsupplierTableAdapter.Fill(FrmSupplier.FortunaData Set1.viewdetilsupplier)

FrmSupplier.Enabled = True End Sub

Private Sub FrmDetilSupplier_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

'TODO: This line of code loads data into the

'FortunaDataSet.tbldetilsupplier' table. You can move, or remove it, as needed.

Me.TbldetilsupplierTableAdapter.Fill(Me.FortunaDataSet.tbldetilsupplier) Me.TblbarangTableAdapter.Fill(Me.FortunaDataSet.tblbarang) 'kalo kedeteksi nol...ambil baris sekarang yang ke select... If String.IsNullOrEmpty(passIDSup) Then

passIDSup = FrmSupplier.gridSupplier.CurrentRow.Cells(0).Value End If

filterBaris()

gridbrg.Rows(0).IsSelected = True 'filter berdasarkan passIDSup... End Sub

Private Sub tblgo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tblgo.Click

Try

Dim pilihBrs = gridbrg.SelectedRows.ToArray() For i As Integer = 0 To pilihBrs.Length - 1 idBrg = pilihBrs(i).Cells(0).Value

TbldetilsupplierTableAdapter.tambahDetilSup(passIDSup, idBrg) Next i

filterBaris()

gridDetilSup.Rows(gridDetilSup.Rows.Count - 1).IsCurrent = True Catch ex As Exception

Exit Sub End Try End Sub

Private Sub tblBack_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tblBack.Click

Try

Dim idSup As String

Dim pilihBrsDet = gridDetilSup.SelectedRows.ToArray For i As Integer = 0 To pilihBrsDet.Length - 1


(39)

A-28

idSup = pilihBrsDet(i).Cells(1).Value

TbldetilsupplierTableAdapter.hapusDetilSup(idSup) Next i

filterBaris()

gridbrg.Rows(gridbrg.Rows.Count - 1).IsCurrent = True Catch ex As Exception

Exit Sub End Try End Sub End Class

Berikut merupakan listing code dari Form Customer:

Imports Telerik.WinControls.UI Public Class FrmCustomer Dim kot As String Dim tipe As String Dim i As Integer

Dim enbEdit As Boolean

Private Sub FrmCustomer_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

'TODO: This line of code loads data into the

'FortunaDataSet.tblcustomer' table. You can move, or remove it, as needed. Me.TblcustomerTableAdapter.Fill(Me.FortunaDataSet.tblcustomer) 'TODO: This line of code loads data into the

'FortunaDataSet.tbltipepelanggan' table. You can move, or remove it, as needed.

Me.TbltipepelangganTableAdapter.Fill(Me.FortunaDataSet.tbltipepelangga n)

'TODO: This line of code loads data into the 'FortunaDataSet.tblkota' table. You can move, or remove it, as needed.

Me.TblkotaTableAdapter.Fill(Me.FortunaDataSet.tblkota) 'TODO: This line of code loads data into the

'FortunaDataSet.viewcustomer' table. You can move, or remove it, as needed.

Me.ViewcustomerTableAdapter.Fill(Me.FortunaDataSet.viewcustomer) 'TODO: This line of code loads data into the

'FortunaDataSet.viewcustomer' table. You can move, or remove it, as needed. Me.ViewcustomerTableAdapter.Fill(Me.FortunaDataSet.viewcustomer) tbl.aturEdit(Me, False) End Sub Sub convTextToID()


(40)

A-29

kot = TblkotaTableAdapter.getIDFromKota(lstKota.Text) tipe =

TbltipepelangganTableAdapter.getIDFromTipePelanggan(lstTipeCust.Text) End Sub

Sub clearGrid()

Me.ViewcustomerTableAdapter.ClearBeforeFill = True

Me.ViewcustomerTableAdapter.Fill(Me.FortunaDataSet.viewcustomer) gridCustomer.Refresh()

teks.bersih(Me)

lstKota.SelectedIndex = 0 lstTipeCust.SelectedIndex = 0 i = gridCustomer.Rows.Count - 1

Me.gridCustomer.Rows(i).IsCurrent = True End Sub

Private Sub tblTambahCust_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tblTambahCust.Click

Try

If String.IsNullOrEmpty(txtKdCust.Text) Then pesan.peringatan("Barang") Exit Sub End If convTextToID() teks.potong(Me) TblcustomerTableAdapter.tambahCustomer(txtKdCust.Text, txtNamaCustomer.Text, txtAlamatCust.Text, kot, txtkdPos.Text, txtCP.Text, tipe)

clearGrid()

Catch ex As Exception

pesan.validasiTambah("Kode Customer") End Try

End Sub

Private Sub gridCustomer_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles gridCustomer.Click

If enbEdit = True Then teks.bersihCombo(Me)

grid.dapetGridTeks({txtKdCust, txtNamaCustomer, txtAlamatCust}, gridCustomer, 0)

grid.dapetGridCombo({lstKota}, gridCustomer, 3) grid.dapetGridTeks({txtkdPos, txtCP}, gridCustomer, 4) grid.dapetGridCombo({lstTipeCust}, gridCustomer, 6) End If

End Sub

Private Sub tblEditCust_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tblEditCust.Click


(41)

A-30 If tblEditCust.Text = "&Edit" Then teks.bersih(Me)

grid.dapetGridTeks({txtKdCust, txtNamaCustomer, txtAlamatCust}, gridCustomer, 0)

grid.dapetGridCombo({lstKota}, gridCustomer, 3) grid.dapetGridTeks({txtkdPos, txtCP}, gridCustomer, 4) grid.dapetGridCombo({lstTipeCust}, gridCustomer, 6) tbl.aturEdit(Me, True)

tblEditCust.Text = "Selesai" enbEdit = True

Else

tblEditCust.Text = "&Edit" tbl.aturEdit(Me, False) enbEdit = False

clearGrid() End If

Catch ex As Exception

End Try End Sub

Private Sub tblPerbaikiCust_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tblPerbaikiCust.Click

Try

teks.potong(Me) convTextToID()

TblcustomerTableAdapter.updateCustomer(txtNamaCustomer.Text, txtAlamatCust.Text, kot, txtkdPos.Text, txtCP.Text, tipe, txtKdCust.Text) clearGrid()

Catch ex As Exception pesan.validasiUpdate() End Try

End Sub

Private Sub tblHapusCust_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tblHapusCust.Click

Try

Dim terselek As GridViewRowInfo() = gridCustomer.SelectedRows.ToArray()

Dim j As Integer

For j = 0 To terselek.Length - 1

TblcustomerTableAdapter.hapusCustomer(terselek(j).Cells(0).Value) Next

clearGrid()

i = gridCustomer.Rows.Count


(42)

A-31 i -= 1

Catch ex As Exception pesan.validasiHapus() End Try

End Sub

Private Sub gridCustomer_CustomFiltering(ByVal sender As Object, ByVal e As Telerik.WinControls.UI.GridViewCustomFilteringEventArgs) Handles gridCustomer.CustomFiltering

grid.gridCustomFilter(e, txtCariCust, gridCustomer) End Sub

Private Sub txtCariCust_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtCariCust.TextChanged

Me.gridCustomer.MasterTemplate.Refresh() End Sub

Private Sub tblTambahKota_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tblTambahKota.Click

FrmKota.Show() End Sub

Private Sub tblCetakCust_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tblCetakCust.Click

FrmLapCustomer.Show() End Sub

End Class

Berikut merupakan listing code dari Form Pembelian:

Imports Telerik.WinControls.UI Public Class FrmPembelian

Dim kdBrg, nmBrg, sat As String Dim qty, hgBli As Integer

Public namaKar As String Sub reset()

txtUser.Text = namaKar mcKdBrg.Text = Nothing lblDataBarang.Text = Nothing txtNoPembelian.Text = Nothing txtQty.Text = Nothing

gridDetilPembelian.Rows.Clear() End Sub

Sub resetMaster()

mcKdBrg.Text = Nothing txtQty.Text = Nothing

Me.ViewdetilpembelianTableAdapter.FillBydodol(FortunaDataSet1.viewdetilpe mbelian, FrmMasterPembelian.dapetPemb())


(43)

A-32 End Sub

Private Sub subtotalcolEdit()

Me.gridEditPembelian.Columns("SubTotal").Expression = "HargaBeli * QtyBeli"

Dim nilai, total As Integer

Dim baris As Integer = gridEditPembelian.Rows.Count If baris >= 0 Then

For baris = 0 To baris - 1

nilai = Me.gridEditPembelian.Rows(baris).Cells(6).Value total += nilai

Next End If

txtTotal.Value = total End Sub

Private Sub totalcol()

Me.gridDetilPembelian.Columns("TotalHarga").Expression = "HargaBeli * Quantity"

Dim nilai, total As Integer

Dim baris As Integer = gridDetilPembelian.Rows.Count If baris >= 0 Then

For baris = 0 To baris - 1

nilai = Me.gridDetilPembelian.Rows(baris).Cells(5).Value total += nilai

Next End If

txtTotal.Value = total End Sub

Private Sub FrmPembelian_Disposed(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Disposed

If FrmMasterPembelian.Enabled = False Then FrmMasterPembelian.Enabled = True FrmMasterPembelian.BringToFront() End If

End Sub

Private Sub FrmPembelian_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

'TODO: This line of code loads data into the

'FortunaDataSet.tbldetilpembelian' table. You can move, or remove it, as needed.

Me.TbldetilpembelianTableAdapter.Fill(Me.FortunaDataSet.tbldetilpembelian) 'TODO: This line of code loads data into the 'FortunaDataSet.viewpembelian' table. You can move, or remove it, as needed.

Me.ViewpembelianTableAdapter.Fill(Me.FortunaDataSet.viewpembelian) 'TODO: This line of code loads data into the


(44)

A-33

Me.ViewdetilsupplierTableAdapter.Fill(Me.FortunaDataSet1.viewdetilsupplier) 'TODO: This line of code loads data into the

'FortunaDataSet1.viewdetilsupplier' table. You can move, or remove it, as needed.

Me.ViewdetilsupplierTableAdapter.Fill(Me.FortunaDataSet1.viewdetilsupplier) 'TODO: This line of code loads data into the 'FortunaDataSet1.tblsupplier' table. You can move, or remove it, as needed.

Me.TblsupplierTableAdapter.Fill(Me.FortunaDataSet1.tblsupplier)

'TODO: This line of code loads data into the 'FortunaDataSet1.tblpembelian' table. You can move, or remove it, as needed.

Me.TblpembelianTableAdapter.Fill(Me.FortunaDataSet1.tblpembelian) 'TODO: This line of code loads data into the

'FortunaDataSet1.viewdetilpembelian' table. You can move, or remove it, as needed.

Me.ViewdetilpembelianTableAdapter.Fill(Me.FortunaDataSet1.viewdetilpembeli an)

txtUser.Text = namaKar mcKdBrg.Text = Nothing lblDataBarang.Text = Nothing

mcc.filterMultiCombo(mcKdBrg, "NamaBarang")

mcKdBrg.MultiColumnComboBoxElement.DropDownWidth = 550 mcKdBrg.MultiColumnComboBoxElement.DropDownHeight = 300

mcNamaSupplier.MultiColumnComboBoxElement.DropDownHeight = 300 mcNamaSupplier.MultiColumnComboBoxElement.DropDownWidth = 550 Timer1.Start()

totalcol() End Sub

Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick

frms.tanggalJam(lblTanggal, lblJam) End Sub

Private Sub tblTambahKat_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tblTambahKat.Click

Try

If tblProses.Text = "Proses" Then

With mcKdBrg.EditorControl.Rows(mcKdBrg.SelectedIndex) kdBrg = .Cells(1).Value

nmBrg = .Cells(2).Value hgBli = .Cells(3).Value sat = .Cells(6).Value End With

If String.IsNullOrEmpty(txtQty.Text) Then qty = 0


(45)

A-34 Else

qty = txtQty.Value End If

Me.gridDetilPembelian.Rows.Add(kdBrg, nmBrg, sat, hgBli, qty) totalcol()

lblDataBarang.Text = nmBrg Else kdBrg = mcKdBrg.EditorControl.Rows(mcKdBrg.SelectedIndex).Cells(1).Value TbldetilpembelianTableAdapter.tambahDetilPembelian(txtNoPembelian.Text, kdBrg, txtQty.Text) resetMaster() lblDataBarang.Text = mcKdBrg.EditorControl.Rows(mcKdBrg.SelectedIndex).Cells(2).Value End If

Catch ex As Exception

pesan.pesan("Proses Penambahan Item Gagal, Silahkan Kontak Administrator anda")

End Try End Sub

Private Sub tblHapusItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tblHapusItem.Click

Try

If tblProses.Text = "Proses" Then Dim baris As Integer

baris =

gridDetilPembelian.Rows.IndexOf(Me.gridDetilPembelian.CurrentRow) gridDetilPembelian.Rows.RemoveAt(baris)

Else

Dim i As Integer

Dim terselek As GridViewRowInfo() = gridEditPembelian.SelectedRows.ToArray() For i = 0 To terselek.Length - 1 TbldetilpembelianTableAdapter.hapusDetilPembelian(txtNoPembelian.Text, terselek(i).Cells(1).Value) Next resetMaster() End If

Catch ex As Exception

pesan.pesan("Masukan Satu Atau Lebih Item!!") End Try


(46)

A-35

Private Sub tblHapusAll_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tblHapusAll.Click

If tblProses.Text = "Proses" Then Me.gridDetilPembelian.Rows.Clear() Else

Dim i As Integer

For i = 0 To gridEditPembelian.Rows.Count - 1 TbldetilpembelianTableAdapter.hapusDetilPembelian(txtNoPembelian.Text, gridEditPembelian.Rows(i).Cells(1).Value) Next resetMaster() End If End Sub

Private Sub tblProses_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tblProses.Click

If tblProses.Text = "Proses" Then

If String.IsNullOrEmpty(txtNoPembelian.Text) Then pesan.peringatan("Transaksi")

Exit Sub End If

frmProsesPembelian.Show() Me.Enabled = False

Else

frmProsesPembelian.tblSimpanPembelian.Text = "Update Data" frmProsesPembelian.Show()

Me.Enabled = False End If

End Sub

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

mcNamaSupplier.SelectedIndexChanged Me.ViewdetilsupplierTableAdapter.FillByKdSup(FortunaDataSet1.viewdetilsupp lier, mcNamaSupplier.Text) End Sub Sub updatePemb()

Me.gridEditPembelian.Visible = True Me.txtNoPembelian.Enabled = False

Me.txtNoPembelian.Text = FrmMasterPembelian.dapetPemb() Me.tblProses.Text = "Simpan Perubahan"

Me.ViewdetilpembelianTableAdapter.FillBydodol(FortunaDataSet1.viewdetilpe mbelian, FrmMasterPembelian.dapetPemb())

Me.txtUser.Text =

ViewpembelianTableAdapter.dptUsername(FrmMasterPembelian.dapetPemb()) Me.txtUser.Enabled = False


(47)

A-36 Me.mcNamaSupplier.Text =

TblpembelianTableAdapter.dptKdSupplier(FrmMasterPembelian.dapetPemb()) Me.mcNamaSupplier.Enabled = False

subtotalcolEdit()

FrmMasterPembelian.Enabled = False End Sub

Private Sub RadButton3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RadButton3.Click

Me.Dispose() End Sub

End Class

Berikut merupakan listing code dari Form Verifikasi:

Imports Telerik.Reporting

Public Class frmProsesPembelian Dim kdBrg As String

Dim status As String = "BELUM LUNAS" Dim qty, hgBli As Integer

Private Sub aturList(ByVal hidup As Boolean) lstJthTempo.Visible = hidup

RadLabel1.Visible = hidup End Sub

Private Sub frmProsesPembelian_Disposed(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Disposed

FrmPembelian.Enabled = True FrmPembelian.BringToFront() FrmPembelian.reset()

End Sub

Private Sub frmProsesPembelian_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyDown

Select Case e.KeyCode Case Keys.F1


(48)

A-37 Case Keys.Enter

tblSimpanPembelian_Click(sender, e) Case Keys.Escape

Me.Dispose() End Select

End Sub

Private Sub frmProsesPembelian_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

'TODO: This line of code loads data into the

'FortunaDataSet.fingerprint_t' table. You can move, or remove it, as needed. Me.Fingerprint_tTableAdapter.Fill(Me.FortunaDataSet.fingerprint_t) 'TODO: This line of code loads data into the

'FortunaDataSet1.tblbarang' table. You can move, or remove it, as needed. Me.TblbarangTableAdapter.Fill(Me.FortunaDataSet1.tblbarang) 'TODO: This line of code loads data into the

'FortunaDataSet1.tbldetilpembelian' table. You can move, or remove it, as needed.

Me.TbldetilpembelianTableAdapter.Fill(Me.FortunaDataSet1.tbldetilpembelian) 'TODO: This line of code loads data into the

'FortunaDataSet.tblpembelian' table. You can move, or remove it, as needed. Me.TblpembelianTableAdapter.Fill(Me.FortunaDataSet.tblpembelian) 'TODO: This line of code loads data into the

'FortunaDataSet.tbljenispembayaran' table. You can move, or remove it, as needed.

Me.TbljenispembayaranTableAdapter.Fill(Me.FortunaDataSet.tbljenispembayara n)

Me.lstJthTempo.Value = Date.Today.AddDays(7) Me.txtTotal.Value = FrmPembelian.txtTotal.Value Me.txtSisaBayar.Value = FrmPembelian.txtTotal.Value End Sub


(49)

A-38

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

Telerik.WinControls.UI.Data.PositionChangedEventArgs) Handles lstMetodePembayaran.SelectedIndexChanged

If (lstMetodePembayaran.SelectedIndex = 1) Or (lstMetodePembayaran.SelectedIndex = 2) Then

aturList(True) Else

aturList(False)

End If End Sub

Private Sub tblSimpanPembelian_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tblSimpanPembelian.Click

Try

Dim setok As Integer Dim kdhutang As Integer

Dim kdBeli As String = FrmPembelian.txtNoPembelian.Text Dim kdSup As String = FrmPembelian.mcNamaSupplier.Text Dim idKar As Integer =

Fingerprint_tTableAdapter.dapetUsername(FrmPembelian.txtUser.Text) Dim i As Integer

Dim tgl As DateTime = Date.Now()

If tblSimpanPembelian.Text = "Simpan" Then

TblpembelianTableAdapter.tambahPembelian(kdBeli, kdSup, tgl, lstMetodePembayaran.SelectedIndex + 1, idKar)

If (txtSisaBayar.Value = 0) And (lstMetodePembayaran.SelectedIndex = 0) Then


(50)

A-39 status = "LUNAS" Else

status = "BELUM LUNAS" End If

With FrmPembelian.gridDetilPembelian For i = 0 To .Rows.Count() - 1

kdBrg = .Rows(i).Cells(0).Value qty = .Rows(i).Cells(4).Value

TbldetilpembelianTableAdapter.tambahDetilPembelian(kdBeli, kdBrg, qty) setok = TblbarangTableAdapter.DapatStok(kdBrg) TblbarangTableAdapter.updateStok((qty + setok), kdBrg) Next i

End With

TblhutangTableAdapter.tambahHutang(kdBeli, lstJthTempo.Value, status, txtSisaBayar.Value)

MsgBox("Apakah anda ingin Mencetak Laporan", vbOKCancel + vbInformation, "Cetak Laporan")

If vbOK Then

FrmLapPembelian.Show() Else

Me.Dispose() End If

Me.tblCetakLap.Enabled = True Else

kdhutang = TblhutangTableAdapter.dapatKdHutang(kdBeli) TblhutangTableAdapter.updateHutang(kdBeli,


(51)

A-40

MsgBox("Apakah anda ingin Mencetak Laporan?", vbOKCancel + vbInformation, "Cetak Laporan")

If vbOK Then

FrmLapPembelian.Show() Else

Me.Dispose() End If

End If

Catch ex As Exception

pesan.pesan("Sistem Error!!") Me.Dispose()

End Try End Sub

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

txtBayarPembelian.ValueChanged

txtSisaBayar.Value = CInt(txtTotal.Value) - CInt(txtBayarPembelian.Value)

End Sub

Private Sub tblBatal_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tblBatal.Click

Me.Dispose() End Sub

Private Sub tblCetakLap_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tblCetakLap.Click

Dim kdbeli = FrmPembelian.txtNoPembelian.Text FrmLapPembelian.Show()

End Sub End Class


(52)

A-41

Berikut merupakan listing code dari Form Master Pembelian:

Imports Telerik.WinControls.UI

Imports Telerik.WinControls.UI.Export Imports Telerik.WinControls

Imports System.IO

Public Class FrmMasterPembelian Public Function dapetPemb() Dim kdPemb As String =

Me.gridMasterPembelian.CurrentRow.Cells(0).Value.ToString Return kdPemb

End Function

Private Sub IterateChildRows(ByVal rowInfo As GridViewDataRowInfo)

Dim childRows As GridViewRowInfo() = rowInfo.ChildRows.ToArray()

For i As Integer = 0 To childRows.Length - 1 MsgBox(childRows(i).Cells(1).Value & childRows(i).Cells(2).Value)

Next End Sub

Private Sub FrmMasterPembelian_EnabledChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.EnabledChanged

If Me.Enabled = True Then

Me.ViewdetilpembelianTableAdapter.Fill(Me.FortunaDataSet.viewdetilpembelia n)

Me.ViewpembelianTableAdapter.Fill(Me.FortunaDataSet.viewpembelian) End If


(53)

A-42

Private Sub FrmMasterPembelian_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

'TODO: This line of code loads data into the

'FortunaDataSet.tblpembelian' table. You can move, or remove it, as needed. Me.TblpembelianTableAdapter.Fill(Me.FortunaDataSet.tblpembelian) 'TODO: This line of code loads data into the

'FortunaDataSet.viewdetilpembelian' table. You can move, or remove it, as needed.

Me.ViewdetilpembelianTableAdapter.Fill(Me.FortunaDataSet.viewdetilpembelia n)

'TODO: This line of code loads data into the

'FortunaDataSet.viewpembelian' table. You can move, or remove it, as needed.

Me.ViewpembelianTableAdapter.Fill(Me.FortunaDataSet.viewpembelian)

Me.gridMasterPembelian.MasterTemplate.Templates(0).Columns("SubTotal").Ex pression = "HargaBeli * QtyBeli"

End Sub

Private Sub tblUpdateData_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tblUpdateData.Click

FrmPembelian.Show() FrmPembelian.updatePemb() End Sub

Private Sub tblHapusPembelian_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tblHapusPembelian.Click

Try

Dim i As Integer

Dim terselek As GridViewRowInfo() = gridMasterPembelian.SelectedRows.ToArray()

For i = 0 To gridMasterPembelian.SelectedRows.ToArray.Length - 1


(54)

A-43

TblpembelianTableAdapter.hapusPembelian(terselek(i).Cells(0).Value) Next

Me.ViewdetilpembelianTableAdapter.Fill(Me.FortunaDataSet.viewdetilpembelia n)

Me.ViewpembelianTableAdapter.Fill(Me.FortunaDataSet.viewpembelian) Catch ex As Exception

pesan.pesan("Penghapusan Gagal!!, Silahkan Kontak Administrator Anda!!")

End Try End Sub

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

Telerik.WinControls.UI.GridViewCustomFilteringEventArgs) Handles gridMasterPembelian.CustomFiltering

grid.gridCustomFilter(e, txtCariPembelian, gridMasterPembelian) End Sub

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

txtCariPembelian.TextChanged

Me.gridMasterPembelian.MasterTemplate.Refresh() End Sub

Private Sub tblCetakMaster_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tblCetakMaster.Click

Dim exporter As New ExportToPDF(Me.gridMasterPembelian) exporter.FileExtension = "pdf"

exporter.HiddenColumnOption =

Telerik.WinControls.UI.Export.HiddenOption.DoNotExport exporter.ExportVisualSettings = False


(55)

A-44

exporter.PageTitle = "Laporan Master Pembelian"

exporter.SummariesExportOption = SummariesOption.ExportAll exporter.FitToPageWidth = True

exporter.Scale = 1.20000005F

exporter.PdfExportSettings.PageHeight = 210 exporter.PdfExportSettings.PageWidth = 297 exporter.ExportHierarchy = True

'dialog..

If SaveFileDialog1.ShowDialog() <> System.Windows.Forms.DialogResult.OK Then

Return End If

If SaveFileDialog1.FileName.Equals(String.Empty) Then pesan.pesan("Silahkan Isi Nama Dokumen Terlebih Dahulu") Return

End If Try

Dim namaFile As String = Me.SaveFileDialog1.FileName exporter.RunExport(namaFile)

Dim dr As DialogResult = MsgBox("Data Telah Berhasil Dibuat, Apakah Anda ingin Membuka File Tersebut?", MsgBoxStyle.Question + MessageBoxButtons.YesNo, "Perhatian")

If dr = System.Windows.Forms.DialogResult.Yes Then Process.Start(namaFile + ".pdf")

End If

Catch ex As Exception

pesan.pesan("Proses Gagal!! Silakan Hubungi Administrator Anda!!")


(56)

A-45 End Try

End Sub

Private Sub tblCetakLaporan_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tblCetakLaporan.Click

FrmLapPembelian.Show() End Sub

End Class

Berikut merupakan listing code dari Form Verifikasi:

Imports Telerik.WinControls.UI Public Class FrmPenjualan

Dim kdBrg, nmBrg, sat As String Dim qty, hgJual, stokdb As Integer Public namakar As String

Sub getID() Try

txtNoPenjualan.Text = TblpenjualanTableAdapter.getIDPenjualan() Catch ex As Exception

pesan.pesan("Koneksi Database Gagal!") End Try

End Sub

Private Sub totalcol()

Me.gridDetilPenjualan.Columns("TotalHarga").Expression = "Harga * Quantity"


(57)

A-46

Dim baris As Integer = gridDetilPenjualan.Rows.Count If baris >= 0 Then

For baris = 0 To baris - 1

nilai = Me.gridDetilPenjualan.Rows(baris).Cells(5).Value total += nilai

Next End If

txtTotal.Value = total End Sub

Private Sub subtotalcolEdit()

Me.gridEditPembelian.Columns("SubTotal").Expression = "HargaJual * QtyBeli"

Dim nilai, total As Integer

Dim baris As Integer = gridEditPembelian.Rows.Count If baris >= 0 Then

For baris = 0 To baris - 1

nilai = Me.gridEditPembelian.Rows(baris).Cells(6).Value total += nilai

Next End If

txtTotal.Value = total End Sub

Sub reset()

mcCustomer.Text = Nothing lblDataBarang.Text = Nothing mcNamaBarang.Text = Nothing txtQty.Text = Nothing


(58)

A-47 gridDetilPenjualan.Rows.Clear() End Sub

Sub resetMaster()

mcNamaBarang.Text = Nothing txtQty.Text = Nothing

Me.ViewdetilpenjualanTableAdapter.fillBykdPenjualan(FortunaDataSet.viewdetil penjualan, FrmMasterPenjualan.dapetPenj())

subtotalcolEdit() End Sub

Private Sub FrmPenjualan_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

'TODO: This line of code loads data into the

'FortunaDataSet.tbldetilpenjualan' table. You can move, or remove it, as needed.

Me.TbldetilpenjualanTableAdapter.Fill(Me.FortunaDataSet.tbldetilpenjualan) 'TODO: This line of code loads data into the

'FortunaDataSet.viewpenjualan' table. You can move, or remove it, as needed.

Me.ViewpenjualanTableAdapter.Fill(Me.FortunaDataSet.viewpenjualan) 'TODO: This line of code loads data into the

'FortunaDataSet.viewdetilpenjualan' table. You can move, or remove it, as needed.

Me.ViewdetilpenjualanTableAdapter.Fill(Me.FortunaDataSet.viewdetilpenjualan) 'TODO: This line of code loads data into the

'FortunaDataSet.tblpenjualan' table. You can move, or remove it, as needed. Me.TblpenjualanTableAdapter.Fill(Me.FortunaDataSet.tblpenjualan) 'TODO: This line of code loads data into the

'FortunaDataSet.viewbarang' table. You can move, or remove it, as needed. Me.ViewbarangTableAdapter.Fill(Me.FortunaDataSet.viewbarang)


(59)

A-48

'TODO: This line of code loads data into the

'FortunaDataSet.viewcustomer' table. You can move, or remove it, as needed. txtUser.Text = namakar

Me.ViewcustomerTableAdapter.Fill(Me.FortunaDataSet.viewcustomer) mcc.filterMultiCombo(mcCustomer, "NamaCustomer") mcc.filterMultiCombo(mcNamaBarang, "NamaBarang")

mcNamaBarang.MultiColumnComboBoxElement.DropDownWidth = 550

mcNamaBarang.MultiColumnComboBoxElement.DropDownHeight = 300

mcCustomer.MultiColumnComboBoxElement.DropDownHeight = 300

mcCustomer.MultiColumnComboBoxElement.DropDownWidth = 550 Timer1.Start()

totalcol() getID() End Sub

Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick

frms.tanggalJam(lblTanggal, lblJam) End Sub

Private Sub tblTambahKat_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tblTambahKat.Click

If tblProses.Text = "Proses" Then With

mcNamaBarang.EditorControl.Rows(mcNamaBarang.SelectedIndex) kdBrg = .Cells(0).Value

nmBrg = .Cells(1).Value stokdb = .Cells(6).Value


(60)

A-49 If txtQty.Value > stokdb Then

pesan.pesan("Stok Tidak Mencukupi!") Return

End If Select Case

mcCustomer.EditorControl.Rows(mcCustomer.SelectedIndex).Cells(6).Value Case "Distributor"

hgJual = .Cells(2).Value Case "Retail"

hgJual = .Cells(3).Value Case "Grosir"

hgJual = .Cells(4).Value Case "Kelontong"

hgJual = .Cells(5).Value End Select

sat = .Cells(6).Value End With

If String.IsNullOrEmpty(txtQty.Text) Then qty = 0

Else

qty = txtQty.Value End If

Me.gridDetilPenjualan.Rows.Add(kdBrg, nmBrg, sat, hgJual, qty) totalcol()

lblDataBarang.Text = nmBrg Else


(61)

A-50 With

mcNamaBarang.EditorControl.Rows(mcNamaBarang.SelectedIndex) Select Case

mcCustomer.EditorControl.Rows(mcCustomer.SelectedIndex).Cells(6).Value Case "Distributor"

hgJual = .Cells(2).Value Case "Retail"

hgJual = .Cells(3).Value Case "Grosir"

hgJual = .Cells(4).Value Case "Kelontong"

hgJual = .Cells(5).Value End Select

End With

kdBrg =

mcNamaBarang.EditorControl.Rows(mcNamaBarang.SelectedIndex).Cells(1).Va lue

TbldetilpenjualanTableAdapter.tambahDetilPenjualan(txtNoPenjualan.Text, kdBrg, hgJual, txtQty.Text)

resetMaster()

lblDataBarang.Text =

mcNamaBarang.EditorControl.Rows(mcNamaBarang.SelectedIndex).Cells(1).Va lue

End If End Sub

Private Sub tblHapusItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tblHapusItem.Click


(62)

A-51 If tblProses.Text = "Proses" Then Dim baris As Integer

baris =

gridDetilPenjualan.Rows.IndexOf(Me.gridDetilPenjualan.CurrentRow) gridDetilPenjualan.Rows.RemoveAt(baris)

Else

Dim i As Integer

Dim terselek As GridViewRowInfo() = gridEditPembelian.SelectedRows.ToArray()

For i = 0 To terselek.Length - 1

TbldetilpenjualanTableAdapter.hapusDetilPenjualan(txtNoPenjualan.Text, terselek(i).Cells(0).Value)

Next

resetMaster() End If

Catch ex As Exception

pesan.pesan("Masukan Satu Atau Lebih Item!!") End Try

End Sub

Private Sub tblHapusAll_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tblHapusAll.Click

If tblProses.Text = "Proses" Then Me.gridDetilPenjualan.Rows.Clear() Else

Dim i As Integer


(63)

A-52

TbldetilpenjualanTableAdapter.hapusDetilPenjualan(txtNoPenjualan.Text, gridEditPembelian.Rows(i).Cells(0).Value)

Next

resetMaster() End If

End Sub

Private Sub tblProses_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tblProses.Click

If tblProses.Text = "Proses" Then FrmProsesPenjualan.Show() Me.Enabled = False

Else

FrmProsesPenjualan.tblSimpanPenjualan.Text = "Update Data" FrmProsesPenjualan.Show()

Me.Enabled = False End If

End Sub

Private Sub RadButton3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RadButton3.Click

Me.Dispose() End Sub

Private Sub updatePenj()

Me.gridEditPembelian.Visible = True

Me.txtNoPenjualan.Text = FrmMasterPenjualan.dapetPenj() Me.tblProses.Text = "Simpan Perubahan"

Me.ViewdetilpenjualanTableAdapter.fillBykdPenjualan(FortunaDataSet.viewdetil penjualan, FrmMasterPenjualan.dapetPenj())


(64)

A-53 Me.txtUser.Text =

ViewpenjualanTableAdapter.dapetUsername(FrmMasterPenjualan.dapetPenj()) Me.txtUser.Enabled = False

Me.mcCustomer.Text =

ViewcustomerTableAdapter.dapetNamaCust(FrmMasterPenjualan.dapetPenj()) Me.mcCustomer.Enabled = False

subtotalcolEdit()

FrmMasterPembelian.Enabled = False End Sub

End Class

Berikut merupakan listing code dari Form Proses Penjualan:

Public Class FrmProsesPenjualan Dim kdBrg As String

Dim status As String = "BELUM LUNAS" Dim qty, hgJual As Integer

Dim sisa As Double

Private Sub aturList(ByVal hidup As Boolean) lstJthTempo.Visible = hidup

RadLabel1.Visible = hidup End Sub

Private Sub FrmProsesPenjualan_Disposed(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Disposed

FrmPenjualan.Enabled = True FrmPenjualan.BringToFront() FrmPenjualan.reset()


(65)

A-54 End Sub

Private Sub FrmProsesPenjualan_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyDown

Select Case e.KeyCode Case Keys.F1

txtBayarPenjualan.Value = txtTotal.Value Case Keys.Enter

tblSimpanPenjualan_Click(sender, e) Case Keys.Escape

Me.Dispose() End Select

End Sub

Private Sub FrmProsesPenjualan_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

'TODO: This line of code loads data into the

'FortunaDataSet.fingerprint_t' table. You can move, or remove it, as needed. Me.Fingerprint_tTableAdapter.Fill(Me.FortunaDataSet.fingerprint_t) 'TODO: This line of code loads data into the 'FortunaDataSet.tblbarang' table. You can move, or remove it, as needed.

Me.TblbarangTableAdapter.Fill(Me.FortunaDataSet.tblbarang) 'TODO: This line of code loads data into the

'FortunaDataSet.tblpiutang' table. You can move, or remove it, as needed. Me.TblpiutangTableAdapter.Fill(Me.FortunaDataSet.tblpiutang) 'TODO: This line of code loads data into the

'FortunaDataSet.tbldetilpenjualan' table. You can move, or remove it, as needed.

Me.TbldetilpenjualanTableAdapter.Fill(Me.FortunaDataSet.tbldetilpenjualan) 'TODO: This line of code loads data into the

'FortunaDataSet.tblpenjualan' table. You can move, or remove it, as needed. Me.TblpenjualanTableAdapter.Fill(Me.FortunaDataSet.tblpenjualan)


(66)

A-55

'TODO: This line of code loads data into the

'FortunaDataSet.tbljenispembayaran' table. You can move, or remove it, as needed.

Me.TbljenispembayaranTableAdapter.Fill(Me.FortunaDataSet.tbljenispembayara n)

Me.lstJthTempo.Value = Date.Today.AddDays(7) Me.txtTotal.Value = FrmPenjualan.txtTotal.Value Me.txtSisaBayar.Value = FrmPenjualan.txtTotal.Value End Sub

Private Sub tblSimpanPenjualan_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tblSimpanPenjualan.Click

Dim setok As Integer

Dim kdjual As String = FrmPenjualan.txtNoPenjualan.Text Dim kdcust As String =

FrmPenjualan.mcCustomer.EditorControl.Rows(FrmPenjualan.mcCustomer.Selec tedIndex).Cells(0).Value

Dim idKar As Integer =

Fingerprint_tTableAdapter.dapetUsername(FrmPenjualan.txtUser.Text) Dim i As Integer

Dim tgl As DateTime = Date.Now() Dim hgJual As Integer

If tblSimpanPenjualan.Text = "Simpan" Then

TblpenjualanTableAdapter.tambahPenjualan(kdcust, tgl, lstMetodePembayaran.SelectedIndex + 1, idKar)

If (txtSisaBayar.Value = 0) And (lstMetodePembayaran.SelectedIndex = 0) Then

status = "LUNAS" Else


(1)

PENDAHULUAN 2

Universitas Kristen Maranatha Daktiloskopi atau pencocokan vektor-vektor yang diambil dari gambar sidik jari

seseorang.

PD. Dwi Putra Mandiri merupakan salah satu distributor makanan yang terletak di kawasan industri di Bandung, Jawa Barat. PD. Dwi Putra Mandiri merupakan distributor berbagai produk makanan dan minuman ringan, seperti biskuit, chiki, keripik, dan minuman berenergi.

1.2 Rumusan Masalah

Adapun beberapa masalah yang akan dibahas pada laporan tugas akhir ini adalah:

 Bagaimana membangun sistem informasi yang sesuai dengan kebutuhan PD. Dwi Putra Mandiri?

1.3 Tujuan

Adapun tujuan dari pembuatan Sistem Informasi PD. Dwi Putra Mandiri ini adalah:

 Membuat program pencatatan dan transaksi pada PD. Dwi Putra Mandiri untuk mendukung kegiatan operasional bisnis.

1.4 Batasan Masalah

Terdapat beberapa bagian dalam Sistem Informasi PD. Dwi Putra Mandiri yang telah dibuat, dan memiliki keterbatasan dalam penggunaannya diantaranya adalah:


(2)

PENDAHULUAN 3

Universitas Kristen Maranatha 1. Sistem informasi data barang, supplier, karyawan, penjualan, dan

pembelian barang hanya mendukung proses dasar dalam database yaitu Insert, Update, Delete.

2. Perangkat keras yang digunakan dalam pembuatan program adalah laptop dengan processor Intel Pentium Centrino Duo dan RAM 3 GB.

3. Program dibuat dengan bahasa Visual Basic 2010, MySQL 5.6 dan menggunakan Microsoft NET Framework versi 4.

4. Proses Verifikasi hanya bisa menggunakan alat fingerprint selain itu, program tidak akan bisa dijalankan.

1.5 Sistematika Penulisan

Penyusunan sistematika penulisan dilakukan untuk mempermudah penyampaian informasi berdasarkan aturan dan urutan yang benar dari apa yang telah dilakukan. Sistematikan penulisan buku ini adalah sebagai berikut:

BAB I PENDAHULUAN

Bab ini membahas tentang latar belakang, rumusan masalah, tujuan, batasan masalah, sistematika penulisan, dan jadwal pengerjaan. BAB II DASAR TEORI

Bab ini membahas tentang teori dasar SQL, Visual Basic, Telerik Reporting, dan metode-metode yang digunakan dalam pembuatan Sistem Informasi PD. Dwi Putra Mandiri.


(3)

PENDAHULUAN 4

Universitas Kristen Maranatha BAB III ANALISA DAN PEMODELAN

Bab ini berisi analisa dan permodelan dari aplikasi yang telah dibuat. Terdapat juga gambaran tentang konfirgurasi proyek yang akan diimplementasikan.

BAB IV PERANCANGAN DAN IMPLEMENTASI

Bab ini berisi langkah-langkah detil implementasi dari permodelan pada bab sebelumnya

BAB V KESIMPULAN DAN SARAN

Bab ini berisi kesimpulan dari proyek yang telah implementasikan. Bab ini juga berisi saran yang dapat dipergunakan untuk pengembangan aplikasi.


(4)

103

Universitas Kristen Maranatha

BAB 5

KESIMPULAN DAN SARAN

5.1 Kesimpulan

Secara umum Sistim Informasi PD. Dwi Putra Mandiri berjalan dengan baik dan siap untuk menjadi aplikasi yang mendukung kegiatan operasional PD. Dwi Putra Mandiri.

Berikut kesimpulan singkat mengenai fitur-fitur yang telah dibuat:

1 Sistem Informasi Barang

Sistem Informasi ini berfungsi dengan baik, dapat menyimpan, mengubah, menghapus, mencari data, serta membuat laporan yang berada pada database barang. 2 Sistem Informasi Supplier

Sistem Informasi ini berfungsi dengan baik, dapat menyimpan, mengubah, menghapus, mencari data, serta membuat laporan yang berada pada database supplier. 3 Sistem Informasi Pembelian

Sistem Informasi ini berfungsi dengan baik, dapat menyimpan, mengubah, menghapus, mencari data, serta membuat faktur pembelian maupun master pembelian yang berada pada database pembelian.


(5)

KESIMPULAN DAN SARAN 104

4 Sistem Informasi Penjualan

Sistem Informasi ini berfungsi dengan baik, dapat menyimpan, mengubah, menghapus, mencari data, serta membuat faktur pembelian maupun master pembelian yang berada pada database Penjualan.

5 Sistem Verifikasi Fingerprint

Sistem ini berfungsi dengan baik, dapat melakukan registrasi serta verifikasi fingerprint User serta menyimpannya ke database fingerprint tanpa enkripsi.

5.2 Saran

Masih banyak hal yang dapat dikembangkan dari Sistem Informasi PD. Dwi Putra Mandiri, Seperti:

1. Metode Searching yang lebih spesifik.

2. Error Handling yang lebih menyeluruh dalam generate

error message.

3. GUI yang lebih menarik.

4. Pembuatan laporan yang lebih user friendly dalam filtering data.


(6)

105

Universitas Kristen Maranatha

DAFTAR PUSTAKA

Grell, James, Andrew Oppel. 2005. “SQL The Complete Reference”. Apress: Berlin

Churcer, Clare. 2008. “Beginning SQL Queries From Novice to Professional”. Apress: Berlin

Petroutsosm, Evangelos. 2009. “Mastering Microsoft Visual Basic 2010”. Sybex:England.

Simpf, Bill. 2008. “Visual Basic 2010 for Dummies.Apperentice:Washington Visual Basic, http://id.wikipedia.org/wiki/Visual_Basic

Pemrograman Berorientasi Objek,

http://id.wikipedia.org/wiki/Pemrograman_berorientasi_objek

Kadir, Abdul. 2009.”Belajar Database menggunakan MySQL”. Penerbit Andi.: Yogyakarta

Mannino, Michael. 2004.”Database Design, Application Development, & Administration”. McGraw: Hill