Sabtu, 28 November 2009

Pengenalan Struktur Keputusan di Visual Basic 6

Struktur keputusan di Visual Basic 6 mengijinkan Anda untuk mengawasi aliran dari eksekusi program Anda. Jika di bagian kiri tidak diperiksa oleh pernyataan aliran pengawasan, maka sebuah logika program akan mengalir melalui pernyataan-pernyataan dari kiri ke kanan, dan atas ke bawah. Prosedur di Visual Basic dapat memeriksa suatu kondisi dan lalu, tergantung pada hasil pemeriksaan tadi, akan melaksanakan operasi yang berbeda.

Struktur keputusan yang didukung oleh Visual Basic adalah:

  • If…Then
  • If…Then…Else
  • Select Case

If…Then

Gunakanlah sebuah struktur If…Then untuk mengeksekusi satu atau lebih pernyataan secara kondisional. Anda dapat menggunakan baik sebuah sintaks satu baris maupun sebuah blok yang terdiri dari sintaks dalam banyak baris:

If kondisi Then pernyataan

If kondisi Then
pernyataan

End If

Kondisi biasanya dalam bentuk sebuah perbandingan, tapi dia dapat berupa pernyataan apapun yang mengevaluasi ke sebuah nilai numerik. Visual Basic menginterpretasikan nilai ini sebagai True atau False; sebuah nilai nol sama dengan False, dan nilai yang tidak nol disamakan dengan True. Jika kondisi bernilai True, maka Visual Basic mengeksekusi semua pernyataan yang mengikuti kata kunci Then. Anda dapat menggunakan baik sintaks satu baris ataupun sintaks banyak baris untuk mengeksekusi hanya satu pernyataan secara kondisional. Perhatikan dua contoh berikut ini:

If anyDate < style="color: rgb(0, 0, 128);">Then anyDate = Now

If anyDate < style="color: rgb(0, 0, 128);">Then
anyDate = Now
End If

Perlu diingat bahwa bentuk satu baris dari If…Then tidak menggunakan pernyataan penutup End If. Jika Anda ingin mengeksekusi lebih dari satu baris kode ketika kondisi bernilai True, Anda harus menggunakan sintaks blok banyak baris If…Then…End If.

If anyDate < style="color: rgb(0, 0, 128);">Then
anyDate = Now
Timer1.Enabled = False ' Disable timer control.
End If

If…Then…Else

Gunakanlah blok If…Then…Else untuk menetapkan beberapa blok pernyataan, salah satunya akan mengeksekusi:

If kondisi1 Then
[pernyataanblok-1]
[ElseIf kondisi2 Then
[pernyataanblok-2]] …
[Else
[pernyataanblok-n]]

End If

Visual Basic pertama memeriksa kondisi1. Jika dia bernilai False, maka Visual Basic melanjutkan memeriksa kondisi2, dan seterusnya, sampai dia menemukan kondisi yang bernilai True. Ketika dia menemukan kondisi True, maka Visual Basic mengeksekusi blok pernyataan yang terkait, lalu mengeksekusi kode yang mengikuti End If. Sebagai sebuah pilihan, Anda dapat menyertakan sebuah blok pernyataan Else, di mana Visual Basic mengeksekusi jika tidak ada kondisi yang bernilai True.

If…Then…ElseIf benar-benar hanya sebuah kasus khusus dari If…Then…Else. Perlu diingat bahwa Anda dapat memiliki berapa pun jumlah klausa ElseIf, atau bahkan tidak ada sama sekali. Anda dapat menyertakan sebuah klausa Else tanpa menghiraukan apakah Anda memiliki klausa ElseIf.

Sebagai contoh, aplikasi Anda dapat melakukan aksi berbeda tergantung pada kontrol mana dalam sebuah control menu array yang diklik:

Private Sub mnuCut_Click (Index As Integer)
If Index = 0 Then ' perintah Cut .
CopyActiveControl ' memanggil prosedur umum.
ClearActiveControl
ElseIf Index = 1 Then ' perintah Copy.
CopyActiveControl
ElseIf Index = 2 Then ' perintah Clear.
ClearActiveControl
Else ' perintah Paste.
PasteActiveControl
End If
End Sub

Perlu diingat bahwa Anda dapat selalu menambahkan lagi bagian ElseIf pada struktur If…Then. Namun, sintaks ini dapat membosankan untuk menulis ketika setiap ElseIf membadingkan ekspresi yang sama untuk sebuah nilai yang berbeda. Untuk situasi seperti ini, Anda dapat menggunakan struktur keputusan Select Case.

Select Case

Visual Basic menyediakan struktur Select Case sebagai alternatif dari If…Then…Else untuk pengeksekusian secara selektif bagi sebuah blok pernyataan di antara banyak blok pernyataan. Sebuah pernyataan Select Case menyediakan kemampuan yang sama dengan pernyataan If…Then…Else, tapi dia membuat kode lebih mudah dibaca ketika tersedia beberapa pilihan.

Sebuah struktur Select Case bekerja dengan sebuah ekspresi pemeriksaan yang dievaluasi sekali, pada bagian atas struktur. Visual Basic lalu membandingkan hasil dari ekspresi ini dengan niliai untuk setiap Case di dalam struktur. Jika ada yang cocok, dia mengeksekusi blok pernyataan yang terkait dengan Case tersebut:

Select Case pernyataanpemeriksaan
[Case daftarekspresi1
[pernyataanblok-1]]
[Case daftarekspresi2
[pernyataanblok-2]]
.
.
.
[Case Else
[pernyataanblok-n]]

End Select

Setiap daftarekspresi adalah sebuah daftar satu atau beberapa nilai. Jika lebih dari satu nilai dalam sebuah daftar, maka nilai-nilai tersebut dipisahkan dengan koma. Setiap pernyataanblok mengandung nol atau lebih pernyataan. Jika lebih dari satu Case cocok dengan ekspresi pemeriksaan, hanya blok pernyataan terkait yang pertama yang cocok dengan Case akan dieksekusi. Visual Basic mengeksekusi pernyataan-pernyataan dalam klausa Case Else (yang bersifat tidakwajib atau opsional) jika tidak ada nilai dalam daftar ekspresi yang cocok dengan ekspresi pemeriksaan.

Sebagai contoh, misalkan Anda menambahkan perintah lain ke menu Edit dalam contoh If…Then…Else. Anda dapat menambahkan klausa ElseIf lainnya, atau Anda dapat menulis function dengan menggunakan struktur Select Case:

Private Sub mnuCut_Click (Index As Integer)
Select Case Index
Case 0 ' perintah Cut.
CopyActiveControl ' Panggil prosedur umum.
ClearActiveControl
Case 1 ' perintah Copy.
CopyActiveControl
Case 2 ' perintah Clear.
ClearActiveControl
Case 3 ' perintah Paste.
PasteActiveControl
Case Else
frmFind.Show ' Tampilkan kotak dialog Find.
End Select
End Sub
Perlu diingat bahwa struktur Select Case mengevaluasi sebuah ekspresi sekali pada bagian atas struktur. Berbeda dengan hal tersebut, struktur If…Then…Else dapat mengevaluasi sebuah ekspresi yang berbeda untuk setiap pernyataan ElseIf. Anda dapat mengganti sebuah struktur If…Then…Else dengan sebuah struktur Select Case hanya jika pernyataan If dan setiap pernyataan ElseIf mengevaluasi ekspresi yang sama.

from : www.visualbasicindonesia.com