Minggu, 07 April 2019

Aplikasi Stok Barang







Aplikasi Stok Barang menggunakan Visual Basic 6.0




Pada project kali ini yaitu membuat sebuah aplikasi sederhana menggunakan Visual Basic 6.0 untuk melakukan management stok barang. Aplikasi ini dilatar belakangi tidak lain yaitu semakin meningkatnya pengembangan sebuah perangkat aplikasi untuk dapat mempermudah dalam melakukan kegiatan, sehingga sebuah sistem informasi dapat dijadikan sebagai media solusi kemudahan proses management stok barang yang masih dilakukan dengan cara manual. Dalam pembuatan aplikasi ini seperti pembahasan sebelumnya menggunakan konsep CRUD (Create, Read, Update, dan Delete). Namun hanya saja dalam project kali ini hanya menggunakan 1 (satu) koneksi database yaitu menggunakan DBMS MySQL.

Gambar 1. Struktur database
Dari gambar diatas merupakan struktur tabel yang digunakan untuk menyimpan data customer, produk, pembelian dan penjualan. namun dengan menggunakan nya project yang digunakan memerlukan koneksi terlebih dahulu untuk dapat saling tersambung. Untuk koneksi menggunakan ADODB visual basic 6.0 dengan MySql berikut potongan sourcecode
Set koneksi = New ADODB.Connection
Dim db_name As String
Dim db_port As String
Dim db_server As String
Dim db_user As String
db_server = "localhost"
Dim db_pass As String
db_name = "stokbarang"
db_port = "3306"
koneksi.ConnectionString = "DRIVER={MySQL ODBC 3.51 Driver};SERVER=" & db_server & ";DATABASE=" & db_name & ";UID=" & db_user & ";PWD=" & db_pass & ";PORT=" & db_port & ";OPTION=3"
db_user = "root"
db_pass = ""
'/buat connection string
koneksi.Open
koneksi.CursorLocation = adUseClient
untuk dapat melakan fungsi-fungsi database setelah membuat koneksi ada baiknya melakukkan pembuatan CRUD pada Visual basic 6.0 pada tahapan awal yaitu membuat fitur login sebagai admin untuk mengamankan data dari tindakan yang tidak bertanggung jawab.
Gambar 2. login
dari gambar diatas tampilan awal yang dibuat yaitu meminta untuk melakukan login sebagai standart keamanan data yang tersimpan dalam database.
Gambar 3. Gagal Login
sebagai pengecekan untuk login diberikan fitur error handling sehingga jika data yang user yang digunakan login tidak sesuai maka muncul notifikasi untuk memberikan peringatan ggagal login. Dalam user login juga data yang tersimpan didalam database juga diberikan data enkripsi untuk tingkat keamanan yang baik. berikut potongan source code login .
Set RS = New ADODB.Recordset
RS.Open pointer_log, koneksi
If RS.EOF Then
MsgBox "Kode User atau Password Salah!"
Else
Unload frmLogin
frmMenu.Show
End If
setelah melakukan login berhasil maka kita dapat menggunakan aplikasi yang dibuat dengan beberapa menu untuk melakukan operasi aplikasi yang akan digunakan berikut menu yang tersedia :
Gambar 4. menu utama
dari gambar diatas kita dapat melakukan pengoperasian menu CRUD pada setiap entitas yang telah disediakan, seperti yang diketahui diatas entitas yang digunakan yaitu produk, customer, pembelian penjualan. berikut penjelasan setiap entitasnya
1. produk
Gambar 5. kontrol produk
pada gambar diatas dapat dialakukan fungsi CRUD produk dan melakukan pencarian data produk yang telah dilakukan input pencarian data produk yang telah didukung dengan autocomplit sehingga jika dilakukan pencarian data maka akan muncul saran pencarian yang telah tersedia didalam data base. berikut merupakan potongan source code untuk autocomplit
Public Sub IntelliSense(sTextBox As TextBox, sTable As String, sField As String, Optional sDBPass As String)
On Error Resume Next
Dim lLen As Long, strSQL As String
koneksi.Open
If bExit = True Or sTextBox = "" Then Exit Sub
lLen = Len(sTextBox)
If koneksi.State <> 1 Then koneksi.Open strSQL
strSQL = "SELECT * FROM " & sTable & " WHERE " & sField & " LIKE '" & sTextBox & "%'"
If RS.State = 1 Then RS.Close
RS.Open strSQL, koneksi, adOpenKeyset, adLockReadOnly
If RS.EOF And RS.BOF Then Exit Sub
sTextBox.Text = RS(sField)
If sTextBox.SelText = "" Then
sTextBox.SelStart = lLen
sTextBox.SelStart = InStr(sTextBox.Text, sTextBox.SelText)
Else
End If
sTextBox.SelLength = Len(sTextBox.Text)
End Sub
Public Sub CheckKey(lChar As Integer, sTextBox As TextBox)
If lChar = 8 Or lChar = 46 Then 'Backspace or Delete
ElseIf lChar = 9 Or lChar = 13 Then 'Tab or Enter
bExit = True
sTextBox.SelStart = Len(sTextBox)
ElseIf lChar = 32 Then
sTextBox.SelLength = 0
bExit = True
sTextBox.SelStart = Len(sTextBox)
If Len(sTextBox.SelText) <> 0 Then sTextBox = sTextBox '& " "
sTextBox.SelLength = 0 bExit = True
End Sub
Else
bExit = False
End If
dari fitur autocomplit ini dapa mempermudah dalam melakukan pencarian data sehingga tidak lagi mengingat pencarian yang diinginkan.
gambar 6. input data
seperti pada pembahasan sebelumnya yaitu melakukan input data produk yang nantinya akan tersimpan dalam database pada tabel produk
Gambar 7. update
pada update barang akan diminta untuk melakukan perubahan data produk yang diinginkan sesuai kode produk yang telah disimpan dalam database.
Gambar 8. delete produk
pada menu delete produk ini konsepnya hampir sama dengan update yaitu memilih atau memasukkan id produk yang akan di hapus.
2. customer
seperti halnya produk entitas customer akan memasukkan data customer yang akan melakukan pembelian produk dan memungkinkan untuk dilakukan CRUD
 
