Perintah IIf (jika
dalam huruf kecil: iif) digunakan untuk memasukkan kondisi pada nilai
variable. Bedanya dengan If-Then yaitu:
If-Then
- Mengekseskusi baris perintah-perintah didalamnya berdasarkan kondisi.
- Dapat melakukan dengan banyak kondisi
- Debuger memeriksa kefalidan logika (perintah) hanya pada kondisi yang memenuhi syarat saja
IIf()
- Untuk memasukkan sebuah nilai berdasarkan kondisi.
- Hanya menentukan satu kondisi True/Flase (Boolean)
- Debuger akan memeriksa kefalidan logika tiap nilai untuk masing-masing Bolean (Nilai1 untuk True dan Nilai2 untuk False). Jadi harus hati-hati saat menggunakan dan Format() atau membuat fungsi, karena jika terdapat kesalahan logika pada nilai baik pada salah satu maupun keduanya, makan akan menghasilkan error.
Rumus:
Iif(Boolean(True/False),
Nilai1, Nilai2)
Nilai1 jika kondisi
True/benar, dan Nilai2 jika kondisinya False/salah
Contoh:
Public Sub Main()
Dim a As Byte
Dim Teks As String
= “Nama saya adalah “
a = 1
Print Teks &
IIf(a = 0, “Bagio”, “Paimin”)
End
Hasil:
Nama saya adalah
Paimin
“Paimin” yang
didapat karena kondisinya False, bahwa a bukan sama dengan 0,
melainkan 1. perintah diatas sama halnya dengan perintah berikut:
Print Teks &
IIf(False, “Bagio”, “Paimin”)
Contoh error karena kesalahan logika
Public Sub Main()
Dim a As Byte = 1
Print IIf(a = 1, a
+ 6, a + Fungsiku()) ‘Error
End
Private Sub
Fungsiku() As String
Return "Ok"
End
Perintah diatas akan
menghasilkan error karena tidak seharusnya menjumlahkan “a” yang
bertipe byte dengan “Fungsiku()” yang bertipe String. Selain itu,
padahal, jika “Fungsiku()” bertipe byte/short/integer dan tidak
menghasilkan error saat dijalankan, hasil yang keluar dari perintah
diatas adalah dari “a + 6” karena bernilai True.
Coba jika perintah
diatas menggunakan If-Else
Public Sub Main()
Dim a As Byte = 1
If a = 1 Then
Print a + 6
Else
Print a +
Fungsiku()
Endif
End
Private Sub
Fungsiku() As String
Return "Ok"
End
Maka perintah diatas
tidak terjadi error, kecuali jika kondisinya “a” bukan 1.
Tidak ada komentar:
Posting Komentar