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 !.