Dasar Pemrograman Visual Basic

Asep Saefudin©

Copyright© Ashev Sality

Daftar Isi
Daftar isi ............................................................................................... 2 Bab1 Pendahuluan ................................................................................ 6 1.1 Mengenal visual basic ...................................................................... 6 1.2 Interface Antar Muka Visual Basic 6.0 ……………………………………. 7 1.3 Konsep Dasar Pemrograman Dalam Visual Basic 6.0 …………………. 8 1.4 Membuat Project Baru …………………………………………………………. 9

Bab 2 Menggunakan Event dan Property ……………………………………….. 13 1. 2. 3. Membuat User Interface …………………………………………………….. 13 Mengatur Property ……………………………………………………………. 13 Event Dengan Kode Program ………………………………………………. 15

Bab 3 Menggunakan Event dan Method ………………………………………… 17

Bab 4 Penggunaan Data, Variabel dan Operator …………………………….. 19 1. 2. 3. 4. 5. 6. 7. 8. Bahasa Visual Basic Aplication ………………………………………..… 19 Data dan Variabel ……………………………………………………………. 19 Type Variabel ………………………………………………………………….. 19 Operator Pada Visual Basic dan urutan operasinya …………………. 20 Operator Like ………………………………………………………………….. 20 Deklarasi Variabel ……………………………………………………………. 20 Contoh Program : Variabel Test …………………………………………… 21 Contoh Program : Operator Test ………………………………………….. 23
2

Copyright© Ashev Sality

Bab 5 Penggunaan Pencabangan ………………………………………………… 29 Mengenal Struktur Kendali ……………………………………………………….. 29 Struktur Pencabangan …………………………………………………………….. 29 If...Then ……………………………………………………………………………….. 29 If...Then...Else ……………………………………………………………………….. 29 Select Case …………………………………………………………………………… 30 Contoh Program Struktur IF…THEN ……………………………………………. 31 Contoh Program Struktur Select Case ………………………………………….. 33

Bab 6 Penggunaan Pengulangan …………………………………………………. 36 Do...Loop ……………………………………………………………………………….. 36 For...Next ………………………………………………………………………………. 37 Struktur Kendali Nested ……………………………………………………………. 37 Meninggalkan suatu Struktur Kendali ………………………………………….. 38 Struktur Looping ……………………………………………………………………… 38

Bab 7 Penggunaan ARRAY dan Kontrol ARRAY ……………………………… 41 Kontrol Array ………………………………………………………………………….. 41 Menggunakan Array …………………………………………………………………. 41 Array …………………………………………………………………………………….. 41 Membuat Kontrol Array …………………………………………………………….. 43 Contoh Program Array Test ………………………………………………………… 44 Contoh Program Kalkulator (Kontrol Array) ……………………………………. 46

Bab 8 Penggunaan Procedure …………………………………………………….. 49
3

Copyright© Ashev Sality

Jenis-jenis Procedure ………………………………………………………………… 49 Contoh Program Procedure Test …………………………………………………. 50

Bab 9 Module Pada Visual Basic …………………………………………………. 53 Deklarasi Variabel Pada Module …………………………………………………. 53 Deklarasi Fungsi dan Sub …………………………………………………………. 54

Bab 10 MDI Form dan Menu ……………………………………………………… 55 Mengenal Multiple Document Interface ………………………………………… 55 Membuat suatu Aplikasi MDI pada Visual Basic …………………………….. 55 Mendapatkan MDI Child yang sedang aktif ……………………………………. 56 Mengatur MDI Child dalam jendela MDI form ………………………………… 56 Membuat Menu Pada Visual Basic ………………………………………………. 57 Membuat Garis Pemisah antar Menu …………………………………………… 58 Melakukan Koding terhadap Menu ………………………………………..……. 59 Membuat Menu yang memiliki tanda Check ……………………………….…. 59 Membuat Menu Pop Up …………………………………………………………….. 60

Bab 11 Kumpulan Latihan ……………………………………..………………… 62 Latihan ke –1 …………………………………………………………………………. 62 Latihan ke -2 ………………………………………………….……………………... 63 Latihan ke –3 ………………………………………………….……………………… 64 Latihan Ke -4 ………………………………………………….……………………… 66 Latihan Ke -5 ………………………………………………….……………………… 68 Latihan Ke -6 ………………………………………………….……………………… 69
4

Copyright© Ashev Sality

Latihan Ke -7 ………………………………………………………………………….. 70 Latihan Ke -8 ………………………………………………….………………………. 72

Bab 12 Pembuatan Program Menggunakan Database Microsoft Access … 74 Pengertian Database ………………………………………………………………… 74 Contoh Program Penyewaan Mobil ………………………………………………. 74 1. Pembuatan Database ……………………………………………………….. 74 1) 2) 2. 3. 4. 5. Pembuatan Tabel …………………………………………………….. 74 Pembuatan Query ……………………………………………………. 75

Pembuatan Data Sources (ODBC) ……………………………………..…. 76 Pembuatan Form dan Code Program ……………………………………. 78 Pembuatan Data Environment ……………………………………………. 114 Pembuatan Crystal Report …………………………………………………. 115

PENUTUP ………………………………………………………………………………. 119 BIODATA PENULIS ………………………………………………………………….. 120

5

Copyright© Ashev Sality

Bab 1 Pendahuluan
1.1 MENGENAL VISUAL BASIC
Bahasa Basic pada dasarnya adalah bahasa yang mudah dimengerti sehingga pemrograman di dalam bahasa Basic dapat dengan mudah dilakukan meskipun oleh orang yang baru belajar membuat program. Hal ini lebih mudah lagi setelah hadirnya Microsoft Visual Basic, yang dibangun dari ide untuk membuat bahasa yang sederhana dan mudah dalam pembuatan scriptnya (simple scripting language) untuk graphic user interface yang dikembangkan dalam sistem operasi Microsoft Windows. Visual Basic merupakan bahasa pemrograman yang sangat mudah dipelajari, dengan teknik pemrograman visual yang memungkinkan penggunanya untuk berkreasi lebih baik dalam menghasilkan suatu program aplikasi. Ini terlihat dari dasar pembuatan dalam visual basic adalah FORM, dimana pengguna dapat mengatur tampilan form kemudian dijalankan dalam script yang sangat mudah. Ledakan pemakaian Visual Basic ditandai dengan kemampuan Visual Basic untuk dapat berinteraksi dengan aplikasi lain di dalam sistem operasi Windows dengan komponen ActiveX Control. Dengan komponen ini memungkinkan penguna untuk memanggil dan menggunakan semua model data yang ada di dalam sistem operasi windows. Hal ini juga ditunjang dengan teknik pemrograman di dalam Visual Basic yang mengadopsi dua macam jenis pemrograman yaitu Pemrograman Visual dan Object Oriented Programming (OOP). Visual Basic 6.0 sebetulnya perkembangan dari versi sebelumnya dengan beberapa penambahan komponen yang sedang tren saat ini, seperti kemampuan pemrograman internet dengan DHTML (Dynamic HyperText Mark Language), dan beberapa penambahan fitur database dan multimedia yang semakin baik. Sampai saat buku ini ditulis bisa dikatakan bahwa Visual Basic 6.0 masih merupakan pilih pertama di dalam membuat program aplikasi yang ada di pasar perangkat lunak nasional. Hal ini disebabkan oleh kemudahan dalam melakukan proses development dari aplikasi yang dibuat.

6

Copyright© Ashev Sality

1.2 Interface Antar Muka Visual Basic 6.0
Interface antar muka Visual Basic 6.0, berisi menu, toolbar, toolbox, form, project explorer dan property seperti terlihat pada gambar berikut:

Pembuatan program aplikasi menggunakan Visual Basic dilakukan dengan membuat tampilan aplikasi pada form, kemudian diberi script program di dalam komponen-komponen yang diperlukan. Form disusun oleh komponen-komponen yang berada di [Toolbox], dan setiap komponen yang dipakai harus diatur propertinya lewat jendela [Property]. Menu pada dasarnya adalah operasional standar di dalam sistem operasi windows, seperti membuat form baru, membuat project baru, membuka project dan menyimpan project. Di samping itu terdapat fasilitas-fasilitas pemakaian visual basic pada menu. Untuk lebih jelasnya Visual Basic menyediakan bantuan yang sangat lengkap dan detail dalam MSDN.
7

Copyright© Ashev Sality

Toolbox berisi komponen-komponen yang bisa digunakan oleh suatu project aktif, artinya isi komponen dalam toolbox sangat tergantung pada jenis project yang dibangun. Komponen standar dalam toolbox dapat dilihat pada gambar berikut ini.

1.3 Konsep Dasar Pemrograman Dalam Visual Basic 6.0 Konsep dasar pemrograman Visual Basic 6.0, adalah pembuatan form dengan mengikuti aturan pemrograman Property, Metode dan Event. Hal ini berarti: 1) Property: Setiap komponen di dalam pemrograman Visual Basic dapat diatur propertinya sesuai dengan kebutuhan aplikasi. Property yang tidak boleh dilupakan pada setiap komponen adalah “Name”, yang berarti nama variabel (komponen) yang akan digunakan dalam scripting. Properti “Name” ini hanya bisa diatur melalui jendela Property, sedangkan nilai peroperti yang lain bisa diatur melalui script seperti: Command1.Caption=”Play” Text1.Text=”Visual Basic” Label1.Visible=False Timer1.Enable=True 2) Metode: Bahwa jalannya program dapat diatur sesuai aplikasi dengan menggunakan metode pemrograman yang diatur sebagai aksi dari setiap komponen. Metode inilah tempat untuk mengekpresikan logika pemrograman dari pembuatan suatu prgram aplikasi.
8

Copyright© Ashev Sality

3) Event: Setiap komponen dapat beraksi melalui event, seperti event click pada command button yang tertulis dalam layar script Command1_Click, atau event Mouse Down pada picture yang tertulis dengan Picture1_MouseDown. Pengaturan event dalam setiap komponen yang akan menjalankan semua metode yang dibuat.

1.4 Membuat Project Baru
Untuk memulai pembuatan program aplikasi di dalam Visual Basic, yang dilakukan adalah membuat project baru. Project adalah sekumpulan form, modul, fungsi, data dan laporan yang digunakan dalam suatu aplikasi. Membuat projrct baru dapat dilakukan dengan memilih menu [File] >> [New Project] atau dengan menekan ikon [new project] pada Toolbar yang terletak di pojok kiri atas. Setelah itu akan muncul konfirmasi untuk jenis project dari program aplikasi yan akan dibuat seperti terlihat pada gambar berikut:

Visual Basic 6.0 menyediakan 13 jenis project yang bisa dibuat seperti terlihat pada gambar di atas. Ada beberapa project yang biasa digunakan oleh banyak pengguna Visual Basic, antara lain: ①. Standard EXE: Project standar dalam Visual Basic dengan komponenkomponen standar. Jenis project ini sangat sederhana, tetapi memiliki keunggulan bahwa semua komponennya dapat diakui oleh semua unit komputer dan semua user meskipun bukan administrator. Pada buku ini akan digunakan project Standard EXE ini, sebagai konsep pemrograman visualnya.
9

Copyright© Ashev Sality

②.

③.

④. ⑤.

⑥.

⑦.

⑧. ⑨.

ActiveX EXE: Project ini adalah project ActiveX berisi komponenkomponen kemampuan intuk berinteraksi dengan semua aplikasi di sistem operasi windows. ActiveX DLL: Project ini menghasilkan sebuah aplikasi library yang selanjutnya dapat digunakan oleh semua aplikasi di sistem operasi windows. ActiveX Control: Project ini menghasilkan komponen-komponen baru untuk aplikasi Visual Basic yang lain VB Application Wizard: Project ini memandu pengguna untuk membuat aplikasi secara mudah tanpa harus pusing-pusing dengan perintahperintah pemrograman. Addin: Project seperti Standard EXE tetapi dengan berbagai macam komponen tambahan yang memungkinkan kebebasan kreasi dari pengguna. Data project: Project ini melengkapi komponennya dengan komponenkomponen database. Sehingga bisa dikatakan project ini memang disediakan untuk keperluan pembuatan aplikasi database. DHTML Application: Project ini digunakan untuk membuat aplikasi internet pada sisi client (client side) dengan fungsi-fungsi DHTML. IIS Application: Project ini menghasilkan apliaksi internet pada sisi server (server side) dengan komponen-komponen CGI (Common Gateway Interface).

Selanjutnya pilih Standard EXE dan tekan [Ok]. Lalu muncul tampilan dari Standard Exe. Dengan demikian project sudah siap dibuat. Dalam pembuatan project sebelumnya double click pada form yang terbuat maka ada terlihat jendela tersembunyi (hidden windows) yang berupa jendela untuk pembuatan program atau jendela kode (code windows). Hal ini Dapat dilakukan dengan cara memilih ikon jendela form atau jendela kode yang ada di [Project Explorer]. Hal ini dapat dilihat pada gambar di bawah ini.

10

Copyright© Ashev Sality

Jendela Form:

Jendela Kode:

11

Copyright© Ashev Sality

Jendela Properties

12

Copyright© Ashev Sality

Bab 2 Menggunakan Event dan Property

1.

Membuat User Interface

Pemrograman Visual Basic adalah suatu pemrograman visual, dimana pembuatan program dilakukan menggunakan media visual atau sering disebut dengan user-interface. Yang artinya bahwa pembuatan program berdasarkan tampilan yang dihasilkan program, dengan kode-kode program (Script) diletakkan masing-masing komponen. Contoh 1: Buat project baru dengan StandartEXE untuk membuat User Interface sederhana dengan melibatkan komponen Label, Textbox dan CommandButton yang ada di Toolbox pada sebelah kiri dari antar muka Visual Basic seperti gambar berikut:

Untuk mengatur letaknya tinggal menggunakan “drag & drop” dengan mouse. Program ini belum selesai karena masih perlu pengaturan property dan penambahan event pada masing-masing komponen untuk dapat memberikan tampilan yang dapat diterima oleh user dan dapat menjalankan proses.

2.

Mengatur Property

Property pada tampilan antar muka Visual Basic terletak di sebelah kanan, seperti gambar berikut:

13

Copyright© Ashev Sality

