Operator Logika

5.8. Operator Logika

Selain operator relasional, telah ditulis sebuah program tes bahasa pemrograman umumnya dengan dua kondisi pada pernyataan mendukung tambahan operator yaitu

IF. Dalam bagian ini ditulis program AND, OR, dan NOT. Operator And, yang menggunakan operator logis Or, dan Not dikenal dengan nama untuk menggabungkan dua atau lebih operator logika. Dengan menjadi satu kalimat relasional. Tabel menggunakan operator ini dua atau berikut merupakan daftar operator lebih test perbandingan dapat logika pada bahasa C++. dilakukan. Pada bagian sebelumnya

Direktorat Pembinaan SMK | 2008

Statement Kendali Bahasa Pemrorgraman

Tabel 5.5. Operator Logika OPERATOR ARTI PENJELASAN

&& AND Menghubungkan dua ekpresi menjadi satu. Kedua ekpresi tersebut harus benar supaya hasilnya benar || OR Menghubungkan dua ekpresi menjadi satu. Hasil akan menjadi benar jika salah satu atau keduanya ada yang benar. ! NOT Operator yang melakukan kebalikan dari ekpresi. Jika ekpresi benar maka hasil salah atau sebaliknya.

5.8.1. Operator &&

Operator && yang dikenal sub-kalimatnya benar. Berikut sebagai operator logika. Dua kalimat

dibawah ini adalah contoh program diperlukan sebagai operands dan pernyataan IF yang menggunakan membuat kalimat benar, jika kedua operator &&:

if (suhu < 20 && waktu > 12) cout << "suhu telah mencapai level yang berbahaya";

Perhatikan bahwa kedua kalimat besar daripada 12. Jika salah satu yang diANDkan bersama adalah penghubung teresebut salah, seluruh kalimat yang lengkap untuk ekspresi yang dihasilkan juga salah mengevaluasi benar atau salah. dan pernyataan cout tidak dijalankan. Pertama suhu <20 dievaluasi untuk

Tabel dibawah meruapkan tabel menghasilkan hasil benar atau salah.

kebenaran untuk operator &&. Kemudian menit> 12 dievaluasi untuk

Kebenaran tabel berisi semua menghasilkan hasil benar atau salah.

kemungkinan kombinasi nilai yang Kemudian kedua hasil tersebut mungkin dimiliki oleh dua kalimat, diANDkan sehingga akan Sebagaimana dalam tabel mendapatkan hasil akhir untuk menunjukkan, kedua sub-ekspresi seluruh ekspresi. Pernyataan cout harus benar untuk operator && hanya akan dijalankan jika suhu sehingga akan menghasilkan nilai kurang dari 20 dan waktunya lebih yang benar pula.

Table 5.6. Logika AND

2008 | Direktorat Pembinaan SMK

Bahasa Pemrograman Statement Kendali

LOGIKA Salah && salah

EKPRESI NILAI KEBENARAN

Salah

Salah && benar

Salah

Benar && salah

Salah

Benar && benar

benar

Operator && dapat digunakan IF. Program dibawah ini adalah versi untuk mempermudah program-

Program sebelumnya yang kemudian program lain yang akan ditulis ulang dengan operator logika. menggunakan pernyataan NESTED Perhatikan program dibawah ini:

Program 5.16 #include<conio.h> #include <iostream>

using namespace std;

int main() {

char pekerja, barululus; cout << "Jawablah pertanyaan dibawah ini\n" ; cout << "dengan jawaban Y untuk Ya atau " ; cout << "T untuk Tidak\n" ; cout << "Apakah Anda Bekerja? " ; cin >> pekerja; cout << "telahkan Anda sekolah " ; cout << "dalam dua tahun ini? " ; cin >> barululus;

if (pekerja == 'Y' && barululus == 'Y') // menggunakan && { // logical operator cout << "Kwalitas anda spesial " ; cout << "dan anda tertarik.\n" ;

} else {

cout << "anda harus bekerja dan mempunyai\n" ; cout << "lulusan dari sekolah SMK dalam\n" ; cout << "waktu paling lama 3 tahun.\n" ;

} getch();

Direktorat Pembinaan SMK | 2008

Statement Kendali Bahasa Pemrorgraman

return 0 ; }

Keluaran program diatas setelah diberi masukan adalah Jawablah pertanyaan dibawah ini

dengan jawaban Y untuk Ya atau T untuk Tidak Apakah Anda Bekerja? T telahkan Anda sekolah dalam dua tahun ini? Y anda harus bekerja dan mempunyai lulusan dari sekolah SMK dalam waktu paling lama 3 tahun.

5.8.2. Operator ||

Operator || yang dikenal sebagai Pernyataan cout akan dijalankan jika operator logika OR. Dua kalimat yang

