Operator Logika dan Relasional

Sebelum mempelajari tentang operator relasional dan operator logika mari kita mempelajari tipe data boolean. Tipe data boolean menyimpan nilai true (benar) dan false(salah). Operator yang berlaku untuk tipe data boolean adalah :
  1. and : Jika salah satu atau kedua operand-nya false maka hasilnya akan "false". Hasil akan "true" hanya jika kedua variabel atau operand nilainya true.
  2. or : Jika salah satu atau kedua operand-nya true maka hasilnya akan "true". Hasil akan "false" jika kedua variabel atau operandnya adalah false.
  3. xor : Jika nilai operand atau variabel berbeda maka hasilnya akan "true". Hasilnya akan false jika nilai kedua variabelnya sama.
  4. not : Membalikkan nilai, true menjadi false, atau false menjadi true.
Untuk lebih jelasnya sebaiknya dicoba sendiri saja dengan langsung praktek. Berikut ini contoh penggunaan tipe data boolean dan operatornya.

program coba;
uses crt;
var a, b:boolean;
begin
  clrscr;
  a:=true;
  b:=false;
  writeln('a = ', a);
  writeln('b = ', b);
  writeln('a and b = ', a and b);
  writeln('a or b = ', a or b);
  writeln('a xor c = ', a xor b);
  writeln('not a = ', not(a));
  readln
end.

Ganti nilai variabel a dan variabel b untuk mengetahui hasil dari nilai lainnya. Operator not, and, or dan xor juga berguna pada percabangan dan perulangan jika syarat dalam percabangan atau perulangan ada lebih dari dua. Perhatikan contoh di bawah ini :

program coba;
uses crt;
var a, b:integer;
begin
  clrscr;
  a:=1;
  b:=2;
  if((a=1) and (b=2)) then write ('benar');
  else write ('salah');
  readln
end.

Operator and di atas berfungsi sebagai operator perbandingan atau relasional dan bukan operator logika. Tapi, pada dasarnya cara kerjanya sama. Anggap saja saat syarat terpenuhi sama dengan benar / true, dan syarat tidak terpenuhi adalah salah / false. Kemudian perhatikan hasilnya, kalian akan menemukan pola yang sama terkait kegunaannya sebagai operator relasional maupun operator logika.

Jika syarat pertama dan kedua terpenuhi maka kata 'benar' akan ditulis. Operator and bisa diganti dengan or, xor atau and, tapi tentu saja hasilnya juga akan berbeda.