Percabangan dengan If…Then…Else…
Percabangan berdasarkan kondisi suatu variabel atau nilai di dalam pemrograman Visual Basic dinyatakan dengan perintah:
If <kondisi> Then
< Keputusan kondisi benar >
Else
< Keputusan kondisi salah >
End If
If <kondisi> Then
< Keputusan kondisi benar >
Else
< Keputusan kondisi salah >
End If
Penulisan percabangan seperti di atas
disebut dengan “kondisi dan keputusan”. Dalam pengertian yang umum bisa
dikatakan: Jika memenuhi kondisi maka lakukan proses keputusan untuk
kondisi benar, jika tidak lakukan proses keputusan untuk kondisi salah.
Contoh 1:
“Jika bilangan habis dibagi dua maka bilangan itu adalah bilangan genap, jika tidak
bilangan itu adalah bilangan ganjil”, yang dituliskan dengan:
If bilangan mod 8 = 0 Then
Ket = "Bilangan genap"
Else
Ket = "Bilangan ganjil"
End If
“Jika bilangan habis dibagi dua maka bilangan itu adalah bilangan genap, jika tidak
bilangan itu adalah bilangan ganjil”, yang dituliskan dengan:
If bilangan mod 8 = 0 Then
Ket = "Bilangan genap"
Else
Ket = "Bilangan ganjil"
End If
Contoh 2:
“Jika peminjaman lebih dari 7 hari maka dikenakan denda sebesar 2000”, yang
dituliskan dengan
If peminjaman>8 Then
Denda = 2000
Else
Denda = 0
End if
Penulisan percabangan di dalam Visual Basic mempunyai beberapa format, antara lain:
(1) Jika kondisi dipenuhi maka dilakukan proses yang hanya satu baris perintah
If kondisi Then <Proses Kondisi Benar>
(2) Jika kondisi dipenuhi maka dilakukan proses yang lebih dari satu baris perintah
If kondisi Then
<Proses Kondisi Benar>
End If
(3) Jika kondisi dipenuhi maka dilakukan proses A, jika tidak dilakukan proses B
yang masing-masing hanya satu baris perintah
If kondisi Then <Proses A> Else <Proses B>
(4) Jika kondisi dipenuhi maka dilakukan proses A, jika tidak dilakukan proses B
yang masing-masing hanya satu baris perintah
If kondisi Then
<Proses A>
Else
<Proses B>
End If
“Jika peminjaman lebih dari 7 hari maka dikenakan denda sebesar 2000”, yang
dituliskan dengan
If peminjaman>8 Then
Denda = 2000
Else
Denda = 0
End if
Penulisan percabangan di dalam Visual Basic mempunyai beberapa format, antara lain:
(1) Jika kondisi dipenuhi maka dilakukan proses yang hanya satu baris perintah
If kondisi Then <Proses Kondisi Benar>
(2) Jika kondisi dipenuhi maka dilakukan proses yang lebih dari satu baris perintah
If kondisi Then
<Proses Kondisi Benar>
End If
(3) Jika kondisi dipenuhi maka dilakukan proses A, jika tidak dilakukan proses B
yang masing-masing hanya satu baris perintah
If kondisi Then <Proses A> Else <Proses B>
(4) Jika kondisi dipenuhi maka dilakukan proses A, jika tidak dilakukan proses B
yang masing-masing hanya satu baris perintah
If kondisi Then
<Proses A>
Else
<Proses B>
End If
Contoh 3:
“Jika nilai<60 maka tidak lulus, jika tidak lulus” dapat dituliskan dengan:
If Nilai<60 Then Ket="Lulus" Else Ket="Tidak Lulus"
Contoh 4:
“Jika pembelian > 50000 maka mendapat hadiah cangkir”, dapat dituliskan dengan:
If pembelian > 50000 Then Hadiah = "Cangkir"
“Jika nilai<60 maka tidak lulus, jika tidak lulus” dapat dituliskan dengan:
If Nilai<60 Then Ket="Lulus" Else Ket="Tidak Lulus"
Contoh 4:
“Jika pembelian > 50000 maka mendapat hadiah cangkir”, dapat dituliskan dengan:
If pembelian > 50000 Then Hadiah = "Cangkir"
F. Percabangan dengan If…Then…Else… Berantai
Percabangan tidak harus hanya memiliki
satu kondisi, bisa juga percabangan memiliki banyak kondisi dengan
banyak proses keputusan, hal ini sering dinamakan dengan percabangan
berantai. Percabangan berantai secara umum ada dua macam yang dituliskan
dengan:
(1) Jenis percabangan berantai dengan hanya satu kondisi yang bisa terpenuhi
If <kondisi1> Then
<Keputusan dalam kondisi1>
else
if <Kondisi2> Then
<Keputusan dalam kondisi2>
else
if <Kondisi3> Then
<Keputusan dalam kondisi3>
else
If <Kondisi4> Then
<Keputusan dalam kondisi 4>
else
--- Keputusan yang lain ---
end if
end if
end if
end if
(2) Jenis percabangan berantai dengan banyak kondisi yang harus dipenuhi.
If <kondisi1> Then
<Keputusan dalam kondisi1>
if <Kondisi2> Then
<Keputusan dalam kondisi2>
if <Kondisi3> Then
<Keputusan dalam kondisi1, kondisi2 dan kondisi 3>
Else
<Keputusan dalam kondisi1 dan kondisi2 tetapi
tidak dalam kondisi 3>
End If
End If
End If
(1) Jenis percabangan berantai dengan hanya satu kondisi yang bisa terpenuhi
If <kondisi1> Then
<Keputusan dalam kondisi1>
else
if <Kondisi2> Then
<Keputusan dalam kondisi2>
else
if <Kondisi3> Then
<Keputusan dalam kondisi3>
else
If <Kondisi4> Then
<Keputusan dalam kondisi 4>
else
--- Keputusan yang lain ---
end if
end if
end if
end if
(2) Jenis percabangan berantai dengan banyak kondisi yang harus dipenuhi.
If <kondisi1> Then
<Keputusan dalam kondisi1>
if <Kondisi2> Then
<Keputusan dalam kondisi2>
if <Kondisi3> Then
<Keputusan dalam kondisi1, kondisi2 dan kondisi 3>
Else
<Keputusan dalam kondisi1 dan kondisi2 tetapi
tidak dalam kondisi 3>
End If
End If
End If
Pemilihan dengan Select Case Visual Basic
Salah satu model percabangan adalah
percabangan index atau yang dikenal dengan pemilihan berindex, dalam
visual Basic percabangan index ini menggunakan Select Case dengan
format:
Select Case <variable>
Case 0:
<Proses untuk keadaan variabel=0>
Case 1:
<Proses untuk keadaan variabel=1>
Case 2:
<Proses untuk keadaan variabel=2>
Case 3:
<Proses untuk keadaan variabel=3>
Case 4:
<Proses untuk keadaan variabel=4>
.......................
End Select
Contoh 1:Select Case <variable>
Case 0:
<Proses untuk keadaan variabel=0>
Case 1:
<Proses untuk keadaan variabel=1>
Case 2:
<Proses untuk keadaan variabel=2>
Case 3:
<Proses untuk keadaan variabel=3>
Case 4:
<Proses untuk keadaan variabel=4>
.......................
End Select
Private Sub tombolDbase1_Klik(Index As Integer)
Select Case Index
Case 0 'menuju record pertama
keAwal
Case 1 'menuju record sebelumnya
keSebelum
Case 2 'menuju record berikutnya
keBerikut
Case 3 'menuju record terakhir
keAkhir
Case 4
tambahData
Case 5
PasifkanTombol
BukaKunciTeks
txtNama.SetFocus
edit = True
Case 7
hapusData
Case 8
simpanData
Case 9
KunciTeks
AktifkanTombol
With TabelOperator
If tambah = True Then
If .RecordCount > 0 Then
.MoveLast
tampilkandata
End If
tambah = False
End If
End With
If edit = True Then
edit = False
End If
End Select
End Sub
Contoh 2:Select Case Index
Case 0 'menuju record pertama
keAwal
Case 1 'menuju record sebelumnya
keSebelum
Case 2 'menuju record berikutnya
keBerikut
Case 3 'menuju record terakhir
keAkhir
Case 4
tambahData
Case 5
PasifkanTombol
BukaKunciTeks
txtNama.SetFocus
edit = True
Case 7
hapusData
Case 8
simpanData
Case 9
KunciTeks
AktifkanTombol
With TabelOperator
If tambah = True Then
If .RecordCount > 0 Then
.MoveLast
tampilkandata
End If
tambah = False
End If
End With
If edit = True Then
edit = False
End If
End Select
End Sub
Prosedure berikut (juga dari program RKA&DPA) merupakan pemilihan berindex untuk mendeteksi apakah cursor mouse berada didalam atau diluar suatu tombol, dan melakukan perubahan gambar ataupun teks keterangan/informasi pada suatu tombol, apabila mouse berada didalam tombol, atau pada saat meninggalkan tombol maupun diluar tombol tertentu.
Private Sub gbr_MouseMove(index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single)
With gbr(index)
If X >= 0 And Y >= 0 And X <= .Width And Y <= .Height Then
SetCapture .hwnd
Select Case index
Case 0
.Picture = Img2(0).Picture
UserControl.ParentControls.Item(0).teks2.Caption = "Menuju baris data pertama."
Case 1
.Picture = Img2(1).Picture
UserControl.ParentControls.Item(0).teks2.Caption = "Menuju baris data sebelumnya."
Case 2
.Picture = Img2(2).Picture
UserControl.ParentControls.Item(0).teks2.Caption = "Menuju baris data berikutnya."
Case 3
.Picture = Img2(3).Picture
UserControl.ParentControls.Item(0).teks2.Caption = "Menuju baris data terakhir."
Case 4
.Picture = Img2(4).Picture
UserControl.ParentControls.Item(0).teks2.Caption = "Mengisi data baru."
Case 5
.Picture = Img2(5).Picture
UserControl.ParentControls.Item(0).teks2.Caption = "Mengubah/mengedit data yang tampil."
Case 6
.Picture = Img2(6).Picture
UserControl.ParentControls.Item(0).teks2.Caption = "Mencari data tertentu."
Case 7
.Picture = Img2(7).Picture
UserControl.ParentControls.Item(0).teks2.Caption = "Menghapus data yang tampil."
Case 8
.Picture = Img2(8).Picture
UserControl.ParentControls.Item(0).teks2.Caption = "Menyimpan ke databasis."
Case 9
.Picture = Img2(9).Picture
UserControl.ParentControls.Item(0).teks2.Caption = "Batal penyimpanan data ke databasis."
Case 10
.Picture = Img2(10).Picture
UserControl.ParentControls.Item(0).teks2.Caption = "Mencetak ke kertas."
Case 11
.Picture = Img2(11).Picture
UserControl.ParentControls.Item(0).teks2.Caption = "Menampilkan ke layar lembaran yang akan dicetak."
End Select
Else
ReleaseCapture
Select Case index
Case 0
.Picture = Img1(0).Picture
UserControl.ParentControls.Item(0).teks2.Caption = ""
Case 1
.Picture = Img1(1).Picture
UserControl.ParentControls.Item(0).teks2.Caption = ""
Case 2
.Picture = Img1(2).Picture
UserControl.ParentControls.Item(0).teks2.Caption = ""
Case 3
.Picture = Img1(3).Picture
UserControl.ParentControls.Item(0).teks2.Caption = ""
Case 4
.Picture = Img1(4).Picture
UserControl.ParentControls.Item(0).teks2.Caption = ""
Case 5
.Picture = Img1(5).Picture
UserControl.ParentControls.Item(0).teks2.Caption = ""
Case 6
.Picture = Img1(6).Picture
UserControl.ParentControls.Item(0).teks2.Caption = ""
Case 7
.Picture = Img1(7).Picture
UserControl.ParentControls.Item(0).teks2.Caption = ""
Case 8
.Picture = Img1(8).Picture
UserControl.ParentControls.Item(0).teks2.Caption = ""
Case 9
.Picture = Img1(9).Picture
UserControl.ParentControls.Item(0).teks2.Caption = ""
Case 10
.Picture = Img1(10).Picture
UserControl.ParentControls.Item(0).teks2.Caption = ""
Case 11
.Picture = Img1(11).Picture
UserControl.ParentControls.Item(0).teks2.Caption = ""
End Select
End If
End With
End Sub
Private Sub gbr_MouseUp(index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single)
With gbr(index)
Select Case index
Case 0
.Picture = Img1(0).Picture
Case 1
.Picture = Img1(1).Picture
Case 2
.Picture = Img1(2).Picture
Case 3
.Picture = Img1(3).Picture
Case 4
.Picture = Img1(4).Picture
Case 5
.Picture = Img1(5).Picture
Case 6
.Picture = Img1(6).Picture
Case 7
.Picture = Img1(7).Picture
Case 8
.Picture = Img1(8).Picture
Case 9
.Picture = Img1(9).Picture
Case 10
.Picture = Img1(10).Picture
Case 11
.Picture = Img1(11).Picture
End Select
End With
End Sub
With gbr(index)
If X >= 0 And Y >= 0 And X <= .Width And Y <= .Height Then
SetCapture .hwnd
Select Case index
Case 0
.Picture = Img2(0).Picture
UserControl.ParentControls.Item(0).teks2.Caption = "Menuju baris data pertama."
Case 1
.Picture = Img2(1).Picture
UserControl.ParentControls.Item(0).teks2.Caption = "Menuju baris data sebelumnya."
Case 2
.Picture = Img2(2).Picture
UserControl.ParentControls.Item(0).teks2.Caption = "Menuju baris data berikutnya."
Case 3
.Picture = Img2(3).Picture
UserControl.ParentControls.Item(0).teks2.Caption = "Menuju baris data terakhir."
Case 4
.Picture = Img2(4).Picture
UserControl.ParentControls.Item(0).teks2.Caption = "Mengisi data baru."
Case 5
.Picture = Img2(5).Picture
UserControl.ParentControls.Item(0).teks2.Caption = "Mengubah/mengedit data yang tampil."
Case 6
.Picture = Img2(6).Picture
UserControl.ParentControls.Item(0).teks2.Caption = "Mencari data tertentu."
Case 7
.Picture = Img2(7).Picture
UserControl.ParentControls.Item(0).teks2.Caption = "Menghapus data yang tampil."
Case 8
.Picture = Img2(8).Picture
UserControl.ParentControls.Item(0).teks2.Caption = "Menyimpan ke databasis."
Case 9
.Picture = Img2(9).Picture
UserControl.ParentControls.Item(0).teks2.Caption = "Batal penyimpanan data ke databasis."
Case 10
.Picture = Img2(10).Picture
UserControl.ParentControls.Item(0).teks2.Caption = "Mencetak ke kertas."
Case 11
.Picture = Img2(11).Picture
UserControl.ParentControls.Item(0).teks2.Caption = "Menampilkan ke layar lembaran yang akan dicetak."
End Select
Else
ReleaseCapture
Select Case index
Case 0
.Picture = Img1(0).Picture
UserControl.ParentControls.Item(0).teks2.Caption = ""
Case 1
.Picture = Img1(1).Picture
UserControl.ParentControls.Item(0).teks2.Caption = ""
Case 2
.Picture = Img1(2).Picture
UserControl.ParentControls.Item(0).teks2.Caption = ""
Case 3
.Picture = Img1(3).Picture
UserControl.ParentControls.Item(0).teks2.Caption = ""
Case 4
.Picture = Img1(4).Picture
UserControl.ParentControls.Item(0).teks2.Caption = ""
Case 5
.Picture = Img1(5).Picture
UserControl.ParentControls.Item(0).teks2.Caption = ""
Case 6
.Picture = Img1(6).Picture
UserControl.ParentControls.Item(0).teks2.Caption = ""
Case 7
.Picture = Img1(7).Picture
UserControl.ParentControls.Item(0).teks2.Caption = ""
Case 8
.Picture = Img1(8).Picture
UserControl.ParentControls.Item(0).teks2.Caption = ""
Case 9
.Picture = Img1(9).Picture
UserControl.ParentControls.Item(0).teks2.Caption = ""
Case 10
.Picture = Img1(10).Picture
UserControl.ParentControls.Item(0).teks2.Caption = ""
Case 11
.Picture = Img1(11).Picture
UserControl.ParentControls.Item(0).teks2.Caption = ""
End Select
End If
End With
End Sub
Private Sub gbr_MouseUp(index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single)
With gbr(index)
Select Case index
Case 0
.Picture = Img1(0).Picture
Case 1
.Picture = Img1(1).Picture
Case 2
.Picture = Img1(2).Picture
Case 3
.Picture = Img1(3).Picture
Case 4
.Picture = Img1(4).Picture
Case 5
.Picture = Img1(5).Picture
Case 6
.Picture = Img1(6).Picture
Case 7
.Picture = Img1(7).Picture
Case 8
.Picture = Img1(8).Picture
Case 9
.Picture = Img1(9).Picture
Case 10
.Picture = Img1(10).Picture
Case 11
.Picture = Img1(11).Picture
End Select
End With
End Sub
H. Struktur Pengulangan (Looping)
Dalam pengontrolan jalannya suatu
program looping digunakan untuk mengulang suatu blok perintah sampai
kondisi tertentu. Proses ini akan terus bekerja selama kondisi yang
dibandingkan bernilai benar (True), jika salah maka looping dihentikan
dan dilanjutkan oleh perintah selanjutnya.
Struktur pengulangan yang sering digunakan antara lain adalah sebagai berikut :
a) For – NextStruktur pengulangan yang sering digunakan antara lain adalah sebagai berikut :
Digunakan untuk mengulang blok perintah
dalam jumlah yang telah ditentukan, di dalamnya hanya perlu menuliskan
nilai awal dan nilai akhir variabel penghitung.
Bentuk penulisannya adalah sebagai berikut :
For (Variabel integer) = (awal) to (akhir) [step (pertambahan)]
(blok perintah)
Next
Keterangan :
[step (pertambahan)] tidak selalu harus ada
Contoh :
Dim ulang as integer
For ulang = 0 to 30
Print ulang
Next
Akan menghasilkan tulisan dari “0” hingga “30” di form.
b) Do While – LoopBentuk penulisannya adalah sebagai berikut :
For (Variabel integer) = (awal) to (akhir) [step (pertambahan)]
(blok perintah)
Next
Keterangan :
[step (pertambahan)] tidak selalu harus ada
Contoh :
Dim ulang as integer
For ulang = 0 to 30
Print ulang
Next
Akan menghasilkan tulisan dari “0” hingga “30” di form.
Digunakan untuk melakukan pengulangan terus menerus selama kondisi memenuhi syrat. Jika bernilai False akan berhenti.
Cara penulisannya adalah sebagai berikut :
Do While (kondisi)
(Ekspresi)
Loop
Contoh :
Dat = 1
Do while Dat< 20
Print Dat
Dat = Dat + 1
Loop
Jika nilai Dat sudah mencapai 19 maka perulangan akan berhenti.
Cara penulisannya adalah sebagai berikut :
Do While (kondisi)
(Ekspresi)
Loop
Contoh :
Dat = 1
Do while Dat< 20
Print Dat
Dat = Dat + 1
Loop
Jika nilai Dat sudah mencapai 19 maka perulangan akan berhenti.
I. For Each – Next
Digunakan untuk mengulang satu blok
perintah bagi tiap elemen pada suatu koleksi objek. Contoh koleksi
berupa kumpulan kontrol pada sebuah form, dimana masing-masing kontrol
tersebut menjadi komponennya. Pemakaian struktur ini sangat cocok jika
kita tidak mengetahui berapa jumlah komponen pada form atau lembar
kerja.
Bentuk penulisannya adalah sebagai berikut :
For (komponen) in (group)
(ekspresi)
Next
Contoh penulisannya :
Private Sub Command1_Click
Dim ctrl as Object
For Each ctrl In Form1.Controls
ctrl.Enabled = False
Next
End Sub
Artinya saat event Command1 diklik maka semua kontrol yang berjenis objek di dalam form1, propertis enablednya diset false.
For (komponen) in (group)
(ekspresi)
Next
Contoh penulisannya :
Private Sub Command1_Click
Dim ctrl as Object
For Each ctrl In Form1.Controls
ctrl.Enabled = False
Next
End Sub
Artinya saat event Command1 diklik maka semua kontrol yang berjenis objek di dalam form1, propertis enablednya diset false.
Tidak ada komentar :
Posting Komentar