Gambar 9. tampilan customer
pada tampilan awal menu customer tidak berbeda jauh dengan produk hanya saja data yang diinputkan berupa data customer yang akan membeli produk berikut untuk tampilan input data customer
Gambar 10. input customer
pada input customer seperti halnya diatas diminta untuk melakukan pengisian data diri customer sesuai data customer yang masih berlaku sehingga data customer sewaktu-waktu dibutuhkan dapat dihubungi dengan mudah.
Gambar 11. update customer
pada update customer ini dapat dilakukan sebagai proses edit data customer dengan menggunakan id customer yang telah tersimpan dalam database.
Gambar 12. Delete Customer
pada fungsi delete customer ini dilakukan apabila data customer yang tidak lagi melakukan pembelian produk, dengan tujuan mengurangi data pada database.
3. pembelian
Gambar 13. Pembelian
Pada pembelian ini digunakan untuk melakukan rekap data pembelian sehingga ketersedia stok barang pada produk dapat disuplay dengan baik. seperti halnya pada menu sebelumnya terdapat menu input pembelian
 
Gambar 14. input pembelian
Pada input pembelian ini dilakukan untuk mengetahui nilai pembelian barang sehingga nantinya dapat dilakukan pembukuan secara mudah dengan mengambil data pembelian yang tersedia. sama seperti halnya produk dan customer pembelian dapat dilakukan fungsi CRUD. pada pembelian terdapat 1 trigger yang memicu pada tabel produk untuk melakukan update total stok. berikut trigger yang dibuat
CREATE TRIGGER `trigger_harga_produk` AFTER INSERT ON `pembelian`
FOR EACH ROW begin
update produk
where ID_Produk = new.ID_Produk;
set Total_Stok = Total_Stok + new.Jumlah
end
Gambar 15. Update pembelian
untuk menanggulangi kesalahan pada proses input disediakan menu edit data pembelian sehingga cukup memasukkan id pembelian data yang diinginkan dapat dilakukan update atau perubahan.
  
