Operator Logika
Sekarang saya akan menjelaskan tentang operator logika pada C++ , Operator logika merupakan operator yang digunakan untuk melakukan operasi dimana nilai yang dihasilkan dari operasi tersebut hanya berupa nilai benar dan salah . Nilai ini disebut dengan nilai boolean .
Nah , dalam bahasa C++ , nilai benar tersebut direpresentasikan dengan bilangan bernilai 1 (satu) ,sedangkan nilai salah direpresentasikan dengan nilai 0 (nol) .
Berikut ini contoh operator logika yang terdapat dalam bahasa C++ :
Operator | Jenis Operasi | Contoh |
---|---|---|
&& | AND (dan) | 1 && 1 = 1 |
|| | OR (atau) | 1 || 0 = 1 |
! | NOT (negasi) | !1 = 0 |
Operator && ( AND )
Operator AND hanya akan menghasilkan nilai 1 ( benar ) jika semua operand -nya bernilai benar . Namun jika tidak , maka operasi ini akan menghasilkan nilai 0 ( salah ) .
X | Y | X && Y |
---|---|---|
1 | 1 | 1 |
1 | 0 | 0 |
0 | 0 | 0 |
0 | 1 | 0 |
Saya akan memberikan contoh penggunaan operator AND pada program berikut :
#include<iostream>
using namespace std;
int main(){
cout << "1 && 1 = " << ( 1 && 1 ) << endl;
cout << "1 && 0 = " << ( 1 && 0 ) << endl;
cout << "0 && 0 = " << ( 0 && 0 ) << endl;
cout << "0 && 1 = " << ( 0 && 1 ) << endl;
return 0;
}
Hasil yang akan diberikan :
1 && 1 = 1
1 && 0 = 0
0 && 0 = 0
0 && 1 = 0
Apabila ingin menggunakan tipe bool , program di atas dapat di tulis seperti berikut :
#include<iostream>
using namespace std;
int main(){
//mendeklarasikan variabel benar dan salah
//bertipe bool
bool benar = true , salah = false ;
cout << "true && true = " << ( benar && benar ) << endl;
cout << "true && false = " << ( benar && salah ) << endl;
cout << "false && false = " << ( salah && salah ) << endl;
cout << "false && true = " << ( salah && benar ) << endl;
return 0;
}
Hasil yang akan diberikan sama seperti sebelumnya , sebagai berikut :
true && true = 1
true && false = 0
false && false = 0
false && true = 0
Operator || ( OR )
Operasi OR akan menghasilkan nilai 1 ( benar ) jika minimal terdapat satu nilai benar pada operand -nya , dan operator OR ini hanya akan menghasilkan nilai 0 ( salah ) jika semua operand -nya bernilai salah .
X | Y | X || Y |
---|---|---|
1 | 1 | 1 |
1 | 0 | 1 |
0 | 0 | 0 |
0 | 1 | 1 |
Berikut ini program yang akan membuktikan kebenaran tabel di atas :
#include<iostream>
using namespace std;
int main(){
cout << "1 || 1 = " << ( 1 || 1 ) << endl;
cout << "1 || 0 = " << ( 1 || 0 ) << endl;
cout << "0 || 0 = " << ( 0 || 0 ) << endl;
cout << "0 || 1 = " << ( 0 || 1 ) << endl;
return 0;
}
Hasil yang akan diberikan adalah :
1 || 1 = 1
1 || 0 = 1
0 || 0 = 0
0 || 1 = 1
Operator ! ( NOT )
Nilai yang dihasilkan dari operasi NOT adalah kebalikan dari nilai yang dikandung didalamnya , sebagai contoh nilai awalnya berupa 1 ( benar ) , maka nilai keluarannya adalah 0 ( salah ) , begitu juga sebaliknya .
Berikut ini tabel yang menunjukan hasil dari operasi NOT :
X | !X |
---|---|
1 | 0 |
0 | 1 |
Untuk mengetahui lebih lanjut , akan saya berikan contoh program menggunakan operasi NOT :
#include<iostream>
using namespace std;
int main(){
cout << "!1 = " << !1 << endl;
cout << "!0 = " << !0 << endl;
return 0;
}
Hasil yang akan diberikan adalah :
!1 = 0
!0 = 1
Namun bagaimana jika terdapat ekspresi seperti dibawah ini :
! ( ( 1 && 1 ) && ( 0 || 1 ) )
Untuk menentukan nilai dari ekspresi tersebut kita harus tentukan ( 1 && 1 ) , hasilnya adalah 1 ( kita sebut dengan nilai ke - 1 ) . Kemudian tentukan nilai ( 0 || 1 ) , hasilnya adalah 1 ( kita sebut dengan nilai ke - 2 ) . Langkah selanjutnya adalah melakukan operasi AND antara nilai ke -1 dan nilai ke - 2 , yaitu ( 1 && 1 ) , maka menghasilkan nilai 1 . Langkah terakhir , nilai 1 akan kita negasikan , yaitu dengan menggunakan operator NOT seperti !1 , maka akan menghasilkan nilai akhir 0 .
Berikut ini contoh kode programnya :
#include<iostream>
using namespace std;
int main(){
cout << "! ( ( 1 && 1 ) && ( 0 || 1 )) = " << ! ( ( 1 && 1 ) && ( 0 || 1 )) << endl;
return 0;
}
Berikut hasil dari program diatas :
! ( ( 1 && 1 ) && ( 0 || 1 )) = 0
Sekian dari saya , semoga bermanfaat .
Terima kasih .