Professional Documents
Culture Documents
Asep Saefudin
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 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
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 IFTHEN . 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 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
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
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.
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
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
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.
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
. .
. .
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
Jendela Form:
Jendela Kode:
11
Jendela Properties
12
1.
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
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
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.
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
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
Pada bagian Code Editor ketikkan kode programnya sebagai berikut : Private Sub Command1_Click() List1.AddItem Combo1.Text End Sub
17
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
2.
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
4.
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
= = = = = = =
"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
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 :
7.
Aktifkan VB 6 melalui tombol Start. Buat project baru dengan StandartEXE untuk membuat User Interface sederhana seperti gambar berikut:
21
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
8.
Aktifkan VB 6 melalui tombol Start. Buat project baru dengan StandartEXE untuk membuat User Interface sederhana seperti gambar berikut:
23
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
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
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
27
28
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 IfThenElse 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
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 IfThenElse, 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
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 "
31
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
33
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
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
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 DoLoop, 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 DoLoop 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 DoLoop, yang menjamin minimal satu kali statement dijalankan : Do statements Loop While condition
36
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 ForNext adalah pilihan yang lebih baik. Tidak seperti Do Loop, Forloop 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
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
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
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
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
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
Contoh : NamaSiswa(0) = umar Namasiswa(1) = fatimah Untuk mengosongkan nilai data, bisa menggunakan struktur kontrol ForNext : 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
43
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
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
46
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
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
Jenis-jenis Procedure
Pada VB6 ada 4 jenis procedure, yaitu : 1) Procedure Sub procedure yang tidak mengembalikan nilai setelahtugas-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
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 dipanggil 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.
50
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
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
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
54
2. Membuat suatu Form menjadi MDI Child Dari properti Form tersebut, ubah nilai properti MDI Child-nya menjadi True.
55
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.
End Sub Private Arrange End Sub Private Arrange End Sub
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
58
59
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.
60
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
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
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
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
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
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
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
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
Case 2 Label1.Caption Label2.Caption Case 3 Label1.Caption Label2.Caption End Select End Sub
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
'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
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
Latihan Ke -8
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
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
Pengertian Database
Kumpulan data yang dipakai / ada dalam suatu lingkup tertentu, misalkan instansi, perusahaan dan lain-lain atau kasus tertentu.
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
Size 8 30 60 12 34
74
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
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
2.
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
Tuliskan Data Source Name PENYEWAAN_MOBIL maka akan tampil seperti ini:
77
3.
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
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
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
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
.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
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
Masukan Kode berikut: Option Explicit Private Sub cmdkeluar_Click() Unload Me End Sub
83
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
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
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
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
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
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
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
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
33 34 35
(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
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
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
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
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
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
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
98
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
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
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
34 35 36 37
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
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
= = = = = = =
.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
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
.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
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
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
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
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
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
CommandType RecordSource
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
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
111
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
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
FormPenyewa.Show End Sub Private Sub Timer1_Timer() Me.Caption = Right$(Me.Caption, Len(Me.Caption) - 1) + Left$(Me.Caption, 1) End Sub
4.
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
5.
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
116
117
118
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
BIODATA PENULIS
Nama : Asep saefudin NPM : 09302123 Kelas : MIF A3/09 E-mail : asep_saefudin90@yahoo.com Politeknik Piksi Ganesha Bandung
120