0% menganggap dokumen ini bermanfaat (0 suara)
186 tayangan101 halaman

Modul Sistem Basis Data

Modul ini membahas pengembangan bahan ajar sistem basis data untuk mahasiswa semester 3 di STMIK Himsya Semarang. Modul ini dilengkapi latihan praktikum dan studi kasus pembelian dan penjualan barang untuk menguji pemahaman mahasiswa. Modul ini disusun berdasarkan standar nasional pendidikan tinggi dengan menjadikan mahasiswa sebagai pusat belajar.

Diunggah oleh

Anonymous udBkTs
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
186 tayangan101 halaman

Modul Sistem Basis Data

Modul ini membahas pengembangan bahan ajar sistem basis data untuk mahasiswa semester 3 di STMIK Himsya Semarang. Modul ini dilengkapi latihan praktikum dan studi kasus pembelian dan penjualan barang untuk menguji pemahaman mahasiswa. Modul ini disusun berdasarkan standar nasional pendidikan tinggi dengan menjadikan mahasiswa sebagai pusat belajar.

Diunggah oleh

Anonymous udBkTs
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 101

Alhamdulillaahi Rabbil’aalamiin atas limpahan rahmat-Nya sehingga saya dapat

menyelesaikan Pengembangan Bahan Ajar (MODUL) Sistem Basis Data (SBD) untuk mahasiswa
semeser 3 atau gasal di STMIK Himsya Semarang. Modul ini disusun berdasarkan Standar Nasional
Pendidikan Tinggi (SNPT), yang lebih menempatkan mahasiswa sebagai pusat kegiatan belajar
(Student Center Learning). Modul ini dilengkapi latihan-latihan praktikum untuk menguji
pemahaman dan kemampuan keterampilan mahasiswa terkait dengan materi yang terdapat pada
modul. Dalam modul praktikum Sistem Basis Data dibahas tentang “Studi Kasus Pembelian dan
Penjualan Barang (Inventory)”.
Kami menyadari masih banyak kekurangan dalam penyusunan modul ini. Oleh karena itu,
kami sangat mengharapkan kritik dan saran demi perbaikan dan kesempurnaan modul ini.
Kami mengucapkan terima kasih kepada berbagai pihak yang telah membantu proses
penyelesain modul ini. Semoga modul ini dapat bermanfaat bagi semua pembaca, khususnya para
mahasiswa yang mengambil matakuliah Sistem Basis Data.

Semarang, 1 September 2017

Solikhin, M.Kom
A. PEMBUATAN DATABASE ...................................................................................................... 1
B. MEMBUAT PROJECT BARU ................................................................................................... 5
C. MEMBUAT FORM MENU........................................................................................................ 14
D. MEMBUAT FORM BARU ........................................................................................................ 16
E. MEMBUAT MODULE KONEKSI KE DB MYSQL ................................................................ 24
F. MENAMBAH DATA VIA FORM ............................................................................................. 33
G. PENCARIAN DENGAN COMBOBOX .................................................................................... 37
H. MENGHAPUS DATA VIA FORM ............................................................................................ 41
I. EDIT DATA VIA FORM ........................................................................................................... 43
J. MENAMBAH TAMPILAN MENU ........................................................................................... 45
K. MENAMBAHKAN STATUS BAR PADA FORM ................................................................... 52
L. MENJADIKAN FORM MENU SEBAGAI MDI FORM .......................................................... 58
M.MEMBUAT FORM TRANSAKSI PEMBELIAN ..................................................................... 61
N. MEMBUAT FORM TRANSAKSI PENJUALAN .................................................................... 84
STMIK HIMSYA SEMARANG
SISTEM BASIS DATA
( Modul Praktikum )

Oleh:
Solikhin, M.Kom
Langkah Awal
Buatlah Database MYSQL dengan nama “dbinventory”
dengan struktur database sebagai berikut :
1. Struktur Tabel Barang
File Name : TbBarang
Primary Key : KodeBarang
Foreign Key : -
Field Type Size Description
Varchar Kode Barang
Varchar 30
Harga Int
Stok Int Stok Barang
2. Struktur Tabel Pelanggan
File Name : TbPelanggan
Primary Key : KodePel
Foreign Key : -

Field Type Size Description


KodePel Varchar 6 Kode Pelanggan
NamaPelanggan Varchar 30 Nama Pelanggan
Alamat Varchar 50 Alamat Pelanggan
Telp Varchar 15 Telpon Pelanggan
3. Struktur Tabel Suplier
File Name :TbSuplier
Primary Key : KodeSup
Foreign Key : -

Field Type Size Description

KodeSup Varchar 6 Kode Suplier

NamaSuplier Varchar 30 Nama Suplier

Alamat Varchar 50 Alamat Suplier

Telp Varchar 15 Nomor Telpon Suplier


Buka Visual Studio 2010
Tampilan halaman awalVisual Studio 2010 sebagai berikut :

6
Pada menu bar, klik menu File – pilih New – Project.

7
Akan muncul kotak dialog New Project, Pilih
Windows Forms Application
Pada kolom Name, ubah nama project-nya menjadi
InventoryApp
Pada kotak Location klik tombol Browse.. yang
nantinya untuk menyimpan File dari project anda
Contoh Drive D:/
Centang checkbox Create Directory For
Solution
Klik OK
Lihat Gambar di bawah ini :
9
Gambar di bawah ini :

10
saat memulai project baru