Contoh 2: Pada contoh 1 di atas, komponen-komponen yang sudah digunakan adalah Label1, Label 2, Text1, Command1 dan Command2. Atur property masing-masing komponen tersebut sebagai berikut, sehingga menghasilkan tampilan seperti gambar berikut:

14

Copyright© Ashev Sality

Hasil form setelah propertynya di atur adalah:

Masing-masing komponen mempunyai property yang berbeda dan jumlahnyabanyak, tetapi ada beberapa property yang sering digunakan pada setiap komponen, antara lain [Caption]. Property yang sering digunakan untuk Form antara lain:  Name: menyatakan nama obyek form yang sangat berguna untuk memanggil dan menyimpan form.  Caption: digunakan untuk memberikan title pada form.  StartUpPosition: digunakan untuk meletakkan form ketika form tersebut dipanggil atau aktif. Ada empat pilihan yaitu: Manual, CenterOwner, CenterScreen, Windows Default,

3.

Event Dengan Kode Program

Pemrograman visual bersifat event-driver, yang artinya program bekerja berdasarkan event yang terjadi ketika suatu object diberikan aksi misalkan tombol ditekan, option dipilih, atau setelah mengetikkan sesuatu pada text kemudian di tekan [Enter]. Untuk membuat event ini tinggal click pada komponen dari tampilan user interface yang sudah dibuat. Contoh 3: Pada tampilan contoh 2, click pada form (bagian kosong yang tidak digunakan komponen-komponen lainnya), maka akan muncul tampilan seperti gambar berikut:

15

Copyright© Ashev Sality

Perhatikan gambar di atas, ketika form di-click maka akan muncul event Load, ini disebabkan event default untuk form adalah load. Dan secara otomatis di bagian kode program sudah disediakan fungsi untuk event load pada form yang tertulis: Private Sub Form_Load() End Sub Di dalam fungsi ini dituliskan kode program. Kode program ini dijalankan ketika form dipanggil. Event ini bisa diganti di bagian [Event], perhatikan bahwa event pada setiap komponen termasuk form jumlahnya banyak, tinggal dipilih sesuai kebutuhan aplikasi. Contoh 4: Pada tampilan contoh 2, click pada command1, sehingga muncul event pada bagian kode program sebagai berikut: Private Sub Command1_Click() Label2.Caption = Text1.Text End Sub Program ini berarti bahwa apa yang diketikkan pada text1 akan ditampilkan pada label2. Kemudian click pada command2, dan tambahkan kode program sehingga menjadi: Private Sub Command2_Click() End End Sub Perintah End, berarti program keluar dan selesai. Simpan form dan project ini dengan cara pilih menu [File] >> [Save Project], beri nama form dengan formLatihanperkenalan dan nama project dengan projectLatihanperkenalan. Jalankan dengan menekan icon Run ( ) pada toolbar. Masukkan nama misalnya “Ashev Sality” pada text1, dan tekan tombol Ok. Hasilnya adalah seperti gambar berikut.
Perkenalan

16

Copyright© Ashev Sality

Bab 3 Menggunakan Event dan Method
Buat project baru dengan StandartEXE untuk membuat User Interface sederhana seperti gambar berikut:

Pengaturan property setiap object-nya adalah sebagai berikut :

Pada bagian Code Editor ketikkan kode programnya sebagai berikut : Private Sub Command1_Click() List1.AddItem Combo1.Text End Sub
17

Copyright© Ashev Sality

Private Sub Command2_Click() List1.RemoveItem List1.ListIndex End Sub Private Sub Command3_Click() List1.Clear End Sub Private Sub Form_Load() Combo1.AddItem "Safrudin" Combo1.AddItem "Komarudin" Combo1.AddItem "Nasrudin" Combo1.AddItem "Saeudin" Combo1.AddItem "Safrudin" Combo1.AddItem "Nurdin" Combo1.AddItem "Awaludin" End Sub Coba jalankan Project1 :  Untuk menambah isi ListBox : pilih “Safrudin” di dalam ComboBox kemudian klik tombol Add. Ulangi untuk nama-nama yang lain secara acak.  Untuk menghapus salah satu isi ListBox : pilih “Nasrudin” di dalam ListBox kemudian klik tombol Delete.  Untuk menghapus semua isi ListBox : klik tombol Clear.

18

Copyright© Ashev Sality

Bab 4 Penggunaan Data, Variabel dan Operator
1. Bahasa Visual Basic Aplication
Dasar dari pemrograman pada Visual Basic adalah VBA yang menggunakan dialek Basic. Bagi anda yang pernah belajar bahasa Basic, tidak akan sulit untuk belajar VBA. Jadi penguasaan terhadap VBA merupakan syarat mutlak bagi programmer yang ingin mendalami pemrograman Visual Basic.

2.

Data dan Variabel

Ketika seorang user (pengguna) menggunakan sebuah program komputer, seringkali computer memintanya untuk memberikan informasi. Informasi ini kemudian disimpan atau diolah oleh komputer. Informasi inilah yang disebut dengan DATA.

3.

Type Variabel

Dibandingkan dengan type data yang terdapat pada bahasa basic, maka pada VBA, type data yang disediakan lebih banyak, seperti type Currency, Decimal, Object, dan Variant.. Variant merupakan type variabel yang istimewa, karena dapat berubah dari satu type ke type yang lain, sesuai dengan evaluasi ekspresi oleh Visual Basic. Ketepatan pemilihan type variabel akan sangat menentukan pemakaian resources oleh aplikasi yang dihasilkan, adalah tugas programmer untuk memilih type yang sesuai untuk menghasilkan program yang efisien dan berperfoma tinggi.

19

Copyright© Ashev Sality

4.

Operator Pada Visual Basic dan urutan operasinya

Visual basic meyediakan operator aritmatika, komparasi dan logika, salah satu hal yang harus dipahami oleh programmer adalah tata urutan operasi dari masing-masing operator tersebut sehingga mampu membuat ekspresi yang akan menghasilkan nilai yang benar, menunjukkan operator dan urutan operasinya dari atas kebawah.

5.

Operator Like

Salah satu operator yang menarik untuk dibahas adalah operator like, karena operator ini tidak tersedia pada bahasa BASIC. Operator digunakan untuk operasi pencocokan pola pada string yang akan sangat membantu programmer. Syntax : result = string Like pattern

Contoh : • MyCheck • MyCheck • MyCheck • MyCheck • MyCheck • MyCheck • MyCheck

= = = = = = =

"aBBBa" Like "a*a" ' Returns True. "F" Like "[A-Z]" ' Returns True. "F" Like "[!A-Z]" ' Returns False. "a2a" Like "a#a" ' Returns True. "aM5b" Like "a[L-P]#[!c-e]" ' Returns True. "BAT123khg" Like "B?T*" ' Returns True. "CAT123khg" Like "B?T*"

6.

Deklarasi Variabel

Visual Basic memungkinkan kita untuk menggunakan variabel tanpa deklarasi. Tetapi hal ini adalah kurang baik untuk praktek pemrograman yang

20

Copyright© Ashev Sality

terstruktur dan menghindari kesalahan pengolahan yang diakibatkan oleh kesalahan dalam pengetikkan nama variabel. Agar setiap variabel yang digunakan harus dideklarasikan, dapat digunakan perintah : Option Explicit Pada setiap awal module, atau pada menu Tools, pilih Option, pilih tab Editor, buat tanda check pada Require Variable Declaration. Deklarasi variabel pada Visual Basic dapat dilakukan dengan Keyword berikut :

Syntax : <keyword> NamaVariabel [As TypeVariabel] Contoh : Dim Nama As String

7.

Contoh Program : Variabel Test

Aktifkan VB 6 melalui tombol Start. Buat project baru dengan StandartEXE untuk membuat User Interface sederhana seperti gambar berikut:

21

Copyright© Ashev Sality

Pengaturan property setiap object-nya adalah sebagai berikut :

Buka Jendela Code dan pada bagian Code Editor ketikkan kode programnya sebagai berikut : Dim test2 As Integer Private Sub Command1_Click() Dim test1 As String test1 = "nusantara" Label1.Caption = test1 Label2.Caption = test2 Label3.Caption = test3 End Sub Private Sub Command2_Click() test2 = 10 Label1.Caption = test1 Label2.Caption = test2 Label3.Caption = test3 End Sub Private Sub Command3_Click() Const test3 As Single = 90.55 Label1.Caption = test1 Label2.Caption = test2 Label3.Caption = test3 End Sub Coba jalankan Program. Perhatikan sifat variabel global, variabel lokal dan konstanta !

22

Copyright© Ashev Sality

8.

Contoh Program : Operator Test

Aktifkan VB 6 melalui tombol Start. Buat project baru dengan StandartEXE untuk membuat User Interface sederhana seperti gambar berikut:

23

Copyright© Ashev Sality

Pengaturan property setiap object-nya adalah sebagai berikut :

Buka Jendela Code dan pada bagian Code Editor ketikkan kode programnya sebagai berikut : Dim var1 As Single, var2 As Single Dim hasil As Single Private Sub Option1_Click() var1 = Text1.Text var2 = Text2.Text hasil = var1 + var2 Label3.Caption = hasil End Sub Private Sub Option10_Click() var1 = Text1.Text var2 = Text2.Text hasil = (var1 >= var2) Label3.Caption = hasil Label3.Caption = Format(hasil, "true/false") End Sub Private Sub Option11_Click() var1 = Text1.Text var2 = Text2.Text hasil = (var1 <= var2) Label3.Caption = hasil Label3.Caption = Format(hasil, "true/false") End Sub
24

Copyright© Ashev Sality

Private Sub Option12_Click() var1 = IIf(Text1.Text = "true", -1, 0) hasil = Not (var1) Label3.Caption = Format(hasil, "true/false") End Sub Private Sub Option13_Click() var1 = IIf(Text1.Text = "true", -1, 0) var2 = IIf(Text2.Text = "true", -1, 0) hasil = (var1 Or var2) Label3.Caption = Format(hasil, "true/false") End Sub Private Sub Option14_Click() var1 = IIf(Text1.Text = "true", -1, 0) var2 = IIf(Text2.Text = "true", -1, 0) hasil = (var1 And var2) Label3.Caption = Format(hasil, "true/false") End Sub Private Sub Option2_Click() var1 = Text1.Text var2 = Text2.Text hasil = var1 - var2 Label3.Caption = hasil End Sub Private Sub Option3_Click() var1 = Text1.Text var2 = Text2.Text hasil = var1 * var2 Label3.Caption = hasil End Sub Private Sub Option4_Click() var1 = Text1.Text var2 = Text2.Text hasil = var1 / var2 Label3.Caption = hasil
25

Copyright© Ashev Sality

End Sub Private Sub Option5_Click() var1 = Text1.Text var2 = Text2.Text hasil = var1 & var2 Label3.Caption = hasil End Sub Private Sub Option6_Click() var1 = Text1.Text var2 = Text2.Text hasil = (var1 > var2) Label3.Caption = hasil Label3.Caption = Format(hasil, "true/false") End Sub Private Sub Option7_Click() var1 = Text1.Text var2 = Text2.Text hasil = (var1 < var2) Label3.Caption = hasil Label3.Caption = Format(hasil, "true/false") End Sub Private Sub Option8_Click() var1 = Text1.Text var2 = Text2.Text hasil = (var1 = var2) Label3.Caption = hasil Label3.Caption = Format(hasil, "true/false") End Sub Private Sub Option9_Click() var1 = Text1.Text var2 = Text2.Text hasil = (var1 <> var2) Label3.Caption = hasil Label3.Caption = Format(hasil, "true/false") End Sub

26

Copyright© Ashev Sality

Simpan Form (nama file : Lat_operator_test.frm). Penjelasan Kode Program:

27

Copyright© Ashev Sality

28

Copyright© Ashev Sality

Bab 5 Penggunaan Pencabangan
Mengenal Struktur Kendali
Struktur kendali memungkinkan anda untuk mengatur jalannya program anda, Jika membiarkan tanpa di periksa oleh statement control-flow, suatu logika program akan berjalan dari kiri ke kanan dan dari atas kebawah. Hanya program yang sangat sederhana dapat ditulis tanpa statement controlflow.

Struktur Pencabangan
Struktur Pencabangan yang didukung oleh Visual Basic adalah sebagai berikut :

If...Then

Gunakan suatu struktur If...Then untuk menjalankan suatu pernyataan secara kondisional. Anda dapat menggunakan syntax satu baris ataupun syntax banyak baris : If kondisi Then pernyataan atau If kondisi Then pernyataan-pernyataan End If Kondisi biasanya berupa suatu perbandingan, maupun ekspresi yang menghasilkan nilai numerik. Visual Basic menginterpretasikan False sebagai nol (0), dan True sebagai bukan nol.

If...Then...Else

Gunakan If…Then…Else untuk mendefinisikan beberapa blok pernyataan yang akan dijalankan salah satu berdasarkan kondisi yang memenuhi syarat. If kondisi1 Then [blok pernyataan-1] [ElseIf kondisi2 Then [blok pernyataan-2]] ... [Else [blok pernyataan-n]]
29

Copyright© Ashev Sality

End If Visual Basic awalnya akan mencoba kondisi1. Jika False, maka Visual Basic akan memeriksa kondisi2, dan seterusnya sampai menemukan suatu kondisi True untuk dijalankan blok pernyataannya. Contoh : If JlhRec > 0 Then Posisi = 1 Else Posisi = 0 End If

Select Case

Visual Basic menyediakan struktur Select Case sebagai suatu alternatif terhadap If...Then...Else. Suatu Select Case statement memiliki kemampuan yang sama dengan If…Then…Else…, tetapi membuat code lebih mudah dibaca. Struktur Select Case bekerja dengan suatu percobaan tunggal yang hanya dievaluasi satu kali pada bagian atas struktur. Visual Basic then membandingkan hasil ekspresi dengan nilai pada setiap Case didalam struktur tersebut, jika ada yang sesuai, akan dijalankan blok statement yang sesuai. Select Case ekspresiyangdicoba [Case ekspresi1 [blokpernyataan-1]] [Case ekspresi2 [blokpernyataan-2]] … [Case Else [blokpernyataan-n]] End Select Contoh : Select Case x Case 0: angka = "Nol" Case 1: If posisi = 1 Then angka = "Satu " Else angka = "Se" End If Case 2: angka = "Dua " Case 3: angka = "Tiga "
30

