APLIKASI TOKO BUKU VB.NET

08/03/13
Hemmm.......baru dapat inspirasi nih buat lanjutin pembuatan aplikasi yang sebelumnya saya buat, sekarang saya mau lanjutin lagi........mari kita mulai aja deh.........


 
Gambar Tampilan tambah barang pada form Transaksi Penjualan

Object Name               Properties                         Value
Panel1                           Name                               Pnl_tmbah_jual
Label1                          Text                                  Data Barang
Label2                          Text                                  Cari berdasarkan
ComboBox1                 Name,Text, Items      Cb_cariBrg,Pilih Pencarian,NO ISBN,JUDUL,PENGARANG
TAHUN
PENERBIT
Label3                        Text                                       Item Tersedia=
Label4                        Text,Name                            Item ,Lbl_jml_item
ListView1                  Name                                     Lsv_Brg
Label5                       Text                                        Selected Item =
TextBox1                   Name                                     Tb_SelectedBrg
Label6                       Text                                          Jumlah=
TextBox2                  Name                                       Tb_Jmlbrg
Button1                     Name,Text                                Btn_close , Close
Button2                     Name,Text                                Btn_tmbh , Tambah


Prosedur Close
Prosedur ini digunakan untuk menutup halaman data barang, berikut kode untuk prosedur
close:

PrivateSub btnCloseBrg_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles btnCloseBrg.Click
pnlTambahJual.Hide()
btnHapusJual.Enabled = True
btnBayarJual.Enabled = True
EndSub

Prosedur Tambah

