5.8.3. Operator !
Operator ! akan melakukan operasi logika NOT. Dibutuhkan sebuah operand atau sebeliknya seperti benar atau salah. Dengan kata lain, jika ungkapan itu benar, maka operator ! akan membalik menjadi salah, dan jika ekspresi salah, maka akan dibalik menjadi benar. Dibawah ini adalah suatu pernyataan IF yang meggunakan operator !: if(!(suhu>100)) cout<<"andadibawahsuhu maksimum.\n"; pada potongan program diatas, ekspresi (suhu> 100) yang akan diuji benar atau salah. Maka operator ! akan diterapkan pada nilai. Jika ekspresi (suhu> 100) itu benar, maka operator ! akan membalik menjadi salah. Jika hal tersebut salah, maka operator ! akan kembali benar. Tabel dibawah merupakan table kebenaran operator ! .
Tabel 5.8. operator !
EKPRESI//HASILEKPRESI//LOGIKA
!salahbenar1 !benarSalah0 Program dibawah sama dengan program sebelumnya, yaitu akan melakukan operasi dengan operator !. Pernyataan IF tersebut menggunakan operator ! untuk menentukan apakah pengguna tidak membuat rekening di bank yang setidaknya ada $ 35.000 atau belum mempunyai pekerjaan yang lebih dari lima tahun. Perhatikan program dibawah ini: Program 5.18
#include<iostream> usingnamespacestd; intmain() { doubleincome; intyears; cout<<"ApakahinimasukantahunanAnda?"; cin>>income; cout<<"berapabanyakandabekerjasetiaptahunnya"<<"Pekerjaananda? "; cin>>years; if(!(income>=35000||years>5))//menggunakanoperator
{ cout<<"Andaakanmendapatkangajipalingtidak$35,000atau lebih\n"; cout<<"setelahbekerjalebihdarilimatahun.\n"; } else cout<<"KwalifikasiAnda.\n"; return0; }
Keluaran program diatas sama dengan program sebelumnya
5.8.3. Variabel Boolean dan Operator !
Fitur yang menarik dari variabel Boolean adalah nilainya dapat diuji. Misalnya moreData adalah sebuah variabel Boolean. Kemudian pengujiannya adalah:
if(moreData==true) canbewrittensimplyas if(moreData) andthetest if(moreData==false) canbewrittensimplyas if(!moreData) Program diatas biasanya diselesaikan dengan menggunakan operator !.
5.9. Operator Kondisional
Operator kondisional merupakan operator kuat dan unik. Operator tersebut menyediakan sebuah metode sedernana yang mengekpresikan pernyataan IF/ELSE. Operator ini terdiri dari tanda tanya (?) dan titik dua (:). Untuk lebih jelasnya mengenai operator ini perhatikan ekpresi dibawah inI: ekspresi?ekspresi:ekspresi; disini diberikan sebuah contoh pernyataan yang menggunakan operator kondisional x<0?y=10:z=20; pernyataan diatas sering disebut dengan conditional expression dan terdiri dari tiga sub-expressions ang dipisahkan dengan menggunakan tanda Tanya dan symbol titik dua ( : ). Sebuah ekspresi diatas < 0, y = 10, dan z = 20 dapat diuraikan sebagai berikut
Gambar 5.6 conditional expression Sebuah Ekspresi kondisional yang diatas melakukan operasi yang sama seperti halnya pernyataan IF/ELSE. Perhatikan pernyataan dibawah ini: if(x<0) y=10; else z=20; Bagian dari ekspresi kondisional sebelum tanda tanya adalah ekspresi yang akan diuji. Hal ini merupakan kalimat dalam kurung seperti pada sebuah pernyataan IF. Jika ekspresi benar, bagian dari pernyataan antara tanda tanya (?) dan titik dua ( : ) akan dijalankan. Jika tidak, bagian setelah : yang dijalankan. Gambar dibawah ini menggambarkan aturan yang diakukan oleh tiga sub-ekspresi adalah sebagai berikut: Ekspresipertama yangakandiuji Ekspresikeduayangakan dieksekusijikaekspresipertama benar Ekspresiketigayang akandieksekusijika ekspresipertamasalah X< 0 ? Y=10 : Z = 20 Gambar 5.7. aturan yang diakukan oleh tiga sub-ekspresi Anda dapat meletakkan tanda kurung di sekitar sub-ekspresi, seperti contoh berikut ini: (x<0)?(y=10):(z=20); Dalam menggunakan nilai ekspresi dalam bahasa C++ yang perlu diingat, bahwa pada bahasa C++ semua ekspresi memiliki nilai, dan hal ini termasuk ekspresi kondisional. Jika sub-ekspresi pertama benar, maka nilai dari ekspresi kondisional adalah nilai kedua sub-ekspresi tersebut. Sebaliknya Jika hal tersebut bukan berarti nilai sub-ekspresi yang ketiga. Berikut dibawah ini adalah contoh sebuah pernyataan yang menggunakan........
Next read ON H-15