Senin, 28 Oktober 2019

Mengenal Penggunaan Perintah IIf() Untuk Kondisi (Pada) Nilai/Value ~Tutorial Gambas


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