Apabila ada 2 buah operand yang bernilai 1 dan 0 diberikan operator or maka akan memiliki hasil

Apabila ada 2 buah operand yang bernilai 1 dan 0 diberikan operator or maka akan memiliki hasil


Operator merupakan simbol atau karakter yang biasa dilibatkan dalam program untuk melakukan sesuatu operasi atau manipulasi, seperti menjumlahkan dua buah nilai, memberikan nilai ke suatu variabel, membandingkan kesamaan dua buah nilai.

Bahasa Pemrograman C banyak memiliki operator yang sudah di built-in. Bahasa C mengenal penggunaan beberapa operator dengan fungsi yang berbeda-beda. Setiap operator memiliki kedudukan atau hirarki saat penanganan program. Operator dengan hirarki lebih tinggi akan dikerjakan lebih dahulu dibandingkan operator dengan hirarki lebih rendah.

Berdasarkan jumlah operandnya (jumlah nilai yang dibandingkan), operator dibagi menjadi tiga, yaitu:
  • Unary operator, contoh : -C , operator yang hanya memiliki sebuah operand (yaitu C).
  • Biary operator, contoh : A+B , tergolong sebagai operator binary, yaitu operator yang dikenakan terhadap dua buah nilai (operand).
  • Ternary operator, contoh : (x > y) ? 0 : 1 , operator yang melibatkan 3 buah operand.
Berikut ini beberapa tipe operator dalam Bahasa C :

1. Operator Aritmatika


2. Operator Bitwise
3. Operator Penugasan
4. Operator Perbandingan
5. Operator Logika
6. Operator Lain

Karena banyaknya operator pada pemrogaman bahasa C, pada kesempatan ini Saya akan menjelaskan Macam - Macam Operator Logika Pada Pemrograman Bahasa C.


Operator Logika (Logical Operator)

Adalah operator yang digunakan untuk menangani tipe data boolean. Operator logika berfungsi untuk membandingkan dua operand bertipe Boolean untuk memecahkan masalah berdasarkan operator yang digunakan, dan hasil dari operasi operator ini akan menghasilkan nilai bertipe Boolean 1 (true) atau 0 (false), tetapi ada satu operator dalam macam-macam operator logika yang tidak bekerja untuk membandingkan yaitu operator dengan bentuk tanda '!', karena operator '!' hanya membutuhkan satu operand bertipe Boolean.

Macam-Macam Operator Logika

1. ( && ) Operator Logika AND

Operator logika AND digunakan untuk mengevaluasi dua ekspresi relasi sebagai operand untuk mendapatkan rasional tunggal. Operasi akan menghasilkan nilai 1 (true) jika kedua operand bernilai 1 (true) tapi jika salah satu atau keduanya bernilai 0 (false) maka akan menghasilkan nilai 0 (false). Dan di bawah ini adalah table dari perbandingan Operator logika AND.

Tabel Operator Perbandingan Pada Bahasa C

XYX && Y
TrueTrueTrue
TrueFalseFalse
FalseTrueFalse
FalseFalseFalse

Untuk lebih memahaminya, perhatikan contoh program dibawah ini :

#include <stdio.h> main(){ //inisialisasi variabel int x, y, z; x = 1 + 4 < 10; y = 2 + 6 > 13; z = x && y; //Output printf("hasil dari x = 1 + 4 < 10 adalah %d\n", x); printf("hasil dari y = 2 + 6 > 13 adalah %d\n", y); printf("hasil dari z = x && y adalah %d\n", z); } Program diatas akan memberikan hasil seperti dibawah ini.hasil dari x = 1 + 4 < 10 adalah 1 hasil dari y = 2 + 6 > 13 adalah 0 hasil dari z = x && y adalah 0
Ekspresi Relasi 1 : 1 + 4 < 10 (BENAR = 1) Ekspresi Relasi 2 : 2 + 6 > 13 (SALAH = 0) Ekspresi Relasi 3 : 1 && 0 (SALAH = 0) Jika dilihat dari ekspresi diatas, karena ada dari ekspresi tersebut memiliki nilai SALAH, maka hasil akhir dari ekspresi relasi diatas adalah SALAH.

2. ( || ) 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 1 (true), bila salah satu ekspresi relasi yang dibandingkan bernilai 1 (true) dan bila semua ekspresi relasi yang dibandingkan bernilai 0 (false), maka akan bernilai 0 (false).

Tabel Operator Perbandingan Pada Bahasa C