11
Solution Explorer pada pojok kanan atas terdapat
Form1.
Form1 tersebut adalah Form yang tampil pada
halaman kerja saat ini, yang nantinya akan dibuat
menjadi Form Utama (Menu) untuk memanggil
Form-Form lainnya.
Arahkan kursor ke sebelah kiri layar, tepatnya pada
ToolBox, maka akan muncul semua Toolbox yang
berisi kontrol dan komponen untuk membuat
Form.
menarik dan menempatkannya pada Form.

13
Pada Toolbox, pilih pada tab Menus & Toolbars dan pilih MenuStrip.

kondisi menu yang akan dibuat.

Kemudian jalankan aplikasi dengan menekan tombol (F5)


15
Form Input Data Barang

Project – Pilih Add Windows Form.

16
Ketikkan nama FrmDataBarang pada kotak Name
Kemudian tekan tombol Add

17
dengan nama frmDataBarang.vb

18
Untuk mengganti Text pada Form, bisa dilakukan pada Properties
Windows.
Pada bagian Text ubah/ketik nilainya menjadi Form Data Barang,
maka secara otomatis akan mengubah text pada Form menjadi
Form Data Barang.
Untuk menambahkan Textbox, Label, Button dan
DataGridView.
Sama dengan cara menambahkan Menu Strip di atas, hanya saja
untuk Textbox, Label dan Button control-nya berada pada Tab
Commons Control.
Sedangkan untuk DataGridView, control-nya berada pada Tab
Data.
Catatan : Dalam menambahkan kontrol sesuaikan dengan
kebutuhan, lihat Gambar rancangan Form di bawah ini
19
Memanggil Form Data barang, Data Suplier dan Data Pelanggan Melalui Form Menu
Utama.
Pada Solution Explorer – Klik 2X pada Form1.
Klik 1X Menu Data Master dan 2x pada Menu Data Barang
Kemudian akan diarahkan ke lembar kerja kode
Ketikkan kode berikut ini :
-
frmDataBarang.StartPosition = FormStartPosition.CenterScreen
frmDataBarang.Show()
-
Jalankan Project, pilih menu Data Master
Kemudian klik menu Data Barang
Jika berhasil, tampilannya seperti Gambar di bawah ini :

22
Lakukan hal yang sama untuk Form Pelanggan dan Suplier.
Kode untuk pemanggilan Form-nya juga sama.Yaitu :

Untuk Pemanggilan Form Suplier :

frmDataSuplier.StartPosition = FormStartPosition.CenterScreen
frmDataSuplier.Show()

Untuk Pemanggilan Form Pelanggan :

frmDataPelanggan.StartPosition = FormStartPosition.CenterScreen
frmDataPelanggan.Show()
Disarankan gunakan Connector .Net versi 6.6.6
Bisa download di situs resmi MySql
Sebagai langkah awal, terlebih dahulu tambahkan
Reference Mysql.Data kedalam Project
Dengan cara : klik Menu Project – Add Reference.. – pilih
Tab .Net dan cari Mysql.Data dan klik OK

Perhatikan Gambar berikut ini :


25
Apabila Reference MySQL.Data sudah ditambahkan, untuk membuat
kode pada Module bisa dimulai. Langkah-langkanya adalah sbb :
Tambahkan 1 Module untuk Koneksi ke Database
Klik menu Project – pilih Add Module..
Kemudian beri nama ModConnection
Maka pada Solution Explorer, akan bertambah 1 File lagi dengan nama
ModConnection.vb
Selanjutnya ketikkan kode pada Module berikut ini :
Imports MySql.Data.MySqlClient
Module modConnection
Public Conn As MySqlConnection
Public RD As MySqlDataReader
Public DA As MySqlDataAdapter
Public CMD As MySqlCommand
Public DS As DataSet
Public simpan, ubah, hapus As String
Public Sub bukaDB()
Dim SQLConn As String
SQLConn =
"server=localhost;Uid=root;Passwd=;Database=dbinventory"
Conn = New MySqlConnection(SQLConn)
If Conn.State = ConnectionState.ClosedThen
Conn.Open()
End If
End Sub
End Module
27
Tahap pembuatan Module untuk koneksi ke database
telah selesai.
Selanjutnya memasukkan kode pada FrmDataBarang
Langkah-langkahnya adalah sebagai berikut :

Tampilkan FrmDataBarang
Di solution Explorer, klik 2x pada FrmDataBarang
untuk mengaktifkan Form Data Barang pada IDE
Visual Studio.
Klik 2x pada badan Form FrmDataBarang yang
artinya akan diarahkan pada lembar kerja Form Data
28 Barang, tepatnya pada Event Form Load()
Selanjutnya ketikkan kodenya sebagai berikut :
Imports MySql.Data.MySqlClient
Public Class frmDataBarang
Private Sub frmDataBarang_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load
Call bukaDB() ‘Memanggil koneksi dari module
Call isiGrid() ‘Menjalankan perintah dari Sub isiGrid()
End Sub
Sub isiGrid()
Call bukaDB() ‘Panggil koneksi kedatabase melalui modul
DA = New MySqlDataAdapter("SELECT * from tbbarang", Conn)
DS = New DataSet
DA.Fill(DS, "tbbarang")
DataGridView1.DataSource = DS.Tables("tbbarang") ‘Setting Datasource dari DGV
DataGridView1.ReadOnly = True ‘Jadikan DGV hanya ReadOnly
End Sub
End Class
Tambahkan sub baru yaitu : Sub Bersih(), sebagai
subroutine untuk membersihkan Text yang ada pada
Textbox setelah memasukkan data baru kedalam
database atau mengubah dan menghapus data.
Sub Bersih()
TextBox1.Text = ""
TextBox2.Text = ""
TextBox3.Text = ""
TextBox4.Text = ""
TextBox1.Focus()
Button1.Text = "Tambah"
End Sub
Jika berhasil, maka tampilan Form Data Barang otomatis pada
DataGridView akan terisi. Seperti pada Gambar berikut:
Setelah berhasil mengkoneksikan Project dengan
Database Mysql. Selanjutnya masuk ke tahap
pengkodingan untuk menambahkan data pada
FrmDataBarang sekaligus dapat tersimpan
dalam database. Langkah-langkahnya adalah sbb :
Klik 2x pada tombol Tambah.
Kemudian masukkan kode berikut ini :
If Button1.Text = "Tambah" Then
Button1.Text = "Simpan"
TextBox1.Focus()
Else
Try
Call bukaDB()
CMD = New MySqlCommand("SELECT kodebarang from tbbarang WHERE kodebarang = '" & TextBox1.Text & "'", Conn)
RD = CMD.ExecuteReader
RD.Read()
If RD.HasRows Then
MsgBox("Maaf, Data dengan kode tersebut telah ada",
MsgBoxStyle.Exclamation, "Peringatan")
Else
Call bukaDB()
simpan = "INSERT INTO tbbarang (kodebarang,namabarang,harga,stok) VALUES (?,?,?,?)"
CMD = Conn.CreateCommand
With CMD
.CommandText = simpan
.Connection = Conn
.Parameters.Add("p1", MySqlDbType.String, 4).Value =
TextBox1.Text
.Parameters.Add("p2", MySqlDbType.String, 30).Value =
TextBox2.Text
.Parameters.Add("p3", MySqlDbType.Int32, 8).Value = TextBox3.Text
.Parameters.Add("p4", MySqlDbType.Int32, 4).Value = TextBox4.Text
.ExecuteNonQuery()
End With
Call isiGrid()
Call Bersih()
„Call isiCombo()
End If
Catch ex As Exception
MsgBox(ex.ToString, MsgBoxStyle.Critical, "Terjadi Kesalahan")
End Try
End If
Selanjutnya klik 2x pada tombol Batal, dan ketikkan kode berikut :
Call Bersih() ‘Mengembalikan keadaan Form seperti semula

Sekarang coba jalankan, lalu tampilkan FrmDataBarang.


Klik tombol tambah, maka otomatis kursor menuju ke Textbox1 dan
text yang berada di tombol Tambah akan berubah menjadi Simpan
Isikan value pada textbox-textbox yang tersedia
Kemudian klik tombol Simpan.
Apabila berhasil, maka data baru akan terlihat pada DataGridView.

Perhatikan Gambar berikut ini :