Copyright© Ashev Sality

Case Case Case Case Case Case Case Case Case Case Case Case Case Case Case Case End Select

4: angka = "Empat " 5: angka = "Lima " 6: angka = "Enam " 7: angka = "Tujuh " 8: angka = "Delapan " 9: angka = "Sembilan " 10: angka = "Sepuluh " 11: angka = "Sebelas " 12: angka = "Duabelas " 13: angka = "Tigabelas " 14: angka = "Empatbelas " 15: angka = "Limabelas " 16: angka = "Enambelas " 17: angka = "Tujuhbelas " 18: angka = "Delapanbelas " 19: angka = "Sembilanbelas "

Contoh Program Struktur IF…THEN
Aktifkan VB 6 melalui tombol Start. Buat project baru dengan StandartEXE untuk membuat User Interface sederhana seperti gambar berikut:

31

Copyright© Ashev Sality

Pengaturan property setiap object-nya adalah sebagai berikut :

Buka Jendela Code dan pada bagian Code Editor ketikkan kode programnya sebagai berikut : Private Sub Command1_Click() If Text1.Text = "sayatampan" Then Image1.Visible = True Text1.Enabled = False Command1.Enabled = False Else MsgBox "Password Salah !" Text1.Text = "" Text1.SetFocus End If End Sub Simpan Form (nama file : Lat_if.frm). Coba jalankan Program :  Ketikkan sembarang teks pada TextBox lalu klik tombol OK atau tekan Enter tidak terjadi apa-apa.  Ketikkan “sayatampan” pada TextBox lalu klik tombol OK atau tekan Enter gambar komputer akan muncul.

32

Copyright© Ashev Sality

Contoh Program Struktur Select Case
Aktifkan VB 6 melalui tombol Start. Buat project baru dengan StandartEXE untuk membuat User Interface sederhana seperti gambar berikut:

Pengaturan property setiap object-nya adalah sebagai berikut :

33

Copyright© Ashev Sality

Buka Jendela Code dan pada bagian Code Editor ketikkan kode programnya sebagai berikut : Private Sub Form_Load() List1.AddItem "Disket" List1.AddItem "Buku" List1.AddItem "Kertas" List1.AddItem "Pulpen" End Sub Private Sub Command1_Click() Dim harga As Currency, total As Currency Dim jumlah As Integer Dim diskon As Single Dim satuan As String If List1.Text = "" Then MsgBox "Anda belum memilih barang !!" List1.ListIndex = 0 Exit Sub End If If Text1.Text = "" Then MsgBox "Anda belum mengisi jumlah barang !!" Text1.SetFocus Exit Sub End If Select Case List1.Text Case "Disket" harga = 35000 satuan = "Box" Case "Buku" harga = 20000 satuan = "Lusin" Case "Kertas" harga = 25000 satuan = "Rim" Case "Pulpen" harga = 10000 satuan = "Pak"
34

Copyright© Ashev Sality

End Select lblBarang.Caption = "Barang : " & List1.Text lblHarga.Caption = "Harga : " & Format(harga, "Currency") & "/" & satuan lblJumlah.Caption = "Jumlah : " & Text1.Text & " " & satuan jumlah = Text1.Text Select Case jumlah Case Is < 10 diskon = 0 Case 10 To 20 diskon = 0.15 Case Else diskon = 0.2 End Select total = jumlah * (harga * (1 - diskon)) lblDiskon.Caption = "Diskon : " & Format(diskon, "0 %") lblTotal.Caption = "Total Bayar : " & Format(total, "Currency") End Sub Simpan Form (nama file : Lat_case.frm). Coba jalankan Program :  List1 akan terisi nama-nama barang.  Klik tombol OK akan muncul kotak pesan "Anda belum memilih barang !!".  Klik OK, nama barang pertama akan terpilih secara otomatis. Anda boleh memilih nama barang yang lainnya.  Klik tombol OK akan muncul kotak pesan "Anda belum mengisi jumlah barang !!".  Klik OK, text1 akan menjadi focus. Isi jumlah barangnya, misalnya : 10.  Klik tombol OK akan tampil : nama barang, harga barang (persatuannya), jumlah barang (dengan satuannya), diskon dan total bayar.  Coba ganti pilihan nama barang (pada List1) dan jumlah barang (pada Text1) lalu klik lagi tombol OK.

35

Copyright© Ashev Sality

Bab 6 Penggunaan Pengulangan
Struktur loop memperbolehkan anda untuk melaksanakan sekelompok baris lebih dari satu kali :

Do...Loop

Gunakan Do loop untuk mengeksekusi suatu blok statement dengan jumlah perulangan yang tak terhingga, ada beberapa Do...Loop statement, tetapi masing-masing mengevaluasi suatu kondisi untuk menentukan apakah melanjutkan eksekusi. Berikut ini adalah statement Do…Loop, yang dijalankan selama kondisi benar : Do While condition statements Loop Ketika Visual menjalankan Do loop ini, pertama kali akan di coba kondisinya, jika kondisi False (zero), akan diloncati semua statements yang mengikuti kondisi tersebut. Visual Basic akan menjalankan statements jika kondisi benar dan kembali ke Do…Loop berikutnya. Function Faktorial (x) Dim Hasil As Double Dim Count As Long Hasil = 1 count = 2 Do While Count <= x Hasil = Hasil * count count = count + 1 Loop Faktorial = count End Function Variasi lain dari statement Do…Loop, yang menjamin minimal satu kali statement dijalankan : Do statements Loop While condition

36

Copyright© Ashev Sality

Dua variasi yang analog dengan dua contoh sebelumnya adalah perulangan minimal satu kali. Dan berikut ini adalah berulang atau tidak sama sekali : Do Until condition statements Loop Do statements Loop Until condition

For...Next
Do loop bekerja dengan baik, ketika anda tidak tahu berapa bayak kali untuk butuhkan untuk menjalankan statement. Ketika anda mengetahui harus menjalankan statement sejumlah kali, bagaimanapun For…Next adalah pilihan yang lebih baik. Tidak seperti Do Loop, For…loop menggunakan suatu variabel yang disebut counter yang mana akan bertambah atau berkurang pada setiap perulangan. Syntaxnya adalah : For counter = start To end [Step increment] statements Next [counter] Argumen counter, start, end, dan increment semuanya adalah numeric. Dalam melakukan For loop, Visual Basic : 1. Menset nilai counter sama dengan start 2. Mencoba apakah counter lebih besar dari end. Jika ya, Visual Basic meninggalkan looping tersebut. 3. Menjalankan statements tersebut. 4. Menaikkan counter dengan 1 atau dengan nilai step yang ditentukan 5. Mengulangi langkah 2 sampai 4 Code berikut akan mencetak semua item yang terdapat pada suatu daftar list. Private Sub Form_Click () Dim I As Integer For i = 0 To List1.ListCount-1 Print List1.List(I) Next End Sub

Struktur Kendali Nested

Anda dapat meletakkan suatu struktur kendali didalam struktur kendali lainnya, yang dikenal dengan istilah nested. Struktur kendali pada Visual Basic dapat nested sebanyak level yang anda inginkan.

37

Copyright© Ashev Sality

Meninggalkan suatu Struktur Kendali

Statement Exit memperbolehkan anda untuk keluar langsung dari suatu For loop, Do Loop, syntax untuk statement Exit adalah sederhana : Exit For dapat muncul sebanyak mungkin dalam suatu For. Loop, demikian juga Exit Do untuk Do loop. For counter = start To end [Step increment] [statementblock] [Exit For] [statementblock] Next [counter[, counter] [,...]] Do [{While | Until} condition] [statementblock] [Exit Do] [statementblock] Loop Statement Exit Do bekerja pada semua versi syntax Do loop. Exit For dan Exit Do adalah kadang-kadang perlu untuk keluar dari suatu loop dengan segera, tanpa melakukan iterasi yang berikutnya.

Struktur Looping
Aktifkan VB 6 melalui tombol Start. Buat project baru dengan StandartEXE untuk membuat User Interface sederhana seperti gambar berikut:

38

Copyright© Ashev Sality

Pengaturan property setiap object-nya adalah sebagai berikut :

Buka Jendela Code dan pada bagian Code Editor ketikkan kode programnya sebagai berikut : Dim i As Integer Private Sub Command1_Click() List1.Clear For i = 1 To 100 List1.AddItem "Angka " & i Next i End Sub Private Sub Command2_Click() List1.Clear For i = 100 To 1 Step -2 List1.AddItem "Angka " & i Next i End Sub Private Sub Command3_Click() List1.Clear i = Asc("A") Do Until i > Asc("Z") List1.AddItem "Huruf " & Chr(i) i = i + 1 Loop End Sub Private Sub Command4_Click() List1.Clear i = Asc("Z") Do While i >= Asc("A") List1.AddItem "Huruf " & Chr(i) i = i - 1 Loop
39

Copyright© Ashev Sality

End Sub Simpan Form (nama file : Lat_loop.frm). Coba jalankan Program :  Klik Command1 List1 akan  Klik Command2 List1 akan 100 dengan urutan descending.  Klik Command3 List1 akan  Klik Command4 List1 akan urutan descending. berisi : Angka 1 s/d Angka 100. berisi : Angka genap antara 1 s/d berisi : Huruf A s/d Huruf Z. berisi : Huruf A s/d Huruf Z dengan

40

Copyright© Ashev Sality

Bab 7 Penggunaan ARRAY dan Kontrol ARRAY
Array
Array merupakan sekumpulan nilai data yang “dikelompokkan” dalam sebuah variabel. Array digunakan bila ada beberapa nilai data yang tipe datanya sama dan akan mendapat perlakuan yang sama pula. Misalnya, ada 10 nilai data dengan tipe string dan akan diolah dengan cara yang sama, maka akan lebih mudah jika menggunakan sebuah array dibandingkan bila menggunakan 10 variabel yang berbeda. Setiap nilai data di dalam sebuah array disebut elemen array dan masing-masing dibedakan dengan nomer indeksnya.

Kontrol Array
Kontrol array merupakan sekumpulan kontrol yang “dikelompokkan” dengan nama yang sama di dalam sebuah Form. Kontrol array digunakan bila ada beberapa kontrol yang sama dan akan mendapat perlakuan yang sama pula. Misalnya, ada 5 buah TextBox di dalam sebuah Form dan akan diprogram dengan cara yang sama, maka akan lebih mudah jika membuat sebuah TextBox sebagai kontrol array dibandingkan bila membuat 5 buah TextBox yang berbeda. Setiap object di dalam kontrol array masingmasing dibedakan dengan nomer indeksnya.

Menggunakan Array
Sebuah array dideklarasikan dengan cara yang sama dengan variabel, yaitu menggunakan perintah Dim, kemudian diikuti dengan tanda kurung dan jumlah elemen arraynya dikurangi 1 : Dim nama_array(jumlah_elemen - 1) As tipe_data Contoh : Dim NamaSiswa(99) As String array NamaSiswa akan mempunyai elemen sebanyak 100 dengan nomer indeks mulai dari 0 s/d 99. Selanjutnya untuk mengisi nilai data ke dalam array : nama_array(no_indeks) = nilai_data

41

Copyright© Ashev Sality

Contoh : NamaSiswa(0) = “umar” Namasiswa(1) = “fatimah” … Untuk “mengosongkan” nilai data, bisa menggunakan struktur kontrol For…Next : For i = 0 To 99 NamaSiswa(i) = “” Next i Catatan :  Agar nomer indeks array dimulai dari 1 (bukan 0), bisa menggunakan perintah Option Base 1 sebelum perintah Dim-nya, contoh : Option Base 1 Dim NamaSiswa(100) As String  Atau bisa juga menggunakan kata To di dalam penentuan jumlah elemen array, contoh : Dim NamaSiswa(1 To 100) As String  Untuk mengetahui berapa jumlah elemen di dalam sebuah array, bisa menggunakan perintah Ubound(nama_array), contoh : Dim NamaSiswa(1 To 100) As String Dim JmlElemen As Integer JmlElemen = Ubound(NamaSiswa) hasilnya = 100  Bila jumlah elemen array yang dibutuhkan tidak diketahui atau ingin bisa diubah-ubah, maka bagian jumlah_elemen pada perintah Dim tidak perlu diisi, contoh : Dim NamaSiswa() As String Teknik ini biasa disebut sebagai array dinamis, biasanya untuk mengisi data yang berkembang terus, dan belum bisa ditentukan di awal jumlah elemennya.  Untuk mengubah jumlah elemen array digunakan perintah Redim : Redim [Preserve] nama_array(jumlah_elemen) Contoh : Redim NamaSiswa(1 To 150) jumlah elemen array NamaSiswa menjadi 150 dengan nomer indeks dari 1 s/d 150. Penggunaan kata Preserve dapat dilihat pada contoh program.

42

Copyright© Ashev Sality

Membuat Kontrol Array
Untuk membuat kontrol array (misalnya TextBox) sebanyak 5 buah di dalam sebuah form, lakukan langkah berikut ini : 1. Buatlah sebuah TextBox di dalam sebuah Form. 2. Aturlah property TextBox tersebut sebagai berikut : Name : txtData Index : 0 (nol) Perhatikan : kontrol TextBox-nya akan menjadi object txtData(0) (lihat bagian Object Selector pada Jendela Properties). 3. Klik object txtData(0) pada Form, kemudian klik tombol Copy pada bagian Toolbar. 4. Untuk membuat TextBox kedua, klik tombol Paste pada bagian Toolbar. TextBox kedua akan muncul di pojok kiri Form sebagai object txtData(1), aturlah posisinya di dalam Form. 5. Lakukan langkah ke-4 di atas sebanyak 4 kali (sesuai dengan jumlah TextBox yang dibutukan). 6. Di dalam Form akan ada 5 buah TextBox dengan nama yang sama (yaitu txtData) dan masing-masing menjadi object txtData yang dibedakan nomer indexnya (mulai dari 0 s/d 4). Selanjutnya object-object yang dibuat dengan kontrol array bisa diprogram dengan lebih mudah. Misalnya untuk “mengosongkan” object txtData, bisa menggunakan struktur kontrol For…Next : For i = 0 To 4 txtData(i).Text = “” Next i Cara ini lebih mudah bila dibandingkan cara “konvensional” berikut : Text1.Text = “” Text2.Text = “” … Text4.Text = “”