XYX || Y
TrueTrueTrue
TrueFalseTrue
FalseTrueTrue
FalseFalseFalse
Untuk lebih memahaminya, perhatikan contoh program dibawah ini :#include <stdio.h> main(){ //inisialisasi variabel int x, y, z; x = 1 + 4 < 10; y = 2 + 6 > 13; z = x && y; //Output printf("hasil dari x = 1 + 4 < 10 adalah %d\n", x); printf("hasil dari y = 2 + 6 > 13 adalah %d\n", y); printf("hasil dari z = x || y adalah %d\n", z);; } Program diatas akan memberikan hasil seperti dibawah ini.hasil dari x = 1 + 4 < 10 adalah 1 hasil dari y = 2 + 6 > 13 adalah 0 hasil dari z = x || y adalah 1
Ekspresi Relasi 1 : 1 + 4 < 10 (BENAR = 1) Ekspresi Relasi 2 : 2 + 6 > 13 (SALAH = 0) Ekspresi Relasi 3 : 1 || 0 (BENAR = 1) Jika dilihat dari ekspresi diatas, karena ada dari ekspresi tersebut memiliki nilai BENAR, maka hasil akhir dari ekspresi relasi diatas adalah BENAR.

Perlu anda ketahui, jika kita menggunakan operator logika, C akan mengevaluasi hasil operasi ini dengan menggunakan cara Arus pendek (Short-circuit) yang berarti hanya akan mengevaluasi apa yang diperlukan dari kiri ke kanan. Dan akan menghasilkan relasional gabungan kemudian mengabaikan sisanya. Oleh karena itu sebagai contoh (4==5 && 8>7). C akan memproses dan mengevaluasi dulu dari kiri ke kanan apakah 4==5 adalah benar (true) dan jika salah, C tidak akan meanjutkan pemeriksaan seterusnya (8>7) karena sudah mempunyai hasil bahwa bernilai salah (false).


Tabel Operator Perbandingan Pada Bahasa C

OperatorKeterangan
||Jika ekspresi sisi kiri bernilai Benar (True) maka langsung menghasikan Benar (True).
&&Jika ekspresi sisi kiri bernilai Salah (False) maka langsung menghasikan Salah (False).

2. ( ! ) Operator Logika NOT

Operator logika NOT berfungsi membalikan nilai sebenarnya. Jika nilai yang disebutkan bernilai 1 (true) maka akan menghasilkan nilai 0 (false), begitu pula sebaliknya.

Contoh :

!true // Pernyataan bernilai 1 (true) dibalikan dengan operator NOT ‘!’ dan menjadi 0 (false) !false // Pernyataan bernilai 0 (false) dibalikan dengan operator NOT ‘!’ dan menjadi 1 (true) !(7==7) // Pernyataan bernilai 1 (true) dibalikan dengan operator NOT ‘!’ dan menjadi 0 (false) !(9<=2) // Pernyataan bernilai 0 (false) dibalikan dengan operator NOT ‘!’ dan menjadi 1 (true)

Untuk lebih memahaminya, perhatikan contoh program dibawah ini :#include <stdio.h> main(){ //inisialisasi variabel int x, y; x = 1 + 4 < 10; y = 2 + 6 > 13; //Output printf("hasil dari x = 1 + 4 < 10 adalah %d\n", x); printf("hasil dari y = 2 + 6 > 13 adalah %d\n", y); printf("hasil dari !x adalah %d\n", !x); printf("hasil dari !y adalah %d\n", !y); } Program diatas akan memberikan hasil seperti dibawah ini.hasil dari x = 1 + 4 < 10 adalah 1 hasil dari y = 2 + 6 > 13 adalah 0 hasil dari !x adalah 0 hasil dari !y adalah 1

Demikian artikel tentang Macam - Macam Operator Logika Pada Pemrograman Bahasa C. Semoga Bermanfaat :)


Page 2

Operator logika digunakan untuk melakukan operasi logika yang akan menghasilkan nilai bertipe Boolean yaitu true dan false. Operator pada operator logika dapat digunakan untuk membandingkan dari dua operand dan ada juga yang dapat membalikan nilai dari sebuah operand.

Tabel Operator Logika :

Operator Keterangan
&& Operasi Logika AND
|| Operasi Logika OR
! Operasi Logika NOT

Operator logika digunakan untuk mengoprasikan operand yang bertipe Boolean dan akan menghasilkan Boolean. Jika operand yang dinyatakan tidak bertipe boolean, misalnya operand memiliki nilai integer 76.

Maka operator akan memperlakukan operand tersebut sebagai Boolean, Dengan ketentuan Jika nilai operand adalah 0 maka akan di anggap sebagai 0 (false) dan jika nilai bukan 0 maka akan dianggap 1 (true) meskipun nilai tersebut bilangan negatif.

