Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

186
1

Transcript of Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

Page 1: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 1/186

1

Page 2: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 2/186

2

KATA PENGANTAR 

Visual Basic merupakan salah satu bahasa pemograman yang popular sejak pertama kali

di rilis tahun 1991. Karena kehandalannya maka Microsoft selalu membuat perbaikan disana-sini

untuk setiap versi terbarunya.

Pada bulan April yang lalu Microsoft telah merilis Visual Studio 2010 yang didalamnya

terdapat Visual Basic terbaru yaitu Visual Basic 10. Pada versi ini banyak sekali fitur-fitur yang

memudahkan programmer dalam develop aplikasi. Dan untuk mengetahui fitur-fitur apa saja

yang terdapat pada VB 10 dan VS 2010 buku ini dapat dijadikan salah satu referensi karena di

kemas dengan gamblang dan mudah dimengerti, sekaligus di sertakan dengan contoh pembuatan

aplikasi.

Selain membahas Visual Basic buku ini juga membahas tentang fitur-fitur baru pada Ms

Access 2010, dimana Ms Access 2010 dapat dijadikan sebaga database pada suatu aplikasi.

Penulis menyarankan sebelumnya mengunduh (download ) terlebih dahulu project yang dibahas

 pada buku ini disini (http://geeks.netindonesia.net/files/folders/source_codes_vb/default.aspx).

Salah satu kelebihan buku ini adalah, bagaimana pembaca dibimbing untuk membuat

aplikasi dengan VB 10 dan Ms Access 2010. Walaupun sebelumnya pembaca tidak memiliki

 pengetahuan dengan 2 (dua) produk ini, tapi dengan bimbingan buku ini pembaca dapat

mengikuti dengan baik.

Tetapi penulis juga manusia, jadi buku ini masih jauh dari sempurna dan untuk itu

 penulis menantikan saran dan usulan dari para pembaca untuk perbaikan penulisan di masa yang

akan datang. Saran dan usulan para pembaca dapat dilayangkan ke alamat email penulis

 [email protected]

Page 3: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 3/186

3

Penulis panjatkan puja-puji syukur kehadirat Allah SWT, yang telah melimpahkan

rahmat dan hidayah-Nya sehingga penulis dapat menyelesaikan penulisan buku ini. Buku

special penulis persembahkan untuk “Si Kecil ,sibuah hati” Syifa Afrah Syafira, yang baru

 berumur 5 bulan.

Sebulan Sebelum Bulan Kelahiran Ku,

Junindar, MVP VB.NET

Page 4: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 4/186

4

Page 5: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 5/186

5

Biografi Penulis.

Junindar Lahir di Tanjung Pinang, 21 Juni 1982. Menyelesaikan Program

S1 pada jurusan Teknik Informatika di Sekolah Tinggi Sains dan

Teknologi Indonesia (ST-INTEN-Bandung). Junindar mendapatkan

Microsoft MVP VB pertanggal 1 oktober 2009. Penulis merupakan Ketua

Microsoft User Group Indonesia Regional Batam (MUGI  –  Batam).

Senang mengutak-atik computer yang berkaitan dengan bahasa

 pemrograman. Keahlian, sedikit mengerti beberapa pemrograman seperti :

VB.Net, LINQ, VBA. Database : Access dan SQL Server 00/05.

Simulation / Modeling Packages: Visio Enterprise, Rational Rose danPower Designer. Dan senang bermain gitar, karena untuk bisa menjadi

 pemain gitar dan seorang programmer sama-sama membutuhkan seni.

Pada saat ini bekerja di salah satu Perusahaan Swasta di BATAM sebagai

Software Development. Mempunyai moto hidup : “Jauh lebih baik 

menjadi Orang Bodoh yang giat belajar, dari pada orang Pintar yang

tidak pernah mengimplementasikan ilmunya”. 

Kritik dan saran kirim ke :  [email protected] 

http://junindar.blogspot.com 

Page 6: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 6/186

6

Ketika anak Adam meninggal, terputuslah amalannya kecuali dari tiga perkara :

Shadaqah jariyah, ilmu yang bermanfaat bagi orang sesudahnya dan anak 

shalih yang mendo'akannya.

Semoga ini menjadi Ilmu yang bermanfaat. Amin

Page 7: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 7/186

7

DAFTAR ISI

Halaman

KATA PENGANTAR .............................................................................................................1

TENTANG PENULIS ............................................................................................................3

DAFTAR ISI............................................................................................................................5

BAB I. MS ACCESS 2010

1.1 Fitur  – Fitur Ms 2010 .............................................................................................7

1.2 Membuat Database dan Table ................................................................................16

1.3 Membuat Query ......................................................................................................20

BAB II. VISUAL STUDIO & VISUAL BASIC 2010

2.1 Visual Studio 2010 IDE .........................................................................................23

2.2 Fitur  – Fitur Baru pada VS 2010 ............................................................................24

2.3 Fitur  – Fitur Baru pada Visual Basic 10 .................................................................28

2.4 Membuat Project Baru ............................................................................................37

2.5 Menambah Control Pada Form ..............................................................................40

BAB III. ANALISIS PROGRAM

Page 8: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 8/186

8

3.1 Analisa Proses………………………………………………………………….....45 

3.2 Analisa Pengguna....................................................................................................45

BAB IV. PEMBUATAN APLIKASI

4.1 Membuat Database..................................................................................................47

4.2 Bekerja dengan VB 10 (Membuat Management User)...........................................53

4.3 Membuat Form Group ............................................................................................104

4.4 Membuat Form Genre .............................................................................................118

4.5 Membuat Form Customer .......................................................................................125

4.6 Membuat Form DVD ..............................................................................................138

4.7 Membuat Form Rental DVD ..................................................................................157

4.8 Membuat Form Return DVD ..................................................................................173

Page 9: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 9/186

9

BAB I

MS ACCESS 2010

Pada bab ini akan dijelaskan tentang fitur-fitur baru pada Ms Access 2010, dan cara pengunaan

dasar pada Ms Access 2010, seperti membuat table, query maupun relationships.

Sebelum kita masuk ke penjelasan penggunaan MS Access 2010, terlebih dahulu kita membahas

tentang Ms Office 2010 pada umumnya. Untuk Ms Office 2010 ini terdapat 7 versi yang tersedia

seperti dibawah.

  Office Professional Plus 2010

  Office Professional 2010

  Office Standard 2010

  Office Home and Business 2010

  Office Home and Student 2010

  Office Professional Academic 2010

  Office Starter 2010

Ms Office 2010 dapat berjalan pada office 2007, dan untuk menginstall Ms Office 2010 di

 butuhkan system requirements sebagai berikut :

  Processor 500 MHZ atau lebih

  RAM 256 MB atau lebih

  Hard disk 2 GB

  CD atau DVD drive

  Display 1024 x 768 atau lebih

  OS : Windows Xp SP3, Windows Vista SP1 (32 atau 64 bit), Windows 7 (32 atau 64

 bit), Windows Server 2003 R2 dengan SP2 (32 atau 64 bit) dan Windows Server 2008dengan SP1 (32 atau 64 bit)

1. 1 Fitur - Fitur Ms 2010 

Sebelum kita menggunakan suatu produk, kita biasanya terlebih dahulu kita selalu

mencari tau bagaimana kelebihan produk baru ini di banding dengan produk sebelumnya.

Page 10: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 10/186

10

Oleh karena disini penulis akan menjelelaskan beberapa fitur-fitur terbaru untuk Ms

Access 2010.

Gambar 1.1

  Quick Start Fields

Pada versi sebelumnya untuk membuat field seperti berikut (Address, City, State,

Zip dan Country) kita melakukan nya satu persatu. Tapi dengan Ms Access 2010

ini kita cukup hanya sekali klik, yaitu dengan menggunakan Quick Start. Cara nya

 buka table yang ingin ditambahkan field nya lalu pada Table Tool Fields Tab klik 

More Fields pada Add & Delete Grop. Lalu Scroll ke bawah dan pada Quick Start

 pilih Address.

Ribbon Contextual tabs

Record Navigation Database searchView Control

Page 11: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 11/186

11

Gambar 1.2

Gambar 1.3

Terdapat beberapa field didalam Quick start, dan kita dapat mengganti options

 pada field. Sebagai contoh, jika kita memilih Payment, maka secara otomatis akan

terdapat beberapa pilihan (Cahs, Credit Card, Check dan In Kind) kita dapat

Page 12: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 12/186

12

mengubah pilihan ini, dengan cara klik kanan pada field, lalu pilih Edit List Item,

maka akan muncul jendela seperti dibawah. Lalu ganti sesuai yang dinginkan .

Gambar 1.4

  Menu dan Ribbon

Untuk fitur ini terdapat pada aplikasi Ms Office lain nya. Seperti kita ketahui pada

Ms Access 2007 terdapat “Office Button” pada pojok kiri atas, dan fitur ini telah

dihilangkan pada ms Access 2010. Pada Ms Access 2010 terdapat menu “File”

sebagai ganti nya. Dan pada Menu File terdapat beberapa item seperti Info,

Recent, New dan lainnya.

Gambar 1.5

Page 13: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 13/186

13

  Application Part

Untuk menggunakan application part, click Create Tab dan klik Application Part

maka list dari application part akan tampil seperti dibawah. Lalu pilih application

 part yang dinginkan.

Gambar 1.6

  Office ThemesUntuk Ms Access 2010 ini ada fitur yang memudahkan kita untuk mendesign

form atau report dengan sekali klik. Dimana kita dapat memilih theme yang kita

suka. Theme ini sudah mengatur dari warna dan font pada form maupun report.

Klik Form/Report yang mau diubah, lalu pada Contextual > Design pilih themes

 pada Themes group. Seperti gambar dibawah.

Page 14: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 14/186

14

Gambar 1.7

  Calculate Fields

Pada fitur ini kita bisa membuat sebuah field uang otomatis mengkalkulasi antara

field. Seperti contoh kita memilki field A yang bernilai 2 dan Field B bernilai 5,

lalu secara otomatis kita ingin membuat sebuah field untuk menampung jumlah

dari Field A dan B, dengan menggunaka fitur ini kita dapat mengkalkulasi 2 field

tersebut. Untuk penggunaannya, buka table yang di inginkan, lalu pada

Contextual Tools > Fields, pilih More Fields pada Add & Delete Group. Dan klik 

Calculate Fields dan pilih type dari field yang dinginkan.

Gambar 1.8

Lalu akan tampil Expression Builder seperti dibawah, masukkan formula untuk 

hasil dari expression value nya.

Page 15: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 15/186

15

Gambar 1.9

  Data Bars dan Conditional Formating

Data Bars membantu kita dalam membaca sebuah laporan, seperti melakukan

 perbandingan data, kadang tidak setiap orang mengerti maksud dari laporan

tersebut. Dengan adanya data bars membatu secara visualisasi.. Fitur ini sekarang

sudah tersedia pada Ms Access 2010.

Gambar 1.10

Page 16: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 16/186

16

Buka Report yang dinginkan, Report Layout Tools > Format, lalu pilih

Conditional Formatting. Maka akan muncul tampilan seperti dibawah. Pilih Field

yang dinginkan pada Show Formatting rules for :

Gambar 1.11

Pilih New Rule, pada Select a rule type, pilih compare to other records. Dan ganti

warna dari Bar, dan klik OK.

Gambar 1.12

   Navigation Forms

Sesuai dengan namanya navigation forms, fitur ini memudahkan kita dalam

membuat navigasi dari form/report, hanya dengan menarik form kedalam

 Navigation Forms. Navigation Forms berfungsi untuk memudahkan dalam

mencari form atau Report yang dinginkan. Untuk membuat Navigation Forms

ikuti langkah-langkah sebagai berikut. Pada Tab Create, lalu klik Navigation

Forms pada group forms. Maka akan muncul layout dari Navigation forms.

Page 17: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 17/186

17

Gambar 1.13

Pilih layout yang dinginkan. Drag dan Drop form atau report kedalam Navigation

Forms.

Gambar 1.14

Page 18: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 18/186

18

  Macro

Untuk Ms Access 2010 ini dalam penggunaan macro menjadi lebih mudah.

Dimana dapat dilakukan dengan Drag dan Drop saja.

Gambar 1.15

1. 2 Membuat Database dan Table 

Penulis bersumsi bahwa tidak semua pembaca sudah bisa atau pernah menggunakan Ms

Access. Oleh karena itu pada bab ini juga penulis menjelaskan bagaimana cara membuat

Database dan Table, yang nanti nya pada bab kedepan penulis tidak menjelaskan secara

detail tentang membuat database dan table kembali.

Pada Start > All Programs > Ms Office > Ms Access 2010, maka akan muncul tampilan

seperti dibawah.

Page 19: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 19/186

19

Gambar 1.16

Lalu pilih Blank database, kemudian ganti nama database dan browse dimana file akan

disimpan. Kemudian teka button Create. Dan tampilan dari Ms Access pun akan berganti

menjadi seperti gambar dibawah. Dengan default Table1.

Gambar 1.17

Page 20: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 20/186

20

Dengan melakukan langkah-langkah dibawah maka kita telah memiliki sebuah database.

Langkah selanjutnya adalah membuat table.

Klik Tab Create, lalu klik Table pada Tables group. Lalu Contextual Table Tools >

Fields, klik View pada Views Group dan pilih Design View. Maka akan muncul dialog

Save As, ketikkan nama table yang dinginkan.

Gambar 1.18

Gambar 1.19

Setelah menekan button OK, maka kita akan masuk pada tampilan Design untuk Table,

seperti gambar dibawah.

Page 21: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 21/186

21

Gambar 1.20

Keterangan :

1. Field Name : Merupakan tempat menambah menghapus dan mengganti Nama Field

dai table.

2. DataType : Tempat untuk mengganti Tipe Data dari Field.

3. Description : Tempat untuk mendeskripsikan field

4. General : Merupakan Properties dari field

Disinilah merupakan tempat untuk mengganti properties seperti, field size, format,

Input Mask dan lain-lain.

Lalu tekan button Save atau Ctrl + Save untuk menyimpan hasil dari perubahan table.

1 2 3

4

Page 22: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 22/186

22

Gambar 1.21

1. 3 Membuat Query

Setelah selesai dengan membuat table, kita lanjutkan dengan membuat query, mungkin

masih banyak pembaca tidak mengetahui dari fungsi query. Query dapat berfungsi untuk 

menampilkan data dari 1 table atau lebih, atau untuk proses insert, delete maupun update,

yang bisa diakses diluar Ms Access 2010, seperti Visual Basic 10.

Untuk membuat Query (Select table) ikuti langkah-langkah seperti berikut : Klik Tab

Create, selanjutnya klik Query Design pada Queries group.

Gambar 1.22

Selanjutnya akan tampil jendela Show Table, pilih table yang ingin di tampilkan lalu

tekan button “Add”, lalu klik button “Close” untuk menutup tampilan show table. Lalu

klik ganda field yang ingin ditampilkan, seperti gambar dibawah.

Save

Page 23: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 23/186

23

Gambar 1.23

Untuk menampilkan hasil dari query pada Query Design Tools, klik View pada Result

Group dan pilih DatasheetView

Gambar 1.24

Gambar 1.25

Page 24: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 24/186

24

SELECT t_cust.refer_cust, t_cust.first_name, t_cust.last_name, t_cust.telp,t_cust.email

FROM t_cust WHERE (((t_cust.refer_cust)=[@refer_cust]));

Untuk melihat sintaks SQL nya pilih SQL View. Kita dapat memodifikasi sintaks SQL

seperti dibawah ini, contoh jika kita ingin menampilkan dengan menggunakan criteria

(parameter).

Lalu pada View pilih DatasheetView, maka akan tampil dialog seperti dibawah.

Gambar 1.26

Untuk kedepan penulis hanya memberikan sintaks dari SQL pada setiap query tanpa

menjelaskan secara detail pembuatanya. Pembaca dapat copy paste sintaks SQL dan

modifikasi pada jendela SQL View.

Page 25: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 25/186

25

BAB II

VISUAL STUDIO & VISUAL BASIC 2010

Pada bab ini akan di jelaskan dasar-dasar Visual Studio dan Visual Basic 2010, yang

dimana akan membantu pembaca untuk membuat aplikasi pada bab berikut nya.

2. 1 Visual Studio 2010 IDE

Untuk membuat aplikasi sebenarnya kita tidak harus menggunakan Visual Studio 2010, kita

dapat menuliskan semua code dengan menggunakan text editor seperti notepad. Tetapi

dengan Visual Studio 2010 IDE akan memudahkan kita dalam membuat aplikasi karena

didukung dengan fitur-fitur yang memudahkan seorang programmer.

Untuk Visual Studio 2010 terdapat 5 versi yang tersedia :

  Express

  Professional

  Professional with MSDN

  Premium with MSDN

  Ultimate with MSDN

Gambar 2.1

Page 26: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 26/186

26

2. 2 Fitur-Fitur Baru pada VS 2010

Berikut beberapa penjelasan tentang improvement yang ada pada VS 2010.

  Multi windows

Pada fitur ini kita dapat menarik windows keluar dari IDE dengan cara Ctrl + Klik 

ganda.

Gambar 2.2

  Multi targeting

Sebenarnya fitur ini sudah ada pada Visual Studio versi sebelumnya, Cuma yang

membedakan dengan VS 2010, VS 2010 akan menampilkan ToolBox dan properties

sesuai dengan .net framework yang dipilih.

Gambar 2.3

Page 27: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 27/186

27

  Add References

Pada Visual Studio versi sebelumnya jika kita melakukan Add References pada project

itu membutuhkan waktu yang cukup “mengganggu”, untuk versi 2010 ini waktu yang

dibutukan sangat cepat, dan focus pada jendela Add References pada tab Projects.

Gambar 2.4

  Zoom

Fungsi ini sangat membantu sekali pada saat kita di code editor. Kita dapat memperbesar 

dan memperkecil pada Code Editor dengan menekan Ctrl + Mouse Scroll.

Gambar 2.4

Page 28: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 28/186

28

  Navigate To

Biasanya pada saat melakukan pemograman sering sekali kita melakukan pencarian

kata-kata, dan untuk VS versi sebelumnya kita menggunakan fungsi search. Pada versi

2010 ini kita dapat menggunakan fungsi Navigate To dengan cara menekan Ctrl + ,

(koma) atau Edit > Navigate To. Dengan mengetikkan kata yang dicari maka secara

otomatis pada Result Found akan memfilter kata yang dicari, dan cukup meng-klik pada

list maka secara otomatis akan menuju ke lokasi.

Gambar 2.5

  Generate Sequence Diagram.

Fungsi ini hanya bisa dilakukan pada Versi Premium dan Ultimate. Fungsi ini adalah

untuk membuat diagram pada method. Dengan cara klik kanan pada function dan pilih

“Generate Sequence Diagram”. 

Page 29: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 29/186

29

Gambar 2.6

  Generate From Usage

Pada fitur ini kita dapat menggunakan Class dan member sebelum kita membuatnya.

Seperti kita ketahui jika suatu class belum dibuat maka tidak bisa kita melakukan

deklarasi terhadap class tersebut. Untuk VS 2010 kita dapat menggenerate Class tersebut

dengan cara. Tekan Ctrl + . (titik) pada error list, maka akan tampil tooltip seperti

dibawah.

Gambar 2.7

Page 30: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 30/186

30

Lalu pilih Generate New Type untuk bisa memodifikasi class yang dinginkan.

Gambar 2.8

2. 3 Fitur – fitur baru pada Visual Basic 10

Untuk fitur-fitur baru ini di ambil dari blog Erick Kurniawan, MVP VB

(http://mugi.or.id/blogs/erick) 

  Collection Initializer

Collection Initializer digunakan untuk menginisialisasi object collection dalam sebuah

 baris kode saja, sehingga mempermudah penulisan kode.

Pada VB9 untuk menginisialisasi object Collection anda harus menuliskan kode:

1: Dim objNama As  New List(Of String)

2: objNama.Add("Erick")3: objNama.Add("Wely")

4: objNama.Add("Lutfie")

5: objNama.Add("Ridi")

6: 7: For  Each nama In objNama

Page 31: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 31/186

31

8: Console.WriteLine(nama)

9:  Next 

Pada VB10 dengan menggunakan Collection Initializer anda dapat menggunakan

keyword „from‟ untuk mempersingkat penulisan kode diatas. 

1: Dim objNama As  New List(Of String) From {"erick", "wely", "lutfie", "ridi"}

2: For  Each nama In objNama

3: Console.WriteLine(nama)4:  Next 

Anda juga dapat menggunakannya untuk object Dictionary

1: Dim dictMahasiswa As  New Dictionary(Of String, String) From {2: {"23080008", "erick"},

3: {"23080009", "budi"},

4: {"23080010", "anton"}}

5: For  Each mhs In dictMahasiswa6: Console.WriteLine("Nim :" & mhs.Key & "Nama :" & mhs.Value)

7:  Next 

Jika anda ingin menginisialisasi list of class maka anda dapat menggunakan extension

method untuk mengoverride method „add‟ yang ada pada object collection. 

1: Imports System.Runtime.CompilerServices

2: Module Module1

3:  'menggunakan extension method 4: <Extension()>

5:  Sub Add(ByVal lstMhs As List(Of Mahasiswa),6:  ByVal nim As String,7:  ByVal nama As String,

8:  ByVal ipk As Double)

9: lstMhs.Add( New Mahasiswa With {.Nim = nim, .Nama = nama, .IPK = ipk})

10:  End Sub 11: 

12:  Sub Main()

13:  Dim list As  New List(Of Mahasiswa) From {

14: {"23080008", "Erick Kurniawan", 3.4},15: {"22080009", "Budi Anduk", 3.3}

16: }17: 18:  For  Each mhs In list

19: Console.WriteLine("Nim :" & mhs.Nim & " Nama :" & mhs.Nama & " Ipk 

:" & mhs.IPK)

20:   Next 21:  End Sub 

22: 

Page 32: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 32/186

32

23: End Module 

  Array Literals

ArrayLiteral memberi kemudahan kepada kita untuk memberi nilai ke object array

secara langsung, compiler akan secara otomatis meng-infers tipe datanya.

1: Dim arr1 = {1, 2, 4, 5, 6} 'infers ke tipe integer  

2: Dim arr2 = {1, 2.5, 3.5, 5} 'infers ke tipe double 

3: Dim arr3 = {"erick", "budi"} 'infers ke tipe string 4: Dim arr4 = {1, "erick"} 'infers ke tipe object (dengan catatan Option Strict On) 

5: 

6: 'untuk array multidimensi 

7: Dim matrix1 = {{1, 32, 12}, {23, 45, 67}} 'infers ke tipe int(,)

  Implicit Line Continuation

Pada bahasa VB kita biasanya menggunakan underscore untuk memisahkan satu baris

logic code menjadi dua baris code atau lebih. Underscore mengindikasikan bahwa code

yang dipisahkan menjadi beberapa baris tersebut sebenarnya masih satu logic code.

Pada VB10 compiler VB akan menambahkan underscore secaraimplicit jadi anda tidak 

 perlu menuliskannya. Namun pada beberapa kasus tertentu anda masih perlu

menggunakan underscore. Dengan menggunakan implicit line continuation maka

developer tidak perlu lagi menuliskan underscore pada sebagain besar baris code yang

ditulis (ini sangat membantu terutama ketika anda menggunakan LINQ).

Compiler VB akan secara implicit menggunakan line continuation pada kodisi-kondisi

 berikut:

  Setelah Attribute

  Setelah karakter koma (,)

  Setelah karakter dot (.)

  Setelah binary operator 

  Setelah LINQ Query Clause

  Setelah karakter (, {, or <%=

  Sebelum karakter ), }, or %>

Page 33: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 33/186

33

Daftar karakter yang mendukung implicit line continuation dapat anda lihat pada table

 berikut:

Page 35: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 35/186

35

  Auto-implemented Properties

Fitur ini sebenarnya telah dimiliki oleh C# sejak versi 3.0, pada VB fitur ini baru

ditambahkan pada VB10.

Pada VB9 untuk membuat property anda harus menuliskan kode berikut:

1: Public Class Mahasiswa

2: Private _nim As String

3: Public Property Nim() As String

4: Get

5: Return _nim6: End Get

7: Set(ByVal value As String)

8: _nim = value

9: End Set10: End Property

11:

12: Private _nama As String13: Public Property Nama() As String

14: Get

15: Return _nama16: End Get

17: Set(ByVal value As String)

18: _nama = value

19: End Set

20: End Property21: End Class

dengan menggunakan auto-implemented properties maka anda dapat menuliskan:

1: Public Class Mahasiswa

2: Public Property Nim As String

3: Public Property Nama As String

4: End Class

maka secara otomatis compiler akan menggenerate field dengan nama yang sama

dengan property tapi dengan ditambahkan underscore didepannya, property getter dan

setter juga akan digenerate otomatis.anda juga dapat menginisialisasi auto-implemented

 properties yang anda buat, contohnya:

1: Public Class Mahasiswa

Page 36: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 36/186

36

2: Property Nim As String = "23082321"

3: Property Nama As String = "Erick Kurniawan"

4: Property Angkatan As New List(Of Integer) From {12, 34, 56}

5: Property Ambil As New Matakuliah With {.Kode = "IM2043", .Nama = "Web

Database"}6: End Class

kemudian pada main class cara mengaksesnya:

1: Sub Main()

2: Dim objMhs As New Mahasiswa

3: Console.WriteLine(objMhs.Nim & " " & objMhs.Nama)4: For Each ang In objMhs.Angkatan

5: Console.WriteLine(ang)

6: Next7: Console.WriteLine(objMhs.Ambil.Kode & " " & objMhs.Ambil.Nama)

8: End Sub

  Multiline Lambdas

Pada blog series kali ini saya ingin mengeksplorasi fitur-fitur baru dari VB10 (VB10

akan dirilis bersama dengan VS2010 dan .NET 4.0). Fitur yang akan kita bahas kali ini

adalah Multiline Lambdas, sebenarnya fitur ini sudah disupport di C# 3.0, tapi VB baru

menambahkan fitur ini pada VB10.

Pada VB10 anda dapat menggunakan Multiline Lambdas sebagai berikut:

1: Dim bil() As Integer = {1, 2, 3, 4, 5, 6, 7}

2: bil = Array.FindAll(bil, Function(n)3: Console.WriteLine("Array ke-" & n)

4:  If n Mod 2 = 0 Then 

5:  Return n

6:  End If  7:  End Function)

8: For  Each num In bil

9: Console.WriteLine(num)

10:  Next 

outputnya :

Page 37: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 37/186

37

Gambar 2.11

Sama seperti Lambda Expression pada VB9 maka parameter dari Lambda tersebut akan

diinfer secara otomatis oleh compiler (pada contoh diatas n akan diinfer menjadi tipe

integer).

Dengan menggunakan Multiline Lambda anda dapat membuat anonymous delegate

dengan mudah contohnya:

1: Dim cthDelegate = Function(n As Integer )

2:  Dim count = 03:  For i = 1 To n

4:  If n Mod i = 0 Then 

5: count += 16:  End If  

7:   Next 

8:  If count = 2 Then 9:  Return "Bilangan Prima" 10:  Else 

11:  Return "Bukan Bilangan Prima" 

12:  End If  

13:  End Function 14: 

15: Console.WriteLine(cthDelegate(17))

outputnya :

Gambar 2.12

Page 38: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 38/186

38

Jika anda cermati dari kode diatas maka nilai kembalian dari function tersebut adalah

tipe “String” (compiler juga secara otomatis akan meng-infer tipenya). Anda juga dapat

secara eksplisit menentukan tipe kembalian dari function diatas sehingga compiler tidak 

akan meng-infer tipenya secara otomatis.

1: Dim cthDelegate = Function(n As Integer ) as String 

2:  Dim count = 0

3:  For i = 1 To n4:  If n Mod i = 0 Then 

5: count += 1

6:  End If  

7:   Next 8:  If count = 2 Then 

9:  Return "Bilangan Prima" 

10:  Else 

11:  Return "Bukan Bilangan Prima" 12:  End If  

13:  End Function 

  Sub Lambdas 

Selain menggunakan “Function” keyword untuk membuat multiline lambda yang

mengembalikan nilai, anda juga dapat menggunakan multiline lambda yang tidak 

mengembalikan nilai menggunakan “sub” keyword . 

1: Dim arrNama() As String = {"erick", "ricky", "joni"}

2: Array.ForEach(arrNama, Sub(n As String)

3:  Dim balik = "" 4:  For i = n.Length - 1 To 0 Step -1

5: balik &= n(i)

6:   Next 

7: Console.WriteLine(balik)8:  End Sub)

outputnya:

Gambar 2.13

Page 39: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 39/186

39

  Single line Sub Lambdas 

Pada VB9 anda hanya dapat menggunakan single expression lambda jika ada return

valuenya, misal:

1: Dim bil() As Integer = {1, 3, 4, 5, 8, 10}

2: Dim query = bil.Where(Function(n) n Mod 2 = 0)

3: For  Each num In query4: Console.WriteLine(num)

5:  Next 

Akan error jika anda tuliskan kode berikut pada VB9:

1: Dim bil() As Integer = {1, 3, 4, 5, 8, 10}

2: Array.ForEach(bil, Sub(n) Console.WriteLine(n))

Pada VB10, anda dapat menggunakan keyword “sub” untuk membuat single expression

yang tidak mengembalikan nilai

1: Dim bil() As Integer = {1, 3, 4, 5, 8, 10}

2: Array.ForEach(bil, Sub(n) Console.WriteLine(If (n Mod 2 = 0, "Genap :" & n,

"Ganjil :" & n)))

2. 4 Membuat Project Baru

  Klik New Project pada Toolbar atau File > New Project

  Pada New Project Dialog, pilih Visual Basic pada Installed Templates kemudian

 pilih Windows pada node Visual Basic, lalu pada Template Pane sebelah kiri pilih

Windows Form Application template. Dan terakhir ketikkan “Belajar VB”, pada

textbox Name, dan klik OK.

Page 40: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 40/186

40

Gambar 2.14

Gambar 2.15

  Ubah nama form, dengan cara klik Form1 pada Solution Explorer (gambar 2.16),

lalu pada properties ganti “BelajarVB.vb” (gambar 2.17) kemudian tekan enter atau

klik property yang lain untuk melihat perubahannya.

Page 41: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 41/186

41

Gambar 2.16

Gambar 2.17

  Sekarang kita akan mengubah title (text property) dari form. Klik Form1 dan ubah

 properties Text menjadi “Selamat Belajar”. 

Gambar 2.18

Page 42: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 42/186

42

2. 5 Menambah Control Pada Form

  ToolBox

ToolBox merupakan tempat dimana terdapat control-control yang digunakan untuk 

mendesign form. Untuk menampilkan Toolbox cuku dengan menekan Ctrl + Alt +

X.

Gambar 2.19 

Kita dapat menambahkan control pada ToolBox dengan cara klik kanan pada

ToolBox > Choose Item.

Page 43: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 43/186

43

Gambar 2.20 

  Tambahkan control TextBox pada form dengan cara, Klik ganda Control TextBox

 pada Toolbox maka secara otomatis textbox akan tampil pada form. Atau dengan

Drag dan Drop control dari textbox ke form. Lakukan hal sama untuk control label

dan 2 Button. Ubah properties Name untuk TextBox menjadi “txtNama”, untuk label

ubah properties Text menjadi “Masukkan Nama anda” dan untuk button ubah

 properties Name menjadi “btnOK”, dan text menjadi “OK”, lalu susun seperti

gambar dibawah. 

Gambar 2.21 

Page 44: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 44/186

44

  Sekarang kita akan membuat event handler, untuk membuat event handler ada

 beberapa cara yang pertama, pada jendela properties pilih icon “event” lalu akan

tampil event handler untuk control tersebut. 

Gambar 2.22 

Atau melalui jendela code editor, pada combobox sebelah kiri pilih control yang

dinginkan lalu pada combobox sebelah kanan pilih event handler.

Gambar 2.23 

Page 45: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 45/186

45

Private Sub btnOK_Click(ByVal sender As System.Object,ByVal e As System.EventArgs) Handles 

btnOK.Click'Ini Cuma Comment MessageBox.Show("Hiii, " & txtNama.Text &" Selamat mempelajari Visual Basic 10")

End Sub

Gambar 2.24 

Pada bab setelah ini penulis hanya menyebutkan nama event handler nya saja, tanpa

menjelaskan cara pembuatan nya. Sebagai contoh penulis menyebutkan event

handler txtNama_KeyUp, ini dimaksudkan control txtNama dengan event Handler 

KeyUp.

Atau untuk membuat event handler bisa di lakukan dengan klik ganda, seperti

contoh untuk button, jika di klik ganda maka akan terbentuk event hanlder Click.

  Buat event handler btnOk_Click (klik ganda button OK). Lalu ketikkan sintaks ini

didalam event handler btnOk_Click  

  Simpan project dengan menekan Ctrl + Shift + S, maka Save Project Dialog akan

muncul. 

Gambar 2.25 

  Jalankan program (tekan F5), lalu masukkan nama anda dan klik button OK. 

Page 46: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 46/186

46

Gambar 2.26 

Gambar 2.27 

Page 47: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 47/186

47

BAB III

ANALISA PROGRAM

Pada bab ini akan dibahas bagaimana menganalisa proses dalam pembuatan suatu aplikasi.

Aplikasi yang akan kita buat adalah “Aplikasi Rental DVD” dimana aplikasi ini berguna untuk 

memudahkan dalam mengolah data barang (DVD Rental) dan transaksi rental pada suatu rental

DVD.

3.1. Analisa Proses

Sebelum membuat suatu aplikasi, kita membutuhkan suatu tahap untuk menganalisa suatu

 proses, apa saja yang di butuhkan oleh aplikasi. Untuk aplikasi yang akan kita bua,t proses

yang paling menonjol adalah proses Rental DVD dan Return DVD, dimana proses ini

merupakan proses utama pada aplikasi yang akan kita buat. Dari proses ini tersebut, kita

 bisa memperluas proses-proses apa saja yang nantinya akan kita gunakan pada program ini.

Secara umum dapat dikategorikan sebagai berikut :

a.  Rental

Proses ini menangani tentang peminjaman DVD yang dilakukan oleh customer. Jika

DVD yang di pinjam akan merubah status DVD menjadi Out.

 b.  Return

Proses ini merupakan tahap pengembalian DVD oleh customer. Jika pengembalian

melewati batas yang telah di tentukan maka akan di kenakan denda. Dan juga merubah

status DVD menjadi In.

3.2. Analisa Pengguna

Setelah selesai menganalisa proses, selanjutnya adalah melakukan analisa pengguna.

Analisa ini berfungsi untuk mengetahui ada berapa pengguna yang akan menggunakan

aplikasi yang akan kita buat. Lalu kita berikan hak akses terhadap masing-masing pengguna.

Pengguna pada aplikasi ini sebagai berikut :

1.  Administrator 

Pengguna ini memiliki hak akses yang paling tinggi (dapat mengakses seluruh fasilitas

 pada aplikasi)

2.  Staff 

Page 48: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 48/186

48

Staff merupakan pengguna yang memiliki hak akses dibawah admin, hanya manajamen

user saja yang tidak bias dilakukan oleh pengguna ini.

3.  Kasir 

Kasir merupakan pengguna yang paling sering menggunakan aplikasi ini, yaitu proses

Rental dan Return DVD.

4.  User 

Pengguna yang memilki hak akses paling kecil. Hanya dapat melihat daftar DVD.

Page 49: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 49/186

49

BAB IV

PEMBUATAN APLIKASI

Setelah selesai menganalisa, kita masuk ke tahap pembuatan aplikasi. Pada bab ini akan

dibahas bagaimana membuat aplikasi dengan menggunakan VB 10 dan MS Access 2010.

Pada tahap ini kita akan melihat bagaimana mudah nya membangun suatu aplikasi dengan

dua program tersebut.

4.1.Membuat Database

Sebelum masuk ke pemograman (Coding) pertama-tama kita buat terlebih dahulu database

untuk aplikasi ini. Ikuti langkah-langkah dibawah ini untuk membuat database dan table-

tabel yang akan di butuhkan pada aplikasi.

a.  Buka MS Access 2010

Gambar 4.1

 b.  Ketik DVD.accdb pada File Name , dan untuk sementara simpan terlebih dahulu ke My

documents. Lalu klik “Create”. Untuk mengubah lokasi penyimpanan klik gambar folder 

dan pilih lokasi yang di inginkan.

c.  Selanjutnya secara otomatis akan ada sebuah table dengan nama Table1, klik kanan table

tersebut dan klik Design, maka akan muncul form Save As dan ketikkan “T_Menu” 

Page 50: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 50/186

50

Gambar 4.2

d.  Lalu ubah nama field pada table tersebut seperti gambar dibawah.

Field Name Data Type Field size Primary Key

MenuID Text 10 PK (*)

MenuName Text 25

MenuAction Text 25

Table ini merupakan representasi dari Menu pada aplikasi yang akan kita buat nantinya.

Field MenuID nantinya akan kita gunakan pada MenuStrip properties “Tag”. Sedangkan

MenuName digunakan pada Text untuk MenuStrip, selanjutnya untuk MenuAction

merupakan identitas apakah posisi Menu Item pada Header, Menu atau SubMenu. Lalu

masukkan data dibawah pada table T_Menu, untuk membuka table klik ganda pada table.

MenuID MenuName MenuActionM1 File Header 

M1-01 Logout Menu

M1-02 Exit Menu

M2 Data Header 

M2-01 DVD Menu

M2-01-01 Add SubMenu

M2-01-02 Edit SubMenu

M2-01-03 DVD List SubMenu

M2-02 Customer Menu

M2-02-01 Add SubMenuM2-02-02 Edit SubMenu

M2-02-03 Customer List SubMenu

M2-03 Group Menu

M2-04 Genre Menu

M3 Tools Header 

M3-01 Rental Menu

Page 51: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 51/186

51

M3-02 Return Menu

M4 Report Header 

M4-01 Rental Menu

M4-02 Return Menu

M4-03 Rekap Menu

M5 Utility Header 

M5-01 Users Menu

M5-01-01 Add SubMenu

M5-01-02 Edit SubMenu

M5-01-03 User List SubMenu

M5-02 Change Password Menu

M5-03 Form Access Menu

M6 Help Header 

M6-01 About Menu

e.  Selanjutnya buat table baru dengan nama T_Role, dengan field-field nya sebagai berikut

Field Name Data Type Field size Primary Key

RoleID Number Integer PK (*)

RoleName Text 50

Dan isikan data pada table T_Role seperti dibawah

RoleID RoleName

1 Admin

2 Staff 

3 Kasir 

4 User 

Table ini berfungsi untuk memetakan hak akses pada pengguna

f.  Tambahkan sebuah table lagi dengan nama T_RoleMenu, dengan format seperti dibawah.

Field Name Data Type Field size Primary Key

RoleID Number Integer PK (*)

MenuID Text 10 PK (*)

Page 52: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 52/186

52

Untuk table ini merupakan gabungan antara table T_Menu dan T_Role dan berfungsi

untuk menampung hak akses setiap Role. Contoh nya user dengan Role Admin dapat

mengakses menu item Rental, Return, Customer data-data tersebut akan disimpan pada

table ini. Dan isikan data seperti dibawah.

RoleID MenuID

1 M1

1 M1-01

1 M1-02

1 M2

1 M2-01

1 M2-01-01

1 M2-01-02

1 M2-01-03

1 M2-02

1 M2-02-01

1 M2-02-02

1 M2-02-03

1 M2-03

1 M2-04

1 M3

1 M3-01

1 M3-02

1 M41 M4-01

1 M4-02

1 M4-03

1 M5

1 M5-01

1 M5-01-01

1 M5-01-02

1 M5-01-03

1 M5-02

1 M5-031 M6

1 M6-01

g.  Dan tambahkan sebuah table dengan nama T_User dengan format seperti dibawah.

Field Name Data Type Field size Primary Key

Page 53: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 53/186

53

UserName Text 15 PK (*)

Password Text 15 InputMask=Password

First_Name Text 50

Last_Name Text 50

RoleID Number Integer 

Actived Yes/No

Untuk pertama kali isikan data user seperti dibawah :

Username : administrator 

Password= password

First_Name : Admin

RoleID=1

Actived=Yes (True)

Selanjutnya adalah membuat relasi antar table, ikuti langkah-langkah seperti dibawah.

Pada jendela MS Access, Klik Tab “Database Tools” lalu klik “Relationships” 

Gambar 4.3

1

Page 54: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 54/186

54

Lalu pada jendela Relationships, klik kanan > “Show Table”, maka akan tampil jendela

Show Table, seperti dibawah. Klik Add untuk semua table didalam list.

Gambar 4.4

Gambar 4.5

Selanjutnya klik field “RoleID” pada table T_Role, dan drag ke field RoleID pada table

T_RoleMenu. Maka akan muncul jendela “Edit Relationships” seperti dibawah. 

Page 55: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 55/186

55

Gambar 4.6

Klik checkbox “Enforce Rerential Integrity” lalu klik button “Create”, Lakukan hal sama pada field MenuID pada table T_Menu ke fied MenuID pada table T_RoleMenu. Lalu field

RoleID pada table T_Role ke field RoleID pada table T_User., sehingga kita memiliki

diagram relationships seperti dibawah.

Gambar 4.7

4.2. Bekerja dengan VB 10 (Management User)

Sekarang adalah waktunya yang paling ditunggu-tunggu oleh pembaca, yaitu bekerja

dengan VB 10. Untuk pertama kali kita buat terlebih dahulu project untuk aplikasi yang

kita buat, dengan cara Start > All programs > Microsoft Visual Studio 2010 > Microsoft

Visual Studi 2010.

Page 56: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 56/186

56

Gambar 4.8

Gambar 4.9

Klik File > New Project, maka akan muncul jendela New Project. Pada “Installed Templates”

> Visual Basic > Windows dan pilih “Windows Forms Application”. Lalu ubah Nama

 project menjadi “DVD Rental”, klik button OK. 

Page 57: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 57/186

57

Gambar 4.10

Gambar 4.11

Pada Solution Explorer, klik kanan “DVD Rental” > Add > New Item, maka akan tampil

 jendela Add New Item, pilih “Splash Screen” dan ubah namanya menjadi “Startup.vb” 

Page 58: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 58/186

58

Gambar 4.12

Tambahkan control Timer dan ubah properties nya seperti dibawah.

Timer1

 Name timerSplash

Lalu buka Form1 yang ada pada saat kita membuat project, dan ganti properties pada Form1

seperti dibawah.

 Name F_Login

ShowInTaksbar False

Text Login

StartPosition CenterScreen

ControlBox False

FormBorderStyle FixedSingle

BackColor White

Serta tambahkan control 2 label, 2 textbox, 2 button lalu ubah properties control-control

tersebut seperti dibawah.

Page 59: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 59/186

59

Textbox1

 Name txtUser 

Textbox2 

 Name txtPassword

UseSystemPasswordChar True

Button1

 Name btnLogin

Text Login

Button2

 Name btnCancel

Text Cancel

Dan atur control-control diatas seperti gambar dibawah.

Gambar 4.13 

Selanjutnya pada form Startup, tekan tombol F7 untuk menampilkan jendela Code. Lalu

ketikkan variable class seperti dibawah.

Pada form startup ini kita akan menggunakan fungsi Opacity pada form. Yaitu fungsi untuk 

membuat form menjadi trasnparan. jika nilai nya 1 maka form akan tampil normal, oleh

Dim opacityRate As Double = 0.0

Dim maximizeRate As Boolean = True Dim minimizeRate As Boolean = False

Page 60: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 60/186

60

Me.Opacity = 0.0timerSplash.Interval = 60timerSplash.Enabled = True timerSplash.Start()

karena itu dengan variable “opacityRate” kita akan menggunakan untuk memasukkan ni lai

opacity.

Lalu pada event handler Startup_Load ketikkan sintaks dibawah, yang berfungsi untuk 

mengaktifkan timer, dan memasukkan nilai Opacity menjadi 0 (Nol) atau hilang.

Serta mengisi nilai interval timer menjadi 60 (1 detik), lalu klik ganda control Timer dan

ketikan sintaks dibawah.

Maksud dari sintaks diatas adalah, nilai opacityRate akan bertambah 0.025 perdetiknya, dan

akan mengakibatkan form startup akan mulai kelihatan seiring dengan bertambahnya

If opacityRate >= 1.0 Then opacityRate = opacityRate + 1.0If opacityRate >= 20.0 Then 

opacityRate = 0.99Me.Opacity = opacityRate

End If ElseIf maximizeRate Then 

opacityRate = opacityRate + 0.025Me.Opacity = opacityRateIf opacityRate >= 1.0 Then 

maximizeRate = False minimizeRate = True 

End If ElseIf minimizeRate Then 

opacityRate = opacityRate - 0.025If opacityRate < 0 Then 

opacityRate = 0End If Me.Opacity = opacityRateIf Opacity <= 0.0 Then 

minimizeRate = False maximizeRate = False 

End If Else 

timerSplash.Stop()timerSplash.Enabled = False timerSplash.Dispose()

Me.Visible = False Dim Login As New F_Login Login.Show()

End If

Page 61: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 61/186

61

opacityrate. Jika nilai opacity sudah lebih besa dari 1 (form kembali normal), maka secara

 perlahan (perdetik) nilai opacityrate akan dikurangi 0.025. dan jika nilai opacityrate sudah

kembali menjadi 0, maka form login akan tampil. Sebelum menjalankan program terlebih

dahulu kita ubah Startup dari project ini (form mana yang akan tampil terlebih dahulu). Klik 

Project > DVD Rental Properties. Klik Application lalu pada Startup Form pilih StartUp.

Gambar 4.14 

Sekarang jalankan program dengan menekan F5.

Gambar 4.15 

Page 62: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 62/186

62

Gambar 4.16 

Setelah berhasil membuat form startup, maka selanjutnya adalah membuat login user.

Terlebih dahulu adalah dengan memindahkan file MS Access (DVD.accdb) kedalam project

(~>DVD Rental\DVD Rental\bin\Debug).

Lalu pada jendela project klik Project > DVD Rental properties, klik setting dan isikan data-

data berikut Name : DVDConnection, Type : Connection String, Scope : Application.

Dan untuk Value : Provider=Microsoft.ACE.OLEDB.12.0;Data

Source=|DataDirectory|\dvd.accdb

Dan tambahkan sebuah form pada project dan ubah propertiesnya seperti dibawah.

 Name F_Main

ShowInTaksbar True

Text Main Neu

StartPosition CenterScreen

FormBorderStyle FixedSingle

Lalu tambahkan control menuStrip , tambahkan menuItem dan ubah properties nya seperti

dibawah seperti dibawah.

Text Tag

&File M1

&Logout M1-01

E&xit M1-02

&Data M2

DVD M2-01

Page 63: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 63/186

63

Add M2-01-01

Edit M2-01-02

DVD List M2-01-03

Customer M2-02

Add M2-02-01

Edit M2-02-02

Customer List M2-02-03

Group M2-03

Genre M2-04

&Tools M3

Rental M3-01

Return M3-02

&Report M4

Return M4-01

Rental M4-02

Rekap M4-03

&Utility M5

Users M5-01

Add M5-01-01

Edit M5-01-02

User List M5-01-03

Change Password M5-02

Form Access M5-03

&Help M6

About M6-01

Sehingga memilki susunan MenuItem seperti gambar dibawah.

Page 64: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 64/186

64

Gambar 4.17 

Tambahkan control StatusStrip, lalu pada properties Items klik button (…) maka akan tampil

 jendela ItemCollectionEditor. Pada combobox select item, pilih Statuslabel, lalu klik button

Add. Lakukan sebanyak 3 kali. Dan ubah properties Name StatusLabel menjadi ToolName,

ToolRole dan ToolTime. Lalu klik button OK.

Sebelumnya penulis akan menunjukkan design dari Form Utama (F_Main) ini, agar 

memudahkan dalam pemberian ilustrasi untuk pengaturan control pada form.

Gambar 4.18

Page 65: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 65/186

65

Tambahkan sebuah control SplitContainer pada form, dengan control ini form akan terbagi

menjadi bagian yaitu SplitContainer.Panel1 dan SplitContainer.Panel2. dan ubah properties

BorderStyle : FixedSingle dan dock : Fill. Tambah sebuah control panel, dan letakkan

kedalam SplitContainer.Panel1. Dan ubah properties panel tersebut, Name :  

 pnlNavigationBackground, Dock : Fill, BackColor : White. Lalu tambahkan sebuah Panel

kembali dan letakkan kedalam pnlNavigationBackground. Dan ubah propertiesnya. Name : 

 pnlCurrentScreen , Dock : Top, BackColor : HighLight dan Text : Transaction. Lalu

tambahkan sebuah panel dang anti propertiesnya, Name : pnlNavUsers, Dock : Bottom,

BackColor : HighLight Selanjutnya Tambahkan sebuah Treeview dan letakkan kedalam

 pnlNavigationBackground. Ubah ptopertiesnya .Name : TvTransaction, Dock : Fill.

Sehingga kita memiliki design form seperti gambar dibawah.

Gambar 4.18

Selanjutnya kita akan mengatur pada SplitContainer.Panel2. Tambahkan panel dan letakkan

kedalam SplitContainer.Panel2. Dan ubah propertiesnya Name : pnlProjects, Dock : Fill dan

BackColor : white. Lalu tambah panel dan letakkan kedalam pnlProjects dengan properties

sebagai berikut Name : pnlProjectsTitle, Dock : Top, BackColor :HighLight dan Text : DVD

Page 66: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 66/186

66

List. Dan tambahkan 1 Groupbox, 1 Label, 1TextBox dan 1 GridView letakkan pada

 pnlProjects. Dan ubah propertiesnya seperti dibawah.

GroupBox1

Text Search criteria

Textbox1 

 Name txtSearch

Label1

Text Title

DataGridView1

 Name DgView

Dan atur letaknya seperti pada gambar dibawah.

Gambar 4.19

Masih pada jendela F_Main tekan F8 untuk masuk jendela code, sebelumnya import

 NameSpace OleDB dengan cara ketikkan sintaks berikut pada baris paling atas Class.

Imports System.Data.OleDb

Page 67: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 67/186

67

Lalu ketikan sintaks berikut, yang berfungsi untuk membuat Node pada TreeView secara

otomatis, dimana MenuItem menjadi referensi nya. (Sintaks ini di ambil dari blog mas

Rully,MVP www.yulianmf.com) 

#Region "PopulateTree" Private Sub AddMenuToTree(ByVal YourNodeTree As TreeNode, ByVal 

YourToolStripMenuItem As ToolStripMenuItem)'//cek apakah toolstripmenuitem tsb mempunyai sub menuitem '//yang merupakan DropDownItem : If YourToolStripMenuItem.DropDownItems.Count > 0 Then 

'//jika ada sub menu item, iterate : For i As Int32 = 0 To YourToolStripMenuItem.DropDownItems.Count - 1

'//jika sub menu itemnya bukan merupakan toolstripmenuitem (bisasaja 

'//merupakan toolstripseparator) maka item tsb tdk ditambahkan ketreeview : 

If Not (TypeOf YourToolStripMenuItem.DropDownItems(i) Is 

ToolStripMenuItem) OrElse YourToolStripMenuItem.DropDownItems(i).Tag = "" Then ContinueFor 

Dim currentItem As ToolStripMenuItem =YourToolStripMenuItem.DropDownItems(i)

Dim aNode As New TreeNode(Replace(currentItem.Text.ToString, "&",""))

aNode.Tag = currentItem.Tag.ToStringYourNodeTree.Nodes.Add(aNode)'//cek jika ada sub menu item lagi dengan method recursive AddMenuToTree(aNode, currentItem)

Next 

End If End Sub 

Private Sub PopulateToolStripMenuItem( ByVal YourMainMenuStrip As MenuStrip)'//iterate toolstripmenuitem yang ada di MainMenuStrip : For Each aItem As ToolStripMenuItem In YourMainMenuStrip.Items

If aItem.Visible = False Then Continue For '//buat node baru utk ditambahkan ke treeview node : Dim aNode As New TreeNode(Replace(aItem.Text.ToString, "&", ""))aNode.Tag = aItem.Tag.ToStringTvTransaction.Nodes.Add(aNode)'//tambahkan node baru ke treeview jika '//node tersebut memiliki node child (DropDownItem): 

AddMenuToTree(aNode, aItem)Next TvTransaction.ExpandAll()TvTransaction.SelectedNode = TvTransaction.Nodes(0)

End Sub #End Region

Page 68: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 68/186

68

Namespace EntityPublic Class Role 

Private m_roleid As Int16 

Public Property RoleID() As Int16 Get Return m_roleid

End Get 

Set(ByVal value As Int16)If value.ToString = "" Then 

Throw New Exception("Masukkan RoleID")End If m_roleid = value

End Set End Property 

Public Property RoleName() As String 

End Class End Namespace

Lalu pada event handler F_Main_Load, ketikkan sintaks berikut.

Selanjutnya sebelum masuk ke F_Login, terlebih dahulu adalah membuat beberapa Class yang

dibutuhkan. Pertama Tambahkan sebuah folder pada project dan ubah namanya menjadi Entity.

Dan tambahkan 2 buah class pada folder tersebut masing-masing Role.Vb dan Users.vb. buka

class Role dan ketikkan sintaks berikut.

Dan pada class Users ketikkan sintaks berikut :

Namespace Entity

Public Class Users 

Private m_username As String Public Property Username() As String 

Get 

Return m_usernameEnd Get 

Set(ByVal value As String)If value = "" Then 

Throw New Exception("Masukkan username")End If m_username = value

End Set End Property

Try PopulateToolStripMenuItem(MenuStrip1)

Catch ex As Exception MsgBox(ex.Message, MsgBoxStyle.Information, "DVD Rental")

End Try

Page 69: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 69/186

69

Private m_password As String Public Property Password() As String 

Get Return m_password

End Get 

Set(ByVal value As String)If value = "" Then Throw New Exception("Masukkan Password")

End If m_password = value

End Set End Property 

Private m_firstname As String Public Property First_Name() As String 

Get Return m_firstname

End Get 

Set(ByVal value As String)If value = "" Then 

Throw New Exception("Masukkan First Name")End If m_firstname = value

End Set End Property 

Public Property Last_Name() As String 

Public Property Role As New Entity.Role 

Public Property Actived() As Boolean 

End Class End Namespace

Imports System.DataImports System.Data.OleDbImports System.Collections.GenericImports System.Runtime.CompilerServices

Sebagai catatan bahwa Class yang berada dalam folder entity merupakan representasi dari Table,

dan masuk kedalam NameSpace Entity. Tambahkan sebuah Folder dalam project dan ubah

namanya menjadi “AccessData”. Selanjutnya adalah tambahkan sebuah Module pada folder 

AccessData dan ubah namanya menjadi DVDModule.vb, ketikkan sintaks berikut untuk 

mengimport NameSpace yang dibutuhkan pada Module.

Lalu membuat Public Variable seperti dibawah.

Page 70: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 70/186

70

Dan buat Extension Method untuk Class User dan Role seperti dibawah.

Tambahkan Class pada folder AccessData, dan ganti namanya menjadi AccessUser. Pada Class

yang ada pada folder AccessData merupakan class yang menyimpan fungsi-fungsi seperti

Insert,Delete dan lain-lain. Class-class ini masuk kedalam NameSpace AccessData. Ketikkan

sintaks berikut yang digunakan untuk proses Login nantinya.

Public Operate, FormShow, UserName, Password, RoleID As String

<Extension()>Sub Add(ByVal UserList As List(Of Entity.Users), ByVal Username As String, ByVal 

Password As String,ByVal First_Name As String, ByVal Last_Name As String,ByVal Actived As Boolean, ByVal RoleID As Int16, ByVal RoleName As 

String)UserList.Add(New Entity.Users With {.Username = Username, .Password =

Password, .First_Name = First_Name,.Last_Name = Last_Name, .Actived =

Actived,.Role = New Entity.Role With {.RoleID =

RoleID, .RoleName = RoleName}})End Sub 

<Extension()>Sub Add(ByVal RoleList As List(Of Entity.Role), ByVal RoleID As String, ByVal 

RoleName As String)RoleList.Add(New Entity.Role With {.RoleID = RoleID, .RoleName = RoleName})

End Sub

Imports System.DataImports System.Data.OleDbNamespace AccessData

Public Class AccessUsePublic Function Login(ByVal username As String) As List(Of Entity.Users)

Dim User As New List(Of Entity.Users)()Try 

Using connect As New OleDbConnection(My.Settings.DVDConnection)Using mycommand As OleDbCommand = New 

OleDbCommand("usp_selectlogin", connect)mycommand.CommandType = CommandType.StoredProceduremycommand.Parameters.Add("@username", OleDbType.VarChar).Value

= usernameconnect.Open()

Using rdr As OleDbDataReader = mycommand.ExecuteReader

Page 71: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 71/186

71

Selanjutnya buka MS Access (DVD.accdb) dan buat query dengan nama “usp_selectlogin”

dengan SQL sebagai berikut.

Buka F_Login, klik ganda button Cancel lalu ketikkan sintaks berikut. End

Jika user meng-klik button cancel ini makan aplikasi ini akan ditutup. Selanjutnya klik ganda

 button OK, dan ketikkan sintaks berikut.

While rdr.ReadUser.Add(rdr("username").ToString(),

rdr("Password").ToString(),

rdr("First_Name").ToString(), rdr("Last_Name").ToString(),rdr("Actived"),

rdr("RoleID").ToString(),

rdr("RoleName").ToString())End While 

End Using 

End Using End Using 

Catch sqlex As OleDbException Throw New Exception(sqlex.Message.ToString())

End Try Return User

End Function

End Class End Namespace

SELECT T_User.*, T_Role.RoleName

FROM T_Role INNER JOIN T_User ON T_Role.RoleID=T_User.RoleID

WHERE (((T_User.UserName)=[@username]));

Page 72: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 72/186

72

Pada saat user melakukan login, maka aplikasi ini akan mengecek dengan cara melakukan

 pencarian data user berdasarkan username yang dimasukkan. Lalu akan disimpan kedalam

Generic List of Class. Jika isi dari List ini kosong makan username salah, selanjutnya mengecek 

 password yang dimasukkan, apakah sama dengan hasil pencarian, jika tidak sama aka nada pesan

Try Dim AccessUser As New AccessData.AccessUser Dim user As New Entity.Users user.Username = txtUser.Textuser.Password = txtPassword.Text

Dim list As List(Of Entity.Users) = AccessUser.Login(txtUser.Text)'jika isi list kosong If list.Count = 0 Then 

MsgBox("Username Salah", MsgBoxStyle.Information, "DVD Rental")txtUser.Focus()txtUser.SelectAll()Exit Sub 

End If 

UserName = list.First.UsernamePassword = list.First.PasswordIf txtPassword.Text <> Password Then 

MsgBox("Password Salah", MsgBoxStyle.Information, "DVD Rental")txtPassword.Focus()txtPassword.SelectAll()Exit Sub 

End If 

If list.First.Actived = False Then MsgBox("User sudah tidak aktif", MsgBoxStyle.Information, "DVD

Rental")txtUser.Focus()txtUser.SelectAll()Exit Sub 

End If RoleID = list.First.Role.RoleID

Password = list.First.Password

Me.Close()Me.Dispose()Dim f_utama As New F_Main f_utama.ToolName.Text = list.First.First_Name & If(list.First.Last_Name

= "", "", " " & list.First.Last_Name)f_utama.ToolRole.Text = list.First.Role.RoleNamef_utama.ToolTime.Text = Now.Datef_utama.Show()

Catch ex As Exception MsgBox(ex.Message, MsgBoxStyle.Exclamation, "DVD Rental")

End Try

Page 73: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 73/186

73

error nya. Dan mengecek apakah user tersebut masih aktif atau tidak. Buat event handler 

txtPassword_Keyup dan ketikkan sintaks berikut yang berfungsi jika user menekan Enter pada

text box Password makan proses pada button login akan di jalankan.

Pada F_Main buat event handler F_Main_Closing dan Menu Item File > Exit ketikkan End. Dan

 pada Menu Item File > Logout ketikkan sintaks berikut, untuk menampilkan form login.

Jalankan Program dengan menekan F5 lalu login dengan username : administrator dan password

: password.

Gambar 4.20

Gambar 4.21

If e.KeyCode = Keys.Enter Then 

btnLogin.PerformClick()End If

Me.Dispose()My.Forms.F_Login.Show()

Page 74: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 74/186

74

Jika pembaca dengan benar mengikuti langkah-langkah diatas, maka akan mendapatkan hasil

seperti gambar diatas. Yaitu TreeView secara otomatis akan menggenerate Node sesuai dengan

MenuItem diatas.

Selanjutnya adalah membuat Form Access yang dimana berfungsi untuk memberi hak akses

suatu Role Menu apa saja yang bias di akses oleh role tersebut. Ikuti Langkah-langkah dibawah.

Buat Query pada DVD.accdb seperti berikut usp_SelectRole, usp_SelectMenuRole,

usp_DeleteRoleMenu dan usp_InsertRoleMenu. Dengan sintaks SQL sebagai berikut :

Buka Class AccessUser, kita akan membuat fungsi untuk mengahapus dan manambah data pada

table T_MenuRole, seperti dibawah.

SELECT T_Role.RoleID, T_Role.RoleName

FROM T_Role

ORDER BY T_Role.RoleID;

SELECT T_Menu.MenuID, T_Menu.MenuName, T_RoleMenu.RoleID

FROM T_Menu INNER JOIN T_RoleMenu ON T_Menu.MenuID = T_RoleMenu.MenuID

WHERE (((T_RoleMenu.RoleID)=[@RoleID]));

DELETE *

FROM T_RoleMenu

WHERE (((T_RoleMenu.RoleID)=[@RoleID]));

INSERT INTO T_RoleMenu ( RoleId, MenuID )

VALUES ([@RoleId], [MenuId]);

Page 75: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 75/186

75

Public Function DeleteRoleMenu(ByVal MenuRole As Entity.MenuRole) As OleDbDataReader Try 

Using connect As New OleDbConnection(My.Settings.DVDConnection)Using mycommand As OleDbCommand = New 

OleDbCommand("usp_DeleteRoleMenu", connect)mycommand.CommandType = CommandType.StoredProcedure

Dim parameterRoleID As OleDbParameter = New OleDbParameter("@RoleID", OleDbType.Integer)

parameterRoleID.Value = MenuRole.Role.RoleIDWith mycommand.Parameters

.Add(parameterRoleID)End With connect.Open()Using result As OleDbDataReader =

mycommand.ExecuteReader(CommandBehavior.CloseConnection)Return result

End Using End Using 

End Using Catch SqlEx As OleDbException 

Throw New Exception(SqlEx.Message.ToString())End Try 

End Function 

Public Function InsertRoleMenu(ByVal MenuRole As Entity.MenuRole) As OleDbDataReader 

Try Using connect As New OleDbConnection(My.Settings.DVDConnection)

Using mycommand As OleDbCommand = New OleDbCommand("usp_InsertRoleMenu", connect)

mycommand.CommandType = CommandType.StoredProcedureDim parameterRoleID As OleDbParameter = New 

OleDbParameter("@RoleID", OleDbType.Integer)parameterRoleID.Value = MenuRole.Role.RoleIDDim parameterMenuID As OleDbParameter = New 

OleDbParameter("@MenuID", OleDbType.VarChar, 10)parameterMenuID.Value = MenuRole.Menu.MenuID

With mycommand.Parameters.Add(parameterRoleID).Add(parameterMenuID)

End With connect.Open()Using result As OleDbDataReader =

mycommand.ExecuteReader(CommandBehavior.CloseConnection)Return result

End Using 

End Using End Using 

Catch SqlEx As OleDbException Throw New Exception(SqlEx.Message.ToString())

End Try 

End Function

Page 76: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 76/186

76

Buka DVDModule.vb dan ketikkan sintaks dibawah.

Pada fungsi GetLeftRightItemFromControl berfungsi untuk mengambil text setelah tanda “>”.

Dimana kita gunakan ini untuk mengambil RoleID pada Form Access yang akan kita buat

nantinya. Sedangkan AddParameter berfungsi untuk membantu dalam pembuatan Paramater 

dinamis untuk suatu fungsi.

Selanjutnya kita akan membuat method dimana akan membantu kita dalam mencari suatu data

dan dimasukkan kedalam Generic List. Biasanya kita selalu membuat suatu method untuk 

mencari data tertentu. Dengan method dibawah ini kita tidak perlu lagi membuat secara satu-

 persatu, sehingga ini sangat memudahkan kita dalam membuat program. Untuk method dibawah

ini hanya berfungsi untuk mencari data yang berdiri sendiri atau tidak berelasi dengan yang lain.

Ketikkan sintaks dibawah ini.

#Region "Process" 

Public Function GetLeftRightItemFromControl( ByVal Teks As String) As String()'//cari item kiri dari teks Dim intPanjangString As Integer Dim intPosisiDash As Integer intPanjangString = Strings.Len(Teks)intPosisiDash = Teks.IndexOf(">")Dim strID As String = Trim(Strings.Left(Teks, intPosisiDash - 1))Dim strNama As String = Trim(Strings.Mid(Teks, intPosisiDash + 2,

intPanjangString - intPosisiDash + 2))Dim arrString As String() = {strID, strNama}Return arrString

End Function 

Public Sub AddParameter(ByVal Name As String, ByVal Type As OleDbType, _ByVal Size As Integer, ByVal Value As Object, ByVal myCommand As 

OleDbCommand)

Try myCommand.Parameters.Add(Name, Type, Size).Value = ValueCatch OleDbExceptionErr As OleDbException 

Throw New System.Exception(OleDbExceptionErr.Message, _OleDbExceptionErr.InnerException)

End Try End Sub 

#End Region

Page 77: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 77/186

77

#Region "Fill" 

Private Sub Fill(Of T)(ByVal reader As IDataReader, ByVal list As IList(Of T), _ByVal type As Type, ByVal fields As String())

Dim index As Integer = 0

' run the reader While reader.Read()

' create an instance of the type Dim item As T = DirectCast(Activator.CreateInstance(type), T)' get all the properties of the type Dim properties As Reflection.PropertyInfo() = DirectCast(item.GetType(),

Type).GetProperties()'Dim MyType As Type = type.GetType("Myproperty") 

If fields.Length <> 0 Then For j As Integer = 0 To fields.Length - 1

' get the index of the property index = FindProperyIndexByColumnName(fields(j), properties)' set the value of the property ' properties(index).GetAccessors( If index <> -1 Then 

properties(index).SetValue(item,If(reader(fields(j)).ToString = "", "",

reader(fields(j))), Nothing)End If 

Next Else 

For i As Integer = 0 To reader.FieldCount - 1

index = FindProperyIndexByColumnName(reader.GetName(i), properties)Dim a, b As String a = reader(reader.GetName(i)).ToStringb = "" If index <> -1 Then 

properties(index).SetValue(item,If(reader(reader.GetName(i)).ToString = "", "",

reader(reader.GetName(i))), Nothing)End If 

Next End If 

' add the item to the list list.Add(item)

End While 

End Sub

Page 78: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 78/186

78

Private Function FindProperyIndexByColumnName( ByVal columnName As String, ByVal prop As Reflection.PropertyInfo()) As Integer 

Dim index As Integer = -1For i As Integer = 0 To prop.Length - 1

If UCase(prop(i).Name) = UCase(columnName) Then index = iExit For 

End If Next Return index

End Function

Public Sub FillListWithParam(Of T)(ByVal list As IList(Of T),ByVal fields As String(), ByVal Query As 

String,ByVal type As Type,ByVal Name As String(), ByVal OleType As 

OleDbType(),

ByVal Size As Integer(), ByVal Value As Object())

Using connect As New OleDbConnection(My.Settings.DVDConnection)Using mycommand As OleDbCommand = New OleDbCommand(Query, connect)

mycommand.CommandType = CommandType.StoredProcedureIf Name.Length > 0 Then 

For i = 0 To Name.Length - 1DVDModule.AddParameter(Name(i), OleType(i), Size(i), Value(i),

mycommand)Next 

End If connect.Open()Using reader As OleDbDataReader = mycommand.ExecuteReader()

Fill(reader, list, type, fields)End Using 

End Using End Using 

End Sub

Public Sub FillListWithoutParam(Of T)(ByVal list As IList(Of T),ByVal fields As String(), ByVal Query As String,ByVal type As Type)

Using connect As New OleDbConnection(My.Settings.DVDConnection)Using mycommand As OleDbCommand = New OleDbCommand(Query, connect)

mycommand.CommandType = CommandType.StoredProcedure

connect.Open()Using reader As OleDbDataReader = mycommand.ExecuteReader()Fill(reader, list, type, fields)

End Using End Using 

End Using End Sub 

#End Region

Page 79: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 79/186

79

Untuk penggunaan method akan di jelaskan dibawah. Selanjutnya tambahkan sebuah Form pada

 project dan ubah properties nya seperti dibawah. (Form ini diambil dari blog mas rully).

 Name F_FormAccess

ShowInTaksbar False

Text Form Access

StartPosition CenterScreen

MaximizeBox False

MinimizeBox False

FormBorderStyle FixedSingle

BackColor White

Tambahkan sebuah Panel kedalam form dan ubah properties Dock : Fill dan BackColor : White.Lalu tarik sebuah panel lagi dan ubah propertiesnya Dock : Left, BackColor : white , Name :

 pnlLeft. Tambahkan 2 Groupbox, 2 RadioButton, 1 Button, 1 ListBox. Dan ubah properties

seperti dibawah.

GroupBox1

Text

GroupBox2 

Text Roles

RadioButon1

Text Unchecked All Node

 Name rbUncheckedAll

Checked True

RadioButon2 

Text Checked All Node

 Name rbCheckedAllChecked False

ListBox1 

 Name LstRoles

Button1

Page 80: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 80/186

80

Dim AccessUser As New AccessData.AccessUser Dim columns As String() = {}

 Name btnUpdate

Text Update

Dan atur posisi control-control diatas seperti gambar dibawah.

Gambar 4.22

Selanjutnya tambahkan control ImageList, dan pada properties Images klik button browse (..)

lalu Add sebuah image yang diinginkan (ukuran 16 x 16). Lalu tambahkan sebuah TreeView dan

ubah properties Name : tvUserRights, CheckBoxes : True, ImageList : ImageList1 dan

ImageIndex : 0, SelectedImageIndex : 0. Lalu letakkan pada Panel1 sesuai dengan gambar 

dibawah.

Gambar 4.23

Buatlah variable Class seperti dibawah.

Page 81: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 81/186

81

Private Sub AddMenuToTree(ByVal YourNodeTree As TreeNode, ByVal YourToolStripMenuItemAs ToolStripMenuItem)

'//cek apakah toolstripmenuitem tsb mempunyai sub menuitem '//yang merupakan DropDownItem : If YourToolStripMenuItem.DropDownItems.Count > 0 Then 

'//jika ada sub menu item, iterate : For i As Int32 = 0 To YourToolStripMenuItem.DropDownItems.Count - 1

'//jika sub menu itemnya bukan merupakan toolstripmenuitem (bisa saja '//merupakan toolstripseparator) maka item tsb tdk ditambahkan ke

treeview : If Not (TypeOf YourToolStripMenuItem.DropDownItems(i) Is 

ToolStripMenuItem) Then Continue For Dim currentItem As ToolStripMenuItem =

YourToolStripMenuItem.DropDownItems(i)Dim aNode As New TreeNode(Replace(currentItem.Text.ToString, "&", ""))aNode.Tag = currentItem.Tag.ToString

YourNodeTree.Nodes.Add(aNode)'//cek jika ada sub menu item lagi dengan method recursive AddMenuToTree(aNode, currentItem)

Next End If 

End Sub 

Private Sub PopulateToolStripMenuItem( ByVal YourMainMenuStrip As MenuStrip)' daFormActions.Fill(dsFormActions, "formActions") '//iterate toolstripmenuitem yang ada di MainMenuStrip : For Each aItem As ToolStripMenuItem In YourMainMenuStrip.Items

'//buat node baru utk ditambahkan ke treeview node : Dim aNode As New TreeNode(Replace(aItem.Text.ToString, "&", ""))aNode.Tag = aItem.Tag.ToString

tvUserRights.Nodes.Add(aNode)'//tambahkan node baru ke treeview jika '//node tersebut memiliki node child (DropDownItem): AddMenuToTree(aNode, aItem)

Next tvUserRights.ExpandAll()tvUserRights.SelectedNode = tvUserRights.Nodes(0)

End Sub

Ketikkan sintaks berikut yang berfungsi untuk generate Node pada TreeView yang mengambil

data dari MenuItem pada F_Main.

Dan selanjutnya adalah membuat procedure untuk mengambil data pada table T_Role dan

dimasukkan kedalam LstRoles. Pada procedure ini kita akan menggunakan method pada

DVDModule yang telah kita buat sebelumnya.

Private Sub PopulateRolesToListBox()lstRoles.Items.Clear()Dim RoleList As New List(Of Entity.Role)DVDModule.FillListWithoutParam(RoleList, columns, "usp_SelectRole", _

GetType(Entity.Role))For Each items In RoleList

lstRoles.Items.Add(items.RoleID & " > " & items.RoleName)Next 

End Sub

Page 82: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 82/186

82

Dengan menggunakan method pada DVDModule akan mempermudah kita dalam membuat

aplikasi ini. Kita tidak perlu lagi membuat satu-persatu fungsi untuk mengambil data, hanya

cukup dengan memanggil method FillListWithoutParam (pencarian tanpa parameter) dan

FilllistWithParam (pencarian dengan parameter), yang akan kita gunakan pada form-form

 berikut nya. Selanjutnya pada event handler F_FormAccess_Load ketikkan sintaks dibawah.

Lalu buka F_Main (Main Menu), klik menu item Utility > Form Access, dan ketikkan sintaks

dibawah.

Buatlah event handler TvTransaction_DoubleClick, dan ketikkan sintaks dibawah, yang

 berfungsi untuk memanggil event handler click pada MenuItem. Sebagai contoh, jika pengguna

meng-klik text Group pada TreeView maka secara otomatis program akan memanggil event

handler cick untuk Menu Item Group.

Try PopulateToolStripMenuItem( My.Forms.F_Main.MenuStrip1)PopulateRolesToListBox()

Catch ex As Exception MsgBox(ex.Message, MsgBoxStyle.Information, "DVD Rental")

End Try

Try Dim frm_access As New F_FormAccess frm_access.ShowDialog()

Catch ex As Exception MsgBox(ex.Message, MsgBoxStyle.Information, "DVD Rental")

End Try

Try For Each aItem As ToolStripMenuItem In MenuStrip1.Items

Dim str As String = TvTransaction.SelectedNode.Tag.ToStringIf aItem.DropDownItems.Count > 0 Then 

For i As Int32 = 0 To aItem.DropDownItems.Count - 1If Not (TypeOf aItem.DropDownItems(i) Is ToolStripMenuItem) Then 

Continue For Dim currentItem As ToolStripMenuItem = aItem.DropDownItems(i)If str = currentItem.Tag.ToString Then 

currentItem.PerformClick()Exit Sub Else

If currentItem.DropDownItems.Count > 0 Then For x As Int32 = 0 To currentItem.DropDownItems.Count -

1If Not (TypeOf currentItem.DropDownItems(x) Is 

ToolStripMenuItem) Then Continue For 

Page 83: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 83/186

83

Dan jalankan program, pada Main Menu double click text Form Access, maka Form Access akan

muncul seperti gambar dibawah ini.

Gambar 4.24

Selanjutnya buatlah procedure untuk mengaktifkan atau non aktifkan checkbox pada node,

dengan sintaks seperti dibawah.

Dim currentItem2 As ToolStripMenuItem = currentItem.DropDownItems(x)If str = currentItem2.Tag.ToString Then 

currentItem2.PerformClick()Exit Sub 

End If Next 

End If End If 

Next End If 

Next Catch ex As Exception 

MsgBox(ex.Message, MsgBoxStyle.Information, "DVD Rental")End Try

Private Sub CheckedTreeNode(ByVal Checked As Boolean)Dim IEnum As IEnumerator = Me.tvUserRights.Nodes.GetEnumeratorWhile IEnum.MoveNext

Dim aNode As TreeNode = DirectCast(IEnum.Current, TreeNode)aNode.Checked = CheckedAddRecursiveNode(aNode, Checked)

End While End Sub

Page 84: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 84/186

84

Dan ketikkan sintaks berikut untuk menggunakan procedure diatas.

Jalankan program lalu masuk kedalam Form Access, lalu coba klik Radio Button Checked dan

UnChecked apakah berfungsi, jika di klik Radio Button checked maka seluruh check box pada

 Node akan aktif, dan sebaliknya untuk UnChecked.

Selanjutnya adalah kita akan membuat proses dimana jika Role pada list di klik maka hak akses

 pada suatu role akan di tampilkan pada TreeView dengan tanda checkbox akan aktif. Pertama-

tama adalah dengan mengimports name space OleDB seperti dibawah.

Dan ketikkan procedure untuk mengambil data pada table T_MenuRole dengan criteria RoleID.

Private Sub AddRecursiveNode(ByVal NodeRef As TreeNode, ByVal Checked As Boolean)For Each aNode As TreeNode In NodeRef.Nodes

aNode.Checked = CheckedAddRecursiveNode(aNode, Checked)

Next End Sub

Private Sub CheckhedRadioButton(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles rbUncheckedAll.CheckedChanged, rbCheckedAll.CheckedChanged

Select Case sender.name.ToString.ToUpperCase "RBCHECKEDALL" 

CheckedTreeNode(True)Case "RBUNCHECKEDALL" 

CheckedTreeNode(False)End Select 

End Sub

Imports System.Data.OleDb

Private Sub PopulateRoleDetails(ByVal RoleIDs As String)

Dim mydata As New DataSet Using connect As New OleDbConnection(My.Settings.DVDConnection)

Using ObjCommand As New OleDbCommand("usp_SelectMenuRole", connect)ObjCommand.CommandType = CommandType.StoredProcedureObjCommand.Parameters.Add( "@RoleID", OleDbType.Integer).Value = RoleIDsUsing objDataAdapter As New OleDbDataAdapter 

objDataAdapter.SelectCommand = ObjCommandobjDataAdapter.Fill(mydata, "data")

End Using End Using 

End UsingIf mydata.Tables("data").Rows.Count = 0 Then 

For Each aNode As TreeNode In tvUserRights.NodesaNode.Checked = False AddRecursiveNode(aNode, False)

Next

Page 85: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 85/186

85

Private Sub PopulateItemCheckedToTheTree( ByVal YourView As DataView)

Dim IEnum As IEnumerator = Me.tvUserRights.Nodes.GetEnumeratorWhile IEnum.MoveNextDim aNode As TreeNode = DirectCast(IEnum.Current, TreeNode)YourView.RowFilter = "MenuID = '" & aNode.Tag.ToString & "'" If YourView.Count > 0 Then 

aNode.Checked = True Else 

aNode.Checked = False End If AddRecursiveNodeTree(YourView, aNode)

End While End Sub 

Private Sub AddRecursiveNodeTree(ByVal YourView As DataView, ByVal NodeRef As 

TreeNode)For Each aNode As TreeNode In NodeRef.Nodes

YourView.RowFilter = "MenuID = '" & aNode.Tag.ToString & "'" If YourView.Count > 0 Then 

aNode.Checked = True Else 

aNode.Checked = False End If AddRecursiveNodeTree(YourView, aNode)

Next End Sub

Lalu klik ganda LstRoles dan ketikkan sintaks dibawah.

Sintaks diatas berfungsi untuk memanggil proses PopulateRoleDetails dengan kriteria Role yang

di klik pada LstRoles, dengan menggunakan fungsi GetLeftRightItemFromControl yang telah

kita buat sebelumnya pada DVDModule. Dan jalankan program, lalu pada Form Access klik 

Role pada LstRoles, jika pada saat pembaca klik Role Admin maka checkbox pada Node akan

aktif semua, tapi jika Role yang lain maka tidak aktif, dikarenakan kita belum memasukkan data

Else PopulateItemCheckedToTheTree(mydata.Tables( "data").DefaultView)

End If End Sub

Private Sub PopulateItemCheckedToTheTree( ByVal YourView As DataView)Dim IEnum As IEnumerator = Me.tvUserRights.Nodes.GetEnumeratorWhile IEnum.MoveNext

Dim aNode As TreeNode = DirectCast(IEnum.Current, TreeNode)YourView.RowFilter = "MenuID = '" & aNode.Tag.ToString & "'" If YourView.Count > 0 Then 

aNode.Checked = True Else 

aNode.Checked = False End If AddRecursiveNodeTree(YourView, aNode)

End While End Sub 

Private Sub AddRecursiveNodeTree(ByVal YourView As DataView, ByVal NodeRef As TreeNode)

For Each aNode As TreeNode In NodeRef.NodesYourView.RowFilter = "MenuID = '" & aNode.Tag.ToString & "'" If YourView.Count > 0 Then 

aNode.Checked = True Else 

aNode.Checked = False End If AddRecursiveNodeTree(YourView, aNode)

Next End Sub

Try If lstRoles.SelectedIndex <> -1 Then 

Dim arrItems As String() =DVDModule.GetLeftRightItemFromControl(lstRoles.SelectedItem.ToString)

PopulateRoleDetails(arrItems(0))End If 

Catch ex As Exception MsgBox(ex.Message, MsgBoxStyle.Information, "DVD Rental")

End Try

Page 86: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 86/186

86

Private Sub InsertItemCheckedOnTheTreeToDatabase( ByVal RoleID As String, ByVal RoleName As String)

Dim IEnum As IEnumerator = Me.tvUserRights.Nodes.GetEnumerator

While IEnum.MoveNextDim aNode As TreeNode = DirectCast(IEnum.Current, TreeNode)'//insert ke tabel RoleDetails (RoleID, MenuName, FormAction, Tag) : If aNode.Checked Then 

Dim MenuRole As New Entity.MenuRole MenuRole.Role.RoleID = RoleIDMenuRole.Menu.MenuID = aNode.Tag.ToStringAccessUser.InsertRoleMenu(MenuRole)AddRecursiveTreeNode(RoleID, aNode)

End If End While 

End Sub Private Sub AddRecursiveTreeNode(ByVal RoleID As String, ByVal NodeRef As TreeNode)

For Each aNode As TreeNode In NodeRef.Nodes'//insert ke tabel RoleDetails (RoleID, MenuName, FormAction, Tag) : If aNode.Checked Then 

Dim MenuRole As New Entity.MenuRole MenuRole.Role.RoleID = RoleIDMenuRole.Menu.MenuID = aNode.Tag.ToStringAccessUser.InsertRoleMenu(MenuRole)

End If AddRecursiveTreeNode(RoleID, aNode)

Next End Sub

kedalam table. Dan sekarang kita lanjutkan untuk menginput data pada table, dengan cara

mengaktifkan Checkbox pada Node di TreeView. Ketikkan sintaks dibawah ini.

Klik ganda button Update dan ketikkan sintaks berikut :

Try If lstRoles.SelectedIndex = -1 Then 

MsgBox("Pilih dahulu RoleID yang akan diupdate dari List Roles",MsgBoxStyle.Information, "DVD Rental")

Exit Sub Else 

Dim arrItems As String() =DVDModule.GetLeftRightItemFromControl(lstRoles.SelectedItem.ToString)

Dim mYes_No As String = MsgBox("Apakah kamu ingin menyimpan data ?",vbYesNo, "DVD Rental")

If mYes_No = vbYes Then Dim MenuRole As New Entity.MenuRole MenuRole.Role.RoleID = arrItems(0)AccessUser.DeleteRoleMenu(MenuRole)InsertItemCheckedOnTheTreeToDatabase(arrItems(0), arrItems(1))lstRoles.SelectedIndex = -1

End If End If 

Catch ex As Exception MsgBox(ex.Message, MsgBoxStyle.Information, "DVD Rental")

End Try

Page 87: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 87/186

87

Buka F_Main (Main Menu), lalu ketikkan sintaks berikut, yang berfungsi untuk menampilkan

Menu Item sesuai dengan hak akses yang diberikan, pada Form Access.

#Region "PopulateMenu" Private Sub PopulateRoleDetails()

Dim mydata As New DataSet 

Using connect As New OleDbConnection(My.Settings.DVDConnection)Using ObjCommand As New OleDbCommand("usp_SelectMenuRole", connect)

ObjCommand.CommandType = CommandType.StoredProcedureObjCommand.Parameters.Add( "@RoleID", OleDbType.Integer).Value = RoleIDUsing objDataAdapter As New OleDbDataAdapter 

objDataAdapter.SelectCommand = ObjCommandobjDataAdapter.Fill(mydata, "data")

End Using End Using 

End Using CreateMenu(mydata.Tables("data").DefaultView)

End Sub 

Private Sub CreateMenu(ByVal dtView As DataView)Dim Num As IEnumerator = MenuStrip1.Items.GetEnumeratorWhile Num.MoveNext

Dim ToolMenu As ToolStripMenuItem = DirectCast(Num.Current,ToolStripMenuItem)

dtView.RowFilter = "MenuID = '" & ToolMenu.Tag.ToString & "'" If dtView.Count > 0 Then 

ToolMenu.Visible = True 

Else ToolMenu.Visible = False 

End If CreateMenuItem(dtView, ToolMenu)

End While 

End Sub 

Private Sub CreateMenuItem(ByVal dtView As DataView, ByVal ToolMenu As ToolStripMenuItem)

For i As Integer = 0 To ToolMenu.DropDownItems.Count - 1If Not (TypeOf ToolMenu.DropDownItems(i) Is ToolStripMenuItem) Then 

Continue For dtView.RowFilter = "MenuID = '" & ToolMenu.DropDownItems(i).Tag.ToString &

"'" If dtView.Count > 0 Then 

ToolMenu.DropDownItems(i).Visible = True Else 

ToolMenu.DropDownItems(i).Visible = False ToolMenu.DropDownItems(i).Tag = "" 

End If CreateMenuItem(dtView, ToolMenu.DropDownItems(i))

Next End Sub 

#End Region

Page 88: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 88/186

88

Lalu aktifkan F_Main dan pada event handler F_Main_Load tambahkan sintaks berikut 

PopulateRoleDetails() 

Pada Ms Access (DVD.accdb) buka T_User, lalu masukkan data seperti dibawah.

Username : anam, Password: 123, First Name : Khoirul, Last Name : Anam, RoleID : 4 danActived = True (Yes).

Selanjutnya jalankan program (gunakan user administrator), lalu klik Role Kasir dan aktifkan

checkbox pada TreeView seperti gambar dibawah, lalu klik button update. Lalu Logout dan

login menggunakan username : anam (seperti diatas), maka tampilan pada Main Menu akan

seperti gambar dibawah.

Gambar 4.25

Page 89: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 89/186

89

Gambar 4.26

Pada setiap aplikasi umumnya selalu menyediakan fasilitas untuk mengubah password, untuk 

mengantisipasi jika password dari pengguna telah di ketahui oleh orang lain. Untuk aplikasi yang

kita buat ini kita juga akan meneyediakan fasilitas ini. Ikuti langkah-langkah dibawah ini untuk 

membuat form ubah password. Tambahkan sebuah form pada project dan ubah properties nya

seperti dibawah.

 Name F_Change

ShowInTaksbar False

Text Form Access

StartPosition CenterScreen

ControlBox False

FormBorderStyle FixedSingle

BackColor White

Dan tambahkan 3 textbox, 3 label dan 2 button lalu ubah masing-masing control seperti dibawah.

TextBox1

 Name txtOld

Page 90: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 90/186

90

UPDATE T_User SET T_User.[Password] = [@password]

WHERE (((T_User.UserName)=[@Username]));

TextBox2 

 Name txtNew

TextBox3

 Name txtConfirm

Button1 

Text Save

 Name btnSave

Button2 

Text Close

 Name btnCancel

Buka MS Access (DVD.accdb) lalu buat Query dengan namanya “usp_changepassword” dan

dengan sintaks SQL nya seperti dibawah.

Lalu pada project kita buka AccessUser dan ketikkan sintaks berikut untuk mengubah password

 pengguna.

Public Function ChangePassword(ByVal User As Entity.Users) As OleDbDataReader 

Try Using connect As New OleDbConnection(My.Settings.DVDConnection)Using mycommand As OleDbCommand = New 

OleDbCommand("usp_changepassword", connect)mycommand.CommandType = CommandType.StoredProcedure

Dim parameterPassword As OleDbParameter = New OleDbParameter("@Password", OleDbType.VarChar, 15)

parameterPassword.Value = User.Password

Dim parameterUserName As OleDbParameter = New OleDbParameter("@genre_id", OleDbType.VarChar, 15)

parameterUserName.Value = User.Username

With mycommand.Parameters.Add(parameterPassword).Add(parameterUserName)

End With 

Page 91: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 91/186

91

Kembali ke F_Change, klik ganda button Close dan ketikkan sintaks berikut :Me.Close, Lalu

klik ganda button OK dan ketikkan sintaks berikut.

Pada sintaks diatas sebelum mengubah password terlebih dahulu aplikasi ini mengecek apakah

 password lama yang kita masukkan benar atau salah, ini untuk menjaga jika yang mengganti

 password adalah benar-benar pengguna yang benar. Lalu mengecek password baru dan

konfirmasi apakah sama, ini untuk memastikan bahwa password yang dimasukkan emang benar.

Lalu setelah itu dengan menggunakan fungsi ChangePassword aplikasi mengubah password

connect.Open()Using result As OleDbDataReader =

mycommand.ExecuteReader(CommandBehavior.CloseConnection)Return result

End Using 

End Using End Using 

Catch SqlEx As OleDbException Throw New Exception(SqlEx.Message.ToString())

End Try 

End Function

Try  Dim AccessUser As New AccessData.AccessUser If txtOld.Text = "" Or txtNew.Text = "" Or txtConfirm.Text = "" Then 

MsgBox("Isi seluruh data terlebih dahulu", MsgBoxStyle.Information,"DVD Rental")

Exit Sub End If If Password <> txtOld.Text Then 

MsgBox("Password lama salah", MsgBoxStyle.Information, "DVD Rental")Exit Sub 

ElseIf txtNew.Text <> txtConfirm.Text Then MsgBox("Password baru dan confirm password tidak sama",

MsgBoxStyle.Information, "DVD Rental")Exit Sub 

End If Dim User As New Entity.Users With {.Password = txtNew.Text, .Username =

UserName}

AccessUser.ChangePassword(User)txtOld.Text = "" txtNew.Text = "" txtConfirm.Text = "" MsgBox("Ganti password sukses", MsgBoxStyle.Information, "DVD Rental")

Catch ex As Exception MsgBox(ex.Message, MsgBoxStyle.Exclamation, "DVD Rental")

End Try

Page 92: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 92/186

92

lama dengan yang baru. Buka F_Main dan pada MenuItem Utility > Change Password , klik 

ganda dan ketikkan sintaks dibawah.

Jalankan program dan masuk ke Form Change Password lalu ganti passwordnya.

Gambar 4.27

Setelah selesai membuat Form Change Password, maka selanjutnya kita akan membuat form

untuk pengolahan data pengguna. Form ini berguna untuk memasukkan data pengguna baik lamaatau baru. Tambahkan sebuah form dan ganti properties nya seperti dibawah:

 Name F_User 

ShowInTaksbar False

Text Form Access

StartPosition CenterScreen

MaximizeBox False

MinimizeBox False

FormBorderStyle FixedSingle

BackColor White

Dan tambahkan 1 GroupBox, 4 TextBox, 5 Label, 1 comboBox, 1 Checkbox dan 2 button

selanjutnya ganti properties seperti dibawah.

Try Dim frm_access As New F_FormAccess frm_access.ShowDialog()

Catch ex As Exception MsgBox(ex.Message, MsgBoxStyle.Information, "DVD Rental")

End Try

Page 93: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 93/186

93

GroupBox1

Text User Detail

TextBox1 

 Name txtUser 

TextBox2 

 Name txtPassword

TextBox3 

 Name txtfirst

TextBox4 

 Name txtLast

ComboBox1 

 Name cbRole

CheckBox1 

 Name cbStatus

Button1

 Name btnSave

Text &Save

Button2

 Name btnCancel

Text &Cancel

Dan atur posisi control seperti gambar dibawah.

Gambar 4.28

Page 94: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 94/186

94

SELECT T_User.username, T_User.actived, T_User.First_Name, T_User.Last_Name, T_User.RoleID

FROM T_User;

INSERT INTO T_User ( UserName, [Password], First_Name, Last_Name, RoleID, Actived )

VALUES ([@UserName], [@Password], [@First_Name], [@Last_Name], [@RoleID], 1);

UPDATE T_User SET T_User.[Password] = [@Password], T_User.First_Name = [@First_Name],

T_User.Last_Name = [@Last_Name], T_User.RoleID = [@RoleID], T_User.Actived = [@Actived]

Public Function UserInsert(ByVal User As Entity.Users) As OleDbDataReader Try 

Using connect As New OleDbConnection(My.Settings.DVDConnection)Using mycommand As OleDbCommand = New OleDbCommand("usp_InsertUser",

connect)mycommand.CommandType = CommandType.StoredProcedureDim parameterUserName As OleDbParameter = New 

OleDbParameter("@UserName", OleDbType.VarChar, 15)parameterUserName.Value = User.Username

Dim parameterPassword As OleDbParameter = New OleDbParameter("@Password", OleDbType.VarChar, 15)

parameterPassword.Value = User.PasswordDim parameterFirstName As OleDbParameter = New 

OleDbParameter("@first_name", OleDbType.VarChar, 50)parameterFirstName.Value = User.First_NameDim parameterLastName As OleDbParameter = New 

OleDbParameter("@last_name", OleDbType.VarChar, 50)parameterLastName.Value = User.Last_NameDim parameterRoleID As OleDbParameter = New 

OleDbParameter("@RoleID", OleDbType.Integer)parameterRoleID.Value = User.Role.RoleID

With mycommand.Parameters

.Add(parameterUserName)

.Add(parameterPassword)

.Add(parameterFirstName)

.Add(parameterLastName)

.Add(parameterRoleID)End With 

Lalu pada DVD.accdb buat Query dengan nama masing-masing seperti berikut :

usp_SelectUserList, usp_InsertUser, usp_UpdateUser. Dan dengan sintkas SQL seperti dibawah.

Dan selanjutnya kita akan membuat 2 fungsi untuk insert dan update user. Buka AccessUser dan

ketikkan sintaks dibawah ini.

Page 95: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 95/186

95

connect.Open()Using result As OleDbDataReader =

mycommand.ExecuteReader(CommandBehavior.CloseConnection)Return result

End Using End Using 

End Using Catch SqlEx As OleDbException 

Throw New Exception(SqlEx.Message.ToString())End Try 

End Function

Public Function UserUpdate(ByVal User As Entity.Users) As OleDbDataReader Try 

Using connect As New OleDbConnection(My.Settings.DVDConnection)Using mycommand As OleDbCommand = New 

OleDbCommand("usp_UpdateUser", connect)mycommand.CommandType = CommandType.StoredProcedureDim parameterPassword As OleDbParameter = New 

OleDbParameter("@Password", OleDbType.VarChar, 15)parameterPassword.Value = User.PasswordDim parameterFirstName As OleDbParameter = New 

OleDbParameter("@first_name", OleDbType.VarChar, 50)parameterFirstName.Value = User.First_NameDim parameterLastName As OleDbParameter = New 

OleDbParameter("@last_name", OleDbType.VarChar, 50)parameterLastName.Value = User.Last_NameDim parameterRoleID As OleDbParameter = New 

OleDbParameter("@RoleID", OleDbType.Integer)parameterRoleID.Value = User.Role.RoleIDDim parameterActived As OleDbParameter = New 

OleDbParameter("@Actived", OleDbType.Boolean)

parameterActived.Value = User.ActivedDim parameterUserName As OleDbParameter = New OleDbParameter("@UserName", OleDbType.VarChar, 15)

parameterUserName.Value = User.UsernameWith mycommand.Parameters

.Add(parameterPassword)

.Add(parameterFirstName)

.Add(parameterLastName)

.Add(parameterRoleID)

.Add(parameterActived)

.Add(parameterUserName)End With connect.Open()Using result As OleDbDataReader =

mycommand.ExecuteReader(CommandBehavior.CloseConnection)Return result

End Using End Using 

End Using Catch SqlEx As OleDbException 

Throw New Exception(SqlEx.Message.ToString())End Try 

End Function

Page 96: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 96/186

96

Dan pada F_User tekan F7 untuk masuk ke jendela Code buat variable Class seperti dibawah.

Selanjutnya kita akan membuat procedure untuk menampilkan data pada CbRole, seperti

dibawah.

Dan sintaks dibawah ini berfungsi untuk merefresh form (meng- clearkan textbox, membalikkan

 posisi CbRole seperti semula).

Lalu ketikkan sintaks dibawah untuk menampilkan data user dengan menggunakan fungsi login

yang telah kita buat sebelumnya pada Class AccessUser.

Lalu klik ganda F_User dan ketikkan sintaks berikut.

Dim AccessUser As New AccessData.AccessUser Dim columns As String() = {}

Private Sub SortRole()Dim RoleList As New List(Of Entity.Role) From {{"0", "- Choice -"}}DVDModule.FillListWithoutParam(RoleList, columns, "usp_SelectRole", _

GetType(Entity.Role))CbRole.DataSource = RoleListCbRole.DisplayMember = "RoleName" CbRole.ValueMember = "RoleID" 

End Sub

Private Sub Clear()Dim C As Control Dim T As TextBox For Each C In Me.GbDetail.Controls

If TypeOf C Is TextBox Then T = CType(C, TextBox)T.Text = "" 

End If Next CbRole.SelectedIndex = 0

End Sub 

Private Sub ViewUser()Dim list As List(Of Entity.Users) = AccessUser.Login(txtUser.Text)txtUser.Text = list.First.UsernametxtPassword.Text = list.First.PasswordtxtFirst.Text = list.First.First_NametxtLast.Text = list.First.Last_NameCbRole.SelectedIndex = CbRole.FindStringExact(list.First.Role.RoleName)CbStatus.Checked = If(list.First.Actived = "True", True, False)

End Sub

Page 97: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 97/186

97

Try  If CbRole.SelectedIndex = 0 Then MsgBox("Pilih Role terlebih dahulu", MsgBoxStyle.Information, "DVD

Rental")Exit Sub 

End If Dim User As New Entity.Users With {.Username = txtUser.Text, .Password =

txtPassword.Text,.First_Name = txtFirst.Text, .Last_Name = txtLast.Text, .Role = New 

Entity.Role With {.RoleID = CbRole.SelectedValue},.Actived = If(CbStatus.Checked = True,

True, False)}

Dim mYes_No As String = MsgBox("Apakah kamu ingin menyimpan data ?",

vbYesNo, "DVD Rental")If mYes_No = vbYes Then 

If Operate = "Add" Then AccessUser.UserInsert(User)Clear()

Else AccessUser.UserUpdate(User)

End If End If 

Pada sintaks diatas jika Operate (Global Variable) tidak sama dengan “Add” maka pada form ini

akan menampilkan data user dengan menggunakan procedure ViewUser. Dan mengaktifkan

CbStatus. Klik ganda button Cancel dan ketikkan sintaks dibawah.

If Operate = "Add" Then Clear()Else 

Operate = Nothing Me.Close()

End If

Sintaks diatas memiliki dua fungsi sama seperti pada F_Main_Load yaitu jika pada

Operate=Add, maka proses yang dilakukan adalah hany merefresh form sedangkan Operate <>

Add maka form akan di tutup. Lalu klik ganda button Save dan ketikkan sintaks dibawah ini,

yang berfungsi untuk menyimpan data baru maupun mengubah data lama.

Try SortRole()If Operate = "Add" Then 

CbStatus.Checked = True CbStatus.Visible = False 

Else 

CbStatus.Visible = True ViewUser()End If 

Catch ex As Exception MsgBox(ex.Message, MsgBoxStyle.Exclamation, "DVD Rental")

End Try

Page 98: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 98/186

98

Sekarang buka F_Main, pada menu Item Utility > Users > Add, ketikkan sintaks berikut.

Dan jalankan program dengan menekan F5, buka form Add user dan masukkan data user pada

form, seperti dibawah.

Gambar 4.28

Lalu bagaimanakah cara mengubah data user?? Mungkin pertanyaan itu ada di benak para

 pembaca. Pada Form ini untuk mengubah data user sebelumnya adalah kita membutuhkan 2 buah form, yang pertama untuk mencari data user dan kedua menampilkan daftar user. Untuk 

lebih jelasnya ikuti langkah dibawah ini.

Tambahkan sebuah form pada project dan ubah properties nya seperti dibawah.

Catch ex As Exception MsgBox(ex.Message, MsgBoxStyle.Exclamation, "DVD Rental")

End Try

Try Operate = "Add" Dim frm_user As New F_User frm_user.ShowDialog()Operate = Nothing 

Catch ex As Exception MsgBox(ex.Message)

End Try

Page 99: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 99/186

99

 Name F_UserBox

ShowInTaksbar False

Text Form Access

StartPosition CenterScreen

ControlBox False

FormBorderStyle FixedSingle

BackColor White

Dan tambahkan 1 TextBox, 1 Label dan 3 button lalu ubah propertiesnya seperti dibawah.

TextBox1

 Name txtUsername

Button1  Name btnOK 

Text OK 

Button2 

 Name btnSearch

Text Search

Button3 

 Name btnCancel

Text Cancel

 Name btnSave

Text &Save

Button2

 Name btnCancel

Text &Cancel

Dan atur posisinya seperti gambar dibawah.

Gambar 4.29

Page 100: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 100/186

100

Selanjutnya tambahkan sebuah form lagi dan ubah properties seperti dibawah.

 Name H_User 

ShowInTaksbar False

Text User List

StartPosition CenterScreen

MaximizeBox False

MinimizeBox False

FormBorderStyle FixedSingle

BackColor White

Dan tambahkan beberapa control 1 Groupbox, 1 TextBox, 1 GriView dan 1 Button. Dan ubah

 propertiesnya seperti dibawah.

TextBox1

 Name txtSearch

Groupbox1

Text Search Criteria by Username

Button1 

 Name btnCancel

Text Cancel

Button2 

 Name btnSearch

Text Search

Button3 

 Name btnCancel

Text Cancel

 Name btnSaveText &Save

Button2

 Name btnCancel

Text &Cancel

Page 101: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 101/186

101

DataGridView1

 Name DgView

Dan atur posisi control diatas seperti gambar dibawah.

Gambar 4.30

Tekan F7, pada jendela Code H_User buat variable Class seperti dibawah.

Dim UserList As New List(Of Entity.Users)

Dan buat procedure untuk mengatur format DgView seperti dibawah.

Private Sub FormatGridWithBothTableAndColumnStyles()Me.DgView.DefaultCellStyle.ForeColor = Color.NavyMe.DgView.RowsDefaultCellStyle.BackColor = Color.AliceBlueMe.DgView.GridColor = Color.BlueMe.DgView.BorderStyle = BorderStyle.Fixed3DMe.DgView.RowHeadersBorderStyle = BorderStyle.Fixed3D

DgView.AutoGenerateColumns = False 

Dim UserColumn As New DataGridViewTextBoxColumn()UserColumn.DataPropertyName = "Username" UserColumn.HeaderText = "Username" UserColumn.Width = 80

Dim FirstColumn As New DataGridViewTextBoxColumn()FirstColumn.DataPropertyName = "first_name" FirstColumn.HeaderText = "First Name" FirstColumn.Width = 100

Dim LastColumn As New DataGridViewTextBoxColumn()LastColumn.DataPropertyName = "last_name" LastColumn.HeaderText = "Last Name" LastColumn.Width = 100

Page 102: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 102/186

102

Klik ganda button cancel dan ketikkan sintaks berikut ; me.close. selanjutnya buatlah Event

Handler H_User_FormClosing dan ketikkan sintaks berikut : Operate=Nothing. Lalu klik 

ganda H_User (Event Handler H_User_Load), dan ketikkan sintaks dibawah ini.

Sintaks diatas berfungsi untuk menampilkan data kedalam DgView yang sebelumnya disimpan

terlebih dahulu kedalam Generic List (of User). Lalu buatlah event Handler txtSearch_KeyUp

dan ketikkan sintaks berikut :

Sintaks ini menggunakan LINQ to Object yang berfungsi untuk mencari data pada List (Of 

User), dan hasil perncarian tersebut akan ditampilkan pada DgView. Dan terakhir buat event

handler DgView_CellDoubleClick dan ketikkan sintaks berikut.

Dim ActColumn As New DataGridViewTextBoxColumn()ActColumn.DataPropertyName = "actived" ActColumn.HeaderText = "Actived" ActColumn.Width = 150

DgView.Columns.Add(UserColumn)

DgView.Columns.Add(FirstColumn)DgView.Columns.Add(LastColumn)DgView.Columns.Add(ActColumn)

End Sub

Try 

Dim columns As String() = {"username", "first_name", "last_name","actived"}

DVDModule.FillListWithoutParam(UserList, columns, "usp_SelectUserList", _GetType(Entity.Users))

FormatGridWithBothTableAndColumnStyles()DgView.DataSource = UserListtxtSearch.Focus()

Catch ex As Exception MsgBox(ex.Message, MsgBoxStyle.Information, "DVD Rental")

End Try

Try Dim query = (From a In UserList Where a.Username.Contains(txtSearch.Text)

Select a).ToListDgView.DataSource = query

Catch ex As Exception MsgBox(ex.Message, MsgBoxStyle.Information, "DVD Rental")

End Tr

Page 103: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 103/186

103

Operate = Nothing Me.Close()

Operate = "Edit" Dim frm_HUser As New H_User frm_HUser.ShowDialog()txtUsername.Text = frm_HUser.txtSearch.Text

Try If txtUsername.Text = "" Then 

MsgBox("Masukkan Username", MsgBoxStyle.Information, "DVD Rental")Exit Sub 

End If Dim RoleList As New List(Of Entity.Users)Dim Coltype As System.Data.OleDb.OleDbType() =

{System.Data.OleDb.OleDbType.VarChar}Dim FieldName As String() = {"@username"}Dim Size As Integer() = {15}Dim Value As String() = {txtUsername.Text}Dim columns As String() = {"username"}DVDModule.FillListWithParam(RoleList, columns, "usp_selectlogin", _

GetType(Entity.Users),FieldName, _

Coltype, Size, Value)If RoleList.Count = 0 Then MsgBox("Username Salah")Exit Sub 

End If 

Sintaks ini berfungsi jika user melakukan klik ganda pada cell di DgView maka, untuk baris

yang di klik akan di ambil datanya untuk kolom pertama. Dan langsung menutup form ini.

Selanjutnya aktifkan form F_USerBox, dan masuk ke jendela Code, klik ganda button Cancel

dan ketikkan sintaks berikut :

Lalu klik ganda button Search dan ketikkan sintaks dibawah ini.

Sintaks ini berfungsi untuk menampilkan Form H_User yang telah kita buat sebelumnya. Dan

klik ganda button OK, lalu ketikkan sintaks berikut :

If Operate <> Nothing Then Dim row As DataGridViewRow = DgView.Rows(e.RowIndex)txtSearch.Text = row.Cells(0).ValueOperate = Nothing Me.Close()

End If

Page 104: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 104/186

104

Dim frm_User As New F_User frm_User.txtUser.Text = txtUsername.Textfrm_User.ShowDialog()Me.Close()

Catch ex As Exception MsgBox(ex.Message, MsgBoxStyle.Exclamation, "DVD Rental")

End Try

Sintaks diatas berfungsi untuk memvalidasi username yang dimasukkan kedalam textbox, jika

username tidak ada pada table maka akan ada pesan error. Jika username yang dimasukkan benar 

maka F_User akan ditampilkan berserta data-data user yang dicari. Lalu buka F_Main (Main

Menu) pada Menu Item Utilty > Users > Edit ketikkan sintaks berikut :

Utility > User > User List lalu klik ganda dan ketikkan sintaks berikut :

Jalankan program dan klik menu utility > User > Edit, lalu masukkan username, jika tidak 

mengetahui username yang dicari tekan tombol search, maka daftar pengguna akan tampil. Dan

selanjutnya ubah data user pada form User.

Gambar 4.30

Try Dim frm_UserBox As New F_UserBox frm_UserBox.ShowDialog()

Catch ex As Exception 

End Try

Try Dim frm_HUser As New H_User frm_HUser.ShowDialog()

Catch ex As Exception MsgBox(ex.Message)

End Try

Page 105: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 105/186

105

Gambar 4.31

Gambar 4.32

Page 106: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 106/186

106

4.3 Membuat Form Group

Setelah selesai membuat beberapa form untuk management user sekarang kita lanjutkan

membuat form untuk pengolahan data Group. Penulis akan menjelaskan kegunaan dari table

group ini. Table ini digunakan untuk pengelompokan DVD baik biaya Rental, biaya

kelambatan atau jumlah hari Rental untuk suatu DVD, jadi idak kita atur semua itu pada data

DVD. Terlebih dahulu buatlah table Group dengan nama T_Group dan strukturnya sebagai

 berikut :

Field Name Data Type Field size Primary Key

ids AutoNumber 

group_id Text 4 PK (*)

Group_name Text 25

days Number Integer 

 price Currency

fee Currency

Tambahkan sebuah form ubah properties nya seperti dibawah

 Name F_GroupShowInTaksbar False

Text Add/Edit Group

StartPosition CenterScreen

MaximizedBox False

MinimizedBox False

FormBorderStyle FixedSingle

BackColor White

Selanjutnya tambahkan control 5 textbox, 5 label, 6 button dan 1groupbox dan ubah properties

seperti dibawah.

Page 107: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 107/186

107

Textbox1

 Name txtID

Enabled False

Textbox2 

 Name txtName

TextBox3 

 Name txtDays

TextBox4 

 Name txtPrice

TextBox5 

 Name txtFee

GroupBox1

 Name GbDetail

Text Item Detail

Button1

 Name btnSave

Text &Save

Button2

 Name btnCancel

Text &Cancel

Button3 

 Name btnAdd

Text &Add

Button4 

 Name btnEdit

Text &Edit

Button5 

 Name btnDelete

Text &Delete

Button6 

Page 108: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 108/186

108

Namespace EntityPublic Class Group 

Private m_groupid As String 

Public Property Group_ID() As String Get 

Return m_groupidEnd Get Set(ByVal value As String)

If value = "" Then Throw New Exception("Masukkan Group ID")

End If m_groupid = value

End Set End Property 

Private m_groupname As String Public Property Group_Name() As String 

Get Return m_groupname

End Get Set(ByVal value As String)

If value = "" Then Throw New Exception("Masukkan Group Name")

End If m_groupname = value

End Set End Property 

 Name btnFind

Text &Find

Dan atur posisi nya seperti gambar dibawah.

Gambar 4.33

Tambahkan Class pada folder entity dan ubah namanya menjadi Group, lalu ketikkan sintaks

 berikut pada Class Group.

Page 109: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 109/186

109

<Extension()>Sub Add(ByVal GroupList As List(Of Entity.Group), ByVal groupid As String, ByVal 

groupname As String,ByVal days As Int16, ByVal price As Decimal, ByVal fee As Decimal)GroupList.Add(New Entity.Group With {.Group_ID = groupid, .Group_Name = groupname,

.Days = days,.Price = price, .Fee = fee})

End Sub 

Lalu buka DVDModule dan ketikkan sintaks dibawah pada Region Extension Method yang kita

 buat sebelumnya.

Lalu buatlah 5 buah query pada database dengan nama masing sebagai berikut :  

usp_SelectGroupTop1, usp_selectgroup, usp_InsertGroup, usp_UpdateGroup,

usp_DeleteGroup 

Dengan masing-masing sintaks SQL seperti dibawah.

SELECT TOP 1 t_group.*

FROM t_group

ORDER BY t_group.ids DESC;

SELECT t_group.*

FROM t_group

ORDER BY t_group.ids;

INSERT INTO T_Group ( group_id, group_name, days, price, fee )

VALUES ([@group_id], [@group_name], [@days], [@price], [@fee]);

UPDATE t_group SET t_group.group_name = [@group_name], t_group.days = [@days], t_group.price =

[@price], t_group.fee = [@fee]

WHERE (((t_group.group_id)=[@group_id]));

DELETE *

FROM t_group

WHERE (((t_group.group_id)=[@grup_id]));

Page 110: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 110/186

110

Public Function GroupInsert(ByVal Group As Entity.Group) As OleDbDataReader Try 

Using connect As New OleDbConnection(My.Settings.DVDConnection)Using mycommand As OleDbCommand = New OleDbCommand("usp_InsertGroup",

connect)mycommand.CommandType = CommandType.StoredProcedure

Dim parameterGroupID As OleDbParameter = New OleDbParameter("@group_id", OleDbType.VarChar, 4)

parameterGroupID.Value = Group.Group_ID

Dim parameterGroupName As OleDbParameter = New OleDbParameter("@group_name", OleDbType.VarChar, 25)

parameterGroupName.Value = Group.Group_Name

Dim parameterDays As OleDbParameter = New OleDbParameter("@Days",OleDbType.Integer)

parameterDays.Value = Group.Days

Dim parameterPrice As OleDbParameter = New OleDbParameter("@Price", OleDbType.Currency)

parameterPrice.Value = Group.Price

Dim parameterFee As OleDbParameter = New OleDbParameter("@fee",OleDbType.Currency)

parameterFee.Value = Group.Fee

With mycommand.Parameters

.Add(parameterGroupID)

.Add(parameterGroupName)

.Add(parameterDays)

.Add(parameterPrice)

.Add(parameterFee)End With connect.Open()Using result As OleDbDataReader =

mycommand.ExecuteReader(CommandBehavior.CloseConnection)Return result

End Using 

End Using End Using 

Catch SqlEx As OleDbException Throw New Exception(SqlEx.Message.ToString())

End Try 

End Function 

Serta tambahkan class pada folder AccessData dan ubah namanya menjadi AccessGroup, lalu

import terlebih dahulu Name Space OleDB (Imports System.Data.OleDb) , selanjutnya buat

 NameSpace AccessData, dan ketikkan sintaks dibawah didalam NameSpace AccessData

Page 111: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 111/186

111

Fungsi diatas digunakan untuk menambah data group, dengan menggunakan query

usp_InsertGroup. Selanjutnya ketikkan sintaks untuk mengubah data group seperti dibawah.

Public Function GroupUpdate(ByVal Group As Entity.Group) As OleDbDataReader Try 

Using connect As New OleDbConnection(My.Settings.DVDConnection)Using mycommand As OleDbCommand = New OleDbCommand("usp_UpdateGroup",connect)

mycommand.CommandType = CommandType.StoredProcedure

Dim parameterGroupName As OleDbParameter = New OleDbParameter("@group_name", OleDbType.VarChar, 25)

parameterGroupName.Value = Group.Group_Name

Dim parameterDays As OleDbParameter = New OleDbParameter("@Days",OleDbType.Integer)

parameterDays.Value = Group.Days

Dim parameterPrice As OleDbParameter = New 

OleDbParameter("@Price", OleDbType.Currency)parameterPrice.Value = Group.Price

Dim parameterFee As OleDbParameter = New OleDbParameter("@fee",OleDbType.Currency)

parameterFee.Value = Group.Fee

Dim parameterGroupID As OleDbParameter = New OleDbParameter("@group_id", OleDbType.VarChar, 4)

parameterGroupID.Value = Group.Group_ID

With mycommand.Parameters.Add(parameterGroupName).Add(parameterDays).Add(parameterPrice).Add(parameterFee).Add(parameterGroupID)

End With connect.Open()Using result As OleDbDataReader =

mycommand.ExecuteReader(CommandBehavior.CloseConnection)Return result

End Using 

End Using End Using 

Catch SqlEx As OleDbException Throw New Exception(SqlEx.Message.ToString())

End Try 

End Function

Page 112: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 112/186

112

Dan terakhir tambah kan sintaks untuk menghapus data group pada table.

Kembali pada F_Group, buat variable class seperti dibawah

#Region "Deklarasi" Public Proses As String Protected AccessGroup As New AccessData.AccessGroup Dim columns As String() = {}

#End Region

Selanjutnya kita akan membuat procedure untuk mengahapus data pada form dan disable inputan

 pada form, seperti dibawah.

Public Function GroupDelete(ByVal Group As Entity.Group) As OleDbDataReader Try 

Using connect As New OleDbConnection(My.Settings.DVDConnection)Using mycommand As OleDbCommand = New 

OleDbCommand("usp_DeleteGroup", connect)mycommand.CommandType = CommandType.StoredProcedure

Dim parameterGroupID As OleDbParameter = New OleDbParameter("@group_id", OleDbType.VarChar, 4)

parameterGroupID.Value = Group.Group_ID

With mycommand.Parameters

.Add(parameterGroupID)

End With connect.Open()Using result As OleDbDataReader =

mycommand.ExecuteReader(CommandBehavior.CloseConnection)Return result

End Using 

End Using End Using 

Catch SqlEx As OleDbException Throw New Exception(SqlEx.Message.ToString())

End Try 

End Function

Page 113: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 113/186

113

Pada procedure ini kita telah membuat 1 prosedure untuk 3 keperluan, pertama untuk merefresh

form, disable inputan dan terakhir adalah enabled inputan. Sesuai inputan yang kita masukkan

 pada procedure. Selanjutnya adalah membuat fungsi penomoran otomatis seperti dibawah.

Pada fungsi diatas, pertama-tama adalah mencari nilai record awal dengan menggunakan sorting

descending pada query yang kita buat sebelumnya, dan disimpan didalam List. Jika list kosong

(table kosong), maka secara otomatis nilai kembaliannya adalah “GR01” sedangkan jika ada

maka akan dimabil nilai terakhir dengan menggunakan fungsi Right, lalu di tambah 1.

Selanjutnya pada event handler txtPrice_Keypress ubah sintaks nya seperti berikut :

Private Sub Aktif_Inputan(ByVal Bol As Boolean, ByVal pros As String)Dim C As Control 

For Each C In Me.ControlsIf C.HasChildren Then 

For Each hChild As Control In C.ControlsIf TypeOf hChild Is TextBox AndAlso UCase(hChild.Name) <>

UCase("txtID") Then hChild.Enabled = BolIf UCase(pros) = "ADD" AndAlso UCase(hChild.Name) <>

UCase("txtname") Then hChild.Text = "0" 

End If End If If TypeOf hChild Is TextBox AndAlso UCase(pros) = UCase("clear") Then 

hChild.Text = "" End If 

Next ElseIf TypeOf C Is Button AndAlso UCase(C.Name) = UCase("btnsave") Then 

C.Enabled = BolEnd If 

Next 

End Sub

Private Function IDNo() As String Dim GroupList As New List(Of Entity.Group)

DVDModule.FillListWithoutParam(GroupList, columns, "usp_SelectGroupTop1",

GetType(Entity.Group))If GroupList.Count = 0 Then txtID.Text = "GR01" 

Else txtID.Text = "GR" &

Format(Val(CInt(Microsoft.VisualBasic.Right(GroupList.First.Group_ID,

GroupList.First.Group_ID.Length - 2)) + 1), "00")End If Return txtID.Text

End Function

Page 114: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 114/186

114

Try Aktif_Inputan(False, "")

Catch ex As Exception MsgBox(ex.Message, MsgBoxStyle.Information, "DVD Rental")

End Try

Fungsi diatas di maksudkan agar karakter yang diketikkan hanya boleh/bisa dari 0-9, selebihnya

tidak bisa.

Dan buat event handler txtFee_Keyup lalu ketikkan sintaks berikut :

Sedangkan sintaks di atas berfungsi, jika pada txtFee (textbox terakhir dari form) pengguna

menekan Enter maka, proses pada button save agar dijalankan, sedangkan jika Esc maka button

cancel akan dijalankan, yang akan kita buat proses nya dibawah.

Klik ganda F_Group dan ketikkan sintak dibawah,

Klik ganda button Cancel dan ketikkan sintaks dibawah :

Button cancel berfungsi untuk merefresh form dan mendisabled seluruh textbox pada form,

dimana menggunakan procedure “Aktif_Inputan”. 

Lalu klik Button Add, yang berfungsi untuk melakukan penambahan data dengan sintaks seperti

dibawah.

Private Sub txtPrice_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtPrice.KeyPress, txtDays.KeyPress,txtFee.KeyPressTry 

If Not ((e.KeyChar >= "0" And e.KeyChar <= "9") Or e.KeyChar = vbBack) Then e.Handled() = True 

End If Catch ex As Exception 

MsgBox(ex.Message)End Try

End Sub

If e.KeyCode = Keys.Enter Then btnSave.PerformClick()

ElseIf e.KeyCode = Keys.Escape Then btnCancel.PerformClick()

End If

Proses = Nothing Aktif_Inputan(False, "clear")

Page 115: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 115/186

115

Try Proses = "add" Aktif_Inputan(True, Proses)IDNo()txtName.Focus()

Catch ex As Exception MsgBox(ex.Message, MsgBoxStyle.Information, "DVD Rental")

End Tr

Pada saat button ini di klik maka, form akan mengaktifkan seluruh textbox, dan menampilkan

GroupID secara otomatis dan kursor akan focus pada txtName. Dan selanjutnya adalah membuat

 proses simpan, klik ganda button Save lalu ketikkan sintaks berikut :

Pada button save ini menyimpan 2 proses yaitu Save dan Update tergantung pada variable

“Process” yang ada, apakah “ADD” atau “EDIT”. 

Buka F_Main (Main Menu) pada menu strip Data > Group kemudian klik ganda ketikkan sintaks

dibawah.

Dan jalankan program dan buka form Group, kemudian coba masukkan data pada form Group.

Dengan cara menekan tombol Add terlebih dahulu setelah itu tekan tombol Save.

Try Dim Group As New Entity.Group With {.Group_ID = txtID.Text,.Group_Name = txtName.Text, .Days = txtDays.Text, .Price = txtPrice.Text,.Fee = txtFee.Text}Dim mYes_No As String = MsgBox("Apakah kamu ingin menyimpan data ?", vbYesNo,

"DVD Rental")

If mYes_No = vbYes Then If UCase(Proses) = "ADD" Then AccessGroup.GroupInsert(Group)

ElseIf UCase(Proses) = "EDIT" Then AccessGroup.GroupUpdate(Group)

End If btnCancel.PerformClick()

End If Catch ex As Exception 

MsgBox(ex.Message, MsgBoxStyle.Information, "DVD Rental")End Try

Try Dim frm_group As New F_Group frm_group.ShowDialog()

Catch ex As Exception 

MsgBox(ex.Message, MsgBoxStyle.Information, "DVD Rental")End Try

Page 116: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 116/186

116

Gambar 4.34

Lalu bagaimana cara nya untuk mengubah dan menghapus data? Pada form ini untuk 

mengubah/menghapus data terlebih dahulu pengguna harus mencari data terlebih dahulu, dengan

menekan tombol Find, dan akan tampil sebuah form (List dari data group). Dan pengguna dapat

memilih group mana yang mau di ubah/hapus dengan klik ganda pada cell datagridview. Untuk 

lebih jelas nya ikuti langkah-langkah dibawah.

Tambahkan sebuah form pada project kita dan tambahkan DataGridView lalu ganti properties

nya seperti dibawah ;

 Name H_Group

ShowInTaksbar False

Text Group List

StartPosition CenterScreen

MaximizedBox False

MinimizedBox False

FormBorderStyle FixedSingle

BackColor White

DataGridView

 Name DgView

Page 117: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 117/186

117

Private Sub FormatGridWithBothTableAndColumnStyles()Me.DgView.DefaultCellStyle.ForeColor = Color.NavyMe.DgView.RowsDefaultCellStyle.BackColor = Color.AliceBlueMe.DgView.GridColor = Color.BlueMe.DgView.BorderStyle = BorderStyle.Fixed3DMe.DgView.RowHeadersBorderStyle = BorderStyle.Fixed3D

DgView.AutoGenerateColumns = False 

Dim IDColumn As New DataGridViewTextBoxColumn()IDColumn.DataPropertyName = "group_id" IDColumn.HeaderText = "Group ID" IDColumn.Width = 80

Dim NameColumn As New DataGridViewTextBoxColumn()NameColumn.DataPropertyName = "group_name" NameColumn.HeaderText = "Name" NameColumn.Width = 180

Dim DayColumn As New DataGridViewTextBoxColumn()DayColumn.DataPropertyName = "days" DayColumn.HeaderText = "Days" DayColumn.Width = 80

Dim PriceColumn As New DataGridViewTextBoxColumn()PriceColumn.DataPropertyName = "price" PriceColumn.HeaderText = "Price" PriceColumn.Width = 80

Dim FeeColumn As New DataGridViewTextBoxColumn()FeeColumn.DataPropertyName = "fee" FeeColumn.HeaderText = "Fee" FeeColumn.Width = 150

DgView.Columns.Add(IDColumn)DgView.Columns.Add(NameColumn)DgView.Columns.Add(DayColumn)DgView.Columns.Add(PriceColumn)

DgView.Columns.Add(FeeColumn)End Sub 

Ketik variable Class pada form seperti dibawah

Public ID As String Dim GroupList As New List(Of Entity.Group)

Selanjunya adalah membuat sebuah procedure untuk format DataGridView seperti dibawah :

Lalu klik ganda form, dan ketikkan sintaks seperti dibawah.

Page 118: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 118/186

118

Sintaks diatas befungsi untuk menampilkan data Group pada DgView dengan menggunakan

Procedure yang kita buat pada module. Dan terakhir adalah dengan mengetikkan sintaks dibawah

 pada event handler DgView_CellDoubleClick dimana sintaks dibawah berfungsi untuk mengambil

groupid pada DgView dan disimpan pada variable ID yang telah kita buat sebelumnya lalu

menutup form ini.

Kembali pada form F_Group klik ganda pada button Find.

Try 

Dim columns As String() = {"group_id", "group_name", "days", "price", "fee"}DVDModule.FillListWithoutParam(GroupList, columns, "usp_SelectGroup", _

GetType(Entity.Group))

FormatGridWithBothTableAndColumnStyles()

DgView.DataSource = GroupListCatch ex As Exception 

MsgBox(ex.Message, MsgBoxStyle.Information, "DVD Rental")End Try 

End Sub

Dim row As DataGridViewRow = DgView.Rows(e.RowIndex)ID = row.Cells(0).ValueMe.Close()

Try Proses = "find" Dim frm_HGroup As New H_Group 

frm_HGroup.ShowDialog()txtID.Text = frm_HGroup.IDIf txtID.Text <> "" Then 

Dim GroupList As New List(Of Entity.Group)DVDModule.FillListWithoutParam(GroupList, columns,

"usp_selectgroup", _

GetType(Entity.Group))

Dim group = (From grp In GroupListWhere grp.Group_ID.Equals(txtID.Text)).Single

txtName.Text = group.Group_Name

txtDays.Text = group.DaystxtFee.Text = group.FeetxtPrice.Text = group.Price

End If 

Catch ex As Exception MsgBox(ex.Message, MsgBoxStyle.Information, "DVD Rental")

End Try

Page 119: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 119/186

119

Button ini berfungsi untuk menampilkan form H_Group yang kita buat sebelumnya, selanjutnya

dengan menggunakan variable ID pada form H_Group, program akan menampilkan data group

dengan menggunakan criteria group_id.

Lalu klik ganda button Edit dan ketikkan sintaks dibawah.

Jika kita mengklik button edit sebelum mencari data terlebih dahulu maka akan ada pesan yang

tampil, agar kita mencari data terlebih dahulu.

Dan terakhir adalah dengan mengetik sintaks dibawah, pada event hander btnDelete_Click 

Setelah mencari data maka dengan menekan tombol Delete data pada table Group akan di hapus

dengan kriteria Group_ID yang dipilih.

Gambar 4.35

If UCase(Proses) <> UCase("find") Then MsgBox("Cari data terlebih dahulu", MsgBoxStyle.Information, "DVD Rental")Exit Sub 

End If Proses = "edit" Aktif_Inputan(True, "")

If UCase(Proses) <> UCase("find") Then MsgBox("Cari data terlebih dahulu", MsgBoxStyle.Information, "DVD Rental")Exit Sub 

End If Dim Group As New Entity.Group With {.Group_ID = txtID.Text}Dim mYes_No As String = MsgBox("Apakah kamu ingin menghapus data ?", vbYesNo,

"DVD Rental")If mYes_No = vbYes Then 

AccessGroup.GroupDelete(Group)btnCancel.PerformClick()

End If

Page 120: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 120/186

120

4.4 Membuat Form Genre

Selanjutnya adalah membuat form Genre. Untuk pertama kali adalah dengan membuat table

Genre. Table ini digunakan sebagai jenis dari pada DVD yang disewakan. Contoh film

Action, Drama, horror dan sebagainya. Terlebih dahulu buatlah table Genre dengan nama

T_Genre dan strukturnya sebagai berikut

Field Name Data Type Field size Primary Key

ids AutoNumber 

genre_id Text 4 PK (*)

Genre_name Text 25

Tambahkan sebuah form ubah, dan ubah properties nya seperti dibawah

 Name F_Genre

ShowInTaksbar False

Text Add/Edit Genre

StartPosition CenterScreen

MaximizedBox False

MinimizedBox False

FormBorderStyle FixedSingle

BackColor White

Selanjutnya tambahkan control 2 textbox, 2 label, 6 button dan 1groupbox dan ubah properties

seperti dibawah.

Textbox1

 Name txtID

Enabled False

Textbox2 

Page 121: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 121/186

121

 Name txtName

GroupBox1

 Name GbDetail

Text Item Detail

Button1

 Name btnSave

Text &Save

Button2

 Name btnCancel

Text &Cancel

Button3 

 Name btnAdd

Text &Add

Button4 

 Name btnEdit

Text &Edit

Button5 

 Name btnDelete

Text &Delete

Button6 

 Name btnFind

Text &Find

Dan atur posisi nya seperti gambar dibawah.

Gambar 4.36

Page 122: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 122/186

122

Namespace EntityPublic Class Genre 

Private m_genreid As String 

Public Property Genre_ID() As String Get 

Return m_genreidEnd Get Set(ByVal value As String)

If value = "" Then Throw New Exception("Masukkan Genre ID")

End If m_genreid = value

End Set End Property 

Public Property Genre_Name() As String 

End Class End Namespace 

<Extension()>

Sub Add(ByVal GenreList As List(Of Entity.Genre), ByVal genreid As String, ByVal genrename As String)

GenreList.Add(New Entity.Genre With {.Genre_ID = genreid, .Genre_Name =

genrename})End Sub

Tambahkan Class pada folder entity dan ubah namanya menjadi Genre, lalu ketikkan sintaks

 berikut pada Class Genre.

Lalu buka DVDModule dan ketikkan sintaks dibawah pada Region Extension Method yang kita

 buat sebelumnya.

Lalu buatlah 5 buah query pada database dengan nama masing sebagai berikut :  

usp_SelectGenreTop1, usp_selectgenre, usp_InsertGenre, usp_UpdateGenre,

usp_DeleteGenre 

Dengan masing-masing sintaks SQL seperti dibawah.

SELECT TOP 1 t_genre.genre_id, t_genre.genre_name

FROM t_genre

ORDER BY t_genre.ids DESC;

Page 123: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 123/186

123

Serta tambahkan class pada folder AccessData dan ubah namanya menjadi AccessGenre, lalu

import terlebih dahulu Name Space OleDB (Imports System.Data.OleDb) , selanjutnya buat

 NameSpace AccessData, dan ketikkan sintaks dibawah didalam NameSpace AccessData

INSERT INTO T_Genre ( genre_id, genre_name )

VALUES ([@genre_id], [@genre_name]);

DELETE *

FROM t_genre

WHERE (((t_genre.genre_id)=[@GenreID]));

UPDATE t_genre SET t_genre.genre_name = [@genre_name]

WHERE (((t_genre.genre_id)=[@genre_id]));

SELECT t_genre.genre_id, t_genre.genre_name

FROM t_genre

ORDER BY t_genre.genre_id, t_genre.ids;

Page 124: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 124/186

124

Public Function GenreInsert(ByVal Genre As Entity.Genre) As OleDbDataReader Try 

Using connect As New OleDbConnection(My.Settings.DVDConnection)Using mycommand As OleDbCommand = New OleDbCommand("usp_InsertGenre",

connect)mycommand.CommandType = CommandType.StoredProcedure

Dim parameterGenreID As OleDbParameter = New OleDbParameter("@group_id", OleDbType.VarChar, 4)

parameterGenreID.Value = Genre.Genre_ID

Dim parameterGenreName As OleDbParameter = New OleDbParameter("@group_name", OleDbType.VarChar, 25)

parameterGenreName.Value = Genre.Genre_Name

With mycommand.Parameters.Add(parameterGenreID).Add(parameterGenreName)

End With connect.Open()Using result As OleDbDataReader =

mycommand.ExecuteReader(CommandBehavior.CloseConnection)Return result

End Using 

End Using End Using 

Catch SqlEx As OleDbException Throw New Exception(SqlEx.Message.ToString())

End Try 

End Function

Fungsi diatas digunakan untuk menambah data genre, dengan menggunakan query

usp_Insertgenre. Selanjutnya ketikkan sintaks untuk mengubah data genre seperti dibawah.

Page 125: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 125/186

125

Public Function GenreUpdate(ByVal Genre As Entity.Genre) As OleDbDataReader Try 

Using connect As New OleDbConnection(My.Settings.DVDConnection)Using mycommand As OleDbCommand = New OleDbCommand("usp_UpdateGenre",

connect)mycommand.CommandType = CommandType.StoredProcedure

Dim parameterGenreName As OleDbParameter = New OleDbParameter("@group_name", OleDbType.VarChar, 25)

parameterGenreName.Value = Genre.Genre_Name

Dim parameterGenreID As OleDbParameter = New OleDbParameter("@group_id", OleDbType.VarChar, 4)

parameterGenreID.Value = Genre.Genre_ID

With mycommand.Parameters.Add(parameterGenreName).Add(parameterGenreID)

End With 

connect.Open()Using result As OleDbDataReader =mycommand.ExecuteReader(CommandBehavior.CloseConnection)

Return resultEnd Using 

End Using End Using 

Catch SqlEx As OleDbException Throw New Exception(SqlEx.Message.ToString())

End Try 

End Function

Page 126: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 126/186

126

Dan terakhir tambah kan sintaks untuk menghapus data genre pada table.

Untuk form ini penulis tidak akan menjelaskan secara detail sampai habis, penulis berharap para

 pembaca dapat melanjutkan untuk menyelesaikan form ini. Dikarenakan sintaks yang digunakan

form ini dan form group hampir sama. Jika mengalami kesulitan dapat melihat contoh project

yang disertakan pada buku ini.

Gambar 4.37

Public Function GenreDelete(ByVal Genre As Entity.Genre) As OleDbDataReader Try 

Using connect As New OleDbConnection(My.Settings.DVDConnection)Using mycommand As OleDbCommand = New 

OleDbCommand("usp_DeleteGenre", connect)mycommand.CommandType = CommandType.StoredProcedure

Dim parameterGenreID As OleDbParameter = New OleDbParameter("@group_id", OleDbType.VarChar, 4)

parameterGenreID.Value = Genre.Genre_ID

With mycommand.Parameters.Add(parameterGenreID)

End With connect.Open()Using result As OleDbDataReader =

mycommand.ExecuteReader(CommandBehavior.CloseConnection)Return result

End Using End Using 

End Using 

Catch SqlEx As OleDbException Throw New Exception(SqlEx.Message.ToString())

End Try 

End Function

Page 127: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 127/186

127

Gambar 4.38

4.5 Membuat Form Customer

Form customer ini berfungsi untuk memanipulasi data customer, dimana digunakan untuk 

menyimpan data customer. Untuk bisa merental DVD kita harus meregistrasi

 peminjam/customer terlebih dahulu. Sebelumnya adalah dengan membuat table customer 

dengan nama T_Cust seperti dibawah.

Field Name Data Type Field size Primary Key

Id_cust AutoNumber 

refer_cust Text 8 PK (*)

first_name Text 50

last_name Text 50

telp Text 15

email Text 50

 join_date Date/Time

address Text 255

 picture Text 50

notes Text 255

status Yes/No

Page 128: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 128/186

128

Tambahkan sebuah form lalu ganti properties seperti dibawah :

 Name F_Customer 

ShowInTaksbar False

Text Add/Edit Customer 

StartPosition CenterScreen

MaximizedBox False

MinimizedBox False

FormBorderStyle FixedSingle

BackColor White

Selanjutnya tambahkan 8 label, 8 textbox, 1 datetimepicker, 1 checkbox, 1 picturebox, 1

groupbox 1 buah panel, 1 OpenFileDialog dan 4 buah button. Lalu gantilah properties control-control diatas seperti berikut :

Textbox1

 Name txtReferCust

Enabled False

Textbox2 

 Name txtFirst

TextBox3 

 Name txtLast

TextBox4 

 Name txtPhone

TextBox5 

 Name txtEmail

Textbox6 

 Name txtAddressMultiLine True

TextBox7 

 Name txtNotes

MultiLine True

Page 129: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 129/186

129

TextBox8 

 Name txtPath

ReadOnly True

GroupBox1

 Name GbDetail

Text Item Detail

Button1

 Name btnSave

Text &Save

Size 84, 38

Button2

 Name btnCancel

Text &Cancel

Size 84, 38

Button3 

 Name btnEdit

Text Edit Picture

Button4 

 Name btnCancelPic

Text Cancel

DateTimePicker1

 Name DtDate

Custom MM/dd/yyyy

Format Custom

CheckBox1

 Name cbStatus

Text Status

PictureBox1

 Name PbImage

OpenFileDialog1

Page 130: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 130/186

130

Namespace EntityPublic Class Customer

Private m_refercust As String Public Property Refer_Cust() As String 

Get Return m_refercust

End Get Set(ByVal value As String)If value = "" Then 

Throw New Exception("Masukkan reference Customer")End If m_refercust = value

End Set End Property 

Private m_firstname As String Public Property First_Name() As String 

Get Return m_firstname

End Get 

Set(ByVal value As String)If value = "" Then 

Throw New Exception("Masukkan First Name")End If m_firstname = value

End Set End Property 

 Name OFD

Dan atur posisi nya seperti gambar dibawah. 

Gambar 4.39

Tambahkan Class pada folder entity dan ubah namanya menjadi Customer, lalu ketikkan sintaks

 berikut pada Class Customer.

Page 131: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 131/186

131

<Extension()>Sub Add(ByVal CustList As List(Of Entity.Customer), ByVal refer_cust As String, ByVal 

firstname As String,ByVal lastname As String, ByVal telp As String, ByVal email As String, ByVal 

joindate As Date,ByVal address As String, ByVal picture As String, ByVal notes As String, ByVal 

status As String)CustList.Add(New Entity.Customer With {.Refer_Cust = refer_cust, .First_Name =

firstname, .Last_Name = lastname,.Telp = telp, .Email = email, .Join_Date =

joindate, .Address = address,

.Picture = picture, .Notes = notes, .Status= status})

End Sub

Lalu buka DVDModule dan ketikkan sintaks dibawah pada Region Extension Method yang kita

 buat sebelumnya.

Lalu buatlah 5 buah query pada database dengan nama masing sebagai berikut :  

usp_SelectCustTop1, usp_selectCustbyRefer, usp_SelectCustList, usp_InsertCustomer,

usp_UpdateCustomer 

Public Property Last_Name() As String

Public Property Telp() As String

Public Property Email() As String

Public Property Join_Date() As Date

Public Property Address() As String

Public Property Picture() As String

Public Property Notes() As String 

Public Property Status() As Boolean 

End Class End Namespace

SELECT TOP 1 t_cust.*

FROM t_cust

ORDER BY t_cust.ID_Cus DESC;

Page 132: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 132/186

132

Serta tambahkan class pada folder AccessData dan ubah namanya menjadi AccessCustomer, lalu

import terlebih dahulu Name Space OleDB (Imports System.Data.OleDb) , selanjutnya buat

 NameSpace AccessData, dan ketikkan sintaks dibawah didalam NameSpace AccessData

SELECT t_cust.*

FROM t_cust

WHERE (((t_cust.refer_cust)=[@refer_cust]))

SELECT t_cust.refer_cust, t_cust.address, t_cust.telp, t_cust.email, t_cust.status, t_cust.first_name,

t_cust.last_name

FROM t_cust

INSERT INTO t_cust ( refer_cust, first_name, last_name, telp, email, join_date, address, picture, notes,

status )

VALUES ([@refer_cust], [@first_name], [@last_name], [@telp], [@email], [@join_date], [@address],

[@picture], [@notes], [@status]);ORDER BY t_cust.ID_Cus;ORDER BY t_cust.ID_Cus;

UPDATE t_cust SET t_cust.first_name = [@first_name], t_cust.last_name = [@last_name], t_cust.telp =

[@telp], t_cust.email = [@email], t_cust.join_date = [@join_date], t_cust.address = [@address],

t_cust.picture = [@picture], t_cust.notes = [@notes], t_cust.status = [@status]

WHERE (((t_cust.refer_cust)=[@refer_cust]));

Public Function CustomerInsert(ByVal Customer As Entity.Customer) As OleDbDataReader Try 

Using connect As New OleDbConnection(My.Settings.DVDConnection)Using mycommand As OleDbCommand = New OleDbCommand("usp_InsertCustomer",

connect)mycommand.CommandType = CommandType.StoredProcedure

DVDModule.AddParameter("@refer_cust", OleDbType.VarChar, 8,Customer.Refer_Cust, mycommand)

DVDModule.AddParameter("@first_name", OleDbType.VarChar, 50,Customer.First_Name, mycommand)

DVDModule.AddParameter("@last_name", OleDbType.VarChar, 50,Customer.Last_Name, mycommand)

DVDModule.AddParameter("@telp", OleDbType.VarChar, 15,Customer.Telp, mycommand)

DVDModule.AddParameter("@email", OleDbType.VarChar, 50,Customer.Email, mycommand)

Page 133: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 133/186

133

DVDModule.AddParameter("@join_date", OleDbType.Date, 0,Customer.Join_Date, mycommand)

DVDModule.AddParameter("@address", OleDbType.VarChar, 255,Customer.Address, mycommand)

DVDModule.AddParameter("@picture", OleDbType.VarChar, 50,Customer.Picture, mycommand)

DVDModule.AddParameter("@notes", OleDbType.VarChar, 255,Customer.Notes, mycommand)

DVDModule.AddParameter("@status", OleDbType.Boolean, 0,Customer.Status, mycommand)

connect.Open()Using result As OleDbDataReader =

mycommand.ExecuteReader(CommandBehavior.CloseConnection)Return result

End Using 

End Using End Using 

Catch SqlEx As OleDbException Throw New Exception(SqlEx.Message.ToString())

End Try 

End Function

Jika pembaca jeli pasti merasa ada perbedaan sintaks fungsi Insert ini dengan insert-inset

sebelumnya. Untuk fungsi ini penulis menggunakan procedure AddParameter yang telah kita

 buat diawal pada module, seperti dibawah.

Selanjutnya kita akan membuat fungsi untuk mengubah data customer seperti dibawah.

Public Sub AddParameter(ByVal Name As String, ByVal Type As OleDbType, _ByVal Size As Integer, ByVal Value As Object, ByVal myCommand As OleDbCommand)Try 

myCommand.Parameters.Add(Name, Type, Size).Value = ValueCatch OleDbExceptionErr As OleDbException 

Throw New System.Exception(OleDbExceptionErr.Message, _OleDbExceptionErr.InnerException)

End Try End Sub

Page 134: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 134/186

134

Selanjutnya kembali pada form Customer, dan buat deklarasi variable class seperti dibawah

Public Function CustomerUpdate(ByVal Customer As Entity.Customer) As OleDbDataReader Try 

Using connect As New OleDbConnection(My.Settings.DVDConnection)Using mycommand As OleDbCommand = New 

OleDbCommand("usp_UpdateCustomer", connect)mycommand.CommandType = CommandType.StoredProcedure

DVDModule.AddParameter("@first_name", OleDbType.VarChar, 50,Customer.First_Name, mycommand)

DVDModule.AddParameter("@last_name", OleDbType.VarChar, 50,Customer.Last_Name, mycommand)

DVDModule.AddParameter("@telp", OleDbType.VarChar, 15,Customer.Telp, mycommand)

DVDModule.AddParameter("@email", OleDbType.VarChar, 50,Customer.Email, mycommand)

DVDModule.AddParameter("@join_date", OleDbType.Date, 0,Customer.Join_Date, mycommand)

DVDModule.AddParameter("@address", OleDbType.VarChar, 255,Customer.Address, mycommand)

DVDModule.AddParameter("@picture", OleDbType.VarChar, 50,

Customer.Picture, mycommand)DVDModule.AddParameter("@notes", OleDbType.VarChar, 255,

Customer.Notes, mycommand)DVDModule.AddParameter("@status", OleDbType.Boolean, 0,

Customer.Status, mycommand)DVDModule.AddParameter("@refer_cust", OleDbType.VarChar, 8,

Customer.Refer_Cust, mycommand)connect.Open()Using result As OleDbDataReader =

mycommand.ExecuteReader(CommandBehavior.CloseConnection)Return result

End Using 

End Using End Using 

Catch SqlEx As OleDbException Throw New Exception(SqlEx.Message.ToString())

End Try 

End Function

#Region "Deklarasi" Protected AccessCustomer As New AccessData.AccessCustomer Dim filenaming As String Dim columns As String() = {}

#End Region

Page 135: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 135/186

135

Lalu kita akan membuat procedure CopyImage, yang berfungsi untuk meng-copy gambar 

customer kedalam folder aplikasi seperti dibawah :

Dan ketikkan sintaks dibawah (procedure clear form)

Untuk field Refer Customer pada aplikasi ini otomatis mengenerate nilai nya begitu kita

membuka Form (Add), untuk membuat nomor otomatis ketikkan sintaks seperti dibawah :

Private Sub CopyImage()If Trim(txtPath.Text) <> Application.StartupPath & "\" & filenaming Then Dim fFile As New IO.FileInfo(Trim(txtPath.Text))

fFile.CopyTo(Application.StartupPath & "\" & filenaming, True)End If

End Sub

Private Sub Clear()Dim C As Control Dim T As TextBox 

For Each C In Me.GbDetail.ControlsIf TypeOf C Is TextBox Then 

T = CType(C, TextBox)If UCase(T.Name) <> UCase("txtReferCust") Then 

T.Text = "" End If 

End If Next txtPath.Text = "" DtDate.Text = NowPbImage.Image = Nothing 

End Sub

Private Function ReferNo() As String Dim CustList As New List(Of Entity.Customer)

DVDModule.FillListWithoutParam(CustList, columns, "usp_SelectCustTop1", _GetType(Entity.Customer))

If CustList.Count = 0 Then txtReferCust.Text = "C0000001" 

Else txtReferCust.Text = "C" &

Format(Val(CInt(Microsoft.VisualBasic.Right( CustList.First.Refer_Cust, _CustList.First.Refer_Cust.Length - 1)) + 1), "0000000")

End If 

Return txtReferCust.Text

End Function

Page 136: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 136/186

136

Dan selanjutnya adalah membuat procedure View Data Customer seperti dibawah

Klik ganda button Cancel dan ketikkan sintaks dibawah.

Selanjutnya klik ganda button CancelPicture, dimana berfungsi untuk menghapus gambar dari

 picture box. Ketikkan sintaks dibawah

Private Sub ViewCustomer()

Dim CustList As New List(Of Entity.Customer)Dim Coltype As System.Data.OleDb.OleDbType() =

{System.Data.OleDb.OleDbType.VarChar}

Dim FieldName As String() = {"@refer_Cust"}Dim Size As Integer() = {8}Dim Value As String() = {txtReferCust.Text}

DVDModule.FillListWithParam(CustList, columns, "usp_selectCustbyRefer", _GetType(Entity.Customer),

FieldName, _Coltype, Size, Value)

txtReferCust.Text = CustList.First.Refer_CusttxtFirst.Text = CustList.First.First_NametxtLast.Text = CustList.First.Last_NameDtDate.Text = CustList.First.Join_DatetxtPhone.Text = CustList.First.TelptxtEmail.Text = CustList.First.EmailtxtAddress.Text = CustList.First.AddresstxtNotes.Text = CustList.First.NotesIf CustList.First.Picture <> "" Then 

txtPath.Text = Application.StartupPath & "\" & CustList.First.PictureDim fsImage As New System.IO.FileStream(txtPath.Text, IO.FileMode.Open,

IO.FileAccess.Read)Dim MyImage As Image = Image.FromStream(fsImage)PbImage.Image = MyImagefsImage.Close()fsImage.Dispose()

End If CbStatus.Checked = If(CustList.First.Status = "True", True, False)

End Sub

If Operate = "Add" Then Clear()

Else Operate = Nothing Me.Close()

End If

txtPath.Text = "" PbImage.Image = Nothing

Page 137: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 137/186

137

Lalu klik ganda button Edit, dan ketikkan sintaks berikut :

Sintaks diatas digunakan untuk menampilkan gambar pada Picture Box. Selanjutnya pada

F_Customer_Load event handler ketikkan sintaks berikut :

Jika Operate = Add, maka secara otomatis aplikasi menggenerate field refer customer no.

Selanjutnya pada event handler F_Customer_Closing ketikkan sintaks berikut Operate =

Nothing

Dan terakhir klik ganda button Save lalu ketikkan sintaks dibawah ini :

Try 'Filter file extension OFD.Filter = "Image Files (*.JPEG, *.jpg, *.bmp, *.gif, *.png)|*.JPEG; *.jpg;

*.bmp; *.gif; *.png" If OFD.ShowDialog = Windows.Forms.DialogResult.OK Then 

txtPath.Text = OFD.FileNameDim fsImage As New System.IO.FileStream(txtPath.Text, IO.FileMode.Open,

IO.FileAccess.Read)Dim MyImage As Image = Image.FromStream(fsImage)PbImage.Image = MyImagefsImage.Close()fsImage.Dispose()

End If Catch ex As Exception 

MsgBox(ex.Message, MsgBoxStyle.Exclamation, "DVD Rental")End Try

Try PbImage.SizeMode = PictureBoxSizeMode.StretchImageIf Operate = "Add" Then 

ReferNo()CbStatus.Checked = True CbStatus.Visible = False 

Else CbStatus.Visible = True ViewCustomer()

End If Catch ex As Exception MsgBox(ex.Message, MsgBoxStyle.Exclamation, "DVD Rental")

End Try

Try filenaming = "" If txtPath.Text <> "" Then filenaming = txtReferCust.Text &

(Mid(txtPath.Text, InStrRev(txtPath.Text, "."), Len(txtPath.Text)))Dim Customer As New Entity.Customer With {.Refer_Cust = txtReferCust.Text,.First_Name = txtFirst.Text, .Last_Name = txtLast.Text, .Telp =

txtPhone.Text,.Email = txtEmail.Text, .Join_Date = DtDate.Text,.Address = txtAddress.Text, .Picture = filenaming,.Notes = txtNotes.Text, .Status = If(CbStatus.Checked = True, True,

False)}

Page 138: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 138/186

138

Selanjutnya buka F_Main (Main Menu), menu strip Data >Customer > Add, ketikkan sintaks

dibawah.

Dan jalankan program, buka form customer dan masukkan data seperti pada gambar dibawah.

Gambar 4.40

Dim mYes_No As String = MsgBox("Apakah kamu ingin menyimpan data ?", vbYesNo,"DVD Rental")

If mYes_No = vbYes Then If Operate = "Add" Then 

AccessCustomer.CustomerInsert(Customer)If txtPath.Text <> "" Then CopyImage()Clear()ReferNo()

Else AccessCustomer.CustomerUpdate(Customer)If txtPath.Text <> "" Then CopyImage()MsgBox("Update Selesai", MsgBoxStyle.Information, "DVD Rental")

End If End If 

Catch ex As Exception MsgBox(ex.Message, MsgBoxStyle.Exclamation, "DVD Rental")

End Try

Operate = "Add" Dim frm_cust As New F_Customer frm_cust.ShowDialog()Operate = Nothing

Page 139: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 139/186

139

Untuk mengubah data customer, penulis tidak akan menjelaskan nya lagi, para pembaca bisa

melihat dari Form User, bagaimana logic untuk mengubah data. Yaitu dengan membuat form

Customer Box dan Customer List. Untuk lebih jelasnya bisa melihat project yang disertakan

 pada buku ini.

Gambar 4.41

Gambar 4.42

Page 140: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 140/186

140

4.6 Membuat Form DVD

Form ini digunakan untuk memanipulasi data DVD yang ada pada rental, banyak table yang

 berelasi dengan table DVD, seperti table T_Group dan T_Genre. Oleh karena itu setelah

membuat table DVD (T_DVD). Pertama-tama yang kita lakukan adalah dengan membuat

table T_DVD.

Field Name Data Type Field size Primary Key

id_cust AutoNumber 

refer_no Text 7 PK (*)

title Text 25

genre_id Text 4 FK 

director Text 50

release_date Date/Time

language Text 15

runtime Number Integer 

group_id Text 4 FK 

synopsis Memo

actors Text 255

Picture Text 50

status Yes/No

Masih pada jendela MS Access, buka jendela Relationships (Database Tools > Relationships)

lalu tambahkan table T_DVD, T_Genre dan T_Group. Selanjutnya Drag field genre_id

(t_DVD) pada table t_genre (field genre_id), maka akan muncul tampilan Edit Relationships,

dan klik OK. Lakukan hal yang sama pada field group_id pada table T_DVD dengan table

T_Group (group_id). Maka kita akan memilki diagram relationships seperti dibawah.

Page 141: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 141/186

141

Gambar 4.43

Tambahkan sebuah form lalu ganti properties seperti dibawah :

 Name F_DVD

ShowInTaksbar False

Text Add/Edit DVD

StartPosition CenterScreen

MaximizedBox False

MinimizedBox FalseFormBorderStyle FixedSingle

BackColor White

Selanjutnya tambahkan 15 label, 11 textbox, 1 datetimepicker, 2 ComboBox, 1 picturebox, 1

groupbox 1 buah panel, 1 OpenFileDialog dan 4 buah button. Lalu gantilah properties control-

control diatas seperti berikut :

Textbox1

 Name txtReferNo

Enabled False

Textbox2 

 Name txtTitle

TextBox3 

Page 142: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 142/186

142

 Name txtDirector 

TextBox4 

 Name txtActor 

TextBox5 

 Name txtLanguage

Textbox6 

 Name txtRun

TextBox7 

 Name txtRental

TextBox8 

 Name txtPrice

TextBox9 

 Name txtFee

TextBox10 

 Name txtSinopsis

Multiline True

TextBox10 

 Name txtRental

TextBox11 

 Name txtPath

ReadOnly True

GroupBox1

 Name GbDetail

Text Item Detail

Button1

 Name btnSave

Text &Save

Size 84, 38

Button2

 Name btnCancel

Page 143: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 143/186

143

Text &Cancel

Size 84, 38

Button3 

 Name btnEdit

Text Edit Picture

Button4 

 Name btnCancelPic

Text Cancel

DateTimePicker1

 Name DtDate

Custom MM/dd/yyyy

Format Custom

ComboBox1

 Name CbGroup

DropDownStyle DropDownList

ComboBox2

 Name CbGenre

DropDownStyle DropDownList

PictureBox1

 Name PbImage

OpenFileDialog1

 Name OFD

Dan atur posisi nya seperti gambar dibawah. 

Page 144: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 144/186

144

Namespace EntityPublic Class DVD 

Private m_referno As String Public Property Refer_No() As String 

Get Return m_referno

End Get 

Set(ByVal value As String)If value = "" Then 

Throw New Exception("Masukkan reference no")End If m_referno = value

End Set End Property

Gambar 4.44

Tambahkan Class pada folder entity dan ubah namanya menjadi Customer, lalu ketikkan sintaks

 berikut pada Class Customer.

Page 145: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 145/186

145

Private m_title As String Public Property Title() As String 

Get Return m_title

End Get Set(ByVal value As String)

If value = "" Then Throw New Exception("Masukkan Title DVD")

End If m_title = value

End Set End Property 

Public Property Genre As New Entity.Genre 

Public Property Director() As String 

Public Property Release_Date() As Date 

Public Property Language() As String 

Private m_runtime As Int16 Public Property RunTime() As Int16 

Get Return m_runtime

End Get Set(ByVal value As Int16)

If value.ToString = "" Then Throw New Exception("Masukkan Nilai Run Time DVD")

End If m_runtime = value

End Set End Property 

Private m_group As New Entity.Group Public Property Group() As New Entity.Group 

Public Property Synopsis() As String 

Public Property Actors() As String 

Public Property Picture() As String 

Public Property Status() As Boolean 

End Class End Namespace

Lalu buka DVDModule dan ketikkan sintaks dibawah pada Region Extension Method yang kita

 buat sebelumnya.

Page 146: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 146/186

146

<Extension()> _Sub Add(ByVal LstDVD As List(Of Entity.DVD), ByVal Refer_No As String,

ByVal Title As String,ByVal Genre_ID As String, ByVal Genre_Name As String, ByVal Director As 

String,ByVal Release_Date As Date, ByVal Language As String, ByVal RunTime As Int16,ByVal Group_ID As String, ByVal Group_Name As String, ByVal Days As Int16,ByVal Price As Decimal, ByVal Fee As Decimal, ByVal Synopsis As String,ByVal Actors As String, ByVal Picture As String, ByVal Status As Boolean)

LstDVD.Add(New Entity.DVD With {.Refer_No = Refer_No, .Title = Title,.Genre = New Entity.Genre With {.Genre_ID =

Genre_ID,.Genre_Name = Genre_Name}, .Director = Director,

.Release_Date = Release_Date,.Language = Language, .RunTime = RunTime, .Group =

New Entity.Group With {.Group_ID = Group_ID,.Group_Name = Group_Name, .Days = Days, .Price =

Price, .Fee = Fee}, .Synopsis = Synopsis,.Actors = Actors, .Picture = Picture, .Status =

Status})

End Sub 

Lalu buatlah 5 buah query pada database dengan nama masing sebagai berikut :  

usp_selectDVDtop1, usp_InsertDVD, usp_UpdateDVD, usp_UpdateDVDStatus,

usp_selectDVDbyRefer, usp_SelectDVDList

SELECT TOP 1 t_dvd.*

FROM t_dvd

ORDER BY t_dvd.id DESC;

INSERT INTO t_dvd ( refer_no, title, genre_id, director, release_date, [language], runtime, group_id,

synopsis, actors, picture, status )

VALUES ([@refer_no], [@title], [@genre_id], [@director], [@release_date], [@language], [@runtime],

[@group_id], [@synopsis], [@actors], [@picture], [@status]);

UPDATE t_dvd SET t_dvd.title = [@title], t_dvd.genre_id = [@genre_id], t_dvd.director = [@direcor],

t_dvd.release_date = [@release_date], t_dvd.[language] = [@language], t_dvd.runtime = [@runtime],

t_dvd.group_id = [@group_id], t_dvd.synopsis = [@synopsis], t_dvd.actors = [@actors], t_dvd.picture =

[@picture]

WHERE (((t_dvd.refer_no)=[@refer_no]));

Page 147: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 147/186

147

Serta tambahkan class pada folder AccessData dan ubah namanya menjadi AccessCDVD, lalu

import terlebih dahulu Name Space OleDB (Imports System.Data.OleDb) , selanjutnya buat

 NameSpace AccessData, dan ketikkan sintaks dibawah didalam NameSpace AccessData

UPDATE t_dvd SET t_dvd.status = [@status]

WHERE (((t_dvd.refer_no)=[@refer_no]));

SELECT t_dvd.*, t_group.group_name, t_group.days, t_group.price, t_group.fee, t_genre.genre_name

FROM t_genre INNER JOIN (t_group INNER JOIN t_dvd ON t_group.group_id = t_dvd.group_id) ON

t_genre.genre_id = t_dvd.genre_id

WHERE (((t_dvd.refer_no)=[@refer_no]));

SELECT t_dvd.refer_no, t_dvd.title, t_dvd.actors, t_dvd.director, t_dvd.status, t_dvd.language,

t_dvd.status

FROM t_dvd

ORDER BY t_dvd.refer_no;

Public Function DVDInsert(ByVal DVD As Entity.DVD) As OleDbDataReader Try 

Using connect As New OleDbConnection(My.Settings.DVDConnection)Using mycommand As OleDbCommand = New OleDbCommand("usp_InsertDVD",

connect)mycommand.CommandType = CommandType.StoredProcedure

DVDModule.AddParameter("@refer_no", OleDbType.VarChar, 7,DVD.Refer_No, mycommand)

DVDModule.AddParameter("@Title", OleDbType.VarChar, 25,DVD.Title, mycommand)

DVDModule.AddParameter("@genre_id", OleDbType.VarChar, 4,DVD.Genre.Genre_ID, mycommand)

DVDModule.AddParameter("@director", OleDbType.VarChar, 50,DVD.Director, mycommand)

DVDModule.AddParameter("@release_date", OleDbType.Date, 0,DVD.Release_Date, mycommand)

DVDModule.AddParameter("@language", OleDbType.VarChar, 15,DVD.Language, mycommand)DVDModule.AddParameter("@runtime", OleDbType.Integer, 0,

DVD.RunTime, mycommand)DVDModule.AddParameter("@group_id", OleDbType.VarChar, 4,

DVD.Group.Group_ID, mycommand)DVDModule.AddParameter("@synopsis", OleDbType.VarChar, 1000,

DVD.Synopsis, mycommand)

Page 148: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 148/186

148

DVDModule.AddParameter("@actors", OleDbType.VarChar, 255, DVD.Actors, mycommand)DVDModule.AddParameter("@picture", OleDbType.VarChar, 50,

DVD.Picture, mycommand)DVDModule.AddParameter("@status", OleDbType.Boolean, 0,

DVD.Status, mycommand)

connect.Open()Using result As OleDbDataReader =mycommand.ExecuteReader(CommandBehavior.CloseConnection)

Return resultEnd Using 

End Using End Using 

Catch SqlEx As OleDbException Throw New Exception(SqlEx.Message.ToString())

End Try 

End Function

Public Function DVDUpdate(ByVal DVD As Entity.DVD) As OleDbDataReader Try 

Using connect As New OleDbConnection(My.Settings.DVDConnection)Using mycommand As OleDbCommand = New OleDbCommand("usp_UpdateDVD",

connect)mycommand.CommandType = CommandType.StoredProcedure

DVDModule.AddParameter("@Title", OleDbType.VarChar, 25,DVD.Title, mycommand)

DVDModule.AddParameter("@genre_id", OleDbType.VarChar, 4,DVD.Genre.Genre_ID, mycommand)

DVDModule.AddParameter("@director", OleDbType.VarChar, 50,DVD.Director, mycommand)

DVDModule.AddParameter("@release_date", OleDbType.Date, 0,DVD.Release_Date, mycommand)

DVDModule.AddParameter("@language", OleDbType.VarChar, 15,DVD.Language, mycommand)

DVDModule.AddParameter("@runtime", OleDbType.Integer, 0,DVD.RunTime, mycommand)

DVDModule.AddParameter("@group_id", OleDbType.VarChar, 4,DVD.Group.Group_ID, mycommand)

DVDModule.AddParameter("@synopsis", OleDbType.VarChar, 1000,DVD.Synopsis, mycommand)

DVDModule.AddParameter("@actors", OleDbType.VarChar, 255,DVD.Actors, mycommand)

DVDModule.AddParameter("@picture", OleDbType.VarChar, 50,DVD.Picture, mycommand)

DVDModule.AddParameter("@refer_no", OleDbType.VarChar, 7,DVD.Refer_No, mycommand)

Page 149: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 149/186

149

connect.Open()Using result As OleDbDataReader =

mycommand.ExecuteReader(CommandBehavior.CloseConnection)Return result

End Using 

End Using 

End Using 

Catch SqlEx As OleDbException Throw New Exception(SqlEx.Message.ToString())

End Try 

End Function

Public Function DVDStatusUpdate(ByVal DVD As Entity.DVD) As OleDbDataReader Try 

Using connect As New OleDbConnection(My.Settings.DVDConnection)Using mycommand As OleDbCommand = New 

OleDbCommand("usp_UpdateDVDStatus", connect)mycommand.CommandType = CommandType.StoredProcedure

DVDModule.AddParameter("@status", OleDbType.Boolean, 0,DVD.Status, mycommand)

DVDModule.AddParameter("@refer_no", OleDbType.VarChar, 7,DVD.Refer_No, mycommand)

connect.Open()Using result As OleDbDataReader =

mycommand.ExecuteReader(CommandBehavior.CloseConnection)Return result

End Using 

End Using End Using 

Catch SqlEx As OleDbException Throw New Exception(SqlEx.Message.ToString())

End Try 

End Function

Public Function FindDVDByRefer(ByVal ReferNo As String) As IEnumerable(Of Entity.DVD)

Dim DVD As New List(Of Entity.DVD)()

Try Using connect As New OleDbConnection(My.Settings.DVDConnection)Using mycommand As OleDbCommand = New 

OleDbCommand("usp_selectDVDbyRefer", connect)mycommand.CommandType = CommandType.StoredProceduremycommand.Parameters.Add("@refer_No", OleDbType.VarChar).Value

= ReferNoconnect.Open()

Page 150: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 150/186

150

Dengan mengetikkan sintaks diatas kita telah membuat beberapa fungsi, seperti insert, update,

update dvd status maupun view data DVD. Sekarang kembali pada form DVD, pertama-tama

adalah buat variable class seperti dibawah.

Selanjutnya buat procedure untuk menampilkan data Group dan Genre pada masing-masing

ComboBox, seperti dibawah.

Using rdr As OleDbDataReader = mycommand.ExecuteReaderWhile rdr.Read

DVD.Add(rdr("refer_no").ToString(), _rdr("title").ToString(), _rdr("genre_id").ToString(), _rdr("genre_name").ToString(), _rdr("director").ToString(),

rdr("release_date").ToString(), _rdr("language").ToString(), rdr("runtime").ToString(), _rdr("group_id").ToString(), _rdr("group_name").ToString(), _rdr("days").ToString(), rdr("price").ToString(),

rdr("fee").ToString(), _rdr("synopsis").ToString(), rdr("actors").ToString(), _rdr("picture").ToString(), rdr("status").ToString())

End While End Using 

End Using End Using 

Catch sqlex As OleDbException Throw New Exception(sqlex.Message.ToString())

End Try Return DVD

End Function

#Region "Deklarasi" 

Protected AccessDVD As New AccessData.AccessDVD Dim columns As String() = {}Dim filenaming As String 

#End Region

Private Sub SortCbGenre()Dim GenreList As New List(Of Entity.Genre) From {{"G00", "- Choice -"}}DVDModule.FillListWithoutParam(GenreList, columns, "usp_SelectGenre", _

GetType(Entity.Genre))

CbGenre.DataSource = GenreListCbGenre.DisplayMember = "Genre_Name" CbGenre.ValueMember = "Genre_ID" 

End Sub

Page 151: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 151/186

151

Lalu ketik sintaks untuk meng-copy gambar seperti dibawah

Seperti pada form customer untuk form ini juga kita membuat auto number untuk field Refer No,

sintaks nya seperti dibawah

Private Sub SortCbGroup()Dim GroupList As New List(Of Entity.Group) From {{"GR00", "- Choice -", 0, 0, 0}}DVDModule.FillListWithoutParam(GroupList, columns, "usp_SelectGroup", _

GetType(Entity.Group))CbGroup.DataSource = GroupListCbGroup.DisplayMember = "Group_Name" 

CbGroup.ValueMember = "Group_ID" End Sub

Private Sub CopyImage()If Trim(txtPath.Text) <> Application.StartupPath & "\" & filenaming Then 

Dim fFile As New IO.FileInfo(Trim(txtPath.Text))fFile.CopyTo(Application.StartupPath & "\" & filenaming, True)

End IfEnd Sub

Private Function ReferNo() As String Dim DVDList As New List(Of Entity.DVD)DVDModule.FillListWithoutParam(DVDList, columns, "usp_selectDVDtop1", _

GetType(Entity.DVD))If DVDList.Count = 0 Then 

txtReferNo.Text = "0000001" Else 

txtReferNo.Text = Format(Val(CInt(DVDList.First.Refer_No) + 1), "0000000")End If 

Return txtReferNo.Text

End Function

Private Sub Clear()Dim C As Control Dim T As TextBox For Each C In Me.GbDetail.Controls

If TypeOf C Is TextBox Then T = CType(C, TextBox)If UCase(T.Name) <> UCase("txtReferNo") Then 

T.Text = "" End If 

End If Next 

lblStatus.Text = "" txtPath.Text = "" txtRun.Text = "0" DtDate.Text = NowCbGenre.SelectedIndex = 0CbGroup.SelectedIndex = 0PbImage.Image = Nothing 

End Sub

Page 152: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 152/186

152

Dan terakhir adalah dengan membuat procedure untuk menampilkan data DVD pada form,

dengan sintaks seperti dibawah.

Klik ganda pada form, dan ketikkan sintaks dibawah

Private Sub ViewDVD()Dim i As Integer 

Dim DVDlist As List(Of Entity.DVD) = AccessDVD.FindDVDByRefer(txtReferNo.Text)

txtReferNo.Text = DVDlist.First.Refer_NotxtTitle.Text = DVDlist.First.TitletxtDirector.Text = DVDlist.First.DirectorDtDate.Text = DVDlist.First.Release_DatetxtActor.Text = DVDlist.First.ActorstxtLanguage.Text = DVDlist.First.LanguagetxtRun.Text = DVDlist.First.RunTimetxtSinopsis.Text = DVDlist.First.SynopsistxtRental.Text = DVDlist.First.Group.DaystxtPrice.Text = DVDlist.First.Group.Pricetxtfee.Text = DVDlist.First.Group.Feei = CbGroup.FindStringExact(DVDlist.First.Group.Group_Name)

CbGroup.SelectedIndex = ii = CbGenre.FindStringExact(DVDlist.First.Genre.Genre_Name)CbGenre.SelectedIndex = iIf DVDlist.First.Picture <> "" Then 

txtPath.Text = Application.StartupPath & "\" & DVDlist.First.PictureDim fsImage As New System.IO.FileStream(txtPath.Text, IO.FileMode.Open,

IO.FileAccess.Read)Dim MyImage As Image = Image.FromStream(fsImage)PbImage.Image = MyImagefsImage.Close()fsImage.Dispose()

End If 

lblStatus.Text = If(DVDlist.First.Status = "True", "Available", "Not Available")

End Sub

Try PbImage.SizeMode = PictureBoxSizeMode.StretchImageSortCbGroup()SortCbGenre()

If Operate = "Add" Then ReferNo()Else 

ViewDVD()End If 

Catch ex As Exception MsgBox(ex.Message, MsgBoxStyle.Exclamation, "DVD Rental")

End Try

Page 153: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 153/186

153

Lalu pada event handler CbGroup_SelectedIndexChanged ketikkan sintaks dibawah ini, sintaks

 berikut berfungsi jika pada saat pengguna memilih data pada CbGroup maka aplikasi

menampilkan detail dari group, seperti Rental Days, Price.

Klik ganda button cancel dan ketik seperti dibawah.

Lalu untuk menampilkan gambar pada PictureBox kli ganda pada button Edit, dan ketikkan

sintaks seperti dibawah.

If CbGroup.SelectedIndex = 0 Then Exit Sub 

Try Dim GroupList As New List(Of Entity.Group)DVDModule.FillListWithoutParam(GroupList, columns, "usp_selectgroup", _

GetType(Entity.Group))Dim group = (From grp In GroupList

Where grp.Group_ID.Equals(CbGroup.SelectedValue)).Single

txtRental.Text = group.Daystxtfee.Text = group.FeetxtPrice.Text = group.Price

Catch ex As Exception MsgBox(ex.Message, MsgBoxStyle.Exclamation, "DVD Rental")

End Try

If Operate = "Add" Then Clear()

Else Operate = Nothing Me.Close()

End If

Try 'Filter file extension OFD.Filter = "Image Files (*.JPEG, *.jpg, *.bmp, *.gif, *.png)|*.JPEG; *.jpg;

*.bmp; *.gif; *.png" If OFD.ShowDialog = Windows.Forms.DialogResult.OK Then 

txtPath.Text = OFD.FileNameDim fsImage As New System.IO.FileStream(txtPath.Text, IO.FileMode.Open,

IO.FileAccess.Read)Dim MyImage As Image = Image.FromStream(fsImage)PbImage.Image = MyImage

fsImage.Close()fsImage.Dispose()

End If Catch ex As Exception 

MsgBox(ex.Message, MsgBoxStyle.Exclamation, "DVD Rental")End Try

Page 154: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 154/186

154

Sedangkan untuk menghilangkan gambar pada PictureBox, klik ganda button Cancel, dan

ketikkan sintaks seperti dibawah :

Pada event handler txtRun_Keypress ketikkan sintaks dibawah ini.

Selanjutnya untuk klik ganda button Save untuk menyimpan data.

txtPath.Text = "" PbImage.Image = Nothing

Try If Not ((e.KeyChar >= "0" And e.KeyChar <= "9") Or e.KeyChar = vbBack) Then 

e.Handled() = True End If 

Catch ex As Exception MsgBox(ex.Message)

End Try

Try If CbGenre.SelectedIndex = 0 OrElse CbGroup.SelectedIndex = 0 Then 

MsgBox("Pilih Group atau genre DVD terlebih dahulu",MsgBoxStyle.Information, "DVD Rental")

Exit Sub End If filenaming = "" If txtPath.Text <> "" Then filenaming = txtReferNo.Text &

(Mid(txtPath.Text, InStrRev(txtPath.Text, "."), Len(txtPath.Text)))

Dim DVD As New Entity.DVD With {.Refer_No = txtReferNo.Text, .Title =txtTitle.Text, _

.Genre = New Entity.Genre With {.Genre_ID =CbGenre.SelectedValue}, _

.Director = txtDirector.Text, .Release_Date =DtDate.Text, _

.Language = txtLanguage.Text, .RunTime =txtRun.Text, _

.Group = New Entity.Group With {.Group_ID =CbGroup.SelectedValue}, _

.Synopsis = txtSinopsis.Text, .Actors =txtActor.Text, _

.Picture = filenaming, .Status = True}Dim mYes_No As String = MsgBox("Apakah kamu ingin menyimpan data ?", vbYesNo, "DVD

Rental")If mYes_No = vbYes Then 

If Operate = "Add" Then AccessDVD.DVDInsert(DVD)If txtPath.Text <> "" Then CopyImage()Clear()ReferNo()

Else

Page 155: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 155/186

155

Selanjutnya pada event handler F_DVD_Closing ketikkan sintaks dibawah ini :

Buka F_Main (Main Menu) pada MenuStrip Data > DVD > Add , klik ganda dan ketikkan

sintaks dibawah :

Jalankan program dan buka form DVD, lalu masukkan data-data yang ada pada form dan

simpan, apakah berjalan dengan benar. Untuk proses update dan List DVD, bisa dilihat pada

 project yang disertakan pada buku, sebagai latihan para pembaca. Penulis harap para pembaca

 bisa menyelesaikan dengan baik.

Else AccessDVD.DVDUpdate(DVD)If txtPath.Text <> "" Then CopyImage()MsgBox("Update Selesai", MsgBoxStyle.Information, "DVD Rental")

End If End If 

Catch ex As Exception MsgBox(ex.Message, MsgBoxStyle.Exclamation, "DVD Rental")End Try

Operate = Nothing

Try 

Operate = "Add" Dim frm_dvd As New F_DVD frm_dvd.ShowDialog()Operate = Nothing 

Catch ex As Exception MsgBox(ex.Message)

End Try

Page 156: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 156/186

156

Gambar 4.45

Gambar 4.46

Gambar 4.47

Page 157: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 157/186

157

Jika sudah selesai dengan Form DVD selanjutnya buka F_Main (Main Menu), buka jendela

Code, buat variable Class seperti dibawah :

Ketikkan 2 prosedure dibawah yang berfungsi untuk menampilkan data pada DgView.

#Region "Deklarasi" Dim DVDList As New List(Of Entity.DVD)

#End Region

Private Sub ListDVD()Try 

Dim columns As String() = {"Refer_No", "Title", "Actors", "Director","Language", "Status"}

DVDModule.FillListWithoutParam(DVDList, columns, "usp_SelectDVDList", _GetType(Entity.DVD))

FormatGridWithBothTableAndColumnStyles()DgView.DataSource = DVDList

Catch ex As Exception MsgBox(ex.Message, MsgBoxStyle.Information, "DVD Rental")

End Try End Sub

Private Sub FormatGridWithBothTableAndColumnStyles()Me.DgView.DefaultCellStyle.ForeColor = Color.NavyMe.DgView.RowsDefaultCellStyle.BackColor = Color.AliceBlueMe.DgView.GridColor = Color.BlueMe.DgView.BorderStyle = BorderStyle.Fixed3DMe.DgView.RowHeadersBorderStyle = BorderStyle.Fixed3D

DgView.AutoGenerateColumns = False 

Dim ReferColumn As New DataGridViewTextBoxColumn()

ReferColumn.DataPropertyName = "Refer_no" ReferColumn.HeaderText = "Refer No" ReferColumn.Width = 80

Dim TitleColumn As New DataGridViewTextBoxColumn()TitleColumn.DataPropertyName = "Title" TitleColumn.HeaderText = "Title" TitleColumn.Width = 150

Dim ActColumn As New DataGridViewTextBoxColumn()ActColumn.DataPropertyName = "Actors" ActColumn.HeaderText = "Actors" ActColumn.Width = 150

Dim DirecColumn As New DataGridViewTextBoxColumn()DirecColumn.DataPropertyName = "Director" DirecColumn.HeaderText = "Director" DirecColumn.Width = 150

Dim LangColumn As New DataGridViewTextBoxColumn()LangColumn.DataPropertyName = "Language" LangColumn.HeaderText = "Language" LangColumn.Width = 150

Page 158: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 158/186

158

Dim StatusColumn As New DataGridViewTextBoxColumn()StatusColumn.DataPropertyName = "status" StatusColumn.HeaderText = "Status" StatusColumn.Width = 80

DgView.Columns.Add(ReferColumn)

DgView.Columns.Add(TitleColumn)DgView.Columns.Add(ActColumn)DgView.Columns.Add(DirecColumn)DgView.Columns.Add(LangColumn)DgView.Columns.Add(StatusColumn)

End Sub

Dan tambahkan sintaks berikut pada event handler F_Main_Load

Dan jalankan program, maka tampilan pada Main Menu akan seperti gambar dibawah.

Gambar 4.48

ListDVD

Page 159: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 159/186

159

4.7 Membuat Form Rental DVD

Form ini merupakan form dimana yang paling sering di gunakan, berfungsi untuk 

menyimpan data peminjaman DVD. Pada form ini kita membutuhkan 2 table untuk 

menyimpan data peminjaman, ikuti langkah-langah dibawah untuk membuat table-table yang

dibutuhkan. Pertama adalah dengan membuat table t_totalrental dengan field-field seperti

dibwah.

Field Name Data Type Field size Primary Key

R_ID AutoNumber 

Ren_ID Text 14 PK (*)

Refer_cust Text 8 FK 

Ren_date Date/Time

Tot_fee Currency

 Nor_cost Currency

Tot_cost Currency

Selanjutnya adalah membuat table t_detailrental, dimana satu Ren_ID (t_totalrental) bisa

memiki banyak rental detail, dengan field-field seperti dibawah.

Field Name Data Type Field size Primary Key

Ren_ID Text 14 PK (*)

 Nos Number integer FK 

Refer_no Text 7

Ret_date Date/Time

Late Number Integer 

Cost_fee Currency

Cost_normal Currency

return Yes/No

Page 160: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 160/186

160

Pada jendela MS Access, buka jendela Relationships (Database Tools > Relationships) lalu

tambahkan table T_cust, T_totalrental dan T_detailrental. Selanjutnya Drag field refer_cust

(t_totalrental) pada table t_cust (field refer_cust), maka akan muncul tampilan Edit

Relationships, dan klik OK. Lakukan hal yang sama pada field refer_no pada table

T_detailrental dengan table T_DVD (refer_no). Maka kita akan memilki diagram

relationships seperti dibawah.

Gambar 4.49

Langkah berikutnya adalah membuat Query usp_SelectRenMasterTop1, usp_InsertTotal,

usp_InsertDetail, usp_UpdateDVDStatus. Dengan sintaks SQL nya seperti dibawah.

SELECT TOP 1 t_totalrental.*

FROM t_totalrental WHERE (((t_totalrental.ren_date)=Date())) ORDER BY

t_totalrental.R_ID DESC;

INSERT INTO t_totalrental ( ren_id, refer_cust, ren_date, nor_cost, tot_cost,

tot_fee )

VALUES ([@ren_id], [@refer_cust], [@ren_date], [@nor_cost], [@tot_cost], 0);

INSERT INTO t_totalrental ( ren_id, refer_cust, ren_date, nor_cost, tot_cost,

tot_fee )

VALUES ([@ren_id], [@refer_cust], [@ren_date], [@nor_cost], [@tot_cost], 0);

Page 161: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 161/186

161

Selanjutnya pada project kita (DVD Rental), tambahkan sebuah form dan ubah properties

nya seperti dibawah.

 Name F_Rental

ShowInTaksbar False

Text Add Rental

StartPosition CenterScreen

MaximizedBox False

MinimizedBox False

FormBorderStyle FixedSingle

BackColor White

Selanjutnya tambahkan control-control seperti dibawah:

6 textbox, 4 button, 1 PictureBox, 1 GroupBox, 1ListView, 1 Tooltip dan 6 Label. Lalu

susun control seperti dibawah dan ubah properties seperti dibawah :

Gambar 4.50

INSERT INTO t_detailrental ( ren_id, nos, refer_no, cost_normal, cost_fee )

VALUES ([@ren_id], [@nos], [@refer_no], [@cost_normal], 0);

UPDATE t_dvd SET t_dvd.status = [@status]

WHERE (((t_dvd.refer_no)=[@refer_no]));

Page 162: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 162/186

162

Textbox1

 Name txtReferCust

Enabled False

Textbox2 

 Name txtFirst

Enabled False

TextBox3 

 Name txtLast

Enabled False

TextBox4 

 Name txtPhone

Enabled False

TextBox5 

 Name txtrefer_no

TextBox6 

 Name txtTotal

BackColor Black 

ForeColor Chartreuse

GroupBox1

 Name GbCustomer 

Text Customer Detail

Button1

 Name btnAdd

Text Add

Button2

 Name btnRemove

Text Remove

Button3 

 Name btnSave

Text &Save

Page 163: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 163/186

163

Button4 

 Name btnCancel

Text &Cancel

PictureBox1 

 Name Pbmage

SizeMode StretchImage

ListView1 

 Name LsvDVD

FullrowSelect True

GridLines True

View Details

Lalu pada LsvDVD pada properties “Columns” klik tand “…” lalu akan muncul form seperti

dibawah.

Gambar 4.51

Selanjutnya klik button “Add” dan ubah properties “Text” menjadi Refer No, lakukan hal diatas

untuk menambah kolom (Title, Price dan Days).

Masuk pada jendel code lalu buat variable seperti dibawah

Page 164: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 164/186

164

#Region "Deklarasi" Dim AccessDVD As New AccessData.AccessDVD Dim AccessRenMaster As New AccessData.AccessRentalMaster Dim AccessRenDetail As New AccessData.AccessRentalDetail Dim columns As String() = {}

#End Region

Private Sub ViewCustomer()Dim CustList As New List(Of Entity.Customer)Dim Coltype As System.Data.OleDb.OleDbType() = {System.Data.OleDb.OleDbType.VarChar}Dim FieldName As String() = {"@refer_Cust"}Dim Size As Integer() = {8}Dim Value As String() = {txtReferCust.Text}

DVDModule.FillListWithParam(CustList, columns, "usp_selectCustbyRefer", _GetType(Entity.Customer),

FieldName, _Coltype, Size, Value)

If CustList.Count = 0 Then MsgBox("Reference No yang dicari salah atau tidak ada")Exit Sub 

End IftxtReferCust.Text = CustList.First.Refer_CusttxtFirst.Text = CustList.First.First_NametxtLast.Text = CustList.First.Last_NametxtPhone.Text = CustList.First.Telp

If CustList.First.Picture <> "" Then PbImage.Image = Image.FromFile(Application.StartupPath & "\" &

CustList.First.Picture)End If 

End Sub

Private Sub ViewDVD()

Dim list As List(Of Entity.DVD) = AccessDVD.FindDVDByRefer(txtrefer_no.Text)If list.First.Status = "False" Then 

MsgBox("Status DVD lagi keluar", MsgBoxStyle.Information, "DVD Rental")Exit Sub 

End If 

Dim lSingleItem As ListViewItem lSingleItem = LsvDVD.Items.Add(txtrefer_no.Text)lSingleItem.SubItems.Add(list.First.Title)lSingleItem.SubItems.Add(list.First.Group.Price)lSingleItem.SubItems.Add(list.First.Group.Days)txtTotal.Text = CDbl(txtTotal.Text) + list.First.Group.Price

End Sub

Lalu buat procedure untuk menampilkan data customer seperti dibawah.

Selanjutnya adalah membuat procedure untuk menampilkan data DVD dan di masukkan

kedalam LsvDVD seperti dibawah

Page 165: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 165/186

165

Private Function RentalID() As String 

Dim RenList As New List(Of Entity.RentalMaster)columns = {"ren_id"}

DVDModule.FillListWithoutParam(RenList, columns, "usp_SelectRenMasterTop1", _GetType(Entity.RentalMaster))

If RenList.Count = 0 Then RentalID = "001-" & Format(Now.Date, "MM/dd/yyyy")

Else 

RentalID = Format(Val(CInt(Microsoft.VisualBasic.Left( RenList.First.Ren_ID,RenList.First.Ren_ID.Length - 11)) + 1), "000") & "-" &

Format(Now.Date, "MM/dd/yyyy")End If 

Return RentalID

End Function

Try txtTotal.Text = "0" ViewCustomer()

Catch ex As Exception MsgBox(ex.Message, MsgBoxStyle.Exclamation, "DVD Rental")

End Try

Operate = "Edit" Dim frm_HDVD As New H_DVD frm_HDVD.ShowDialog()txtrefer_no.Text = frm_HDVD.txtSearch.TextOperate = Nothing

Prosedure kita gunakan pada saat user akan memasukkan data peminjaman kedalam LsvDVD,

dan secara otomatis harga sewa DVD akan tampil pada txtTotal.

Sedangkan procedure dibawah ini untuk membuat Rental ID dengan format nomor urut dan

tanggal penginputan, dengan cara mencari data pada terakhir pada tanggal penginputan lalu

ditambah 1.

Selanjutnya adalah klik ganda form Rental yang berfungsi untuk menampilkan form awal dengan

menampilkan data Customer yang akan meminjam DVD, dan ketikkan sintaks dibawah

Buat event handler txtrefer_no_DoubleClick dan ketikkan sintaks dibawah, sintak ini berfungsi

untuk memanpilkan form tambahan (List DVD) hal ini untuk memudahkan jika user tidak tau id

DVD.

Page 166: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 166/186

166

Selanjutnya buat event hander txtRefer_no_Keyup, dan ketikkan sintaks dibawah, sedangkan

sintaks ini berfungsi untuk memanggil proses pada event handler txtrefer_no_DoubleClick pada

saat user menekan F8

Untuk memberi informasi bahwa cara menampilkan form dengan menekan F8 dan double click 

adalah dengan membuat hint, caranya adalah dengan membuat event handler 

txtrefer_no_MouseHover dan ketikkan sintaks berikut :

Lalu klik ganda button “Add” dan ketikkan sintaks dibawah ini : 

If e.KeyCode = Shortcut.F8 Then txtrefer_no_DoubleClick(sender, e)

End If

ToolTip1.SetToolTip(txtrefer_no, "Silahkan klik ganda atau menekan F8 untuk menampilList")ToolTip1.Active = True

Try If txtrefer_no.Text = "" Then 

MsgBox("Masukkan DVD refer no", MsgBoxStyle.Information, "DVD Rental")Exit Sub 

End If 

Dim DVDList As New List(Of Entity.DVD)Dim Coltype As System.Data.OleDb.OleDbType() =

{System.Data.OleDb.OleDbType.VarChar}Dim FieldName As String() = {"@refer_No"}Dim Size As Integer() = {7}Dim Value As String() = {txtrefer_no.Text}

columns = {"refer_no"}

DVDModule.FillListWithParam(DVDList, columns, "usp_selectDVDbyRefer", _GetType(Entity.DVD),

FieldName, _Coltype, Size, Value)

If DVDList.Count = 0 Then MsgBox("Reference No yang dicari salah atau tidak ada")txtrefer_no.Focus()txtrefer_no.SelectAll()Exit Sub 

End If 

For i = 0 To (LsvDVD.Items.Count - 1)If txtrefer_no.Text = LsvDVD.Items(i).Text Then 

MsgBox("DVD sudah ada pada list pemesanan", MsgBoxStyle.Information,"DVD Rental")

Exit Sub End If 

Next 

Page 167: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 167/186

167

Sintaks diatas ini berfungsi untuk memasukkan data peminjaman DVd kedalam LsvDVD,

dengan mengecek apakah Status DVD keluar atau tidak, jika keluar maka akan ada pesan yang

muncul. Lalu kita akan membuat fungsi untuk menghapus data pada LsvDVD, jika user salah

dalam menginput data (Sebelum penyimpanan), dengan cara klik ganda button Remove dan

ketikkan sintaks dibawah.

Klik ganda button Cancel dan ketikkan sintaks dibawah ini.

Selanjutnya adalah membuat fungsi untuk penyimpanan data Rental. Seperti halnya diatas untuk 

rental ini kita memerlukan 2 buah table pertama TotalRental yang kedua Detail Rental, dalam 1

table TotalRental bisa memiliki beberapa baris DetailRental. Dan pada saat kita memasukkan

ViewDVD()txtrefer_no.Text = "" 

Catch ex As Exception MsgBox(ex.Message, MsgBoxStyle.Exclamation, "DVD Rental")

End Try

Try If LsvDVD.SelectedItems.Count = 0 Then Exit Sub 

Dim Price As Double Dim intIndex As Integer With LsvDVD

intIndex = .SelectedIndices(0)Price = .Items(intIndex).SubItems(2).Text

End With 

txtTotal.Text = CDbl(txtTotal.Text) - PriceFor Each lvItem As ListViewItem In LsvDVD.SelectedItems

lvItem.Remove()Next LsvDVD.SelectedItems.Clear()

Catch ex As Exception MsgBox(ex.Message, MsgBoxStyle.Exclamation, "DVD Rental")

End Try

Try txtrefer_no.Text = "" LsvDVD.Items.Clear()

Catch ex As Exception MsgBox(ex.Message, MsgBoxStyle.Exclamation, "DVD Rental")

End Try

Page 168: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 168/186

168

data Rental maka secara otomatis status dari DVD menjadi False (Keluar). Ketikkan sintaks

dibawah untuk membuat fungsi-fungsi berikut.

Pertama-tama tambahkan Class pada folder Entity dan ganti namanya menjadi

“RentalMaster.vb” lalu ketikkan seperti dibawah. 

Dan tambah sebuah Class lagi pada folder Entity dengan nama “RentalDetail.vb” dan ketikkan

sintaks dibawah ini.

Namespace EntityPublic Class RentalMaster 

Private m_renid As String Public Property Ren_ID() As String 

Get Return m_renid

End Get 

Set(ByVal value As String)If value = "" Then 

Throw New Exception("Masukkan Rental ID")End If m_renid = value

End Set End Property 

Public Property Customer As New Entity.Customer 

Public Property Ren_Date() As Date 

Public Property Total_Fee() As Double 

Public Property Normal_Cost() As Double 

Public Property Total_Cost() As Double 

End Class End Namespace 

Namespace Entity

Public Class RentalDetail 

Public Property RenMaster() As New Entity.RentalMaster 

Public Property Nos As New Int16 

Public Property DVD() As New Entity.DVD 

Public Property Ret_Date() As Date 

Page 169: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 169/186

169

Setelah selesai membuat Class Entity seperti dibawah selanjutnya adalah membuat fungsi untuk 

menyimpan data Rental. Tambahkan Class baru pada Folder “AccessData” dan ganti menjadi

“AccessRental.vb” , lalu ketikkan sintaks dibawah. 

Public Property Late() As Int16 

Public Property Cost_Fee() As Double 

Public Property Cost_Normal() As Double 

Public Property Returns As Boolean 

End Class End Namespace

Imports System.DataImports System.Data.OleDb

Namespace AccessDataPublic Class AccessRental 

Public Function RenMasterInsert(ByVal RenMaster As Entity.RentalMaster) As OleDbDataReader 

Try Using connect As New OleDbConnection(My.Settings.DVDConnection)

Using mycommand As OleDbCommand = New OleDbCommand("usp_InsertTotal",connect)

mycommand.CommandType = CommandType.StoredProcedure

Dim parameterRen_ID As OleDbParameter = New OleDbParameter("@ren_id", OleDbType.VarChar, 14)

parameterRen_ID.Value = RenMaster.Ren_IDDim parameterRefer_Cust As OleDbParameter = New 

OleDbParameter("@refer_cust", OleDbType.VarChar, 8)parameterRefer_Cust.Value = RenMaster.Customer.Refer_CustDim parameterRen_Date As OleDbParameter = New 

OleDbParameter("@ren_date", OleDbType.Date)parameterRen_Date.Value = RenMaster.Ren_DateDim parameterNor_Cost As OleDbParameter = New 

OleDbParameter("@nor_cost", OleDbType.Currency)parameterNor_Cost.Value = RenMaster.Normal_CostDim parameterTot_Cost As OleDbParameter = New 

OleDbParameter("@tot_cost", OleDbType.Currency)parameterTot_Cost.Value = RenMaster.Total_CostWith mycommand.Parameters

.Add(parameterRen_ID)

.Add(parameterRefer_Cust)

.Add(parameterRen_Date)

.Add(parameterNor_Cost)

.Add(parameterTot_Cost)End With 

Page 170: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 170/186

170

With mycommand.Parameters.Add(parameterRen_ID).Add(parameterRefer_Cust).Add(parameterRen_Date).Add(parameterNor_Cost).Add(parameterTot_Cost)

End With connect.Open()Using result As OleDbDataReader =

mycommand.ExecuteReader(CommandBehavior.CloseConnection)Return result

End Using 

End Using End Using 

Catch SqlEx As OleDbException Throw New Exception(SqlEx.Message.ToString())

End Try 

End Function

Public Function RenDetailInsert(ByVal RenDetail As Entity.RentalDetail) As OleDbDataReader Try 

Using connect As New OleDbConnection(My.Settings.DVDConnection)Using mycommand As OleDbCommand = New OleDbCommand("usp_InsertDetail",

connect)mycommand.CommandType = CommandType.StoredProcedureDim parameterRen_ID As OleDbParameter = New 

OleDbParameter("@ren_id", OleDbType.VarChar, 14)parameterRen_ID.Value = RenDetail.RenMaster.Ren_IDDim parameterNos As OleDbParameter = New OleDbParameter("@nos",

OleDbType.Integer) parameterNos.Value = RenDetail.NosDim parameterRefer_No As OleDbParameter = New 

OleDbParameter("@refer_no", OleDbType.VarChar, 7)parameterRefer_No.Value = RenDetail.DVD.Refer_NoDim parameterCost_Normal As OleDbParameter = New 

OleDbParameter("@cost_normal", OleDbType.Currency)parameterCost_Normal.Value = RenDetail.Cost_Normal

With mycommand.Parameters.Add(parameterRen_ID).Add(parameterNos).Add(parameterRefer_No).Add(parameterCost_Normal)

End With

Return resultEnd Using 

End Using End Using 

Catch SqlEx As OleDbException Throw New Exception(SqlEx.Message.ToString())

End Try End Function

Page 171: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 171/186

171

Dan buka Class AccessDVD lalu ketikan sintaks untuk mengubah status DVD

Kembali ke Form Rental lalu Klik ganda button Save dan ketikkan sintaks dibawah.

Public Function DVDStatusUpdate(ByVal DVD As Entity.DVD) As OleDbDataReader Try 

Using connect As New OleDbConnection(My.Settings.DVDConnection)Using mycommand As OleDbCommand = New 

OleDbCommand("usp_UpdateDVDStatus", connect)mycommand.CommandType = CommandType.StoredProcedure

DVDModule.AddParameter("@status", OleDbType.Boolean, 0,DVD.Status, mycommand)

DVDModule.AddParameter("@refer_no", OleDbType.VarChar, 7,DVD.Refer_No, mycommand)

connect.Open()Using result As OleDbDataReader =

mycommand.ExecuteReader(CommandBehavior.CloseConnection)Return result

End Using 

End Using End Using 

Catch SqlEx As OleDbException Throw New Exception(SqlEx.Message.ToString())

End Try 

End Function

Try 

If LsvDVD.Items.Count = 0 Then MsgBox("Masukkan DVD yang mau di Rental")Exit Sub 

End If Dim RenId As String = RentalID()Dim RenMaster As New Entity.RentalMaster With {.Ren_ID = RenId,

.Customer = New Entity.Customer With {.Refer_Cust = txtReferCust.Text},

.Ren_Date = Now.Date,

.Normal_Cost = txtTotal.Text,.Total_Cost = txtTotal.Text}

Dim mYes_No As String = MsgBox("Apakah kamu ingin menyimpan data ?", vbYesNo,

"DVD Rental")If mYes_No = vbYes Then 

AccessRenMaster.RenMasterInsert(RenMaster)For i = 0 To (LsvDVD.Items.Count - 1)

Dim RenDetail As New Entity.RentalDetail With {.RenMaster = New Entity.RentalMaster With {.Ren_ID = RenId},

.Nos = i + 1, .DVD = New Entity.DVD With {.Refer_No = LsvDVD.Items(i).Text},

.Cost_Normal =LsvDVD.Items(i).SubItems(2).Text}

Page 172: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 172/186

172

Untuk saat ini kita masih belum bias mengoperasikan form Rental ini, karena pada form Rental

kita menampilkan data Customer, oleh karena itu sebelum menampilkan form rental kita

memerlukan sebuah form untuk menampilkan data customer. Ikuti langkah-langkah dibawah.

Tambahkan sebuah Form dan tambahkan 1 TextBox, 1 Label dan 3 Button. Ubah propertiesnya

seperti dibawah.

 Name F_RenBox

ShowInTaksbar False

Text Type Reference Customer 

StartPosition CenterScreen

ControlBox False

FormBorderStyle FixedSingle

TextBox1

 Name txtReferNo

Button1 

 Name btnOK 

Text OK 

Button2 

 Name btnSearch

AccessRenMaster.RenDetailInsert(RenDetail)

Dim DVD As New Entity.DVD With {.Refer_No = LsvDVD.Items(i).Text,.Status = False}

AccessDVD.DVDStatusUpdate(DVD)

Next btnCancel.PerformClick()MsgBox("Data telah disimpan", MsgBoxStyle.Information, "DVD Rental")

End If 

Catch ex As Exception MsgBox(ex.Message, MsgBoxStyle.Exclamation, "DVD Rental")

End Try

Page 173: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 173/186

173

Text Search

Button3 

 Name btnCancel

Text Cancel

 Name btnSave

Text &Save

Button2

 Name btnCancel

Text &Cancel

Lalu atur posisi nya seperti gambar dibawah.

Gambar 3.52

Klik ganda button Cancel dan ketikkan sintaks berikut : Me.Close()

Selanjutnya klik ganda button Search dan ketikkan sintaks dibawah, yang berfungsi untuk 

menampilkan form Customer List.

Dan terakhir adalah klik ganda button OK lalu ketikkan sintaks dibawah, yang berfungsi untuk 

menvalidasi apakah customer id benar, jika benar maka akan menampilkan form Rental dengan

data customer yang dicari.

Operate = "Edit" Dim frm_HCust As New H_Cust frm_HCust.ShowDialog()txtReferNo.Text = frm_HCust.txtSearch.Text

Page 174: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 174/186

174

Try If txtReferNo.Text = "" Then 

MsgBox("Masukkan reference No", MsgBoxStyle.Information, "DVD Rental")Exit Sub 

End If Dim CustList As New List(Of Entity.Customer)

Dim Coltype As System.Data.OleDb.OleDbType() ={System.Data.OleDb.OleDbType.VarChar}Dim FieldName As String() = {"@refer_Cust"}Dim Size As Integer() = {8}Dim Value As String() = {txtReferNo.Text}Dim columns As String() = {"refer_cust"}

DVDModule.FillListWithParam(CustList, columns, "usp_selectCustbyRefer", _GetType(Entity.Customer),

FieldName, _Coltype, Size, Value)

If CustList.Count = 0 Then MsgBox("Reference No yang dicari salah atau tidak ada")

Exit Sub End If If FormShow = "Rental" Then 

FormShow = Nothing Dim frm_ren As New F_Rental frm_ren.txtReferCust.Text = txtReferNo.Textfrm_ren.ShowDialog()Me.Close()

ElseIf FormShow = "Return" Then FormShow = Nothing Dim frm_ret As New F_Return frm_ret.txtReferCust.Text = txtReferNo.Textfrm_ret.ShowDialog()Me.Close()

End If 

Catch ex As Exception MsgBox(ex.Message, MsgBoxStyle.Exclamation, "DVD Rental")

End Try

Buka Form Utama (Main Menu), pada menu item Tools > Rental (klik ganda) ketikkan sintaks

dibawah (untuk menampilkan form Rental Box).

Try FormShow = "Rental" 

Dim frm_renBox As New F_RenBox frm_renBox.ShowDialog()FormShow = Nothing 

Catch ex As Exception MsgBox(ex.Message)

End Try

Page 175: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 175/186

175

Jalankan program dan pada Menu Utama klik Tools > Rental, selanjutnya cari customer, dan klik 

OK. Masukkan data DVD pada form Rental.

Gambar 3.53

Gambar 3.54

4.7 Membuat Form Return DVD

Setelah selesai membuat form peminjaman (Rental) maka selanjutnya adalah membuat form

Return (Pengembalian) DVD oleh customer. Tambahkan sebuah Form dalam project danubah propertiesnya seperti dibawah.

 Name F_Return

ShowInTaksbar False

Text Return DVD

Page 176: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 176/186

176

StartPosition CenterScreen

MaximizedBox False

MinimizedBox False

FormBorderStyle FixedSingle

BackColor White

Dan tambahkan beberapa control seperti berikut 5 textbox, 5 label, 1 GroupBox, 1

PictureBox, 4 button dan 2 ListView. Dan ubah properties seperti dibawah.

Textbox1

 Name txtReferCust

Enabled False

Textbox2 

 Name txtFirst

Enabled False

TextBox3 

 Name txtLast

Enabled False

TextBox4 

 Name txtPhone

Enabled False

TextBox5 

 Name txtTotal

BackColor Black 

ForeColor Chartreuse

GroupBox1

 Name GbCustomer 

Text Customer Detail

Button1

 Name btnReturn

Page 177: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 177/186

177

Text Return

Button2

 Name btnRemove

Text Remove

Button3 

 Name btnSave

Text &Save

Button4 

 Name btnCancel

Text &Cancel

PictureBox1 

 Name Pbmage

SizeMode StretchImage

ListView1 

 Name LsvDVD

FullrowSelect True

GridLines True

View Details

ListView2 

 Name LsvReturn

FullrowSelect True

GridLines True

View Details

Tambahkan kolom pada LsvDVD seperti berikut : Rental ID, Refer No, Title, Price, Days,

Date dan Fee. Sedangkan untuk LsvReturn tambahkan kolom seperti berikut : Rental ID,

Refer No, Due Date, Late Days, Total Fee. Dan susun seperti gambar dibawah ini.

Page 178: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 178/186

178

Gambar 3.55

Lalu pada MS Access buat lah query seperti berikut : usp_selectRental,

usp_UpdateRenMaster, usp_UpdateRenDetail. Dengan sintaks SQL sebagai berikut :

SELECT t_totalrental.Ren_ID, t_detailrental.Nos, t_group.days, t_group.price, t_group.fee,

t_totalrental.Ren_Date, t_dvd.title, t_cust.refer_cust, t_cust.first_name, t_cust.last_name,

t_cust.telp, t_detailrental.refer_no

FROM t_cust INNER JOIN (t_group INNER JOIN (t_dvd INNER JOIN (t_totalrental INNER JOIN

t_detailrental ON t_totalrental.Ren_ID = t_detailrental.Ren_ID) ON t_dvd.refer_no =

t_detailrental.refer_no) ON t_group.group_id = t_dvd.group_id) ON t_cust.refer_cust =

t_totalrental.refer_cust

WHERE (((t_cust.refer_cust)=[@refer_cust]) AND ((t_detailrental.return)=0));

UPDATE t_totalrental SET t_totalrental.Tot_Fee = t_totalrental.Tot_Fee+[@Tot_Fee],

t_totalrental.Tot_Cost = t_totalrental.Tot_cost+[@Tot_Cost]

WHERE (((t_totalrental.Ren_ID)=[@Ren_ID]));

UPDATE t_detailrental SET t_detailrental.Ret_Date = [@Ret_Date], t_detailrental.late = [@late],

t_detailrental.cost_fee = [@cost_fee], t_detailrental.return = [@return]

WHERE (((t_detailrental.Ren_ID)=[@Ren_ID]) AND ((t_detailrental.Nos)=[@Nos]));

Page 179: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 179/186

179

Public Function RenMasterUpdate(ByVal RenMaster As Entity.RentalMaster) As OleDbDataReader 

Try Using connect As New OleDbConnection(My.Settings.DVDConnection)

Using mycommand As OleDbCommand = New OleDbCommand("usp_UpdateRenMaster", connect)

mycommand.CommandType = CommandType.StoredProcedure

Dim parameterTotal_Fee As OleDbParameter = New OleDbParameter("@Tot_Fee", OleDbType.Currency)

parameterTotal_Fee.Value = RenMaster.Total_Fee

Dim parameterTot_Cost As OleDbParameter = New OleDbParameter("@Tot_Cost", OleDbType.Currency)

parameterTot_Cost.Value = RenMaster.Total_Cost

Dim parameterRen_ID As OleDbParameter = New OleDbParameter("@ren_id", OleDbType.VarChar, 14)

parameterRen_ID.Value = RenMaster.Ren_ID

With mycommand.Parameters.Add(parameterTotal_Fee).Add(parameterTot_Cost).Add(parameterRen_ID)

End With connect.Open()Using result As OleDbDataReader =

mycommand.ExecuteReader(CommandBehavior.CloseConnection)Return result

End Using 

End Using 

End UsingCatch SqlEx As OleDbException 

Throw New Exception(SqlEx.Message.ToString())End Try 

End Function

Public Function RenDetailUpdate(ByVal RenDetail As Entity.RentalDetail) As OleDbDataReader 

Try Using connect As New OleDbConnection(My.Settings.DVDConnection)

Using mycommand As OleDbCommand = New 

OleDbCommand("usp_UpdateRenDetail", connect)mycommand.CommandType = CommandType.StoredProcedureDim parameterReturnDate As OleDbParameter = New 

OleDbParameter("@ret_date", OleDbType.VarChar, 7)parameterReturnDate.Value = RenDetail.Ret_DateDim parameterLate As OleDbParameter = New OleDbParameter("@late",

OleDbType.Integer)parameterLate.Value = RenDetail.Late

Lalu buka Class AccessRental dan ketikkan fungsi-fungsi dibawah ini.

Page 180: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 180/186

180

Dim parameterLate As OleDbParameter = New OleDbParameter("@late", OleDbType.Integer)

parameterLate.Value = RenDetail.Late

Dim parameterCostFee As OleDbParameter = New OleDbParameter("@cost_fee", OleDbType.Currency)

parameterCostFee.Value = RenDetail.Cost_Fee

Dim parameterReturn As OleDbParameter = New OleDbParameter("@return", OleDbType.Boolean)

parameterReturn.Value = RenDetail.Returns

Dim parameterRen_ID As OleDbParameter = New OleDbParameter("@ren_id", OleDbType.VarChar, 14)

parameterRen_ID.Value = RenDetail.RenMaster.Ren_ID

Dim parameterNos As OleDbParameter = New OleDbParameter("@nos",OleDbType.Integer)

parameterNos.Value = RenDetail.Nos

With mycommand.Parameters

.Add(parameterReturnDate)

.Add(parameterLate).Add(parameterCostFee)

.Add(parameterReturn)

.Add(parameterRen_ID)

.Add(parameterNos)End With connect.Open()Using result As OleDbDataReader =

mycommand.ExecuteReader(CommandBehavior.CloseConnection)Return result

End Using 

End Using End Using 

Catch SqlEx As OleDbException Throw New Exception(SqlEx.Message.ToString())

End Try 

End Function

Public Function FindRenByReferCust(ByVal Refer_cust As String) As List(Of Entity.RentalDetail)

Dim RenDetail As New List(Of Entity.RentalDetail)()Try 

Using connect As New OleDbConnection(My.Settings.DVDConnection)

Using mycommand As OleDbCommand = New OleDbCommand("usp_selectRental", connect)mycommand.CommandType = CommandType.StoredProceduremycommand.Parameters.Add( "@refer_cust",

OleDbType.VarChar).Value = Refer_custconnect.Open()Using rdr As OleDbDataReader = mycommand.ExecuteReader

Page 181: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 181/186

181

Using rdr As OleDbDataReader = mycommand.ExecuteReader

While rdr.ReadDim RentalDetails As New Entity.RentalDetail RentalDetails.RenMaster.Ren_ID =

rdr("Ren_ID").ToString()RentalDetails.Nos = rdr("Nos").ToString()RentalDetails.DVD.Group.Days = rdr("days").ToString()RentalDetails.DVD.Group.Price =

rdr("price").ToString()RentalDetails.DVD.Group.Fee = rdr("fee").ToString()RentalDetails.RenMaster.Ren_Date =

rdr("ren_date").ToString()RentalDetails.DVD.Title = rdr("title").ToString()RentalDetails.RenMaster.Customer.Refer_Cust =

rdr("refer_cust").ToString()RentalDetails.RenMaster.Customer.First_Name =

rdr("first_name").ToString()RentalDetails.RenMaster.Customer.Last_Name =

rdr("last_name").ToString()

RentalDetails.RenMaster.Customer.Telp =rdr("telp").ToString()RentalDetails.DVD.Refer_No =

rdr("refer_no").ToString()RenDetail.Add(RentalDetails)

End While 

End Using 

End Using End Using 

Catch sqlex As OleDbException 

Throw New Exception(sqlex.Message.ToString())End Try Return RenDetail

End Function 

#Region "Deklarasi" Protected AccessDVD As New AccessData.AccessDVD Protected AccessRenMaster As New AccessData.AccessRental Dim columns As String() = {}

#End Region

Kembali ke form Return buat deklarasi seperti dibawah.

Dan seperti pada form Rental kita juga akan menampilkan data customer pada form ini, ketikkan

 procedure dibawah ini.

Page 182: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 182/186

182

Private Sub ViewCustomer()

Dim CustList As New List(Of Entity.Customer)

Dim Coltype As System.Data.OleDb.OleDbType() ={System.Data.OleDb.OleDbType.VarChar}

Dim FieldName As String() = {"@refer_Cust"}Dim Size As Integer() = {8}Dim Value As String() = {txtReferCust.Text}

DVDModule.FillListWithParam(CustList, columns, "usp_selectCustbyRefer", _GetType(Entity.Customer),

FieldName, _Coltype, Size, Value)

If CustList.Count = 0 Then MsgBox("Reference No yang dicari salah atau tidak ada")Exit Sub 

End If 

txtReferCust.Text = CustList.First.Refer_CusttxtFirst.Text = CustList.First.First_NametxtLast.Text = CustList.First.Last_NametxtPhone.Text = CustList.First.Telp

If CustList.First.Picture <> "" Then PbImage.Image = Image.FromFile(Application.StartupPath & "\" &

CustList.First.Picture)End If 

End Sub

Lalu buat procedure untuk menampilkan data Rental.

Private Sub ViewRental()Dim list As List(Of Entity.RentalDetail) =

AccessRenMaster.FindRenByReferCust(txtReferCust.Text)Dim lSingleItem As ListViewItem For Each rental In list

lSingleItem = LsvDVD.Items.Add(rental.RenMaster.Ren_ID)lSingleItem.SubItems.Add(rental.DVD.Refer_No)lSingleItem.SubItems.Add(rental.DVD.Title)lSingleItem.SubItems.Add(rental.DVD.Group.Price)lSingleItem.SubItems.Add(rental.DVD.Group.Days)

lSingleItem.SubItems.Add(rental.RenMaster.Ren_Date)lSingleItem.SubItems.Add(rental.DVD.Group.Fee)lSingleItem.SubItems.Add(rental.Nos)

Next End Sub

Page 183: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 183/186

183

Try 

If LsvDVD.SelectedItems.Count = 0 Then Exit Sub 

Dim intIndex, late As Integer 

Dim tot_price As Double With LsvDVD

intIndex = .SelectedIndices(0)Dim lSingleItem As ListViewItem Dim Lsv As ListViewItem =

LsvReturn.FindItemWithText(.Items(intIndex).SubItems(1).Text)If Not (Lsv Is Nothing) Then 

MsgBox("Data sudah ada pada List DVD Return",MsgBoxStyle.Information, "DVD Rental")

Exit Sub End If

lSingleItem = LsvReturn.Items.Add(.Items(intIndex).Text)lSingleItem.SubItems.Add(.Items(intIndex).SubItems(1).Text)

lSingleItem.SubItems.Add(CDate(.Items(intIndex).SubItems(5).Text).AddDays( CInt(.Items(intIndex).SubItems(4).Text)))

late = DateDiff(DateInterval.Day,

CDate(.Items(intIndex).SubItems(5).Text).AddDays( CInt(.Items(intIndex).SubItems(4).Text)), Now.Date)

lSingleItem.SubItems.Add(If(late < 0, 0, late))

tot_price = If(late < 0, 0, late) *CInt(.Items(intIndex).SubItems(6).Text)

lSingleItem.SubItems.Add(tot_price)lSingleItem.SubItems.Add(.Items(intIndex).SubItems(7).Text)txtTotal.Text = Format(CDbl(txtTotal.Text) + tot_price, "##,###.00")

End With 

Catch ex As Exception MsgBox(ex.Message, MsgBoxStyle.Exclamation, "DVD Rental")

End Try

Klik ganda form return dan ketikkan sintaks dibawah :

Pada sintaks diatas berfungsi untuk menampilkan data Customer dan data peminjaman customer 

yang dipilih. Lalu klik ganda button Return dan ketikkan sintaks dibawah ini.

Try txtTotal.Text = "0" ViewCustomer()ViewRental()

Catch ex As Exception MsgBox(ex.Message, MsgBoxStyle.Exclamation, "DVD Rental")

End Try

Page 184: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 184/186

184

Try LsvReturn.Items.Clear()txtTotal.Text = "0" 

Catch ex As Exception MsgBox(ex.Message, MsgBoxStyle.Exclamation, "DVD Rental")

End Try

Pada sintaks ini berfungsi untuk memindahkan data dari LsvDVD ke LsvReturn, jika

 pengembalian melewati batas waktu yang ditentukan maka secara otomatis nilai nominal yang

didenda akan ditampilkan. Klik ganda button Remove dan ketikkan sintaks dibawah:

Lalu klik ganda button Cancel dan ketikkan sintaks dibawah :

Dan terakhir klik ganda button Save dan ketikkan sintaks dibawah.

Try 

Dim intIndex As Integer If LsvReturn.SelectedItems.Count = 0 Then Exit Sub With LsvReturn

intIndex = .SelectedIndices(0)txtTotal.Text = Format(CDbl(txtTotal.Text) -

CDbl(.Items(intIndex).SubItems(4).Text), "##,###.00")End With 

For Each lvItem As ListViewItem In LsvReturn.SelectedItemslvItem.Remove()

Next LsvReturn.SelectedItems.Clear()

Catch ex As Exception MsgBox(ex.Message, MsgBoxStyle.Exclamation, "DVD Rental")

End Try

Try 

Dim mYes_No As String = MsgBox("Apakah kamu ingin menyimpan data ?", vbYesNo,"DVD Rental")

If mYes_No = vbYes Then 

For a = 0 To LsvReturn.Items.Count - 1Dim RenMaster As New Entity.RentalMaster With {.Ren_ID =

LsvReturn.Items(a).Text,.Total_Fee =

LsvReturn.Items(a).SubItems(4).Text,.Total_Cost =

LsvReturn.Items(a).SubItems(4).Text}

AccessRenMaster.RenMasterUpdate(RenMaster)Next

For i = 0 To (LsvReturn.Items.Count - 1)Dim RenDetail As New Entity.RentalDetail With {.RenMaster = New 

Entity.RentalMaster With {.Ren_ID = LsvReturn.Items(i).Text},.Nos = 

Page 185: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 185/186

185

LsvReturn.Items(i).SubItems(5).Text, .Ret_Date = Now.Date,.Late =

LsvReturn.Items(i).SubItems(3).Text,.Cost_Fee =

LsvReturn.Items(i).SubItems(4).Text, .Returns = True}

AccessRenMaster.RenDetailUpdate(RenDetail)Dim DVD As New Entity.DVD With {.Refer_No =

LsvReturn.Items(i).SubItems(1).Text, .Status = True}AccessDVD.DVDStatusUpdate(DVD)Dim Lsv As ListViewItem =

LsvDVD.FindItemWithText(LsvReturn.Items(i).SubItems(1).Text)

If Not (Lsv Is Nothing) Then LsvDVD.Items.RemoveAt(Lsv.Index)

End If 

Next btnCancel.PerformClick()

MsgBox("Data telah disimpan", MsgBoxStyle.Information, "DVD Rental")End If 

Catch ex As Exception MsgBox(ex.Message, MsgBoxStyle.Exclamation, "DVD Rental")

End Try

Lalu buka form Menu Utama ke main menu (Tools > Return) klik ganda dan ketikkan sintaks

dibawah.

Jalankan program dan masuk kedalam form Return. Selamat mencoba dan selamat bercoding

ria………… 

Try FormShow = "Return" Dim frm_renBox As New F_RenBox frm_renBox.ShowDialog()FormShow = Nothing 

Catch ex As Exception MsgBox(ex.Message)

End Try

Page 186: Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

7/16/2019 Membuat Aplikasi Interaktif Dengan VB 2010 Dan Access 2010

http://slidepdf.com/reader/full/membuat-aplikasi-interaktif-dengan-vb-2010-dan-access-2010-563384a50a067 186/186