Monday, 3 April 2017

Pengertian dan Fungsi Boolean

Bukan hanya C++ yang menggunakan Operasi Boolean / aljabar Boolean. Boolean juga ada pada beberapa bahasa pemrograman lainya seperti C, C#, Javascript, PHP dan lain-lain. Boolean juga ada di dalam lmu matematika. Boolean dalam ilmu Matematikan dan Komputer (C++) adalah Struktur aljabar yang mencangkup intisari dari operasi logika AND, OR, XOR (Exclusive Or) dan NOT.

Boolean adalah suatu tipe data yang hanya mempunyai dua nilai yaitu True(Benar) atau False(Salah). Boolean mempunyai nama Operasi Boolean yang berasal dari nama seorang matematikawan asal nggris, bernama George Boole (1815-1864). Merupakan seseorang yang pertama kali mengenalkan istilah Boolean di pertengahan abad ke-19.

Semua operasi AND, OR, XOR (Exclusive Or) dan NOT memiliki sifat sendiri-sendiri yang membuat mereka pada karakteristik dalam pembacaan operasi Boolean.

Macam-Macam Operasi Boolean:

DAN ( & )
Operasi Logika AND digunakan untuk menghubungkan dua atau lebih bit/exspresi relasi, ekspresi akan dianggap BENAR bila semua ekspresi yang dihubungkan bernilai BENAR. Operator digunakan untuk mengevaluasi dua ekspresi untuk mendapatkan hasil rasional tunggal. Operasi && sesuai dengan operasi logis Boolean AND ( dan ) yang menghasilkan true jika semua operasi adalah true dan false jika salah satu operasi false. (Akan dinyatakan TRUE[1] semua ekpresi bernilai BENAR, dan Akan dinyatakan False[0] jika salah satu ekspresi bernilai SALAH).
X
Y
X && Y
True (1)
True (1)
True (1)
True (1)
False (0)
False (0)
False (0)
True (1)
False (0)
False (0)
False (0)
False (0)

Contoh
Ekspresi Relasi 1
A + 4 < 10
Ekspresi Relasi 2
B>A + 5 
Ekspresi Relasi 3
C - 3 >= 4 

Penggabungan ketiga ekspresi relasi diatas menjadi ;
A+4 < 10 && B>A+5 && C–3 >= 4
Jika nilai A = 3; B = 3; C = 7, maka ketiga ekspresi tersebut mempunyai nilai:

Ekspresi Relasi-1 A + 4 < 10 3 + 4 < 10 BENAR
Ekspresi Relasi-2 B>A + 5 3 > 3 + 5 SALAH
Ekspresi Relasi-3 C – 3 >= 4 7 – 3 >= 4 BENAR

Dari ekspresi relasi tersebut mempunyai nilai BENAR, maka
A+4 < 10 && B>A+5 && C–3 >= 4  SALAH = 0

Contoh Program Penggunaan Operasi AND

#include <stdio.h>
#include <conio.h>
#include <iostream.h>
main( )
{
   float a, b, c, d, e, f, g, h;
   clrscr( );
   cout<<"Masukan Nilai A = ";
   cin>>a; cout<<"Masukan Nilai B = ";
   cin>>b; cout<<"Masukan Nilai C = ";
   cin>>c; // Proses
   d = a + 4 < 10;
   e = b > a + 5;
   f = c - 3 >= 4;
   g = d && e && f;
   cout<<endl<<endl;
   cout<<"Program Ekspresi AND"<<endl<<endl;
   cout<<"Hasil dari d = a + 4 < 10 adalah"<<d<<endl;
   cout<<"Hasil dari e = b > a + 5 adalah"<<e<<endl;
   cout<<"Hasil dari f = c - 3 >= 4 adalah "<<f;
   cout<<endl<<endl;
   cout<<"Hasil dari g = d && e && f adalah "<<g;
   cout<<endl;
   getch();
}



OR ( | )
Operator logika OR digunakan untuk menghubungkan dua atau lebih ekspresi relasi untuk mendapatkan hasil rasional tunggal, Operator || dibaca sebagai OR, akan dianggap BENAR, bila salah satu ekspresi relasi yang dihubungkan bernilai BENAR dan bila semua ekspresi relasi yang dihubungkan bernilai SALAH, maka akan bernilai SALAH. (Akan dinyatakan TRUE[1] jika salah satu ekpresi bernilai BENAR, dan Akan dinyatakan False[0] jika semua ekspresi bernilai SALAH).

X
Y
X || Y
True (1)
True (1)
True (1)
True (1)
False (0)
True (1)
False (0)
True (1)
True (1)
False (0)
False (0)
False (0)