43

Copyright© Ashev Sality

Contoh Program Array Test
Aktifkan VB 6 melalui tombol Start. Buat project baru dengan StandartEXE untuk membuat User Interface sederhana seperti gambar berikut:

Pengaturan property setiap object-nya adalah sebagai berikut :

Buka Jendela Code dan pada bagian Code Editor ketikkan kode programnya sebagai berikut : Dim NamaSiswa(4) As String Private Sub Form_Load() Dim i As Integer For i = 0 To 4 Combo1.AddItem i Next i Combo1.ListIndex = 0
44

Copyright© Ashev Sality

End Sub Private Sub Command1_Click() Dim no As Integer, i As Integer no = CInt(Combo1.Text) NamaSiswa(no) = InputBox("Tuliskan nama siswa no : " & no, "Input Nama Siswa") If NamaSiswa(no) <> "" Then List1.Clear For i = 0 To 4 List1.AddItem "NamaSiswa(" & i & ")=" & NamaSiswa(i) Next i End If End Sub Simpan Form (nama file : Lat_Array.frm). Coba jalankan Program :  Pilih nomer indeks elemen array NamaSiswa melalui Combo1 (antara 0 s/d 4)  Klik Command1 akan muncul kotak input untuk mengisi nama siswa  Ketikkan nilai data untuk elemen array dengan nomer indeks yang dipilih, misalnya Salman  Klik tombol OK  Isi setiap elemen array NamaSiswa akan muncul di dalam List1  Ulangi langkahnya untuk mengisi elemen array nomer indeks lainnya

45

Copyright© Ashev Sality

Contoh Program Kalkulator (Kontrol Array)
Aktifkan VB 6 melalui tombol Start. Buat project baru dengan StandartEXE untuk membuat User Interface sederhana seperti gambar berikut:

Pengaturan property setiap object-nya adalah sebagai berikut :

46

Copyright© Ashev Sality

Buat kontrol array dari cmdAngka (sebanyak 10 buah) dan dari cmdOperator (sebanyak 3 buah). Kemudian atur property caption masing-masing sebagai berikut :

Buka Jendela Code dan pada bagian Code Editor, lalu ketikkan kode programnya sebagai berikut : Dim angka(1 To 2) As Single Dim operator As String Private Sub cmdAngka_Click(Index As Integer) Text1.Text = Text1.Text & cmdAngka(Index).Caption End Sub Private Sub cmdOperator_Click(Index As Integer) If Text1.Text = "" Then Exit Sub angka(1) = CSng(Text1.Text) operator = cmdOperator(Index).Caption Text1.Text = ""
47

Copyright© Ashev Sality

End Sub Private Sub cmdHitung_Click() Dim hasil As Single If Text1.Text = "" Then Exit Sub angka(2) = CSng(Text1.Text) Select Case operator Case "+" hasil = angka(1) + angka(2) Case "-" hasil = angka(1) - angka(2) Case "*" hasil = angka(1) * angka(2) Case "/" hasil = angka(1) / angka(2) End Select Text1.Text = hasil End Sub Private Sub cmdHapus_Click() Text1.Text = "" End Sub Simpan Form (nama file : Lat_kalkulator_array.frm). Coba       jalankan Program : Klik salah satu tombol angka, misalnya 5 Klik salah satu tombol operator, misalnya * Klik lagi salah satu tombol angka, misalnya 6 Klik tombol = Akan muncul pada TextBox angka 30 (hasil penghitungan 5 * 6) Klik tombol C untuk menghapus isi TextBox

48

Copyright© Ashev Sality

Bab 8 Penggunaan Procedure
Pengertian Procedure
Procedure adalah blok kode program yang berisi perintah-perintah untuk mengerjakan tugas tertentu. Bila di dalam kode program yang kita buat ada perintah-perintah untuk melakukan tugas yang sama di beberapa tempat, maka akan lebih baik perintah-perintah tersebut dibuat dalam sebuah procedure. Kemudian, procedure itu bisa di-„panggil‟ bila diperlukan. Penggunaan procedure sangat menghemat penulisan kode program, karena kode-kode program yang sama dibeberapa tempat cukup dibuat pada satu bagian saja. Selain itu, procedure akan memudahkan perbaikan kode program bila terjadi perubahan atau kesalahan, karena perbaikan cukup dilakukan pada satu bagian saja.

Jenis-jenis Procedure
Pada VB6 ada 4 jenis procedure, yaitu : 1) Procedure Sub – procedure yang tidak mengembalikan nilai setelah„tugas‟-nya selesai. 2) Procedure Function – procedure yang mengembalikan nilai setelah „tugas‟-nya selesai. 3) Procedure Event – procedure untuk suatu event pada sebuah object. Digunakan di dalam class module. 4) Procedure Property – procedure untuk mengubah (let) atau mengambil (get) nilai property pada sebuah object. Digunakan di dalam class module. Bentuk penulisan (syntax) procedure sub : [Public | Private] Sub <nama_sub> ([<argumen>]) … <isi procedure> … End Sub Sedangkan bentuk penulisan (syntax) procedure function : [Public|Private] Function <nama_function> ([<argumen>]) As <tipe_data> … <isi procedure> … End Function Pernyataan [Public | Private] menentukan ruang lingkup (scope) procedure. Sebuah procedure dengan scope public bisa digunakan dalam lingkup project.
49

Copyright© Ashev Sality

Sedangkan procedure dengan scope private hanya bisa digunakan dalam lingkup form saja. <nama_sub> atau <nama_function> dibuat sebagai pengenal procedure saat di-„panggil‟. Aturan penamaan sebuah procedure sama dengan aturan penamaan sebuah variabel. Nama sebuah procedure dibuat unik, tidak boleh ada yang sama. <argumen> merupakan serangkaian nilai dan tipe data yang dipakai oleh procedure untuk mengerjakan „tugas‟-nya. Sebuah procedure bisa saja tidak memakai argumen sama sekali. Pernyataan As <tipe_data> pada procedure function menentukan tipe data nilai yang akan dikembalikan (return value) setelah „tugas‟-nya selesai. Untuk menggunakan sebuah procedure, maka procedure tersebut harus di„panggil‟ pada bagian tertentu dari kode program. Procedure sub di-„panggil‟ dengan pernyataan : Call <nama_sub>([<argumen>]) Sedangkan procedure function bisa di-„panggil‟ langsung menyisipkannya di dalam kode program yang memanggilnya. dengan

Procedure boleh ditulis dimana saja dalam kode program, tetapi biasanya ditulis dibagian atas atau bawah agar mudah ditangani.

Contoh Program Procedure Test
Aktifkan VB 6 melalui tombol Start. Buat project baru dengan StandartEXE untuk membuat User Interface sederhana seperti gambar berikut:

50

Copyright© Ashev Sality

Pengaturan property setiap object-nya adalah sebagai berikut :

Buka Jendela Code, lalu pada bagian Code Editor ketikkan kode programnya sebagai berikut : Private Sub TulisTeks(teks As String, warna As ColorConstants) With Label1 .Caption = teks .ForeColor = warna End With End Sub Private Function JumlahAngka() As String Dim angka1 As String, angka2 As String Dim hasil As Single angka1 = InputBox("Tulis angka 1 :", "Jumlah Angka") angka2 = InputBox("Tulis angka 2 :", "Jumlah Angka") If angka1 <> "" And angka2 <> "" Then hasil = CSng(angka1) + CSng(angka2) JumlahAngka = Cstr(hasil) End If End Function Private Sub Label1_DblClick() Call TulisTeks("Hai", vbBlue) End Sub Private Sub Command1_Click() Call TulisTeks("Hallo", vbRed) End Sub Private Sub Command2_Click() Label1.Caption = "Jumlah = " & JumlahAngka() End Sub Simpan Form (nama file : Lat_ Function.frm).
51

Copyright© Ashev Sality

Coba      

jalankan Program: Dobel-klik Label1, akan muncul tulisan “Hai” dengan warna biru. Klik Command1, akan muncul tulisan “Hallo” dengan warna merah. Klik Command2, akan muncul kotak input. Ketikkan angka 5, lalu klik tombol OK. Ketikkan angka 10, lalu klik tombol OK. Akan muncul tulisan “Jumlah = 15”.

52

Copyright© Ashev Sality

Bab 9 Module Pada Visual Basic
Visual Basic menyediakan module yang dapat digunakan untuk memuat fungsi,subrutin, konstanta, variabel dan type ciptaan yang akan disediakan bagi keseluruhan project. Untuk membuat module dalam project anda dapat menggunakan perintah Project, Add Module.

Sesaat setelah anda menambahkan module, maka pada Jendela Project Explorer akan nampak Module1

Untuk melakukan koding, anda dapat melakukan double klik pada Module tersebut.

53

Copyright© Ashev Sality

Deklarasi Variabel Pada Module
Pada Module anda dapat mendeklarasikan variabel dengan awalan DIM, PRIVATE maupun PUBLIC, dimana awalan DIM dan PRIVATE anda membentuk variabel Module Level (hanya berlaku didalam pemakaian module bersangkutan), sedangkan awalan PUBLIC akan menghasilkan variabel Global yang akan berfungsi bagi keseluruhan Program. Contoh : Dim A as Integer Private B as Integer Public C as Integer 'Variabel A adalah Module Level 'Variabel B adalah Module Level 'Variabel C dapat digunakan oleh program keseluruhan

Deklarasi Fungsi dan Sub
Sub dan Function yang dideklarasikan dalam suatu Module bersifat Global bagi keseluruhan program, kecuali kalau diawali dengan awalan PRIVATE. Contoh : Sub Tengah(x) x.Move (Screen.Width - x.Width) \ 2, _ (Screen.Height - x.Height) \ 2 End Sub Sub Tengah diatas berlaku untuk program secara keseluruhan.

54

Copyright© Ashev Sality

Bab 10 MDI Form dan Menu
Mengenal Multiple Document Interface
Pada Visual Basic, anda dapat mengembangkan aplikasi dengan interface sebagai berikut:  SDI (Single Document Interface)  MDI (Multiple Document Interface) Pada aplikasi SDI, setiap form merupakan form-form yang berdiri sendiri, Aplikasi SDI pada windows terdapat pada aplikasi seperti Notepad, WordPad dan Paint. Sedangkan aplikasi seperti Microsoft Word menggunakan MDI, yaitu terdiri dari suatu MDIForm, dan didalamnya merupakan form-form anak (MDIchild). Ada beberapa hal yang harus diperhatikan dalam penggunaan MDIForm adalah : 1) Didalam satu project hanya dapat terdiri dari satu MDIForm 2) Anda tidak dapat menempatkan kontrol-kontrol secara langsung pada MDIForm, kecuali kontrol yang memiliki properti Alignment, atau menempatkannya diatas kontainer seperti Picturebox. 3) Anda tidak dapat menggunakan metode pengambaran (Print, Line, Circle, dan PSet) seperti pada form umumnya.

Membuat suatu Aplikasi MDI pada Visual Basic
1. Membuat suatu MDI form Dari menu Insert, Pilih Add MDI Form. (Suatu aplikasi hanya dapat terdiri dari satu MDI form)

2. Membuat suatu Form menjadi MDI Child Dari properti Form tersebut, ubah nilai properti MDI Child-nya menjadi True.

55

Copyright© Ashev Sality

3. Menentukan StartUp Objek Pada Menu Tools, pilih Command Options, pilih Tab Project, Tentukan StartUp Object ke MDI form yang telah ditambahkan.

Karakteristik dari MDI Form:  Semua child form tidak dapat dipindahkan keluar dari MDI Form.  Ketika suatu child form diminimize, akan menjadi icon dibawah MDI Form.  Anda dapat menentukan apakah child form secara otomatis ditampilkan atau tidak dengan menggunakan properti AutoShowChildren pada MDIForm.  Jika pada child form ada menu, maka menu akan ditampilkan pada MDIform menu. Pada MDIform anda tidak dapat menempatkan kontrol-kontrol visible yang tidak mendukung alignment, kecuali kalau anda menempatkannya kedalam suatu kontainer seperti Picturebox, dan Toolbar. Sedangkan kontrol non-visible seperti Timer dan CommonDialog box dapat ditempatkan diatas MDIForm.

Mendapatkan MDI Child yang sedang aktif.
Untuk mendapatkan form-form yang sedang aktif didalam suatu MDIform, anda dapat menggunakan properti ActiveForm, contoh : Private Sub MDIForm_QueryUnload(Cancel As Integer, UnloadMode As Integer) If Not Me.ActiveForm Is Nothing Then MsgBox "Masih ada Form yang aktif" Cancel = True End If End Sub

Mengatur MDI Child dalam jendela MDI form
Anda dapat menggunakan metoda Arrange untuk mengatur penyusunan formform yang sedang aktif didalam suatu MDI form. Metoda Arrange ini diikuti oleh suatu parameter yang menentukan jenis penyusunan yang akan dilakukan, contoh : Private Sub mnuTileHorizontally_Click() Arrange vbTileHorizontal End Sub Private Sub mnuTileVertically_Click() Arrange vbTileVertical
56

Copyright© Ashev Sality

End Sub Private Arrange End Sub Private Arrange End Sub

Sub mnuCascade_Click() vbCascade Sub mnuArrangeIcons_Click() vbArrangeIcons

Membuat Menu Pada Visual Basic
Pembuatan menu pada Visual Basic dapat dilakukan dengan bantuan Menu Editor yang terdapat pada Menu Tools.

Pada dasarnya setiap item menu memiliki Caption dan sebuah Nama. Anda dapat membentuk Kunci Akses dengan menggunakan tanda & (ampersand) pada Caption dari menu tersebut. Untuk membuat menu anda cukup mengetikan Caption dan Name, selanjutnya klik pada Next, dan ketikkan menu yang berikutnya, sampai selesai. Selanjutnya adalah menbuat Sub Menu dengan melakukan klik pada panah kanan dan sebaliknya. Anda dapat membuat sampai 5 Sub Menu (6 kalau termasuk Menu Utama).

57

Copyright© Ashev Sality

Pada contoh diatas akan menghasilkan menu sebagai berikut :

