NIM : 2102023
Nama : Hazha Hikmah Asyifah
Kelas : 21S01
Prodi : Sistem Informasi
Mata Kuliah : Bahasa Pemrograman II
PENGANTAR
Salah satu aspek penting dalam rantai pasok adalah pengelolaan supplier dan jenis barang yang
mereka sediakan. Program aplikasi yang mampu mengelola informasi supplier dan jenis barang
secara efektif dapat memberikan kontribusi signifikan dalam meningkatkan kinerja operasional
perusahaan.
Dalam proyek ini, kami akan mengembangkan sebuah aplikasi menggunakan Microsoft Visual
Studio yang dirancang untuk mempermudah manajemen data supplier dan jenis barang yang
mereka tawarkan. Aplikasi ini akan menyediakan fitur-fitur utama seperti:
1. Pencatatan dan Pengelolaan Supplier: Memungkinkan pengguna untuk menambahkan,
mengedit, dan menghapus data supplier dengan mudah.
2. Pengelolaan Jenis Barang: Menyediakan modul untuk mengelola berbagai jenis barang
yang disuplai, termasuk deskripsi dan kategori.
3. Fitur Pencarian: Untuk memudahkan proses pencarian nama.
4. Laporan dan Analitik: Menyediakan laporan dan analitik untuk membantu pengambilan
keputusan yang lebih baik.
Tampilan Dashboard
Penjelasan:
No Komponen Properties Value
1. Panel Name Panel1
BackColor HotTrack
Dock Left
2. Panel Name Panel2
BackColor Highlight
Dock Top
3. Panel Name Panel3
BackColor RoyalBlue
Dock Left
4. Panel Name Panel4
BackColor Control
5. Picture Box Name PictureBox1
Image icons_8.png
6. Button Name Button1
Text Dashboard
Image icons8_dashboard.png
ImangeAlign MiddleLeft
ForeColor Highlight
7. Button Name Button2
Text Supplier
Image icons8_shopping.png
ImageAlign MiddleLeft
No Komponen Properties Value
ForeColor Highlight
8. Button Name Button3
Text Barang
Image icons8_pie.png
ImageAlign MiddleLeft
ForeColor Highlight
9. Button Name Button4
Text Jenis
Image icons8_big.png
ImageAlign MiddleText
ForeColor Highlight
10. Button Name Button5
Image icons8_print.png
Text Reports
ImageAlign MiddleLeft
ForeColor Highlight
11. Button Name Button6
Text Maintance
Image icons8_setting.png
ImageAlign MiddleLeft
ForeColor Highlight
12. Button Name Button7
Text Logout
Image icons8_logout.png
ImageAlign MiddleLeft
ForeColor Highlight
13. Picture Box Name
Text
BackColor DeepSkyBlue
Image icons8_shopping.png
14. Picture Box Name
Text
BackColor Beige
Image add_user.png
15. Picture Box Name
Text
BackColor LightCoral
Image [Link]
16. Chart Name Chart1
Text
17. Picture Box Name
Text
Image [Link]
Tampilan Supplier
Penjelasan :
No Komponen Properties Value
1. Label Name Label1
Text Data Supplier
Font Mongolian Baiti
2. Label Name Label2
Text Kode Supplier
Font Mongolian Baiti
3. TextBox Name txtkode
4. Label Name Label3
Text Nama Supplier
Font Mongolian Baiti
5. TextBox Name txtnama
6. Label Name Label4
Text Alamat
Font Mongolian Baiti
7. TextBox Name txtalamat
8. Label Name Label5
Text No Telp
Font Mongolian Baiti
9. TextBox Name txttelp
10. Label Name Label6
Text Keterangan
Font Mongolian Baiti
11. Textbox Name txtket
No Komponen Properties Value
12. Button Name btnsimpan
Text Simpan
BackColor CornflowerBlue
Image [Link]
ImageAlign MiddleLeft
13. Button Name btnhapus
Text Hapus
BackColor OrangeRed
Image [Link]
ImageAlign MiddleLeft
14. Button Name btnbatal
Text Batal
BackColor ActiveCaptionText
Image [Link]
ImageAlign MiddleLeft
15. DataGridView Name dgv
16. TextBox Name txtcari
Kode:
Imports [Link]
Public Class Form4
' Prosedur untuk menghasilkan kode supplier otomatis
Private Sub Auto_inct()
' Query SQL untuk mendapatkan kode supplier terakhir
CSQL = "SELECT RIGHT(kodesupplier, 3) as kode_angka FROM supplier ORDER BY
kodesupplier DESC LIMIT 1"
Call OpenDB() ' Membuka koneksi database
CMD = New MySqlCommand(CSQL, CN) ' Membuat command SQL
DR = [Link]([Link]) ' Mengeksekusi query
dan mendapatkan data reader
' Jika ditemukan data
If [Link] Then
' Mengonversi kode supplier terakhir ke integer dan menambahkannya dengan 1
Dim kodeAngka As Integer = Convert.ToInt32(DR("kode_angka").ToString())
kodeAngka += 1
' Menyimpan kode supplier baru dalam format "SP-xxx"
[Link] = "SP-" & Format(kodeAngka, "000")
Else
' Jika tidak ditemukan data, menetapkan kode supplier pertama sebagai
"SP-001"
[Link] = "SP-001"
End If
[Link]() ' Menutup data reader
End Sub
' Event handler untuk saat form supplier di-load
Private Sub supplier_Load(ByVal sender As Object, ByVal e As EventArgs) Handles
[Link]
' Menyetel posisi tombol dan ukuran data grid view
[Link] = [Link] - [Link]
[Link] = [Link] - ([Link] + [Link] + 10)
Call Auto_inct() ' Memanggil prosedur untuk menghasilkan kode supplier otomatis
' Menampilkan data supplier dalam data grid view
Call tampilgrid("Select * from supplier", dgv)
End Sub
' Event handler untuk tombol simpan
Private Sub Button1_Click(ByVal sender As [Link], ByVal e As [Link])
Handles [Link]
Call OpenDB() ' Membuka koneksi database
' Query SQL untuk memeriksa apakah kode supplier sudah ada
CSQL = "Select Kodesupplier from supplier WHERE kodesupplier='" & [Link] & "'"
CMD = New MySqlCommand(CSQL, CN) ' Membuat command SQL
DR = [Link]([Link]) ' Mengeksekusi query
dan mendapatkan data reader
If [Link] Then
' Jika kode supplier sudah ada, maka update data supplier
CSQL = "UPDATE supplier SET nama='" & [Link] & "',alamat='" &
[Link] &
"',telp='" & [Link] & "',keterangan='" & [Link] &
"' WHERE kodesupplier='" & [Link] & "'"
Else
' Jika kode supplier belum ada, maka insert data supplier baru
CSQL = "INSERT INTO supplier(kodesupplier, nama, alamat, telp, keterangan) " &
"VALUES ('" & [Link] & "','" & [Link] & "','" & [Link] &
"','" & [Link] & "','" & [Link] & "')"
End If
Call OpenDB() ' Membuka koneksi database
CMD = New MySqlCommand(CSQL, CN) ' Membuat command SQL
[Link]() ' Mengeksekusi perintah SQL (insert/update)
Call btnbatal_Click(sender, e) ' Memanggil prosedur untuk membersihkan form dan
memperbarui data grid view
End Sub
' Event handler untuk tombol batal
Private Sub btnbatal_Click(ByVal sender As [Link], ByVal e As [Link])
Handles [Link]
' Menampilkan data supplier dalam data grid view
Call tampilgrid("Select * from supplier", dgv)
' Membersihkan input form
[Link] = ""
[Link] = ""
[Link] = ""
[Link] = ""
[Link] = ""
' Memanggil prosedur untuk menghasilkan kode supplier otomatis
Call Auto_inct()
End Sub
' Event handler untuk tombol hapus
Private Sub btnhapus_Click(ByVal sender As [Link], ByVal e As [Link])
Handles [Link]
' Query SQL untuk menghapus data supplier berdasarkan kode supplier
CSQL = "DELETE From supplier WHERE kodesupplier='" & [Link] & "'"
Call OpenDB() ' Membuka koneksi database
CMD = New MySqlCommand(CSQL, CN) ' Membuat command SQL
[Link]() ' Mengeksekusi perintah SQL (delete)
Call btnbatal_Click(sender, e) ' Memanggil prosedur untuk membersihkan form dan
memperbarui data grid view
End Sub
' Event handler untuk saat sel data grid view diklik
Private Sub dgv_CellContentClick(ByVal sender As [Link], ByVal e As
[Link]) Handles [Link]
' Menampilkan nilai dari sel yang dipilih ke dalam input kode supplier
[Link] = [Link](0).Value
End Sub
' Event handler untuk saat teks dalam input kode supplier berubah
Private Sub TxtKode_TextChanged(ByVal sender As [Link], ByVal e As
[Link]) Handles [Link]
' Query SQL untuk mendapatkan data supplier berdasarkan kode supplier
CSQL = " SELECT * FROM supplier where kodesupplier='" & [Link] & "'"
Call OpenDB() ' Membuka koneksi database
CMD = New MySqlCommand(CSQL, CN) ' Membuat command SQL
DR = [Link]([Link]) ' Mengeksekusi query
dan mendapatkan data reader
If [Link] Then
' Jika data ditemukan, mengisi input form dengan data supplier
[Link] = DR(1).ToString
[Link] = DR(2).ToString
[Link] = DR(3).ToString
[Link] = DR(4).ToString
Else
' Jika data tidak ditemukan, membersihkan input form
[Link] = ""
[Link] = ""
[Link] = ""
[Link] = ""
End If
End Sub
' Event handler untuk saat teks dalam input pencarian berubah
Private Sub txtcari_TextChanged(ByVal sender As [Link], ByVal e As
[Link]) Handles [Link]
' Query SQL untuk mencari data supplier berdasarkan nama atau alamat
CSQL = "SELECT * FROM Supplier WHERE (nama LIKE '%" & [Link] & "%' OR
alamat LIKE '%" & [Link] & "%')"
' Menampilkan data hasil pencarian dalam data grid view
Call tampilgrid(CSQL, dgv)
End Sub
End Class
Design Jenis Barang
Penjelasan :
No Komponen Properties Value
1. Form BackColor HotTrack
2. Label Name Label1
Text Jenis Barang
Font Mongolian Baiti
3. Label Name Label2
Text Kode Jenis
Font Mongolian Baiti
4. TextBox Name txtkode
5. Label Name Label3
Text Nama Jenis
Font Mongolian Baiti
6. TextBox Name txtnama
7. Button Name btnSimpan
Text Simpan
Image [Link]
ImageAlign MiddleLeft
BackColor SlateGrey
ForeColor ButtonHighlight
8. Button Name btnHapus
Text Hapus
Image [Link]
ImageAlign MiddleLeft
No Komponen Properties Value
BackColor OrangeRed
ForeColor ButtonHighlight
9. Button Name btnReset
Text Batal
Image [Link]
ImageAlign MiddleLeft
BackColor ActiveCaptionText
ForeColor ButtonHighlight
10. DataGridView Name dgv
Tampilan Jenis Barang
Kode :
Imports [Link]
Public Class formjenis
' Prosedur untuk menghasilkan kode jenis barang secara otomatis
Private Sub auto_inc()
Call OpenDB() ' Membuka koneksi database
' Query SQL untuk mendapatkan kode jenis barang terakhir
CSQL = "SELECT RIGHT(kodejenis,3) as Kode From jenis_barang order by kodejenis
desc"
CMD = New MySqlCommand(CSQL, CN) ' Membuat command SQL
DR = [Link]([Link]) ' Mengeksekusi query
dan mendapatkan data reader
' Jika ditemukan data
If [Link] Then
' Menyimpan kode jenis barang baru dalam format "JB-xxx"
[Link] = "JB-" & Format(DR("Kode").ToString + 1, "000")
Else
' Jika tidak ditemukan data, menetapkan kode jenis barang pertama sebagai
"JB-001"
[Link] = "JB-001"
End If
End Sub
' Event handler untuk tombol simpan
Private Sub btnSimpan_Click(ByVal sender As [Link], ByVal e As
[Link]) Handles [Link]
Dim kode As String = [Link]
Dim nama As String = [Link]
Call OpenDB() ' Membuka koneksi database
' Query SQL untuk memeriksa apakah kode jenis barang sudah ada
CSQL = "SELECT kodejenis FROM jenis_barang WHERE kodejenis = '" & [Link]
& "'"
CMD = New MySqlCommand(CSQL, CN) ' Membuat command SQL
DR = [Link]([Link]) ' Mengeksekusi query
dan mendapatkan data reader
If [Link] Then
' Jika kode jenis barang sudah ada, maka update data jenis barang
CSQL = "UPDATE jenis_barang SET namajenis='" & [Link] &
"' WHERE kodejenis='" & [Link] & "'"
Else
' Jika kode jenis barang belum ada, maka insert data jenis barang baru
CSQL = "INSERT INTO jenis_barang(kodejenis, namajenis) " &
"VALUES ('" & [Link] & "','" & [Link] & "')"
End If
Call OpenDB() ' Membuka koneksi database
CMD = New MySqlCommand(CSQL, CN) ' Membuat command SQL
[Link]() ' Mengeksekusi perintah SQL (insert/update)
Call btnReset_Click(sender, e) ' Memanggil prosedur untuk membersihkan form dan
memperbarui data grid view
End Sub
' Event handler untuk saat form jenis barang di-load
Private Sub formjenis_Load(ByVal sender As Object, ByVal e As EventArgs) Handles
[Link]
' Menyetel posisi tombol dan ukuran data grid view
[Link] = [Link] - [Link]
[Link] = [Link] - ([Link] + [Link] + 10)
' Menampilkan data jenis barang dalam data grid view
Call tampilgrid("Select * from jenis_barang", dgv)
Call auto_inc() ' Memanggil prosedur untuk menghasilkan kode jenis barang
otomatis
End Sub
' Event handler untuk tombol reset
Private Sub btnReset_Click(ByVal sender As Object, ByVal e As EventArgs) Handles
[Link]
' Menampilkan data jenis barang dalam data grid view
Call tampilgrid("Select * from jenis_barang", dgv)
' Membersihkan input form
[Link] = ""
[Link] = ""
' Memanggil prosedur untuk menghasilkan kode jenis barang otomatis
Call auto_inc()
End Sub
' Event handler untuk tombol hapus
Private Sub btnHapus_Click(ByVal sender As [Link], ByVal e As [Link])
Handles [Link]
' Query SQL untuk menghapus data jenis barang berdasarkan kode jenis
CSQL = "DELETE From jenis_barang WHERE kodejenis='" & [Link] & "'"
Call OpenDB() ' Membuka koneksi database
CMD = New MySqlCommand(CSQL, CN) ' Membuat command SQL
[Link]() ' Mengeksekusi perintah SQL (delete)
Call btnReset_Click(sender, e) ' Memanggil prosedur untuk membersihkan form dan
memperbarui data grid view
End Sub
' Event handler untuk saat data grid view diklik
Private Sub dgv_Click(ByVal sender As Object, ByVal e As EventArgs) Handles [Link]
' Menampilkan nilai dari sel yang dipilih ke dalam input kode jenis
[Link] = [Link](0).Value
End Sub
' Event handler untuk saat teks dalam input kode jenis berubah
Private Sub txtkode_TextChanged(ByVal sender As Object, ByVal e As EventArgs) Handles
[Link]
' Query SQL untuk mendapatkan data jenis barang berdasarkan kode jenis
CSQL = "Select * from jenis_barang where kodejenis = '" & [Link] & "'"
Call OpenDB() ' Membuka koneksi database
CMD = New MySqlCommand(CSQL, CN) ' Membuat command SQL
DR = [Link]([Link]) ' Mengeksekusi query
dan mendapatkan data reader
If [Link] Then
' Jika data ditemukan, mengisi input form dengan data jenis barang
[Link] = DR("namajenis").ToString
Else
' Jika data tidak ditemukan, membersihkan input form
[Link] = ""
End If
End Sub
End Class