Struktur Seleksi IIF dan Select Case

Struktur IIF (Nested IF)
Struktur Seleksi IIF dan Select Case uniksBentuk penulisan if then else  berbentuk vertikal sehingga banyak memakan baris atau terlalu panjang.(terlebih kalau bentuknya nested if). Untuk mengatasinya kita bisa membuat struktur iif  yaitu if then else yang berbentuk mendatar(horizontal). Bentuk struktur iif membutuhkan variabel untuk menampung jawabannya. Dari segi kecepatan struktur iif lebih cepat prosesnya (dibanding struktur if-then-else).
 Bentuk penulisan iif :

            Hasil = iif (kondisi, jawaban 1, jawaban 2)

Keterangan:
1.      Kondisi: perbandingan antara satu variabel/konstanta dengan yang lain
    menggunakan tanda <>,<,>,= <=, >= dari suatu keadaan yang meng
    hasilkan nilai “benar” atau “ salah”
2.      Jawaban 1 : jawaban yang diberikan jika kondisi penyeleksian benar
3.      Jawaban 2 : jika salah (tidak memenuhi persyaratan)

Contoh:
Buat program untuk menyeleksi apakah inputan dari inputbox berisi “p”, “w” atau lainnya. Jika input “p” masukan kata “pria” pada variabel jenis dan “w” untuk “wanita”. Sedangkan jika inputannya selain “p” dan “w” berikan jawaban kosong(tidak ada jawaban)mengingat kondisi yang dibutuhkan ada tiga, maka bentuk penyeleksianya adalah nested iif. Tuliskan listing programnya pada prosedur form_click

Dim jenis as string
            dim status as string
                        jenis = inputbox(“jenis kelamin (p/w)”)
                        status = iif (jenis = “p” , “pria”, iif(jenis = “w”, “wanita”, “”))
            print “jenis kelamin : “ & status

Hasil program jika diinputkan huruf “p” maka akan tampil
           
Jenis kelamin : pria
Kalau “w”
            jenis kelamin : wanita

Selainnya akan kosong

Struktur Select Case
Dugunakan untuk menjalankan satu block perintah yang jumlahnya banyak dan bertingkat.
Struktur ini mirip dengan struktur if then else, tetapi penulisannya lebih mudah  sehingga lebih efisien dan mudah dibaca programnya

Perbedaan antara struktur if then else dengan select case adalah jika struktur if then else menyeleksi suatu kondisi dan terpenuhi  selanjutnya penyeleksian masih dilakukan terhadap struktur if then else berikutnya.

Pada select case jika salah satu sudah terpenuhi  dan blok program sudah diproses, selanjutnya blok program yang lainnya dalam lingkungan select case tidak akan di seleksi lagi

Bentuk penulisan select case
            select case tes_ekspresi
                        case ekspresi 1
                                    … blok perintah 1
                        case ekspresi 2
                                    …  blok perintah 2
                        case ekpresi 3
                                    …blok perintah 3
            end select

Keterangan:
ü Tes_ekpresi: bisa bernilai numerik atau string
ü Ekspresi 1 : nilai pertama dari proses seleksi dari tes_ekpresi
ü Ekspresi 2 : nilai kedua dari proses seleksi dari tes_ekpresi (penulisannya bisa langsung berbentuk konstanta dan bisa juga melalui operator pembanding)
ü Blok perintah 1: rangkain perintah yg dikerjakan jika ekspresi 1 terpenuhi
ü Blok perintah 2: rangkaian perintah yg dikerjakan jk ekspersi 2 terpenuhi
ü Blok perintah 3: rangkaian perintah jika tidak ada yang memenuhi

Bentuk Struktur Select Case
 
Untuk memahami lihat contoh kasus :
            dim bil as integer
            bil = inputbox (“inputkan suatu bilangan”)
            print “bilangan :” & bil
            select case bil
            case 1
                        print “ketuhanan yang mahas esa
            case 2
                        print “kemanusiaan yang adil dan beradap
            case 3
                        print “persatuan indonesia
            case 4
                        print “kerakyatan yang dipimpin oleh hikmat kebijaksanaan
dalam permusyawaratan perwakilan
            case else
                        print “keadilan sosial bagi seluruh rakyat indonesia
            end select

Hasil program:
Jika saat program dijalankan, pada input box  diisikan bilangan 3 maka bentuk tampilannya sebagai berikut:
Bilangan : 3
Persatuan indonesia
Jika diisi bilangan 25
Bilangan : 5
Keadilan sosial bagi seluruh rakyat indonesia

LATIHAN

Program Hari  Lahir

Kode Program
Private Sub Form_Load()
    Command1.Enabled = False
End Sub

Private Sub Text1_Change()
    If IsDate(Text1) Then
        Command1.Enabled = True
    Else
        Command1.Enabled = False
    End If
End Sub

Private Sub Command1_Click()
    'MENCARI HARI LAHIR
    Dim KodeHari As Byte
    Dim Hari As String
    KodeHari = Weekday(Text1)
    Select Case KodeHari
        Case 1: Hari = "Minggu"
        Case 2: Hari = "Senin"
        Case 3: Hari = "Selasa"
        Case 4: Hari = "Rabu"
        Case 5: Hari = "Kamis"
        Case 6: Hari = "Jumat"
        Case 7: Hari = "Sabtu"
    End Select
    Text2 = Hari
   
    'MENCARI BINTANG
    Dim Tg, Bl As Byte
    Dim Btg As String
    Tg = Day(Text1): Bl = Month(Text1)
    If (Tg >= 21 And Bl = 3) Or (Tg <= 20 And Bl = 4) Then Btg = "ARIES"
    If (Tg >= 21 And Bl = 4) Or (Tg <= 21 And Bl = 5) Then Btg = "TAURUS"
    If (Tg >= 22 And Bl = 5) Or (Tg <= 21 And Bl = 6) Then Btg = "GEMINI"
    If (Tg >= 22 And Bl = 6) Or (Tg <= 22 And Bl = 7) Then Btg = "CANCER"
    If (Tg >= 23 And Bl = 7) Or (Tg <= 22 And Bl = 8) Then Btg = "LEO"
    If (Tg >= 23 And Bl = 8) Or (Tg <= 22 And Bl = 9) Then Btg = "VIRGO"
    If (Tg >= 23 And Bl = 9) Or (Tg <= 22 And Bl = 10) Then Btg = "LIBRA"
    If (Tg >= 23 And Bl = 10) Or (Tg <= 21 And Bl = 11) Then Btg = "SCORPIO"
    If (Tg >= 22 And Bl = 11) Or (Tg <= 21 And Bl = 12) Then Btg = "SAGITARIUS"
    If (Tg >= 22 And Bl = 12) Or (Tg <= 20 And Bl = 1) Then Btg = "CAPRICORN"
    If (Tg >= 21 And Bl = 1) Or (Tg <= 19 And Bl = 2) Then Btg = "AQUARIUS"
    If (Tg >= 20 And Bl = 2) Or (Tg <= 20 And Bl = 3) Then Btg = "PISCES"
    Text3 = Btg
End Sub

Subscribe to receive free email updates:

0 Response to "Struktur Seleksi IIF dan Select Case"

Post a Comment