Membuat Garis Pemisah antar Menu
Anda dapat menggunakan tanda - (karakter hypen) untuk membuat garis pemisah antar menu pada Caption.

58

Copyright© Ashev Sality

Sehingga akan menghasilkan menu sebagai berikut :

Melakukan Koding terhadap Menu
Untuk melakukan koding terhadap item menu, anda dapat membuka menu pada saat design dan akan menghasilkan Event Click untuk item menu tersebut, contoh : Private Sub mnuDataDepartemen_Click() frmDepartemen.Show End Sub

Membuat Menu yang memiliki tanda Check
Anda dapat membuat menu yang memiliki memanfaatkan option Checked pada Menu Editor. tanda Check dengan

59

Copyright© Ashev Sality

Sehingga akan menghasilkan menu sebagai berikut :

Anda dapat mengatur keaktifan tanda Check dari item menu tersebut dengan koding sebagai berikut : Private Sub mnuTampilWaktu_Click() mnuTampilWaktu.Checked = Not mnuTampilWaktu.Checked If mnuTampilWaktu.Checked Then frmWaktu.Show Else Unload frmWaktu End If End Sub Anda dapat memanfaatkan option Visible untuk menyembunyikan menu ataupun menampilkan suatu item menu berdasarkan kondisi tertentu, dan option Enabled untuk membuat suatu menu dapat dipilih atau tidak.

Membuat Menu Pop Up
Pada Visual Basic, anda dapat membuat menu pop up dengan memanfaatkan menu Editor untuk mendefinisikan nama kelompok menu Pop Up beserta Sub Menunya, dan menonaktifkan option Visible dari kelompok menu tersebut.

60

Copyright© Ashev Sality

Kemudian lakukan koding pada Event MouseDown pada MDIform Private Sub MDIForm_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) If Button And vbRightButton Then PopupMenu mnuAtur End If End Sub Sehingga kalau dilakukan klik kanan pada form akan menanpilkan suatu Pop Up menu yang berupa Sub Menu dari mnuAtur.

61

Copyright© Ashev Sality

Bab 11 Kumpulan Latihan
Latihan ke – 1
Buat desain form dibawah ini :

Pengaturan properties :

Double klik pada Command1/CmdInputNama kemudian tuliskan kode dibawah ini : 'Deklarasi variable Dim nama As String Private Sub CmdInputNama_Click() 'Pemberian nilai pada variable nama 'dengan menggunakan input box nama = InputBox("Siapa nama Anda ??", "Input Nama") End Sub Double klik pada Command2/CmdTampilNama kemudian tuliskan kode dibawah ini : Private Sub CmdTampilNama_Click() 'Menampilkan message box 'dan memanggil variable nama MsgBox "Nama Anda " + nama End Sub
62

Copyright© Ashev Sality

Double klik pada Command3/CmdKeluar kemudian tuliskan kode dibawah ini : Private Sub CmdKeluar_Click() Unload Me End Sub

Latihan ke -2
Buat desain form dibawah ini :

Pengaturan properties :

Double klik pada Command1/CmdInputNama kemudian tuliskan kode dibawah ini : Private Sub CmdTampil_Click() 'Mengganti caption = "NPM : 07301174" pada label1 Label1.Caption = "NPM : 07301174" 'Meengganti caption = "Nama :Yulianita" pada label2 Label2.Caption = "Nama :Yulianita" 'Mengganti caption = "Jurusan : AKE" pada label3 Label3.Caption = "Jurusan : AKE" End Sub Double klik pada Command2/CmdUbahWarna kemudian tuliskan kode dibawah ini : Private Sub CmdUbahWarna_Click() 'Mengganti warna dasar form menjadi warna kuning FrmLatihan2.BackColor = vbYellow
63

Copyright© Ashev Sality

End Sub Double klik pada Command3/CmdKeluar kemudian tuliskan kode dibawah ini : Private Sub CmdKeluar_Click() Unload Me End Sub

Latihan ke – 3
Buat desain form dibawah ini :

Pengaturan properties :

64

Copyright© Ashev Sality

Double klik pada Command1/CmdTambah kemudian tuliskan kode dibawah ini : Private Sub CmdTambah_Click() 'Menampilkan hasil pada TxtHasil 'dari penjumlahan TxtBil_1 dan TxtBil_2 TxtHasil.Text = Val(TxtBil_1.Text) + Val(TxtBil_1.Text) End Sub Double klik pada Command2/CmdKurang kemudian tuliskan kode dibawah ini : Private Sub CmdKurang_Click() 'Menampilkan hasil pada TxtHasil 'dari pengurangan TxtBil_1 dan TxtBil_2 TxtHasil.Text = Val(TxtBil_1.Text) - Val(TxtBil_1.Text) End Sub Double klik pada Command3/CmdKali kemudian tuliskan kode dibawah ini : Private Sub CmdKali_Click() 'Menampilkan hasil pada TxtHasil 'dari perkalian TxtBil_1 dan TxtBil_2 TxtHasil.Text = Val(TxtBil_1.Text) * Val(TxtBil_1.Text) End Sub Double klik pada Command4/CmdBagi kemudian tuliskan kode dibawah ini : Private Sub CmdBagi_Click() 'Menampilkan hasil pada TxtHasil 'dari pemabagian TxtBil_1 dan TxtBil_2 TxtHasil.Text = Val(TxtBil_1.Text) / Val(TxtBil_1.Text) End Sub Double klik pada Command5/CmdReset kemudian tuliskan kode dibawah ini : Private Sub CmdReset_Click() 'Membersihkan text yang terdapat pada 'TxtBil_1,TxtBil_2 dan TxtHasil TxtBil_1.Text = "" TxtBil_2.Text = "" TxtHasil.Text = ""
65

Copyright© Ashev Sality

End Sub Double klik pada Command6/CmdClose kemudian tuliskan kode dibawah ini : Private Sub CmdClose_Click() Unload Me End Sub

Latihan Ke -4
Buat desain form dibawah ini :

Pengaturan properties :

66

Copyright© Ashev Sality

Double klik pada Command1/CmdHitung kemudian tuliskan kode dibawah ini : Private Sub CmdHitung_Click() If OptTambah.Value = True Then TxtHasil.Text = Val(TxtBil_1.Text) + Val(TxtBil_2.Text) ElseIf OptKurang.Value = True Then TxtHasil.Text = Val(TxtBil_1.Text) - Val(TxtBil_2.Text) ElseIf OptKali.Value = True Then TxtHasil.Text = Val(TxtBil_1.Text) * Val(TxtBil_2.Text) ElseIf OptBagi.Value = True Then TxtHasil.Text = Val(TxtBil_1.Text) / Val(TxtBil_2.Text) End If End Sub Double klik pada Command2/CmdReset kemudian tuliskan kode dibawah ini : Private Sub CmdReset_Click() TxtBil_1.Text = Empty TxtBil_2.Text = Empty TxtHasil.Text = Empty End Sub Double klik pada Command3/CmdKeluar kemudian tuliskan kode dibawah ini : Private Sub CmdKeluar_Click() Unload Me End Sub

67

Copyright© Ashev Sality

Latihan Ke -5
Buat desain form dibawah ini :

Pengaturan properties :

Double klik pada Form kemudian tuliskan kode dibawah ini : Private Sub Form_Load() 'Menampilkan List/item pada CmbKodeBrg CmbKodeBrg.AddItem "BRG001" CmbKodeBrg.AddItem "BRG002" CmbKodeBrg.AddItem "BRG003" CmbKodeBrg.AddItem "BRG004" End Sub Double klik pada Combo1/CmbKodeBrg kemudian tuliskan kode dibawah ini : Private Sub CmbKodeBrg_Click() 'Menampilkan Nama & Harga Barang 'dengan menggunakan pemilihan Select Case 'berdasarkan List Index Select Case CmbKodeBrg.ListIndex Case 0 Label1.Caption = "Mouse" Label2.Caption = "Rp. 40.000" Case 1 Label1.Caption = "Keyboard" Label2.Caption = "Rp. 50.000"
68

Copyright© Ashev Sality

Case 2 Label1.Caption Label2.Caption Case 3 Label1.Caption Label2.Caption End Select End Sub

= "FlashDisk" = "Rp. 100.000" = "Printer" = "Rp. 500.000"

Latihan Ke -6
Buat desain form dibawah ini :

Pengaturan properties :

Double klik pada Form kemudian tuliskan kode dibawah ini : Private Sub Form_Load() 'Menampilkan List/item pada LstKodeBrg LstKodeBrg.AddItem "BRG001" LstKodeBrg.AddItem "BRG002" LstKodeBrg.AddItem "BRG003" LstKodeBrg.AddItem "BRG004" End Sub Double klik pada List1/LstKodeBrg kemudian tuliskan kode dibawah ini : Private Sub LstKodeBrg_Click()
69

Copyright© Ashev Sality

'Menampilkan Nama & Harga Barang 'dengan menggunakan pemilihan Select Case 'berdasarkan List Index Select Case LstKodeBrg.ListIndex Case 0 Label1.Caption = "Mouse" Label2.Caption = "Rp. 40.000" Case 1 Label1.Caption = "Keyboard" Label2.Caption = "Rp. 50.000" Case 2 Label1.Caption = "FlashDisk" Label2.Caption = "Rp. 100.000" Case 3 Label1.Caption = "Printer" Label2.Caption = "Rp. 500.000" End Select End Sub

Latihan Ke -7
Buat desain form dibawah ini :

Pengaturan properties :

70

Copyright© Ashev Sality

Private Sub CmbKodeBrg_Click() Select Case CmbKodeBrg.ListIndex Case 0 TxtNamaBrg.Text = "Mouse" TxtHarga.Text = 40000 Case 1 TxtNamaBrg.Text = "Keyboard" TxtHarga.Text = 50000 Case 2 TxtNamaBrg.Text = "Falshdisk" TxtHarga.Text = 70000 Case 3 TxtNamaBrg.Text = "Monitor" TxtHarga.Text = 500000 End Select End Sub Private Sub CmdHitung_Click() TxtTotal.Text = Val(TxtHarga.Text) * Val(TxtQty.Text) End Sub Private Sub CmdReset_Click() CmbKodeBrg.Text = Empty TxtNamaBrg.Text = Empty TxtHarga.Text = Empty TxtQty.Text = Empty TxtTotal.Text = Empty End Sub Private Sub Form_Load() CmbKodeBrg.AddItem "BRG001" CmbKodeBrg.AddItem "BRG002" CmbKodeBrg.AddItem "BRG003" CmbKodeBrg.AddItem "BRG004" End Sub
71

Copyright© Ashev Sality

Latihan Ke -8

Buat desain form dibawah ini :

Private Sub CmdProses_Click() 'Deklarasi variable Dim rata As Single Dim mutu As String 'Menghitung rata-rata rata = (Val(TxtUAS.Text) * 0.5) + (Val(TxtUTS.Text) * 0.4) + (Val(TxtTugas.Text) * 0.1) 'Menentukan mutu If rata >= 80 Then mutu = "A" ElseIf rata >= 70 Then mutu = "B" ElseIf rata >= 60 Then mutu = "C" ElseIf rata >= 40 Then mutu = "D" Else mutu = "E" End If 'Menampilkan pada List1/LstTampil LstTampil.AddItem "NPM = " + TxtNPM.Text LstTampil.AddItem "Nama = " + TxtNama.Text
72

Copyright© Ashev Sality

If OptLk.Value = True Then LstTampil.AddItem "Jenis Kelamin = " + OptLk.Caption Else LstTampil.AddItem "Jenis Kelamin = " + OptPr.Caption End If LstTampil.AddItem "Jurusan = " + CmbJurusan.Text LstTampil.AddItem "Nilai UTS = " + TxtUTS.Text LstTampil.AddItem "Nilai UAS = " + TxtUAS.Text LstTampil.AddItem "Nilai Tugas = " + TxtTugas.Text LstTampil.AddItem "Tota Nilai = " + Str(rata) LstTampil.AddItem "Mutu = " + mutu End Sub Private Sub CmdReset_Click() TxtNPM.Text = Empty TxtNama.Text = Empty OptLk.Value = False OptPr.Value = False CmbJurusan.Text = "" TxtUTS.Text = Empty TxtUAS.Text = Empty TxtTugas.Text = Empty LstTampil.Clear End Sub Private Sub CmdKeluar_Click() If MsgBox("Anda akan keluar..??", "Keluar") = vbOK Then End End If End Sub vbOKCancel + vbQuestion,

Private Sub Form_Load() 'Menampilkan item pada combo1/CmbJurusan CmbJurusan.AddItem "MIF" CmbJurusan.AddItem "TIK" CmbJurusan.AddItem "AKE" CmbJurusan.AddItem "ARM" CmbJurusan.AddItem "MPRS" End Sub

73

Copyright© Ashev Sality

Bab 12 Pembuatan Program Menggunakan Database Microsoft Access

Pengertian Database
Kumpulan data yang dipakai / ada dalam suatu lingkup tertentu, misalkan instansi, perusahaan dan lain-lain atau kasus tertentu.

Contoh Program Penyewaan Mobil
Sebenarnya Pembuatan Program pada Visual Basic 6.0 mampu membaca berbagai macam jenis database, yang akan saya bahas kali ini adalah database menggunakan Ms.Access 2007. Berikut adalah langkah-langkahnya:

1.

Pembuatan Database

Buat database dengan menggunakan Ms.Access. dengan ketentuan sebagai berikut: 1) Pembuatan Tabel Tabel Mobil No Field Name 1 Kode_Mobil 2 Nama_Merk 3 Jenis_Mobil 4 No_Polisi 5 No_Rangka 6 No_Mesin 7 Harga_Sewa Tabel Penyewa No Field Name 1 ID_Penyewa 2 Nama_Penyewa 3 Alamat 4 No_Telepon 5 No_KTP Data Type String String String String String String Currency Size 8 15 15 7 8 8 Keterangan Primary Key

Data Type String String String String String

Size 8 30 60 12 34

Keterangan Primary Key

74

Copyright© Ashev Sality

Tabel Peminjaman No Field Name 1 2 3 4 5 6 7 8 9 10 No_Transaksi ID_Penyewa Nama_Penyewa Kode_Mobil Jenis_Mobil Jumlah_Sewa Harga_Sewa Tanggal_Sewa Tanggal_Harus_Kembali Total_Harga

