Bagikan melalui


Ekspresi Boolean (Visual Basic)

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.

Lihat juga