suhu kurang dari 20 ATAU suhu lebih diperlukan sebagai operand akan besar dari 100. Jika salah satunya membuat kalimat benar bila salah benar, maka seluruh ekspresi akan satu dari sub-kalimat yang benar. menghasilkan keluaran benar dan Berikut dibawah ini adalah contoh pernyataan cout akan dijalankan. sebuah pernyataan IF yang Setelah cout dijalankan maka akan menggunakan operator ||

menghasilkan keluaran "suhu dalam level yang berbahaya". Table

if (suhu < 20 || suhu > 100) dibawah ini merupakan table cout << "suhu dalam level yang

kebenaran operator OR berbahaya.";

Table 5.7. Logika OR

LOGIKA Salah && salah

EKPRESI NILAI KEBENARAN

Salah

Salah && benar

Benar

Benar && salah

Benar 1

Benar && benar

benar

Semua ekspresi pada operator benar. Program dibawah ini akan OR akan menjadi salah jika semua melakukan tes untuk mengetahui dari sub-kalimat salah, tetapi akan orang yang memenuhi syarat untuk benar jika salah satu sub-kalimatnya

mendapatkan pinjaman. Program ini benar. Tidak peduli apakah salah akan menentukan apakah pelanggan satu sub-ekspresinya salah atau mempunyai gaji setidaknya $35,000

2008 | Direktorat Pembinaan SMK

Bahasa Pemrograman Statement Kendali

per tahun atau telah bekerja selama program dibawah ini: lebih dari lima tahun. Perhatikan

Program 5.17 #include<conio.h> #include <iostream>

using namespace std;

int main() {

double income; int years;

cout << "Apakah ini masukan tahunan Anda? " ; cin >> income; cout << "berapa banyak anda bekerja setiap tahunnya "

<< "Pekerjaan anda sekarang? " ; cin >> years;

if (income >= 35000 || years > 5 ) // Uses the || logical operator cout << "Kwalifikasi Anda.\n" ; else {

cout << "Anda akan mendapatkan gaji paling tidak $35,000 atau lebih\n" ; cout << "setelah bekerja lebih dari lima tahun.\n" ;

} getch();

return 0 ; }

Keluaran program diatas setelah diberi masukan adalah Apakah ini masukan tahunan Anda? 30000 berapa banyak anda bekerja setiap tahunnya Pekerjaan anda sekarang? 5 Anda akan mendapatkan gaji paling tidak $35,000 atau lebih setelah bekerja lebih dari lima tahun.

5.8.3. Operator !

Operator ! akan melakukan maka operator ! akan membalik operasi logika NOT. Dibutuhkan menjadi salah, dan jika ekspresi sebuah operand atau sebeliknya salah, maka akan dibalik menjadi seperti benar atau salah. Dengan benar. Dibawah ini adalah suatu kata lain, jika ungkapan itu benar,

Direktorat Pembinaan SMK | 2008

Statement Kendali Bahasa Pemrorgraman

pernyataan IF yang meggunakan benar atau salah. Maka operator ! operator !:

akan diterapkan pada nilai. Jika ekspresi (suhu> 100) itu benar, maka

if (!(suhu > 100)) operator ! akan membalik menjadi cout << "anda dibawah suhu

salah. Jika hal tersebut salah, maka maksimum.\n"; operator ! akan kembali benar. Tabel dibawah merupakan table kebenaran

pada potongan program diatas, operator ! ekspresi (suhu> 100) yang akan diuji .

Tabel 5.8. operator !

EKPRESI HASIL EKPRESI

LOGIKA

! salah benar

! benar Salah

Program dibawah sama dengan membuat rekening di bank yang program sebelumnya, yaitu akan setidaknya ada $ 35.000 atau belum melakukan operasi dengan operator mempunyai pekerjaan yang lebih dari !. Pernyataan IF tersebut lima tahun. Perhatikan program menggunakan operator ! untuk dibawah ini: menentukan apakah pengguna tidak

Program 5.18 #include <iostream>

using namespace std;

int main() {

double income; int years;

cout << "Apakah ini masukan tahunan Anda? " ; cin >> income;

cout << "berapa banyak anda bekerja setiap tahunnya " << "Pekerjaan anda? " ; cin >> years;

if (!(income >= 35000 || years > 5 )) // menggunakan operator !

2008 | Direktorat Pembinaan SMK

Bahasa Pemrograman Statement Kendali

{ cout << "Anda akan mendapatkan gaji paling tidak $35,000 atau lebih\n" ; cout << "setelah bekerja lebih dari lima tahun.\n" ; } else cout << "Kwalifikasi Anda.\n" ;

return 0 ; }

Keluaran program diatas sama dengan program sebelumnya

5.8.3. Variabel Boolean dan Operator !

Fitur yang menarik dari variabel variabel Boolean. Kemudian Boolean adalah nilainya dapat diuji. pengujiannya adalah: Misalnya moreData adalah sebuah

if (moreData == true) can be written simply as if (moreData) and the test if(moreData == false) can be written simply as if(!moreData)

Program diatas biasanya diselesaikan dengan menggunakan operator !.