diktat vbnet lanjutan

51
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

Upload: jacob-dwi-cristian-umboh

Post on 26-May-2015

611 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Diktat vbnet lanjutan

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

Page 2: Diktat vbnet lanjutan

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

Page 3: Diktat vbnet lanjutan

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

Page 4: Diktat vbnet lanjutan

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

Page 5: Diktat vbnet lanjutan

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

Page 6: Diktat vbnet lanjutan

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.

Page 7: Diktat vbnet lanjutan

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 :

Page 8: Diktat vbnet lanjutan

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

Page 9: Diktat vbnet lanjutan

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.

Page 10: Diktat vbnet lanjutan

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.

Page 11: Diktat vbnet lanjutan

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.

Page 12: Diktat vbnet lanjutan

Diktat VB.Net Lanjutan Hadi Santoso

Halaman 12 dari 51

10. Rancangan Basis Data Class Diagram

Page 13: Diktat vbnet lanjutan

Diktat VB.Net Lanjutan Hadi Santoso

Halaman 13 dari 51

11. Rancangan Basis Data

a. Entity Relationship Diagram (ERD)

Page 14: Diktat vbnet lanjutan

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

Page 15: Diktat vbnet lanjutan

Diktat VB.Net Lanjutan Hadi Santoso

Halaman 15 dari 51

c. Logical Record Structure (LRS)

Page 16: Diktat vbnet lanjutan

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

Page 17: Diktat vbnet lanjutan

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

Page 18: Diktat vbnet lanjutan

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:

Page 19: Diktat vbnet lanjutan

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.

Page 20: Diktat vbnet lanjutan

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)

Page 21: Diktat vbnet lanjutan

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.

Page 22: Diktat vbnet lanjutan

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.

Page 23: Diktat vbnet lanjutan

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 :

Page 24: Diktat vbnet lanjutan

Diktat VB.Net Lanjutan Hadi Santoso

Halaman 24 dari 51

Page 25: Diktat vbnet lanjutan

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

Page 26: Diktat vbnet lanjutan

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

Page 27: Diktat vbnet lanjutan

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

Page 28: Diktat vbnet lanjutan

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

Page 29: Diktat vbnet lanjutan

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

Page 30: Diktat vbnet lanjutan

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

Page 31: Diktat vbnet lanjutan

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

Page 32: Diktat vbnet lanjutan

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()

Page 33: Diktat vbnet lanjutan

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

Page 34: Diktat vbnet lanjutan

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

Page 35: Diktat vbnet lanjutan

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

Page 36: Diktat vbnet lanjutan

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

Page 37: Diktat vbnet lanjutan

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:

Page 38: Diktat vbnet lanjutan

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

Page 39: Diktat vbnet lanjutan

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

Page 40: Diktat vbnet lanjutan

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

Page 41: Diktat vbnet lanjutan

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

Page 42: Diktat vbnet lanjutan

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

Page 43: Diktat vbnet lanjutan

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

Page 44: Diktat vbnet lanjutan

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

Page 45: Diktat vbnet lanjutan

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:

Page 46: Diktat vbnet lanjutan

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

Page 47: Diktat vbnet lanjutan

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

Page 48: Diktat vbnet lanjutan

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

Page 49: Diktat vbnet lanjutan

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

Page 50: Diktat vbnet lanjutan

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

Page 51: Diktat vbnet lanjutan

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