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.ConnectionDim db_name As StringDim db_port As StringDim db_server As StringDim db_user As Stringdb_server = "localhost"Dim db_pass As Stringdb_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 stringkoneksi.Openkoneksi.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.RecordsetRS.Open pointer_log, koneksiIf RS.EOF ThenMsgBox "Kode User atau Password Salah!"ElseUnload frmLoginfrmMenu.ShowEnd 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 NextDim lLen As Long, strSQL As Stringkoneksi.OpenIf bExit = True Or sTextBox = "" Then Exit SublLen = Len(sTextBox)If koneksi.State <> 1 Then koneksi.Open strSQLstrSQL = "SELECT * FROM " & sTable & " WHERE " & sField & " LIKE '" & sTextBox & "%'"If RS.State = 1 Then RS.CloseRS.Open strSQL, koneksi, adOpenKeyset, adLockReadOnlyIf RS.EOF And RS.BOF Then Exit SubsTextBox.Text = RS(sField)If sTextBox.SelText = "" ThensTextBox.SelStart = lLensTextBox.SelStart = InStr(sTextBox.Text, sTextBox.SelText)ElseEnd IfsTextBox.SelLength = Len(sTextBox.Text)End SubPublic Sub CheckKey(lChar As Integer, sTextBox As TextBox)If lChar = 8 Or lChar = 46 Then 'Backspace or DeleteElseIf lChar = 9 Or lChar = 13 Then 'Tab or EnterbExit = TruesTextBox.SelStart = Len(sTextBox)ElseIf lChar = 32 ThensTextBox.SelLength = 0bExit = TruesTextBox.SelStart = Len(sTextBox)If Len(sTextBox.SelText) <> 0 Then sTextBox = sTextBox '& " "sTextBox.SelLength = 0 bExit = TrueEnd SubElsebExit = FalseEnd 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 beginupdate produkwhere ID_Produk = new.ID_Produk;set Total_Stok = Total_Stok + new.Jumlahend

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.CloseRS.Open ("select * from customer Where ID_Customer In(Select Max(ID_Customer)From Customer)Order By ID_Customer Desc"), koneksiRS.RequeryDim Urutan_c As String * 6Dim Hitung_c As LongIf RS.EOF ThenDim insert_data As StringUrutan_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_dataElseHitung_c = Right(RS!ID_Customer, 3) + 1Urutan_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