Perhatikan Gambar 7.1. di atas. Tampilan pada gambar tersebut menunjukkan sebuah aplikasi yang menampilkan sekumpulan data pada tabel. Suatu ketika kalian akan menjumpai aplikasi yang serupa. Aplikasi di atas dapat dibangun dengan menggunakan Visual Basic secara cepat, tanpa harus dipusingkan dengan masalah pembuatan tabel, menu, tombol atau yang lainnya. Tinggal klik, seret, letakkan, atur posisi kemudian buat kodenya, aplikasi sudah langsung bisa dijalankan.

Gambar 7.1. Aplikasi yang dibangun dengan Visual Basic
Standar kompetensi pemrograman dengan VB dan VB.Net dasar terdiri atas tiga kompetensi dasar. Dalam penyajian pada buku ini, setiap kompetensi dasar memuat uraian materi, dan latihan. Ringkasan diletakkan pada setiap akhir bab kemudian dilanjutkan dengan soal-soal latihan. Kompetensi dasar pada bab ini adalah menjelaskan dasar-dasar Visual Basic, mengakses dan memanipulasi data dengan Visual Basic, dan menerapkan teknologi COM. Sebelum mempelajari kompetensi ini ingatlah kembali sistem operasi, prinsip pemecahan masalah, algoritma pemrograman dasar dan lanjutan dan materi-materi pendukung dari mata pelajaran matematika.
Tujuan
Setelah mempelajari bab ini diharapkan pembaca akan mampu:
- Menjelaskan dasar-dasar Visual Basic
- Mengakses dan memanipulasi data dengan Visual Basic
- Menerapkan teknologi COM.
1. Dasar-dasar Visual Basic
Visual Basic (VB) adalah salah satu bahasa pemrograman komputer. Bahasa pemrograman VB, yang dikembangkan oleh Microsoft sejak tahun 1991, merupakan pengembangan dari pendahulunya yaitu bahasa pemrograman BASIC (Beginner's All-purpose Symbolic Instruction Code) yang dikembangkan pada era 1950-an. VB adalah salah suatu developement tools untuk membangun aplikasi dalam lingkungan Windows. Dalam pengembangan aplikasi, Visual Basic menggunakan pendekatan Visual untuk merancang user interface dalam bentuk form, sedangkan untuk codingnya menggunakan dialek bahasa Basic yang cenderung mudah dipelajari. Visual Basic telah menjadi tools yang terkenal bagi para pemula maupun para developer. Namun ada kelemahan dari VB yaitu pada kinerja yang relative terasa lebih lambat dibanding dengan bahasa pemrograman lain. Namun dengan perkembangan processor dan main memory yang semakin cepat permasalahan ini menjadi tidak begitu penting.
Visual Basic adalah perangkat lunak yang berjalan di atas platform sistem operasi Microsoft Windows. Untuk memulai Visual Basic dapat dilakukan dengan mengklik Start -> Programs -> Microsoft Visual Studio 6 -> Microsoft Visual Basic. Tampilan awal Visual Basic akan tampak seperti Gambar 7.2.

Gambar 7.2. Tampilan awal Visual Basic
Pada Gambar 7.2 kita diminta untuk memilih jenis proyek yang akan kita buat. Untuk tahap awal proyek Standar.EXE merupakan pilihan yang biasa dilakukan. Setelah kita memilih Standar.EXE maka kita akan dibawa pada tampilan berikut.

Gambar 7.3. Tampilan awal untuk pilihan Standard.EXE.
Sebelum kita bekerja dengan Visual Basic, maka ada baiknya kita mengenali lebih dulur lingkungan kerja (IDE) Visual Basic. IDE (Integrated Developement Environment) Visual Basic merupakan Lingkungan Pengembangan Terpadu bagi programmer dalam mengembangkan aplikasinya. Dengan menggunakan IDE programmer dapat membuat user interface, melakukan coding, melakukan testing dan debuging serta menkompilasi program menjadi executable. Penguasaan yang baik akan IDE akan sangat membantu programmer dalam mengefektifkan tugas-tugasnya sehingga dapat bekerja dengan efisien. Tampilan IDE VB dapat dilihat pada Gambar 7.4.

Gambar 7.4. IDE Visual Basic
- Menu Bar, digunakan untuk memilih tugas-tugas tertentu seperti menyimpan project, membuka project, dll
- Main Toolbar, digunakan untuk melakukan tugas-tugas tertentu dengan cepat.
- Jendela Project, jendela ini berisi gambaran dari semua modul yang terdapat dalam aplikasi anda. Anda dapat menggunakan icon Toggle Folders untuk menampilkan modul-modul dalam jendela tersebut secara di group atau berurut berdasarkan nama. Anda dapat menggunakan Ctrl+R untuk menampilkan jendela project, ataupun menggunakan icon Project Explorer.
- Jendela Form Designer, jendela ini merupakan tempat anda untuk merancang user interface dari aplikasi anda. Jadi jendela ini menyerupai kanvas bagi seorang pelukis.
- Jendela Toolbox, jendela ini berisi komponen-komponen yang dapat anda gunakan untuk mengembangkan user interface.
- Jendela Code, merupakan tempat bagi anda untuk menulis kode. Anda dapat menampilkan jendela ini dengan menggunakan kombinasi Shift-F7.
- Jendela Properties, merupakan daftar properti-properti object yang sedang terpilih. Sebagai contohnya anda dapat mengubah warna tulisan (foreground) dan warna latarbelakang (background). Anda dapat menggunakan F4 untuk menampilkan jendela properti.
- Jendela Color Palette, adalah fasilitas cepat untuk mengubah warna suatu object.
- Jendela Form Layout, akan menunjukan bagaimana form bersangkutan ditampilkan ketika run-time.
Jendela Toolbox merupakan jendela yang sangat penting bagi anda. Dari jendela ini anda dapat mengambil komponen-komponen (object) yang akan ditanamkan pada form untuk membentuk user interface.

Gambar 7.5. Toolbox VB 6.
- Pointer bukan merupakan suatu kontrol; gunakan icon ini ketika anda ingin memilih kontrol yang sudah berada pada form.
- PictureBox adalah kontrol yang digunakan untuk menampilkan image dengan format: BMP, DIB (bitmap), ICO (icon), CUR (cursor), WMF (metafile), EMF (enhanced metafile), GIF, dan JPEG.
- Label adalah kontrol yang digunakan untuk menampilkan teks yang tidak dapat diperbaiki oleh pemakai.
- TextBox adalah kontrol yang mengandung string yang dapat diperbaiki oleh pemakai, dapat berupa satu baris tunggal, atau banyak baris.
- Frame adalah kontrol yang digunakan sebagai kontainer bagi kontrol lainnya.
- CommandButton merupakan kontrol hampir ditemukan pada setiap form, dan digunakan untuk membangkitkan event proses tertentu ketika pemakai melakukan klik padanya.
- CheckBox digunakan untuk pilihan yang isinya bernilai yes/no, true/false.
- OptionButton sering digunakan lebih dari satu sebagai pilihan terhadap beberapa option yang hanya dapat dipilih satu.
- ListBox mengandung sejumlah item, dan user dapat memilih lebih dari satu (bergantung pada property MultiSelect).
- ComboBox merupakan konbinasi dari TextBox dan suatu ListBox dimana pemasukkan data dapat dilakukan dengan pengetikkan maupun pemilihan.
- HScrollBar dan VScrollBar digunakan untuk membentuk scrollbar berdiri sendiri.
- Timer digunakan untuk proses background yang diaktifkan berdasarkan interval waktu tertentu. Merupakan kontrol non-visual.
- DriveListBox, DirListBox, dan FileListBox sering digunakan untuk membentuk dialog box yang berkaitan dengan file.
- Shape dan Line digunakan untuk menampilkan bentuk seperti garis, persegi, bulatan, oval.
- Image berfungsi menyerupai image box, tetapi tidak dapat digunakan sebagai kontainer bagi kontrol lainnya. Sesuatu yang perlu diketahui bahwa kontrol image menggunakan resource yang lebih kecil dibandingkan dengan PictureBox
- Data digunakan untuk data binding
- OLE dapat digunakan sebagai tempat bagi program eksternal seperti Microsoft Excel, Word, dll.
2. Prinsip Pokok Pemrograman Berbasis GUI
Secara prinsip ada dua bagian pokok dalam pengembangan aplikasi dengan menggunakan VB, yaitu: "visual design dan event-driven programming."
Visual Design
Dalam lingkungan Windows, User-interface sangat memegang peranan penting, karena dalam pemakaian aplikasi yang kita buat, pemakai senantiasa berinteraksi dengan User-interface tanpa menyadari bahwa dibelakangnya berjalan instruksi-instruksi program yang mendukung tampilan dan proses yang dilakukan. Pada pemrograman Visual, pengembangan aplikasi selalu dimulai dengan pembentukkan user interface. Untuk mendisain user interface, pengetahuan yang paling dibutuhkan hanyalah pemahaman dasar tentang jenis dan kegunaan dari control dan dasar-dasar bagaimana menggambar sebuah object.
Form dan control merupakan elemen-elemen dasar dalam user interface pada aplikasi-aplikasi berbasis Windows. Dalam VB, elemen-elemen ini disebut obyek karena dapat dimanipulasi seperti sebuah obyek. Obyek merupakan suatu kombinasi dari kode dan data yang dapat diperlakukan sebagai satu kesatuan. Sebuah obyek memiliki sejumlah property dan sejumlah method, dan akan bereaksi terhadap sejumlah event eksternal seperti halnya obyek fisik.
Sebagai ilustrasi (gambar 7.6), sebuah mobil adalah sebuah obyek fisik yang memiliki property, method dan event. Salah satu property adalah warna. Biasanya property warna dari mobil ditetapkan ketika sebuah mobil dibuat. Tetapi kalau kita tidak suka dengan warna mobil yang kita beli, kita masih dapat merubahnya, misalnya dengan mengecat ulang. Demikian juga dalam VB, property dari sebuah control biasanya ditentukan ketika object dibuat (pada saat ditempatkan pada sebuah form), tetapi kita dapat merubah property ini dengan memberikan nilai baru. Kita dapat merubah nilai property pada saat disain (dengan menggunakan jendela Properties) atau pada saat runtime (melalui kode program). Beberapa property hanya tersedia pada saat disain, dan beberapa property hanya tersedia pada saat runtime.

Gambar 7.6. Obyek, Property, Method dan Event
Event-Driven Programming
Pemrograman suatu aplikasi bukanlah sesuatu yang mudah, namun ada sebuah metodologi yang tidak boleh kita tinggalkan. Aplikasi yang dibuat dengan VB bukanlah sebuah program yang monolithic (hanya ada satu urutan jalannya program aplikasi). Ketika kita membuat program dengan VB, pertama kita harus menentukan bagaimana aplikasi akan berinteraksi dengan pengguna.
Atau dengan kata lain, kita harus menentukan bagaimana setiap control bereaksi terhadap aksi yang dilakukan pengguna (misalnya: click mouse, double-click mouse, penekanan salah satu tombol pada keyboard, dan lainlain). Konsep ini biasa disebut sebagai Event-Driven Programming, karena bukan aplikasi yang menentukan alur namun kejadian (event) yang disebabkan oleh pengguna yang menentukan alur dari aplikasi. Program aplikasi yang kita buat bereaksi terhadap kondisi eksternal (event), dan aksi dari pengguna yang menentukan bagaimana alur dari aplikasi.
3. Tipe Data, Variabel dan Konstanta
Secara umum tipe data, variabel dan konstanta dalam Visual Basic tidak banyak berbeda dengan apa yang disampaikan pada Bab 5. Coba buka kembali Bab tersebut untuk mengingat kembali bagian ini. Yang berbeda adalah bentuk pendeklarasian variabel dan konstanta. Perhatikan contoh berikut.
Contoh 7.1. Contoh pendeklarasian variabel, konstanta dan tipe data
Dim speed As Double
Dim timeElapsed As Double
Dim NumberStudent as Integer = 10
Dim velocity as Single
Dim Nama as String
Const phi as Single = 3.14
Pada contoh 7.1 kita bisa mendeklarasikan variabel dengan kata kunci Dim sedangkan untuk konstanta menggunakan kata kunci Const. Kita juga bisa langsung mengisikan nilai awal setelah definisi tipe data dari suatu variabel.
Salah satu keuntungan menggunakan pemrograman berbasis GUI seperti Visual Basic adalah tersedianya obyek-obyek yang dapat diperlakukan sebagai tipe data. Perhatikan contoh berikut ini.
Contoh 7.2. Contoh penggunaan tipe data obyek
Dim frm As Form
Dim midfrm As MDIForm
Dim ctrl As Control
Dim obj As Object
Dim inv As frmInvoice
Dim txtSalary As TextBox
Dim wrk As Excel.Worksheet
Pada contoh 7.2 di atas, pernyataan Form, MDIForm, Control dan Object adalah kontrol-kontrol yang dimiliki oleh Visual Basic. Sedangkan frmInvoice adalah form yang telah kita beri nama frmInvoice. Visual Basic juga memungkinkan kita untuk menggunakan obyek dari luar Visual Basic. Perhatikan pada baris terakhir di atas. Kita menggunakan worksheet dari Excel untuk kita gunakan dalam program kita.
4. Operator
Operator adalah simbol yang digunakan dalam bahasa pemrograman untuk melakukan suatu operasi terhadap nilai data. Simbol operator bisa berupa karakter ataupun kata khusus. Pada Visual Basic ada tiga kelompok operator utama, yaitu operator aritmatika, operator perbandingan dan operator logika.
Operator aritmatika
Operator aritmatika digunakan untuk operasi matematis terhadap nilai data. Notasi-notasi yang digunakan tampak pada tabel berikut ini:

Notasi/simbol untuk operator ini memiliki hirarki kekuatan, artinya apabila ada dua atau lebih operator digunakan bersama-sama, maka operator dengan hirarki yang lebih tinggi akan dieksekusi lebih dulu. Hirarki kekuatan operator secara berturut-turut adalah ^, * dan /, \, mod, + dan -. Operator * dan / adalah setara. Demikian juga operator + dan -. Perhatikan contoh berikut ini.
Contoh 7.3. Contoh penggunaan hirarki operator aritmatika.
5 * 2 + 3 = 13
4 ^ 2 - 5 = 11
Pada contoh pertama, tanda * (kali) memiliki kekuatan yang lebih tinggi dari tanda + (tambah) sehingga operasi perkalian dilakukan terlebih dahulu daripada penjumlahan. Hasil yang diperoleh adalah 10 ditambah 3 bukan 5 dikali 5. Sedangkan pada contoh kedua, tanda ^ (pangkat) mempunyai urutan kekuatan lebih tinggi dari -- (kurang) sehingga hasil akhirnya adalah 11 (yaitu dari 16 dikurangi 5). Untuk merubah urutan proses aritmatika dapat diatur dengan menggunakan tanda kurung. Perhatikan contoh berikut:
Contoh 7.4. Contoh penggunaan kurung untuk mengatur hirarki operator.
5 * (2 + 3) = 25
4 ^ (2 -- 5) = 0.015625
Pada contoh ini kita menggunakan angka dan operator yang sama seperti contoh sebelumnya, namun dengan menggunakan tanda kurung untuk merubah urutan proses. Pada contoh pertama proses yang pertama dilakukan adalah penjumlahan 2 dan 3, kemudian baru dikalikan 5. Hasil akhirnya adalah
25 (bandingkan dengan contoh sebelumnya, yaitu 13). Sedangkan pada contoh kedua proses pertama adalah 2 dikurangi 5 kemudian baru hasilnya digunakan sebagai angka pangkat untuk 4 (menjadi 4^-3). Hasil yang diperoleh adalah 0.015625, berbeda jauh dengan contoh sebelumnya yaitu 11. Dari kedua contoh ini dapat dilihat bahwa tanda kurung memiliki kekuatan lebih tinggi dari operator lainnya. Apabila ada lebih dari satu tanda kurung berjajar maka tanda kurung paling dalam yang akan diproses terlebih dahulu. Perhatikan contoh berikut:
5 * ((2 + 2) / 8) = 2.5
Operator perbandingan
Operator perbandingan digunakan untuk operasi yang membandingkan nilai data. Simbol-simbol yang digunakan:

Operator logika
Operator logika digunakan untuk operasi yang membandingkan suatu perbandingan. Simbol-simbol yang digunakan:

5. Struktur Kontrol Program
Struktur kontrol program atau kadang disebut sebagai struktur kendali merupakan penerapan dari algoritma struktur percabangan dan struktur pengulangan. Buka kembali Bab 5 untuk memperjelas kembali tentang struktur algoritma.
Struktur percabangan
Struktur percabangan dalam Visual Basic dapat dilakukan dengan menggunakan If ... Then dan Select... Case. If ... then digunakan jika percabangan tidak terlalu banyak. Sedangkan Select ... Case digunakan jika ada banyak percabangan. Perhatikan contoh penulisan If ... Then ini.
Contoh 7.5. Contoh penulisan If .. Then
' Percabangan/pemilihan satu baris tanpa Else
If x > 0 Then y = x
' Percabangan/pemilihan satu baris dengan Else
If x > 0 Then y = x Else y = 0
' Percabangan/pemilihan satu baris dengan Else dan titik dua
If x > 0 Then y = x: x = 0 Else y = 0
' Percabangan ditulis dengan cara lebih dari satu baris
If x > 0 Then
y = x
x = 0
Else
y = 0
End If
' Penggunaan blok if
If x > 0 Then
y = x
ElseIf x < 0 Then
y = x * x
Else
x = -1
End If
Contoh 7.6. Contoh penulisan Select ... Case
Dim position As Integer 'Pilihan
position = CInt(txtPosition.Text)
Select Case position
Case 1
txtOutcome.Text = "Menang"
Case 2
txtOutcome.Text = "Kalah"
Case 3
txtOutcome.Text = "Seri"
Case Else
txtOutcome.Text = "Tidak bertanding."
End Select
Coba perhatikan contoh aplikasi dengan menggunakan If ... Then dan Select ... Case berikut ini.
Contoh 7.7. Program aplikasi dengan if ... then
Aktifkan VB 6 kemudian buatlah form sebagai berikut:

Form VB
Atur property untuk masing-masing obyek sebagai berikut:

tabel properti
Buka Jendela Code dan pada bagian Code Editor ketikkan kode programnya sebagai berikut:
Private Sub Command1_Click()
If Text1.Text = "nusantara" Then Image1.Visible =
True
End Sub
Klik menu Project > Project1 Properties lalu klik tab General. Gantilah Startup Object-nya menjadi Form5. Coba jalankan Project1:
- Ketikkan sembarang teks pada TextBox lalu klik tombol OK atau tekan Enter, tidak terjadi apa-apa.
- Ketikkan "nusantara" pada TextBox lalu klik tombol OK atau tekan Enter, gambar computer akan muncul.
Penjelasan kode program:

Modifikasi kode programnya menjadi sebagai berikut:
Private Sub Command1_Click()
If Text1.Text = "nusantara" Then
Image1.Visible = True
Text1.Enabled = False
Command1.Enabled = False
Else
MsgBox "Passwordnya Salah !"
Text1.Text = ""
Text1.SetFocus
End If
End Sub
Coba jalankan kembali Project1:
- Ketikkan sembarang teks pada TextBox lalu klik tombol OK atau tekan Enter, muncul kotak pesan "Passwordnya Salah !". Klik tombol OK pada kotak pesan tersebut.
- Ketikkan "nusantara" pada TextBox lalu klik tombol OK atau tekan Enter, gambar computer akan muncul. TextBox dan tombol OK menjadi disable (tidak bisa digunakan).
Penjelasan kode program:

Catatan tambahan:
- Teks "nusantara" harus diketik huruf kecil semua. Ingat : data string bersifat case sensitive!
- Agar password-nya tidak bersifat case sensitive, modifikasi pernyataan kondisinya menjadi:
If LCase(Text1.Text) = "nusantara" Then
Fungsi LCase adalah untuk mengkonversi semua string yang diinput ke Text1.Text menjadi huruf kecil, walaupun user menginputnya dengan huruf kapital.
Contoh 7.8. Program aplikasi dengan Select ... Case
Aktifkan VB 6 melalui tombol Start, kemudian buat form sebagai berikut:

Atur property untuk masing-masing obyek sebagai berikut:

tabel pengaturan properti
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"
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
156 Rekayasa Perangkat Lunak
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
Klik menu Project > Project1 Properties lalu klik tab General. Gantilah Startup Object-nya menjadi Form6.
Coba jalankan Project1:
- 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 OKm 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.
Penjelasan kode program:

penjelasan kode program tersebut
Catatan:
- Bila jumlah barang diisi dengan selain angka akan muncul pesan error.
- Untuk mengecek isi Text1 angka atau bukan, tambahkan kode berikut:
If Not IsNumeric(Text1.Text) Then
MsgBox "Isi jumlah barang harus angka !!"
Text1.SetFocus
Exit Sub
End If
Struktur pengulangan
Struktur pengulangan yang mungkin paling banyak digunakan dalam Visual Basic adalah For. Dalam Visual Basic, struktur for ini dikenal sebagai For ... Next. Cara penulisan umum For ... Next adalah sebagai berikut:
For counter = nilaiAwal To nilaiAkhir [Step increment]
' pernyataan yang akan diulang...
Next
Pernyataan Step dan increment sudah disinggung di Bab 5 sehingga tidak akan dibahas lagi di sini. Perhatikan contoh penggunaan For ... Next dalam aplikasi berikut ini.
Coba perhatikan contoh pengulangan dengan For ... Next berikut ini.
Contoh 7.9. Pengulangan dengan For ... Next
Dim d As Single, count As Long
For d = 0 To 10 Step 2
count = count + 1
Next
Print count
Pada Contoh 7.9, d adalah counter dan kita deklarasikan sebagai single. Kita juga menggunakan increment dengan nilai 2. Nilai increment dapat berupa bilangan bulat atau pecahan. Namun nilai pecahan terkadang memberikan hasil yang tidak kita inginkan. Bagaimanakah output dari program di atas? Pada akhir program maka nilai count akan sama dengan 5.
Struktur pengulangan yang lebih fleksibel dari For ... Next adalah Do ... Loop. Do ... Loop dapat berbentuk berbeda-beda. Perhatikan contoh berikut.
Contoh 7.10. Pengulangan dengan For ... Next
Do While x > 0
y = y + 1
x = x \ 2
Loop
Do
y = y + 1
x = x \ 2
Loop Until x <= 0
Pada bagian pertama dari Contoh 7.10 kita menggunakan Do While ... Loop. Cara ini sama persis dengan struktur pengulangan dengan While yang telah kalian pelajari pada Bab 5. Pernyataan di bawah Do While, akan dikerjakan jika kondisi pada Do While bernilai benar. Jika tidak maka tidak akan dieksekusi.
Bagian kedua dari Contoh 7.10, kita menggunakan Do ... Loop Until untuk melakukan pengulangan. Pada bentuk seperti ini, pengulangan dilakukan sampai kondisi pada Loop Until bernilai benar. Jadi selama kondisi di depan Loop until masih bernilai salah maka pengulangan akan terus dilakukan. Atau Do ... Loop ini merupakan kebalikan dari Do While. Melihat kedua bagian tersebut, apabila kita inisialisasi x = -4 dan Y = 5, bagaimanakah hasilnya? Pada pengulangan dengan Do While, tidak akan memberikan hasil karena nilai X kurang dari 0 sehingga pengulangan tidak dilakukan. Sedangkan pada Do ... Loop Until, pernyataan di bawah Do masih dikerjakan, karena kondisi baru diperiksa di akhir pengulangan. Sehingga nilai X akan bernilai -2 dan Y bernilai 6.
Berikut ini adalah contoh progam aplikasi dengan menggunakan struktur pengulangan.
Contoh 7.11. Program aplikasi dengan struktur pengulangan
Buka VB dan buatlah form sebagai berikut:

Atur property seperti tabel berikut:

Buka Jendela Code dan pada bagian Code Editor ketikkan kode programnya sebagai berikut:
Dim i As Integer
Private Sub Command1_Click()
List1.Clear
For i = 1 To 100
List1.AddItem "Angka " & i
Next i
End Sub
Private Sub Command2_Click()
List1.Clear
For i = 100 To 1 Step -2
List1.AddItem "Angka " & i
Next i
End Sub
Private Sub Command3_Click()
List1.Clear
i = Asc("A")
Do Until i > Asc("Z")
List1.AddItem "Huruf " & Chr(i)
i = i + 1
Loop
End Sub
Private Sub Command4_Click()
List1.Clear
i = Asc("Z")
Do While i >= Asc("A")
List1.AddItem "Huruf " & Chr(i)
i = i - 1
Loop
End Sub
Coba jalankan program. Tekan keempat tombol yang ada pada form bergantian. Cobalah cermati output apa yang keluar dari eksekusi program di atas.
6. Prosedur dan Fungsi
Ada beberapa jenis procedure yang digunakan dalam Visual Basic:
- Sub procedure yang tidak menggembalikan nilai
- Function procedure yang mengembalikan nilai
- Property procedure yang dapat mengembalikan nilai dan diisi nilai yang mengacu pada suatu objek.
Sub procedure
Syntax penulisan Sub procedure:
[Private|Public][Static]Sub namaprosedur (argumenargumen)
pernyataan-pernyataan
End Sub
Setiap kali procedure dipanggil, maka pernyataan-pernyataan yang berada di antara Sub dan End Sub akan dijalankan. Argumen pada procedure adalah nilai yang akan dilewatkan saat pemanggilan procedure.
Di Visual Basic Sub Procedure dapat dibagi atas dua yaitu:
- General Procedure, procedure yang diaktifkan oleh aplikasi.
- Event Procedure, Procedure yang diaktifkan oleh system sebagai respon terhadap event.
Contoh 7.12. Contoh sub procedure
Pada contoh ini kita akan membuat sub procedure dengan nama CenterForm yang dapat digunakan untuk menampilkan form ketengah Layar, dimana x adalah parameter yang merupakan form yang akan dibuat ketengah layar.
Sub CenterForm(x As Form)
x.Top = (Screen.Height - x.Height) \ 2
x.Left = (Screen.Width - x.Width) \ 2
End Sub
'memanggil sub prosedur CenterForm
Private Sub Form_Load()
Call CenterForm(Me)
End Sub
Pada contoh 7.12, sub procedure CenterForm membutuhkan argumen form. Sehingga ketika dipanggil argumen juga harus dicantumkan. Perhatikan pada baris Call CenterForm(Me). Me di sini adalah argumen dari sub procedure. Pada Visual Basic, Me merujuk pada form dimana kode program ini dibuat.
Function procedure
Ada dua jenis function dalam Visual Basic, yaitu Built-in Function dan Function Procedure. Pada Visual Basic telah disediakan banyak Built-in Function yang dapat digunakan untuk berbagai tujuan seperti fungsi-fungsi untuk perhitungan matematika, manipulasi string, manipulasi tipe data dan lain-lain. Pada bab ini tidak akan dibahas detil fungsi-fungsi built-in tersebut. Namun pada lampiran, dapat dilihat beberapa fungsi built-in yang sering digunakan.
Meskipun sudah tersedia sangat banyak, tetapi fungsi-fungsi yang tersedia tersebut bersifat umum dan kandang-kadang tidak memenuhi kebutuhan programer, untuk keperluan tersebut anda dapat menciptakan fungsi-fungsi sendiri yang dikenal dengan Function procedure. Atau kita bisa mengatakan sebagai fungsi buatan sendiri.
Sintaks penulisan function procedure:
[Private|Public][Static]Function namaprocedure
(argumen-argumen) [As type]
statements
End Function
Ada tiga perbedaan antara function dan procedure:
- Umumnya anda dapat memanggil suatu function dengan mengikutkan nama function sisi kanan dari statement atau ekspresi. (returnvalue = function()).
- Function memiliki type data seperti suatu variabel. Ini menentukan type yang dari nilai yang dikembalikan.
- Nilai kembali dimasukkan ke namafunction itu sendirinya, dan suatu function dapat menjadi bagian dari suatu ekspresi yang panjang. Perhatikan contoh fungsi berikut ini.
Contoh 7.13. Contoh Fungsi
Fungsi ini adalah fungsi yang bekerja untuk menampilkan nama bulan dalam bahasa Indonesia dari data tanggal yang dimasukkan. Argumen yang dibutuhkan dalam fungsi ini adalah x dan bertipe data date.
Function Bulan(x As Date)
Dim sRet As String
Select Case Month(x)
Case 1: sRet = "Januari"
Case 2: sRet = "Februari"
Case 3: sRet = "Maret"
Case 4: sRet = "April"
Case 5: sRet = "Mei"
Case 6: sRet = "Juni"
Case 7: sRet = "Juli"
Case 8: sRet = "Agustus"
Case 9: sRet = "September"
Case 10: sRet = "Oktober"
Case 11: sRet = "Nopember"
Case 12: sRet = "Desember"
Case Else
sRet = "tidak sah"
End Select
Bulan = sRet
End Function
7. Akses dan Manipulasi Basis Data dengan Visual Basic
Salah satu keunggulan Visual Basic dibandingkan dengan Bahasa pemrograman yang lain, adalah kemampuan dalam akse dan manipulasi data. Hal ini karena Visual Basic dikembangkan oleh Microsoft yang juga membuat sistem operasi Windows. Sehingga fungsi-fungsi basis data mendapat dukungan yang sangat lengkap.
Visual Basic menyediakan beragam cara untuk mengakses dan memanipulasi data. Perhatikan diagram pada gambar berikut ini.

Gambar 7.7. Berbagai cara akse basis data dari Visual Basic.
ODBC
ODBC singkatan dari Open Data Base Connectivity. Merupakan sekumpulan fungsi yang membolehkan kita untuk koneksi pada basis data lokal atau yang berada di jaringan. Biasanya ODBC digunakan untuk mengakses berbagai tipe basis data antara lain, MS FoxPro, MS Access, MS SQL Serve, Oracle atau bahka data yang tersimpan dalam bentuk file data.
DAO
DAO atau Data Access Object adalah antarmuka dari Microsoft Jet, perangkat utama penggerak MS Access. Kita dapat membuat basis data dengan MS Access kemudian kita manipulasi dengan Visual Basic melalui DAO dengan mudah. Karena DAO langsung berhubungan dengan MS Access, maka kita dapat menggunakan fungsi-fungsi DBMS dari Visual Basic.
OLE DB
OLE DB adlah teknologi untuk mengakses basis data level dasar yang sebenarnya dimaksudkan untuk menggantikan fungsi ODBC. Namun dalam perkembangannya ODBC dan OLE DB memiliki perbedaan, yaitu OLE DB berbasis pada teknologi COM dan dapat digunakan untuk mengakses basis data yang bukan bersifat relasional.
ADO
ADO (ActiveX Data Object) adalah antarmuka level atas dari OLE DB. ADO dikembangkan di atas OLE DB untuk melengkapi fungsi-fungsi yang tidak dimiliki oleh OLE DB sehingga memudahkan programmer dalam membuat aplikasi.
9. Membuat dan Manipulasi Basis Data dengan ADO
Secara prinsip, apapun metode akses yang digunakan, cara bekerja dengan basis data dari Visual Basic adalah sama. Dibutuhkan beberapa tahapan untuk dapat bekerja dengan basis data. Pada bagian ini kita akan menggunakan ADO sebagai teknologi yang lebih fleksibel dari teknologi yang lain. Tapi ini dapat dikembangkan dengan teknologi yang lain.
Koneksi dengan basis data
Koneksi dengan basis data berarti kita menghubungi basis data supaya terbuka dan bisa kita akses data yang ada didalamnya. Berikut contoh pernyataan untuk koneksi ke basis data biblio.mdb
Dim cn As New ADODB.Connection
cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.3.51;"
_
& "Data Source=C:\Microsoft Visual
Studio\Vb98\Biblio.mdb"
Mengakses record data pada basis data
Kumpulan dari record-record data dalam basis data, pada ADO disebut sebagai recordset. Untuk bekerja dengan recordset ini kita membutuhkan tabel atau view/query yang ada dalam basis data. Perhatikan contoh berikut ini.
Const DBPATH = "C:\Program Files\Microsoft Visual
Studio\Vb98\NWind.mdb"
Dim cn As New ADODB.Connection, rs As New ADODB.Recordset
cn.Open "Provider=Microsoft.Jet.OLEDB.3.51;Data Source=" &
DBPATH
rs.Source = "Employees"
rs.Open , cn
Pada kode di atas kita menggunakan basis data Nwind.mdb sebagai Data source. Kemudian sebagai sumber recordset, kita memanggil tabel "Employees". Variabel rs adalah recordset. Setelah kita tentukan sumber tabelnya, kita dapat membuka tabel tersebut dengan pernyataan open.
Setelah terbuka tabel sumbernya, kita dapat mengakses data yang ada di dalamnya. Berikut ini contoh kode untuk mengakses data pada suatu tabel.
Dim i As Integer
For i = 0 To rs.Fields.Count
Print rs.Fields(i).Name & " = " & rs.Fields(i).Value
Next
Perintah di atas akan mencetak seluruh baris dan kolom Name yang ada pada tabel Employees yang telah terbuka sebelumnya. Cara yang paling cepat adalah dengan menggunakan perintah For Each seperti kode berikut.
Dim fld As ADODB.Field
For Each fld In rs.Fields
Print fld.Name & " = " & fld
Next
Manipulasi data dalam recordset
Untuk mengupdate data pada suatu recordset dapat dilakukan dengan cara sebagai berikut:
rs.Update Array("FirstName", "LastName", "BirthDate",
"HireDate"), _
Array("John", "Smith", #1/1/1961#, #12/3/1994#)
Sedangkan untuk menambah recordset perintah yang digunakan adalah sebagai berikut:
rs.AddNew
rs("FirstName") = "Robert"
rs("LastName") = "Doe
rs("BirthDate") = #2/5/1955#
rs.Update
Menghapus record tertentu dapat dilakukan dengan perintah seperti berikut
rs.Delete
rs.MoveNext
If rs.EOF Then rs.MoveLast
Pengertian dan Konsep COM
COM atau Component Object Model adalah infrastruktur yang disediakan oleh Visual Basic untuk mengakses obyek-obyek atau kontrol-kontrol lain sepanjang punya antar muka yang dapat diakses oleh Visual Basic.
Untuk dapat menggunakan COM pada Visual Basic, kita dapat membuka Reference Dialog dengan cara: dari menu Project pilih add Reference. Jendela seperti pada Gambar 7.8 akan terbuka.

Gambar 7.8. Jendela Reference.
Pada Gambar 7.8 kita memilih COM atau obyek yang ingin kita gunakan. Pada contoh ini kita memilih "Microsoft Word 8.0 Object Library". Setelah kita klik OK maka kita dapat menggunakan obyek yang kita pilih ini dalam kode program kita. Berikut contoh penggunaan obyek tersebut.
Contoh 7.14. Contoh penggunaan COM
Private Sub cmdCheck_Click()
Dim text As String
Dim suggestion As Word.SpellingSuggestion
Dim colSuggestions As Word.SpellingSuggestions
Rekayasa Perangkat Lunak 167
' menambahkan dokumen bila belum ada dokumen yang
terbuka.
If MSWord.Documents.Count = 0 Then MSWord.Documents.Add
text = Trim$(txtWord.text)
lstSuggestions.Clear
If MSWord.CheckSpelling(text) Then
lstSuggestions.AddItem "(correct)"
Else
Set colSuggestions =
MSWord.GetSpellingSuggestions(text)
If colSuggestions.Count = 0 Then
lstSuggestions.AddItem "(no suggestions)"
Else
For Each suggestion In colSuggestions
lstSuggestions.AddItem suggestion.Name
Next
End If
End If
End Sub
Pada kode di atas kita menggunaka salah satu metode dari obyek yang kita buka sebelumnya ("Microsoft Word 8.0 Object Library"). Metode yang ingin kita gunakan adalah SpellingSuggestion (lihat kode pada bagian pendeklarasian variabel). Dengan cara yang sama kita dapat menggunakan metode atau fungsi-fungsi yang kita inginkan dari obyek COM yang telah kita muat.
Pada jendela Reference di Gambar 7.8, tersedia banyak sekali COM yang dapat kita gunakan. Cobalah untuk membuka satu persatu dan lihat apa fungsinya.
11. Ringkasan
Pada bab ini kalian telah mempelajari pemrograman dengan Visual Basic. Dimulai dengan penerapan variabel, konstanta, tipe data dan operator. Kemudian dilanjutkan dengan strukturkendali pemrograman baik percabangan maupun pengulangan. Penggunaan procedure dan function juga disampaikan untuk melengkapi dasar pemrograman dengan Visual Basic.
Pada bagian selanjutnya kalian juga telah mempelajari teknik akses dan manipulasi data dengan menggunakan ADO. Bagian akhir ditutup dengan bagaimana membuka dan menggunakan teknologi COM yang disediakan oleh Visual Basic.
12. Soal-Soal Latihan
1. Berapakah hasil dari ekspresi Visual Basic berikut ini:
- a. 3*4
- b. 72
- c. 1/(23)
- d. 3 + (4*5)
- e. (5 - 3)*4
- f. 3*((-2)5)
2. Berapakah hasil dari operasi menggunakan mod berikut ini:
- a. 6 Mod 2
- b. 14 Mod 4
- c. 7 Mod 3
- d. 5 Mod 5
3. Periksalah penamaan variabel dalam Visual Basic ini. Tentukan mana yang diperbolehkan dan yang tidak.
- a. sales.2006
- b. room&Board
- c. fOrM_1040
- d. 1040B
- e. expenses?
- f. INCOME 2006
4. Jika a = 2, b = 3, dan c = 4, berapakah hasil dari ekspresi berikut ini.
- a. (a*b) + c
- b. a*(b + c)
- c. (1 + b)*c
- d. ac
- e. bc - a
- f. (c - a)b
5. Buatlah program untuk menghitung ekspresi berikut ini.
- a. 7-8 + 5
- b. (1 + 2-9)3
- c. 5.5% of 20
- d. 15 - 3(2 + 34)
- e. 17(3 + 162)
- f. 4 1/2 - 3 5/8
6. Bukalah Gambar 5.6 dan 5.7 pada Bab 5. Buatlah program dalam Visual Basic. Gunakan kontrol TextBox dan CommandButton pada soal ini.
7. Bukalah Gambar 5.9 dan 5.10 pada Bab 5. Buatlah program dalam Visual Basic.
8. Bukalah Gambar 5.15 dan 5.17 pada Bab 5. Buatlah program dalam Visual Basic.