Contoh
Ekspresi Relasi 1
A + 4 < 10
Ekspresi Relasi 2
B>A + 5
Ekspresi Relasi 3
C - 3 > 4
Penggabungan ketiga ekspresi relasi diatas menjadi;
A+4 < 10 || B>A+5 || C–3 > 4
Jika nilai A = 3; B = 3; C = 7, maka ketiga ekspresi tersebut mempunyai nilai:

Ekspresi Relasi-1 A + 4 < 10 3 + 4 < 10 BENAR
Ekspresi Relasi-2 B>A + 5 3 > 3 + 5 SALAH
Ekspresi Relasi-3 C - 3 > 4 7 – 3 > 4 SALAH

Dilihat ekspresi diatas salah satu ekspresi tersebut mempunyai nilai BENAR, maka ekspresi tersebut tetap bernilai BENAR.
A+4 < 10 || B>A+5 || C–3 > 4  BENAR = 1


Contoh Program Penggunaan Operasi Logika OR
#include <stdio.h>
#include <conio.h>
#include <iostream.h>
main()
{
   float a, b, c, d, e, f, g, h;
   clrscr( );
   cout<<"Masukan Nilai A = ";
   cin>>a; cout<<"Masukan Nilai B = ";
   cin>>b; cout<<"Masukan Nilai C = ";
   cin>>c;
   d = a + 5 > 10;
   e = b > 5 + a ;
   f = c - 4 <= 7;
   g = d || e || f;
   cout<<endl<<endl;
   cout<<"Program Ekspresi AND"<<endl<<endl;
   cout<<"Hasil dari d = a + 5 > 10 adalah "<<d<<endl;
   cout<<"Hasil dari e = b > 5 + a adalah " <<e<<endl;
   cout<<"Hasil dari f = c - 4 <= 7 adalah " <<f;
   cout<<endl<<endl;
   cout<<"Hasil dari g = d || e || f adalah " <<g;
   cout<<endl;
   getch();
}


XOR ( ^ )
Xor ( ^ ) digunakan untuk membandingkan bit dari dua operand. Akan bernilai benar (1) jika dari dua bit yang dibandingkan hanya sebuah bernilai benar (1). (Akan dinyatakan TRUE[1] jika salah satu ekpresi bernilai BENAR dan SALAH, dan Akan dinyatakan False[0] jika semua ekspresi bernilai SALAH atau BENAR).

X
Y
X ^ Y
False (0)
False (0)
False (0)
False (0)
True (1)
True (1)
True (1)
False (0)
True (1)
True (1)
True (1)
False (0)


Contoh Program Penggunaan Operasi Logika XOR
#include <stdio.h>
#include <conio.h>
#include <iostream.h>
main()
{
   int a, b, c, d, e, f, g, h;
   clrscr( );
   cout<<"Masukan Nilai A = ";
   cin>>a; cout<<"Masukan Nilai B = ";
   cin>>b; cout<<"Masukan Nilai C = ";
   cin>>c;
   d = a + 5 > 10;
   e = b > 5 + a ;
   f = c - 4 <= 7;
   g = d ^ e ^ f;
   cout<<endl<<endl;
   cout<<"Program Ekspresi AND"<<endl<<endl;
   cout<<"Hasil dari d = a + 5 > 10 adalah "<<d<<endl;
   cout<<"Hasil dari e = b > 5 + a adalah " <<e<<endl;
   cout<<"Hasil dari f = c - 4 <= 7 adalah " <<f;
   cout<<endl<<endl;
   cout<<"Hasil dari g = d ^ e ^ f adalah " <<g;
   cout<<endl;
   getch();
}


NOT ( ! )
Fungsi NOT ( ! ) adalah untuk membalikan nilai dari perbandingan ekspresi. (NOT Akan Menyatakan TRUE[1] pada hasil yang bernilai SALAH, dan Akan dinyatakan False[0] pada hasil yang bernilai BENAR).

Perbedaan [!] dan [~]

[!] Biasanya digunakan untuk Operasi Boolean dan Logika
[~] Biasanya digunakan untuk Operasi Bitwise

Nilai
~ Hasil
False (0)
True (1)
True (1)
False (0)

Contoh Program NOT (!)

#include <iostream.h>
#include <stdio.h>
#include <conio.h>
void main()
{
   int a=0, x=0, b=0;
   clrscr();
   cout<<"Masukan Nilai X = "; cin>>x;
   a = x > 2;
   cout<<"Hasil dari X>2 Sebenarnya = "<< a<<endl;
   b = !a;
   cout<<"Hasil dari ~ "<<a<<" = "<<b<<endl;
   getch();
}

Sumber: http://www.belajarcpp.com/2016/02/fungsi-dan-macam-macam-operasi-boolean-cplusplus.html

No comments:

Post a Comment