PrivateSub btnTambahBrg_Click(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles btnTambahBrg.Click
Dim c AsInteger
Dim subtot AsDouble
c = LV_jual.Items.Count
Dim item AsInteger = Val(lblJmlItem.Text)
If tbJmlbrg.Text = ""Then
MsgBox("Anda belum mengisi jumlah barang!!!")
ElseIf IsNumeric(tbJmlbrg.Text) = FalseThen
MsgBox("Jumlah yang anda masukkan salah. Jumlah harus
berupa angka!!!")
ElseIf Val(tbJmlbrg.Text) > item Then
MsgBox("Jumlah yang anda masukkan lebih dari item
tersedia!!!")
Else
LV_jual.Items.Add(lv_brg.SelectedItems(0).SubItems(0).Text)
LV_jual.Items(c).SubItems.Add(lv_brg.SelectedItems(0).SubItems(1).Text)
LV_jual.Items(c).SubItems.Add(lv_brg.SelectedItems(0).SubItems(5).Text)
LV_jual.Items(c).SubItems.Add(tbJmlbrg.Text)
subtot = Val(tbJmlbrg.Text) *
Val(lv_brg.SelectedItems(0).SubItems(5).Text)
LV_jual.Items(c).SubItems.Add(subtot)
'Menghitung Jumlah barang
If brg = 0 Then
brg = Val(tbJmlbrg.Text)
Else
brg += Val(tbJmlbrg.Text)
EndIf
pnlTambahJual.Hide()
hitungTot()
btnHapusJual.Enabled = True
btnBayarJual.Enabled = True
EndIf
EndSub


 
Keterangan:
Label, digunakan untuk menampilkan teks pada aplikasi, Berada pada toolbox
Button, digunakan untuk membuat sebuah tombol.
Text Box, adalah komponen yang digunakan sebagai inputan.
Combo Box, adalah komponen yang digunakan sebagai inputanyang berupa pilihan.
List View, berfungsi untuk menampilkan data dari suatu tabel tertentu


Prosedur Tambah
Prosedur ini digunakan untuk menambah data yang diinputkan oleh kasir ke tabel transaksi
penjualan. Berikut ini kode untuk tombol Tambah :

PrivateSub btnTambahJual_Click(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles btnTambahJual.Click
pnlTambahJual.Show()
btnHapusJual.Enabled = False
btnBayarJual.Enabled = False
btnTambahBrg.Enabled = False
lblJmlItem.Text = "0"
tbCariBrg.Text = ""
cbCariBrg.Text = "Pilih Pencarian"
tbJmlbrg.Text = ""
lv_brg.Items.Clear()
getData("select * from t_buku")
EndSub



Prosedur Hapus
Prosedur ini digunakan untuk menghapus total belanja yang terdapat pada tabel transaksi
penjualan. Berikut kode untuk prosedur Hapus

PrivateSub btnHapusJual_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles btnHapusJual.Click
Dim i AsInteger = LV_jual.CheckedItems.Count
Dim a AsInteger
For a = 1 To i
LV_jual.CheckedItems(0).Remove()
Next a
hitungTot()
EndSub
Object Name                  Propertise                       Value
Label1                                 Text                                       No. Nota
Label2                             Text                                   Petugas Kasir
Label3                             Text                                   Tanggal
Label4                             Text                                   Total Belanja
Label5                             Text                                    Form Pembayaran
lblTotal                           Text                                     lblTotal
TextBox1                       Name                                   tbNoNotaJual
TextBox2                       Name                                   tbKasirJual
Button1                         Text ,Name                           &Tambah   ,btnTambahJual
Button2                         Text ,Name                           &Hapus  ,btnHapusJual


Keterangan:
Label, digunakan untuk menampilkan teks pada aplikasi, Berada pada toolbox
Button, digunakan untuk membuat sebuah tombol.
Text Box, adalah komponen yang digunakan sebagai inputan.
Combo Box, adalah komponen yang digunakan sebagai inputanyang berupa pilihan.

Object Name                         Propertise                        Value
Label1                                    Text                                  No. Nota
Label2                                    Text                                  Petugas Kasir
Label3                                    Text                                  Tanggal
Label4                                    Text                                  Total Belanja
Label5                                    Text                                  Form Pembayaran
Label6                                    Text                                  No Nota
lblnonota                                Text                                  no nota
Label7                                    Text                                  Total Barang
Label8                                    Text                                  Total Belanja
Label9                                    Text                                   Bayar
Label10                                  Text                                   Kembalian
lblTotal                                  Text                                   lblTotal
TextBox1                               Name                                 tbNoNotaJual
TextBox2                               Name                                 tbKasirJual
TextBox3                               Name                                  tbTotBrg
TextBox4                              Name                                   tbTotbelanja
TextBox5                              Name                                   tbBayarJual
ComboBox1                         Name                                    dtpJual
Button1                               Text,Name                            &Tambah  ,btnTambahJual
Button2                               Text Name                           &Hapus ,btnHapusJual
Button3                               Text,Name                           &Bayar ,btnBayarJual
Button4                               Text ,Name                           &Close,btnCloseBayar
Button5                               Text, Name                           &Printbtn, PrintJual
Button6                               Text,Name                             &Simpanbtn,SimpanJual


Prosedur Bayar
Prosedur ini digunakan untuk proses pembayaran pada transaksi penjualan. Berikut kode
untuk prosedur Bayar :

PrivateSub btnBayarJual_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles btnBayarJual.Click
pnlByarJual.Show()
pnlByarJual.BringToFront()
btnHapusJual.Enabled = False
btnTambahJual.Enabled = False
pnlTambahJual.Hide()
tbTotBrg.Text = Trim(Str(brg))
tbTotbelanja.Text = Trim(lblTotal.Text)
tbTotbelanja.Enabled = False
tbTotBrg.Enabled = False
tbBayarJual.Text = ""
tbBayarJual.Focus()
lblnonota.Text = tbNoNotaJual.Text
btnPrintJual.Enabled = False
EndSub

Prosedur Close
Prosedur ini digunakan untuk menutup menu pada transaksi penjualan. Berikut kode
untuk prosedur Close :

PrivateSub btnCloseBayar_Click(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles btnCloseBayar.Click
pnlByarJual.Hide()
btnTambahJual.Enabled = True
btnHapusJual.Enabled = True
EndSub

Prosedur Print
Prosedur ini digunakan untuk mencetak nota pembayaran pada transaksi penjualan.
Berikut kode untuk prosedur Print :
PrivateSub btnPrintJual_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles btnPrintJual.Click
LapJual.TextBox1.Text = lblnonota.Text
btnSimpanJual_Click(sender, e)
LapJual.Show()
btnCloseBayar_Click(sender, e)
LV_jual.Items.Clear()
lblTotal.Text = "0"
autonota()
EndSub

Prosedur Simpan
Prosedur ini digunakan untuk menyimpan data pembayaran pada transaksi penjualan.
Berikut kode untuk prosedur Simpan :

PrivateSub btnSimpanJual_Click(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles btnSimpanJual.Click
Dim cmd AsNew SqlCommand()
Dim server, noisbn, stok AsString
server =
"server=Nureal\sqlexpress;Database=toko_buku;integrated security=true"
Dim con AsNew SqlClient.SqlConnection(server)
con.Open()
cmd.Connection = con
cmd.CommandText = "Insert into t_penjualan values('" +
tbNoNotaJual.Text + "','" _
+ dtpJual.Text + "','" + ktp + "','" + lblTotal.Text
+ "')"
cmd.ExecuteNonQuery()
Dim x AsInteger = LV_jual.Items.Count
For i AsInteger = 0 To x - 1
'Mencari no isbn dan stok awal
cmd.CommandText = "select no_isbn,stok_awal from t_buku
where no_isbn='" + LV_jual.Items(i).SubItems(0).Text + "'"
Dim da(i) As SqlDataReader
da(i) = cmd.ExecuteReader
da(i).Read()
noisbn = da(i)!no_isbn
stok = da(i)!stok_awal
Dim stk, kurang AsInteger
stk = Val(stok)
kurang = Val(LV_jual.Items(i).SubItems(3).Text)
stk = stk - kurang
'Mengurangi stok barang
con.Close()
con.Open()
cmd.CommandText = "update t_buku set stok_awal=" + Str(stk)
+ " where no_isbn='" + noisbn + "'"
cmd.ExecuteNonQuery()
'Masuk ke tabel penjualan detail
cmd.CommandText = "insert into t_penjualan_detail values('"
+ tbNoNotaJual.Text + "','" +
LV_jual.Items(i).SubItems(0).Text + "','" _
+ LV_jual.Items(i).SubItems(3).Text + "','" +
LV_jual.Items(i).SubItems(2).Text + "','" _
+ LV_jual.Items(i).SubItems(4).Text + "')"
cmd.ExecuteNonQuery()
Next
'MsgBox("Data telah disimpan")
EndSub

 Pembuatan Form Pembelian Barang


Langkah pembuatan from diatas, tambahakan komponen-komponen ke dalam form tersebut
sperti pada daftar table di bawah ini, kemudian atur propetiesnya :
NO  Component Properties Nilai Propeties
1 Form1 Name frPembelian
2 MenuStips1 Name
Item
Menupilihan
Save
F2-Add Item
F3-Del.Item
Exit
3 Label1 Text No Faktur
4 Label2 Text Tanggal Faktur
5 Label3 Text Supplier
6 Label4 Text Total
7 Label5 Text Rp.
8 Label6 Text 0

Name LbTotal
10 ListView1 Name LV_Beli
11 Label7 Text Daftar yang dibeli
12 Label8 Text Scan Barcode
13 TextBox1 Name TnoFaktur
14 DateTimePicker Name dTanggal
15 ComboBox1 Name CSupplier
16 TextBox2 Name tBarcode
17 Label9 Text Nama Barang
18 Label10 Text Pencarian Barang
Deklarasi Variabel Public
Public ktp As String
Public no_spl As String
Fungsi
fungsi pada form Pembelian
'fungsi Pencarian Nama
Nama supplier
Private Sub getSupplier()
Dim cmd As New SqlCommand("select Nama from t_Supplier order by nama
Asc")
Dim server, nama As String
server = "server=LAB3-FAF54F5981;Database=toko_buku;integrated
security=true"
Dim con As New SqlClient.SqlConnection(server)
con.Open()
cmd.Connection = con
Dim dr As SqlDataReader
dr = cmd.ExecuteReader()
'menampilkan isi combobox dari database
cSupplier.Items.Clear()
Do While dr.Read()
cSupplier.Items.Add(dr!nama)
Loop
dr.Close()
con.Close()
End Sub
'fungsi Pencarian No supplier sesuai dengan combobox
Private Sub getNoSupplier()
Dim cmd As New SqlCommand("select * from t_supplier where
nama='" + cSupplier.Text + "'")
Dim server, nama As String
server = "server=LAB3-FAF54F5981;Database=toko_buku;integrated
security=true"
Dim con As New SqlClient.SqlConnection(server)
con.Open()
cmd.Connection = con
Dim dr As SqlDataReader
dr = cmd.ExecuteReader()
If dr.HasRows Then
dr.Read()
no_spl = dr.Item(0)
Else
MsgBox("No data available!")
End If
con.Close()
End Sub
'fungsi Pencarian data buku yang di tampilkan pada list Barang
Private Sub getData(ByVal command As String)
Dim server As String = "server=LAB3-
FAF54F5981;Database=toko_buku;integrated security=true"
Dim konek As New SqlClient.SqlConnection
konek.ConnectionString = server
konek.Open()
Dim cmd As New SqlClient.SqlCommand(command)
Dim da As SqlClient.SqlDataReader
cmd.Connection = konek
da = cmd.ExecuteReader
Dim i As Integer = 0
Do While da.Read()
lv_brg.Items.Add(da!no_isbn)
lv_brg.Items(i).SubItems.Add(da!judul)
lv_brg.Items(i).SubItems.Add(da!pengarang)
lv_brg.Items(i).SubItems.Add(da!penerbit)
lv_brg.Items(i).SubItems.Add(da!th_terbit)
Dim harga(i) As Double
harga(i) = da!harga
lv_brg.Items(i).SubItems.Add(harga(i))
lv_brg.Items(i).SubItems.Add(da!stok_awal)
i += 1
Loop
konek.Close()
konek.Dispose()
End Sub
'fungsi menghitung total pembelian
Private Sub hitungTot()
Dim tot As Double = 0
For x As Integer = 0 To LV_Beli.Items.Count - 1
tot += Val(LV_Beli.Items(x).SubItems(4).Text)
Next
lbTotal.Text = Str(tot)
End Sub
Prosedur form on load sebagai berikut:
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load
tNoFaktur.Focus()
End Sub
Prosedur ComboBox on event Mouse Down sebagai berikut:
Private Sub cSupplier_MouseDown(ByVal sender As System.Object, ByVal e
As System.Windows.Forms.MouseEventArgs) Handles cSupplier.MouseDown
getSupplier()
End Sub
Prosedur Button Tambah
Kode untuk menambahkan item adalah sebagai berikut:
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles btTambah.Click
Dim c As Integer
Dim subtot As Double
Try
c = LV_Beli.Items.Count
LV_Beli.Items.Add(lv_brg.SelectedItems(0).SubItems(0).Text)
LV_Beli.Items(c).SubItems.Add(lv_brg.SelectedItems(0).SubItems(1).Text)
LV_Beli.Items(c).SubItems.Add(lv_brg.SelectedItems(0).SubItems(5).Text)
LV_Beli.Items(c).SubItems.Add(tQty.Text)
subtot = Val(tQty.Text) *
Val(lv_brg.SelectedItems(0).SubItems(5).Text)
LV_Beli.Items(c).SubItems.Add(subtot)
hitungTot()
Panel1.Visible = False
Catch ex As Exception
MsgBox("Select item terlebih dahulu !!!")
End Try
End Sub
Prosedur Save
Prosedur yang digunakan untuk menyimpan record baru ke dalam database, berikut source
untuk save:
Private Sub SaveToolStripMenuItem_Click(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles SaveToolStripMenuItem.Click
Dim cmd As New SqlCommand()
Dim server, noisbn, stok As String
server = "server=LAB3-FAF54F5981;Database=toko_buku;integrated
security=true"
getNoSupplier()
Try
Dim con As New SqlClient.SqlConnection(server)
con.Open()
cmd.Connection = con
cmd.CommandText = "Insert into t_pembelian values('" +
tNoFaktur.Text + "','" _
+ dTanggal.Text + "','" + ktp + "','" + no_spl +
"','" + lbTotal.Text + "')"
cmd.ExecuteNonQuery()
Dim x As Integer = LV_Beli.Items.Count
For i As Integer = 0 To x – 1
'Mencari no isbn dan stok awal
cmd.CommandText = "select no_isbn,stok_awal from t_buku
where no_isbn='" + LV_Beli.Items(i).SubItems(0).Text + "'"
Dim da(i) As SqlDataReader
da(i) = cmd.ExecuteReader
da(i).Read()
noisbn = da(i)!no_isbn
stok = da(i)!stok_awal
Dim stk, tambah As Integer
stk = Val(stok)
tambah = Val(LV_Beli.Items(i).SubItems(3).Text)
stk = stk + tambah
'Mengurangi stok barang
con.Close()
con.Open()
cmd.CommandText = "update t_buku set stok_awal=" +
Str(stk) + " where no_isbn='" + noisbn + "'"
cmd.ExecuteNonQuery()
'Masuk ke tabel pembelian detail
cmd.CommandText = "insert into t_pembelian_detail values('" _
+ tNoFaktur.Text + "','" +
LV_Beli.Items(i).SubItems(0).Text + "','" _
+ LV_Beli.Items(i).SubItems(3).Text + "','" +
LV_Beli.Items(i).SubItems(2).Text + "','" _
+ LV_Beli.Items(i).SubItems(4).Text + "')"
cmd.ExecuteNonQuery()
Next
MsgBox("Data telah disimpan")
Catch ex As Exception
MsgBox("Data tidak tersimpan")
End Try
End Sub
Prosedur Add-Item
Prosedur yang digunakan untuk menambahkan record baru ke dalam database, berikut source
untuk Add-item:
Private Sub TambahItemToolStripMenuItem_Click(ByVal sender As
System.Object, ByVal e As System.EventArgs) Handles
TambahItemToolStripMenuItem.Click
Panel1.Visible = True
tQty.Text = "1"
lv_brg.Items.Clear()
getData("select * from t_buku")
End Sub
Prosedur Delete-Item
Prosedur yang digunakan untuk menghapus record baru ke dalam database, berikut source untuk Delete-item:
Private Sub DelItemToolStripMenuItem_Click(ByVal sender As
System.Object, ByVal e As System.EventArgs) Handles
DelItemToolStripMenuItem.Click
Dim i As Integer = LV_Beli.CheckedItems.Count()
Dim a As Integer
For a = 1 To i
LV_Beli.CheckedItems(0).Remove()
Next a
hitungTot()
End Sub
Prosedur Exit
Prosedur yang digunakan untuk keluar dari Form Penjualan, berikut source untuk prosedur
Exit:
Private Sub ExitToolStripMenuItem_Click(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles ExitToolStripMenuItem.Click
If Panel1.Visible = True Then
Panel1.Visible = False
Else
End
End If
End Sub
Setelah Membuat sciprt di atas kita tambahkan Panel untuk menampilkan barang




Read more ...