Struktur kontrol program atau kadang disebut sebagai struktur kendali merupakan penerapan dari algoritma struktur percabangan dan struktur
pengulangan
pengulangan
- 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 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 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 Program aplikasi dengan if ... then.
Aktifkan VB 6 kemudian buatlah form sebagai berikut:
Atur property untuk masing-masing obyek sebagai berikut:
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.
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.
Program aplikasi dengan Select ... Case.
Aktifkan VB 6 melalui tombol Start, kemudian buat form sebagai berikut:
Aktifkan VB 6 melalui tombol Start, kemudian buat form sebagai berikut:
Atur property untuk masing-masing obyek sebagai berikut:
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 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
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.
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
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:
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
Perhatikan contoh penggunaan For ... Next dalam aplikasi berikut ini.
Coba perhatikan contoh pengulangan dengan For ... Next berikut ini.
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.
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 kita pahami. 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.
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
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.
good
ReplyDelete