Data Type String String String String String Integer Currency Date/Time Date/Time Currency

Size 8 8 30 8 15 5 10 10

Keterangan Primary Key

Tabel Pengembalian No Field Name 1 2 3 4 5 6 7 8 9 10 No_Transaksi ID_Penyewa Nama_Penyewa Kode_Mobil Jenis_Mobil Jumlah_Sewa Harga_Sewa Tanggal_Harus_Kembali Tanggal _Kembali Total_Denda 2) Pembuatan Query

Data Type String String String String String Integer Currency Date/Time Date/Time Currency

Size 8 8 30 8 15 5 10 10

Keterangan

Buat Query dengan ketentuan sebagai berikut: No_Transaksi, Harga_Sewa, Total_Harga = diambil dari Tabel Peminjaman Total_Denda = diambil dari Tabel Pemingembalian Kemudian buat field baru di baris field dengan nama: Total_Pembayaran: [Total_Harga]+[Total_Denda] Simpan dengan nama query_kas

75

Copyright© Ashev Sality

Save as database tersebut dengan nama DB_Penyewaan_Mobil.mdb

2.

Pembuatan Data Sources (ODBC)
“Data Sources (ODBC)”

Buka “Control panel” “Adminstrative Tools” Akan ada tapilan seperti ini:

Klik button “add” kemudian pilih data source “Microsoft Acsess Driver [*.mdb]”. maka akan tapil seperti ini:

Klik button “select” kemudian cari directories database “DB_Penyewaan_Mobil.mdb”. Setelah itu pilih pilih dan klik Button “Ok”.
76

Copyright© Ashev Sality

Tuliskan Data Source Name “PENYEWAAN_MOBIL” maka akan tampil seperti ini:

Klik “Ok” sampai keluar.

77

Copyright© Ashev Sality

3.

Pembuatan Form dan Code Program

Aktifkan VB 6 melalui tombol Start. Buat project baru dengan StandartEXE untuk membuat User Interface sederhana seperti gambar berikut:

Pengaturan properties :
No. 1 Object Form1 Properties Name Caption BackColor ControlBox Caption Caption Caption Caption Caption Caption Caption Caption BorderWidth Value FormMobil RAT MOBIL &H80000003& False INPUT DATA MOBIL Kode Mobil Nama Merk Jenis Mobil No. Polisi No. Rangka No. Mesin Harga Sewa 1 78

2 3 4 5 6 7 8 9 10

Label1 Label2 Label3 Label4 Label5 Label6 Label7 Label8 Line1

Copyright© Ashev Sality

11 12 13 14 15 16 17 18 19 20 21 22 24 25 26

CommandButton1 CommandButton2 CommandButton3 CommandButton4 CommandButton5 CommandButton6 CommandButton7 TextBox1 TextBox2 TextBox3 TextBox4 TextBox5 TextBox6 TextBox7 Adodc1

Name Caption Name Caption Name Caption Name Caption Name Caption Name Caption Name Caption Name Text Name Text Name Text Name Text Name Text Name Text Name Text Name ConnectionString CommandType RecordSource

cmdtambah Tambah cmdsimpan Simpan cmdbatal Batal cmdcari Cari cmdhapus Hapus cmdkeluar Keluar cmdLihatData Lihat Data Text1 (kosong) Text2 (kosong) Text3 (kosong) Text4 (kosong) Text5 (kosong) Text6 (kosong) Text7 (kosong) Adodc1 Provider : Microsoft Jet 4.0 OLE DB Provider Database Name : DB_Penyewaan_Mobil.mdb 2-adCmdTable Tabel Mobil

Kode Program: Sub blank() Text1 = Empty Text2 = Empty Text3 = Empty Text4 = Empty Text5 = Empty Text6 = Empty Text7 = Empty End Sub

79

Copyright© Ashev Sality

Sub tombol_aktif() cmdsimpan.Enabled = False Cmdbatal.Enabled = True cmdtambah.Enabled = True cmdkeluar.Enabled = True cmdcari.Enabled = True cmdhapus.Enabled = True End Sub Private Sub CmdBatal_Click() Adodc1.Refresh Call tombol_aktif Call blank End Sub Private Sub cmdcari_Click() Dim cari As String cari = InputBox("Masukan kode Mobil", "Cari data") Adodc1.Refresh With Adodc1.Recordset .Find "Kode_Mobil='" & cari & "'" If Not .EOF Then Text1 = .Fields("Kode_Mobil") Text2 = .Fields("Nama_Merk") Text3 = .Fields("Jenis_Mobil") Text4 = .Fields("No_Polisi") Text5 = .Fields("No_Rangka") Text6 = .Fields("No_Mesin") Text7 = .Fields("Harga_Sewa") Else MsgBox "Data Mobil yg dicari tidak temukan", 0 + vbCritical, "Cari Data" End If End With cmdsimpan.Enabled = True End Sub Private Sub cmdhapus_Click() Dim cari As String cari = InputBox("Masukan kode Mobil", "Cari data") Adodc1.Refresh
80

Copyright© Ashev Sality

With Adodc1.Recordset .Find "Kode_Mobil='" & cari & "'" If Not .EOF Then Text1 = .Fields("Kode_Mobil") Text2 = .Fields("Nama_Merk") Text3 = .Fields("Jenis_Mobil") Text4 = .Fields("No_Polisi") Text5 = .Fields("No_Rangka") Text6 = .Fields("No_Mesin") Text7 = .Fields("Harga_Sewa") If MsgBox("Anda akan menghapus???", vbYesNo + vbQuestion, "Hapus Data ") = vbYes Then .Delete Call blank End If Else MsgBox "Data Mobil yg dicari tidak temukan", 0 + vbCritical, " Cari Data " End If End With End Sub Private Sub cmdkeluar_Click() If MsgBox("Anda Akan keluar ??", vbOKCancel + vbQuestion, "Keluar") = vbOK Then Unload Me End If End Sub Private Sub CmdLihatData_Click() FormDataMobil.Show End Sub Private Sub cmdsimpan_Click() If Text1 = "" Then MsgBox "Isi Kode Mobil Dulu", 0 + vbCritical, " Peringatan ! " Text1.SetFocus Else With Adodc1.Recordset .Fields("Kode_Mobil") = Text1
81

Copyright© Ashev Sality

.Fields("Nama_Merk") = Text2 .Fields("Jenis_Mobil") = Text3 .Fields("No_Polisi") = Text4 .Fields("No_Rangka") = Text5 .Fields("No_Mesin") = Text6 .Fields("Harga_Sewa") = Text7 .Update End With Call tombol_aktif Call blank MsgBox "Data sudah tersimpan", 0 + vbInformation, "Simpan data" Adodc1.Refresh End If End Sub Private Sub cmdtambah_Click() Adodc1.Refresh Adodc1.Recordset.AddNew cmdsimpan.Enabled = True Cmdbatal.Enabled = True cmdtambah.Enabled = False cmdkeluar.Enabled = False cmdcari.Enabled = False cmdhapus.Enabled = False Call blank Text1.SetFocus End Sub Private Sub Form_Load() Call tombol_aktif End Sub

82

Copyright© Ashev Sality

Tambahkan sebuah form baru pada Project, Klik kanan pada properties kemudian pilih add – form. Buat interface seperti ini:

Pengaturan properties :
No. 1 Object Form2 Properties Name Caption BackColor ControlBox Caption Name Name Caption Name ConnectionString CommandType RecordSource Value FormDataMobil RAT DATA MOBIL &H80000011& False DATA MOBIL DBGrid1 cmdkeluar Keluar Adodc1 Provider : Microsoft Jet 4.0 OLE DB Provider Database Name : DB_Penyewaan_Mobil.mdb 2-adCmdTable Tabel Mobil

2 3 4 5

Label1 DBGrid1 CommandButton1 Adodc1

Masukan Kode berikut: Option Explicit Private Sub cmdkeluar_Click() Unload Me End Sub

83

Copyright© Ashev Sality

Tambahkan sebuah form baru pada Project, Klik kanan pada properties kemudian pilih add – form. Buat interface seperti ini:

Pengaturan properties :
No. 1 Object Form3 Properties Name Caption BackColor ControlBox Caption Caption Caption Caption Caption Caption BorderWidth Name Caption Name Caption Name Value FormPenyewa RAT PENYEWA &H80000003& False INPUT DATA PENYEWA ID Penyewa Nama Penyewa Alamat No. Telepon No. KTP 1 cmdtambah Tambah cmdsimpan Simpan cmdbatal 84

2 3 4 5 6 7 8 9 10 11

Label1 Label2 Label3 Label4 Label5 Label6 Line1 CommandButton1 CommandButton2 CommandButton3

Copyright© Ashev Sality

12 13 14 15 16 17 18 19 20 21

CommandButton4 CommandButton5 CommandButton6 CommandButton7 TextBox1 TextBox2 TextBox3 TextBox4 TextBox5 Adodc1

Caption Name Caption Name Caption Name Caption Name Caption Name Text Name Text Name Text Name Text Name Text Name ConnectionString CommandType RecordSource

Batal cmdcari Cari cmdhapus Hapus cmdkeluar Keluar cmdLihatData Lihat Data Textid (kosong) Textnama (kosong) Textalamat (kosong) Textnotel (kosong) Textnoktp (kosong) Adodc1 Provider : Microsoft Jet 4.0 OLE DB Provider Database Name : DB_Penyewaan_Mobil.mdb 2-adCmdTable Tabel Penyewa

Masukan Kode berikut: Sub blank() Textid = Empty Textnama = Empty Textalamat = Empty Textnotel = Empty Textnoktp = Empty End Sub Sub tombol_aktif() cmdsimpan.Enabled = False Cmdbatal.Enabled = True cmdtambah.Enabled = True cmdkeluar.Enabled = True cmdcari.Enabled = True cmdhapus.Enabled = True
85

Copyright© Ashev Sality

End Sub Private Sub CmdBatal_Click() Adodc1.Refresh Call tombol_aktif Call blank End Sub Private Sub cmdcari_Click() Dim cari As String cari = InputBox("Masukan ID Penyewa", "Cari data") Adodc1.Refresh With Adodc1.Recordset .Find "ID_Penyewa='" & cari & "'" If Not .EOF Then Textid = .Fields("ID_Penyewa") Textnama = .Fields("Nama_Penyewa") Textalamat = .Fields("Alamat") Textnotel = .Fields("No_Telepon") Textnoktp = .Fields("No_KTP") Else MsgBox "Data Penyewa yg dicari tidak temukan", 0 + vbCritical, "Cari Data" End If End With cmdsimpan.Enabled = True End Sub Private Sub cmdhapus_Click() Dim cari As String cari = InputBox("Masukan ID Penyewa", "Cari data") Adodc1.Refresh With Adodc1.Recordset .Find "ID_Penyewa='" & cari & "'" If Not .EOF Then Textid = .Fields("ID_Penyewa") Textnama = .Fields("Nama_Penyewa") Textalamat = .Fields("Alamat") Textnotel = .Fields("No_Telepon") Textnoktp = .Fields("No_KTP")

86

Copyright© Ashev Sality

If MsgBox("Anda akan menghapus???", vbYesNo + vbQuestion, "Hapus Data ") = vbYes Then .Delete Call blank End If Else MsgBox "Data Mobil yg dicari tidak temukan", 0 + vbCritical, " Cari Data " End If End With End Sub Private Sub cmdkeluar_Click() If MsgBox("Anda Akan keluar ??", vbOKCancel + vbQuestion, "Keluar") = vbOK Then Unload Me End If End Sub Private Sub CmdLihatData_Click() FormDataPenyewa.Show End Sub Private Sub cmdsimpan_Click() If Textid = "" Then MsgBox "Isi ID Penyewa Dulu", 0 + vbCritical, " Peringatan ! " Textid.SetFocus Else With Adodc1.Recordset .Fields("ID_Penyewa") = Textid .Fields("Nama_Penyewa") = Textnama .Fields("Alamat") = Textalamat .Fields("No_Telepon") = Textnotel .Fields("No_KTP") = Textnoktp .Update End With Call tombol_aktif Call blank MsgBox "Data sudah tersimpan", 0 + vbInformation, "Simpan data" Adodc1.Refresh End If
87

Copyright© Ashev Sality

End Sub Private Sub cmdtambah_Click() Adodc1.Refresh Adodc1.Recordset.AddNew cmdsimpan.Enabled = True Cmdbatal.Enabled = True cmdtambah.Enabled = False cmdkeluar.Enabled = False cmdcari.Enabled = False cmdhapus.Enabled = False Call blank Textid.SetFocus End Sub Private Sub Form_Load() Call tombol_aktif End Sub

88

Copyright© Ashev Sality

Tambahkan sebuah form baru pada Project, Klik kanan pada properties kemudian pilih add – form. Buat interface seperti ini:

Pengaturan properties :
No. 1 Object Form4 Properties Name Caption BackColor ControlBox Caption Name Name Caption Name ConnectionString CommandType RecordSource Value FormDataPenyewa RAT Data Penyewa &H80000011& False DATA PENYEWA DBGrid1 cmdkeluar Keluar Adodc1 Provider : Microsoft Jet 4.0 OLE DB Provider Database Name : DB_Penyewaan_Mobil.mdb 2-adCmdTable Tabel Penyewa

2 3 4 5

Label1 DBGrid1 CommandButton1 Adodc1

Masukan Kode berikut: Option Explicit
89

Copyright© Ashev Sality

Private Sub cmdkeluar_Click() Unload Me End Sub

Tambahkan sebuah form baru pada Project, Klik kanan pada properties kemudian pilih add – form. Buat interface seperti ini:

Pengaturan properties :
No. 1 Object Form5 Properties Name Caption BackColor ControlBox Caption Caption Caption Value FormPeminjaman RAT PEMINJAMAN &H80000003& False INPUT DATA PEMINJAMAN No Transaksi ID Penyewa 90

2 3 4

Label1 Label2 Label3

Copyright© Ashev Sality

5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32

