Operator Logika C++
PENGANTAR
Operator logika digunakan untuk menggabungkan dua atau lebih kondisi dalam sebuah pernyataan. Operator ini biasanya digunakan bersama percabangan seperti if, else if, dan while.
Hasil dari operasi logika selalu berupa nilai boolean, yaitu:
true (benar)
false (salah)
Operator logika sangat berguna ketika program perlu memeriksa beberapa kondisi sekaligus sebelum mengambil keputusan.
Contoh dalam kehidupan sehari-hari:
Jika umur ≥ 17 DAN memiliki KTP, maka boleh membuat SIM.
Jika hari Sabtu ATAU Minggu, maka hari libur.
Dalam C++, kondisi seperti ini dibuat menggunakan operator logika.
Tabel Operator Logika
A. Operator Logika AND (&&)
Operator AND (&&) digunakan jika dua kondisi harus benar agar hasilnya benar.
kondisi1 && kondisi2
Artinya: kondisi1 benar DAN kondisi2 benar
Tabel logika AND
Program akan menampilkan pesan hanya jika kedua kondisi benar, yaitu:
nilai ujian minimal 75
kehadiran minimal 80%
Jika semua terpenuhi, maka dinyatakan lulus, tetapi jika salah satu tidak terpenuhi, maka dinyatakan tidak lulus
Output program
B. Operator Logika OR (||)
Operator OR (||) digunakan jika salah satu kondisi benar, maka hasilnya benar.
kondisi1 || kondisi2
Artinya: kondisi1 benar ATAU kondisi2 benar
Tabel logika OR
Program akan menampilkan Hari Libur jika teks dimasukkan kecuali hari atau kata Sabtu atau Minggu, sedangkan hari lain akan menampilkan hari sekolah.
C. Operator Logika NOT (!)
Operator NOT (!) digunakan untuk membalik nilai kondisi.
Jika kondisi benar → menjadi salah
Jika kondisi salah → menjadi benar
!kondisi
Tabel logika NOT
Program meminta pengguna memasukkan kondisi apakah siswa kelas XI.
Jika pengguna memasukkan 1, berarti siswa kelas XI
Jika pengguna memasukkan 0, berarti bukan siswa kelas XI
Kemudian program menggunakan operator NOT (!) untuk membalik kondisi.
D. Contoh Program Menggabungkan Operator Logika
Syarat untuk menjadi donor darah adalah:
Usia minimal 17 tahun
Usia maksimal 60 tahun
Berat badan minimal 45 kg
Tidak memiliki riwayat penyakit kronis
Jika semua syarat tersebut terpenuhi, maka program akan menampilkan pesan: Anda memenuhi syarat untuk menjadi donor darah.
Namun jika salah satu syarat tidak terpenuhi, maka program akan menampilkan pesan: Maaf, Anda tidak memenuhi syarat untuk menjadi donor darah.
Kesimpulan
Operator logika digunakan untuk menggabungkan atau membalikkan kondisi pada percabangan program, misalnya pada if. Dengan operator logika, program dapat memeriksa lebih dari satu syarat sekaligus.
Operator AND (&&) digunakan jika semua kondisi harus benar (true) agar hasilnya benar. Jika salah satu kondisi salah (false), maka hasilnya menjadi false.
Operator OR (||) digunakan jika salah satu kondisi saja sudah cukup benar. Jika salah satu kondisi bernilai true, maka hasilnya true.
Operator NOT (!) digunakan untuk membalikkan nilai kondisi. Jika kondisi awalnya true maka menjadi false, dan jika false menjadi true.
SOAL PRAKTEK
Soal 1:Username dan password
Buat program yang:
Meminta pengguna memasukkan username dan password.
Gunakan operator logika && untuk memeriksa apakah
username adalah "siswa"
dan password adalah "12345".
Tampilkan pesan "Login berhasil" jika benar.
Jika salah, tampilkan "Login gagal"
Soal 2: Seleksi Anggota Klub Olahraga
Sebuah sekolah membuka pendaftaran klub olahraga.
Syarat diterima:
umur ≥ 15 tahun
dan tinggi badan ≥ 150 cm
atau siswa adalah atlet sekolah
Buatlah program yang meminta input:
umur
tinggi badan
status atlet (1 = atlet, 0 = bukan)
Jika memenuhi syarat tampilkan:
"Anda diterima di klub olahraga"
Jika tidak tampilkan:
"Anda tidak diterima"
Petunjuk: gunakan operator && dan ||.
Seorang siswa bisa mendapat beasiswa jika:
nilai rata-rata ≥ 85
dan tidak pernah melanggar aturan sekolah
atau berasal dari keluarga kurang mampu
Buatlah program yang meminta input:
nilai rata-rata
status pelanggaran (1 = pernah melanggar, 0 = tidak)
status ekonomi (1 = kurang mampu, 0 = tidak)
Tampilkan:
"Mendapat beasiswa"
atau "Tidak mendapat beasiswa"
Gunakan operator &&, ||, dan !.
Seseorang boleh masuk wahana jika:
umur ≥ 12 tahun
dan tinggi badan ≥ 140 cm
dan tidak memiliki penyakit jantung
Input yang diminta:
umur
tinggi badan
status penyakit jantung (1 = ada, 0 = tidak)
Output:
"Boleh masuk wahana"
"Tidak boleh masuk wahana"
Gunakan operator && dan !.
Siswa boleh mengikuti lomba jika:
nilai matematika ≥ 80
dan nilai informatika ≥ 80
atau siswa adalah juara kelas
Input:
nilai matematika
nilai informatika
status juara kelas (1 = ya, 0 = tidak)
Output:
"Boleh mengikuti lomba"
"Tidak boleh mengikuti lomba"
Gunakan operator && dan ||.
Seorang karyawan mendapat bonus jika:
masa kerja ≥ 5 tahun
dan kinerja ≥ 80
dan tidak memiliki pelanggaran
Input:
masa kerja
nilai kinerja
status pelanggaran (1 = ada pelanggaran, 0 = tidak)
Output:
"Mendapat bonus"
"Tidak mendapat bonus"
Gunakan operator && dan !.