Macam - Macam dan Contoh Operator Logika C++
Pengertian Operator Logika
Tabel Operator Logika
No.
|
Operator
|
Keterangan
|
1
|
&&
|
Operasi Logika AND
|
2
|
||
|
Operator Logika OR
|
3
|
!
|
Operator Lohika NO
|
Macam-macam Operator Logika
Operator Logika ANDOperator logika AND digunakan untuk menghubungkan dua atau lebih ekspresi relasi, akan dianggap BENAR, bila semua ekspresi relasi yang dihubungkan bernilai BENAR. Operator digunakan untuk mengevaluasi dua ekspresi untuk mendapatkan hasil rasional tunggal. Operator && sesuai dengan operasi logis Boolean AND (dan), yang menghasilkan true jika kedua Operasi adalah true dan false jika hanya satu operasi false dan seterusnya.
Table Logika AND
X
|
Y
|
X && Y
|
True
|
True
|
True
|
True
|
False
|
False
|
False
|
True
|
False
|
False
|
False
|
False
|
Contoh
Ekspresi Relasi 1
A + 4 < 10Ekspresi Relasi 2
B>A + 5Ekspresi Relasi 3
C - 3 >= 4
Penggabungan ketiga ekspresi relasi diatas menjadi ;
A+4 < 10 && B>A+5 && C–3 >= 4Jika 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 Logika 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();
}
Operator Logika 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.
Tabel Operator Logika OR
X
|
Y
|
X || Y
|
True
|
True
|
True
|
True
|
False
|
True
|
False
|
True
|
True
|
False
|
False
|
False
|
Contoh
Ekspresi Relasi 1
A + 4 < 10Ekspresi Relasi 2
B>A + 5Ekspresi Relasi 3
C - 3 > 4
Penggabungan ketiga ekspresi relasi diatas menjadi;
A+4 < 10 || B>A+5 || C–3 > 4Jika 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();
}
Jika anda menggunakan operator logika, C++ dalam mengevaluasi hal ini akan menggunakan cara Arus pendek (Short-circuit) yang berarti hanya akan mengevaluasi apa yag diperlukan dari kiri ke kanan. Dan akan menghasilkan relasional gabungan, mengabaikan sisanya. Oleh karena itu sebagai contoh (5==6 && 4>3). C++ akan memproses dan mengevaluasi dulu dari kiri ke kanan apakah 5==6 adalah benar(true) dan jika memang benar, c++ tidak akan meanjutkan pemeriksaan seterusnya (4>3) karena sudah mempunyai hasil bahwa bernilai salah (false).
Operator
| |
&&
|
Jika ekspresi sisi kiri bernilai Salah (False) maka langsung menghasikan Salah (False).
|
||
|
Jika ekspresi sisi kiri bernilai Benar (True) maka langsung menghasikan Benar (True).
|
Contoh Program
/* Penggunaan Operasi Logika AND OR*/Operator Logika NOT
#include
#include
#include
main( )
{
float a, b, c, d, e, f, g, h;
clrscr( );
//Input
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<<<"Program Ekspresi AND / OR"<<endl<<endl;
cout<<"Hasil dari d = a + 4 < 10 adalah " <<d<<endl;
//output
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();
}
Operator logika NOT akan memberikan nilai kebalikkan dari ekspresi yang disebutkan. Jika nilai yang disebutkan bernilai BENAR maka akan menghasilkan nilai SALAH, begitu pula sebaliknya.
Contoh
!true //Pernyataan benar(true) tapi dibalikan dengan ! menjadi salah(false)
!false // Pernyataan salah(false) tapi dibalikan dengan ! menjadi benar(true)
!(5==5) //Pernyataan benar(true) tapi dibalikan dengan ! menjadi salah(false)
!(6<=4) // Pernyataan salah(false) tapi dibalikan dengan ! menjadi benar(true)
Ekspresi Relasi A + 4 < 10
Penggunaan Operator Logika NOT diatas menjadi;
!(A+4 < 10)Jika nilai A = 3; maka ekspresi tersebut mempunyai nilai:
• Ekspresi Relasi-1 A + 4 < 10 3 + 4 < 10 BENAR
Dilihat ekspresi diatas salah satu ekspresi tersebut mempunyai nilai BENAR dan jika digunakan operator logika NOT, maka ekspresi tersebut akan bernilai SALAH
!(A+4 < 10) !(BENAR) = SALAH = 0
Contoh Program
/* Penggunaan Operasi Logika NOT */
#include <stdio.h>
#include <conio.h>
#include<iostream.h>
main()
{
int a, b, c;
clrscr( );
cout<<"Masukan Nilai A = "; cin>>a;
/* Proses */
b = (a + 4 < 10);
c = !(b);
cout<<endl<<"Program Ekspresi NOT "<<endl;
cout<<"Nilai A = "<<a<<endl
cout<<"Nilai b = (a + 4 < 10) = "<<b<<endl;
cout<<"Nilai c = !(b) = "<<c;
getch();
}
Cukup sekian dari saya, semoga artikel ini bisa bermanfaat untuk kita semua. Mohon maaf atas kekuranganya dan Terima Kasih atas dukungan dan kunjungan anda. Have a nice day.
Komentar
Posting Komentar