Benar, salah, dan gabungannya

AND, OR, dan NOT bukan kata biasa. Ketiganya punya aturan yang tidak selalu sama dengan bahasa sehari hari.

Sebaiknya baca lebih dulu: Menukar isi dua wadah.

Hanya ada dua nilai

Nilai boolean hanya punya dua kemungkinan: TRUE dan FALSE. Tidak ada nilai di antaranya, tidak ada nilai kosong, dan tidak ada nilai yang berarti mungkin. Itu yang membuat kondisi selalu dapat dijawab pasti.

OUTPUT a AND b
OUTPUT a OR b
OUTPUT NOT a
AND menuntut keduanya benar. OR cukup salah satunya benar. NOT membalik satu nilai menjadi kebalikannya.

IngatKata OR dalam pemrograman berarti salah satu atau keduanya, bukan salah satu tetapi tidak keduanya seperti dalam percakapan.

Perbedaan terakhir itu yang paling sering menyesatkan. Kalimat "kopi atau teh" dalam percakapan biasanya berarti pilih satu. Dalam kode, OR menjawab TRUE juga ketika kedua sisinya benar. Kalau yang dimaksud benar benar salah satu saja, itu perlu ditulis sebagai gabungan yang lebih panjang, bukan sebagai OR.

Melihat gabungan dihitung

SET a = TRUE
SET b = FALSE
SET c = FALSE
OUTPUT (a AND b) OR NOT c
aTRUE
bFALSE
cFALSE

Ketiga nilai sudah terisi. Sekarang baris keempat dihitung.

Langkah 1 dari 4
Hitungan (a AND b) OR NOT c dengan a benar, b salah, c salah. Langkahi satu satu; perhatikan hasil akhirnya ditentukan c saja.

Perhatikan yang baru terjadi: a dan b sama sama tidak menentukan hasilnya. Begitu a AND b bernilai FALSE, seluruh jawaban bergantung pada sisi kanan OR. Kemampuan melihat bagian mana yang sudah tidak berpengaruh inilah yang dilatih sumbu conditional.

Kurung mengubah artinya

Tanpa kurung

OUTPUT a OR b AND c

Dengan kurung

OUTPUT (a OR b) AND c

AND dikerjakan sebelum OR, jadi baris kiri sebenarnya berarti a ATAU (b DAN c). Dengan a benar, baris kiri selalu TRUE apa pun isi c. Baris kanan menuntut c benar dalam keadaan apa pun. Keduanya memuat tiga nama yang sama dan dua operator yang sama, tetapi menjawab pertanyaan yang berbeda.

Periksa pemahaman

Dengan a = FALSE dan b = FALSE, berapa nilai NOT (a OR b)?

Ringkasan

  • Boolean hanya punya dua nilai. Tidak ada nilai di antaranya.
  • AND menuntut kedua sisi benar. OR cukup satu sisi, dan tetap benar bila keduanya benar.
  • NOT membalik satu nilai, dan ia dihitung sebelum AND maupun OR.
  • AND dikerjakan sebelum OR. Kalau maksudnya berbeda, tulis kurungnya.
  • Sering kali sebagian nilai sudah tidak menentukan hasilnya. Menemukan bagian itu adalah inti latihannya.