diktat vbnet lanjutan
TRANSCRIPT
Diktat VB.Net Lanjutan Hadi Santoso
Halaman 1 dari 51
Kata Pengantar
Diktat ini disusun dengan tujuan mempermudah mahasiswa dalam perkuliahan VB.NET Lanjutan
menggunakan VB.Net (Visual Studio 2008).
Diktat ini berisi gambaran singkat tentang proses pembuatan sistem penjualan kacamata (optik)
berbasis VB.Net (Visual Studio 2008) Object Oriented Programming dengan menggunakan database
Access 2007. Matakuliah ini merupakan lanjutan dari Matakuliah Implementasi Sistem Informasi
Akuntansi. Pada matakuliah ini saya hanya membahas salah satu sistem informasi dari berbagai macam
sistem informasi yang dibahas pada matakuliah sistem informasi akuntansi, yaitu Sistem Informasi
Penjualan kacamata (optik). Sesuai dengan materi perkuliahan mahasiswa akan diajarkan bagaimana
membuat sistem informasi sederhana dengan bahasa pemrograman VB.Net (Visual Studio 2008)
berdasarkan Object Oriented Programming, yaitu Sistem Informasi Penjualan Tunai dan sekaligus akan
berguna sekali sebagai pedoman ketika akan membuat sebuah KKP(Kuliah Kerja Praktek)/Tugas Akhir
(Project Akhir).
Demikian sepatah kata pengantar dari saya. Semoga diktat ini bermanfaat bagi kita semua. Info
lanjut hub. 081367436682 ([email protected])
Hormat Saya
Penulis
Diktat VB.Net Lanjutan Hadi Santoso
Halaman 2 dari 51
Referensi
1. www.msdn.microsoft.com
2. www.planetsourcecode.com
3. www.codeproject.com
4. www.aspnet.com
5. www. a1vbcode.com
6. Step By Step Menjadi Programmer Handal Dengan VB.Net, Junindar
Diktat VB.Net Lanjutan Hadi Santoso
Halaman 3 dari 51
1. ANALISA SISTEM
Untuk merancang sebuah sistem yang baik dan sesuai dengan hasil yang diharapkan, maka
terlebih dahulu harus diperoleh data atau informasi tentang sistem yang berjalan. Karena dari informasi tersebut, dapat diketahui sejauh mana sistem yang berjalan sekarang, apakah dapat
memenuhi kebutuhan dan kebutuhan apa saja yang ingin dicapai tetapi belum bisa ditangani oleh
sistem yang sedang berjalan.
Analisa sistem informasi akan membantu dalam mengetahui informasi – informasi tentang
sistem yang sedang berjalan. Sehingga dengan analisa sistem, diharapkan bisa diketahui sejauh
mana kebutuhan yang telah ditangani oleh sistem yang berjalan dan bagaimana agar kebutuhan-
kebutuhan yang belum bisa terpenuhi dapat diberikan solusinya dan diterapkan dalam tahap perancangan sistem.
2. URAIAN PROSEDUR
Langkah dalam membuat urutan prosedur mengacu pada prosedur yang ada dalam sistem
pembelian barang, yaitu sebagai berikut :
a. Pemesanan
Staff Optik Penjualan menerima pesanan dari pelanggan kemudian staff optik penjualan
membuat nota pesanan untuk diserahkan kepada pelanggan lalu pelanggan membayar DP atau
uang muka.
b. Pembayaran Nota pesanan yang diberikan kepada pelanggan digunakan untuk mengambil pesanan. Setelah
pelanggan mendapatkan barang yang dipesan, selanjutnya staff optik penjualan membuat
kwitansi yang akan diberikan kepada pelanggan sebagai bukti sisa pelunasan pembayaran lalu
pelanggan melakukan pelunasan sisa pembayaran.
c. Pembuatan Laporan
Staff Optik Penjualan membuat laporan periode untuk diberikan kepada pimpinan setiap periode.
3. Analisa Proses a. Activity Diagram Transaksi
Diktat VB.Net Lanjutan Hadi Santoso
Halaman 4 dari 51
b. Activity Diagram Pembayaran Pelunasan
c. Activity Diagram Pembuatan Laporan
Staff Optik PenjualanPelanggan
Buat kwitansiTerima kwitansi
Serahkan nota pesanan
Lakukan pelunasan pembayaran
Terima nota pesanan
Siapkan BarangTerima Barang
Terima pelunasan pembayaran
Diktat VB.Net Lanjutan Hadi Santoso
Halaman 5 dari 51
4. Analisa Terapan Akuntansi
Rancangan Sistem Akuntansi dimodelkan sebagai berikut :
Kwitansi
No. Kwitansi : KW0001
Sejumlah : Rp. 60,000
Sudah diterima dari :
Untuk Pembayaran :
Pangkalpinang, 03 - 03- 2010
1 pcs lensa dan frame
Tn. Heri
JURNAL PENERIMAAN KAS
No.Bukti TanggalDebet Kredit
Kas Penjualan
KW001 15-09-2007 60,000 110,000
110,000
Tanggal Keterangan No. Bukti Debet Kredit Saldo
15-09-2007 Jurnal Penerimaan Kas KW0001 60,00060,000
Tanggal Keterangan No. Bukti Debet Kredit Saldo
Jurnal Penjualan 110,000110,000
Tanggal Keterangan No. Bukti Debet Kredit Saldo
Jurnal Pend. Diterima dimuka
NP0001 50,00050,000
Penjualan
Kas
Pendapatan Diterima Dimuka
TanggalNo. Bukti Debet Kredit
KW0001
Jurnal Umum
No. Rekening Nama Rekening
No Rek : 11001
No Rek : 41001
No Rek : 21001
11001
11001
41001
NP0001
Penjualan
Kas
Kas
60,000
110,000
50,000
Jumlah 160,000 160,000
Nota Pesanan
No NP : NP0001
Tanggal : 13-09-2007
Jumlah : Rp. 110,000
DP : Rp. 50,000
21001 Pend. Diterima Dimuka 50,000
NP0001 13-09-2007 50,000
13-09-2007 Jurnal Penerimaan Kas NP0001 50,00050,000
KW0001
KW0001
NP0001
15-09-2007
13-09-2007
15-09-2007
15-09-2007
13-09-2007
13-09-2007
Pendapatan
Diterima dimuka
50,000 -
-
Pendapatan
Diterima dimuka
50,000
-
110,000
Jurnal Pend. Diterima dimuka
15-09-2007 KW0001 50,000
50,000 50,000
50,000
( 0000000.. )
21001 Pend. Diterima DimukaKW0001 15-09-2007 50,000
Diktat VB.Net Lanjutan Hadi Santoso
Halaman 6 dari 51
5. Struktur Bagan Rekening
Pemberian kode rekening menggunakan metode kode kelompok dengan sifat-sifat sebagai
berikut :
a. Posisi masing-masing angka mempunyai arti dimana angka paling kiri adalah kode kelompok dan angka paling kanan adalah kode jenis rekening.
b. Kode kelompok akan terdiri dari angka-angka yang sudah diperkirakan terlebih dahulu. c. Setiap kode dalam klasifikasi menggunakan jumlah angka yang sama.
d. Jika terjadi penambahan kelompok rekening, dapat dilakukan dengan merubah angka yang
paling kiri.
Berikut ini adalah penjabaran klasifikasi pemberian kode dengan menggunakan kode kelompok
yang terdiri dari 5 angka :
1 1 0 0 1
Kelompok rekening
Golongan rekening
Jenis rekening
Perluasan jenis rekening
Kode kelompok dapat pula digunakan untuk menunjukkan hirarki data. Rincian susunan dan
kode rekening yang dirancang dengan menggunakan kode kelompok :
Nomor Perkiraan Nama Perkiraan
11001 Kas
21001 Pend. diterima dimuka
41001 Penjualan
6. Identifikasi Kebutuhan
Rangkuman hasil analisa dalam bentuk uraian masalah yang berkaitan dengan pengelolaan
sumber daya kebutuhan sistem-sistem perbaikan yang diinginkan dan segala sesuatu yang berkaitan
dengan pelayanan yang diberikan sistem ke pengguna. Kebutuhan-kebutuhan yang diuraikan adalah
kebutuhan yang ingin dicapai apabila rancangan sistem ini diimplementasikan.
1. Kebutuhan : Entry Data Pelanggan
Masalah : Tidak adanya informasi yang jelas tentang biodata pelanggan yang menjadi
langganan.
Usulan : Disediakannya informasi dalam bentuk data pelanggan yang berisi mengenai
biodata pelanggan yang menjadi langganan.
Diktat VB.Net Lanjutan Hadi Santoso
Halaman 7 dari 51
2. Kebutuhan : Entry Data Barang
Masalah : Tidak adanya informasi yang jelas tentang data barang yang ada.
Usulan : Disediakannya informasi dalam bentuk data barang yang berisi mengenai data
barang yang tersedia.
3. Kebutuhan : Entry Data Rekening
Masalah : Tidak adanya pencatatan data rekening akumulasi yang dipakai dalam
pembuatan laporan keuangan yang dapat memudahkan dalam penyusunan.
Usulan : rekening yang sering digunakan dalam membuat laporan-laporan keuangan.
4. Kebutuhan : Cetak Nota Pesanan
Masalah : Kurang lengkapnya informasi yang terdapat pada nota pesanan pada sistem
yang berjalan.
Usulan : Dibuat sebuah proses yang dapat menghasilkan dokumen tersebut.
6. Kebutuhan : Cetak Kwitansi
Masalah : Karena informasi dalam pencatatan kwitansi masih dilakukan secara tertulis,
sehingga sering terjadi kesalahan dalam penulisan.
Usulan : Ditambahkan informasi yang diperlukan pada faktur.
7. Kebutuhan : Laporan Penjualan
Masalah : Belum memiliki laporan penjualan.
Usulan : Disediakannya informasi berupa laporan mengenai penjualan barang sehingga
dapat diketahui dengan akurat.
8. Kebutuhan : Laporan Jurnal Penerimaan Kas
Masalah : Belum memiliki laporan jurnal penerimaan kas.
Usulan : Disediakannya informasi berupa laporan jurnal penerimaan kas sehingga
transaksi mengalirnya kas dapat diketahui dengan akurat.
10. Kebutuhan : Laporan Jurnal Umum
Masalah : Belum memiliki laporan jurnal Umum.
Usulan : Disediakannya informasi berupa laporan jurnal umum sehingga dapat diketahui
dengan akurat.
7. Package Diagram
Rancangan kebutuhan sistem digambarkan sebagai berikut :
Diktat VB.Net Lanjutan Hadi Santoso
Halaman 8 dari 51
8. Use Case Diagram
a. Use Case Diagram File Master
b. Use Case Diagram Transaksi
c. Use Case Diagram Laporan
Diktat VB.Net Lanjutan Hadi Santoso
Halaman 9 dari 51
9. Use Case Description Berikut ini adalah deskripsi dari masing-masing Use Case yang digambarkan diatas :
a. Package Diagram File Master
1) Data Barang
Use Case : Entry Data Pelanggan
Actor : Staff Optik Penjualan
Deskripsi :
• staff optik penjualan buka form entry data-data pelanggan.
• kd_plg sudah otomatis dalam sistem.
• staff optik penjualan menginput nm_plg,alamat dan telepon.
• staff optik penjualan menekan tombol “SIMPAN” data pelanggan kedalam file
pelanggan. • Tombol “UBAH” digunakan untuk mengubah data pelanggan.
• Tombol “HAPUS” digunakan untuk menghapus data pelanggan.
• Tombol “BATAL” digunakan apabila tidak jadi mengentry data pelanggan.
• Tombol “TUTUP” digunakan untuk menutup layar data pelanggan.
2) Data Barang
Use Case : Entry Data Barang
Actor : Staff Optik Penjualan
Deskripsi :
• staff optik penjualan buka form entry data-data barang.
• staff optik penjualan menginput kd_plg, satuan, jenis barang, dan harsat.
• nm_plg sudah otomatis dalam sistem.
• staff optik penjualan menekan tombol “SIMPAN” data pelanggan kedalam file
pelanggan. • Tombol “UBAH” digunakan untuk mengubah data pelanggan.
• Tombol “HAPUS” digunakan untuk menghapus data pelanggan.
• Tombol “BATAL” digunakan apabila tidak jadi mengentry data pelanggan.
• Tombol “TUTUP” digunakan untuk menutup layar data pelanggan.
3) Data Rekening
Use Case : Entry Data Rekening
Actor : Staff Optik Penjualan
Deskripsi :
• staff optik penjualan menginput data_data rekening yang berisi no_rek, dan
nm_rek.
• no_rek, nm_rek, disimpan kedalam file rekening.
• Tombol “SIMPAN” data pelanggan kedalam file pelanggan.
• Tombol “UBAH” digunakan untuk mengubah data pelanggan.
• Tombol “HAPUS” digunakan untuk menghapus data pelanggan.
• Tombol “BATAL” digunakan apabila tidak jadi mengentry data pelanggan.
• Tombol “TUTUP” digunakan untuk menutup layar data pelanggan.
Diktat VB.Net Lanjutan Hadi Santoso
Halaman 10 dari 51
b. Package Diagram File Transaksi
1) Cetak Nota Pesan
Use Case : Cetak Nota Pesanan
Actor : Staff Optik Penjualan
Deskripsi :
• staff optik membuka form cetak nota pesanan.
• staff optik menekan tombol cetak untuk mencetak data nota pesanan yang
sudah disimpan kedalam file nota pesanan.
<< include >>
Entry Nota Pesan
Use Case : Entry Nota Pesan
Actor : Staff Optik Penjualan, pelanggan.
Deskripsi :
• Staff optik penjualan buka form cetak nota pesan
• Nomer nota pesan dan tanggal nota pesan sudah otomatis dalam sistem
• Staff optik penjualan menginput kode pelanggan maka akan tampil data
pelanggan
• Staff optik penjualan menginput kode barang lalu akan tampil data barang
• Lalu menginput jumlah pesan, sistem akan mengitung otomatis jumlah barang
yang pesan berdasarkan perhitungan harga satuan * jumlah pesan
• Staff optik menginput jenis lensa yang berupa R, L, CLYR, CLYL, AXISR, AXISL,
ADD, PD • staff optik penjualan memilih tanggal selesai pesanan lalu menekan tombol
“PESAN” untuk memasukan data barang kedalam tabel
• Sistem akan menghitung total berdasarkan perhitungan penjumlahan dari
semua jumlah. • Staff optik penjualan menginput dp yang diberikan oleh pelanggan lalu sistem
akan menghitung sisa pembayaran berdasarkan perhitungan total – dp.
• Tombol “SIMPAN” data pelanggan kedalam file pelanggan.
• Tombol “BATAL” digunakan apabila tidak jadi mengentry data pelanggan.
• Tombol “TUTUP” digunakan untuk menutup layar data pelanggan.
2) Cetak kwitansi
Use Case : Cetak kwitansi
Actor : Staff Optik Penjualan
Deskripsi :
• staff optik membuka form cetak kwitansi.
• staff optik menekan tombol cetak untuk mencetak data kwitansi yang sudah
disimpan kedalam file kwitansi.
<< include >>
Entry kwitansi
Use Case : Entry kwitansi
Actor : Staff Optik Penjualan, pelanggan.
Diktat VB.Net Lanjutan Hadi Santoso
Halaman 11 dari 51
Deskripsi :
• staff optik membuka form cetak kwitansi.
• No kwitansi dan tgl kwitansi sudah otomatis dalam sistem.
• Staff optik penjualan memilih nomer pesan yang sudah disimpan sebelumnya
maka akan tampil data nomer pesan dan data pelanggan. • Sistem akan menghitung sisa pembayaran berdasarkan perhitungan total – dp.
• Tombol “SIMPAN” data pelanggan kedalam file pelanggan.
• Tombol “BATAL” digunakan apabila tidak jadi mengentry data pelanggan.
• Tombol “TUTUP” digunakan untuk menutup layar data pelanggan.
c. Package Diagram Cetak Laporan
1) Cetak Laporan Penjualan
Use Case : Cetak Laporan Penjualan
Actor : Pimpinan, Staff Optik Penjualan
Deskripsi :
• Staff optik membuka form cetak laporan penjualan.
• Staff optik penjualan memasukkan tanggal awal dan tanggal akhir pada
periode.
• Staff optik penjualan mengkilk tombol “CETAK” untuk mencetak laporan
penjualan. • Staff optik penjualan mengkilk tombol “TUTUP” untuk menutup layar laporan
penjualan.
2) Cetak Laporan Jurnal Umum
Use Case : Cetak Laporan Jurnal Umum
Actor : Pimpinan, Staff Optik Penjualan.
Deskripsi :
• Staff optik penjualan membukla form cetak laporan jurnal umum.
• Staff optik penjualan memasukkan tanggal awal dan tanggal akhir pada
periode.
• Staff optik penjualan mengkilk tombol “CETAK” untuk mencetak laporan
penjualan.
• Staff optik penjualan mengkilk tombol “TUTUP” untuk menutup layar laporan
penjualan.
3) Cetak Laporan Jurnal Penerimaan Kas
Use Case : Cetak Laporan Jurnal Penerimaan Kas
Actor : Pimpinan, staff optik penjualan.
Deskripsi :
• Staff optik membuka form cetak laporan jurnal penerimaan kas.
• Staff optik penjualan memasukkan tanggal awal dan tanggal akhir pada
periode.
• Staff optik penjualan mengkilk tombol “CETAK” untuk mencetak laporan
penjualan.
• Staff optik penjualan mengkilk tombol “TUTUP” untuk menutup layar laporan
penjualan.
Diktat VB.Net Lanjutan Hadi Santoso
Halaman 12 dari 51
10. Rancangan Basis Data Class Diagram
Diktat VB.Net Lanjutan Hadi Santoso
Halaman 13 dari 51
11. Rancangan Basis Data
a. Entity Relationship Diagram (ERD)
Diktat VB.Net Lanjutan Hadi Santoso
Halaman 14 dari 51
Barang
kd_ brg
nm_ brg
harsat
N
1
pesan
no_ np
kd _ brg
jml_psnhrg
Nota PesananM
buat
Kwitansi
no_ np
tgl _ masuk
tgl
dp
_ selesai
no_ np
no _ kwt
1
no_ kwt
tgl _ kwt
Jurnal
no_ kwt
no _ rek
Rekening
no_ rek
nm_ rek
tgl _jurnalposisi
jumlah
N M
dapatM1Pelanggan
kd_ plg
nm_plg
almt
tlp
kd_plg
no_np
jns_brg
keterangan
satuanCLYR
CLYL
MTR
MTL
AXISL
AXISR
ADD
PD
b. Tranformasi ERD ke LRS
Diktat VB.Net Lanjutan Hadi Santoso
Halaman 15 dari 51
c. Logical Record Structure (LRS)
Diktat VB.Net Lanjutan Hadi Santoso
Halaman 16 dari 51
12. TABEL
TABEL PELANGGAN
No Nama Field Tipe Data Lebar Desimal Keterangan
1 kd_plg Text 5 - Kode Pelanggan
2 nm_plg Text 50 - Nama Pelanggan
3 almt Text 100 - Alamat Pelanggan
4 telp Text 15 - Telepon Pelanggan
TABEL BARANG
No Nama Field Tipe Data Lebar Desimal Keterangan
1 kd_brg Text 5 - Kode Barang
2 nm_brg Text 50 - Nama Barang
3 har_Sat Currency 8 - Jumlah Barang
4 jns_brg Text 20 - Jenis Barang
5 Satuan Text 4 - Harga satuan
TABEL NOTAPESANAN
No Nama Field Tipe Data Lebar Desimal Keterangan
1 no_np Text 5 - Nomor Nota Pesanan
2 tgl_masuk Date/Time 8 - Tanggal masuk
3 tgl_selesai Date/Time 8 - Tanggal Selesai
4 dp Currency 8 - Uang Muka
5 Keterangan Text 100 - Keterangan
6 kd_plg Text 5 - Kode Pelanggan
TABEL PESAN
No Nama Field Tipe Data Lebar Desimal Keterangan
1 no_np Text 5 - Nomor Surat Pesanan
2 kd_brg Text 5 - Kode Barang
3 jml_psn Number 2 - Jumlah banyaknya
4 hrg Currency 8 - Harga Pesan
5 MTR Text 3 - Mata kanan
6 MTL Text 3 - Mata kiri
7 CLYR Text 3 - Silinder kanan
8 CLYL Text 3 - Silinder kiri
9 AXISR Text 3 - Sudut kelengkungan bola
mata kanan
10 AXISL Text 3 - Sudut kelengkungan bola
mata kiri
11 ADD Text 3 - Penambahan baca
12 PD Text 3 - Jarak Pupil
Diktat VB.Net Lanjutan Hadi Santoso
Halaman 17 dari 51
TABEL JURNAL
No Nama Field Tipe Data Lebar Desimal Keterangan
1 no_kwt Text 5 - Nomor Bukti
2 no_rek Text 5 - Nomor Rekening
3 tgl_jurnal Date/Time 8 - Tanggal Jurnal
4 posisi Text 1 - Posisi D/K
5 jumlah Currency 8 - Jumlah Saldo
TABEL KWITANSI
No Nama Field Tipe Data Lebar Desimal Keterangan
1 no_kwt Text 5 - Nomor Kwitansi
2 tgl_kwt Date/Time 8 - Tanggal Kwitansi
3 no_np Text 5 - Nomor Nota Pesanan
TABEL REKENING
No Nama Field Tipe Data Lebar Desimal Keterangan
1 no_rek Text 5 - Nomor Rekening
2 nm_rek Text 30 - Nama Rekening
13. STRUKTUR TAMPILAN
Diktat VB.Net Lanjutan Hadi Santoso
Halaman 18 dari 51
14. MEMULAI VB.NET
a. Pilih Create Project… untuk membuat project baru.
b. Akan tampil jendela seperti gambar dibawah ini, kemudian isikan Name dengan prjoptik,
selanjutnya klik tombol untuk menentukan lokasi penyimpanan aplikasi yang akan
dibuat dalam contoh ini saya simpan di Local disk D:
Diktat VB.Net Lanjutan Hadi Santoso
Halaman 19 dari 51
c. Setelah itu buat folder baru dengan nama PJOTIKATMA dan klik tombol Select Folder (lihat
gambar dibawah ini).
d. Langkah selanjutnya klik tombol OK.
Diktat VB.Net Lanjutan Hadi Santoso
Halaman 20 dari 51
15. MEMBUAT TABEL DENGAN MS. ACCESS 2007 a. Pilih Start -> All Programs -> Microsoft Office -> Microsoft Office Access 2007.
b. Klik/Pilih Blank Database.
c. Akan tampil dipojok kanan bawah Blank Database, kemudian klik (Browse for a location to
put your database)
Diktat VB.Net Lanjutan Hadi Santoso
Halaman 21 dari 51
d. Kemudian pilih Folder Local Disk D:\prjoptik\prjoptik\bin\debug sebagai lokasi
penyimpanan database yang akan dibuat.
e. Selanjutnya isi File name dengan DBOPTIK (nama database) dan klik tombol OK.
f. Akan tampil jendela seperti dibawah ini dan File Name : DBOPTIK.accdb. Kemudian klik tombol
Create.
Diktat VB.Net Lanjutan Hadi Santoso
Halaman 22 dari 51
g. Setelah di klik tombol Create akan tampil jendela seperti dibawah ini dan selanjutnya untuk
membuat Struktur table klik atau pada Table1 : Table klik kanan pilih Design View
h. Kemudian akan tampil jendela Save As seperti gambar dibawah ini, selajutnya isi pada Table
Name : PELANGGAN, setelah selesai klik tombol OK.
Diktat VB.Net Lanjutan Hadi Santoso
Halaman 23 dari 51
i. Ketikkan pada Filed Name, Data Type dan Description sesuai dengan Tabel yang telah ada pada
halaman 16 dan 17 dst.
16. MEMBUAT MENU Untuk membuat menu, pilih didalam toolbox lalu ketikkan nama menu sesuai
dengan yang diinginkan
Atau bisa juga dengan mengetikkan menu pada properties text
Penggunaan tanda ”&” diantara nama menu, berfungsi agar menu dapat diakses menggunakan
keyboard dengan menekan tombol alt disertai dengan huruf yang bergaris bawah.
jika program sudah dijalankan, menu ini dapat diakses dengan menekan tombol
”alt dan m” secara bersamaan. Buatlah menu seperti gambar dibawah ini :
Diktat VB.Net Lanjutan Hadi Santoso
Halaman 24 dari 51
Diktat VB.Net Lanjutan Hadi Santoso
Halaman 25 dari 51
ENTRY DATA BARANG
Form
Group
Box1
Label
Group
Box2
Button
Label
TextBox
ComboBox
ListView TextBox
Diktat VB.Net Lanjutan Hadi Santoso
Halaman 26 dari 51
MEMBUAT MODULE
Untuk membuat Module, perlu menambahkan atribut baru berupa module pada project. Dengan cara:
Klik kanan pada Project di Solution Explorer, kemudian pilih Add, Add Module
OBJEK NAME TEXT PROPERTIES YANG DIUBAH Form1 frmBarang ENTRY DATA BARANG Font , Back Color, StartPosition =
CenterScreen
Label1 Label1 ENTRY DATA BARANG Font, Back Color
GroupBox1 Groupbox1 - Font, Back Color
Label2 Label2 Kode Barang Font, Back Color
Label3 Label3 Nama Barang Font, Back Color
Label4 Label4 Harga Satuan Font, Back Color
Label5 Label5 Rp. Font, Back Color
Label6 Label6 Jenis Barang Font, Back Color
Label7 Label7 Satuan Font, Back Color
Textbox1 txtKdBrg (kosong) Font , Back Color
Textbox2 txtNmBrg (kosong) Font, Back Color
Textbox3 txtharSat (kosong) Font, Back Color
Combobox1 cmbjenis (kosong) Font, Back Color
Item = Frame, Lensa
Textbox5 txtsatuan (kosong) Font, Back Color
Textbox6 counter 0 Font, Back Color
GroupBox2 Groupbox2 - Font, Back Color
Button2 cmdSimpan SIMPAN Font , Back Color
Button3 cmdUbah UBAH Font , Back Color
Button4 cmdHapus HAPUS Font , Back Color
Button5 cmdBatal BATAL Font, Back Color
Button6 cmdKeluar KELUAR Font , Back Color
ListView1 ListView1 - View = Details
Edit Column = Kode Barang, Nama
Barang, Harga Satuan, Jenis
Barang, Satuan
Diktat VB.Net Lanjutan Hadi Santoso
Halaman 27 dari 51
Ketikan code untuk module:
Imports System.Data.Oledb Imports System.Data Module Module1 Public conn As New OleDbConnection Public strconn As String = "Provider=Microsoft.ACE.OLEDB.12.0;data source=" & Application.StartupPath & "\dboptik.accdb" End Module
MEMBUAT CLASS KONEKSI
Fungsi dari Class koneksi ini adalah untuk menghubungkan form dengan database. Caranya adalah : Klik
kanan pada Project di Solution Explorer, kemudian pilih Add, Class...
Beri nama Module1.vb
Diktat VB.Net Lanjutan Hadi Santoso
Halaman 28 dari 51
Ketikan code untuk Class Koneksi:
Imports System.Data.OleDb Imports System.Data Public Class Koneksi Dim conn As New OleDbConnection Public Function OpenConnection() As OleDbConnection conn = New OleDbConnection(strconn) If conn.State = ConnectionState.Closed Then Try conn.Open() Catch mex As OleDbException MsgBox( "Koneksi ke Database Gagal" , , "Error" ) Catch ex As Exception MsgBox(ex.Message) End Try End If Return conn End Function End Class
Diktat VB.Net Lanjutan Hadi Santoso
Halaman 29 dari 51
MEMBUAT CLASS BARANG
Untuk membuat Module, perlu menambahkan atribut baru berupa module pada project. Dengan cara:
Klik kanan pada Project di Solution Explorer, kemudian pilih Add, Class...
Ketikan code untuk Class Barang:
Imports System.Data.OleDb Imports System.Data Public Class Clsbarang #Region "Variabel" Private xkdbrg As String Private xNmbrg As String
Diktat VB.Net Lanjutan Hadi Santoso
Halaman 30 dari 51
Private xharsat As Double Private xjenis As String Private xsatuan As String Dim sql As String = "" Dim mycmd As OleDbCommand Dim myread As OleDbDataReader Dim hasRows As Boolean #End Region #Region "Property" Public Property kdbrg() As String Get Return xkdbrg End Get Set ( ByVal value As String ) xkdbrg = value End Set End Property Public Property nmbrg() As String Get Return xNmbrg End Get Set ( ByVal value As String ) xNmbrg = value End Set End Property Public Property harsat() As Double Get Return xharsat End Get Set ( ByVal value As Double ) xharsat = value End Set End Property Public Property jenis() As String Get Return xjenis End Get Set ( ByVal value As String ) xjenis = value End Set End Property Public Property satuan() As String Get Return xsatuan End Get Set ( ByVal value As String ) xsatuan = value End Set
Diktat VB.Net Lanjutan Hadi Santoso
Halaman 31 dari 51
End Property #End Region #Region "Method" Public Function simpan() As Integer sql = "INSERT INTO Barang(kd_brg,Nm_brg,har_sat,jns_brg,s atuan) " & _ "VALUES('" & xkdbrg & "','" & xNmbrg & "','" & xharsat & "','" & xjenis & "','" & xsatuan & "')" conn = New OleDbConnection(strconn) If conn.State <> ConnectionState.Closed Then conn.Close() conn.Open() mycmd = New OleDbCommand(sql, conn) Return mycmd.ExecuteNonQuery End Function Public Function hapus( ByVal varkdbrg As String ) As Integer sql = "DELETE FROM Barang WHERE kd_brg='" & varkdbrg & "'" conn = New OleDbConnection(strconn) If conn.State <> ConnectionState.Closed Then conn.Close() conn.Open() mycmd = New OleDbCommand(sql, conn) Return mycmd.ExecuteNonQuery End Function Public Function ubah( ByVal varkdbrg As String ) As Integer sql = "UPDATE Barang SET Nm_brg ='" & xNmbrg & "'," & _ "Har_sat='" & xharsat & "', jns_brg = '" & xjenis & "'," & _ " satuan = '" & xsatuan & "'" & _ " WHERE kd_brg='" & varkdbrg & "'" conn = New OleDbConnection(strconn) If conn.State <> ConnectionState.Closed Then conn.Close() conn.Open() mycmd = New OleDbCommand(sql, conn) Return mycmd.ExecuteNonQuery End Function #End Region End Class
Diktat VB.Net Lanjutan Hadi Santoso
Halaman 32 dari 51
Ketikan code untuk Form Barang:
Imports System.Data.OleDb Imports System.Data Public Class FrmBarang Dim obj As New Clsbarang Dim mycmd As OleDbCommand Dim myread As OleDbDataReader Dim strTemp As String = "" Dim strValue As String = "" Dim sql As String Private Sub FrmBarang_Load( ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 'Koneksi Database conn = New OleDbConnection(strconn) If conn.State <> ConnectionState.Closed Then conn.Close() conn.Open() 'Untuk membuat kode otomatis Dim strtemp As String = "" Dim strvalue As String = "" sql = "SELECT * FROM Barang ORDER BY kd_brg DESC" mycmd = New OleDbCommand(sql, conn) myread = mycmd.ExecuteReader If myread.Read Then strtemp = Mid(myread.Item( "kd_brg" ), 3, 3) Else txtkdbrg.Text = "BG001" Exit Sub End If 'MsgBox(strTemp) strvalue = Val(strtemp) + 1 txtkdbrg.Text = "BG" & Mid( "000" , 1, 3 - strvalue.Length) & strvalue Call list_data() End Sub
Private Sub bersih() txtnmbrg.Text = "" txtharsat.Text = "" cmbjenis.Text = "" txtsatuan.Text = "" txtnmbrg.Focus() End Sub Private Sub list_data() Call clear_list() Dim sqlx As String Dim x As Integer sqlx = "select kd_brg, nm_brg, har_sat, jns_brg, satuan fr om BARANG" conn = New OleDbConnection(strconn) If conn.State <> ConnectionState.Closed Then conn.Close() conn.Open()
Diktat VB.Net Lanjutan Hadi Santoso
Halaman 33 dari 51
mycmd = New OleDbCommand(sqlx, conn) myread = mycmd.ExecuteReader Try While myread.Read = True x = Val(counter.Text) counter.Text = Str(Val(counter.Text ) + 1) With ListView1 .Items.Add( "" ) .Items(ListView1.Items.Count - 1).SubItems.Add( "" ) .Items(ListView1.Items.Count - 1).SubItems.Add( "" ) .Items(ListView1.Items.Count - 1).SubItems.Add( "" ) .Items(ListView1.Items.Count - 1).SubItems.Add( "" ) .Items(x).SubItems(0).Text = my read.GetString(0) .Items(x).SubItems(1).Text = my read.GetString(1) .Items(x).SubItems(2).Text = my read.GetValue(2) .Items(x).SubItems(3).Text = my read.GetString(3) .Items(x).SubItems(4).Text = my read.GetString(4) End With End While Finally myread.Close() End Try conn.Close() End Sub Private Sub clear_list() While Val(counter.Text) > 0 ListView1.Items(0).Remove() counter.Text = Val(counter.Text) - 1 End While End Sub
Private Sub cmdsimpan_Click( ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdsimpan.Click If txtkdbrg.Text = "" Then MessageBox.Show( "Anda Harus Mengisi kode !!" ) txtkdbrg.Focus() Exit Sub ElseIf txtnmbrg.Text = "" Then MessageBox.Show( "Anda Harus Mengisi Nama barang !!" ) txtnmbrg.Focus() Exit Sub ElseIf txtharsat.Text = "" Then MessageBox.Show( "Anda Harus mengisi harga Barang !!" ) txtharsat.Focus() Exit Sub ElseIf cmbjenis.Text = "" Then MessageBox.Show( "Anda Harus mengisi jenis Barang !!" ) cmbjenis.Focus() Exit Sub End If
cmdSimpan
Diktat VB.Net Lanjutan Hadi Santoso
Halaman 34 dari 51
obj.kdbrg = txtkdbrg.Text obj.nmbrg = txtnmbrg.Text obj.harsat = txtharsat.Text obj.jenis = cmbjenis.Text obj.satuan = txtsatuan.Text If obj.simpan = 1 Then MessageBox.Show( "Insert Data Berhasil !!" ) sql = "SELECT * FROM barang ORDER BY kd_brg DESC" mycmd = New OleDbCommand(sql, conn) myread = mycmd.ExecuteReader If myread.Read Then strTemp = Mid(myread.Item( "kd_brg" ), 3, 3) Else txtkdbrg.Text = "BG001" Exit Sub End If 'MsgBox(strTemp) strValue = Val(strTemp) + 1 txtkdbrg.Text = "BG" & Mid( "000" , 1, 3 - strValue.Length) & strValue Call bersih() Else MessageBox.Show( "Insert Gagal !!" ) End If Call list_data() End Sub
Private Sub ListView1_Click( ByVal sender As Object , ByVal e As System.EventArgs) Handles ListView1.Click txtkdbrg.Text = ListView1.SelectedItems(0). SubItems(0).Text.ToString txtnmbrg.Text = ListView1.SelectedItems(0). SubItems(1).Text.ToString txtharsat.Text = ListView1.SelectedItems(0) .SubItems(2).Text.ToString cmbjenis.Text = ListView1.SelectedItems(0). SubItems(3).Text.ToString txtsatuan.Text = ListView1.SelectedItems(0) .SubItems(4).Text.ToString End Sub
Private Sub cmdubah_Click( ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdubah.Click If txtnmbrg.Text = "" Then MessageBox.Show( "Anda Harus Mengisi Nama Barang !!" ) txtnmbrg.Focus() Exit Sub ElseIf txtharsat.Text = "" Then MessageBox.Show( "Anda Harus Mengisi Harga !!" ) txtharsat.Focus() Exit Sub ElseIf txtsatuan.Text = "" Then MessageBox.Show( "Anda Harus Mengisi Harga !!" ) txtsatuan.Focus() Exit Sub End If
Klik 2x pada Listview1 ketikkan code seperti gambar berikut :
cmdUbah UBAH
Diktat VB.Net Lanjutan Hadi Santoso
Halaman 35 dari 51
Dim jawab As DialogResult jawab = MessageBox.Show( "Anda yakin akan mengubah data ini ??" , _ "DATA BARANG", MessageBoxButtons.YesNo, MessageBoxIcon.Question) If jawab = Windows.Forms.DialogResult.Yes Then obj.kdbrg = txtkdbrg.Text obj.nmbrg = txtnmbrg.Text obj.harsat = txtharsat.Text obj.jenis = cmbjenis.Text obj.satuan = txtsatuan.Text If obj.ubah(txtkdbrg.Text) = 1 Then MessageBox.Show( "Update Data Berhasil !!" ) sql = "SELECT * FROM barang ORDER BY kd_brg DESC" mycmd = New OleDbCommand(sql, conn) myread = mycmd.ExecuteReader If myread.Read Then strTemp = Mid(myread.Item( "kd_brg" ), 3, 3) Else txtkdbrg.Text = "BG001" Exit Sub End If 'MsgBox(strTemp) strValue = Val(strTemp) + 1 txtkdbrg.Text = "BG" & Mid( "000" , 1, 3 - strValue.Length) & strValue Else MessageBox.Show( "Update Gagal !!" ) End If Call bersih() End If Call list_data() End Sub
Private Sub cmdhapus_Click( ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdhapus.Click Dim jawab As DialogResult jawab = MessageBox.Show( "Anda yakin akan menghapus data ini ??" , _ "DATA BARANG", MessageBoxButtons.YesNo, MessageBoxIcon.Question) If jawab = Windows.Forms.DialogResult.Yes Then If obj.hapus(txtkdbrg.Text) = 1 Then MessageBox.Show( "Delete Data Berhasil !!" ) sql = "SELECT * FROM barang ORDER BY kd_brg DESC" mycmd = New OleDbCommand(sql, conn) myread = mycmd.ExecuteReader If myread.Read Then strTemp = Mid(myread.Item( "kd_brg" ), 3, 3) Else txtkdbrg.Text = "BG001" Exit Sub End If
HAPUS cmdHapus
Diktat VB.Net Lanjutan Hadi Santoso
Halaman 36 dari 51
'MsgBox(strTemp) strValue = Val(strTemp) + 1 txtkdbrg.Text = "BG" & Mid( "000" , 1, 3 - strValue.Length) & strValue Else MessageBox.Show( "Delete Gagal !!" ) End If Call bersih() End If Call list_data() End Sub
Private Sub cmdbatal_Click( ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdbatal.Click Call bersih() End Sub
Private Sub cmdkeluar_Click( ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdkeluar.Click Dim jawab As DialogResult jawab = MessageBox.Show( "Anda yakin akan Keluar Dari Entry Data ini ??" , _ "PERINGATAN", MessageBoxButtons.YesNo, MessageBoxIcon.Question) If jawab = Windows.Forms.DialogResult.Yes Then If conn.State <> ConnectionState.Closed Then conn.Close() Me.Dispose() End If End Sub
BATAL cmdBatal
KELUAR cmdKeluar
Diktat VB.Net Lanjutan Hadi Santoso
Halaman 37 dari 51
Imports System.Data.OleDb Imports System.Data Public Class Clspelanggan #Region "Variabel" Private xkdplg As String Private xNmplg As String Private xalamat As String Private xtelp As String Dim sql As String = "" Dim mycmd As OleDbCommand Dim myread As OleDbDataReader Dim hasRows As Boolean #End Region
MEMBUAT CLASS PELANGGAN
Untuk membuat Class, dengan cara: Klik kanan pada Project di Solution Explorer, kemudian pilih Add,
Class...
Ketikan code untuk Class Pelanggan:
Diktat VB.Net Lanjutan Hadi Santoso
Halaman 38 dari 51
#Region "Property" Public Property kdplg() As String Get Return xkdplg End Get Set ( ByVal value As String ) xkdplg = value End Set End Property Public Property nmplg() As String Get Return xNmplg End Get Set ( ByVal value As String ) xNmplg = value End Set End Property Public Property alamat() As String Get Return xalamat End Get Set ( ByVal value As String ) xalamat = value End Set End Property Public Property telp() As String Get Return xtelp End Get Set ( ByVal value As String ) xtelp = value End Set End Property #End Region #Region "Method" Public Function simpan() As Integer sql = "INSERT INTO Pelanggan(kd_plg,Nm_plg,almt,telp) " & _ "VALUES('" & xkdplg & "','" & xNmplg & "','" & xalamat & "','" & xtelp & "')" conn = New OleDbConnection(strconn) If conn.State <> ConnectionState.Closed Then conn.Close() conn.Open() mycmd = New OleDbCommand(sql, conn) Return mycmd.ExecuteNonQuery End Function Public Function hapus( ByVal varkdplg As String ) As Integer sql = "DELETE FROM Pelanggan WHERE kd_plg='" & varkdplg & "'" conn = New OleDbConnection(strconn) If conn.State <> ConnectionState.Closed Then conn.Close() conn.Open() mycmd = New OleDbCommand(sql, conn) Return mycmd.ExecuteNonQuery End Function
Diktat VB.Net Lanjutan Hadi Santoso
Halaman 39 dari 51
Public Function ubah( ByVal varkdplg As String ) As Integer sql = "UPDATE Pelanggan SET Nm_plg ='" & xNmplg & "'," & _ "Almt='" & xalamat & "', telp = '" & xtelp & "'" & _ " WHERE kd_plg='" & varkdplg & "'" conn = New OleDbConnection(strconn) If conn.State <> ConnectionState.Closed Then conn.Close() conn.Open() mycmd = New OleDbCommand(sql, conn) Return mycmd.ExecuteNonQuery End Function #End Region End Class
ENTRY DATA PELANGGAN
Form
Group
Box1
Label
Group
Box2
Button
Label
TextBox
ListView TextBox
Diktat VB.Net Lanjutan Hadi Santoso
Halaman 40 dari 51
Imports System.Data.OleDb Imports System.Data Public Class FrmPelanggan Dim obj As New Clsbarang Dim mycmd As OleDbCommand Dim myread As OleDbDataReader Dim strTemp As String = "" Dim strValue As String = "" Dim sql As String Private Sub FrmPelanggan_Load( ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 'Koneksi Database conn = New OleDbConnection(strconn) If conn.State <> ConnectionState.Closed Then conn.Close() conn.Open() 'Untuk membuat kode otomatis Dim strtemp As String = "" Dim strvalue As String = "" sql = "SELECT * FROM Pelanggan ORDER BY kd_plg DESC" mycmd = New OleDbCommand(sql, conn) myread = mycmd.ExecuteReader
Ketikan code untuk Form Pelanggan:
OBJEK NAME TEXT PROPERTIES YANG DIUBAH Form1 frmPelanggan ENTRY DATA PELANGGAN Font , Back Color, StartPosition =
CenterScreen
Label1 Label1 ENTRY DATA PELANGGAN Font, Back Color
GroupBox1 Groupbox1 - Font, Back Color
Label2 Label2 Kode Pelanggan Font, Back Color
Label3 Label3 Nama Pelanggan Font, Back Color
Label4 Label4 Alamat Font, Back Color
Label5 Label5 Telepon Font, Back Color
Textbox1 txtKdPlg (kosong) Font , Back Color
Textbox2 txtNmPlg (kosong) Font, Back Color
Textbox3 txtAlamat (kosong) Font, Back Color
Textbox5 txtTelp (kosong) Font, Back Color
Textbox6 counter 0 Font, Back Color
GroupBox2 Groupbox2 - Font, Back Color
Button2 cmdSimpan SIMPAN Font , Back Color
Button3 cmdUbah UBAH Font , Back Color
Button4 cmdHapus HAPUS Font , Back Color
Button5 cmdBatal BATAL Font, Back Color
Button6 cmdKeluar KELUAR Font , Back Color
ListView1 ListView1 - View = Details Edit Column = Kode Pelanggan,
Nama Pelanggan, Alamat, Telepon
Diktat VB.Net Lanjutan Hadi Santoso
Halaman 41 dari 51
If myread.Read Then strtemp = Mid(myread.Item( "kd_plg" ), 3, 3) Else txtkdplg.Text = "PG001" Exit Sub End If 'MsgBox(strTemp) strvalue = Val(strtemp) + 1 txtkdplg.Text = "BG" & Mid( "000" , 1, 3 - strvalue.Length) & strvalue Call list_data() End Sub Private Sub cmdsimpan_Click( ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdsimpan.Click If txtkdplg.Text = "" Then MessageBox.Show( "Anda Harus Mengisi kode !!" ) txtkdplg.Focus() Exit Sub ElseIf txtnmplg.Text = "" Then MessageBox.Show( "Anda Harus Mengisi Nama !!" ) txtnmplg.Focus() Exit Sub ElseIf txtalamat.Text = "" Then MessageBox.Show( "Anda Harus mengisi Alamat !!" ) txtalamat.Focus() Exit Sub ElseIf txttelepon.Text = "" Then MessageBox.Show( "Anda Harus mengisi Telepon !!" ) txttelepon.Focus() Exit Sub End If obj.kdplg = txtkdplg.Text obj.nmplg = txtnmplg.Text obj.alamat = txtalamat.Text obj.telp = txttelepon.Text If obj.simpan = 1 Then MessageBox.Show( "Insert Data Berhasil !!" ) sql = "SELECT * FROM Pelanggan ORDER BY kd_plg DESC" mycmd = New OleDbCommand(sql, conn) myread = mycmd.ExecuteReader If myread.Read Then strTemp = Mid(myread.Item( "kd_plg" ), 3, 3) Else txtkdplg.Text = "PG001" Exit Sub End If
'MsgBox(strTemp) strValue = Val(strTemp) + 1 txtkdplg.Text = "PG" & Mid( "000" , 1, 3 - strValue.Length) & strValue
Diktat VB.Net Lanjutan Hadi Santoso
Halaman 42 dari 51
Call bersih() Else MessageBox.Show( "Insert Gagal !!" ) End If Call list_data() End Sub Private Sub bersih() txtnmplg.Text = "" txtalamat.Text = "" txttelepon.Text = "" txtnmplg.Focus() End Sub Private Sub list_data() Call clear_list() Dim sqlx As String Dim x As Integer sqlx = "select kd_plg, nm_plg, almt, telp from PELANGGAN" conn = New OleDbConnection(strconn) If conn.State <> ConnectionState.Closed Then conn.Close() conn.Open() mycmd = New OleDbCommand(sqlx, conn) myread = mycmd.ExecuteReader Try While myread.Read = True x = Val(counter.Text) counter.Text = Str(Val(counter.Text ) + 1) With ListView1 .Items.Add( "" ) .Items(ListView1.Items.Count - 1).SubItems.Add( "" ) .Items(ListView1.Items.Count - 1).SubItems.Add( "" ) .Items(ListView1.Items.Count - 1).SubItems.Add( "" ) .Items(ListView1.Items.Count - 1).SubItems.Add( "" ) .Items(x).SubItems(0).Text = my read.GetString(0) .Items(x).SubItems(1).Text = my read.GetString(1) .Items(x).SubItems(2).Text = my read.GetValue(2) .Items(x).SubItems(3).Text = my read.GetString(3) .Items(x).SubItems(4).Text = my read.GetString(4) End With End While Finally myread.Close() End Try conn.Close() End Sub
Diktat VB.Net Lanjutan Hadi Santoso
Halaman 43 dari 51
Private Sub clear_list() While Val(counter.Text) > 0 ListView1.Items(0).Remove() counter.Text = Val(counter.Text) - 1 End While End Sub Private Sub ListView1_Click( ByVal sender As Object , ByVal e As System.EventArgs) Handles ListView1.Click txtkdplg.Text = ListView1.SelectedItems(0). SubItems(0).Text.ToString txtnmplg.Text = ListView1.SelectedItems(0). SubItems(1).Text.ToString txtalamat.Text = ListView1.SelectedItems(0).SubItems(2).Text.ToStrin g txttelepon.Text = ListView1.SelectedItems(0).SubItems(3).Text.ToStrin g End Sub Private Sub cmdubah_Click( ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdubah.Click If txtnmplg.Text = "" Then MessageBox.Show( "Anda Harus Mengisi Nama Pelanggan !!" ) txtnmplg.Focus() Exit Sub ElseIf txtalamat.Text = "" Then MessageBox.Show( "Anda Harus Mengisi alamat !!" ) txtalamat.Focus() Exit Sub ElseIf txttelepon.Text = "" Then MessageBox.Show( "Anda Harus Mengisi Telepon !!" ) txttelepon.Focus() Exit Sub End If Dim jawab As DialogResult jawab = MessageBox.Show( "Anda yakin akan mengubah data ini ??" , _ "DATA PELANGGAN", MessageBoxButtons.YesNo, MessageBoxIcon.Question) If jawab = Windows.Forms.DialogResult.Yes Then obj.kdplg = txtkdplg.Text obj.nmplg = txtnmplg.Text obj.alamat = txtalamat.Text obj.telp = txttelepon.Text If obj.ubah(txtkdplg.Text) = 1 Then MessageBox.Show( "Update Data Berhasil !!" ) sql = "SELECT * FROM Pelanggan ORDER BY kd_plg DESC" mycmd = New OleDbCommand(sql, conn) myread = mycmd.ExecuteReader If myread.Read Then strTemp = Mid(myread.Item( "kd_plg" ), 3, 3) Else txtkdplg.Text = "PG001" Exit Sub End If 'MsgBox(strTemp) strValue = Val(strTemp) + 1 txtkdplg.Text = "PG" & Mid( "000" , 1, 3 - strValue.Length) & strValue
Diktat VB.Net Lanjutan Hadi Santoso
Halaman 44 dari 51
Else MessageBox.Show( "Update Gagal !!" ) End If Call bersih() End If Call list_data() End Sub Private Sub cmdhapus_Click( ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdhapus.Click Dim jawab As DialogResult jawab = MessageBox.Show( "Anda yakin akan menghapus data ini ??" , _ "DATA PELANGGAN", MessageBoxButtons.YesNo, MessageBoxIcon.Question) If jawab = Windows.Forms.DialogResult.Yes Then If obj.hapus(txtkdplg.Text) = 1 Then MessageBox.Show( "Delete Data Berhasil !!" ) sql = "SELECT * FROM Pelanggan ORDER BY kd_plg DESC" mycmd = New OleDbCommand(sql, conn) myread = mycmd.ExecuteReader If myread.Read Then strTemp = Mid(myread.Item( "kd_plg" ), 3, 3) Else txtkdplg.Text = "PG001" Exit Sub End If 'MsgBox(strTemp) strValue = Val(strTemp) + 1 txtkdplg.Text = "PG" & Mid( "000" , 1, 3 - strValue.Length) & strValue Else MessageBox.Show( "Delete Gagal !!" ) End If Call bersih() End If Call list_data() End Sub Private Sub cmdkeluar_Click( ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdkeluar.Click Dim jawab As DialogResult jawab = MessageBox.Show( "Anda yakin akan Keluar Dari Entry Data ini ??" , _ "PERINGATAN", MessageBoxButtons.YesNo, MessageBoxIcon.Question) If jawab = Windows.Forms.DialogResult.Yes Then If conn.State <> ConnectionState.Closed Then conn.Close() Me.Dispose() End If End Sub Private Sub cmdbatal_Click( ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdbatal.Click Call bersih() End Sub End Class
Diktat VB.Net Lanjutan Hadi Santoso
Halaman 45 dari 51
Imports System.Data.OleDb Imports System.Data Public Class ClsRekening #Region "Variabel" Private xnorek As String Private xNmrek As String Dim sql As String = "" Dim mycmd As OleDbCommand Dim myread As OleDbDataReader Dim hasRows As Boolean #End Region
MEMBUAT CLASS REKENING
Untuk membuat Class, dengan cara: Klik kanan pada Project di Solution Explorer, kemudian pilih Add,
Class...
Ketikan code untuk Class Rekening:
Diktat VB.Net Lanjutan Hadi Santoso
Halaman 46 dari 51
#Region "Property" Public Property norek() As String Get Return xnorek End Get Set ( ByVal value As String ) xnorek = value End Set End Property Public Property nmrek() As String Get Return xNmrek End Get Set ( ByVal value As String ) xNmrek = value End Set End Property #End Region #Region "Method" Public Function simpan() As Integer sql = "INSERT INTO Rekening(no_rek,Nm_rek) " & _ "VALUES('" & xnorek & "','" & xNmrek & "')" conn = New OleDbConnection(strconn) If conn.State <> ConnectionState.Closed Then conn.Close() conn.Open() mycmd = New OleDbCommand(sql, conn) Return mycmd.ExecuteNonQuery End Function Public Function hapus( ByVal varnorek As String ) As Integer sql = "DELETE FROM Rekening WHERE no_rek='" & varnorek & "'" conn = New OleDbConnection(strconn) If conn.State <> ConnectionState.Closed Then conn.Close() conn.Open() mycmd = New OleDbCommand(sql, conn) Return mycmd.ExecuteNonQuery End Function Public Function ubah( ByVal varnorek As String ) As Integer sql = "UPDATE Rekening SET Nm_rek ='" & xNmrek & "'" & _ " WHERE no_rek='" & varnorek & "'" conn = New OleDbConnection(strconn) If conn.State <> ConnectionState.Closed Then conn.Close() conn.Open() mycmd = New OleDbCommand(sql, conn) Return mycmd.ExecuteNonQuery End Function #End Region End Class
Diktat VB.Net Lanjutan Hadi Santoso
Halaman 47 dari 51
ENTRY DATA REKENING
OBJEK NAME TEXT PROPERTIES YANG DIUBAH Form1 frmRekening ENTRY DATA REKENING Font , Back Color, StartPosition =
CenterScreen
Label1 Label1 ENTRY DATA REKENING Font, Back Color
GroupBox1 Groupbox1 - Font, Back Color
Label2 Label2 No. Rekening Font, Back Color
Label3 Label3 Nama Rekening Font, Back Color
Textbox1 txtkdrek (kosong) Font , Back Color
Textbox2 txtNmrek (kosong) Font, Back Color
Textbox6 Counter 0 Font, Back Color
GroupBox2 Groupbox2 - Font, Back Color
Button2 cmdSimpan SIMPAN Font , Back Color
Button3 cmdUbah UBAH Font , Back Color
Button4 cmdHapus HAPUS Font , Back Color
Button5 cmdBatal BATAL Font, Back Color
Button6 cmdKeluar KELUAR Font , Back Color
ListView1 ListView1 - View = Details Edit Column = No. Rekening,
Nama Rekening
Form
Group
Box1
Label
Group
Box2
Button
Label
ListView TextBox
TextBox
Diktat VB.Net Lanjutan Hadi Santoso
Halaman 48 dari 51
Ketikan code untuk Class Rekening:
Imports System.Data.OleDb Imports System.Data Public Class FrmRekening Dim obj As New ClsRekening Dim mycmd As OleDbCommand Dim myread As OleDbDataReader Dim strTemp As String = "" Dim strValue As String = "" Dim sql As String Private Sub FrmRekening_Load( ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 'Koneksi Database conn = New OleDbConnection(strconn) If conn.State <> ConnectionState.Closed Then conn.Close() conn.Open() Call list_data() End Sub Private Sub cmdsimpan_Click( ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdsimpan.Click If txtnorek.Text = "" Then MessageBox.Show( "Anda Harus Mengisi nomor rekening !!" ) txtnorek.Focus() Exit Sub ElseIf txtnmrek.Text = "" Then MessageBox.Show( "Anda Harus Mengisi Nama !!" ) txtnmrek.Focus() Exit Sub End If obj.norek = txtnorek.Text obj.nmrek = txtnmrek.Text If obj.simpan = 1 Then MessageBox.Show( "Insert Data Berhasil !!" ) sql = "SELECT * FROM Rekening ORDER BY no_rek DESC" mycmd = New OleDbCommand(sql, conn) myread = mycmd.ExecuteReader Call bersih() Else MessageBox.Show( "Insert Gagal !!" ) End If Call list_data() End Sub
Diktat VB.Net Lanjutan Hadi Santoso
Halaman 49 dari 51
Private Sub bersih() txtnorek.Text = "" txtnmrek.Text = "" txtnorek.Focus() End Sub Private Sub list_data() Call clear_list() Dim sqlx As String Dim x As Integer sqlx = "select no_rek, nm_rek from REKENING" conn = New OleDbConnection(strconn) If conn.State <> ConnectionState.Closed Then conn.Close() conn.Open() mycmd = New OleDbCommand(sqlx, conn) myread = mycmd.ExecuteReader Try While myread.Read = True x = Val(counter.Text) counter.Text = Str(Val(counter.Text ) + 1) With ListView1 .Items.Add( "" ) .Items(ListView1.Items.Count - 1).SubItems.Add( "" ) .Items(x).SubItems(0).Text = my read.GetString(0) .Items(x).SubItems(1).Text = my read.GetString(1) End With End While Finally myread.Close() End Try conn.Close() End Sub Private Sub clear_list() While Val(counter.Text) > 0 ListView1.Items(0).Remove() counter.Text = Val(counter.Text) - 1 End While End Sub Private Sub ListView1_Click( ByVal sender As Object , ByVal e As System.EventArgs) Handles ListView1.Click txtnorek.Text = ListView1.SelectedItems(0). SubItems(0).Text.ToString txtnmrek.Text = ListView1.SelectedItems(0). SubItems(1).Text.ToString End Sub
Diktat VB.Net Lanjutan Hadi Santoso
Halaman 50 dari 51
Private Sub cmdubah_Click( ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdubah.Click If txtnorek.Text = "" Then MessageBox.Show( "Anda Harus Mengisi nomor rekening !!" ) txtnorek.Focus() Exit Sub ElseIf txtnmrek.Text = "" Then MessageBox.Show( "Anda Harus Mengisi Nama !!" ) txtnmrek.Focus() Exit Sub End If Dim jawab As DialogResult jawab = MessageBox.Show( "Anda yakin akan mengubah data ini ??" , _ "DATA REKENING" , MessageBoxButtons.YesNo, MessageBoxIcon.Question) If jawab = Windows.Forms.DialogResult.Yes Then obj.norek = txtnorek.Text obj.nmrek = txtnmrek.Text If obj.ubah(txtnorek.Text) = 1 Then MessageBox.Show( "Update Data Berhasil !!" ) sql = "SELECT * FROM REKENING ORDER BY no_rek DESC" mycmd = New OleDbCommand(sql, conn) myread = mycmd.ExecuteReader Else MessageBox.Show( "Update Gagal !!" ) End If Call bersih() End If Call list_data() End Sub Private Sub cmdhapus_Click( ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdhapus.Click Dim jawab As DialogResult jawab = MessageBox.Show( "Anda yakin akan menghapus data ini ??" , _ "DATA REKENING", MessageBoxButtons.YesNo, MessageBoxIcon.Question) If jawab = Windows.Forms.DialogResult.Yes Then If obj.hapus(txtnorek.Text) = 1 Then MessageBox.Show( "Delete Data Berhasil !!" ) sql = "SELECT * FROM REKENING ORDER BY no_rek DESC" mycmd = New OleDbCommand(sql, conn) myread = mycmd.ExecuteReader Else MessageBox.Show( "Delete Gagal !!" ) End If Call bersih() End If Call list_data() End Sub
Diktat VB.Net Lanjutan Hadi Santoso
Halaman 51 dari 51
Private Sub cmdkeluar_Click( ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdkeluar.Click Dim jawab As DialogResult jawab = MessageBox.Show( "Anda yakin akan Keluar Dari Entry Data ini ??" , _ "PERINGATAN", MessageBoxButtons.YesNo, MessageBoxIcon.Question) If jawab = Windows.Forms.DialogResult.Yes Then If conn.State <> ConnectionState.Closed Then conn.Close() Me.Dispose() End If End Sub Private Sub cmdbatal_Click( ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdbatal.Click Call bersih() End Sub End Class