Pada materi sebelumnya, kita telah belajar bahwa Python dapat digunakan untuk membuat keputusan menggunakan if, elif, dan else. Program tidak lagi hanya menjalankan perintah secara berurutan, tetapi dapat memilih tindakan berdasarkan kondisi tertentu.
Materinya bisa dibaca di sini: Percabangan Python: Membuat Program Mengambil Keputusan dengan if, elif, dan else
Misalnya, kita sudah dapat membuat program:
nilai = 80
if nilai >= 75:
print("Lulus")
else:
print("Belum Lulus")
Program tersebut hanya menggunakan satu informasi, yaitu nilai.
Namun, dalam kehidupan nyata, sebuah keputusan sering kali tidak ditentukan oleh satu kondisi saja.
Misalnya, seorang siswa dinyatakan memenuhi syarat kelulusan apabila nilai minimal 75 dan kehadiran minimal 80%.
Artinya, komputer harus memeriksa dua kondisi sekaligus.
Di sinilah kita mulai membutuhkan operator logika.
Apa Itu Operator Logika?
Operator logika digunakan untuk menggabungkan atau membalik kondisi dalam sebuah program.
Pada Python, operator logika yang utama adalah:
| Operator | Arti sederhana |
|---|---|
and |
dan |
or |
atau |
not |
tidak/bukan |
Dengan operator ini, kita dapat membuat program yang mampu mengambil keputusan berdasarkan beberapa kondisi.
Jika sebelumnya kita membuat:
Jika nilai ≥ 75, maka Lulus.
Sekarang kita dapat membuat:
Jika nilai ≥ 75 dan kehadiran ≥ 80%, maka Lulus.
Program menjadi lebih mendekati cara kita mengambil keputusan dalam kehidupan sehari-hari.
Mengenal and
Operator and berarti dan.
Dengan and, semua kondisi yang digabungkan harus bernilai benar agar hasil akhirnya benar.
Perhatikan:
nilai = 80
kehadiran = 90
if nilai >= 75 and kehadiran >= 80:
print("Lulus")
else:
print("Belum Lulus")
Ada dua kondisi yang diperiksa:
nilai >= 75
dan:
kehadiran >= 80
Nilai siswa adalah 80 sehingga kondisi pertama benar.
Kehadiran adalah 90 sehingga kondisi kedua juga benar.
Karena keduanya benar, maka program menampilkan:
Lulus
Memahami and dengan Tabel
Agar lebih mudah dipahami, perhatikan tabel berikut.
| Kondisi 1 | Kondisi 2 | and |
Hasil |
|---|---|---|---|
| True | True | True | Benar |
| True | False | False | Salah |
| False | True | False | Salah |
| False | False | False | Salah |
Jadi, aturan sederhananya:
and→ semua syarat harus terpenuhi.
Contoh dalam kehidupan sehari-hari:
Untuk mengikuti kegiatan tertentu, siswa harus mengumpulkan tugas dan hadir dalam pembelajaran.
Jika tugas dikumpulkan tetapi siswa tidak hadir, semua syarat belum terpenuhi.
Latihan Memahami and
Perhatikan program berikut:
nilai = 80
kehadiran = 70
if nilai >= 75 and kehadiran >= 80:
print("Lulus")
else:
print("Belum Lulus")
Coba periksa satu per satu.
Kondisi pertama:
nilai >= 75
Karena nilai 80, hasilnya True.
Kondisi kedua:
kehadiran >= 80
Karena kehadiran 70, hasilnya False.
Maka:
True and False
hasilnya adalah:
False
Jadi output program:
Belum Lulus
Mengenal or
Jika and berarti semua kondisi harus benar, maka or berarti cukup salah satu kondisi benar.
Contohnya:
Siswa perlu mendapatkan perhatian jika nilai sangat rendah atau kehadirannya sangat rendah.
Programnya:
nilai = 60
kehadiran = 90
if nilai < 70 or kehadiran < 75:
print("Perlu Perhatian")
else:
print("Baik")
Kondisi pertama:
nilai < 70
bernilai True karena nilai adalah 60.
Kondisi kedua:
kehadiran < 75
bernilai False karena kehadiran adalah 90.
Maka:
True or False
hasilnya tetap:
True
Program menampilkan:
Perlu Perhatian
Memahami or dengan Tabel
| Kondisi 1 | Kondisi 2 | or |
Hasil |
|---|---|---|---|
| True | True | True | Benar |
| True | False | True | Benar |
| False | True | True | Benar |
| False | False | False | Salah |
Aturan sederhananya:
or→ cukup salah satu kondisi terpenuhi.
Contohnya dalam kehidupan sehari-hari:
Jika hujan atau cuaca sangat panas, kegiatan olahraga di luar ruangan dipindahkan.
Tidak perlu kedua kondisi terjadi. Salah satunya saja sudah cukup.
Perbedaan and dan or
Perbedaan kedua operator ini harus benar-benar dipahami.
and
Semua kondisi harus benar.
if nilai >= 75 and kehadiran >= 80:
print("Memenuhi Syarat")
Artinya:
Nilai harus memenuhi dan kehadiran juga harus memenuhi.
or
Salah satu kondisi benar sudah cukup.
if nilai < 60 or kehadiran < 70:
print("Perlu Perhatian")
Artinya:
Nilai rendah atau kehadiran rendah sudah cukup untuk menghasilkan keputusan tersebut.
Cara mudah mengingat:
AND = semua harus terpenuhi.
OR = salah satu sudah cukup.
Mengenal not
Operator ketiga adalah not.
not digunakan untuk membalik nilai logika.
Jika suatu kondisi bernilai True, maka not membuatnya menjadi False.
Jika suatu kondisi bernilai False, maka not membuatnya menjadi True.
Contohnya:
lulus = False
if not lulus:
print("Belum Lulus")
Karena:
lulus = False
maka:
not lulus
bernilai True.
Program menjalankan:
Belum Lulus
Untuk tahap awal, penggunaan not cukup dipahami sebagai membalik kondisi. Penggunaan yang lebih kompleks dapat dipelajari setelah siswa semakin kuat memahami logika Boolean.
Menggabungkan Operator Logika dengan if
Sekarang kita dapat menggabungkan materi sebelumnya.
Perhatikan program berikut:
nilai = int(input("Masukkan nilai: "))
kehadiran = int(input("Masukkan kehadiran (%): "))
if nilai >= 75 and kehadiran >= 80:
print("Lulus")
else:
print("Belum Lulus")
Program meminta dua input:
Masukkan nilai:
Masukkan kehadiran (%):
Kemudian program memeriksa dua syarat sekaligus.
Misalnya:
Masukkan nilai: 85
Masukkan kehadiran (%): 90
Kondisinya:
85 >= 75 → True
90 >= 80 → True
Maka:
True and True → True
Output:
Lulus
Menggabungkan if, elif, else, dan and
Sekarang kita naik satu tingkat lagi.
Kita dapat menggunakan operator logika bersama if, elif, dan else.
Contohnya:
nilai = int(input("Nilai: "))
kehadiran = int(input("Kehadiran (%): "))
if nilai >= 90 and kehadiran >= 90:
print("Sangat Baik")
elif nilai >= 75 and kehadiran >= 80:
print("Lulus")
else:
print("Belum Lulus")
Program tersebut memiliki tiga kemungkinan hasil.
Kondisi pertama
nilai >= 90 and kehadiran >= 90
Jika kedua syarat terpenuhi, siswa mendapatkan kategori:
Sangat Baik
Kondisi kedua
nilai >= 75 and kehadiran >= 80
Jika kedua syarat tersebut terpenuhi, siswa dinyatakan:
Lulus
Jika tidak memenuhi keduanya
Program menjalankan:
else:
dan menampilkan:
Belum Lulus
Mari Menganalisis Program
Misalnya siswa memasukkan:
Nilai: 85
Kehadiran: 90
Python memeriksa:
85 >= 90 → False
Karena kondisi pertama menggunakan and, kita sudah mengetahui bahwa kondisi pertama tidak terpenuhi.
Python kemudian memeriksa kondisi berikutnya:
85 >= 75 → True
90 >= 80 → True
Maka:
True and True → True
Output:
Lulus
Perhatikan bahwa program sekarang tidak hanya memeriksa satu data.
Program mempertimbangkan nilai dan kehadiran secara bersamaan.
Input → Process → Decision → Output
Pada materi sebelumnya kita mengenal pola:
Input → Process → Output
Dengan adanya percabangan dan operator logika, alurnya menjadi lebih kaya:
Input → Process → Decision → Output
Misalnya pada program seleksi siswa:
Input
Nilai = 85
Kehadiran = 90
Process
Program memeriksa nilai dan kehadiran.
Decision
Apakah nilai ≥ 75 dan kehadiran ≥ 80?
Output
Lulus
Inilah salah satu alasan mengapa operator logika penting dalam pemrograman.
Latihan Prediksi
Sebelum menjalankan program, cobalah memprediksi hasilnya.
nilai = 70
kehadiran = 90
if nilai >= 75 and kehadiran >= 80:
print("Lulus")
else:
print("Belum Lulus")
Pertanyaan:
- Apakah kondisi
nilai >= 75benar? - Apakah kondisi
kehadiran >= 80benar? - Apa hasil
anddari kedua kondisi tersebut? - Apa output program?
Setelah menjawab, barulah jalankan program dan bandingkan hasilnya.
Latihan Menguji or
Perhatikan:
nilai = 60
kehadiran = 90
if nilai < 70 or kehadiran < 75:
print("Perlu Perhatian")
else:
print("Baik")
Uji program tersebut dengan beberapa kombinasi:
| Nilai | Kehadiran | Prediksi Output |
|---|---|---|
| 60 | 90 | … |
| 80 | 60 | … |
| 60 | 60 | … |
| 80 | 90 | … |
Kemudian jalankan program dan periksa apakah prediksimu benar.
Tantangan: Sistem Seleksi Siswa
Sekarang kita gunakan konsep yang telah dipelajari untuk membuat program yang lebih nyata.
Buatlah program yang meminta:
Nama siswa
Nilai
Kehadiran
Program harus menentukan hasil berdasarkan aturan berikut:
Sangat Baik
Jika:
nilai ≥ 90
dan
kehadiran ≥ 90
Lulus
Jika:
nilai ≥ 75
dan
kehadiran ≥ 80
Belum Lulus
Jika tidak memenuhi kedua kondisi tersebut.
Program harus menggunakan:
if
elif
else
and
input()
int()
Kemudian tampilkan hasil dengan rapi.
Contoh:
================================
HASIL SELEKSI SISWA
================================
Nama : Andi
Nilai : 85
Kehadiran : 90%
Hasil : Lulus
================================
Tantangan Logika
Setelah program selesai, jangan hanya menjalankannya satu kali.
Uji dengan beberapa kondisi.
Misalnya:
| Nilai | Kehadiran | Prediksi |
|---|---|---|
| 95 | 95 | … |
| 90 | 85 | … |
| 85 | 90 | … |
| 75 | 80 | … |
| 70 | 90 | … |
| 90 | 70 | … |
Perhatikan bahwa nilai tinggi belum tentu menghasilkan “Sangat Baik” jika kehadirannya tidak memenuhi syarat.
Di sinilah kita mulai benar-benar melihat manfaat operator logika.
Kesalahan yang Perlu Dihindari
Ketika menggunakan operator logika, perhatikan penulisan kode.
Benar:
if nilai >= 75 and kehadiran >= 80:
print("Lulus")
Jangan menulis operator logika sebagai:
AND
atau:
And
Dalam Python, gunakan huruf kecil:
and
or
not
Python membedakan huruf besar dan huruf kecil.
Dari Percabangan Menuju Program yang Lebih Cerdas
Pada awal belajar Python, kita membuat program yang menjalankan perintah satu demi satu.
Kemudian kita belajar percabangan sehingga komputer dapat mengambil keputusan.
Sekarang, dengan operator logika, komputer dapat mengambil keputusan berdasarkan lebih dari satu kondisi.
Perkembangan cara berpikirnya menjadi:
Program berurutan
↓
Program dengan satu kondisi
↓
Program dengan beberapa pilihan
↓
Program dengan beberapa kondisi
Kemampuan ini sangat penting karena masalah nyata jarang hanya memiliki satu kondisi sederhana.
Kesimpulan
Pada materi ini kita telah mempelajari operator logika Python, yaitu and, or, dan not.
and digunakan ketika semua kondisi harus terpenuhi.
or digunakan ketika cukup salah satu kondisi terpenuhi.
not digunakan untuk membalik kondisi logika.
Kita juga telah menggabungkan operator logika dengan if, elif, else, input(), dan int() untuk membuat program yang dapat mengambil keputusan berdasarkan beberapa data.
Hal terpenting dari materi ini bukan sekadar menghafal kata and, or, atau not. Yang lebih penting adalah memahami logika di balik keputusan program.
Ketika kita menulis:
if nilai >= 75 and kehadiran >= 80:
kita sebenarnya sedang menerjemahkan sebuah aturan:
Jika nilai memenuhi syarat DAN kehadiran memenuhi syarat, maka lakukan tindakan tertentu.
Dengan cara berpikir seperti inilah kita mulai bergerak dari sekadar menulis kode menuju merancang solusi menggunakan logika pemrograman.
Pada materi berikutnya, kemampuan tersebut dapat dikembangkan menjadi program yang mampu mengulang pekerjaan secara otomatis, sehingga kita tidak perlu menulis perintah yang sama berkali-kali.
