Beranda

Selasa, 08 April 2014

Beginilah Operasi Boolean pada Delphi

Boolean adalah tipe yang memiliki nilai true atau false dan bukan nilai angka. Boolean dapat digunakan untuk menguji kebenaran. Operasi yang sering digunakan biasanya AND, OR, XOR, dan  NOT. Berikut ini adalah tabel kebenarannya.



A


B


A AND B


A OR B


NOT A


NOT B


A XOR B


T


T


T


T


F


F


F


T


F


F


T


F


T


T


F


T


F


T


T


F


T


F


F


F


F


T


T


F


Berikut adalah contoh-contoh penggunaan boolean :
  1. Condition
    procedure tes_boolean;
    var a,b,c:boolean;
    begin
      a:=false;
      b:=false;
      c:=a and b;
      if c then showmessage('True') else showmessage('False');
      a:=true;
      b:=false;
      c:=a or b;
      if c then showmessage('True') else showmessage('False');
      a:=true;
      b:=true;
      c:=a xor b;
      if c then showmessage('True') else showmessage('False');
      a:=true;
      c:=not a;
      if c then showmessage('True') else showmessage('False');
    end;

    Output dari prosedur di atas adalah :
    False
    True
    False
    False

    Pembahasan: sesuai tabel kebenaran di atas maka jika false and false = false, false or true = true, true xor true = false, dan not true = false

  2. While
    procedure tes_boolean;
    var i:byte;
        a:boolean;
    begin
      i:=0;
      a:=true;
      while a do
      begin
        showmessage(format('No. %d'#9'= %d',[i,sqr(i)]));
        inc(i);
        a:=i<10 data-blogger-escaped-br="">  end;
    end;

    Output dari prosedur di atas adalah :
    No. 0 = 0
    No. 1 = 1
    No. 2 = 4
    No. 3 = 9
    No. 4 = 16
    No. 5 = 25
    No. 6 = 36
    No. 7 = 49
    No. 8 = 64
    No. 9 = 81

    Pembahasan: pertama a diset true kemudian menggunakan while sama artinya dengan "selama a itu benar maka lakukan perintah ......". di dalam looping while a menyimpan nilai hasil cek kebenaran jika i<10 maka a = true selain itu a= false, atau bisa diganti dengan
    if i<10 data-blogger-escaped-br="" data-blogger-escaped-then="">a:=true else a:=false;

    looping while akan berhenti saat i=10 karena a bernilai false atau i sudah melebihi kondisi kebenaran

  3. Repeat
    procedure tes_boolean;
    var i:byte;
        a:boolean;
    begin
      i:=0;
      a:=true;
      repeat
        showmessage(format('No. %d'#9'= %d',[i,sqr(i)]));
        inc(i);
        a:=i<10 data-blogger-escaped-br="">  until not a;
    end;

    Output dari prosedur di atas adalah :
    No. 0 = 0
    No. 1 = 1
    No. 2 = 4
    No. 3 = 9
    No. 4 = 16
    No. 5 = 25
    No. 6 = 36
    No. 7 = 49
    No. 8 = 64
    No. 9 = 81

    Pembahasan: sama seperti pembahasa pada while di atas, bedanya menggunakan sintak repeat yang sama artinya dengan "lakukan perintah sampai a bernilai false", dan nilai a berdasarkan cek kebenaran i<10.

Semoga bermanfaat

1 komentar: