Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Ekspresi Boolean adalah ekspresi yang mengevaluasi ke nilai Jenis Data Boolean: True
atau False
.
Boolean
ekspresi dapat mengambil beberapa bentuk. Yang paling sederhana adalah perbandingan langsung dari nilai Boolean
variabel dengan Boolean
literal, 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 Operator =
Perhatikan bahwa pernyataan newCustomer = True
penugasan terlihat sama dengan ekspresi dalam contoh sebelumnya, tetapi 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 hal 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 hal ini.
42 < 81
Karena 42 kurang dari 81, ekspresi Boolean dalam contoh sebelumnya mengevaluasi ke 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 ekspresi keseluruhan bergantung pada nilai ekspresi di setiap sisi And
operator. Jika kedua ekspresi adalah True
, maka ekspresi keseluruhan bernilai True
. Jika salah satu ekspresi adalah False
, maka seluruh ekspresi bernilai False
.
Operator Short-Circuiting
Operator logis AndAlso
dan OrElse
menunjukkan perilaku yang dikenal sebagai pemutusan singkat. Operator sirkuit pendek mengevaluasi operand kiri terlebih dahulu. Jika operand kiri menentukan nilai seluruh ekspresi, maka eksekusi program berlanjut tanpa mengevaluasi ekspresi yang tepat. Contoh berikut mengilustrasikan hal 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 di sebelah kiri bernilai False
, seluruh ekspresi logis harus bernilai False
. Eksekusi program dengan demikian melewati eksekusi kode dalam If
blok tanpa mengevaluasi ekspresi yang tepat, testFunction(3)
. Contoh ini tidak memanggil testFunction()
karena ekspresi kiri memalsukan seluruh ekspresi.
Demikian pula, jika ekspresi kiri dalam ekspresi logis menggunakan OrElse
mengevaluasi ke True
, eksekusi berlanjut ke baris kode berikutnya tanpa mengevaluasi ekspresi kanan, karena ekspresi kiri telah memvalidasi seluruh ekspresi.
Perbandingan dengan Operator Non-Short-Circuiting
Sebaliknya, kedua sisi operator logis dievaluasi ketika operator And
logis dan Or
digunakan. Contoh berikut mengilustrasikan hal ini.
If 45 < 12 And testFunction(3) = 81 Then
' Add code to continue execution.
End If
Contoh sebelumnya memanggil testFunction()
meskipun ekspresi kiri bernilai False
.
Ekspresi dalam Kurung
Anda dapat menggunakan tanda kurung untuk mengontrol urutan evaluasi ekspresi Boolean. Ekspresi yang diapit oleh tanda kurung dievaluasi terlebih dahulu. Untuk beberapa tingkat bersarang, prioritas diberikan ke ekspresi yang paling dalam berlapis. Dalam tanda kurung, evaluasi berlanjut sesuai dengan aturan prioritas operator. Untuk informasi selengkapnya, lihat Prioritas Operator di Visual Basic.