Ekspresi Boolean (Visual Basic)
Ekspresi Boolean adalah ekspresi yang mengevaluasi ke nilai Jenis Data Boolean: True
atau False
. Ekspresi Boolean
dapat memiliki beberapa bentuk. Yang paling sederhana adalah perbandingan langsung dari nilai variabel Boolean
dengan Boolean
harfiah, seperti yang ditunjukkan dalam contoh berikut.
If newCustomer = True Then
' Insert code to execute if newCustomer = True.
Else
' Insert code to execute if newCustomer = False.
End If
Dua Arti dari = Operator
Perhatikan bahwa pernyataan penugasan newCustomer = True
terlihat sama dengan ekspresi dalam contoh sebelumnya, tetapi ia melakukan fungsi yang berbeda dan digunakan secara berbeda. Dalam contoh sebelumnya, ekspresi newCustomer = True
mewakili nilai Boolean, dan tanda =
ditafsirkan sebagai operator perbandingan. Dalam pernyataan yang berdiri sendiri, tanda =
ditafsirkan sebagai operator penugasan dan menetapkan nilai di sebelah kanan ke variabel di sebelah kiri. Contoh berikut mengilustrasikan langkah-langkah ini:
If newCustomer = True Then
newCustomer = False
End If
Untuk informasi selengkapnya, lihat Perbandingan Nilai dan Pernyataan.
Operator perbandingan
Operator perbandingan seperti =
, <
, >
, <>
, <=
, dan >=
menghasilkan ekspresi Boolean dengan membandingkan ekspresi di sisi kiri operator dengan ekspresi di sisi kanan operator dan mengevaluasi hasilnya sebagai True
atau False
. Contoh berikut mengilustrasikan langkah-langkah ini:
42 < 81
Karena 42 kurang dari 81, ekspresi Boolean dalam contoh sebelumnya mengevaluasi True
. Untuk informasi selengkapnya tentang ekspresi semacam ini, lihat Perbandingan Nilai.
Operator Perbandingan Dikombinasikan dengan Operator Logis
Ekspresi perbandingan dapat dikombinasikan menggunakan operator logis untuk menghasilkan ekspresi Boolean yang lebih kompleks. Contoh berikut menunjukkan penggunaan operator perbandingan bersama dengan operator logis.
x > y And x < 1000
Dalam contoh sebelumnya, nilai keseluruhan ekspresi bergantung pada nilai ekspresi pada setiap sisi dari operator And
. Jika kedua ekspresi adalah True
, maka keseluruhan ekspresi mengevaluasi True
. Jika salah satu ekspresi adalah False
, maka seluruh ekspresi mengevaluasi False
.
Operator Korsleting
Operator logis AndAlso
dan perilaku ekshibisi OrElse
dikenal sebagai korsleting. Operator korsleting mengevaluasi operand kiri terlebih dahulu. Jika operand kiri menentukan nilai seluruh ekspresi, maka eksekusi program berlanjut tanpa mengevaluasi ekspresi kanan. Contoh berikut mengilustrasikan langkah-langkah ini:
If 45 < 12 AndAlso testFunction(3) = 81 Then
' Add code to continue execution.
End If
Dalam contoh sebelumnya, operator mengevaluasi ekspresi kiri, 45 < 12
. Karena ekspresi kiri mengevaluasi False
, seluruh ekspresi logis harus mengevaluasi False
. Eksekusi program dengan demikian melewati eksekusi kode di dalam blok If
tanpa mengevaluasi ekspresi kanan, testFunction(3)
. Contoh ini tidak memanggil testFunction()
karena ekspresi kiri memalsukan seluruh ekspresi.
Demikian pula, jika ekspresi kiri dalam ekspresi logis yang menggunakan OrElse
mengevaluasi True
, eksekusi berlanjut ke baris kode berikutnya tanpa mengevaluasi ekspresi kanan, karena ekspresi kiri telah memvalidasi seluruh ekspresi.
Perbandingan dengan Operator Non-Korsleting
Sebaliknya, kedua sisi operator logis dievaluasi saat operator logis And
dan Or
digunakan. Contoh berikut mengilustrasikan langkah-langkah ini:
If 45 < 12 And testFunction(3) = 81 Then
' Add code to continue execution.
End If
Contoh sebelumnya memanggil testFunction()
meski ekspresi kiri mengevaluasi False
.
Ekspresi Tanda Kurung
Anda dapat menggunakan tanda kurung untuk mengontrol urutan evaluasi ekspresi Boolean. Ekspresi yang diapit oleh tanda kurung dievaluasi terlebih dahulu. Untuk beberapa tingkat sarang, prioritas diberikan ke ekspresi yang bersarang paling dalam. Dalam tanda kurung, evaluasi berlanjut sesuai dengan aturan prioritas operator. Untuk informasi selengkapnya, lihat Prioritas Operator di Visual Basic.