Struktur Keputusan


Perintah If...Then...Else

Salah satu tujuan pemrograman komputer adalah mengambil tugas rutin manusia untuk dalam mengambil keputusan-keputusan yang dapat diprogram. Misalnya seorang Dosen dalam menentukan Grade (A,B,C,D, atau E) nilai akhir mahasiswa dengan kondisi sebagai berikut :


Jika Nilai >= 85 Kemudian
       Cetak "A"
   Jika tidak dan Jika Nilai >= 70 Kemudian
       Cetak "B"
   Jika tidak dan Jika Nilai >= 60 Kemudian
       Cetak "C"
   Jika tidak dan Jika Nilai >= 25 Kemudian
       Cetak "D"
   Jika tidak
       Cetak "E"
Akhir dari keputusan

Logika keputusan diatas dapat diprogram pada Visual Basic dengan menggunakan syntax penulisan sebagai berikut :

If condition [ Then ]
   [ statements  ]
[ ElseIf elseifcondition [ Then ]
   [ elseifstatements ] ]
[ Else
   [ elsestatements ] ]
End If

Contoh :
Option Explicit On
Imports System
Module ModIf
  Sub Main()
      Dim Nilai As Single
      Console.Write("Masukkan Nilai Akhir :")
      Nilai = Console.ReadLine()
      If Nilai >= 85 Then
         Console.WriteLine("A")
       ElseIf Nilai >= 70 Then
         Console.WriteLine("B")
       ElseIf Nilai >= 60 Then
         Console.WriteLine("C")
       ElseIf Nilai >= 25 Then
         Console.WriteLine("D")
       Else
         Console.WriteLine("E")
      End If
  End Sub
End Module

Perintah Select...Case
Jika statement If melakukan pemilihan berdasarkan kondisi, maka perintah Select melakukan pemilihan berdasarkan nilai ekspresi dengan syntax sebagai berikut :

Select [ Case ] testexpression
   [ Case expressionlist
      [ statements ] ]
   [ Case Else
      [ elsestatements ] ]
End Select

Contoh :

Option Explicit On
Imports System
Module ModHari
  Sub Main()
    Dim Hari As Byte
    Console.Write("Masukkan No Hari :")
    Hari = Console.ReadLine()
    Select Case Hari
      Case 1
        Console.WriteLine("Senin")
      Case 2
        Console.WriteLine("Selasa")
      Case 3
        Console.WriteLine("Rabu")
      Case 4
        Console.WriteLine("Kamis")
      Case 5
        Console.WriteLine("Jumat")
      Case 6
        Console.WriteLine("Sabtu")
      Case 7
        Console.WriteLine("Minggu")
      Case Else
        Console.WriteLine("No Hari tidak sah")
    End Select
  End Sub
End Module

Contoh Lain :

Option Explicit On
Imports System
Module ModHari
  Sub Main()
    Dim Angka As Integer
    Console.Write("Masukkan Angka 1 s/d 9 :")
    Angka = Console.ReadLine()
    Select Case Angka
      Case Is < 1
        Console.WriteLine("Terlalu kecil")
      Case 1 To 5
        Console.WriteLine("Berada antara 1 dan 5")
      Case 6,7,8,9
        Console.WriteLine("Berada antara 6 dan 9")
      Case Else
        Console.WriteLine("Terlalu besar")
    End Select
  End Sub
End Module