Label4 Label5 Label6 Label7 Label8 Label9 Label10 Label11 Label12 Label13 Line1 List1 Frame1 CommandButton1 CommandButton2 CommandButton3 CommandButton4 CommandButton5 CommandButton6 CommandButton7 TextBox1 TextBox2 TextBox3 TextBox4 TextBox5 TextBox6 Combo1 Combo2

Caption Caption Caption Caption Caption Caption Caption Caption Caption Caption BorderWidth Name Caption Name Caption Name Caption Name Caption Name Caption Name Caption Name Caption Name Caption Name Text Name Text Name Text Name Text Name Text Name Text Name Text Name

Nama Penyewa Kode Mobil Jenis Mobil Jumlah Sewa Harga Sewa Tanggal Sewa Tanggal Harus Kembali Total Harga Unit Per Hari 1 List1 Pembayaran cmdtambah Tambah cmdsimpan Simpan cmdbatal Batal cmdcetak Cetak Layar cmdhitung Hitung cmdkeluar Keluar cmdLihatData Lihat Data Textno (kosong) Textnama (kosong) Textjenis (kosong) Textjumlah (kosong) Textharga (kosong) Texttotal (kosong) Textid (kosong) Textkode 91

Copyright© Ashev Sality

33 34 35

DTPicker1 DTPicker2 Adodc1

Text Name Name Name ConnectionString CommandType RecordSource

(kosong) DTsewa DTkembali Adodc1 Provider : Microsoft Jet 4.0 OLE DB Provider Database Name : DB_Penyewaan_Mobil.mdb 2-adCmdTable Tabel Peminjaman

Masukan Kode berikut: Option Explicit Dim conn As New ADODB.Connection Dim rec As ADODB.Recordset Sub blank() List1.Clear Textno = Empty Textid = Empty Textnama = Empty Textkode = Empty Textjenis = Empty Textjumlah = Empty Textharga = Empty Texttotal = Empty DTsewa = Now DTkembali = Now End Sub Sub tombol_aktif() cmdsimpan.Enabled = False Cmdbatal.Enabled = True cmdtambah.Enabled = True cmdkeluar.Enabled = True Cmdhitung.Enabled = False Cmdcetak.Enabled = False End Sub Private Sub CmdBatal_Click() Adodc1.Refresh
92

Copyright© Ashev Sality

Call tombol_aktif Call blank End Sub Private Sub Cmdcetak_Click() List1.Clear DTsewa.Value = Format(DTsewa.Value, "mm/dd/yyyy") DTkembali.Value = Format(DTkembali.Value, "mm/dd/yyyy") If DTkembali.Value < DTsewa.Value Then MsgBox "TANGGAL HARUS KEMBALI Tidak Boleh Sebelum TANGGAL SEWA !!", 16, "Peringatan" DTkembali.SetFocus Else With List1 .AddItem "STRUK PEMBAYARAN" .AddItem "" .AddItem "" .AddItem "" .AddItem "" .AddItem "" .AddItem "No Transaksi = " & Textno.Text .AddItem "ID Penyewa = " & Textid.Text .AddItem "Nama Penyewa = " & Textnama.Text .AddItem "Kode Mobil = " & Textkode.Text .AddItem "Jenis Mobil = " & Textjenis.Text .AddItem "Jumlah Sewa = " & Textjumlah.Text .AddItem "Harga Sewa = " & Textharga.Text

.AddItem .AddItem .AddItem .AddItem .AddItem End With End If End Sub

"Tanggal Sewa = " & Me.DTsewa.Value "Tanggal Harus Kembali = " & DTkembali.Value "" "" "Total Harga = " & Texttotal.Text

Private Sub Cmdhitung_Click() Dim hari As Integer
93

Copyright© Ashev Sality

Dim subtotal As Currency If Textjumlah = "" Then MsgBox "Isi dulu kolom Jumlah Sewa !!", 16, "Peringatan" Textjumlah.SetFocus Exit Sub ElseIf Textharga = "" Then MsgBox "Isi dulu kolom Harga Sewa !!", 16, "Peringatan" Textharga.SetFocus Exit Sub End If If DTkembali.Value < DTsewa.Value Then MsgBox "TANGGAL HARUS KEMBALI Tidak Boleh Sebelum TANGGAL SEWA !!", 16, "Peringatan" DTkembali.SetFocus ElseIf DTkembali.Value = DTsewa.Value Then hari = 1 Textharga.Text = Format(Textharga.Text, "currency") subtotal = Textjumlah.Text * Textharga.Text Texttotal.Text = hari * subtotal ElseIf DTkembali.Value > DTsewa.Value Then hari = DTkembali.Value - DTsewa.Value Textharga.Text = Format(Textharga.Text, "currency") subtotal = Textjumlah.Text * Textharga.Text Texttotal.Text = hari * subtotal End If Texttotal.Text = Format(Texttotal.Text, "currency") End Sub Private Sub cmdkeluar_Click() If MsgBox("Anda Akan keluar ??", vbOKCancel + vbQuestion, "Keluar") = vbOK Then Unload Me End If End Sub Private Sub CmdLihatData_Click() FormDataPeminjaman.Show End Sub Private Sub cmdsimpan_Click() Dim sql As String
94

Copyright© Ashev Sality

DTsewa.Value = Format(DTsewa.Value, "mm/dd/yyyy") DTkembali.Value = Format(DTkembali.Value, "mm/dd/yyyy") If Textno = "" Then MsgBox "Isi dulu kolom No Transaksi !!", 16, "Peringatan" Textno.SetFocus Exit Sub ElseIf Textid = "" Then MsgBox "Isi dulu kolom ID Penyewa!!", 16, "Peringatan" Textid.SetFocus Exit Sub ElseIf Textnama = "" Then MsgBox "Isi dulu kolom Nama Penyewa !!", 16, "Peringatan" Textnama.SetFocus Exit Sub ElseIf Textkode = "" Then MsgBox "Isi dulu kolom Kode Mobil !!", 16, "Peringatan" Textkode.SetFocus Exit Sub ElseIf Textjenis = "" Then MsgBox "Isi dulu kolom Jenis Mobil !!", 16, "Peringatan" Textjenis.SetFocus Exit Sub ElseIf Textjumlah = "" Then MsgBox "Isi dulu kolom Jumlah Sewa !!", 16, "Peringatan" Textjumlah.SetFocus Exit Sub ElseIf Textharga = "" Then MsgBox "Isi dulu kolom Harga Sewa !!", 16, "Peringatan" Textharga.SetFocus Exit Sub ElseIf DTkembali.Value < DTsewa.Value Then MsgBox "TANGGAL HARUS KEMBALI Tidak Boleh Sebelum TANGGAL SEWA !!", 16, "Peringatan" DTkembali.SetFocus Exit Sub End If sql = "INSERT INTO Peminjaman (No_Transaksi, " & " ID_Penyewa,Nama_Penyewa,Kode_Mobil,Jenis_Mobil,Jumlah_Sewa,Harga _Sewa,Tanggal_Sewa,Tanggal_Harus_Kembali,Total_Harga)" & "VALUES('" & Textno.Text & "','" & Textid.Text & "','" &
95

Copyright© Ashev Sality

Textnama.Text & "','" & Textkode.Text & "','" & Textjenis.Text & "','" & Textjumlah.Text & "','" & Textharga.Text & "','" & DTsewa.Value & "','" & DTkembali.Value & "','" & Texttotal.Text & "')" conn.Execute (sql) Call tombol_aktif Call blank MsgBox "Data sudah tersimpan", 0 + vbInformation, "Simpan Data" End Sub Private Sub cmdtambah_Click() Adodc1.Refresh Adodc1.Recordset.AddNew cmdsimpan.Enabled = True Cmdbatal.Enabled = True cmdtambah.Enabled = False cmdkeluar.Enabled = True Cmdhitung.Enabled = False Cmdhitung.Enabled = True Cmdcetak.Enabled = True Call blank MsgBox "Tekan Enter setelah memilih ID Penyewa dan Kode Mobil", 64, "Informasi Penting!" Textno.SetFocus End Sub Private Sub Form_Load() Dim sql As String Dim X As String Set conn = New ADODB.Connection conn.Open "PENYEWAAN_MOBIL" sql = "select * from Penyewa" Set rec = conn.Execute(sql) Do Until rec.EOF = True X = rec.Fields(0) rec.MoveNext Textid.AddItem X Loop sql = "select * from Mobil"
96

Copyright© Ashev Sality

Set rec = conn.Execute(sql) Do Until rec.EOF = True X = rec.Fields(0) rec.MoveNext Textkode.AddItem X Loop Call tombol_aktif DTsewa = Now DTkembali = Now End Sub Private Sub Textid_KeyPress(KeyAscii As Integer) Dim sql As String If KeyAscii = 13 Then sql = "select * from Penyewa where ID_Penyewa = '" & Textid.Text & "'" Set rec = conn.Execute(sql, , adCmdText) Me.Textnama.Text = rec!Nama_Penyewa End If Textnama.Enabled = False End Sub Private Sub Textkode_KeyPress(KeyAscii As Integer) Dim sql As String If KeyAscii = 13 Then sql = "select * from Mobil where Kode_Mobil = '" & Textkode.Text & "'" Set rec = conn.Execute(sql, , adCmdText) Me.Textjenis.Text = rec!Jenis_Mobil Me.Textharga.Text = rec!Harga_sewa End If Textharga.Text = Format(Textharga.Text, "currency") Textjenis.Enabled = False Textharga.Enabled = False End Sub

97

Copyright© Ashev Sality

Tambahkan sebuah form baru pada Project, Klik kanan pada properties kemudian pilih add – form. Buat interface seperti ini:

Pengaturan properties :
No. 1 Object Form6 Properties Name Caption BackColor ControlBox Caption Name Name Caption Name Caption Name ConnectionString CommandType RecordSource Value FormDataPeminjaman RAT DATA PEMINJAMAN &H80000011& False DATA PEMINJAMAN DBGrid1 cmdkeluar Keluar cmdhapus Hapus Adodc1 Provider : Microsoft Jet 4.0 OLE DB Provider Database Name : DB_Penyewaan_Mobil.mdb 2-adCmdTable Tabel Peminjaman

2 3 4 5 6

Label1 DBGrid1 CommandButton1 CommandButton2 Adodc1

98

Copyright© Ashev Sality

Masukan Kode berikut: Option Explicit Private Sub cmdhapus_Click() Dim cari As String cari = InputBox("Masukan No Transaksi", "Cari data") Adodc1.Refresh With Adodc1.Recordset .Find "No_Transaksi='" & cari & "'" If MsgBox("Anda akan menghapus???", vbYesNo + vbQuestion, "Hapus Data ") = vbYes Then .Delete Else MsgBox "Data Peminjaman yg dicari tidak temukan", 0 + vbCritical, " Cari Data " End If End With End Sub Private Sub cmdkeluar_Click() Unload Me End Sub

99

Copyright© Ashev Sality

Tambahkan sebuah form baru pada Project, Klik kanan pada properties kemudian pilih add – form. Buat interface seperti ini:

Pengaturan properties :
No. 1 Object Form7 Properties Name Caption BackColor ControlBox Caption Caption Caption Caption Caption Caption Value FormPengembalian RAT PENGEMBALIAN &H80000003& False INPUT DATA PENGEMBALIAN No Transaksi ID Penyewa Nama Penyewa Kode Mobil Jenis Mobil 100

2 3 4 5 6 7

Label1 Label2 Label3 Label4 Label5 Label6

Copyright© Ashev Sality

8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33

Label7 Label8 Label9 Label10 Label11 Label12 Label13 Label14 List1 Frame1 CommandButton1 CommandButton2 CommandButton3 CommandButton4 CommandButton5 CommandButton6 CommandButton7 CommandButton8 Line1 TextBox1 TextBox2 TextBox3 TextBox4 TextBox5 TextBox6 TextBox7

Caption Caption Caption Caption Caption Caption Caption Caption Name Caption Name Caption Name Caption Name Caption Name Caption Name Caption Name Caption Name Caption Name Caption BorderWidth Name Text Name Text Name Text Name Text Name Text Name Text Name Text

Jumlah Sewa Harga Sewa Tanggal Harus Kembali Tanggal Kembali* Total Denda Unit Per Hari * di isi oleh kasir List1 Pembayaran Denda cmdtambah Tambah cmdsimpan Simpan cmdbatal Batal cmdcetak Cetak Struk cmdhitung Hitung cmdkeluar Keluar cmdLihatData Cetak Bukti cmdkembali Lihat Data 1 Comboid (kosong) Textnama (kosong) Combokode (kosong) Textjenis (kosong) Textjumlah (kosong) Textharga (kosong) Textdenda (kosong) 101

Copyright© Ashev Sality

34 35 36 37

Combo1 DTPicker1 DTPicker2 Adodc1

Name Text Name Name Name ConnectionString CommandType RecordSource

Combono (kosong) DThrskembali DTkembali Adodc1 Provider : Microsoft Jet 4.0 OLE DB Provider Database Name : DB_Penyewaan_Mobil.mdb 2-adCmdTable Tabel Pengembalian

Masukan Kode berikut: Option Explicit Dim conn As New ADODB.Connection Dim rec As ADODB.Recordset Sub blank() List1.Clear Combono = Empty Comboid = Empty Textnama = Empty Combokode = Empty Textjenis = Empty Textjumlah = Empty Textharga = Empty DThrskembali = Now DTkembali = Now Textdenda = Empty End Sub Sub tombol_aktif() cmdsimpan.Enabled = False Cmdbatal.Enabled = True cmdtambah.Enabled = True cmdkeluar.Enabled = True Cmdhitung.Enabled = False Cmdcetak.Enabled = False Cmdkembali.Enabled = False End Sub

102

Copyright© Ashev Sality

Private Sub CmdBatal_Click() Adodc1.Refresh Call tombol_aktif Call blank End Sub Private Sub Cmdcetak_Click() List1.Clear DThrskembali.Value = Format(DThrskembali.Value, "mm/dd/yyyy") DTkembali.Value = Format(DTkembali.Value, "mm/dd/yyyy") With List1 .AddItem "STRUK PEMBAYARAN DENDA" .AddItem "" .AddItem "" .AddItem "" .AddItem "" .AddItem "" .AddItem .AddItem .AddItem .AddItem .AddItem .AddItem .AddItem