Masih pada FrmDataBarang
Tambahkan satu kontrol Combobox pada form. (control
combobox berada di toolbox pada tab common controls).
Kemudian buat sub baru untuk mengisi items pada
Combobox tersebut, yaitu : Sub isiCombo()
Sub isiCombo()
Call bukaDB()
CMD = New MySqlCommand("SELECT kodebarang
From tbbarang", Conn)
RD = CMD.ExecuteReader
Combobox1.Items.Clear()
Do While RD.Read
ComboBox1.Items.Add(RD.Item(0))
Loop
CMD.Dispose()
RD.Close()
Conn.Close()
End Sub
Kegunaan dari kode diatas adalah untuk menambahkan items pada
combobox melalui data yang ada di dalam database.
Kemudian masukkan kode diatas didalam Event Form Load dengan
cara yang sama, yaitu dengan metode Call()

Private Sub frmDataBarang_Load(ByVal sender As


System.Object, ByVal e As System.EventArgs) Handles
MyBase.Load
Call bukaDB()
Call isiGrid()
Call isiCombo() ‘tambahkan kodenya seperti ini.
End Sub
Setelah itu, klik 2x pada combobox yang baru ditambahkan.
Dalam Event ComboBox1_SelectedIndexChanged
Ketikkan kode berikut ini :

Call bukaDB()
CMD = New MySqlCommand("SELECT kodebarang,namabarang,harga,stok FROM
tbbarang WHERE kodebarang = '" & ComboBox1.Text & "'", Conn)
RD = CMD.ExecuteReader
RD.Read()
If RD.HasRows Then
TextBox1.Text = RD.Item(0)
TextBox2.Text = RD.Item(1)
TextBox3.Text = RD.Item(2)
TextBox4.Text = RD.Item(3)
TextBox1.Enabled = False
TextBox2.Focus()
End If
Kegunaan dari kode diatas ialah : Saat menge-klik Combobox1, sesuai
dengan kodebarang yang dipilih, maka data akan muncul di setiap
textbox pada form. Coba jalankan program..lalu tampilkan
frmDataBarang, dan klik combobox, jika berhasil akan terlihat seperti
Gambar di bawah ini:
Pada dasarnya untuk menghapus data dalam tabel database dapat
dilakukan melalui beberapa cara,salah satunya adalah
menghapus data melalui form.

Logika dari penghapusan data melalui form ini adalah sebagai


berikut :
1. Terlebih dahulu user akan melakukan cari data yang ingin dihapus.
2. Tekan Tombol Hapus
Langkah-langkahnya adalah sebagai berikut :
1. Kembali ke rancangan FrmDataBarang
2. Klik 2x pada tombol Hapus
3. Selanjutnya akan diarahkan pada Event Button3_Click()
4. Kemudian ketikkan kode berikut ini :

Try
Call bukaDB()
hapus = "DELETE FROM tbbarang WHERE kodebarang=@p1"
CMD = Conn.CreateCommand
With CMD
.CommandText = hapus
.Connection = Conn
.Parameters.Add("p1", MySqlDbType.String, 4).Value = TextBox1.Text
.ExecuteNonQuery()
End With Penjelasan Logikanya : sebelum
Call Bersih()
Call isiGrid()
data yang ingin dihapus, kemudian
Catch ex As Exception
menekan tombol Hapus, dan data
MsgBox(ex.ToString, MsgBoxStyle.Critical, "Terjadi Kesalahan")
End Try
database.
Logika untuk edit/perubahan data sama saja dengan logika
penghapusan data. Jadi user terlebih dahulu melakukan
pencarian data yang akan diedit, kemudian mengubah value yang
terdapat pada textbox, setelah itu menekan tombol Edit.

Langkah-langkahnya :
1. Kembali ke rancangan FrmDataBarang
2. Klik 2x pada tombol Edit
3. Kemudian akan diarahkan pada halaman kode Event
Button3_Click().
4. Selanjutnya ketikkan kode program dibawah ini :
Try
Call bukaDB()
ubah = "UPDATE tbbarang SET namabarang=@p2,harga=@p3,stok=@p4 WHERE kodebarang = @p1"
CMD = Conn.CreateCommand
With CMD
.CommandText = ubah
.Connection = Conn
.Parameters.Add("p1", MySqlDbType.String, 4).Value = TextBox1.Text
.Parameters.Add("p2", MySqlDbType.String, 30).Value = TextBox2.Text
.Parameters.Add("p3", MySqlDbType.Int32, 8).Value = TextBox3.Text
.Parameters.Add("p4", MySqlDbType.Int32, 4).Value = TextBox4.Text
.ExecuteNonQuery()
End With
Keterangan :
Call Bersih()
Call isiGrid()
Call isiCombo() pada Form FrmDataBarang.
Catch ex As Exception
MsgBox(ex.ToString, MsgBoxStyle.Critical, "Terjadi Kesalahan")
End Try
Kembali ke Form1 atau form menu yang
sebelumnya telah dibuat.

Langkah-langkahnya sama seperti saat pertama


kali membuat menu yaitu :
1. Pada Toolbox, pilih Tab Menus &
Toolbar, lalu tarik kedalam form1
2. Kemudian ubah propertiesnya pada bagian
AutoSize nya menjadi False
Klik pada Toolstrip tersebut, maka akan muncul kotak kecil untuk menambahkan control
dalam toolstrip tersebut.
Klik tanda panah kebawah, maka akan muncul item-item yang dapat ditambahkan.
Selanjutnya tambahkan control Button. Lalu ubah properties button yang baru saja
ditambahkan :
1. Pada bagian Text, ubah menjadi Data Barang
2. Pada bagian DisplayStyle, ubah menjadi ImageAndText
Lalu tambahkan lagi button pada toolstrip,
untuk Data Pelanggan dan Data Suplier
dengan cara seperti melakukan pada langkah-
langkah sebelumnya, sehingga tampilan menu
akan menjadi seperti pada Gambar di bawah ini :
Barang yang terdapat pada ToolStrip

bagian Image
Klik tombol (…) pada bagian Image
tersebut, maka akan muncul Box Seperti Ini :

• Selanjutnya klik tombol


Import

diinginkan
Klik tombol Open, lalu klik tombol
OK. Hasilnya rancangannya seperti
Gambar dibawah ini :

Jika gambar Icon terlihat kecil, coba


ubah properties nya pada bagian
ImageScalling menjadi None.
Lalu tarik sajaToolStripnya tersebut
kebawah, dan disesuaikan dengan
kebutuhan.
Sedangkan untuk memanggil FrmDataBarang melalui ToolStrip tersebut, hanya dengan cara
memberikan kode kedalam button tersebut. Caranya adalah sebagai berikut :
1. Klik 2x pada button Data Barang.
2. Lalu akan diarahkan kedalam lembar kerja koding pada Event Button_Click
Ketikkan kode berikut :
frmDataBarang.Show() ‘Kode yang sama pada penjelasan tentang membuat menu

menyesuaikan nama Form masing-masing yang telah dibuat sebelumnya.


Apabila dijalankan, maka akan tampil seperti Gambar dibawah ini :
Untuk membuat status bar pada form dengan cara :
1. Pada ToolBox pilih tab Menus & Toolbars
2. Kemudian pilih StatusStrip
3. Lalu tarik kedalam rancangan Form

Lihat pada Gambar berikut :


Untuk menambahkan control kedalam StatusStrip langkah-langkahnya
sama seperti menambahkan control pada ToolStrip, Sebagai contoh :
tambahkan 4 ToolStripLabel pada ToolStrip tersebut.
Kontrol Propertis Nilai
ToolStripStatusLabel1 Text
ToolStripStatusLabel2 Text
ToolStripStatusLabel3 Text Waktu Perhatikan Gambar
ToolStripStatusLabel4 Text Waktu dibawah ini :
Selanjutnya tambahkan 1 control Timer pada Form

Perhatikan Gambar berikut ini !


Ubah properties Enabled menjadi True dan Interval ketikkan 1000 (1 detik)
Lalu klik 2x pada control Timer1 tersebut.

Ketikkan kode berikut ini :


ToolStripStatusLabel2.Text = Format(Now, "dd MMM yyyy")
ToolStripStatusLabel4.Text = Format(Now, "hh:mm:ss")
Apabila dijalankan, maka tampilan akan seperti Gambar di bawah ini :
Perhatikan pada bagian kiri bawah layar, tepatnya di atas tombol start
itu.
Maksudnya adalah mengubah form menu yang awalnya hanya
sebagai form biasa menjadi form MDI.

Langkah-langkahnya adalah sebagai berikut :


1. Mengubah nilai properties pada form, tepatnya pada
IsMdiContainer menjadi True.
2. Perhatikan tampilan form setelah dilakukan pengaturan pada
properties-nya.
3. Jika berhasil, maka background dari form akan terlihat gelap dan
berbeda dari tampilan semula.

Perhatikan Gambar Berikut ini !


Untuk memanggil Form Data barang, Data Suplier, dan DataPelanggan melalui Form Menu
diatas, caranya adalah sebagai berikut :
1. Tambahkankodeuntukmemanggil formnya,misalkodeyang terdapat pada tombol
menu Data Barang yang berada di toolbar dan MenuStrip.

FrmDataBarang.Show()

sebelah kanan.

tampil diluar dari form

dalam lingkungan form


menu.

dan Data Suplier !!!


Teori logika dasar dari Inventori sbb:
1. Jika terjadi transaksi pembelian barang
pada suplier maka, jumlah stok barang akan
bertambah
2. Jika terjadi transaksi penjualan barang
kepada pelanggan, maka stok yang ada akan
berkurang
J.1. Menambah Tabel pada Database
Struktur dari tabelnya adalah :
1. Nama table :TbBeli
Primary Key : NoFak
Foreign Key : KodeSup

Field Type Size Description


NoFak VarChar 6 Nomor Faktur
Tanggal DateTime Tanggal Faktur
KodeSup VarChar 6 Kode Suplier
TotalItem Int 11 Total Item
TotalBayar Int 11 Total Bayar

62
2. Nama Table : TbDetailBeli
Primary Key : -
Foreign Key : NoFak, KodeBarang

Field Type Size Description


NoFak Varchar 5 Nomor Faktur
KodeBarang Varchar 6 Kode Barang
Jumlah Int 11 Jumlah Beli

63
Membuat Relasi antar Tabel
J.2. Merancang Form Pembelian
Tambahkan 1 form baru ke dalam project, kemudian beri
nama FrmTransaksiBeli. Sedangkan untuk object-object
ToolBox yang diletakkan pada rancangan form, seperti
tampilan Gambar dibawah ini :
Lakukan pengaturan object (Label,TextBox, ComBox, Button) pada
propertie-nya. Seperti pada Gambar berikut.
Sedangkan untuk pengaturan DataGridView1, lakukan klik pada
kanan DataGridView1
Kemudian pilih Add Columns

66
Sebagai contoh Name = Kode dan pada Header Text = Kode Barang
Lalu tekan tombol Add.

otomatis akan membuat kolom pada DataGridView-nya.

tampilan Gambar berikut ini :


Langkah selanjutnya adalah, pemberian
kode pada form transaksi pembelian
Masuk ke layar kerja kode dengan menekan tombol View
Code yang berada di bagian atas panel Solution Explorer
Selanjutnya ditampilkan layar kerja koding
untuk form Transaksi Pembelian
Seperti halnya pemberian kode di form-form sebelumnya,
tambahkan kode berikut diposisi paling atas layar kerja koding.
Imports Mysql.Data.MysqlClient
Lihat gambar dibawah ini, ada dua buah combobox.
• Kemudian ketikkan kode di bawah ini pada Event DataGridView1_CellEndEdit().

If e.ColumnIndex = 0 Then
DataGridView1.Rows(e.RowIndex).Cells(0).Value = UCase(DataGridView1.Rows(e.RowIndex).Cells(0).Value)
Call bukaDB()
CMD = New MySqlCommand("SELECT * from tbbarang WHERE kodebarang = '" &
DataGridView1.Rows(e.RowIndex).Cells(0).Value & "'", Conn)
RD = CMD.ExecuteReader
If RD.Read Then
DataGridView1.Rows(e.RowIndex).Cells(1).Value = RD.Item("namabarang")
DataGridView1.Rows(e.RowIndex).Cells(2).Value = RD.Item("harga")
DataGridView1.Rows(e.RowIndex).Cells(3).Value = 0
DataGridView1.Rows(e.RowIndex).Cells(4).Value = RD.Item("stok")
DataGridView1.Rows(e.RowIndex).Cells(5).Value = 0
DataGridView1.Rows(e.RowIndex).Cells(6).Value = 0
Else
MsgBox("Maaf, Data Obat tidak Ditemukan", MsgBoxStyle.Exclamation, "Peringatan")
DataGridView1.Focus()
End If
End If

69
Coba di Run, kemudian klik pada kolom kode barang dilanjutkan
dengan mengetikkan salah satu kode barang yang telah anda simpan
pada database, misal ketikkan “MIE001” lalu tekan Tab.
Contoh, seperti ini :
Data barang dengan kode “MIE001” akan secara otomatis muncul
pada kolom yang tersedia.
Kecuali untuk kolom “Jumlah Beli” , “Stok Akhir” dan “Total Bayar”,
karna didalam kode telah diset “0”.
Logika -nya: saat melakukan perubahan nilai pada kolom Jumlah Beli,
maka pada kolom Stok Akhir dan Total Bayar juga akan berganti
secara otomatis.
Ketikkan kode di bawah ini tepat dibawah kode diatasnya.
If e.ColumnIndex = 3 Then
DataGridView1.Rows(e.RowIndex).Cells(5).Value =
DataGridView1.Rows(e.RowIndex).Cells(4).Value +
DataGridView1.Rows(e.RowIndex).Cells(3).Value
DataGridView1.Rows(e.RowIndex).Cells(6).Value =
DataGridView1.Rows(e.RowIndex).Cells(2).Value *
DataGridView1.Rows(e.RowIndex).Cells(3).Value
End If
Coba jalankan lagi, dan ketikkan pada kolom kode barang “MIE001”
lalu tekan Tab, sampai pointer ber-focus pada kolom Jumlah Beli, lalu
ubah nilainya terserah , contoh disini akan diisi nilai 5
Kemudian tekan Tab dan lihat pada kolom Stok Akhir.
Jika berhasil, kolom Stok Akhir yang semula “0” akan
berubah/bertambah dan seterusnya.
Penjelasan :
Untuk hasil dari kolom Stok Akhir adalah = Stok Awal + Jumlah Beli
Sedangkan untuk kolom Total Bayar = Jumlah Beli * Harga Barang
Selanjutnya mengisi ComboBox1 dengan Items yang diambil dari
Table Suplier.
Dengan membuat sub baru, yaitu sub isiCombo()
Sub isiCombo()„Digunakan untuk mengisi items
pada combobox dengan data dari database
Call bukaDB()
CMD = New MySqlCommand("SELECT kodesup From
tbsuplier", Conn)
RD = CMD.ExecuteReader
ComboBox1.Items.Clear()
Do While RD.Read
ComboBox1.Items.Add(RD.Item(0))
Loop
CMD.Dispose()
RD.Close()
Conn.Close()
End Sub
Jika dijalankan , seperti gambar di bawah ini :
Lalu, tambahkan lagi sebuah sub baru, yaitu sub bersih()

Sub bersih() „Digunakan untuk membersihkan Control yang


ada didalam form
TextBox1.Text = ""
Label3.Text = ""
Label8.Text = ""
Label9.Text = ""
Label10.Text = ""
ComboBox1.Text = ""
DataGridView1.Rows.Clear()
End Sub
Masih, tambahkan 1 buah sub baru lagi, yaitu sub ambilNama()
„Bertujuan untuk mengambil nama supplier dari database dan
dimunculkan pada label 8
Sub ambilNama()
Call bukaDB()
CMD = New MySqlCommand("SELECT namasuplier From tbsuplier
WHERE kodesup = '" & ComboBox1.Text & "'", Conn)
RD = CMD.ExecuteReader
RD.Read()
If RD.HasRows Then
Label8.Text = RD.Item(0)
End If
End Sub
Tambahkan dua buah sub baru yaitu : sub hitungTotal() dan sub hitungItem()

„Membuat fungsi untuk menghitung total item dan total bayar yang akan di
„munculkan pada label total item dan label total bayar
Sub hitungItem()
Dim cari As Integer = 0
For i As Integer = 0 To DataGridView1.Rows.Count - 1
cari = cari + DataGridView1.Rows(i).Cells(3).Value
Label9.Text = cari
Next
End Sub
Sub hitungTotal()
Dim cari As Integer = 0
For i As Integer = 0 To DataGridView1.Rows.Count - 1
cari = cari + DataGridView1.Rows(i).Cells(6).Value
Label10.Text = cari
Next
End Sub

77
Panggil Fungsi pada Sub Bersih() dan Sub isiCombo() pada Event
Form Load()
Klik 2x pada badan form ketikkan kode ini :
Call bersih()
Call isiCombo()
Label3.Text = Format(Now, "dd MMM yyyy") „Langsung ketikkan kode ini juga

Sedangkan untuk Sub hitungTotal() dan sub hitungItem() sisipkan


pada baris paling bawah pada Event DatagridView1_CellEndEdit()
Call hitungTotal()
Call hitungItem()

Langkah selanjutnya… balik lagi ke desain form… klik 2x tombol


Batal. Ketikkan kode ini
Call bersih()
Klik juga 2x pada Combobox1.
Panggil fungsi ambilNama() dengan mengetikkan koding :
Call ambilNama()

•Jalankan program… Jika Benar… maka seluruh objek pada form


sudah dapat digunakan kecuali pada tombol Simpan.
•Berikut tampilan ketika Combobox1 di-Klik
Selanjutnya, membuat koding untuk tombol simpan data pada form
transaksi pembelian.
Klik 2x pada tombolSimpan.
Ketikkan kode berikut ini :
If TextBox1.Text = "" Then
MsgBox("Nomor Faktur Belum di isi !! ", MsgBoxStyle.Exclamation, "Peringatan")
Else
Dim simpan1 As String
Call bukaDB()
simpan = "INSERT INTO tbbeli (nofak,tanggal,kodesup,totalitem,totalbayar)
VALUES (@p1,@p2,@p3,@p4,@p5)"
simpan1 = "INSERT INTO tbdetailbeli (nofak,kodebarang,jumlah) VALUES
(@p6,@p7,@p8) "
ubah = "UPDATE tbbarang SET stok=stok+@p9 WHERE kodebarang = @p10"
CMD = Conn.CreateCommand
With CMD
.CommandText = simpan
.Connection = Conn
.Parameters.Add("p1", MySqlDbType.String, 5).Value = TextBox1.Text
.Parameters.Add("p2", MySqlDbType.DateTime).Value = Format(Now,
"dd/MM/yyyy hh:mm:ss")
.Parameters.Add("p3", MySqlDbType.String).Value = ComboBox1.Text
.Parameters.Add("p4", MySqlDbType.Int32).Value = Label9.Text
.Parameters.Add("p5", MySqlDbType.Int32).Value = Label10.Text
.ExecuteNonQuery()
End With

80
For i As Integer = 0 To DataGridView1.Rows.Count - 2
CMD = Conn.CreateCommand
With CMD
.CommandText = simpan
.Connection = Conn
.Parameters.Add("p6", MySqlDbType.String, 5).Value = TextBox1.Text
.Parameters.Add("p7", MySqlDbType.String, 5).Value = DataGridView1.Rows(i).Cells(0).Value
.Parameters.Add("p8", MySqlDbType.Int32).Value = DataGridView1.Rows(i).Cells(3).Value
.ExecuteNonQuery()
End With
CMD = Conn.CreateCommand
With CMD
.CommandText = ubah
.Connection = Conn
.Parameters.Add("p9", MySqlDbType.UInt32).Value = DataGridView1.Rows(i).Cells(3).Value
.Parameters.Add("p10", MySqlDbType.String).Value = DataGridView1.Rows(i).Cells(0).Value
.ExecuteNonQuery()
End With
Next
End If
Conn.Close()
CMD.Dispose()
bersih()

81
Jika program dijalankan, dan inputkan beberapa pembelian barang,
seperti contoh gambar di bawah ini;

Perhatikan data pada Stok awal dan stok akhir yang ada di DataGridView1.
Kemudian tekan tombol simpan
Secara otomatis, Stok Barang akan bertambah sesuai dengan Jumlah Beli.
Untuk mengetahui perubahan data setelah proses simpan, dapat
dilihat pada tabel barang yang ada di dalam database.
Perhatikan gambar dibawah ini, Stok Akhir sudah sesuai dengan yang
diinputkan dari masing-masing kode barang pada saat transaksi
pembelian.
Teori dasar Inventori :
Jika terjadi transaksi pembelian barang
kepada supplier maka, stok barang yang ada
akan mengalami penambahan
Jika terjadi transaksi penjualan barang
kepada pelanggan, maka stok yang ada
akan mengalami pengurangan
84
MENAMBAHKAN TABEL PADA DATABASE
Struktur dari tabelnya adalah :
Nama tabel : TbJual
Primary Key : NoFakJual
Foreign Key : KodeSup
Field Type Size Description

NoFakJual Varchar 5 No Faktur Penjualan


Tanggal DateTime Tanggal Penjualan
KodePel Varchar 6 Kode Pelanggan
TotalItem INT 11 Total Item
TotalBayar INT 11 Total Bayar

85
Nama Tabel :TbDetailJual
Primary Key : -
Foreign Key : NoFakJual, KodeBarang

Field Type Size Description

NoFakJual Varchar 5 No Faktur Penjualan

KodeBarang Varchar 6 Kode Barang

Jumlah INT 11 Jumlah

86
Membuat Relasi antar Tabel

87
MERANCANG FORM PENJUALAN
Dalam rancangan form penjualan, pada dasarnya sama dengan
rancangan form pembelian. Untuk langkah-langkahnya bisa
lihat di rancangan form pembelian.

88
Berikut ini adalah sub-sub yang dibuat sendiri (fungsi yang sengaja
dibuat agar lebih mudah/subroutine yang terpisah dari Event
form).

1. Sub Bersih() Sub


bersih() TextBox1.Text
= "" Label3.Text = ""
Label8.Text = ""
Label9.Text = ""
Label10.Text = ""
ComboBox1.Text = ""
DataGridView1.Rows.Clear()
End Sub

89
2. Sub hitungItem()
Sub hitungItem() Dim
cari As Integer = 0
For i As Integer = 0 To DataGridView1.Rows.Count - 1 cari
= cari + DataGridView1.Rows(i).Cells(3).Value
Label9.Text = cari
Next
End Sub

3. Sub hitungTotal()
Sub hitungTotal() Dim
cari As Integer = 0
For i As Integer = 0 To DataGridView1.Rows.Count - 1 cari
= cari + DataGridView1.Rows(i).Cells(6).Value
Label10.Text = cari
Next
End Sub

90
4. Sub ambilNama()
Sub ambilNama()
Call bukaDB()
CMD = New MySqlCommand("SELECT namapelanggan From
tbpelanggan WHERE kodepel= '" & ComboBox1.Text & "'", Conn)
RD = CMD.ExecuteReader
RD.Read()
If RD.HasRows Then
Label8.Text = RD.Item(0)
End If
End Sub

91
5. Sub isiCombo()
Sub isiCombo()
Call bukaDB()
CMD = New MySqlCommand("SELECT kodepel From tbpelanggan",
Conn)
RD = CMD.ExecuteReader
ComboBox1.Items.Clear()
Do While RD.Read
ComboBox1.Items.Add(RD.Item(0)) Loop
CMD.Dispose()
RD.Close()
Conn.Close() End
Sub

92
Selanjutnya mengetikkan kode pada combobox1
Klik 2x pada combobox1, ketikkan script dibawah ini :
Call ambilNama()

Kemudian klik 2x pada badan form, dan ketikkan kode berikut ini :
Call bukaDB()
Call bersih()
Call isiCombo()

Lalu, klik 2x pada tombol “Batal”, dan ketikkan kode berikut:


Call bersih()

93
Melakukan pencarian pada kolom yang ada di DataGridView1 dengan cara memasukkan kode pada event DataGridView1_CellEndEdit()

If e.ColumnIndex = 0 Then
DataGridView1.Rows(e.RowIndex).Cells(0).Value = UCase(DataGridView1.Rows(e.RowIndex).Cells(0).Value)
Call bukaDB()
CMD = New MySqlCommand("SELECT * from tbbarang WHERE kodebarang = '" & DataGridView1.Rows(e.RowIndex).Cells(0).Value & "'", C onn)
RD = CMD.ExecuteReader
If RD.Read Then
DataGridView1.Rows(e.RowIndex).Cells(1).Value = RD.Item("namabarang")
DataGridView1.Rows(e.RowIndex).Cells(2).Value = RD.Item("harga")
DataGridView1.Rows(e.RowIndex).Cells(3).Value = 0
DataGridView1.Rows(e.RowIndex).Cells(4).Value = RD.Item("stok")
DataGridView1.Rows(e.RowIndex).Cells(5).Value = 0
DataGridView1.Rows(e.RowIndex).Cells(6).Value = 0
Else
MsgBox("Maaf, Data Obat tidak Ditemukan", MsgBoxStyle.Exclamation, "Peringatan")
DataGridView1.Focus()
End If
End If
If e.ColumnIndex = 3 Then
DataGridView1.Rows(e.RowIndex).Cells(5).Value = DataGridView1.Rows(e.RowIndex).Cells(4).Value + DataGridView1.Rows(e.RowIndex ).Cells(3).Value
DataGridView1.Rows(e.RowIndex).Cells(6).Value = DataGridView1.Rows(e.RowIndex).Cells(2).Value * DataG ridView1.Rows(e.RowIndex).Cells(3).Value
End If
Call hitungTotal()
Call hitungItem()

94
Menambahkan kode pada event penyimpanan
Klik 2x pada tombol Simpan, lalu ketikkan kode sebagai berikut :

If TextBox1.Text = "" Then


MsgBox("Nomor Faktur Belum di isi !! ", MsgBoxStyle.Exclamation, "Peringatan") Else
Dim simpan1 As String
Call bukaDB()
simpan = "INSERT INTO tbjual
(nofakjual,tanggal,kodepel,totalitem,totalbayar) VALUES (@p1,@p2,@p3,@p4,@p5)"
simpan1 = "INSERT INTO tbdetailjual (nofakjual,kodebarang,jumlah) VALUES (@p6,@p7,@p8) "
ubah = "UPDATE tbbarang SET stok=stok-@p9 WHERE kodebarang = @p10" CMD =
Conn.CreateCommand
With CMD
.CommandText = simpan
.Connection = Conn
.Parameters.Add("p1", MySqlDbType.String, 5).Value = TextBox1.Text
.Parameters.Add("p2", MySqlDbType.DateTime).Value = Format(Now, "yyyy/MM/dd hh:mm:ss")
.Parameters.Add("p3", MySqlDbType.String, 6).Value = ComboBox1.Text
.Parameters.Add("p4", MySqlDbType.Int32, 11).Value = Label9.Text
.Parameters.Add("p5", MySqlDbType.Int32, 11).Value = Label10.Text
.ExecuteNonQuery() End
With

95
For i As Integer = 0 To DataGridView1.Rows.Count - 2
CMD = Conn.CreateCommand
With CMD
.CommandText = simpan1
.Connection = Conn
.Parameters.Add("p6", MySqlDbType.String, 5).Value = TextBox1.Text
.Parameters.Add("p7", MySqlDbType.String, 5).Value = DataGridView1.Rows(i).Cells(0).Value
.Parameters.Add("p8", MySqlDbType.Int32).Value = DataGridView1.Rows(i).Cells(3).Value
.ExecuteNonQuery() End
With
CMD = Conn.CreateCommand
With CMD
.CommandText = ubah
.Connection = Conn
.Parameters.Add("p9", MySqlDbType.UInt32).Value = DataGridView1.Rows(i).Cells(3).Value
.Parameters.Add("p10", MySqlDbType.String).Value = DataGridView1.Rows(i).Cells(0).Value
.ExecuteNonQuery()
End With
Next
Conn.Close()
CMD.Dispose() bersih()
End If

96
Setelah selesai, coba jalankan.
Jika berhasil, maka akan tampil seperti gambar dibawah ini :
Perhatikan Stok Akhir barang pada DataGridView mengalami
pengurangan setelah terjadi penjualan.

97
Stok Akhir data barang dengan kode barang yang
tertera pada DataGridView form transaksi penjualan
akan berkurang sesuai jumlah item yang dijual.
Kode barang MIE001 dan MIE002, perhatikan
tabel dibawah ini,untuk memastikan data barang
yang terdapat pada database tepatnya di dalam
Tabel Barang, benar-benar mengalami
perubahan/berkurang.

98

Anda mungkin juga menyukai