- benar menghasilkan 4
85
sehingga nilai 0.5 (nol koma lima) dianggap sebagai angka nol saja. Semua
angka yang dibagi dengan nol maka akan menghasilkan error . Jadi,
solusinya gunakan cara pada contoh 3.
6. Fungsi – Fungsi Matematika
Fungsi-fungsi yang bekaitan dengan matematika seperti terlihat pada tabel
5.7.
Tabel 5.7 Fungsi-Fungsi Matematika
Fungsi Keterangan
Abs() Mengembalikan nilai absolut dari argumen
Atn() Mengembalikan nilai Arc Tangen dari argumen dalam bentuk radian
Cos() Mengembalikan nilai Cosinus dari argumen dalam radian
Exp() Mengembalikan nilai Eksponensial dari argumen
Log() Mengembalikan nilai Logaritma dari argumen
Sin() Mengembalikan nilai Sinus dari argumen dalam radian
Sqr() Mengembalikan nilai Akar dari argumen
Tan() Mengembalikan nilai Tengen dari argumen dalam radian
7. Fungsi – Fungsi String
Selain fungsi-fungsi numerik, Visual Basic juga mempunyai sejumlah
fungsi-fungsi String diantaranya seperti pada tabel 5.8.
Tabel 5.8 Fungsi-Fungsi String
Fungsi Keterangan
LCase() Mengembalikan argumen string sebagai tipe data string huruf kecil
UCase() Mengembalikan argumen string sebagai tipe data string huruf besar
Val() Mengembalikan nilai number dari argumen string
Len() Mengembalikan nilai number yang menunjukkan panjang string
Substring merupakan bagian dari suatu string. Untuk memperoleh substring
dari suatu string dapat digunakan 3 fungsi berikut :
Left(StringVal, length)
Fungsi ini mengembalikan nilai string dari sebelah kiri sebanyak length
karakter .
86
Right(StringVal, length)
Fungsi ini mengembalikan nilai string dari sebelah kanan sebanyak
length karakter .
Mid(StringVal, startVal, length)
Fungsi ini mengembalikan nilai string dari startVal sebanyak length
karakter .
Contoh :
8. Fungsi – Fungsi Tanggal dan Waktu
Jika dalam suatu aplikasi diperlukan pengambilan tanggal atau waktu dari
sistem, Visual Basic menyediakan fungsi – fungsi Now(), Date(), dan Time().
Lihat tabel 5.9.
Tabel 5.9 Fungsi-fungsi Tanggal dan Waktu
Fungsi Keterangan
Now() Mengembalikan tanggal danwaktu sistem
Date() Mengembalikan tanggal dari sistem
Time() Mengembalikan waktu dari sistem
DateDiff Mendapatkan selisih dari dua buah tanggal
Untuk mencari selisih dari dua buah tanggal tidaklah sulit, karena dalam
visual basic telah disediakan fasilitas untuk melakukan hal tersebut dengan
menggunakan fungsi "DateDiff ", yaitu sebuah fungsi yang digunakan untuk
mendapatkan selisih dari dua buah tanggal. Dari fungsi DafeDiff kita bisa
mendapatkan selisih hari, bulan dan tahun dari dua buah tanggal.
Cara penggunaan dari fungsi ini adalah sbb:
Hurufkecil = LCase("Dwi Apri") 'HurufKecil = "stmik"
hurufbesar = UCase("Setyorini") 'HurufBesar = "STMIK"
Title = "STMIK Duta Bangsa"
lTitle = Left(Title, 3) 'lTitle = "STM"
rTitle = Right(Title, 5) 'RTitle = "angsa"
mTitle = Mid(Title, 3, 8) 'MTitle = "MIK Duta"
Panjang = Len(Title) 'length = 17
87
Selain fungsi-fungsi diatas terdapat sebuah fungsi yaitu format() yang
berkaitan dengan fungsi-fungsi Tanggal dan waktu.
Fungsi ini mengembalikan nilai variant atau string sesuai dengan format
yang ditentukan.
9. Contoh Program
1. Membuat Marquee untuk Form Caption, dimana caption dari form yang
kita gunakan akan berjalan dari kanan kekiri secara terus menerus. Kontrol
yang digunakan adalah satu buah kontrol timer yang intervalnya kita set
menjadi 100 atau bisa kita ganti sesuai keinginan kita.
Ketikkan kode program seperti berikut :
2. Menghitung Luas Segitiga, jika diketahui panjang dua sisi segitiga dan
besar sudut yang diapit oleh segitiga tersebut. Untuk menyelesaikan masalah
tersebut dapat digunakan fungsi berikut : L = ½ .a.b Sin r
Catatan: sudut r yang Anda masukkan dalam ukuran derajat, untuk itu perlu
dirubah terlebih dahulu sebelum dimasukkan dalam fungsi sin yang
disediakan oleh VB. (Rad = Phi/180)
Format(Ekpresi[,format[,firstdayofweek[, firstweekofyear]]])
Private Sub Form_Load()
Form1.Caption = " [ Belajar VB 6.0 ] "
End Sub
Private Sub Timer1_Timer()
a = Left(Form1.Caption, 1)
b = Len(Form1.Caption)
c = Right(Form1.Caption, b - 1)
Form1.Caption = c + a
End Sub
Dim hari, bulan, tahun
'Untuk mencari selisih hari
hari=DateTime.DateDiff("d",CDate(Text1.Text),CDate(Text2.Text))
'Untuk mencari selisih bulan
bulan = DateTime.DateDiff("m",CDate(Text1.Text),CDate(Text2.Text))
'Untuk mencari selisih tahun
tahun = DateTime.DateDiff("yyyy",CDate(Text1.Text),CDate(Text2.Text))
88
Rancang formnya seperti berikut ini :
Ketik kode programnya sebagai berikut :
SOAL LATIHAN
C. Latihan
SOAL LATIHAN
1. Buatlah sebuah form dengan sebuah label, sebuah Textbox, dan 2 buah
command Button. Textbox tersebut digunakan untuk memasukan data berupa
angka dengan range antara 0 sampai 100000. Jika seorang user memasukan
huruf atau angka yang berada diluar range maka akan ditampilkan pesan
kesalahan dan meminta user untuk memasukkan data kembali. Jika masukan
seorang user sudah benar maka akan ditampilkan pesan bahwa masukan
sudah benar dan keluar dari aplikasi.
2. Buatlah program yang dapat menampilkan hari dan tanggal saat ini :
Contoh Formnya :
Private Sub cmdUsia_Click()
A = Val(txtA.Text)
B = Val(txtB.Text)
R = Val(txtR.Text)
hasil = 0.5 * A * B * Sin(R * (3.14 / 180))
txtLuas.Text = Round(hasil, 2)
End Sub
89
3. Buat program untuk menghitung usia seseorang. Ketika program dijalankan
muncul inputbox dan user diminta untuk memasukkan tanggal lahir.
Tampilannya seperti berikut:
Setelah user memasukkan tanggal lahir, dan mengklik tombol OK, muncul
messagebox yang menampilkan usia Anda. Tampilannya seperti berikut :
DAFTAR PUSTAKA
DAFTAR PUSTAKA
90
BAB VI
KONTROL PROGRAM
A. Pendahuluan
Penyelesaian kondisi atau pernyataan kondisi (Conditional Statement)
merupakan suatu pernyataan yang menganalisa suatu keadaan dan mengambil
keputusan berdasarkan pada hasil analisa itu. Hasil dari penyelesaian, jika kondisi
benar maka akan dikerjakan instruksi tertentu, sedang jika kondisi salah, maka
akan dikerjakan instruksi yang lain. Ini salah satu dari fungsi dalam kontrol
program. Dalam visual basic terdapat dua kontrol program yang dapat digunakan
yaitu logika percabangan dan logika perulangan.
B. Materi
1. Operator Kondisi
Untuk mengontrol alur program dalam Visual Basic, kita bisa
menggunakan bermacam-macam operator kondisi. Pada dasarnya, operator
kondisi ini mirip dengan operator aritmatik. Operator kondisi merupakan alat
yang sangat hebat, dengan operator tersebut kita dapat melakukan
perbandingan untuk memutuskan tindakan selanjutnya. Tabel 6.1 menunjukan
operator kondisi yang digunakan dalam Visual Basic.
Tabel 6.1 Operator Kondisi
91
2. Operator Logika
Sebagai tambahan untuk operator kondisi, ada beberapa operator logika yang
ditambahkan pada Visual Basic sehingga memudahkan pembuatan alur
program.
Tabel 6.2 Operator Logika
3. Pernyataan If...Then...Else
a. Syntaks Umum
Syntak umum untuk pernyataan if...then...else adalah
Bila <kondisi> bernilai True maka <kode program> akan dikerjakan.
Bila <kondisi> bernilai True maka <blok kode program 1> akan dikerjakan,
tetapi bila <kondisi> bernilai False maka <blok kode program 2> yang akan
dikerjakan.
IF <kondisi> THEN <kode program>
IF <kondisi> THEN
<blok kode program 1>
ELSE
<blok kode program 2>
END IF
IF <kondisi 1> THEN
<blok kode program 1>
ELSEIF <kondisi 2> THEN
<blok kode program 2>
ELSE
<blok kode program 3>
END IF
92
Bila <kondisi 1> bernilai True maka <blok kode program 1> akan
dikerjakan, kemudian bila <kondisi 2> bernilai True maka <blok kode
program 2> akan dikerjakan, tetapi bila <kondisi 1> dan <kondisi 2>
bernilai False maka <blok kode program 3> yang akan dikerjakan.
b. Contoh Program :
1) Membuat Program Input Password
Letakkan kontrol Image, TextBox, Label dan Command. Atur seperti
gambar berikut :
Gambar 6.1 Program Input Password dengan Fungsi IF
Pengaturan property setiap object-nya adalah sebagai berikut :
Tabel 6.3 Property Object untuk Program Input Password
Object Properties Value
Form1 Caption Form Password
StartUpPostion 2-CenterScreen
Image1 Stretch True
Picture Logo.jpg
Visible False
Label1 Caption Input Password
Text1 Name txtPass
PasswordChar *
Text <kosong>
Command1 Name cmdOK
Caption &OK
Buka Jendela Code dan pada bagian Code Editor ketikkan kode programnya
sebagai berikut :
Private Sub cmdOK_Click()
If txtPass.Text = "admin" Then Image1.Visible =
True
End Sub
93
Simpan program dan jalankan :
1. Ketikkan sembarang teks pada txtPass lalu klik tombol OK, maka tidak
terjadi apa-apa.
2. Ketikkan “admin” pada txtPass lalu klik tombol OK, maka gambar logo
akan muncul
Penjelasan kode program :
If txtPass.Text = "oryn" Then Image1.Visible = True
Modifikasi programnya menjadi seperti berikut :
Jalankan program :
1. Ketikkan sembarang teks pada txtPass lalu klik tombol OK, maka
gambar tidak muncul dan muncul kotak pesan “Password Salah”. Klik
tombol OK pada kotak pesan tersebut. Maka txtPass dikosongkan dan
kursor akan aktif di txtPass (txtPass.Setfocus)
2. Ketikkan “admin” pada txtPass lalu klik tombol OK maka gambar akan
muncul dan muncul kotak pesan “Password Benar”.
Catatan Tambahan :
Teks “admin” harus diketik huruf kecil semua. Ingat : data string
bersifat case sensitive !
Agar password-nya tidak bersifat case sensitive, modifikasi
pernyataan kondisinya menjadi : If LCase(txtPass.Text) = "admin"
Then
Private Sub cmdOK_Click()
If txtPass.Text = "oryn" Then
Image1.Visible = True
MsgBox "Password Benar", vbOKOnly, "Sukses"
Else
Image1.Visible = False
MsgBox "Password Salah", vbOKOnly, "Gagal"
txtPass.Text = ""
txtPass.SetFocus
End If
End Sub
Kondisi
Kode program yang dikerjakan
jika kondisi True
94
Fungsi LCase adalah untuk mengkonversi semua string yang diinput
ke txtPass.Text menjadi huruf kecil, walaupun user menginputnya
dengan huruf kapital.
TANTANGAN :
Modifikasilah struktur kontrol dan kode program di atas sehingga
seorang user hanya mempunyai 3 kali kesempatan untuk mengetikkan
password. Setelah 3 kali kesempatan dan password masih salah maka
program akan otomatis berhenti.
2) Membuat program menentukan nilai seorang mahasiswa dengan
kriteria sebagai berikut :
Tabel 6.4 Interval Nilai untuk Program Konversi Nilai
Atur form beserta kontrol-kontrol yang diperlukan seperti berikut :
Gambar 6.2 Program Konversi Nilai dengan Statement I
Interval Nilai Nilai Huruf Keterangan
80-100 A Lulus
68-79 B Lulus
56-67 C Lulus
41-55 D Remidi
0-40 E Gagal
95
Ketikkan kode program sebagai berikut :
4. Pernyataan Select...Case
Cara lain untuk menangani pengambilan keputusan dalam sebuah
program adalah dengan menggunakan Select…Case Statement, yang mampu
menangani sejumlah kondisi dari satu variabel. Select...Case serupa dengan If
... Then ..... ElseIf, tetapi lebih efisien apabila percabangan bergantung kepada
satu kondisi saja. Dengan menggunakan Select ... Case sebagai pengganti dari
If ... Then ... Else If, akan membuat program menjadi lebih sederhana.
a. Syntaks Umum :
Format penggunaan Select Case :
Type data pada nama_variabel harus sama dengan nilai pada Case.
Private Sub txtNilai_Change()
nilai = Val(txtNilai.Text)
If nilai >= 80 And nilai <= 100 Then
lblHuruf.Caption = "A"
lblKet.Caption = "Lulus"
ElseIf nilai >= 68 And nilai <= 79 Then
lblHuruf.Caption = "B"
lblKet.Caption = "Lulus"
ElseIf nilai >= 56 And nilai <= 67 Then
lblHuruf.Caption = "C"
lblKet.Caption = "Lulus"
ElseIf nilai >= 41 And nilai <= 55 Then
lblHuruf.Caption = "D"
lblKet.Caption = "Remidi"
Else
lblHuruf.Caption = "E"
lblKet.Caption = "Gagal"
End If
End Sub
Select Case nama_variabel
Case nilai_1
Perintah yang akan dieksekusi jika memenuhi nilai_1
Case nilai_2
Perintah yang akan dieksekusi jika memenuhi nilai_2
Case Else
Perintah yang akan dieksekusi jika tidak memenuhi semua
End Select
96
b. Contoh Program
1. Membuat program untuk mengetahui harga barang berdasarkan
jenis barang yang dipilih di ListBox :
Atur Form beserta kontrol lain yang dibutuhkan seperti tampilan berikut:
Gambar 6.3 Program Harga Barang dengan Statement Select Case
Ketikkan kode program berikut :
Private Sub lstBarang_Click()
Dim Harga As Long
Dim Satuan As String
Select Case lstBarang.Text
Case "CD Blank"
Harga = 85000
Satuan = "Box"
Case "Buku Tulis"
Harga = 36000
Satuan = "Lusin"
Case "Kertas"
Harga = 28000
Satuan = "Rim"
Case "Bolpoin"
Harga = 15000
Satuan = "Pak"
End Select
Label3.Caption = Harga
Label4.Caption = Satuan
End Sub
97
Catatan : variablel nilai (lstBarang.Text) adalah string sehingga nilai
yang ada pada Case seperti "CD Blank" adalah tipe data string juga.
TANTANGAN :
Modifikasi program Harga Barang di atas (gambar 6.3). Tambahkan
input jumlah barang, tambahkan pula output output diskon dan total
yang harus dibayar.
Diskon sebesar 5% dari TotalHarga. Diberikan diskon jika jumlah
beli>=5, selain itu tidak mendapat diskon.
Total Bayar = Total Harga-Diskon
2. Buka kembali contoh program konversi nilai pada gambar 6.2. Anda
dapat mengganti statement IF dengan statement Select...Case.
Berikut kode programnya:
Keyword Is disini untuk menentukan kondisi. Biasa digunakan untuk data
numerik.
Atau bisa juga memakai kode program seperti berikut:
Private Sub txtNilai_Change()
Dim Nilai As Single
Nilai = txtNilai.Text
Select Case Nilai
Case Is >= 80
lblHuruf.Caption = "A"
lblKet.Caption = "Lulus"
Case Is >= 68
lblHuruf.Caption = "B"
lblKet.Caption = "Lulus"
Case Is >= 56
lblHuruf.Caption = "C"
lblKet.Caption = "Lulus"
Case Is >= 41
lblHuruf.Caption = "D"
lblKet.Caption = "Remidi"
Case Else
lblHuruf.Caption = "E"
lblKet.Caption = "Gagal"
End Select
End Sub
98
5. Pernyataan Do...Loop
Visual Basic mendukung beberapa versi statement Do. Looping
(perulangan) dengan menggunakan While mungkin yang paling populer
digunakan dalam pemrograman Visual Basic. Seperti Statement If…Then, do
While juga membutuhkan ekpresi perbandingan untuk keluar dari looping
a. Syntaks Umum
Ada beberapa syntak penggunaan untuk pernyataan Do..Loop
Keterangan : VB Statement akan diulang selama <kondisi> bernilai TRUE.
Pengulangan berhenti bila <kondisi> sudah bernilai FALSE.
Private Sub txtNilai_Change()
Dim Nilai As Single
Nilai = txtNilai.Text
Select Case Nilai
Case 80 To 100
lblHuruf.Caption = "A"
lblKet.Caption = "Lulus"
Case 68 To 79
lblHuruf.Caption = "B"
lblKet.Caption = "Lulus"
Case 56 To 67
lblHuruf.Caption = "C"
lblKet.Caption = "Lulus"
Case 41 To 55
lblHuruf.Caption = "D"
lblKet.Caption = "Remidi"
Case Else
lblHuruf.Caption = "E"
lblKet.Caption = "Gagal"
End Select
End Sub
a) Do While <kondisi>
<VB statement>
Loop
b) Do
<VB statement>
Loop While <kondisi>
99
Keterangan : VB Statement akan diulang sampai <kondisi> bernilai
TRUE. Pengulangan berhenti bila <kondisi> sudah bernilai FALSE.
b. Contoh Program
1. Menmpilkan angka 0 sampai 10 di ListBox dengan perintah
Do...While dan Do...Until.
Atur Form beserta kontrol yang dibutuhkan seperti pada gambar 6.4
Gambar 6.4 Program Menampilkan Angka dengan Do...Loop
Ketik kode programnya seperti berikut ini :
c) Do Until kondisi
VB statement
Loop
d) Do
VB statement
Loop Until kondisi
Private Sub cmdUntil_Click()
lstHasil.Clear
i = 0
Do Until i > 10
lstHasil.AddItem "Angka Ke- " & i
i = i + 1
Loop
End Sub
Private Sub cmdWhile_Click()
lstHasil.Clear
i = 0
Do While i =< 10
lstHasil.AddItem "Angka Ke- " & i
i = i + 1
Loop
End Sub
100
Penjelasan program :
Kode program tersebut akan menampilkan hasil yang sama.
Perhatikan pada cmdUntil_Click(). Program akan dijalankan sampai
i>10
Perhatikan pada cmdWhile_Click(). Program akan dijalankan selama
i=<10
Kedua statement tersebut memiliki arti yang sama
2. Cobalah ganti syntaks statement Do Until dan Do While di atas,
dengan kode program berikut ini, lihat hasilnya:
6. Pernyataan While...Wend
Pengulangan While…Wend akan mengeksekusi sekumpulan statement-
statement perintah selama suatu kondisi itu benar. Looping atau perulangan
yang menggunakan While..Wend ini mempunyai syntak sebagai berikut :
a. Syntaks Umum
Ada beberapa syntak penggunaan untuk pernyataan While...Wend
Private Sub cmdUntil_Click()
lstHasil.Clear
i = 0
Do
lstHasil.AddItem "Angka Ke- " & i
i = i + 1
Loop Until i > 10
End Sub
Private Sub cmdWhile_Click()
lstHasil.Clear
i = 0
Do
lstHasil.AddItem "Angka Ke- " & i
i = i + 1
Loop While i =< 10
End Sub
While <kondisi>
VB Statement
Wend
101
Keterangan : Jika kondisi benar, maka semua statement akan dieksekusi dan
ketika mencapai baris Wend, control akan kembali lagi ke statement While
untuk mengevaluasi kembali nilai dari kondisi, jika nilai dari kondisi masih
memenuhi syarat atau benar maka proses loop/perulangan akan terjadi lagi.
Jika nilai kondisinya Salah, maka program akan keluar dari loop dan
mengeksekusi perintah-perintah yang ada setelah Wend.
b. Contoh Program
1. Contoh Statement While berikut akan mengevaluasi nilai numerik yang
dimasukkan user lewat keyboard, dan kondisi yang dievaluasi adalah
selama nilainya lebih besar atau sama dengan nol, jika nilainya negatif
maka program akan berhenti.
2. Contoh 1 di atas bisa dimodifikasi. Letakkan sebuah command button
dan sebuah textbox pada form kemudian, ketikkan listing program
berikut dalam tombol command button tersebut. (atur posisinya dengan
benar).
7. Pernyataan For…Next
Perulangan dengan For ... Next merupakan salah satu struktur
perulangan yang sering terdapat pada banyak bahasa pemograman, perulangan
For ... Next menggunakan suatu variabel yang disebut counter untuk
melakukan penambahan secara otomatis, sesuai dengan nilai awal dari variabel
Number = 0
While Number >= 0
Number = InputBox("Silakan masukkan nilai yang lain ?")
Wend
Private Sub Command1_click()
Number = 0
While number >= 0
Total = Total + Number
Number = InputBox(“Silakan masukkan nilai yang lain ?”)
Wend
Text1.Text = Total
End Sub
102
tersebut. Perulangan dengan For digunakan untuk mengulang statement atau
satu blok statement berulang kali, sejumlah yang ditentukan.
a. Syntaks Umum
<pencacah> adalah variabel (tipe: integer) yang digunakan untuk
menyimpan angka pengulangan.
<awal> adalah nilai awal dari <pencacah>.
<akhir> adalah nilai akhir dari <pencacah>.
<langkah> adalah perubahan nilai <pencacah> setiap pengulangan.
Sifatnya optional (boleh ditulis ataupun tidak). Bila tidak ditulis maka
nilai <langkah> adalah 1.
b. Contoh Program
1. Program menampilkan angka dari 0 sampai 10 dan sebaliknya (10
sampai 0)
Atur Form dan Kontrol yang dibutuhkan seperti gambar 6.4. Ganti
Caption pada Command, masing-masing menjadi ”For Next 1” da For
Next2”.
Ketikkan kode program berikut ini :
Jika Anda menginginkan angka dengan kelipatan 2 dst, maka
tambahkanlah perintah STEP,contoh :
FOR <pencacah> = <awal> TO <akhir> [STEP <langkah>]
<blok kode program>
NEXT <pencacah>
Private Sub cmdFor1_click()
„Menampilkan angka 0 sampai 10 di ListBox
lstHasil.Clear
For i = 0 To 10
lstHasil.AddItem "Angka " & i
Next i
End Sub
Private Sub cmdFor2_click()
„Menampilkan Angka 10 sampai 0 di ListBox
lstHasil.Clear
For i = 0 To 10 STEP -1
lstHasil.AddItem "Angka " & i
Next i
End Sub
103
For i = 0 To 10 STEP 3, akan menampilkan angka dari 0 sampai 10
dengan kelipatan 3. Hasilnya : 0, 3, 6, 9
2. Menampilkan angka genap pada ListBox. Bilangan genap adalah
bilangan yang habis dibagi 2. Memungkinkan user untuk menginputkan
batas awal dan akhir. Atur form dengan meletakkan ListBox,2 TextBox ,
dan Command untuk proses. Buat properti Column = 3 untuk ListBox
Gambar 6.5 Menampilkan bilangan genap dengan For Next
Ketikkan kode program seperti berikut
Bagaimana jika Anda diminta untuk menampilkan bilangan ganjil??
Silakan Anda coba sendiri. Okey
Private Sub cmdProses_Click()
Dim i, Awal, Akhir As Single
lstHasil.Clear
Awal = txtAwal.Text
Akhir = txtAkhir.Text
For i = Awal To Akhir
If i Mod 2 = 0 Then
lstHasil.AddItem i
End If
Next i
End Sub
104
C. LatihanATIHAN
Buat program Registrasi Hotel, atur tampilan form beserta kontrol yang dibutuhkn
sebagai berikut :
Pada program di atas user dipersilahkan untuk mengisi namanya, jenis
kelaminnya laki-laki atau perempuan, kemudian memilih jenis kamar yang
diinginkan, kemudian memilih fasilitas apa saja yang diinginkan.
Tiap kamar memiliki harga yang berbeda-beda. Untuk pilihan jenis kamar
gunakan Option, di sini user hanya dapat memilih salah satu saja. Sedangkan
untuk fasilitas dapat menggunakan Check, di mana user dapat tidak memilih dan
bebas untuk memilih yang mana saja.
Kita asumsikan harga kamar adalah sebagai berikut :
Jenis Kamar Harga
Standard 150000
Suite 250000
Silver 450000
Jenis Fasilitas Harga
Sauna 50000
Fitness 75000
Massage 150000
105
Kemudian tampilkan harga total pembayarannya dalam bentuk Message Box
dengan klik tombol Daftar.
Minta input pembayaran dengan menggunakan InputBox. Validasilah agar
pembayaran mencukupi total pembayaran. Jika pembayaran tidak mencukupi
total pembayaran, maka InputBox akan muncul terus samapi pembayaran
mencukupi.
Jika terdapat uang kembali tampilkan jumlah uang kembaliannya dengan
MesageBox.
Dan ucapkan terima kasih. Setelah itu resetlah kembali form ke keadaan
semula sebelum diisi.
BAB VII FUNGSI-FUNGSI BAWAAN VB
106
BAB VII
PROCEDURE DAN FUNCTION
BAB VIII SUBROUTINE PROCEDURE,
FUNCTION PROCEDURE and MODULE
A. Pendahuluan
Dalam kenyataan seringkali program yang harus ditulis cukup panjang,
sehingga kesalahan yang mungkin dibuat oleh seorang programmer semakin
besar. Untuk mengatasi masalah tersebut dapat dilakukan dengan memecah
program tersebut menjadi bagian-bagian kecil (rutin) tetapi tetap logis. Rutin-rutin
kecil tersebut akan membuat penelusuran dan perawatan program menjadi lebih
mudah dan terstruktur. Rutin-rutin kecil tersebut sering disebut dengan nama
prosedur.
Dalam Visual Basic terdapat 2 macam prosedur yaitu :
a. Prosedur umum (general purpose procedure) merupakan prosedur
yang ditemukan di dalam daftar Drop Down pada jendela kode.
b. Prosedur Kejadian (Event procedure), prosedur yang berisi kode yang
dijalankan ketika suatu kejadian dari kontrol di bangkitkan.
Sedangkan prosedur-prosedur yang ditambahkan dalam sebuah program
tersebut disebut subprogram. Ada 2 jenis subprogram dalam Visual Basic yaitu
prosedur subrutin (subroutine procedures) dan prosedur fungsi (function
procedures).
B. Materi
a) Sub Rutin
Subrutin merupakan prosedur umum (general porpuse procedure) yang ditulis
dan ditambahkan dalam program. Format penulisan sebuah subrutin adalah
sebagai berikut:
Sub nama_subRutin [(argumen)]
.
.
.
End Sub
107
Setiap kali prosedur dipanggil, maka pernyataan diantara Sub dan End Sub
akan dijalankan. Argumen pada prosedur adalah nilai yang akan dilewatkan
saat pemanggilan prosedur.
Contoh :
Sedangkan untuk memanggil sebuah subrutin digunakan format sebagai berikut :
Untuk memanggil subrutin dari contoh diatas dapat digunakan kode sebagai
berikut:
atau
Untuk memanggil sebuah subrutin dapat digunakan perintah Call diikuti dengan
nama subrutin diikuti dan tanda kurung atau langsung memanggil nama subrutin
saja.
b) Fungsi
Subrutin dan Fungsi sebenarnya mirip yaitu prosedur umum (general purpose
procedure) yang ditulis dan ditambahkan dalam program. Bedanya Fungsi
mengembalikan nilai sedangkan Subrutin tidak. Format penulisan sebuah
Fungsi adalah sebagai berikut.
Sub TotalPembelian()
' Inisialisasi varibel
Dim Total As Currency
Dim Disc As Single
'mendefinisikan nilai variabel
Total = txtTotal.Text
Disc = 0.2
lblTotal.Caption = Total - Total * Disc
End Sub
[Call] SubName [(Argumen list)]
Call TotalPembelian()
TotalPembelian
Function nama_Fungsi [(argumen)] as [ReturnValType]
.
.
.
End Function
108
Contoh :
Pada contoh di atas merupakan fungsi TotalPembelian yang dimodifikasi. Total
tidak lagi diambil dari nilai textbox (txtTotal), melainkan dikirim melalui suatu
argumen. Argumen yang dikirimkan melalui suatu subrutin atau fungsi dapat
digunakan langsung seperti sebuah variabel.
Untuk memanggil fungsi dari contoh diatas dapat digunakan kode sebagai
berikut:
c) Modul (Module)
Penulisan sebuah modul dapat dilakukan pada sebuah file berekstensi
.Bas. File tersebut dapat dibuat melalui menu Project-Add Module. Secara
default Visual Basic memberikan nama Module1.
Pada Module, Anda dapat mendeklarasikan variable dengan awalan
DIM, PRIVATE maupun PUBLIC, dimana awalan DIM dan PRIVATE
membentuk variable modul level (hanya berlaku didalam pemakaian variable
bersangkutan), sedangkan awalan PUBLIC akan membentuk variable global
yang akan berfungsi bagi keseluruhan program.
Contoh :
Function Total_Pembelian(Total As Currency)
' Inisialisasi varibel
Dim Disc As Single
' Mendefinisikan nilai variabel
Disc = 0.2
Total_Pembelian = Total - Total * Disc
End Function
'Memasukkan nilai Total sebesar 200
Total_Pembelian (200)
Dim A As Integer 'Variabel A adalah modul level
Private B As Integer 'Variabel B adalah modul level
Public C As Integer 'Variabel C dapat digunakan
'oleh program keseluruhan
109
Subrutin dapat ditulis pada module. Subrutin tersebut dapat dipanggil kapan
saja dari aplikasi yang sama dengan format sebagai berikut:
Contoh :
atau
Pemanggilan dapat dilakukan dengan menyebut nama module terlebih dahulu
diikuti dengan tanda titik kemudian nama subrutin atau langsung nama
subrutin.
d) Contoh Program
Membuat program untuk mengkalkulasi temperatur Celcius ke temperatur
Fahrenheit. User diminta untuk memasukkan suhu dalam Fahrenheit dengan
fasilitas InputBox, setelah diklik OK muncul messagebox yang menampilkan
konversi suhu dalam Celcius.
Ketikkan kode program berikut ini :
SOAL LATIHAN
[nama_module.]nama_subrutin
Module1.TotalPembelian
TotalPembelian
'Fungsi Konversi Ke Celcius
Function Celcius(fDerajat)
Celcius = (fDerajat - 32) * 5 / 9
End Function
Private Sub Form_Load()
'Menampilkan InputBox untuk Input Suhu dalam Fahrenheit
'Celcius(Temp): memanggil fungsi Celcius dengan besar suhu
'sesuai yang dimasukkan diinputbox
'Perintah Round untuk menampilkan angka desimal dengan
'mengatur berapa angka di belakang koma
Dim Temp
Temp = InputBox("Silakan masukkan suhu dalam Fahrenheit", "Suhu")
MsgBox "Suhu dalam Celcius adalah : " & _
Round(Celcius(Temp), 2) & " Derajat", vbOKOnly, "Suhu dalam
Celcius"
End Sub
110
C. Latihan
Modifikasi contoh program konversi suhu di atas, buat supaya user bisa memilih
menu untuk konversi suhu. Contoh tampilan programnya seperti berikut :
User memasukkan nilai dan memilih satuan suhu yang akan dikonversi. User juga
menentukan nilai desimal dari hasil yang akan ditampilkan. Kemudian secara
otomatis, hasil akan ditampilkan dalam Celcius, Fahrenheit, Kelvin dan Reamur
DAFTAR PUSTAKA
111
BAB VIII
PEMROGRAMAN MULTIMEDIA
A. Pendahuluan
”The American Heritage Dictionary” mendefinisikan bahwa multimedia
adalah kombinasi dari penggunaan beberapa media seperti film, slide,
music,penerangan dengan text, image, khusunya untuk tujuan pendidikan dan
hiburan. Unsur-unsur seperti text, audio (narasi, dialog, sound effect), musik,
film, video, fotografi, animasi dan grafik merupakan media pendukung yang
tergabung dan terintegrasi menjadi satu-kesatuan karya multimedia. Bentuk
interactive multimedia termasuk di dalamnya website, cdrom interactive,
program/software, presentasi, tutorial, help sectiondal an bahkan game.
Sekarang yang jadi pertanyaan, bagaimana jika produk-produk
multimedia tidak dihasilkan dari aplikasi program multimedia ? Mampukah
program-program komputer yang sifatnya umum dapat digunakan untuk
mendesain produk multimedia? Jawabannya tentu tergantung pogram itu sendiri,
apakah software programnya mendukung konsep multimedia atau tidak.
Umumnya perkembangan teknologi multimedia tidak hanya tergantung pada
perkembangan software semata, tetapi terkait dengan perangkat elektronik.
B. Materi
1. Dasar Pemrograman Multimedia
Visual basic merupakan salah satu bahasa pemrograman yang mendukung
konsep multimedia. Sejak diluncurkan pertama kali, visual basic yangzhou
bekerja di sistem operasi windows terus menambah fasilitas untuk
pemrograman multimedia. Salah satu fasilitas tersebut adalah sebuah kontrol
Active X yang disertakan dalam visual basic edition dengan nama kontrol
multimedia MCI (Media Control Interface), misalnya CD Player, VCR dan
Video Player.
Sebenarnya dalam visual basic masih terdapat tiga kontrol lain seperti
MCIWndx Control, Microsoft ActiveMovie Control, Windows Media Player.
Tetapi dari kesemuanya, kontrol multimedia MCI adalah yang terlengkap
112
serta merupakan kontrol langsung berhubungan dengan visual basic
yangzhou melibatkan properti dan event.
Sebelum mendesain program multimedia dengan visual basic 6.0 terlebih
dahulu aktifkan kontrol multimedia yang ingin digunakan. Langkah-langkah
untuk mengaktifkan kontrol-kontrol multimedia adalah sebagai berikut :
Klik menu project dan klik menu popup components atau
untukmempersingkat kerja, tekan kombinasi tombol Ctrl+T
Gambar 8.1 Bagian dari menu project
Selanjutnya visual basic 6.0 menampilkan kotak dialog components,
seperti gambar 8.2.
Klik tab control dan lakukan scrolup (gulungk e atas) untuk
menampilkan kontrol-kontrol multimedia
Gambar 8.2 Kotak Dialog Components
113
2. Menentukan Tipe Peralatan Multimedia
Sebelum menggunakan tombol-tombol pada kontrol multimedia, peralatan
multimedia perlu diaktifkan dengan valid yaitu dengan perintah DeviceType.
Tujuan dari proses ini adalah agar kontrol tersebut secara otomatis dapat
dikonfigurasikan sewaktu program berjalan. Proses penempatan ini biasanya
dilakukan lewat kode program dalam suatu procedure, misalnya form_load.
Contoh penuliasan dari properti DeviceType adalah sebagai berikut :
MMControl1.deviceType=”WaveAudio”
Tabel 8.1 Peralatan Multimedia
No.
Peralatan
Multimedia
DevName Keterangan
1 Video (file .avi) AVIVideo
Format video
Microsoft AVI
2 Audio CD CDAudio
CD Musik
melalui drive CD-
ROM
3 Digital Tape DAT
Peralatan digital
tape (DAT)
4 Digital Video DigitalVideo Fata Video digital
5 Video MMMovie
Format film
multimedia
6 Scanner Scanner Peralatan Scanner
7 MIDI sequencer Sequencer
Data sequencer
MIDI
8 Videotape VCR
Perekam kaset
video
9 Videodisc Videodisc
Perekam Video
Disc
10 Wave (file .wav) WaveAudio
File Audio
microsoft
windows
11 Buatan pemakai other
Tipe multimedia
buatan pemakai
3. Kontrol Media Player
Kontrol media player merupakan salahsa tu komponen pada visual basic 6.0
yang digunakan untuk menjalankan aplikasi video dan audio pada banyak file
format multimedia. Untuk mengaktifkan kontrol tersebut, langkah-langkah
yang dilakukan yaitu :
114
Lakukan klik pada menu project, components, atau dengan cara lain yaitu
dengan melakukan klik kanan pada toolbox dank lik menu components.
Gambar 8.3 Menu Shorcut Components
Selanjutnya sebuah kotak dialog components ditampilkan dan pilih tab
controls.
Berikan tanda cek (√) pada kontrol windows media player. Kontrol ini
membutuhkan file yang tersimpan dalam folder system32 yang bernama
MSDXM.OCX
Gambar 8.4 memilih kontrol media player
Klik tombol OK untuk menutup kotak dialog components dan pada
toolbox akan terdapat kontrol media player.
Untuk menempatkan kontrol media player pada form, yaitu klik ikon
pada toolbox dan lakukan drag pada form untuk menentukan luas
lokasi yang digunakan.
Sedangkan untuk menghubungkan kontrol media player denganfile
multimedia. Perintah yang digunakan adalah :
MediaPlayer1.FileName=Path & <nama file>
Misalnya :
Media Player1.FileName = ”E:\Film\Coba.mpeg”
115
Contoh :
Gambar 8.5 Menggunakan kontrol media player
Ketikan Kode Program pada tombol Buka seperti berikut :
Private Sub Command1_Click()
CommonDialog1.ShowOpen
MediaPlayer1.FileName = _
CommonDialog1.FileName
End Sub
4. Kontrol Multimedia Control 6.0
Kontrol multimedia control 6.0 adalah sebuah kontrol ActiveX yang
disertakan dalam Microsoft Visual Basic Profesional Edition. Dengan kontrol
ini dapat dibuat program yang mampu menyediakan fungsi-fungsi
multimedia pendukung driver MCI (Media Control Interface), misalnya
memutar film, memainkan CD Audio, merekam Wave Audio dan sebagainya.
Disamping itu kontrol Multimedia MCI juga menyediakan sekumpulan
tombol bergaya compact disk untuk memainkan dan merekam media pada
program anda.
Kontrol ActiveX Multimedia Control 6.0 dapat ditambahkan ke dalam
toolbox dengan langkah-langkah sebagai berikut :
1. Aktifkan kotak dialog components dengan cara klik kanan mouse pada
toolbox atau klik menu project dan pilih menu components.
Media Player1
Command Button 1
Common Dialog1
116
2. Pda tab controls, pilih dan berikan tanda cek pada Microsoft Multimedia
Control 6.0 adalah MCI.OCX
3. Klik tombol OK untuk menutup kotak dialog components.
Gambar 8.6 Memilih kontrol multimedia control 6.0
4. Untuk menempatkan kontrol multimedia control 6.0 pada form, yaitu klik
icon pada toolbox danish lakukan drag pada form untuk
menentukan luas lokasi yang digunakan.
5. Kontrol multimedia control 6.0 mempunyai serangkaian tombol perintah
yang berfungsi secara otomatis pabila terdapat peralatan multimedia yang
sedang terbuka dan kontrol dinyalakan. Tombol-tombol tersebut antara
lain Prev, Next, Play, Pause, Back, Step, Stop, Record dan eject. Meskipun
anda dapat menambahkan fasilitas khusus untuk tombol-tombol ini yaitu
dengan menuliskan event procedure, tetapi anda boleh tidak
mengkonfigurasikan lagi mengingat setting tombol yang sudah disediakan
dapat langsung digunakan dengan baik.
Sebelum anda mengenal lebih jauh tentang fungsi dari kontrol multimedia
control 6.0, perlu kiranya dipahami beberapa property khusus yang
diediakan oleh kontrol ini, yaitu :
Devive Type
Property ini digunakan untuk menentukan device yang akan
digunakan oleh kontrol multimedia control 6.0, yaitu AVIVideo,
DAT, CDAudio, DigitalVideo, MMMovie, Other, Overlay, Scanner,
Sequencer, VCR atau WaveAudio. Biasanya kode program diletakkan
117
dalam event procedure form load agar kontrol secara otomatis dapat
dikonfigurasikan sewaktu program berjalan.
Bentuk penulisan dari properti deviceType sebagai berikut :
MMControl.DeviceType=DevName
FileName
Properti ini berisi nama file yang ditentukan untuk dimainkan oleh
kontrol multimediaMCI
Bentuk penulisaan :
MMControl.Filename=<nama file>
Wait
Properti ini digunakan untuk menentukan agar kontrol menunggu
perintah selanjutnya diselesaikan terlebih dahulu sebelum tugas
pengendalian dikembalikan pada aplikasi.
Bentuk penuliasn :
MMControl.Wait=<boolean>
Command
Properti ini digunakan untuk memberikan perintah pada kontrol yang
akan dieksekusi, yaitu Open, Close, Playe, Pause, Stop, Back, Step,
Prev, Next, Seek, Record, Eject, Sound atau Save.
Bentuk penulisan :
MMControl,Command=<Perintah String>
Sharable
Properti ini digunakan untuk menentukanagar program lain mampu
menggunakan device MCI yang sama.
Bentuk penulisan :
MMConrol.Sharable=<True/False>
118
Notify
Properti ini digunakan agar kontrol multimedia MCI memberitahu
atau tidak apabila perintah ”Open” dan ”Play” telah selesai
dilaksanakan.
Bentuk penulisan :
MMControl.Notify=<True/False>
Contoh Program :
Desain Form seperti berikut :
Gambar 8.7 Menggunakan kontrol MMControl
Ketikan Kode Program Seperti Berikut :
Private Sub Command1_Click()
MMControl1.Notify = False
MMControl1.Wait = True
MMControl1.Shareable = False
CommonDialog1.ShowOpen
MMControl1.FileName = _
CommonDialog1.FileName
Text1.Text = CommonDialog1.FileName
MMControl1.Command = "open"
MMControl1.Command = "play"
End Sub
Private Sub Command2_Click()
End
End Sub
5. Memainkan File-File Video
File video (film) adalah file yang berisi rangkaian gambar dan suara yang
diolah sedemikian rupa sehingga terbentuk suatu gerakkan yang terus
menerus. Untuk menghasilkan suatu gerakkan, tentu diperlukan suatu
119
kecepatan yang cukup sehingga dapat mengelabuhi mata orang yang melihat
film tersebut.
Terdapat dua kecepatan yang harus dipahami dalam mebuat sebuah animasi
pada film. Pertama adalah jumlah gambar per detik yang ditampilkan saat
proses presentasi (playback rate). Kedua adalah jumlah gambar yang berbeda
yang muncul per detik (sampling rate/update rate).
File video merupakan sarana yang ampuh untuk menambahkan animasi,
petunjuk langkah demi langkah, informasi bantuan atau hanya untuk
membuat agar program yang dibuat lebih memiliki sentuhan pribadi.
a. File AVI
file AVI (Audio Video Interleaving) merupakan file standart yang
dimiliki oleh sistem operasi Microsoft Windows untuk memainkan data video
dan audio secara digital. File AVI adalah file hasil kopresi gambar-gambar
dan atau suara yang terangkai dan membentuk suatu file baru yang dapat
dimainkan secara bergerak dan bersuara.
Contoh Program :
Ketikan Kode Proram Berikut :
Private Sub Command1_Click()
MMControl1.Notify = False
MMControl1.Wait = True
MMControl1.Shareable = False
MMControl1.DeviceType=”AVIVideo”
CommonDialog1.ShowOpen
MMControl1.FileName = _
CommonDialog1.FileName
Text1.Text = CommonDialog1.FileName
MMControl1.Command = "open"
MMControl1.Command = "play"
End Sub
120
Private Sub Command2_Click()
End
End Sub
b. File DAT
File DAT (Digital Audio Tape) adalah file yang diproses dengan
peralatan digital tape. Ukuran dari file ini cukup besar ibandingkan dengan
file standar microsoft yaitu AVI, tetapi gambar yang dihasilkan jauh lebih
bagus.
Banyak peralatan (player) yang dapat digunakan untuk menjalankan file DAT
ini. Visual Basic 6.0 sendiri mempunyai kontrol program yang mampu untuk
mengoperasikan file tersebut. Salah satu kontrol programnya adalah
Multimedia MCI. Sedang untuk standar windows dapat digunakan kontrol
program windows media player.
Contoh Progam :
Ketikan Kode Program pada tombol Buka seperti berikut :
Private Sub Command1_Click()
CommonDialog1.ShowOpen
MediaPlayer1.FileName = _
CommonDialog1.FileName
End Sub
Media Player1
Command Button 1
Common Dialog1
121
6. Memainkan File Audio WAV dan MIDI
a. File WAV
File .WAV (Waveform) adalah file untuk menyimpan suara yang direkam
dengan teknologi dari micrisift. Dalam lingkungan windows, format file
ini telah diakui sebagai format audio standar. Keuntungan dari file .WAV
adalah anda dapat menyimpan suara apa saja dari berbagai sumber, seperti
mikrofon, pemutar CD atau bahkan tape recorder.
Sebelum disimpan pada file .WAV, suara analog harus diubah ke bentuk
suara digital, atau dengan kata lain suara analog harus dicuplic dan
dikuantisasi terlebih dahulu. Suara analog dapat dicuplic dengan berbagai
frekwensi yaitu 8 KHz, 11 KHz, 22 KHz. Tentu saja makin tinggi
frekwensi pencuplikan, kualitas suara semakin tinggi. Sebagai contoh,
suara yang dicuplic dengan frekwensi 11 KHz setara dengan suara telepon,
sedangkan suara yang dicuplic dengan frekwensi 44 KHz setara dengan
suara CD-Audio. Untuk kuantisasi, suara yang disimpan menggunakan 16
bit mempunyai kualitas lebih tinggi dibandingkan suara yang disimpan
menggunakan 8 bit saja.
Kelemahan file .WAV yang paling mencolok adalah ukurannya sangat
besar. Sebuah lagu yang bila diputar hanya membutuhkan waktu beberapa
menit saja, dapat memakan ruangan harddisk puluhan Megabyte.
Dalam memainkan file Wave dengan visual b asic, anda dapat
menggunakan kontrol program yang sudah disediakan oleh visual basic
atau software multimedia lain dan dapat juga dimainkan dengan
memanfaatkan fasilitas library ”Winmm.dll”.
Contoh :
Desain form seperti berikut :
Ketik kode program berikut pada general procedure
122
Private Declare Function playsound Lib _
"winmm.dll|" Alias "playsounda" ( _
ByVal lpszname As String, ByVal hmodule _
As Long, ByVal dwflags As Long) As Long
Const snd_async = &H1
Const snd_filename = &H20000
Const snd_sync = &H0
Const snd_nodefault = &H2
Const snd_loop = &H8
Const snd_nonstop = &H10
Const snd_nowait = &H2000
Private Function putarlagu(soundfile As String) As Boolean
Dim pilihlagu As Boolean
pilihlagu = playsound(soundfile, vbNull, sdn_filename + snd_sync
+ snd_nonsto + snd_nodefault)
putarlagu = pilihlagu
End Function
Ketik kode program pada tombol memutar file WAVe
Private Sub Command1_Click()
putarlagu ("D:\data\lagu\ok.wav")
End Sub
b. File MIDI
sama seperti file .WAV, file MIDI (Musical Instruments Digital Interface)
yang berakhiran, .MID juga berhubungan dengan suara. Perbedaan dasar
dari file WAV dan file MIDI terletak pada teknik penyimpanannya.
Keuntungan file .MID dibandingkan dengan file .WAV adalah ukurannya
yang sangat kecil. Kerugiannya adalah tidak semua suara dapat disimpan
dalam file .MID, hanya suara dari alat music tertentu saja yang dapat
disimpan. Sebagai contoh, anda tidak dapat menyimpan suara anjing
menggonggong atau singa mengaum pada file .MID.
Contoh Program :
123
Buat desain form seperti berikut ini :
Ketikan kode program berikut :
Private Declare Function mcisendstring Lib _
"winmm.dll" Alias "mcisendstringa" ( _
ByVal lpstrcommand As String, _
ByVal lpstrreturnstring As String, _
ByVal ureturnlength As Long, _
ByVal hwndcallback As Long) As Long
Public Function playmidifile( _
midifile As String) As Boolean
Dim lret As Long
If Dir(midifile) = "" Then Exit Function
lret = mcisendstring("stop midi", "", 0, 0)
lret = mcisendstring("close midi", "", 0, 0)
lret = mcisendstring("open sequencer!" & _
midifile & "alias midi", "", 0, 0)
lret = mcisendstring("play midi", "", 0, 0)
playmidifile = (lret = 0)
End Function
Public Function stopmidi() As Boolean
Dim lret As Long
lret = mcisendstring("stop midi", "", 0, 0)
stopmidi = (lret = 0)
lret = mcisendstring("close midi", "", 0, 0)
End Function
Private Sub Command1_Click()
playmidifile ( _
"D:\musuc\coba.mid")
End Sub
Private Sub Command2_Click()
stopmidi
End Sub
124
C. Latihan
Buatlah program untuk menjalankan File Video degan esain seperti berikut ini :
125
BAB IX
PEMROGRAMAN DATABASE
A. PendahuluanTE
Database merupakan bagian dari kehidupan kita sehari-hari meskipun
sering tidak disadari. Sebagai contoh di STMIK Duta Bangsa, database digunakan
untuk menyimpan data para mahasiswa, dosen, jadwal kuliah, nilai masing-
masing mahasiswa, dan lain-lain.
Database merupakan sekumpulan data yang saling berhubungan, didesain
untuk menyediakan informasi pada sebuah organisasi. Sedangkan DBMS (The
Database Management System) merupakan perangkat lunak yang digunakan
untuk mendefinisikan, membuat, mengatur, dan menyediakan akses pada
database. Microsoft Access merupakan contoh software RDBMS (Relation
DBMS).
B. Materi
1. Membuat Database dan Tabel dengan Visual Data Manager
Untuk membuat database dengan Visual Data Manager, lakukan langkah-
langkah sebagai berikut :
Pilih menu Add Ins pada menu utama Visual Basic, kemudian pilih Visual
Data Manager
Pilih File – New – Microsoft Access – Version 7.0 MDB
Berikan nama database(misal dbAkademik), tentukan tempat dimana Anda
akan menyimpan database, kemudian klik Save.
Untuk membuat tabel, klik kanan Properties, pilih New Table
126
Gambar 9.1 Membuat tabel
Isikan nama tabel, klik Add Field, isikan nama field, tipe data dan tentukan
Filed Sizenya, Klik OK.
Gambar 9.2 Struktur Tabel
Untuk membuat Primary Key pada Field, klik Add Index, isikan Name
(misal:NIM), pada Available Fields pilih Field yang akan dijadikan Primary
Key (misal pilih NIM)
Tentukan pilihan Index ( Primary, Unique, IgnoreNulls). Primary digunakan
sebagai pengenal suatu record, jika tabel yang dihubungkan berhubungan
127
denga tabel yang lain (dalam satu tabel hanya boleh ada satu primary key).
Unique dipilih jika ingin indeks bersifat unik, IgnoreNulls digunakan untuk
mengabaikan field yang kosong.
Gambar 9.3 Menentukan Primary Key
Jika Anda sudah membuat semua Field yang dibutuhkan, maka klik Build
the Table
2. Mengisi Data Pada Tabel
Klik kanan pada nama tabel (tbMahasiswa, pilih Open
Gambar 9.4 Membuka Tabel
128
Muncul window Dynaset:Mahasiswa
Gambar 9.5 Mengisikan data pada tabel
Fungsi menu yang ada pada tabel tbMahasiswa
Add : menambah record baru
Edit : mengoreksi record
Delete : menghapus record aktif
Find : mencari record
Refresh : menampilkan ulang setelah record mengalami perubahan
Close : menutup tabel
3. Data Acces Object (DAO)
DAO (Data Access Object) merupakan suatu Object Data Access Yang
berukuran besar meliputi kemampuan Data Definition, Data Manipulation dan
Database Maintenance. Untuk mengakses database menggunakan DAO
dibutuhkan object Data. Jika dikoneksikan dengan Microsoft Access DAO
hanya bisa dikoneksikan dengan Access 97.
Gambar 9.6 Objek Data
129
Beberapa properti yang dimiliki oleh objek Data dapat Anda lihat pada tabel
9.1
Tabel 9.1 Properti Objek Data
Properti Keterangan
Connect
Hubungan file data, bias bersumber dari Access, dBase,
Excel, Foxpro, Lotus, Paradox, dan file Text.
DatabaseName Nama file database
RecordSource Tabel dalam database
EOF Action
Pengecekan pergerakan kusror. Jika kursor sampai pada
akhir file, maka terdapat pilihan property : MoveLast
(record terakhir), EOF (akhir file), AddNew (menambah
record baru)
Recordset Type Tipe record : 0-Table, 1-Dynaset, 2-SnapShot
a) Koneksi database dengan DAO
Untuk koneksi database dengan DAO, Anda harus menambahkan objek Data
pada Form. Ada dua cara koneksi database menggunakan DAO
1. Dengan mengatur property dari objek Data
Tabel 9.2 Properti Kontrol Data dbAkademik
Property Setting Value
Name datAkademik
Caption dbAkademik
Connect Access
DatabaseName dbAkademik
Recordsource tbMahasiswa
2. Pengaturan dengan mengetikkan kode program seperti berikut :
Koneksi database cara pertama masih bersifat statis yang artinya jika
program/file dipindah ke folder atau drive lain, maka pengaturan properti
DatabaseName harus disesuaikan dengan program/file berada.
Koneksi database cara kedua, sifatnya dinamis. App.Path digunakan
untuk mendapatkan folder aktif.
Private Sub Form_Load()
datAkademik.DatabaseName = App.Path & "\dbAkademik.mdb"
datAkademik.RecordSource = "tbMahasiswa"
End Sub
130
b) Contoh Program menggunakan DAO
Berikut adalah contoh program olah data Mahasiswa di STMIK Duta Bangsa.
Atur Form seperti pada contoh gambar 9.7.
Grid menggunakan DBGrid. Untuk menambahkan DBGrid di toolbox
adalah dari menu Project – Components, pilih tab Controls- kemudian
pilih Microsoft Data Bound Grid Control 5.0. Atur properti Datasource
dari DBGrid, pilih datAkademik.
Gambar 9.7 Program olah data mahasiswa dengan DAO
Ketik kode program berikut :
1) Koneksi Database
Private Sub Form_Load()
Data1.DatabaseName = App.Path & "\Akademik.mdb"
Data1.RecordSource = "Mahasiswa"
End Sub
131
2) Form Activate
3) Tombol Edit
4) Sub Rutin
Private Sub Form_Activate()
kosong
tdksiap
batal.Enabled = False
simpan.Enabled = False
tambah.SetFocus
End Sub
Private Sub cmdEdit_Click()
If cmdEdit.Caption = "Edit" Then
txtNIM.Enabled = True
txtNIM.SetFocus
cmdEdit.Caption = "Update"
cmdNew.Enabled = False
cmdDel.Enabled = False
Else
With datAkademik.Recordset
.Edit 'Perintah untuk edit data
!Nama = txtNama.Text
!Alamat = txtAlamat.Text
!TglLahir = dtpLahir.Value
.Update
End With
cmdCancel_Click ' memanggil cmdCancel_Click
End If
End Sub
Sub kosong()
Text1.Text = ""
Text2.Text = ""
Text3.Text = ""
Combo1.Text = ""
End Sub
Sub siap()
Text1.Enabled = True
Text2.Enabled = True
Text3.Enabled = True
Combo1.Enabled = True
End Sub
Sub tdksiap()
Text1.Enabled = False
Text2.Enabled = False
Text3.Enabled = False
Combo1.Enabled = False
End Sub
132
5) Tombol Tambah
6) Tombol Simpan
Private Sub simpan_Click()
If tombol = "UBAH" Then
Data1.Recordset.Edit
Data1.Recordset!NIM = Text1.Text
Data1.Recordset!nama = Text2.Text
Data1.Recordset!alamat = Text3.Text
Data1.Recordset!prodi = Combo1.Text
Data1.Recordset.Update
Data1.Refresh
End If
If tombol = "TAMBAH" Then
Data1.Recordset.AddNew
Data1.Recordset!NIM = Text1.Text
Data1.Recordset!nama = Text2.Text
Data1.Recordset!alamat = Text3.Text
Data1.Recordset!prodi = Combo1.Text
Data1.Recordset.Update
Data1.Refresh
End If
kosong
tdksiap
simpan.Enabled = False
batal.Enabled = False
tambah.Enabled = True
keluar.Enabled = True
ubah.Enabled = True
hapus.Enabled = True
End Sub
Private Sub tambah_Click()
tombol = "TAMBAH"
siap
kosong
Text1.SetFocus
batal.Enabled = True
simpan.Enabled = True
tambah.Enabled = False
keluar.Enabled = False
ubah.Enabled = False
hapus.Enabled = False
End Sub
133
7) Tombol Batal
8) Tombol Ubah
9) Tombol Hapus
10) Tombol Keluar
Private Sub batal_Click()
kosong
tdksiap
batal.Enabled = False
simpan.Enabled = False
keluar.Enabled = True
tambah.Enabled = True
ubah.Enabled = True
hapus.Enabled = True
tambah.SetFocus
End Sub
Private Sub ubah_Click()
tombol = "UBAH"
siap
Text1.SetFocus
batal.Enabled = True
simpan.Enabled = True
tambah.Enabled = False
keluar.Enabled = False
ubah.Enabled = False
hapus.Enabled = False
End Sub
Private Sub hapus_Click()
jawab = MsgBox("Yakin Data tersebut akan dihapus
...?", vbYesNo + vbQuestion, "Konfirmasi")
If jawab = 6 Then
Data1.Recordset.Delete
Data1.Refresh
End If
End Sub
Private Sub keluar_Click()
Unload Me
End Sub
134
11) DbGrid1 RowColChange
12) General
ADO (ActiveX Data Object) merupakan suatu Object Data yang mempunyai
kemampuan Data Definition, Data Manipulation dan Database Maintenance
serta dapat untuk membangun koneksi dengan beberapa jenis database. Untuk
mengakses database menggunakan ADO ada dua fasilitas yang dapat dipakai
yaitu
ADODC
ADODC adalah sebuah object sehingga dapat dilihat atau ditambahkan di
toolbox. Untuk menambahkan objek ini maka lakukan langkah sebagai
berikut :
Klik menu Project, pilih Component (atau tekan Ctrl-T), tandai dengan
memberi tanda cek pada Microsoft ADO Data Control 6.0 (OLEDB).
Akhiri dengan tekan tombol OK, maka pada Toolbox akan muncul objek
ADODC.
ADODB
Salah satu cara menghubungkan aplikasi dengan database melalui kode
program, tanpa menggunakan objek.
Database yang dapat dikoneksi dengan ADO selain Microsoft Access, dapat
juga dengan Foxpro, ODBC, SQLServer atau MySQL.
Private Sub DBGrid1_RowColChange(LastRow As Variant,
ByVal LastCol As Integer)
Text1.Text = Data1.Recordset!NIM
Text2.Text = Data1.Recordset!nama
Text3.Text = Data1.Recordset!alamat
Combo1.Text = Data1.Recordset!prodi
End Sub
Dim tombol As String
135
4. Koneksi database dengan ADODB
Di dalam Visual Basic, Object ADODB yang sering digunakan adalah
ADODB.Connection dan ADODB.Recordset. Untuk dapat membuat suatu
variable dari ADODB ini kita harus terlebih dahulu memilih references di
dalam Visual Baic yaitu Microsoft ActiveX Data Object. Ikuti langkah berikut
:
Pilih menu Project – References
Pilih Microsoft ActiveX Data Objects 2.1 Library – Klik OK
Module sering digunakan di dalam pendeklarasian Connection dan Recordset
untuk penggunaan database , sehingga Object Connection dan Recordset
tersebut dapat digunakan pada semua bagian di dalam project yang anda buat.
Connection digunakan untuk melakukan koneksi ke database yang dipilih
dengan perintah open ataupun mengeksekusi sintaks-sintaks SQL dengan
perintah execute. Untuk membuka koneksi ke database gunakan perintah
open yang diikuti oleh connection string yang dapat dihapalkan ataupun
menggunakan bantuan seperti control ADODC atau file extension .UDL
Recordset digunakan untuk menampung data (bisa berasal dari 1/ lebih
tabel) yang merupakan hasil eksekusi perintah sql select, syntax:
select [nama kolom] from [nama tabel] where [kondisi]
Tambahkan Module pada program VB Anda (Project – Add Module),
kemudian ketikkan kode program koneksi database berikut di Module Anda
Hasil dari koneksi di atas adalah Con akan membuka koneksi ke database
dengan nama dbAkademik.mdb yang terletak di folder aktif dbAkademik.mdb.
Public Con As ADODB.Connection
Public Sub OpenConnection()
Set Con = New ADODB.Connection
Con.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & App.Path & "\dbAkademik.mdb;" & _
"Persist Security Info=False"
Con.CursorLocation = adUseClient
Con.Open
End Sub
136
Contoh Program menggunakan ADODB
Berikut adalah contoh program olah data Mahasiswa di STMIK Duta Bangsa.
Atur Form seperti pada contoh gambar 9.8.
NIM akan diinput secara otomatis berdasarkan Program Studi, Jenjang,
Tahun Masuk dan urutan mahasiswa saat daftar ulang.
Jenjang Sarjana menawarkan dua program studi yaitu : Sistem Informasi dan
teknik Informatika. Jenjang Diploma 3 menawarkan dua program studi yaitu :
Manajemen Informatika dan Teknik Komputer.
Kita akan menggunakan MSFlexGrid untuk menmpilkan data. Cara
menambahkan project MSFlexGrid : Pilih menu Project – Components, Pilih
Microsoft FlexGrid Control 6.0 – Klik OK
Berikut tampilan Form yang digunakan :
Gambar 9.8 Program olah data mahasiswa dengan ADODB
137
Ketik kode program berikut :
1. Koneksi Database
Ketik kode program koneksi database berikut pada Module
2. Kode program di Form_Load
3. Kode program untuk mengatur Grid
Public Con As ADODB.Connection
Public rsMahasiswa As ADODB.Recordset
Public Sub OpenConnection()
Set Con = New ADODB.Connection
Con.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & App.Path & "\dbAkademik.mdb;" & _
"Persist Security Info=False"
Con.CursorLocation = adUseClient
Con.Open
End Sub
Private Sub Form_Load()
OpenConnection 'Memanggil koneksi database dari Module
'Mengkoneksikan rsMahasiswa ke tabel tabel Mahasiswa
Set rsMahasiswa = New ADODB.Recordset
rsMahasiswa.Open "Select * From Mahasiswa", Con, adOpenStatic,
adLockOptimistic
'Memanggil sub TampilData
'Digunakan untuk menampilkan data di Grid
TampilData
End Sub
Sub AturGrid()
Grid.Rows = 1
Grid.Cols = 5
Grid.ColWidth(0) = 500
Grid.ColWidth(1) = 1000
Grid.ColWidth(2) = 2000
Grid.ColWidth(3) = 2000
Grid.ColWidth(4) = 2000
Grid.TextMatrix(0, 0) = "No"
Grid.TextMatrix(0, 1) = "NIM"
Grid.TextMatrix(0, 2) = "Nama"
Grid.TextMatrix(0, 3) = "Alamat"
Grid.TextMatrix(0, 4) = "Program Studi"
End Sub
138
4. Kode program untuk menampilkan data di Grid
5. Kode program Sub Rutin
6. Kode program Form Activate
Sub TulisData()
Dim i As Integer
i = 0
Do While Not rsMahasiswa.EOF
i = i + 1
Grid.AddItem (i & vbTab & rsMahasiswa(0) & vbTab & _
rsMahasiswa(1) & vbTab & rsMahasiswa(2) & vbTab & _
rsMahasiswa(3))
rsMahasiswa.MoveNext
Loop
End Sub
Sub TampilData()
Set rsMahasiswa = New ADODB.Recordset
rsMahasiswa.Open "Select * From Mahasiswa " & _
"Order By NIM", Con, adOpenStatic, adLockOptimistic
AturGrid
TulisData
End Sub
Private Sub Form_Activate()
kosong
tdksiap
batal.Enabled = False
simpan.Enabled = False
tambah.SetFocus
End Sub
Sub kosong()
Text1.Text = ""
Text2.Text = ""
Text3.Text = ""
Combo1.Text = ""
End Sub
Sub siap()
Text1.Enabled = True
Text2.Enabled = True
Text3.Enabled = True
Combo1.Enabled = True
End Sub
Sub tdksiap()
Text1.Enabled = False
Text2.Enabled = False
Text3.Enabled = False
Combo1.Enabled = False
End Sub
139
7. Kode program Tombol Tambah
8. Kode program Tombol Simpan
Private Sub tambah_Click()
tombol = "TAMBAH"
siap
kosong
Text1.SetFocus
batal.Enabled = True
simpan.Enabled = True
tambah.Enabled = False
keluar.Enabled = False
ubah.Enabled = False
hapus.Enabled = False
End Sub
Private Sub simpan_Click()
If tombol = "UBAH" Then
Set rsMahasiswa = New ADODB.Recordset
rsMahasiswa.Open "Select * From Mahasiswa where NIM =
'" & Text1.Text & "'", Con, adOpenStatic, adLockOptimistic
With rsMahasiswa
!NIM = Text1.Text
!prodi = Combo1.Text
!nama = Text2.Text
!alamat = Text3.Text
.Update
End With
End If
If tombol = "TAMBAH" Then
Set rsMahasiswa = New ADODB.Recordset
rsMahasiswa.Open "Select * From Mahasiswa", Con,
adOpenStatic, adLockOptimistic
With rsMahasiswa
.AddNew 'Menambahkan data baru
!NIM = Text1.Text
!prodi = Combo1.Text
!nama = Text2.Text
!alamat = Text3.Text
.Update
End With
End If
kosong
tdksiap
simpan.Enabled = False
batal.Enabled = False
tambah.Enabled = True
keluar.Enabled = True
ubah.Enabled = True
hapus.Enabled = True
TampilData
End Sub
140
9. Kode Program Tombol Batal
10. Kode Program Tombol Ubah
11. Kode Program Tombol Hapus
12. Kode Program Tombol Keluar
13. Kode Program General Deklaration
14. Kode Program Text1 Keypress
Private Sub batal_Click()
kosong
tdksiap
batal.Enabled = False
simpan.Enabled = False
keluar.Enabled = True
tambah.Enabled = True
ubah.Enabled = True
hapus.Enabled = True
tambah.SetFocus
End Sub
Private Sub ubah_Click()
tombol = "UBAH"
siap
Text1.SetFocus
End Sub
Private Sub hapus_Click()
tombol = "HAPUS"
siap
Text1.SetFocus
End Sub
Private Sub keluar_Click()
Unload Me
End Sub
Dim tombol As String
Private Sub Text1_KeyPress(KeyAscii As Integer)
Set rsMahasiswa = New ADODB.Recordset
rsMahasiswa.Open "Select * From Mahasiswa Where NIM = '" &
Text1.Text & "'", Con, adOpenStatic, adLockOptimistic
If KeyAscii = 13 Then 'Jika ditekan Enter
With rsMahasiswa
141
If tombol = "UBAH" Then
If .EOF Then
MsgBox "NIM " & Text1.Text & " belum ada"
Text1.SetFocus
Else
Text2.SetFocus
Text2.Text = !nama
Text3.Text = !alamat
Combo1.Text = !prodi
End If
ElseIf tombol = "HAPUS" Then
If .EOF Then
MsgBox "NIM " & Text1.Text & " belum ada"
Text1.SetFocus
Else
Text2.Text = !nama
Text3.Text = !alamat
Combo1.Text = !prodi
pesan = MsgBox("Apakah Anda yakin menghapus NIM " & _
Text1.Text & " ?", vbYesNo, "Hapus Data")
If pesan = vbYes Then
Set rsMahasiswa = New ADODB.Recordset
rsMahasiswa.Open "Select * From Mahasiswa where NIM = '"
& Text1.Text & "'", Con, adOpenStatic, adLockOptimistic
rsMahasiswa.Delete
End If
End If
End If
End With
TampilData
End If
'hanya boleh diisi angka atau backspace
If Not (KeyAscii >= Asc("0") And KeyAscii <= Asc("9") Or KeyAscii =
vbKeyBack) Then
Beep
KeyAscii = 0
End If
End Sub
142
C. LatihanLATIHAN
Buka kembali program yang sudah Anda buat seperti gambar 9.8.
Tambahkan Tabel Dosen dan Tabel Mata Kuliah pada Database Akademik
yang sudah Anda buat. Atur Field yang dibutuhkan untuk masing-masing tabel.
Tambahkan Form untuk Olah Data Dosen dan Form untuk Olah Data Mata
Kuliah dan ketik kode programnya.
DAFTAR PUSTAKA
143
BAB X
MENCETAK DATA
A. Pendahuluan
Mencetak data merupakan hasil akhir dari rangkaian proses pengolahan
data untuk tujuan pelaporan atau dokumentasi. Misalnya proses cetak yang
digunakan untuk pelaporan adalah cetak kwitansi pembayaran dari transaksi
pembelian/penjualan yang telah dilakukan.
Microsoft Visual Basic 6.0 mempunyai beberapa cara dalam mencetak
data, diataranya lewat kode program yang dirancang sendiri, data report atau
memanfaatkan Report designer seperti cristal report dan sebagainya.
Mencetak lewat kode program memang lebih mudah disbanding lewat
report designer tetapi kemampuan cetaknya kurang begitu bagus. Sedangkan
cristal report sendiri sebenarnya adalah program terpisah dari Microsoft visual
basic 6.0, tetapi karena komponen inimendukung kinerjanya maka banyak
programmer yang suka membuat laporan dengan bantuan cristal report.
B. Materi
1. Mencetak Data dengan Kode Program
Sebelum membahas bagaimana cara mencetak data ke printer, terlebih dahulu
akan dipaparkan bagaimana cara mencetak data ke form. Pada pembahasan
sebelumnya sudah dipaparkan tentang mencetak data ke form, dimana proses
cetaknya lebih ditekankan pada konsep perulangan (looping). Data yang
dicetak dapat ditampung dalam suatu konstanta atau variabel.
Perintah dasar untuk mencetak data dengan menggunakan kode-kode program
adalah :
<objek>.Print <data yang akan dicetak>
Contoh :
a) Mencetak Data ke Form dengan Kode Program
DIM Ucapan As String
Ucapan = ”Selamat Datang di STMIK Duta Bangsa”
Print Ucapan
144
Gambar 10.1 Hasil Cetakan ke Form
b) Mencetak data ke Printer dengan Kode Program
DIM Ucapan As String
Ucapan = ”Selamat Datang di STMIK Duta Bangsa”
Printer.Print Ucapan
Terdapat beberapa perintah cetak yang sering digunakan pada proses cetak
ke printer dari kode-kode program, seperti dijelaskan pada tabel berikut ini :
Tabel 10.1 Perintah Mencetak Data
Perintah Keterangan
Printer.CurrentX = 0
Printer.CurretY = 0
Perintah ini digunakan untuk mengatur posisi head
printer pada awal kertas yaitu pojok kiri atas kertas.
Printer.EndDoc
Data-data yang sedang dicetak akan masuk ke
dalam Print Spooler yaitu daftar antrian cetak dari
printer yang aktif. Sedang untuk melaksanakan
pencetakan secara nyata harus ditambahkan
perintah Printer.EndDoc
Printer.NewPage
Perintah ini menyababkan head printer berpindah
ke awal halaman berikutnya.
Printer.KillDoc
Menghentikan proses cetak secara mendadak
(biasanya diikuti oleh kondisi tertentu)
Printer.Orientation =
<number>
Menentukan bentuk orientasi cetakan data untuk
cetakan portrait (tegak) atau Landscape (mendatar)
Nilai 1 Portrait dan 2 Landscape
145
c) Contoh Program
Desain Form seperti berikut :
Kode program untuk form Cetak
Private Sub keluar_Click()
End
End Sub
Private Sub preview_Click()
Form76.Show
End Sub
Private Sub printer_Click()
Dim xno As String
printer.CurrentX = 0
printer.CurrentY = 0
no = 1
printer.FontSize = 14
printer.FontBold = True
printer.Print Tab(15); "Laporan Data Mahasiswa"
printer.FontSize = 10
printer.Print "----------------------------------------" & _
"-----------------------------------------------------"
printer.Print Tab(1); "No. ";
printer.Print Tab(5); "NIM";
printer.Print Tab(15); "Nama Mahasiswa";
printer.Print Tab(40); "Alamat";
printer.Print Tab(58); "Program Studi";
Data1.Recordset.MoveFirst
Do While Not Data1.Recordset.EOF
With Data1.Recordset
printer.Print Tab(1); Str(no);
146
printer.Print Tab(5); .Fields(0);
printer.Print Tab(15); .Fields(1);
printer.Print Tab(40); .Fields(2);
printer.Print Tab(58); .Fields(3);
End With
no = no + 1
Data1.Recordset.MoveNext
Loop
End Sub
2. Mencetak Data dengan Data Report
Data Report adalah suatu laporan mengenai database yang disediakan oleh
Visual Basic. Laporan ini dapat terbentuk jika Data Environment sudah
didesain. Data Environment merupakan penghubung antara database yang
telah didesain dengan Data Report yang akan ditampilkan.
a) Menggunakan Data Environment
Buka kembali program yang Anda buat seperti pada gambar 9.7 (Bab 9).
Tambahkan Data Environment dengan cara sebagai berikut :
Pastikan Data Environment dan Data Report sudah diaktifkan dengan
cara : pilih Project – Components, pilih tab Designers, Aktifkan
(centang) Data Environent dan Data Report- Klik OK.
Pilih Project – Add Data Environment. Klik kanan Connection1-Pilih
Properties. Pada bagian tab Provider pilih Microsoft Jet 3.51 OLE DB
Provider (untuk Access 1997), Microsoft Jet 4.0 OLE DB Provider
(untuk Access 2000-2003).
147
Gambar 10.2 Menggunakan Data Environment
Klik Next>>, pada bagian Select or enter a database name, browse
nama database (dbAkademik.mdb)
Klik tombol Test Connection, jika sukses maka muncul messagebox
seperti berikut :
Gambar 10.3 MessageBox Koneksi database sukses
Tambahkan Command untuk koneksi ke tabel, Klik kanan pada
Connection1, pilih Add Command.
Klik kanan pada Command1 pilih properties. Pada Connection pilih
Connection1. Pada Database Object pilih Table. Pada Object Name
pilih tbMahasiswa. Klik OK
148
Gambar 10.4 Properti Command1 untuk koneksi ke tabel
Klik OK. Klik tanda pada Command1, maka field-field dari tabel
tbMahasiswa akan ditampilkan
Gambar 10.5 Field-field pada Command1 (tbMahasiswa)
b) Menggunakan Data Report
Setelah Data Environment kita atur, kemudian buat laporannya
menggunakan Data Report. Ikuti langkah berikut :
Pilih menu Project – Add Data Report
149
Tabel 10.1 Bagian Data Report
Bagian Keterangan
Report Header Berisi judul laporan
Page Header Berisi judul kolom data yang akan ditampilkan
Detail Berisi nama field yang akan ditampilkan pada kolom
Page Footer Berisi catatan kaki di akhir kolom-kolom report
Report Footer Berisi catatan kecil/keterangan report
Selain jendela Data Report, pada toolbox akan muncul sebuah tab Data
Report yang berisi :
Gambar 10.6 Toolbox pada tab Data Report
Tabel 10.2 Toolbox pada tab Data Report
Nama Kontrol Keterangan
RptLabel Kontrol untuk memberikan label pada report
RptTextBox Kontrol serupa textbox yang hanya menampilkan teks
database saat runtime
RptImage Kontrol untuk menempatkan image pada report
RptLine Kontrol yang dapat menggambar garis secara
horizontal, vertical maupun diagonal
RptShape Kontrol untuk menggambar shape pada report
RptFunction Kontrol yang dapat menset hasil perhitungan data
Letakkan kontrol RptLabel pada bagian Report Header. Ubah Propery
Caption menjadi ”Laporan Data ahasiswa”, dan propery Aligment
menjadi 2-rptJustifyCenter
Klik DataReport1, ubah property DataSource, pilih
DataEnvironment1
Isi DataMember denga nama Command1
Klik menu bar Window, Pilih Cascade. Letakkan Jendela Data
Environment1 di atas jendela Data Report.
Drag and Drop field-filed yang ada di Jendela DataEnvironent1 ke
Jendela Data Report di bagian Detail.
150
Pindahkan bagian yang diakhiri tanda “:” ke bagian Page Header
Gambar 10.7 Meletakkan Field-Field ke Data Report
Desain akhir Data Report adalah sebagai berikut :
Gambar 10.8 Desain Akhir Data Report
3. Menctak data dengan Crystal Report
Selain Data Report, kita juga bisa menggunakan Crystal Report dalam
pembuatan laporan. Crystal Report adalah suatu form khusus berbentuk seperti
lembaran format naskah yang ingin dicetak.
Crystal Report dapat berdiri sendiri dapat pula menjadi satu dengan project
Visual
151
Basic yang anda buat. Bila berdiri sendiri, report tersebut pun dapat dipanggil
dari
project Visual Basic dengan Crystal Report Control sehingga report yang telah
anda buat dapat digunakan oleh beberapa project sekaligus.
a) Membuat Laporan dengan Crystal Report
Pertama-tama Anda harus Install dulu Software Crystal Report. Pada
kesempatan kali ini menggunakan Crystal Report 8.5.
Buka program Crystal Report , maka pada tampilan windows akan
muncul tampilan seperti gambar di bawah ini
Gambar 10.9 Crystal Report Gallery
Pilihlah Report Expert dan Standard Expert untuk laporan standard
dan pilih OK untuk melanjutkan. Setelah itu akan muncul semua
property dari report yang akan kita buat, yang akan ditampilkan
seperti gambar :
152
Gambar 10.10 Standard Report Expert
Pertama kali kita harus memasukkan datasource dari report yang akan
kita buat (darimana data yang mau kita tampilkan) dengan memilih 1
dari ketiga jenis data yang telah tersedia (Database, Crystal SQL
Query, dan Crystal Dictionary). Untuk menampilkan data dari
database seperti Microsoft Access, kita akan memilih Database.
Pilih DatabaseFile dan pilih find database file dan click add, cari
database yang akan ditampilkan.
Pilihlah datasource yang diinginkan dan click Add, setelah itu click
Close, maka dengan ini, report yang akan kita buat telah ditentukan
datasourcenya. Setelah itu pilihlah tombol Next untuk menuju bagian
field yang akan kita tampilkan di dalam report.
Pilihlah field-field yang akan kita tampilkan di report, dan bila sudah
selesai, click finish untuk menuju design report kita.
Buat desainya, simpan Report, misal rptMahasiswa
b) Koneksi Crystal Report dengan Visual Basic
Pastikan Crystal Report sudah terinstall dan Anda sudah selesai
membuat desain reportnya dan sudah Anda simpan dalam satu folder
dengan program Visual Basic yang Anda buat.
153
Buka kembali program yang telah Anda buat di Bab 9 (Gambar 9.8).
Tambahkan tombol untuk cetak data.
Tambahkan object Crystal Report di toolbox dengan cara pilih Project
- Components – Pilih tab Controls - pilih Crystal Report Viewer
Control tekan OK. Kemudian tambahkan objek tersebut ke dalam
Form
Berikut kode program untuk mencetak data di VB
Beberapa property dari Crystal Report yang biasa digunakan di dalam
aplikasi.
.Reset - Digunakan untuk mengembalikan kondisi report ke dalam
kondisi semula, biasanya properti ini digunakan pertama kali sebelum
properti lainnya .
.Connect - Digunakan untuk menenetukan jenis conection yang
digunakan Oleh report tersebut, biasanya diisi oleh variabel
ADODB.Connection yang kita buat.
.ReportFileName - Digunakan untuk menentukan report yang akan
kita tampilkan Beserta path dari report tersebut.
.StoreProcedureParam - Digunakan bila datasource dari report yang
akan kita panggil adalah storeProcedur yang memiliki parameter
'Mencetak semua data mahasiswa
Sub CetakAll ()
rptMhs.Reset
rptMhs.Connnect = Con
rptMhs.ReportFileName = App.Path & "\RptMahasiswa.rpt"
rptMhs.WindowState = crptMaximized
rptMhs.RetrieveDataFiles
rptMhs.Action = 1
End Sub
'Mencetak berdasarkan Program Studi
Sub CetakProdi()
rptMhs.Reset
rptMhs.Connnect = Con
rptMhs.ReportFileName = App.Path & "\RptDep.rpt"
rptMhs.SelectionFormula = ("{tbMahasiswa.Prodi}='" & cbProdi.Text & "'")
rptMhs.WindowState = crptMaximized
rptMhs.RetrieveDataFiles
rptMhs.Action = 1
End Sub
154
.Formula - Digunakan apabila di dalam report yang kita buat, terdapat
Formula yang ingin kita isi dari VB.
.SelectionFormula - Digunakan untuk memfilter data dari report yang
ingin kita tampilkan dengan menyebutkan nama Datasource.Nama
Field
.WindowState -Digunakan untuk menentukan windowstate dari
report pada saat pertama kali tampil apakah fullscreen, minimize dsb.
.Action -Digunakan untuk memunculkan report yang akan kita
tampilkan dengan memberinya angka 1 (.Action=1)
SOAL LATIHAN
C. Latihan
Buka kembali program yang sudah Anda buat pada soal Latihan Bab 9. Buatlah
Laporan untuk Data Dosen dan Data Mata Kuliah dengan Data Report dan Crystal
Report.
DAFTAR PUSTAKA
155
BAB XI
MERANCANG MENU PROGRAM
A. Pendahuluan
Menu adalah serangkaian pilihan yang dapat dipilih (di-klik atau di-
enter) dengan tujuan untuk melakukan tugas-tugas tertentu. Umumnya suatu menu
diitempatkan pada bagian atas dari programaplikasi. Tetapipada aplikasi tertentu
(misalnya aplikasi pada website), pembuatan menusudah mengacu pada
pemakaian gambar-gambar yang menarik. Umumnya gambar-gambar tersebut
dibuat oleh software lain seperti photoshop, corel atau bahkan software animasi
seperti flash.
Menu utama (menu bar) dalam suatu proyekmerupakan lokomotif utama
dalam suatu program karena keberadaann menu bertujuan untuk mengintegrasikan
program-program yang digunakan. Dengan demikian pemakai program tidak
kesulitan dalam menguunakan program yang sedang dijalankan. Menu bar terletak
di bawah title bar adalah tempat keberadaan menu, yang menampilkan Menu
Title.
Jika suatu menu di klik (misalnya menu file), sebuah daftar yang berisi
perintah-perintah (menu item) terbuka ke arah bawah. Menu item terdiri dari
perintah-perintah (seperti New, Open sampai dengan exit), separator bar, dan sub
menu title. Sedang masing-masing item mempunyai tugast ersendiri sesuai dengan
kode program yang dipasangkan pada menu tersebut. Beberapa item menu
menghasilkan proses secara langsung, misalnya menu exit akan langsung menutup
suatu program.
156
Gambar 11.1 Elemen-elemen menu pada visual basic
Gambar 11.2 Contoh menu program aplikasi
157
B. MateriRI
1. MDI Form
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 Visual Basic menggunakan MDI, yaitu terdiri dari
suatu MDIForm, dan didalamnya merupakan form-form anak (MDIChild).
Ada beberapa hal yang harus diperhatikan dalam penggunaan MDIForm adalah
:
Didalam satu project hanya dapat terdiri dari satu MDIForm
Anda tidak dapat menempatkan kontrol-kontrol secara langsung pada
MDIForm, kecuali kontrol yang memiliki properti Alignment, atau
menempatkannya diatas kontainer seperti Picturebox.
Anda tidak dapat menggunakan metode penggambaran (Print, Line, Circle,
dan PSet) seperti pada form umumnya.
a) Membuat MDI Form di Visual Basic
Kita harus tambahkan dengan klik pada menu Project - Add MDI Form.
Klik Open.
Pada Project Explorer akan muncul dua buah form yaitu Form1 dan
MDIForm1. Ubahlah properties MDIChild dari Form1 menjadi true. Hal
ini menandakan Form1 adalah sebagai form anak dari MDIForm1.
Settinglah pada Project Properties agar Form utamnya adalah
MDIForm1.
b) Karakteristik dari MDI Form
Semua Cchild Form tidak dapat dipindahkan keluar dari MDI Form.
Ketika suatu Child Form diminimize, akan menjadi icon dibawah MDI
Form.
158
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.
c) Mendapatkan MDI Child yang sedang aktif.
Untuk mendapatkan form-form yang sedang aktif di dalam suatu MDIForm,
anda dapat menggunakan properti ActiveForm, contoh :
d) Mengatur MDI Child dalam jendela MDI form
Anda dapat menggunakan metoda Arrange untuk mengatur penyusunan
form-form yang sedang aktif didalam suatu MDI Form. Metoda Arrange ini
diikuti oleh suatu parameter yang menentukan jenis penyusunan yang akan
dilakukan, 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
Private Sub mnuTileHorizontally_Click()
Arrange vbTileHorizontal
End Sub
Private Sub mnuTileVertically_Click()
Arrange vbTileVertical
End Sub
Private Sub mnuCascade_Click()
Arrange vbCascade
End Sub
Private Sub mnuArrangeIcons_Click()
Arrange vbArrangeIcons
End Sub
159
2. Menu Editor
Pembuatan menu pada Visual Basic dapat dilakukan dengan bantuan Menu
Editor yang terdapat pada Menu Tools-Menu Editor. 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.
a) Membuat Menu di MDI Form
Gambar 11.3 Window Menu Editor
Setelah menu diatur pada Window Menu Editor, maka berikut hasilnya :
Gambar 11.4 Tampilan menu yang dibuat di MDIForm
Untuk memunculkan frMahasiswa pada saat klik menu Mahasiswa maka
ketikkan kode berikut pada jendela MDIForm kode editor.
160
b) Membuat Pop Up Menu
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.
Sehingga kalau dilakukan klik kanan pada form akan menanpilkan suatu
PopUp menu yang berupa Sub Menu dari mnAtur.
Gambar 11.5 Tampilan Pop Up Menu di MDIForm
Private Sub MDIForm_MouseDown(Button As Integer, Shift As
Integer, X As Single, Y As Single)
If Button And vbRightButton Then
PopupMenu mnAtur
End If
End Sub
Private Sub mnMhs_Click()
frMahasiswa.Show
End Sub
161
C. LatihanOALLATIHAN
Buka kembali program yang sudah Anda buat pada Bab 9. Koneksikan dengan
Crystal Report (rptMahasiswa). Tambahkan MDIForm dan tambahkan menu
Laporan untuk menampilkan laporan Mahasiswa, Dosen, Mata Kuliah dan
laporan lain yang dibutuhkan.
DAFTAR PUSTAKA
162
BAB XII
FILE EXE DAN SETUP EXE
A. Pendahuluan
Suatu program aplikasi yang telah dibuat dengan visual basic 6.0 ingin
didistribusikan ke pengguna yang lain. Prosesnya tidak semudah yang kita
bayangkan, misalnya denganmengcompile visual basic project yang telah dibuat
menjadi file .Exe. selanjutnya file .Exe ini dicopykan ke computer lain. Langkah ini
jelas salah karena untuk bias berjalan di computer lain masih dibutuhkan file-file
pendukung.
B. Materi
1. File Exe
Setelah selesai membuat project anda dapat menyimpannya dan membuat
file exe nya. Jika program aplikasi yang sudah dibuat belum dicompile dalam
bentuk EXE maka akan dibutuhkan VB setiap kali menjalankannya. Agar user
yang lain bisa juga menjalankan program yang telah kita buat, maka
program yang telah selesai kita buat harus di compile dulu dalam bentuk
exe.
Untuk membuat File EXE buka kembali projek (*.VBP) yang telah selesai
anda buat (misalnya projek mahasiswa yang telah kita buat)
kemudian klik menu File- Make Project.exe lalu simpan file .exe
tersebut dan lanjutkan mengklik OK
Tunggu sampai proses kompilasi selesai dan coba keluar dari Visual
Basic. Lalu jalankan file.exe yang telah anda buat.
2. Setup Exe
Selain file .exe yang lebih ngetrend lagi yaitu file setup.exe. Membuat
file Setup.exe tidaklah sesulit yang dibayangkan hanya dengan beberapa
klik anda sudah dapat membuat file Setup.exe.
163
Untuk membuat setup.exe kita harus mengaktifkan terlebih dahulu Package
& Deployment Wizard. Klik Menu Add Ins – Add Ins Manager, kemudian
aktifkan Package and Deployment Wizard.
Gambar 12.1 Add-Ins Manager
Untuk membuat Setup.exe menu Add-Ins - Package & Deployment
Wizard | sehingga akan tampil window seperti gambar dibawah ini.
Gambar 12.2 Package and Deployent Wizard
164
Kemudian klik browse untuk mencari tempat folder projek yang telah
kita buat dan simpan. Cari file .vbp yang telah anda buat, pastikan anda
juga telah membuat file .exe dalam satu folder yang sama. Kemudian
lanjutkan dengan mengklik Package
Gambar 12.3 Kotak Dialog Package and Deployment Wizard
Browse : digunakan untuk mencari file exe dari project yang
sudah dibuat.
Compile : digunakan untuk melakukan proses kompilasi
program dari proyek yang pernah dibuat. Karena masih baru, klik
tombol compile ini. Tetapi jika file proyeknya sudah pernah di
compile, pilih tombol recompile untuk melakukan proses kompilasi
ulang.
Cancel : pilihan ini akan membatalkan seluruhproses yang
sedang anda kerjakan.
Setelah diklik Package akan muncul window seperti gambar 12.2
Gambar 12.4 Package and Deployent Wizard-Package Type
165
Pilih Package type = Standard Setup Package. Lanjutkan dengan mengklik
Next Setelah itu akan muncul window yang meminta anda untuk menyimpan
hasil kompilasi Setup.exe. Pilih tempat folder yang anda inginkan Kemudian
klik Next. Maka muncul Window yang menampilkan file-file yang akan
dipackage. Jika Anda menggunakan database (misal : dbAkademik.mdb) dan
file database tersebut belum ada di list, maka tekan tombol Add untuk
menambahkan file database tersebut.
Gambar 12.5 Package and Deployent Wizard-Included Files
Setelah anda klik Next akan muncul Window Cab Options, pilih
pada defaultnya yaitu Single Cab, kemudian lanjutkan dengan klik Next.
Setelah anda klik Next akan muncul Window Installation Title, masukkan
sesuai dengan nama project yang kita buat. Kemudian lanjutkan dengan
mengklik Next.
Setelah anda klik Next akan muncul Window Start Menu Items, pilih pada
defaultnya, lanjutkan dengan mengklik Next
Setelah anda klik Next akan muncul Window Install Location yang
memberitahu ke kita tempat / lokasi instalasi, biarkan pada
defaultnya, lanjutkan dengan mengklik Next
Setelah anda klik Next akan muncul Window Shared Files, lanjutkan
dengan mengklik Next. Sehingga akan muncul window Finished, biarkan
pada defaultnya, kemudian klik Finish.
166
Tunggu beberapa saat sampai hasil kompilasinya selesai. Install hasil
setup file yang sudah Anda buat. Jalankan dari start menu windows.
C. Latihan
Buatlah setup file dari program yang Anda buat. Install setup file tersebut, dan
jalankan program yang sudah Anda instaal dari Start Menu
DAFTAR PUSTAKA
167
BAB XIII
MEMBUAT SISTEM SIMPAN PINJAM KOPERASI
A. Pendahuluan
Sistem simpan pinjam koperasi, terdapat data master data bunga dan data nasabah,
sedangkan proses transaksi terdapat transaksi simpan, pinjam, pengembalian dan
setoran. Untuk laporan yang dibutuhkan laporan nasabah, laporan pinjam, laporan
simpan, laporan pengembalian dan laporan setoran.
B. Materi
1. Buat database koperasi.mdb
2. Buat Tabel yang dibutuhkan dalam sistem simpan pinjam koperasi
a) Buat Tabel Nasabah dengan struktur tabel seperti berikut :
Field Name Type Width Index
No_rek text 5 primary
nama text 25
J_kel text 1
Tempat_lhr text 20
Tgl_lahir date 8
agama text 1
alamat text 30
Saldo_spn currency 8
Saldo_pjm currency 8
168
b) Buat tabel pengambilan dengan struktur table seperti berikut :
Field Name Type Width Index
No_trans text 5 primary
no-rek text 5
Tgl_trans date 8
Jml_ambil currency 8
c) Buat tabel pinjam dengan struktur table seperti berikut :
Field Name Type Width Index
No_trans text 5 primary
no-rek text 5
Tgl_trans date 8
Jml_pinjam currency 8
d) Buat tabel setoran dengan struktur table seperti berikut :
Field Name Type Width Index
No_trans text 5 primary
no-rek text 5
Tgl_trans date 8
Jml_setor currency 8
e) Buat tabel simpan dengan struktur table seperti berikut :
Field Name Type Width Index
No_trans text 5 primary
no-rek text 5
Tgl_trans date 8
Jml_simpan currency 8
f) Buat tabel bunga dengan struktur table seperti berikut :
Field Name Type Width Index
Bunga_spn single 4 Primary
Bunga_pjm single 4 primary
g) Buat tabel password dengan struktur table seperti berikut :
Field Name Type Width Index
password Text 10 Primary
nama text 10
169
3. Buat Desain Form untuk memanipulasi data
a) Desain form login
Kode Program :
Data1.Recordset.Seek "=", Text2.Text
If Data1.Recordset.Fields("password") = Text2.Text Then
ok.SetFocus
Else
MsgBox "Password Salah", vbOKOnly, "Pesan:"
Text2.SetFocus
End If
salah:
End Sub
Private Sub selesai_Click()
End
End Sub
Private Sub text1_keypress(KeyAscii As Integer)
If KeyAscii = 13 Then
Text2.SetFocus
End If
End Sub
Private Sub text2_keypress(KeyAscii As Integer)
If KeyAscii = 13 Then
ok.SetFocus
End If
End Sub
170
b) Desain form bunga
Kode Program :
Private Sub batal_Click()
Text1.Visible = True
Text2.Visible = True
Text3.Visible = False
Text4.Visible = False
mati
edit.Enabled = True
keluar.Enabled = True
batal.Enabled = False
ok.Enabled = False
End Sub
Private Sub DBGrid1_RowColChange(LastRow As Variant, ByVal LastCol
As Integer)
On Error GoTo x
tampilan
x:
End Sub
Private Sub edit_Click()
On Error GoTo x
Text1.Visible = False
Text2.Visible = False
Text3.Visible = True
Text4.Visible = True
Text3.Enabled = True
Text4.Enabled = True
Text3.BackColor = &H80000005
Text4.BackColor = &H80000005
keluar.Enabled = False
edit.Enabled = False
ok.Enabled = True
batal.Enabled = True
x:
End Sub
171
Private Sub Form_Load()
On Error GoTo x
Text3.Visible = False
Text4.Visible = False
mati
batal.Enabled = False
ok.Enabled = False
x:
End Sub
Private Sub keluar_Click()
Unload Me
End Sub
Private Sub ok_Click()
On Error GoTo x
Data1.Recordset.Index = "xb_spn"
Data1.Recordset.Seek "=", Text1.Text
Data1.Recordset.Index = "xb_pjm"
Data1.Recordset.Seek "=", Text2.Text
If Not Data1.Recordset.NoMatch Then
Data1.Recordset.edit
Data1.Recordset!bunga_spn = Text3.Text
Data1.Recordset!bunga_pjm = Text4.Text
Pesan = MsgBox("Yakin Simpan Hasil Editan ??", vbYesNo,
"PEMBERITAHUAN")
If Pesan = vbYes Then
Data1.Recordset!bunga_spn = Text3.Text
Data1.Recordset!bunga_pjm = Text4.Text
Data1.Recordset.Update
Data1.Refresh
Else
End If
End If
edit.Enabled = True
keluar.Enabled = True
batal.Enabled = False
ok.Enabled = False
mati
x:
End Sub
Private Sub tampilan()
On Error GoTo x
With Data1.Recordset
Text1.Text = !bunga_spn
Text2.Text = !bunga_pjm
End With
172
x:
End Sub
Private Sub mati()
On Error GoTo x
Text1.Enabled = False
Text2.Enabled = False
Text3.Enabled = False
Text4.Enabled = False
Text1.BackColor = &H80000004
Text2.BackColor = &H80000004
Text3.BackColor = &H80000004
Text4.BackColor = &H80000004
x:
End Sub
Private Sub text3_keypress(KeyAscii As Integer)
On Error GoTo x
If KeyAscii = 13 Then
Text4.SetFocus
End If
x:
End Sub
Private Sub text4_keypress(KeyAscii As Integer)
On Error GoTo x
If KeyAscii = 13 Then
ok.SetFocus
End If
x:
End Sub
173
c) Desain Form Nasabah
Kode Program :
Private Sub b()
On Error GoTo x
Data4.Recordset.MoveLast
If Date - Data4.Recordset!tgl_trans >= 390 Then
Data1.Recordset.edit
Data1.Recordset!saldo_pjm = _
((((Data3.Recordset!bunga_pjm / 100) + 0.00000000023) *
Data1.Recordset!saldo_pjm) * 13) + _
Data1.Recordset!saldo_pjm
Data1.Recordset.Update
Else
Data4.Recordset.MoveLast
If Date - Data4.Recordset!tgl_trans >= 360 Then
Data1.Recordset.edit
Data1.Recordset!saldo_pjm = _
((((Data3.Recordset!bunga_pjm / 100) + 0.00000000023) *
Data1.Recordset!saldo_pjm) * 12) + _
Data1.Recordset!saldo_pjm
Data1.Recordset.Update
Else
Data4.Recordset.MoveLast
If Date - Data4.Recordset!tgl_trans >= 330 Then
Data1.Recordset.edit
Data1.Recordset!saldo_pjm = _
((((Data3.Recordset!bunga_pjm / 100) + 0.00000000023) *
Data1.Recordset!saldo_pjm) * 11) + _
Data1.Recordset!saldo_pjm
Data1.Recordset.Update
Else
Data4.Recordset.MoveLast
If Date - Data4.Recordset!tgl_trans >= 300 Then
174
Data1.Recordset.edit
Data1.Recordset!saldo_pjm = _
((((Data3.Recordset!bunga_pjm / 100) + 0.00000000023) *
Data1.Recordset!saldo_pjm) * 10) + _
Data1.Recordset!saldo_pjm
Data1.Recordset.Update
Else
Data4.Recordset.MoveLast
If Date - Data4.Recordset!tgl_trans >= 270 Then
Data1.Recordset.edit
Data1.Recordset!saldo_pjm = _
((((Data3.Recordset!bunga_pjm / 100) + 0.00000000023) *
Data1.Recordset!saldo_pjm) * 9) + _
Data1.Recordset!saldo_pjm
Data1.Recordset.Update
Else
Data4.Recordset.MoveLast
If Date - Data4.Recordset!tgl_trans >= 240 Then
Data1.Recordset.edit
Data1.Recordset!saldo_pjm = _
((((Data3.Recordset!bunga_pjm / 100) + 0.00000000023) *
Data1.Recordset!saldo_pjm) * 8) + _
Data1.Recordset!saldo_pjm
Data1.Recordset.Update
Else
Data4.Recordset.MoveLast
If Date - Data4.Recordset!tgl_trans >= 210 Then
Data1.Recordset.edit
Data1.Recordset!saldo_pjm = _
((((Data3.Recordset!bunga_pjm / 100) + 0.00000000023) *
Data1.Recordset!saldo_pjm) * 7) + _
Data1.Recordset!saldo_pjm
Data1.Recordset.Update
Else
Data4.Recordset.MoveLast
If Date - Data4.Recordset!tgl_trans >= 180 Then
Data1.Recordset.edit
Data1.Recordset!saldo_pjm = _
((((Data3.Recordset!bunga_pjm / 100) + 0.00000000023) *
Data1.Recordset!saldo_pjm) * 6) + _
Data1.Recordset!saldo_pjm
Data1.Recordset.Update
Else
Data4.Recordset.MoveLast
If Date - Data4.Recordset!tgl_trans >= 150 Then
Data1.Recordset.edit
Data1.Recordset!saldo_pjm = _
175
((((Data3.Recordset!bunga_pjm / 100) + 0.00000000023) *
Data1.Recordset!saldo_pjm) * 5) + _
Data1.Recordset!saldo_pjm
Data1.Recordset.Update
Else
Data4.Recordset.MoveLast
If Date - Data4.Recordset!tgl_trans >= 120 Then
Data1.Recordset.edit
Data1.Recordset!saldo_pjm = _
((((Data3.Recordset!bunga_pjm / 100) + 0.00000000023) *
Data1.Recordset!saldo_pjm) * 4) + _
Data1.Recordset!saldo_pjm
Data1.Recordset.Update
Else
Data4.Recordset.MoveLast
If Date - Data4.Recordset!tgl_trans >= 90 Then
Data1.Recordset.edit
Data1.Recordset!saldo_pjm = _
((((Data3.Recordset!bunga_pjm / 100) + 0.00000000023) *
Data1.Recordset!saldo_pjm) * 3) + _
Data1.Recordset!saldo_pjm
Data1.Recordset.Update
Else
Data4.Recordset.MoveLast
If Date - Data4.Recordset!tgl_trans >= 60 Then
Data1.Recordset.edit
Data1.Recordset!saldo_pjm = _
((((Data3.Recordset!bunga_pjm / 100) + 0.00000000023) *
Data1.Recordset!saldo_pjm) * 2) + _
Data1.Recordset!saldo_pjm
Data1.Recordset.Update
Else
Data4.Recordset.MoveLast
If Date - Data4.Recordset!tgl_trans >= 30 Then
Data1.Recordset.edit
Data1.Recordset!saldo_pjm = _
((((Data3.Recordset!bunga_pjm / 100) + 0.00000000023) *
Data1.Recordset!saldo_pjm) * 1) + _
Data1.Recordset!saldo_pjm
Data1.Recordset.Update
Data8.Recordset.MoveLast
Data6.Recordset.MoveLast
If Date - Data8.Recordset!tgl_trans <= 30 Then
Data1.Recordset.edit
Data1.Recordset!saldo_pjm = Data6.Recordset!spjm
Data1.Recordset.Update
End If
End If
176
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
x:
End Sub
Private Sub a()
On Error GoTo x
Data2.Recordset.MoveLast
If Date - Data2.Recordset!tgl_trans >= 390 Then
Data1.Recordset.edit
Data1.Recordset!saldo_spn = _
((((Data3.Recordset!bunga_spn / 100) + 0.00000000023) *
Data1.Recordset!saldo_spn) * 13) + _
Data1.Recordset!saldo_spn
Data1.Recordset.Update
Else
Data2.Recordset.MoveLast
If Date - Data2.Recordset!tgl_trans >= 360 Then
Data1.Recordset.edit
Data1.Recordset!saldo_spn