Macam-macam Operator Logika

&& Operator Logika AND

Operator logika AND digunakan untuk mengevaluasi dua ekspresi relasi sebagai operand untuk mendapatkan rasional tunggal. Operasi akan menghasilkan nilai 1 (true) jika kedua operand bernilai 1 (true) tapi jika salah satu atau keduanya bernilai (false) maka akan menghasilkan nilai (false).

Di bawah ini adalah tabel dari perbandingan Operator logika AND.

Table Logika AND :

X Y X && Y
True True True
True False False
False True False
False False False

Contoh program :

#include <iostream> using namespace std; int main () { bool a = 1, b = 0; cout<< (a && b) <<endl; return 0; }

Contoh Kasus :

Ekspresi Relasi 1 : 4 < 10

Ekspresi Relasi 2 : 7 == 6

Ekspresi Relasi 3 : 9 >= 4

Penggabungan ketiga ekspresi relasi diatas menjadi :

4 < 10 && 7==6 && 9 >= 4

Maka ketiga ekspresi tersebut mempunyai nilai :

Ekspresi Relasi-1 : 4 < 10 (BENAR/1)

Ekspresi Relasi-2 : 7 == 6 (SALAH/0)

Ekspresi Relasi-3 : 9 >= 4 (BENAR/1)

Dari ekspresi relasi tersebut mempunyai 2 nilai BENAR dan 1 nilai SALAH, maka akan menghasilkan:

4 < 10 && 7==6 && 9 >= 4 //(SALAH = 0)

Contoh Program :

#include <iostream> using namespace std; int main( ){ int a, b, c, hasil1, hasil2, hasil3, hasilAkhir; cout<<"Masukan Nilai A = ";cin>>a; cout<<"Masukan Nilai B = ";cin>>b; cout<<"Masukan Nilai C = ";cin>>c; hasil1 = a + 4 < 10; hasil2 = b > a + 5; hasil3 = c - 3 >= 4; hasilAkhir = hasil1 && hasil2 && hasil3; cout<<"= Program Ekspresi AND ="<<endl; cout<<"=========================="<<endl; cout<<"Hasil dari Hasil1 = a + 4 < 10 adalah "<<hasil1<<endl; cout<<"Hasil dari Hasil2 = b > a + 5 adalah "<<hasil2<<endl; cout<<"Hasil dari Hasil3 = c - 3 >= 4 adalah "<<hasil3<<endl; cout<<"Hasil dari Hasil Akhir = d && e && f adalah "<<hasilAkhir<<endl; return 0; }
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 1 (true), bila salah satu ekspresi relasi yang dibandingkan bernilai 1 (true) dan bila semua ekspresi relasi yang dibandingkan bernilai 0 (false), maka akan bernilai 0 (false).

Baca :   Penjelasan dan Macam-macam Operator Bitwise

Tabel Perbandingan Operator Logika OR

X Y X || Y
True True True
True False True
False True True
False False False

Contoh Program :

#include <iostream> using namespace std; int main () { bool a = 1, b = 0; cout<< (a || b) <<endl; return 0; }

Contoh Kasus :

Ekspresi Relasi 1 : 4<10<>

Ekspresi Relasi 2 : 7==6

Ekspresi Relasi 3 : 9 >= 4

Penggabungan ketiga ekspresi relasi di atas menjadi :

4 < 10 && 7==6 && 9 >= 4

Maka ketiga ekspresi tersebut mempunyai nilai :

Ekspresi Relasi-1 : 4 < 10 (BENAR/1)

Ekspresi Relasi-2 : 7 == 6 (SALAH/0)

Ekspresi Relasi-3 : 9 >= 4 (BENAR/1)

Dari ekspresi relasi tersebut mempunyai 2 nilai BENAR dan 1 nilai SALAH, maka akan menghasilkan :

4 < 10 || 7==6 || 9 >= 4 //(BENAR/1)

Contoh Program :

#include <iostream> using namespace std; int main( ){ int a, b, c, hasil1, hasil2, hasil3, hasilAkhir; cout<<"Masukan Nilai A = ";cin>>a; cout<<"Masukan Nilai B = ";cin>>b; cout<<"Masukan Nilai C = ";cin>>c; hasil1 = a + 4 < 10; hasil2 = b > a + 5; hasil3 = c - 3 >= 4; hasilAkhir = hasil1 || hasil2 || hasil3; cout<<"= Program Ekspresi OR ="<<endl; cout<<"=========================="<<endl; cout<<"Hasil dari Hasil1 = a + 4 < 10 adalah "<<hasil1<<endl; cout<<"Hasil dari Hasil2 = b > a + 5 adalah "<<hasil2<<endl; cout<<"Hasil dari Hasil3 = c - 3 >= 4 adalah "<<hasil3<<endl; cout<<"Hasil dari Hasil Akhir = d || e || f adalah "<<hasilAkhir<<endl; return 0; }

