Kamis, 04 April 2013

percabangan dan perulangan di vb

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
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
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
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"

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

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:
Berikut contoh program sederhana yang saya ambil dari sub prosedure program saya (program RKA&DPA, suatu program database untuk perhitungan rencana kerja anggaran dan dokumen pelaksanaan anggaran berdasarkan Permendagri no. 13 tahun 2006). Sub prosedure ini contoh dari model percabangan dengan pemilihan berindex untuk tombol-tombol navigasi, editing, penghapusan dan penambahan record data pada suatu tabel database.
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:
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

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 – Next
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 – Loop
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.

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.

Tidak ada komentar :

Posting Komentar