Gambar 16. Delete Pembelian
untuk menghapus data pembelian pada menu delete masukkan id pembelian yang ada kemudin pilih ok untuk melakukan penghapusan data pembelian
4. penjualan
pada penjualan ini digunakan untuk melakukan penyimpanan data pembelian produk yang dilakukan oleh customer berikut penampilan data pembelian
Gambar 17. Penjualan
tujuan utama penjualan ini jika nantinya akan dilakukan penghitungan laba penjualan yang akan disandingkan oleh total pembelian barang dapat diketahui keuntungan yang diperoleh
Gambar 18. input penjualan
seperti pada input sebelumnya input data penjualan ini berupa berupa berapa banyak jumlah pembelian yang dilakukan customer terhadap beberapa barang/produk
Gambar 19. update penjualan
update penjualan yang dialakukan untuk mengganti nilai berapa banyak barang yang dibeli dan total harga yang tersedia
Gambar 20. delete penjualan
penghapusan data penjualan dilakukan apabila customer membatalkan proses transaksi pembelian barang. untuk melakukan penghapusan cukup memasukkan id penjualan.
note :
untuk setiap id diset secara autoincrement secara berurutan sesuai tanggal pembelian, pendaftaran customer dan produk yang diinputkan berikut beberapa potongan sourcecode untuk memberikan id secara otomatis
Public Function insert_customer(ByVal par2 As String, ByVal par3 As String, ByVal par4 As String, ByVal par5 As String, ByVal par6 As String, ByVal par7 As String, ByVal par8 As String, ByVal par9 As String, ByVal par10 As String, ByVal par11 As String, ByVal par12 As String, ByVal par13 As String, ByVal par14 As String)
If RS.State = adStateOpen Then RS.Close
RS.Open ("select * from customer Where ID_Customer In(Select Max(ID_Customer)From Customer)Order By ID_Customer Desc"), koneksi
RS.Requery
Dim Urutan_c As String * 6
Dim Hitung_c As Long
If RS.EOF Then
Dim insert_data As String
Urutan_c = "CUS" + "001"
insert_data = "insert into customer values ('" & Urutan_c & "', '" & par2 & "', '" & par3 & "', '" & par4 & "', '" & par5 & "', '" & par6 & "', '" & par7 & "', '" & par8 & "', '" & par9 & "', '" & par10 & "', '" & par11 & "', '" & par12 & "', '" & par13 & "', '" & par14 & "')"
koneksi.Execute insert_data
Else
Hitung_c = Right(RS!ID_Customer, 3) + 1
Urutan_c = "CUS" + Right("000" & Hitung_c, 3)
insert_data = "insert into customer values ('" & Urutan_c & "', '" & par2 & "', '" & par3 & "', '" & par4 & "', '" & par5 & "', '" & par6 & "', '" & par7 & "', '" & par8 & "', '" & par9 & "', '" & par10 & "', '" & par11 & "', '" & par12 & "', '" & par13 & "', '" & par14 & "')"
koneksi.Execute insert_data End If MsgBox "Insert data berhasil!"
End Function
dari contoh diatas merupakan pemberian id customer untuk id pembelian dll kita cukup menggantikan variabel yang digunakan.

Tidak ada komentar:

Posting Komentar

Tutorial Visual Basic

Buat form Login di sketchware

Buat form Login di sketchware S ebagian besar aplikasi saat ini memiliki sistem otorisasi dalam bentuk login Facebook, login...