Cara Kerja operator AND dan OR pada Compiler :

Berdasarkan pernyataan-pernyataan di atas, C++ dalam mengevaluasi hal ini akan menggunakan cara Arus pendek (Short-circuit) yang berarti hanya akan mengevaluasi apa yang diperlukan dari kiri ke kanan. Mendapatkan tujuanya dan mengabaikan sisanya.

Contoh (5==6 && 4>3). C++ akan memproses dan mengevaluasi dari kiri ke kanan apakah 5==6 adalah 0 (false) atau 1 (true) dan jika mempunyai nilai 1 (true) maka akan melanjutkan pemeriksaan ke ekspresi selanjutnya.

Tapi kenyataanya adalah 0 (false) maka pemeriksaan akan berhenti di situ dan mengabaikan sisanya. karena sifat operator AND && yaitu, untuk mendapatkan nilai 1 (true) dibutuhkan semua operand bernilai 1 (true). Sifat tersebut juga akan berlaku ke semua operator logika.

Baca :   Penjelasan Assignment Operator (Operator Penugasan)

&& : Jika mendapatkan nilai 0 (false) maka langsung menghasikan nilai 0 (False).

|| : Jika mendapatkan nilai 1 (true) maka langsung menghasikan nilai 1 (True).

Contoh Program :

#include <iostream> using namespace std; int main( ){ int a, b, c, hasil1, hasil2, hasil3, hasilAkhir; cout<<"Masukan Nilai A = ";cin>>a; cout<<"Masukan Nilai B = ";cin>>b; cout<<"Masukan Nilai C = ";cin>>c; hasil1 = a + 4 < 10; hasil2 = b > a + 5; hasil3 = c - 3 >= 4; hasilAkhir = hasil1 && hasil2 || hasil3; cout<<"= Program Ekspresi AND OR ="<<endl; cout<<"==========================="<<endl; cout<<"Hasil dari Hasil1 = a + 4 < 10 adalah "<<hasil1<<endl; cout<<"Hasil dari Hasil2 = b > a + 5 adalah "<<hasil2<<endl; cout<<"Hasil dari Hasil3 = c - 3 >= 4 adalah "<<hasil3<<endl; cout<<"Hasil dari Hasil Akhir = d && e || f adalah "<<hasilAkhir<<endl; return 0; }
Operator Logika NOT

Operator logika NOT berfungsi membalikan nilai sebenarnya. Jika nilai yang disebutkan bernilai 1 (true) maka akan menghasilkan nilai 0 (false), begitu pula sebaliknya.

Contoh :

!true // Pernyataan bernilai 1 (true) dibalikan dengan operator NOT ‘!’ dan menjadi 0 (false) !false // Pernyataan bernilai 0 (false) dibalikan dengan operator NOT ‘!’ dan menjadi 1 (true) !(7==7) // Pernyataan bernilai 1 (true) dibalikan dengan operator NOT ‘!’ dan menjadi 0 (false) !(9<=2) // Pernyataan bernilai 0 (false) dibalikan dengan operator NOT ‘!’ dan menjadi 1 (true)

Contoh kasus :

Ekspresi Relasi : 4 < 10

Penggunaan umum Operator Logika NOT diatas menjadi;

!( 4 < 10) = 0 //(false)

Ekspresi di atas mempunyai nilai 1 (true) dan jika mengunakan operator logika NOT, maka ekspresi tersebut akan bernilai 0 (false)

Contoh Program :

#include <iostream> using namespace std; int main(){ int A, hasilSebenarnya, hasilNOT; cout<<"Masukan Nilai A = "; cin>>a; hasilSebenarnya = (a + 5 < 15); hasilNOT = !(a + 5 < 15); cout<<"= Program Ekspresi NOT ="<<endl; cout<<"========================"<<endl; cout<<"Nilai A = "<<a<<endl cout<<"Nilai hasilSebenarnya = (a + 4 < 10) = "<<hasilSebenarnya<<endl; cout<<"Nilai hasilNOT = !(hasilSebenarnya) atau !(a + 5 < 15) = "<<hasilNOT; return 0; }