"No Transaksi "ID Penyewa "Nama Penyewa "Kode Mobil "Jenis Mobil "Jumlah Sewa "Harga Sewa

= = = = = = =

" " " " " " "

& & & & & & &

Combono.Text Comboid.Text Textnama.Text Combokode.Text Textjenis.Text Textjumlah.Text Textharga.Text

.AddItem "Tanggal Harus Kembali = " & Me.DThrskembali.Value .AddItem .AddItem .AddItem .AddItem End With End Sub Private Sub Cmdhitung_Click() Dim hari As Integer
103

"Tanggal Kembali = " & DTkembali.Value "" "" "Total Denda = " & Textdenda.Text

Copyright© Ashev Sality

Dim subdenda As Long If DTkembali.Value = DThrskembali.Value Then Textdenda.Text = Format(0, "currency") Else

hari = DTkembali.Value - DThrskembali.Value subdenda = (hari - 1) * Textharga.Text Textdenda.Text = subdenda * Textjumlah Textdenda.Text = Format(Textdenda.Text, "currency") Textharga = Format(Textharga.Text, "currency") End If

End Sub Private Sub cmdkeluar_Click() If MsgBox("Anda Akan keluar ??", vbOKCancel + vbQuestion, "Keluar") = vbOK Then Unload Me End If End Sub Private Sub Cmdkembali_Click() List1.Clear DThrskembali.Value = Format(DThrskembali.Value, "mm/dd/yyyy") DTkembali.Value = Format(DTkembali.Value, "mm/dd/yyyy") With List1 .AddItem "BUKTI PENGEMBALIAN" .AddItem .AddItem .AddItem .AddItem .AddItem "" "" "" "" ""

.AddItem "ID Penyewa = " & Comboid.Text .AddItem "Nama Penyewa = " & Textnama.Text .AddItem "Kode Mobil = " & Combokode.Text
104

Copyright© Ashev Sality

.AddItem "Jenis Mobil = " & Textjenis.Text

.AddItem "Tanggal Harus Kembali = " & Me.DThrskembali.Value .AddItem "Tanggal Kembali = " & Me.DTkembali.Value .AddItem "" .AddItem "" End With End Sub Private Sub CmdLihatData_Click() FormDataPengembalian.Show End Sub Private Sub cmdsimpan_Click() Dim sql As String

If Combono = "" Then MsgBox "Isi dulu kolom No Transaksi !!", 16, "Peringatan" Combono.SetFocus Exit Sub

ElseIf Comboid = "" Then MsgBox "Isi dulu kolom ID Penyewa!!", 16, "Peringatan" Comboid.SetFocus Exit Sub ElseIf Textnama = "" Then MsgBox "Isi dulu kolom Nama Penyewa !!", 16, "Peringatan" Textnama.SetFocus Exit Sub ElseIf Combokode = "" Then MsgBox "Isi dulu kolom Kode Mobil !!", 16, "Peringatan"
105

Copyright© Ashev Sality

Combokode.SetFocus Exit Sub ElseIf Textjenis = "" Then MsgBox "Isi dulu kolom Jenis Mobil !!", 16, "Peringatan" Textjenis.SetFocus Exit Sub ElseIf Textjumlah = "" Then MsgBox "Isi dulu kolom Jumlah Sewa !!", 16, "Peringatan" Textjumlah.SetFocus Exit Sub ElseIf Textharga = "" Then MsgBox "Isi dulu kolom Harga Sewa !!", 16, "Peringatan" Textharga.SetFocus Exit Sub End If

DThrskembali.Value = Format(DThrskembali.Value, "mm/dd/yyyy") DTkembali.Value = Format(DTkembali.Value, "mm/dd/yyyy")

sql = "INSERT INTO Pengembalian (No_Transaksi, " & " ID_Penyewa,Nama_Penyewa,Kode_Mobil,Jenis_Mobil,Jumlah_Sewa,Harga _Sewa,Tanggal_Harus_Kembali,Tanggal_Kembali,Total_Denda)" & "VALUES('" & Combono.Text & "','" & Comboid.Text & "','" & Textnama.Text & "','" & Combokode.Text & "','" & Textjenis.Text & "','" & Textjumlah.Text & "','" & Textharga.Text & "','" & DThrskembali.Value & "','" & DTkembali.Value & "','" & Textdenda.Text & "')" conn.Execute (sql) Call tombol_aktif Call blank MsgBox "Data sudah tersimpan", 0 + vbInformation, "Simpan Data" End Sub

106

Copyright© Ashev Sality

Private Sub cmdtambah_Click() Adodc1.Refresh Adodc1.Recordset.AddNew cmdsimpan.Enabled = True Cmdbatal.Enabled = True cmdtambah.Enabled = False cmdkeluar.Enabled = True Cmdhitung.Enabled = False Cmdhitung.Enabled = True Cmdcetak.Enabled = True Cmdkembali.Enabled = True Call blank

MsgBox "Tekan Enter setelah memilih No Transaksi", 64, "Informasi Penting!" Combono.SetFocus End Sub

Private Sub Combono_KeyPress(KeyAscii As Integer) Dim sql As String If KeyAscii = 13 Then sql = "select * from Peminjaman where No_Transaksi = '" & Combono.Text & "'" Set rec = conn.Execute(sql, , adCmdText) Me.Comboid.Text = rec!ID_Penyewa Me.Textnama.Text = rec!Nama_Penyewa Me.Combokode.Text = rec!Kode_Mobil Me.Textjenis.Text = rec!Jenis_Mobil Me.Textjumlah.Text = rec!Jumlah_Sewa Me.Textharga = rec!Harga_sewa DThrskembali = rec!Tanggal_Harus_Kembali End If Comboid.Enabled = False Textnama.Enabled = False
107

Copyright© Ashev Sality

Combokode.Enabled = False Textjenis.Enabled = False Textjumlah.Enabled = False Textharga.Enabled = False DThrskembali.Enabled = False End Sub Private Sub Form_Load() Dim sql As String Dim X As String Set conn = New ADODB.Connection conn.Open "PENYEWAAN_MOBIL" sql = "select * from Peminjaman" Set rec = conn.Execute(sql) Do Until rec.EOF = True X = rec.Fields(0) rec.MoveNext Combono.AddItem X Loop Call tombol_aktif DThrskembali = Now DTkembali = Now End Sub

108

Copyright© Ashev Sality

Tambahkan sebuah form baru pada Project, Klik kanan pada properties kemudian pilih add – form. Buat interface seperti ini:

Pengaturan properties :
No. 1 Object Form8 Properties Name Caption BackColor ControlBox Caption Name Name Caption Name Caption Name ConnectionString Value FormDataPengembalian RAT DATA PENGEMBALIAN &H80000011& False DATA PENGEMBALIAN DBGrid1 cmdkeluar Keluar cmdhapus Hapus Adodc1 Provider : Microsoft Jet 4.0 OLE DB Provider Database Name : DB_Penyewaan_Mobil.mdb 109

2 3 4 5 6

Label1 DBGrid1 CommandButton1 CommandButton2 Adodc1

Copyright© Ashev Sality

CommandType RecordSource

2-adCmdTable Tabel Pengembalian

Masukan Kode berikut: Option Explicit Private Sub cmdhapus_Click() Dim cari As String cari = InputBox("Masukan No Transaksi", "Cari data") Adodc1.Refresh With Adodc1.Recordset .Find "No_Transaksi='" & cari & "'" If MsgBox("Anda akan menghapus???", vbYesNo + vbQuestion, "Hapus Data ") = vbYes Then .Delete Else MsgBox "Data Peminjaman yg dicari tidak temukan", 0 + vbCritical, " Cari Data " End If End With End Sub Private Sub cmdkeluar_Click() Unload Me End Sub

110

Copyright© Ashev Sality

Tambahkan sebuah MDIform baru pada Project, Klik kanan pada properties kemudian pilih add – form. Buat interface seperti ini:

Pengaturan properties :
No. 1 Object MDIForm1 Properties Name Caption Picture WindowState Name Name Name Panels1 Panels1 Value MDIFormPenyewaanMobil SISTEM PENYEWAAN MOBIL Browse di directory anda 2 - maximized Timer1 crkas StatusBar1 ToolTipText: Jam Style: 5 - sbrtime ToolTipText: Tanggal Style: 6 - sbrdate

2 3 4

Timer1 CrystalReport1 StatusBar1

111

Copyright© Ashev Sality

Tambahkan menu seperti tampilan berikut

Dengan Properties Seperti ini: No. Caption 1 DATA 2 MOBIL 3 PENYEWA 4 TRANSAKSI 5 PEMINJAMAN 6 PENGEMBALIAN 7 LAPORAN 8 LAPORAN KAS 9 LAPORAN PEMINJAMAN 10 LAPORAN PENGEMBALIAN 11 EXIT Masukan Kode berikut:

Name mndata mnmobil mnpenyewa mntransaksi mnpeminjaman mnpengembalian mnlaporan mnlap_kas mnlap_peminjaman mnlap_pengembalian mnexit

Option Explicit Private Sub msshell_click() On Error Resume Next Call Shell("C:\windows.001\command.com", 1) End Sub

112

Copyright© Ashev Sality

Private Sub mnexit_Click() End End Sub Private Sub mnlap_kas_Click() crkas.ReportFileName = App.Path\lap_kas.rpt crkas.WindowTitle = "LAPORAN KAS" crkas.WindowState = crptMaximized crkas.RetrieveDataFiles crkas.Action = 1 End Sub Private Sub mnlappeminjaman_Click() crkas.ReportFileName = App.Path\lap_peminjaman.rpt crkas.WindowTitle = "LAPORAN PEMINJAMAN" crkas.WindowState = crptMaximized crkas.RetrieveDataFiles crkas.Action = 1 End Sub Private Sub mnlappengembalian_Click() crkas.ReportFileName =App.Path\lap_pengembalian.rpt crkas.WindowTitle = "LAPORAN PENGEMBALIAN" crkas.WindowState = crptMaximized crkas.RetrieveDataFiles crkas.Action = 1 End Sub Private Sub mnmobil_Click() FormMobil.Show End Sub Private Sub mnpeminjaman_Click() FormPeminjaman.Show End Sub Private Sub mnpengembalian_Click() FormPengembalian.Show End Sub Private Sub mnpenyewa_Click()
113

Copyright© Ashev Sality

FormPenyewa.Show End Sub Private Sub Timer1_Timer() Me.Caption = Right$(Me.Caption, Len(Me.Caption) - 1) + Left$(Me.Caption, 1) End Sub

4.

Pembuatan Data Environment

Buat Data Environment pada menu “Project” pilih “Data Environment” dengan properties sebagai berikut: Buat koneksi Nama: PENYEWAAN_MOBIL Provider : Microsoft Jet 4.0 OLE DB Provider Database Name : DB_Penyewaan_Mobil.mdb

Tambahkan 3 Command

Command1 Command Name: peminjaman Connection: PENYEWAAN_MOBIL Database object: Table Object name: Table Peminjaman Grouping: Command Name: peminjaman_g Field used: No_Transaksi, ID_Penyewa, Kode_Mobil, Jumlah_Sewa, Tanggal_Sewa, Tanggal_Harus_Kembali Command2 Command Name: pengembalian Connection: PENYEWAAN_MOBIL Database object: Table Object name: Table Pengembalian Grouping: Command Name: pengembalian_g Field used: No_Transaksi, ID_Penyewa, Kode_Mobil, Jumlah_Sewa, Tanggal_Harus_Kembali, Tanggal_Kembali Command3 Command Name: kas Connection: PENYEWAAN_MOBIL Database object: View Object name: query_kas

114

Copyright© Ashev Sality

5.

Pembuatan Crystal Report

Buat Crystal Report pada menu “Add_Ins” pilih “Report Designer…” kemudian pilih “new” “SQL/ODBC” “ODBC - PENYEWAAN_MOBIL” PILIH OK. Berikutnya: Tabel Peminjaman Report fields: No_Transaksi, ID_Penyewa, Kode_Mobil, Jumlah_Sewa, Tanggal_Sewa, Tanggal_Harus_Kembali Title: LAPORAN PEMINJAMAN Style: Trailing Break Tambahkan Formula Baru dengan nama Label “No_Urut” dan formula “RecordNumber” Tambahkan Formula Baru dengan nama Label “Jumlah Peminjaman” dan formula “Count ({Peminjaman.No_Transaksi})” Tabel Report fields: No_Transaksi, ID_Penyewa, Kode_Mobil, Pengembalian Jumlah_Sewa, Tanggal_Harus_Kembali, Tanggal_Kembali Title: LAPORAN PENGEMBALIAN Style: Trailing Break Tambahkan Formula Baru dengan nama Label “No_Urut” dan formula “RecordNumber” Tambahkan Formula Baru dengan nama Label “Jumlah Pengembalian” dan formula “Count ({Pengembalian.No_Transaksi})” Query_kas Report fields: No_Transaksi, Harga_sewa, Total_Harga, Total_Denda, Total Pembayaran Title: LAPORAN KAS Style: Trailing Break Tambahkan Formula Baru dengan nama Label “No_Urut” dan formula “RecordNumber” Tambahkan Formula Baru dengan nama Label “Total Penerimaan” dan formula “Sum ({query_kas.Total_Pembayaran})”

115

Copyright© Ashev Sality

Gambar Running Laporan:

116

Copyright© Ashev Sality

117

Copyright© Ashev Sality

118

Copyright© Ashev Sality

PENUTUP
Penulis menucapkan permintaan maaf yang sebesar-besarnya apabila didalam tulisan E-book ini terdapat kata-kata yang menyinggung suatu pihak, Serta Dalam penulisan terjadi kesalahan pengetikan. Di mohon untuk mengirimkan kritik dan saran kepada penulis ke alamat e-mail ini : asep_saefudin90@yahoo.com atau bisa melalui jejaring sosial facebook http:\\www.facebook.com\ashev.sality untuk informasi blog dan website tertera dalam jejaring sosial. Penulis mengucapkan terima kasih telah membaca E-book ini .

119

Copyright© Ashev Sality

BIODATA PENULIS

Nama : Asep saefudin NPM : 09302123 Kelas : MIF A3/09 E-mail : asep_saefudin90@yahoo.com Politeknik Piksi Ganesha Bandung

120

Sign up to vote on this title
UsefulNot useful