Diktat
Diktat
Daftar Isi
BAB 1 Instalasi VB.Net ................................................................................
1.1 Proses Instalasi VB.Net ...................................................................
1.2 Sekilas tentang VB.Net ....................................................................
BAB 2 Merancang Database .......................................................................
2.1 Konsep Database ...........................................................................
2.2 Key ...............................................................................................
2.3 Teknologi Manipulasi Data ...............................................................
2.4 Database dan Data Kontrol ..............................................................
2.5 Konsep Database Relational ............................................................
2.6 Index ............................................................................................
2.7 Entity Relationship Diagram (ERD) ...................................................
2.8 Membuat Relasi antar database .......................................................
2.9 Koneksi Database Access pada VB.Net .............................................
BAB 3 Membuat Form .................................................................................
3.1 Main Menu .....................................................................................
3.2 Membuat Main Menu ......................................................................
3.3 Penggunaan Module ......................................................................
3.4 Form Entri Data Barang ..................................................................
3.5 Form Entri Data Pelanggan ..............................................................
3.6 Form Entry Pesanan .......................................................................
3.7 Form Entry Nota .............................................................................
3.8 Form Entry Cetak Nota ....................................................................
3.9 Form Cetak Kwitansi .......................................................................
3.10 Form Entry Surat Jalan ..................................................................
3.11 Form Entry Retur ..........................................................................
3.12 Form Cetak Retur .........................................................................
BAB 4 Membuat Laporan ............................................................................
4.1 Form Cetak Surat Jalan ...................................................................
4.2 Form Cetak Laporan Penjualan ........................................................
Daftar Pustaka ..............................................................................................
BAB 1
INSTALASI VB.NET
1.1 Proses Instalasi VB.NET
Untuk menginstall Microsoft VB.NET sama seperti menginstal aplikasi produk
Miscrosoft lain pada umumnya. Dalam hal ini tinggal hidupkan komputer, kemudian
masukkan CD instalan VB.NET kedalam CD-ROM. Kemudian tunggu hingga proses
selesai.
Untuk menjalankan Microsoft VB.NET diperlukan perangkat keras yang sesuai
dengan kebutuhan. Namun apabila koputer sudah terpasang Microsoft Windows
2000 atau yang lebih tinggi misalnya Windows XP, maka sudah dipastikan bahwa
Anda bisa menjalankan Microsoft VB.NET.
Untuk menginstal VB.NET Anda harus mempersiapkan perangkat keras dan
perangkat lunak sebagai berikut :
Komputer dengan spesifikasi minimal Pentium II 450 MHz
Memori atau RAM yang disesuaikan dengan sistem operasi yang digunakan.
Monitor Super VGS (1024x768) atau yang lebih tinggi.
Hardisk minimal 10 GB.
Mouse
Sistem Operasi Windows 2000 atau yang lebih tinggi.
1.2 Sekilas tentang VB.Net
Hampir sebagian besar pengguna komputer di dunia sudah mengenal produk-produk
Microsoft, salah satunya adalah Microsoft Visual Basic.Net. VB.Net merupakan
pengembangan dari Microsoft Visual Basic versi sebelumnya.
Membangun
suatu
program
aplikasi
dengan
vB.Net
lebih
mudah
dan
menyenangkan, karena selain dilengkapi fitur-fitur baru juga tersedia bermacambermacam toolbars, komponen, class, object dan sebagainya. Jika Anda sudah
terbiasa dengan Visual Basic kemungkinan besar untuk migrasi ke VB.Net tidak akan
mengalami kesulitan, karena hampir semua komponen di Visual Basic versi
sebelumnya masih bisa digunakan. Sebagai contoh untuk membuat suatu Project
dengan VB.Net Anda tinggal klik Menu File, kemudian pilih Project dan akan keluar
kotak dialog. Setelah itu pilih Windows Application, kemudian beri nama Project
tersebut.
BAB 2
MERANCANG DATABASE
2.1 Konsep Database
Dalam membangun aplikasi menggunakan Visual basic selalu dilengkapi dengan
database. Database ini bisa dibuat dengan Microsoft Access, Oracle, Microsoft SQL
dan sebagainya. Dalam hal ini tentu disesuaikan dengan kebutuhan dan kemampuan
pemrogram.
Yang dimaksud dengan mendesain database adalah merancang suatu database
yang akan digunakan dalam suatu aplikasi yang akan dibangun. Sedangkan
database itu sendiri adalah kumpulan beberapa tabel yang ditampung dalam suatu
file yang namanya database.
Basisdata (database) adalah kumpulan data yang saling berhubungan satu dengan
lainnya yang tersimpan di perangkat keras komputer dan diperlukan suatu
perangkat lunak untuk memanipulasi basis data tersebut.
Data, merupakan kenyataan yang menggambarkan suatu kejadian-kejadian dari
kesatuan yang nyata. Data tersimpan secara terintegrasi dan dipakai secara
bersama-sama.
DBMS adalah sistem perangkat lunak yang digunakan untuk mengendalikan data,
termasuk penyimpanan data, pengambilan data, keamanan data dan integritas data.
Fungsi utama DBMS adalah untuk menyediakan lingkungan yang nyaman dan efisien
untuk digunakan dalam pengambilan dan penyimpanan informasi di basis data.
Operasi-operasi dasar yang dapat dilakukan berkenaan dengan basis data meliputi :
1. Pembuatan basis data baru (create database)
2. Penghapusan basis data (drop database)
3. Pembuatan file atau tabel baru ke suatu basis data (create table)
4. Penghapusan file atau tabel dari suatu basis data (drop table)
5. Penambahan atau pengisian data baru ke sebuah file atau tabel di sebuah basis
data (insert)
6. Pengambilan data dari sebuah file atau tabel (retieve atau search)
7. Perubahan data dari sebuah file atau tabel (update)
Insert
Delete
Terdapat
beberapa
konsep
yang
perlu diketahui
pada
penyimpanan
data
antara lain :
File adalah Sekumpulan record dari tipe tunggal yang berisi elemen-elemen
data yang menggambarkan himpunan entitas.
Field adalah suatu elemen yang memiliki atribut (panjang, tipe data, dll) dan
harga dan merupakan unit informasi terkecil yang bisa diakses. Suatu record
dibentuk oleh banyak field. Setiap field dalam suatu record mengandung suatu
potongan tunggal dari informasi tentang record. Sebagai contoh, suatu record
Karyawan memiliki No Induk Karyawan, Nama, Marga dan yang lainnya.
2.2 Key
Key adalah elemen record yang dipakai untuk
akses. Untuk secara unik mengenali suatu baris (record), setiap tabel harus memiliki
suatu primary key. Dalam konsep database, dikenal beberapa key, antara lain :
a. Primary Key
Primary key adalah suatu field, atau kombinasi dari field-field, yang mana
nilainya bersifat unik untuk tiap baris atau record dalam tabel. Key merupakan
field yang mengidentifikasikan sebuah record dalam file dan bersifat unix.
b. Secondary Key
Berbeda
dengan
primary
key,
secondary
key
merupakan
field
c. Candidate Key
Merupakan field-field yang bisa dipilih (dipakai) menjadi primary key.
yang
d. Alternate Key
Merupakan Candidate key yang tidak terpilih menjadi Primary key
e. Composite Key
Yang dimaksud dengan Composite Key adalah primary key yang dibentuk dari
beberapa Field
d. Foreign Key
adalah field yang bukan key, tapi key pada file yang lain
Seperti kita ketahui, teknologi data access selalu berkembang dengan cepat.
Teknologi terakhir adalah ADO, yang menawarkan kemudahan dan fleksibilitas
dibandingkan dengan RDO atau DAO. Selain itu ADO juga mudah untuk dipelajari.
Jadi untuk mengembangkan suatu aplikasi basis data baru, gunakan saja teknologi
terakhir yang disebut ADO (ActiveX Data Objects).
Alasan menggunakan teknologi ini karena, ADO (ActiveX Data Objects) di disain
untuk memudahkan interaksi aplikasi dengan data access sesuai dengan paradigma
baru yang dikembangkan oleh Microsoft yaitu OLE DB. OLE DB menyedikan 'highperformance' untuk meng-akses semua jenis data source, termasuk didalamnya nonrelational database dan relational (ORACLE-InterBase-BD2), email dan file systems,
text dan grafik, dan lainnya.
Suatu struktur didefinisikan dengan membuat relasi antar tabel, kaitan data antar
tabel ini di dalam database merupakan model dari relationship.
Model database relational menampilkan data sebagai suatu koleksi dari tabel-tabel.
Suatu tabel adalah pengelompokan secara logika dari informasi yang berhubungan.
Tabel-tabel dibentuk oleh baris-baris dan kolom-kolom. Baris-baris sering disebut
sebagai record-record dan kolom-kolom disebut sebagai field-field.
2.6 Index
Untuk mempercepat akses, banyak database menggunakan index. Data tabel yang
terindex berurut akan lebih cepat pencariaannya dibandingkan dengan tabel. Setiap
isi index menunjuk ke posisi ditabelnya
Dari bentuk relational database diatas maka dapat kita lihat bahwa :
Tabel Aktifitas berisi data aktifitas peserta dimana seorang Peserta dapat
mengikuti lebih dari satu forum Diskusi, dan sebuah forum diskusi dapat diikuti
oleh lebih dari satu peserta, dan status Peserta pada masing-masing forum
diskusi dapat berbeda-beda.
Nama
Field
(Foreign
Foreign Tabel
Foreign Field
Peserta
ForumID
Forum
ForumID
Status
Status
Status
key)
Untuk membuat Relasi antar tabel dapat menggunakan Bahasa SQL yang
diketikan pada jendela SQL Language dan kemudian di Execute.
Adapun DDL (Data Definition Language) SQL untuk membuat Relasi antar tabel
adalah sebagai berikut :
ALTER TABLE table ADD CONSTRAINT name
dimana :
table
Nama tabel
name
ref
foreigntable
foreignfield
Contoh :
Jika dibuka dengan Relationship pada Microsoft Access maka hasil perintah SQL
diatas akan membuat relasi antar tabel sebagai berikut :
nama database
= supermarket.mdb
Pada database supermarket siapkan tabel-tabel yang diperlukan, misal untuk tahap
awal, siapkan tabel barang, dengan struktur berikut :
Pilih Provider : Microsoft Jet 4.0 OLE DB Provider, klik tombol Next Kemudian pilih
database yang akan digunakan
Setelah proses koneksi selesai, klik tombol Next. Lanjutkan hingga pada perintah
Generate SQL statements, ketikkan perintah SQL untuk menampilkan data barang.
Urutan Field Pada perintah Select akan berpengaruh pada susunan kolom pada
komponen DataGrid.
Kemudian pada proses selanjutnya akan muncul hak akses yang diberikan ke kita
secara penuh, yaitu Select,Insert, Update dan Delete.
Setelah proses koneksi selesai, tahap berikutnya adalah membuat dataset, Dataset
adalah komponen yang berfungsi sebagai sumber data (data source) untuk
komponen-komponen yang ada dalam Form.
Untuk membuat dataset, klik kanan pada komponen OledbDataAdapter1, kemudian
pilih generate dataset
Setelah proses membuat dataset baru selesai, ganti properties name komponen
dataset (misal: dsbarang).
Untuk menampilkan data, pilih komponen datagrid, letakkan dalam from, kemudian
atur properties datasourcenya, pilih dsbarang.barang. Setelah dipilih datasource,
pada komponen Datagrid akan tampil field-field dari tabel barang
barang,
pada
komponen
OleDBDataAdapter1.fill(dsbarang),
form1
event
load,
ketikkan
perintah
Pada tombol keluar, ketikkan perintah untuk menutup koneksi dan menutup
form/program.
BAB 3
MEMBUAT FORM
3.1 Main Menu
Agar program aplikasi yang dibangun bisa digunakan dengan baik, harus ada suatu
menu sebagai pengontrol proses yang sedang atau akan berlangsung. Tanpa
dibangun suatu menu, maka akan sulit bagi pemakai atau user untuk menjalankan
suatu aplikasi yang dibangun. Oleh karena itu menu dalam suatu aplikasi sangat
penting. Main menu yang ada dalam program dapat digunakan untuk memanggil
semua form yang telah dibuat.
Untuk membuat menu, dalam VB.Net sangat berbeda dibandingkan dengan bahasa
pemrograman lainnya, karena VB.Net sudah menyediakan fasilitas berupa Control
Object.
As
System.Object,
cur.Show()
End Sub
Private Sub Menu_Load(ByVal sender As System.Object,
ByVal e As System.EventArgs)Handles MyBase.Load
End Sub
End Class
Imports System.Data.OleDb
Imports System.Data
Module MyModule
Public strConn As String =
"Provider=Microsoft.Jet.OLEDB.4.0;Data
Source=" & Application.StartupPath &
"\jeckess.mdb;"
Public cur As New Form
End Module
Me.Hide()
cur = New Menu
cur.Show()
End Sub
Private Sub btnKeluar_Click(ByVal sender As
System.Object, ByVal e As System.EventArgs) Handles
btnKeluar.Click
'Me.Hide()
'cur = New Menu
'cur.Show()
Me.Close()
End Sub
Private Sub Barang_Load(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles MyBase.Load
'Buka koneksi
cnn = New OleDbConnection(strConn)
If cnn.State <> ConnectionState.Closed Then
cnn.Close()
cnn.Open()
'Buat AutoNumber u kode
Dim strTemp As String = ""
Dim strValue As String = ""
Dim sql As String
sql = "SELECT * FROM barang ORDER BY KD_BRG
DESC"
cmmd = New OleDbCommand(sql, cnn)
dReader = cmmd.ExecuteReader
If dReader.Read Then
strTemp = Mid(dReader.Item("KD_BRG"), 3, 5)
Else
txtkdBrg.Text = "BR00001"
Exit Sub
End If
strValue = Val(strTemp) + 1
txtkdBrg.Text = "BR" & Mid("0000", 1, 5 strValue.Length) & strValue
End Sub
If x = 1 Then
MessageBox.Show("DATA BARANG BERHASIL DISIMPAN")
sql = "SELECT * FROM barang ORDER BY KD_BRG DESC"
cmmd = New OleDbCommand(sql, cnn)
dReader = cmmd.ExecuteReader
If dReader.Read Then
strTemp = Mid(dReader.Item("KD_BRG"), 3,5)
Else
txtkdBrg.Text = "BR00001"
Exit Sub
End If
strValue = Val(strTemp) + 1
txtkdBrg.Text = "BR" & Mid("0000", 1, 5 strValue.Length) & strValue
txtnmBrg.Text = ""
txtHarsat.Text = ""
cmbSex.Text = ""
cmbColor.Text = ""
cmbSize.Text = ""
txtnmBrg.Focus()
Else
MessageBox.Show("GAGAL MENYIMPAN DATA BARANG")
End If
End Sub
Private Sub btnUbah_Click(ByVal sender As System.Object, ByVal e
As
System.EventArgs) Handles btnUbah.Click
Dim sql As String
Dim strTemp As String = ""
Dim strValue As String = ""
sql = "UPDATE barang SET nm_brg='" & txtnmBrg.Text &
"'," & _
"harsat='" & txtHarsat.Text & "', " & _"jk='" &
cmbSex.Text &
"'," & _"warna='" & cmbColor.Text &
"'," & _"ukuran='" &
cmbSize.Text & "'" &
_"WHERE kd_brg='" & txtkdBrg.Text & "'"
cmmd = New OleDbCommand(sql, cnn)
Dim x As Integer = cmmd.ExecuteNonQuery
If x = 1 Then
MessageBox.Show("DATA BARANG BERHASIL DIUPDATE")
strValue = Val(strTemp) + 1
txtkdBrg.Text = "BR" & Mid("0000", 1, 5 strValue.Length) & strValue
txtnmBrg.Text = ""
txtHarsat.Text = ""
cmbSex.Text = ""
cmbColor.Text = ""
cmbSize.Text = ""
txtkdBrg.Enabled = True
txtkdBrg.Focus()
Else
MessageBox.Show("GAGAL UPDATE DATA BARANG")
End If
End Sub
If dReader.Read Then
strTemp = Mid(dReader.Item("KD_BRG"), 3, 5)
Else
txtkdBrg.Text = "BR00001"
Exit Sub
End If
strValue = Val(strTemp) + 1
txtkdBrg.Text = "BR" & Mid("0000", 1, 5 - strValue.Length) &
strValue
txtnmBrg.Text = ""
txtHarsat.Text = ""
cmbSex.Text = ""
cmbColor.Text = ""
cmbSize.Text = ""
txtkdBrg.Enabled = True
txtkdBrg.Focus()
Else
MessageBox.Show("GAGAL HAPUS DATA BARANG")
End If
End Sub
txtkdBrg.Text = "BR00001"
Exit Sub
End If
strValue = Val(strTemp) + 1
txtkdBrg.Text = "BR" & Mid("0000", 1, 5 strValue.Length) & strValue
End Sub
Private Sub btnCariBrg_Click(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles
btnCariBrg.Click
Dim popupbrg As New PopBrg
popupbrg.ShowDialog()
If popupbrg.retKd_Brg <> "" Then
txtkdBrg.Text = popupbrg.retKd_Brg
txtnmBrg.Text = popupbrg.retNm_Brg
txtHarsat.Text = Format(CDbl(popupbrg.retHarsat),
"##,####,####,###")
cmbSex.Text = popupbrg.retJK
cmbColor.Text = popupbrg.retWarna
cmbSize.Text = popupbrg.retUkuran
txtkdBrg.Enabled = False
txtnmBrg.Focus()
End If
End Sub
End Class
Imports System.Data.OleDb
Imports System.Data
Public Class Pelanggan
Dim cnn As OleDbConnection
Dim cmmd As OleDbCommand
Dim dReader As OleDbDataReader
Private Sub Pelangan_Closing(ByVal sender As Object,
ByVal e As System.ComponentModel.CancelEventArgs)
Handles MyBase.Closing
Me.Hide()
cur = New Menu
cur.Show()
End Sub
Private Sub Pelanggan_Load(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles MyBase.Load
'Buka koneksi
cnn = New OleDbConnection(strConn)
If cnn.State <> ConnectionState.Closed Then cnn.Close()
cnn.Open()
'Buat AutoNumber u kode pelanggan
Dim strTemp As String = ""
End If
End Sub
Private Sub btnSimp_Click(ByVal sender As System.Object, ByVal e
As
System.EventArgs) Handles btnSimp.Click
Dim sql As String
Dim strTemp As String = ""
Dim strValue As String = ""
sql = "INSERT INTO pelanggan(KD_PLG, nm_plg, almt, TELP)
" & _
"VALUES('" & txtkdPlg.Text & _ "','" &
txtnmPlg.Text & "','" & txtAlmt.Text &
"','" &
txtKontak.Text & "')"
cmmd = New OleDbCommand(sql, cnn)
Dim x As Integer = cmmd.ExecuteNonQuery
If x = 1 Then
MessageBox.Show("DATA PELANGGAN BERHASIL
DISIMPAN")
sql = "SELECT * FROM pelanggan ORDER BY KD_PLG
DESC"
cmmd = New OleDbCommand(sql, cnn)
dReader = cmmd.ExecuteReader
If dReader.Read Then
strTemp = Mid(dReader.Item("KD_PLG"), 3, 5)
Else
txtkdPlg.Text = "PL00001"
Exit Sub
End If
strValue = Val(strTemp) + 1
txtkdPlg.Text = "PL" & Mid("0000", 1, 5 strValue.Length) & strValue
txtnmPlg.Text = ""
txtAlmt.Text = ""
txtKontak.Text = ""
txtnmPlg.Focus()
Else
MessageBox.Show("GAGAL MENYIMPAN DATA PELANGGAN")
End If
End Sub
txtKontak.Text = ""
sql = "SELECT * FROM pelanggan ORDER BY KD_PLG DESC"
cmmd = New OleDbCommand(Sql, cnn)
dReader = cmmd.ExecuteReader
If dReader.Read Then
strTemp = Mid(dReader.Item("KD_PLG"), 3, 5)
Else
txtkdPlg.Text = "PL00001"
Exit Sub
End If
strValue = Val(strTemp) + 1
txtkdPlg.Text = "PL" & Mid("0000", 1, 5 strValue.Length) &
strValue
End Sub
Private Sub btnKeluar_Click(ByVal sender As
System.Object, ByVal e As
System.EventArgs)
Handles btnKeluar.Click
Me.Close()
End Sub
Private Sub btnCariPlg_Click(ByVal sender As
System.Object, ByVal e As System.EventArgs)
Handles btnCariPlg.Click
Dim popupplg As New PopPlg
popupplg.ShowDialog()
If popupplg.retKdPlg <> "" Then
txtkdPlg.Text = popupplg.retKdPlg
txtnmPlg.Text = popupplg.retNmPlg
txtAlmt.Text = popupplg.retAlmtPlg
txtKontak.Text = popupplg.retTlpPlg
txtkdPlg.Enabled = False
txtnmPlg.Focus()
End If
End Sub
End Class
Imports System.Data.OleDb
Imports System.Data
Public Class SP
Dim cnn As OleDbConnection
Dim cmmd, cmmd1, cmmd2 As OleDbCommand
Dim dReader As OleDbDataReader
Private index As Integer = 0
Private Total As Double = 0.0
Private Sub SP_Closing(ByVal sender As System.Object,
ByVal e As
System.ComponentModel.CancelEventArgs) Handles
MyBase.Closing
Me.Hide()
cur = New Menu
cur.Show()
End Sub
Private Sub SP_Activated(ByVal sender As Object, ByVal e As
System.EventArgs) Handles Me.Activated
txtNoSP.Enabled = False
txtkdPlg.Focus()
End Sub
Private Sub SP_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs)Handles MyBase.Load
''Buka koneksi
cnn = New OleDbConnection(strConn)
If cnn.State <> ConnectionState.Closed Then cnn.Close()
cnn.Open()
'Buat AutoNumber u kode
Dim strTemp As String = ""
Dim strValue As String = ""
Dim sql As String
sql = "SELECT * FROM sp ORDER BY no_sp DESC"
cmmd = New OleDbCommand(sql, cnn)
dReader = cmmd.ExecuteReader
If dReader.Read Then
strTemp = Mid(dReader.Item("no_sp"), 3, 5)
Else
txtNoSP.Text = "SP00001"
Exit Sub
End If
strValue = Val(strTemp) + 1
txtNoSP.Text = "SP" & Mid("0000", 1, 5 strValue.Length) &
strValue
End Sub
Private Sub btnCariPlg_Click(ByVal sender As
System.Object, ByVal e As
System.EventArgs) Handles btnCariPlg.Click
Dim popupplg As New PopPlg
popupplg.ShowDialog()
If popupplg.retKdPlg <> "" Then
txtkdPlg.Text = popupplg.retKdPlg
txtnmPlg.Text = popupplg.retNmPlg
txtAlmt.Text = popupplg.retAlmtPlg
txtKontak.Text = popupplg.retTlpPlg
txtkdPlg.Enabled = False
cariBrg.Focus()
End If
End Sub
Private Sub Button2_Click(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles
cariBrg.Click
Dim popupbrg As New PopBrg
popupbrg.ShowDialog()
If popupbrg.retKd_Brg <> "" Then
txtkdBrg.Text = popupbrg.retKd_Brg
txtnmBrg.Text = popupbrg.retNm_Brg
txtHarsat.Text = Format(CDbl(popupbrg.retHarsat),
"##,####,####,###")
txtSex.Text = popupbrg.retJK
txtColor.Text = popupbrg.retWarna
txtSize.Text = popupbrg.retUkuran
txtkdBrg.Enabled = False
txtJml.Focus()
End If
End Sub
Private Sub txtJml_KeyPress(ByVal sender As Object,
ByVal e As System.Windows.Forms.KeyPressEventArgs)
Handles txtJml.KeyPress
End
Sub
End
Sub
End
Private
As
If Asc(e.KeyChar) = 13 Then
SetTotal()
btnPesan.Focus()
End If
Sub
SetTotal()
Dim a As Integer
a = CInt(txtJml.Text) * CInt(txtHarsat.Text)
txtTotal.Text = Format(CDbl(CStr(a)),
"##,####,####,###")
Sub
AddList(ByVal Value() As String)
Dim subIndex As Integer
lvwPlg.Items.Add("")
For subIndex = 0 To 4
lvwPlg.Items(index).SubItems.Add("")
lvwPlg.Items(index).SubItems(subIndex).Text =
Value(subIndex)
Next
index = index + 1
Sub
Sub btnPesan_Click(ByVal sender As System.Object, ByVal e
End Sub
Private Sub txtBayar_KeyPress(ByVal sender As Object, ByVal e
As
System.Windows.Forms.KeyPressEventArgs)
Handles
txtBayar.KeyPress
If Asc(e.KeyChar) = 13 Then
txtKembali.Text =
Format(CDbl(CStr(CInt(txtBayar.Text) CInt(LblGrandTotal.Text))),
"##,####,####,###")
End If
End Sub
Private Sub cmdSimpan_Click(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles cmdSimpan.Click
Dim counter As Integer
Dim sql1, sql2 As String
Try
sql1 = "INSERT INTO SP(NO_SP, TGL_SP, KD_plg) " &
_
"VALUES('" & txtNoSP.Text & "','" & _
DateTimePicker1.Text & "','" & _
txtkdPlg.Text & "')"
cmmd1 = New OleDbCommand(sql1, cnn)
Dim x As Integer = cmmd1.ExecuteNonQuery
For counter = 0 To index - 1
sql2 = "INSERT INTO PESAN(no_sp,kd_brg,
jml_psn) " & _
"VALUES('" & _
txtNoSP.Text & "','" & _
lvwPlg.Items(counter).SubItems(0).Text
&
"','" & _
lvwPlg.Items(counter).SubItems(2).Text &
"')"
cmmd2 = New OleDbCommand(sql2, cnn)
cmmd2.ExecuteNonQuery()
Next
If x = 1 Then
MessageBox.Show("DATA SURAT PESANAN BERHASIL
DISIMPAN")
End If
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
Private Sub cmdBatal_Click(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles cmdBatal.Click
lvwPlg.Items.Clear()
index = 0 : Total = 0
LblGrandTotal.Text = ""
End Sub
Private Sub cmdKeluar_Click(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles
cmdKeluar.Click
Me.Close()
End Sub
End Class
Imports System.Data.OleDb
Imports System.Data
Public Class Nota1
Dim cnn As OleDbConnection
Dim cmmd, cmmd1, cmmd2 As OleDbCommand
Dim dReader, dReader2 As OleDbDataReader
Dim total1, total2 As Integer
Private index As Integer = 0
Private Total As Double = 0.0, GTotal As Double = 0.0
Private Sub Nota_Closing(ByVal sender As Object, ByVal e As
System.ComponentModel.CancelEventArgs) Handles
MyBase.Closing
Me.Hide()
cur = New Menu
cur.Show()
End Sub
Private Sub Nota1_Activated(ByVal sender As Object, ByVal e As
System.EventArgs) Handles Me.Activated
txtnoNota.Enabled = False
txtnoSP.Focus()
End Sub
Private Sub Nota_Load(ByVal sender As System.Object, ByVal e
As
System.EventArgs) Handles MyBase.Load
''Buka koneksi
cnn = New OleDbConnection(strConn)
If cnn.State <> ConnectionState.Closed Then cnn.Close()
cnn.Open()
'Buat AutoNumber u kode
Dim strTemp As String = ""
Dim strValue As String = ""
Dim sql As String
sql = "SELECT * FROM NOTA ORDER BY no_nota DESC"
cmmd = New OleDbCommand(sql, cnn)
dReader = cmmd.ExecuteReader
If dReader.Read Then
strTemp = Mid(dReader.Item("no_nota"), 3, 5)
Else
txtnoNota.Text = "NA00001"
Exit Sub
End If
strValue = Val(strTemp) + 1
txtnoNota.Text = "NA" & Mid("0000", 1, 5 strValue.Length) &
strValue
End Sub
Private Sub btncrPlg_Click(ByVal sender As System.Object, ByVal e
As
System.EventArgs) Handles btncrPlg.Click
Dim popupSP As New PopSP
lvwPlg.Items.Clear()
index = 0
GTotal = 0
popupSP.ShowDialog()
If popupSP.retNoSP <> "" Then
txtnoSP.Text = popupSP.retNoSP
txtTglSP.Text = Format(CDate(popupSP.retTglSP),
"dd - MMMM - yyyy")
txtKdPlg.Text = popupSP.retKdPlg
btnCetak.Focus()
End If
'''' UNTUK MENAMPILKAN NAMA PELANGGAN
Dim sqlx As String
sqlx = "select nm_plg,almt,telp from PELANGGAN where
kd_plg like '%" &
Trim(txtKdPlg.Text) & "%' order by kd_plg
asc"
cnn = New OleDbConnection(strConn)
cnn.Open()
cmmd = New OleDbCommand(sqlx, cnn)
dReader = cmmd.ExecuteReader
If dReader.Read Then
txtnmPlg.Text = dReader(0)
txtAlmt.Text = dReader(1)
txtKontak.Text = dReader(2)
End If
'''' UNTUK MENAMPILKAN data barang yang ada di PESAN
Dim sql2 As String
sql2 = "select kd_brg, jml_psn from PESAN where no_sp
like
'%" & Trim(txtnoSP.Text) & "%' order
by no_sp
desc"
cnn = New OleDbConnection(strConn)
cnn.Open()
cmmd = New OleDbCommand(sql2, cnn)
dReader = cmmd.ExecuteReader
While dReader.Read
Dim Value() As String = {dReader(0), dReader(1)}
AddList(Value)
total1 = dReader(1)
lvwPlg.Items(index).SubItems.Add("")
lvwPlg.Items(index).SubItems(a).Text =
Value2(subIndex)
'lvwPlg.Items(index).SubItems(4).Text = Total
a = a + 2
Next
index = index + 1
End Sub
Private Sub btnSimp_Click(ByVal sender As System.Object, ByVal e
As
System.EventArgs) Handles btnSimp.Click
Dim sql1 As String
Try
sql1 = "INSERT INTO NOTA(NO_NOTA, TGL_NOTA, No_SP)
" & _
"VALUES('" & txtnoNota.Text & "','" & _
DateTimePicker1.Text &
"','" & _
txtnoSP.Text & "')"
cmmd1 = New OleDbCommand(sql1, cnn)
Dim x As Integer = cmmd1.ExecuteNonQuery
If x = 1 Then
MessageBox.Show("DATA NOTA BERHASIL
DISIMPAN")
bersih()
'Buat AutoNumber u kode
Dim strTemp As String = ""
Dim strValue As String = ""
Dim sql As String
sql = "SELECT * FROM NOTA ORDER BY no_nota
DESC"
cmmd = New OleDbCommand(sql, cnn)
dReader = cmmd.ExecuteReader
If dReader.Read Then
strTemp = Mid(dReader.Item("no_nota"),
3, 5)
Else
txtnoNota.Text = "NA00001"
Exit Sub
End If
strValue = Val(strTemp) + 1
txtnoNota.Text = "NA" & Mid("0000", 1, 5 strValue.Length) & strValue
End If
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
Private Sub btnBtl_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles btnBtl.Click
bersih()
End Sub
Sub bersih()
lvwPlg.Items.Clear()
index = 0 : Total = 0
txtnoSP.Text = ""
DateTimePicker1.Text = ""
txtKdPlg.Text = ""
txtnmPlg.Text = ""
txtAlmt.Text = ""
txtKontak.Text = ""
txtTglSP.Text = ""
txtJT.Text = ""
End Sub
Private Sub btnCetak_Click(ByVal sender As System.Object,
ByVal e As
System.EventArgs) Handles btnCetak.Click
cetak_Nota.Show()
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal
e As
System.EventArgs) Handles Button1.Click
Me.Close()
End Sub
End Class
Imports System.Data.OleDb
Imports System.Data
Public Class cetak_Nota
Dim cnn As OleDbConnection
Dim cmmd As OleDbCommand
Dim dReader As OleDbDataReader
Private Sub cetak_Nota_Closing(ByVal sender As
System.Object, ByVal e As
System.ComponentModel.CancelEventArgs) Handles
MyBase.Closing
Me.Hide()
cur = New Nota1
cur.Show()
End Sub
Private Sub btnCetak_Click(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles
btnCetak.Click
MessageBox.Show("Maaf, aplikasi ini belum berfungsi",
"Pesan",
MessageBoxButtons.OK, MessageBoxIcon.Information)
End Sub
Private Sub btnKeluar_Click(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles btnKeluar.Click
Me.Close()
End Sub
Private Sub btnLayar_Click(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles btnLayar.Click
Layar_Nota.a = txtNoNota.Text
Layar_Nota.Show()
End Sub
Private Sub btnCari_Click(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles btnCari.Click
Dim popupnota As New PopNota
popupnota.ShowDialog()
If popupnota.retNoNota <> "" Then
txtNoNota.Text = popupnota.retNoNota
txttglnota.Text = popupnota.retTglNota
txtNoSP.Text = popupnota.retNoSP
txtNoNota.Enabled = False
btnLayar.Focus()
End If
'''' UNTUK MENAMPILKAN TANGGAL SP
Dim sqlx As String
sqlx = "select tgl_sp from SP where no_sp like '%" &
Trim(txtNoSP.Text) & "% order by no_sp asc"
cnn = New OleDbConnection(strConn)
cnn.Open()
cmmd = New OleDbCommand(sqlx, cnn)
dReader = cmmd.ExecuteReader
If dReader.Read Then
Imports System.Data.OleDb
Imports System.Data
Public Class cetak_Kwitansi
Public retNoSP, retTglSP, retKdSup As String
Dim cnn As OleDbConnection
Dim cmmd As OleDbCommand
Dim dReader, dreader2, dreader3 As OleDbDataReader
Dim total As Double, GTotal As Double
Private Sub cetak_Kwitansi_Closing(ByVal sender As
System.Object, ByVal e As
System.ComponentModel.CancelEventArgs)
Handles
MyBase.Closing
Me.Hide()
cur = New Menu
cur.Show()
End Sub
Private Sub cetak_Kwitansi_Activated(ByVal sender As Object, ByVal e
As System.EventArgs) Handles Me.Activated
txtnoKwi.Enabled = False
txtNoNota.Focus()
End Sub
Private Sub cetak_Kwitansi_Load(ByVal sender As System.Object,
ByVal
e As System.EventArgs) Handles MyBase.Load
''Buka koneksi
cnn = New OleDbConnection(strConn)
If cnn.State <> ConnectionState.Closed Then cnn.Close()
cnn.Open()
'Buat AutoNumber u kode
Dim strTemp As String = ""
Dim strValue As String = ""
Dim sql As String
sql = "SELECT * FROM KWITANSI ORDER BY no_kwit
DESC"
cmmd = New OleDbCommand(sql, cnn)
dReader = cmmd.ExecuteReader
If dReader.Read Then
strTemp = Mid(dReader.Item("no_kwit"), 3, 5)
Else
txtnoKwi.Text = "KW00001"
Exit Sub
End If
strValue = Val(strTemp) + 1
txtnoKwi.Text = "KW" & Mid("0000", 1, 5 strValue.Length) &
strValue
End Sub
Private Sub btnCetak_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles btnCetak.Click
MessageBox.Show("Maaf, aplikasi ini belum berfungsi",
"Pesan",
MessageBoxButtons.OK, MessageBoxIcon.Information)
End Sub
Private Sub btnCari_Click(ByVal sender As System.Object, ByVal
e As
System.EventArgs) Handles btnCari.Click
Dim popupnota As New PopNota
Dim a As String, b As String, c As String, d As String
total = 0
GTotal = 0
popupnota.ShowDialog()
If popupnota.retNoNota <> "" Then
txtNoNota.Text = popupnota.retNoNota
txtTglNota.Text = popupnota.retTglNota
txtnoKwi.Enabled = False
btnSimpan.Focus()
End If
'''' UNTUK MENAMPILKAN TANGGAL SP
Dim sql1 As String, sql2 As String, sql3 As String
sql1 = "select no_sp from nota where no_nota like '%" &
rim(txtNoNota.Text) & "%' order by
no_nota asc"
cnn = New OleDbConnection(strConn)
cnn.Open()
cmmd = New OleDbCommand(sql1, cnn)
dReader = cmmd.ExecuteReader
If dReader.Read Then
a = dReader(0)
sql2 = "select kd_brg,jml_psn from PESAN where no_sp like
'%" & Trim(a) & "%' order by no_sp desc"
cnn = New OleDbConnection(strConn)
cnn.Open()
cmmd = New OleDbCommand(sql2, cnn)
dreader2 = cmmd.ExecuteReader
While dreader2.Read
b = dreader2(1)
c = dreader2(0)
sql3 = "select harsat from BARANG where
kd_brg like
'%" & Trim(c) & "% order
by kd_brg desc"
cnn = New OleDbConnection(strConn)
cnn.Open()
cmmd = New OleDbCommand(sql3, cnn)
dreader3 = cmmd.ExecuteReader
If dreader3.Read Then
d = dreader3(0)
total = CDbl(b * d)
End If
GTotal += total
txtJmlByr.Text = GTotal
End While
End If
End Sub
Private Sub btnKeluar_Click(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles btnKeluar.Click
Me.Close()
End Sub
Private Sub btnLayar_Click(ByVal sender As System.Object,
ByVal e
As System.EventArgs) Handles btnLayar.Click
Layar_Kwitansi.b = txtnoKwi.Text
Layar_Kwitansi.Show()
End Sub
Private Sub btnSimpan_Click(ByVal sender As System.Object,
ByVal
e As System.EventArgs) Handles
btnSimpan.Click
No_NOTA) "
& _
"')"
cmmd = New OleDbCommand(sql1, cnn)
Dim x As Integer = cmmd.ExecuteNonQuery
If x = 1 Then
MessageBox.Show("DATA KWITANSI BERHASIL
DISIMPAN")
btnLayar.Focus()
End If
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
Sub bersih()
txtnoKwi.Text = ""
tglKwi.Text = ""
txtNoNota.Text = ""
txtTglNota.Text = ""
txtJmlByr.Text = ""
End Sub
End Class
Public Class Layar_Kwitansi
Public b As String
Private Sub Layar_Kwitansi_Load(ByVal sender As
System.Object, ByVal e As System.EventArgs)
Handles MyBase.Load
CrystalReportViewer1.SelectionFormula =
"{kwitansi.no_kwit}= '" & b & "'"
CrystalReportViewer1.RefreshReport()
End Sub
End Class
Imports System.Data.OleDb
Imports System.Data
Public Class Entry_SJ
Dim cnn As OleDbConnection
Dim cmmd, cmmd1, cmmd2 As OleDbCommand
MMMM-
End If
'''' UNTUK MENAMPILKAN NAMA PELANGGAN
Dim sql2 As String
sql2 = "select nm_plg,almt,telp from PELANGGAN where
kd_plg
like '%" &
Trim(dReader1(1)) & "%' order by kd_plg asc"
cnn = New OleDbConnection(strConn)
cnn.Open()
cmmd = New OleDbCommand(sql2, cnn)
dReader2 = cmmd.ExecuteReader
If dReader2.Read Then
txtnmPlg.Text = dReader2(0)
txtAlmt.Text = dReader2(1)
txtTelpPlg.Text = dReader2(2)
End If
End Sub
Private Sub btnCrBrg_Click(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles btnCrBrg.Click
Dim popupbrg As New PopBrg2
bersih_brg()
popupbrg.txtNoSP.Text = txtNoSP.Text
popupbrg.txtNoSP.Text = dReader(1)
popupbrg.ShowDialog()
If popupbrg.retKd_Brg <> "" Then
txtkdBrg.Text = popupbrg.retKd_Brg
txtnmBrg.Text = popupbrg.retNm_Brg
txtHarsat.Text = Format(CDbl(popupbrg.retHarsat),
"##,####,####,###")
txtJmlPsn.Text = popupbrg.retJmlPsn
txtkdBrg.Enabled = False
txtJmlKrm.Focus()
End If
End Sub
Private Sub txtJmlKrm_KeyPress(ByVal sender As Object,
ByVal e As System.Windows.Forms.KeyPressEventArgs)
Handles txtJmlKrm.KeyPress
If Asc(e.KeyChar) = 13 Then
txtTotal.Text =
Format(CDbl(CStr(CInt(txtHarsat.Text)
*
CInt(txtJmlKrm.Text))),
"##,####,####,###")
btnCrBrg.Focus()
End If
End Sub
Private Sub btnTambah_Click(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles btnTambah.Click
Dim Value() As String = {txtkdBrg.Text, txtnmBrg.Text,
txtJmlPsn.Text,
txtJmlKrm.Text, txtHarsat.Text, txtTotal.Text}
AddList(Value)
Total += CDbl(txtTotal.Text)
txtGrandTotal.Text = Format(CDbl(CStr(Total)),
"##,####,####,###")
End Sub
Sub AddList(ByVal Value() As String)
Dim subIndex As Integer
lvwBrg.Items.Add("")
For subIndex = 0 To 5
lvwBrg.Items(index).SubItems.Add("")
lvwBrg.Items(index).SubItems(subIndex).Text =
Value(subIndex)
Next
index = index + 1
End Sub
Private Sub btnSimpan_Click(ByVal sender As System.Object,
ByVal e As
System.EventArgs) Handles btnSimpan.Click
Dim counter As Integer
Dim sql1, sql2 As String
Try
sql1 = "INSERT INTO SJ(NO_sj, TGL_sj, no_nota) " &
_
"VALUES('" & txtnoSJ.Text & "','" & _
DateTimePicker1.Text & "','" & _
txtNoNota.Text & "')"
txtTelpPlg.Text = ""
Call bersih_brg()
lvwBrg.Items.Clear()
End Sub
Private Sub btnBatal_Click(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles btnBatal.Click
bersih_semua()
End Sub
Private Sub btnCetak_Click(ByVal sender As System.Object,
ByVal e
As System.EventArgs) Handles btnCetak.Click
cetak_SJ.Show()
End Sub
End Class
Imports System.Data.OleDb
Imports System.Data
Public Class Retur
Dim cnn As OleDbConnection
Dim cmmd, cmmd1, cmmd2 As OleDbCommand
Dim dReader, dReader1, dReader2, dReader3, dReader4 As
OleDbDataReader
Dim total1, total2 As Integer
Private index As Integer = 0
Private Total As Double = 0.0, GTotal As Double = 0.0
Public a As String
Private Sub Retur_Closing(ByVal sender As System.Object,
ByVal e As System.ComponentModel.CancelEventArgs)
Handles MyBase.Closing
Me.Hide()
cur = New Menu
cur.Show()
End Sub
Private Sub Retur_Activated(ByVal sender As Object, ByVal e As
System.EventArgs) Handles Me.Activated
txtnoretur.Enabled = False
txtNoSj.Focus()
End Sub
Private Sub Retur_Load(ByVal sender As System.Object, ByVal e
As
System.EventArgs) Handles MyBase.Load
''Buka koneksi
cnn = New OleDbConnection(strConn)
If cnn.State <> ConnectionState.Closed Then cnn.Close()
cnn.Open()
'Buat AutoNumber u kode
Dim strTemp As String = ""
Dim strValue As String = ""
Dim sql As String
sql = "SELECT * FROM retur ORDER BY no_ret DESC"
cmmd = New OleDbCommand(sql, cnn)
dReader = cmmd.ExecuteReader
If dReader.Read Then
strTemp = Mid(dReader.Item("no_ret"), 3, 5)
Else
txtnoretur.Text = "RT00001"
Exit Sub
End If
strValue = Val(strTemp) + 1
txtnoretur.Text = "RT" & Mid("0000", 1, 5 strValue.Length) &
strValue
End Sub
Private Sub btncrSJ_Click(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles btncrSJ.Click
Dim popupsj As New PopSJ
Dim a As String
popupsj.ShowDialog()
If popupsj.retNoNota <> "" Then
txtNoSj.Text = popupsj.retNoSj
txtNoSj.Enabled = False
txtkdBrg.Focus()
End If
'''' UNTUK MENAMPILKAN no NOTA pada nota
Dim sqlx As String
sqlx = "select no_nota,no_sp from nota where no_nota
like
'%" & Trim(popupsj.retNoNota) & "%'
order by
no_nota asc"
cnn = New OleDbConnection(strConn)
cnn.Open()
cmmd = New OleDbCommand(sqlx, cnn)
dReader = cmmd.ExecuteReader
If dReader.Read Then
a = dReader(1)
'''' UNTUK MENAMPILKAN TANGGAL SP
Dim sql1 As String, b As String
sql1 = "select no_sp,kd_plg from SP where no_sp
like '%" &
Trim(a) & "%'order by no_sp asc"
cnn = New OleDbConnection(strConn)
cnn.Open()
cmmd = New OleDbCommand(sql1, cnn)
dReader1 = cmmd.ExecuteReader
If dReader1.Read Then
b = dReader1(1)
'''' UNTUK MENAMPILKAN NAMA PELANGGAN
Dim sql2 As String
sql2 = "select nm_plg,almt from PELANGGAN
where
kd_plg like '%" & Trim(b)
& "%' order by
kd_plg asc"
cnn = New OleDbConnection(strConn)
cnn.Open()
cmmd = New OleDbCommand(sql2, cnn)
dReader2 = cmmd.ExecuteReader
If dReader2.Read Then
txtnmPlg.Text = dReader2(0)
txtAlamat.Text = dReader2(1)
End If
End If
End If
End Sub
Private Sub btnCrBrg_Click(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles btnCrBrg.Click
Dim popupbrg As New PopBrg3
bersih_brg()
popupbrg.txtNoSJ.Text = txtNoSj.Text
popupbrg.ShowDialog()
If popupbrg.retKd_Brg <> "" Then
txtkdBrg.Text = popupbrg.retKd_Brg
txtnmBrg.Text = popupbrg.retNm_Brg
txtHarsat.Text = Format(CDbl(popupbrg.retHarsat),
"##,####,####,###")
txtJmlkrm.Text = popupbrg.retJmlKrm
txtkdBrg.Enabled = False
txtTotal1.Text =
Format(CDbl(CStr(CInt(txtHarsat.Text) *
CInt(txtJmlkrm.Text))), "##,####,####,###")
txtJmlretur.Focus()
End If
End Sub
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
Sub bersih_brg()
txtkdBrg.Text = ""
txtnmBrg.Text = ""
txtJmlkrm.Text = ""
txtHarsat.Text = ""
txtTotal1.Text = ""
txtJmlretur.Text = ""
txtKet.Text = ""
txtTotal2.Text = ""
End Sub
Sub bersih_semua()
txtnoretur.Text = ""
DateTimePicker1.Text = ""
txtNoSj.Text = ""
txtnmPlg.Text = ""
txtAlamat.Text = ""
Call bersih_brg()
lvwretur.Items.Clear()
End Sub
Private Sub btnBatal_Click(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles btnBatal.Click
bersih_semua()
'Buat AutoNumber u kode
Dim strTemp As String = ""
Dim strValue As String = ""
Dim sql As String
sql = "SELECT * FROM retur ORDER BY no_ret DESC"
cmmd = New OleDbCommand(sql, cnn)
dReader = cmmd.ExecuteReader
If dReader.Read Then
strTemp = Mid(dReader.Item("no_ret"), 3, 5)
Else
txtnoretur.Text = "RT00001"
Exit Sub
End If
strValue = Val(strTemp) + 1
txtnoretur.Text = "RT" & Mid("0000", 1, 5 strValue.Length) &
strValue
End Sub
Private Sub btnCetak_Click(ByVal sender As System.Object,
ByVal e
As System.EventArgs) Handles btnCetak.Click
cetak_Retur.Show()
End Sub
End Class
BAB 4
MEMBUAT LAPORAN
Yang tidak boleh dikesampingkan dalam membuat suatu aplikasi adalah pembuatan
laporan. Jika suatu program yang dibangun tanpa dilengkapi program untuk
membuat suatu laporan masih belum lengkap. Oleh karena itu laporan menjadi
penting untuk program aplikasi. Gunanya dari suatu laporan adalah untuk melihat
hasil dari suatu proses komputer dalam bentuk review atau dalam bentuk print out
ke printer atau media lain.
Membuat laporan dengan VB.Net tidak perlu sulit, karena banyak tools yang bisa
digunakan, seperti Crystal Report.
Untuk membuat laporan dengan Crystal Report langkah yang harus dilakukan adalah
sebagai berikut :
Klik kanan pada Project kemudian pilih Add lalu pilih Add Windows Forms setelah
itu program akan menampilkan kontak dialog Add New Item
Pada form Add New Item, pilih Crystal Report, lalu tekan tombol Add. Tuliskan
nama laporan yang akan dibuat pada kolom Name.
Pada Form Crystal Report Gallery klik As a Blank Report klik tombol OK
Setelah desain Crystal Report tampil klik kanan pada Database Fields lalu pilih
Database Expert.
Muncul window untuk memilih Database yang akan digunakan, setelah itu klik
tombol finish.
Kemudian pilih tabel yang akan dibuat reportnya pada Form Database Expert setelah
itu klik OK
Untuk menampilkan field-field pada yang akan dicetak, drag field pada sisi Field
Explorer ke dalam Layar Design Crystal Report.
Untuk mendesign bentuk cetakan, dapat dilakukan di bagian Report Header, Page
Header, Report Footer dan Page Footer
Contoh tampilan layout Laporan Data Barang :
Untuk membuat laporan dengan Crystal Report, biasanya diperlukan sebuah form
yang menampung tampilan sementara Crystal Report. Maka kita perlu menambah
sebuah form baru. Langkah-langkah yang dilakukan adalah sbb:
Klik kanan pada Project di Solution Explorer Klik Add Windows Form
Tambahkan objek CrystalReportViewer dari Toolbox kedalam form. Hal ini berguna
untuk koneksi form dengan CrystalReport
retKd_Brg =
ListView1.SelectedItems(0).SubItems(0).Text.ToString
retNm_Brg =
ListView1.SelectedItems(0).SubItems(1).Text.ToString
retHarsat =
ListView1.SelectedItems(0).SubItems(2).Text.ToString
retJmlPsn =
ListView1.SelectedItems(0).SubItems(7).Text.ToString
Me.Close()
Catch ex As Exception
MsgBox("pilih salah satu data",
MsgBoxStyle.Information)
End Try
End Sub
Private Sub list_data()
Call clear_list()
Dim sqlx As String, sql As String
Dim x As Integer
sqlx = "select kd_brg,jml_psn from PESAN where no_sp
like '%" &
Trim(txtNoSP.Text) & "%' order by no_sp asc"
cnn = New OleDbConnection(strConn)
If cnn.State <> ConnectionState.Closed Then cnn.Close()
cnn.Open()
cmmd = New OleDbCommand(sqlx, cnn)
dReader = cmmd.ExecuteReader
Try
While dReader.Read = True
sql = "select
kd_brg,nm_brg,harsat,JK,warna,ukuran
from BARANG where
kd_brg like '%" &
Trim(dReader(0)) & "%'
order by kd_brg asc"
cnn = New OleDbConnection(strConn)
cnn.Open()
cmmd = New OleDbCommand(sql, cnn)
dReader2 = cmmd.ExecuteReader
Try
While dReader2.Read = True
x = Val(counter.Text)
counter.Text =
Str(Val(counter.Text) + 1)
With ListView1
.Items.Add("")
.Items(ListView1.Items.Count
.Items(ListView1.Items.Count
.Items(ListView1.Items.Count
.Items(ListView1.Items.Count
.Items(ListView1.Items.Count
.Items(ListView1.Items.Count
.Items(ListView1.Items.Count
.Items(ListView1.Items.Count
.Items(x).SubItems(0).Text =
.Items(x).SubItems(1).Text =
.Items(x).SubItems(2).Text =
.Items(x).SubItems(3).Text =
.Items(x).SubItems(4).Text =
.Items(x).SubItems(5).Text =
.Items(x).SubItems(7).Text =
- 1).SubItems.Add("")
- 1).SubItems.Add("")
- 1).SubItems.Add("")
- 1).SubItems.Add("")
- 1).SubItems.Add("")
- 1).SubItems.Add("")
- 1).SubItems.Add("")
- 1).SubItems.Add("")
dReader.GetString(0)
dReader2.GetString(1)
dReader2.GetValue(2)
dReader2.GetString(3)
dReader2.GetString(4)
dReader2.GetString(5)
dReader.GetValue(1)
End With
End While
Finally
End Try
End While
Finally
dReader.Close()
End Try
cnn.Close()
End Sub
Sub clear_list()
While Val(counter.Text) > 0
ListView1.Items(0).Remove()
counter.Text = Val(counter.Text) - 1
End While
End Sub
Private Sub PopBrg2_Load(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles MyBase.Load
Call list_data()
End Sub
End Class
Daftar Pustaka
Junindar, 2008, Panduan Lengkap Menjadi Programmer. Membuat Aplikasi Penjualan
Menggunakan VB.NET, Penerbit Mediakita
Lubis, Ahmad Subuhan, 2005, Membangun Aplikasi dengan VB.Net, Penerbit
Datakom.
Santoso, Harip, 2004, VB.Net Untuk programmer, Penerbit PT. Elex Media
Komputindo, Jakarta