Selamat Datang Di Anak Jadul Ingin Pintar (AJIP)

VI. Pemilihan dengan Select Case Visual Basic

Selasa, 27 Maret 20120 komentar

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.
Share this article :

Posting Komentar

 
Copyright © 2011. BELAJAR PEMOGRAMAN - All Rights Reserved
Proudly powered by Fasilkom Universitas Esa Unggul