BAB III STRUKTUR KONTROL
Struktur kontrol yang dimiliki oleh visual basic hampir sama dengan bahasa pemograman lainnya. Struktur kontrol merupakan pengaturan aliran program, berbentuk rangkaian perintah yang harus ditulis untuk memenuhi beberapa keadaan, yaitu : •
Mengulang rutin karena tidak terpenuhinya suatu kondisi
•
Melanjutkan sebuah pernyataan bila kondisi terpenuhi
•
Memilih suatu pilihan dari beberapa alternatif bila suatu kondisi terpenuhi.
Struktur kontrol terbagi dalam dua jenis yaitu : •
Struktur pengambilan keputusan
•
Struktur pengulangan (Loooping)
A. Struktur Kondisional Struktur ini digunakan untuk pengambilan suatu keputusan jika beberapa kondisi yang diajukan, untuk struktur ini ada dua perintah yaitu : •
If … Then Struktur ini digunakan untuk memilih satu kondisi dari dua kondisi yang diajukan. Dapat ditulis dengan format : If
kondisi 1 Then Perintah ‘untuk perintah satu baris
If kondisi 1 Then baris Perintah 1 Perintah 2 End if
‘untuk perintah beberapa
Pemograman Berorientasi Objek (OOP) -- 24 © 2007, Busran, MT – Institut Teknologi Padang
•
If … Then … Else Struktur kontrol ini digunakan untuk memilih beberapa pilihan dari beberapa kondisi. Program akan menguji kondisi pertama, jika keadaan salah maka program akan menguji kondisi kedua demikian selanjutnya. Sebagai pilihan akhir kita harus memasukkan perintah Else yang diikuti End If. Struktur ini dapat dituliskan sebagai berikut : If kondisi 1 Then ‘untuk perintah beberapa baris Perintah blok 1 Elseif kondisi 2 Then Perintah blok 2 … Else … Perintah Blok n End if Contoh program menggunakan If…then..Else… Buatlah form sebagai berikut :
Atur properti seperti pada tabel dibawah ini : Objek Form1 Label1 Label2 Label3
Properti Name Caption Name Caption Name Caption Name Caption
Pengaturan Form1 If…Then…Else Label1 Bilangan Pertama Label2 Bilangan Kedua Label3 Hasil Perhitungan
Pemograman Berorientasi Objek (OOP) -- 25 © 2007, Busran, MT – Institut Teknologi Padang
TextBox1 TextBox2 TextBox3 CommandButton
Name Text Name Text Name Text Name Caption
Text1 Kosongkan Text2 Kosongkan Text3 Kosongkan Command1 &Hitung
Rutin program Dim bilangan, pangkat As Integer Function hasilpangkat(bilangan, pangkat) Dim i As Integer Dim B As Double B = 1 For i = 1 To Abs(pangkat) B = B * bilangan Next hasilpangkat = B End Function Private Sub Command1_Click() bilangan = Text1.Text pangkat = Text2.Text If pangkat = 0 Then Text3.Text = 1 ElseIf pangkat = 1 Then: Text3.Text = bilangan ElseIf pangkat > 0 Then: Text3.Text = hasilpangkat(bilangan, pangkat) Else: Text3.Text = 1 / hasilpangkat(bilangan, pangkat) End If End Sub
Pemograman Berorientasi Objek (OOP) -- 26 © 2007, Busran, MT – Institut Teknologi Padang
•
Select … Case … Struktur ini dapat digunakan sebagai alternatif pemakaian if … then … else, select case ini mempunyai penulisan yang lebih mudah sehingga penulisan rutin program menjadi lebih ringan dan mudah dibaca. Standar penulisan nya yaitu : Select Case testkondisi Case ekspresi1 Perintah1 Case ekspresi2 Perintah2 … Case else Perintah n End Select
Ekspresi dapat berupa nilai atau beberapa nilai. Jika terdapat beberapa nilai dalam satu baris, maka nilai-nilai tersebut dipisahkan dengan tanda koma (,), jika program menemukan beberapa ekspresi yang bernilai sama dengan nilai hasil pengujian kondisi, maka yang akan dieksekusi adalah case dengan ekspresi yang sama yang pertama sekali ditemukan. Contoh program menggunakan Select Case : Buatlah form sebagai berikut :
Pemograman Berorientasi Objek (OOP) -- 27 © 2007, Busran, MT – Institut Teknologi Padang
Atur properti komponen sebagai berikut : Objek Form1 Label1 Label2 TextBox1 TextBox2 CommandButton1 CommandButton2
Properti Name Caption Name Caption Name Caption Name Text Name Text Name Text Name Caption
Pengaturan Form1 Select…Case Label1 Suhu Label2 Hasil Konversi Text1 Kosongkan Text2 Kosongkan Command1 &Lagi Command2 &Hitung
Rutin Program Dim pilihan As String Sub inputpilihan() pilihan = InputBox("Konversi yang diinginkan" & Chr(10) & _ "1. Celcius ke Fahreinheit" & Chr(10) & _ "2. Fahreinheit ke Reamur" & Chr(10) & _ "3. Reamur ke Celcius" & Chr(10) & _ "4. Celcius ke Kelvin" & Chr(10) & _ "Pilihan Anda :", "Pilihan Konversi") If pilihan = "" Then MsgBox "Ulangi Pilihan Anda", , "Pesan" inputpilihan End If End Sub Sub mengolahdata() Select Case pilihan Case 1 Text2.Text Case 2 Text2.Text Case 3 Text2.Text Case 4 Text2.Text Case Else Text2.Text
= ((9 / 5) * Text1.Text) - 32 = (Text1.Text - 32) * (5 / 9) = ((5 / 4) * Text1.Text) = (Text1.Text + 273) = "Pilihan Tidak tersedia" Pemograman Berorientasi Objek (OOP) -- 28 © 2007, Busran, MT – Institut Teknologi Padang
End Select End Sub Private Sub Command1_Click() Text1.Text = "" Text2.Text = "" Text1.SetFocus End Sub Private Sub Command2_Click() If Text1.Text = "" Then MsgBox "Anda belum mengisi kotak nilai", , "Pesan" Else inputpilihan mengolahdata Command2.SetFocus End If End Sub
Pertama program dijalankan, isikan nilai suhu misalnya 100, lalu klik hitung, maka akan muncul form kedua yang meminta pilihan konversi.
Pemograman Berorientasi Objek (OOP) -- 29 © 2007, Busran, MT – Institut Teknologi Padang
B. Struktur Pengulangan Struktur pengulangan digunakan untuk mengulang sebagian rutin, sehingga tidak perlu menulis ulang rutin sebanyak yang diinginkan. Beberapa bentuk pengulangan antara lain : •
Do … Loop Struktur ini digunakan untuk mengulang rutin sampai jumlah tertentu, standar penulisannya : Do While kondisi Perintah Loop
Contoh Program :
Pengaturan Properti Objek Form1 CommandButton1
Properti Name Caption Text Name Text
Pengaturan Form1 Form1 Kosongkan Command1 &Hitung
Pemograman Berorientasi Objek (OOP) -- 30 © 2007, Busran, MT – Institut Teknologi Padang
Rutin Program Dim batas As String Dim bil1, bil2, bil3 As Integer Sub inputbatas() batas = InputBox("Batas barisan bilangan Finobuci", "Bilangan Finobuci") If batas = "" Then MsgBox "Anda belum mengisi batas bilangan", , "Pesan" inputbatas End If End Sub Private Sub Command1_Click() Cls inputbatas If CInt(batas) < 1 Then Print "Tidak ada bilangan finobuci kurang dari 1" Else bil1 = 1 bil2 = 0 bil3 = 1 Do Until bil1 >= CInt(batas) Print bil1 bil1 = bil2 + bil3 bil2 = bil3 bil3 = bil1 Loop End If End Sub •
For … Next Untuk pengulangan dengan menggunakan for … next, tidak perlu dilakukan pengujian kondisi, cukup hanya mengisikan nilai pengulangan awal dan akhir nya. Pengulangan jenis ini adalah pengulangan tidak bersyarat. Standar penulisannya ; For variabel = awal to akhir [step pengulangan] Perintah Next variabel
Pemograman Berorientasi Objek (OOP) -- 31 © 2007, Busran, MT – Institut Teknologi Padang
Contoh Program, buatlah form sebagi berikut :
Atur propertis komponen seperti tabel dibawah ini Objek Form1 Label1 Label2 TextBox1 TextBox2 CommandButton1 CommandButton2
Properti Name Caption Name Caption Name Caption Name Text Name Text Name Text Name Caption
Pengaturan Form1 Form1 Label1 Banyak Bilangan Label2 Bilangan Rata-rata Text1 Kosongkan Text2 Kosongkan Command1 &Lagi Command2 &Hitung
Pemograman Berorientasi Objek (OOP) -- 32 © 2007, Busran, MT – Institut Teknologi Padang
Rutin program Dim bilangan Dim jumlah As Currency Dim banyakbil, indeks As Integer Sub inputbil() bilangan = InputBox("Bilangan ke-" & indeks, "data") If bilangan = "" Then MsgBox "Anda belum memasukkan bilangan ke-" & indeks, , "Pesan" inputbil End If End Sub Private Sub Command1_Click() Text1.Text = "" Text2.Text = "" Text1.SetFocus End Sub Private Sub Command2_Click() banyakbil = Text1.Text jumlah = 0 For indeks = 1 To banyakbil inputbil jumlah = jumlah + bilangan Next Text2.Text = jumlah / banyakbil Command1.SetFocus End Sub
•
For Each … Next Pengulangan dengan menggunakan For Each … Next sangat baik digunakan untuk pengulangan dimana nilai komponen nya sudah diketahui, standar penulisannya : For Each elemen In grup Perintah Next element Pemograman Berorientasi Objek (OOP) -- 33 © 2007, Busran, MT – Institut Teknologi Padang
Contoh program, menampilkan daftar kontrol visual basic
Atur properti sebagai berikut : Objek Form1 CommandButton1 ListBox1
Properti Name Caption Name Text Name
Pengaturan Form1 Form1 Command1 &Tampilkan Daftar Kontrol List1
Rutin Program Private Sub Command1_Click() For Each Control In Form1.Controls List1.AddItem Control.Name Next Control End Sub
Pemograman Berorientasi Objek (OOP) -- 34 © 2007, Busran, MT – Institut Teknologi Padang
C. Kontrol Lebih Lanjut Dalam visual basic masih banyak kontrol yang dapat dijelaskan lebih lanjut antara lain : •
Kotak Pesan Untuk menciptakan kotak pesan, visual basic telah menyediakan prosedur internal
yaitu MsgBox, standar penulisannya : MsgBox(Prompt,parameter,judul,filehelp,konteks) Dimana keterangan dapat dijelaskan : Prompt Teks yang diisikan disini akan ditampilkan dikotak pesan, panjang pesan maksimum adalah 1024 karakter yang masih bergantung pada jenis dan ukuran huruf yang digunakan. Parameter Parameter ini menentukan jenis tombol yang akan digunakan, jika tidak diisikan maka visual basic akan mengisikan nilai standar. Jenis parameter yang ada antara lain : Parameter vbOKOnly vbOKCancel vbAbortRetryIgnore vbYesNoCancel VbYesNo vbRetryCancel vbDefaultButton1 vbDefaultButton2 •
Nilai 0 1 2 3 4 5 0 255
Penjelasan Tombol Tombol Tombol Tombol Tombol Tombol Tombol Tombol
OK saja OK dan Cancel Abort, Retry dan Ignore Yes, No dan Cancel Yes No saja Retry dan Cancel saja pertama sebagai default kedua sebagai default
Kotak Input Kotak input adalah salah satu kontrol dialog yang digunakan untuk memasukkan
data secara langsung. Kotak input mempunyai 2 tombol OK dan Cancel, standar penlisan dalam program yaitu : Pemograman Berorientasi Objek (OOP) -- 35 © 2007, Busran, MT – Institut Teknologi Padang
InputBox
(prompt,
judul,
default,
xpos,
ypos,
filehelp,
konteks) Contoh Program Private sub Form_load() Nama = InputBox(“Siapa Nama Anda ?”, “Nama”) MsgBox
“Hallo,
apa
kabar
“
+
Nama,
vbInformation,
“Pesan” End Sub
Pemograman Berorientasi Objek (OOP) -- 36 © 2007, Busran, MT – Institut Teknologi Padang