Artikel ini bagian dari seri Belajar Python Level Basic di hanifmu.com. Di artikel sebelumnya kita sudah membahas operator aritmatika. Sekarang kita masuk ke operator yang menghasilkan nilai benar atau salah.
Setiap program perlu mengambil keputusan: apakah saldo cukup, apakah umur sudah memenuhi syarat, apakah password cocok. Keputusan itu dibuat dengan operator perbandingan dan operator logika.
Operator Perbandingan
Operator perbandingan membandingkan dua nilai dan mengembalikan True atau False. Ada enam operator yang perlu kamu kenal:
| Operator | Arti | Contoh | Hasil |
|---|---|---|---|
== | Sama dengan | 5 == 5 | True |
!= | Tidak sama dengan | 5 != 3 | True |
> | Lebih besar | 5 > 3 | True |
< | Lebih kecil | 5 < 3 | False |
>= | Lebih besar atau sama | 5 >= 5 | True |
<= | Lebih kecil atau sama | 5 <= 3 | False |
Perhatikan bahwa sama dengan ditulis dengan dua tanda sama (==), bukan satu. Ini beda penting dari = yang dipakai untuk menyimpan nilai ke variabel.
print(5 == 5) # True
print(5 == 3) # False
print(10 != 7) # True
print(10 > 7) # True
print(10 < 7) # False
Hasil Perbandingan Selalu Boolean
Semua operator di atas menghasilkan bool, yaitu True atau False. Hasilnya bisa disimpan ke variabel seperti nilai lain:
umur = 20
batas = 17
sudah_cukup = umur >= batas
print(sudah_cukup) # True
print(type(sudah_cukup)) # <class 'bool'>
Variabel boolean seperti ini nanti dipakai untuk percabangan dan perulangan.
Perbedaan = dan ==
Kesalahan yang paling sering terjadi pada pemula adalah tertukar antara = dan ==:
# Menyimpan nilai
x = 5
# Membandingkan nilai
x == 5 # True
=untuk menugaskan nilai ke variabel.==untuk membandingkan dua nilai.
Menulis if x = 5 akan menghasilkan SyntaxError. Biasakan membaca == sebagai “sama dengan”.
Membandingkan String
Perbandingan tidak hanya untuk angka. String juga bisa dibandingkan:
print("apel" == "apel") # True
print("apel" == "Apel") # False
print("apel" != "jeruk") # True
Perbandingan string bersifat case-sensitive, artinya huruf besar dan kecil dianggap berbeda. "apel" tidak sama dengan "Apel".
String juga bisa diurutkan dengan > dan <, mengikuti urutan alfabet:
print("b" > "a") # True
print("apel" < "jeruk") # True
Untuk mengabaikan besar-kecil huruf, samakan dulu dengan lower():
jawaban = "YA"
print(jawaban.lower() == "ya") # True
Operator Logika
Operator logika menggabungkan beberapa kondisi menjadi satu. Python punya tiga:
| Operator | Arti | Contoh | Hasil |
|---|---|---|---|
and | Benar jika keduanya benar | True and False | False |
or | Benar jika salah satu benar | True or False | True |
not | Membalik nilai | not True | False |
and
and menghasilkan True hanya kalau semua kondisinya benar:
umur = 20
punya_ktp = True
print(umur >= 17 and punya_ktp) # True
Kalau salah satu saja salah, hasilnya False:
umur = 15
punya_ktp = True
print(umur >= 17 and punya_ktp) # False
or
or menghasilkan True kalau salah satu kondisinya benar:
punya_ktp = False
punya_sim = True
print(punya_ktp or punya_sim) # True
or hanya False kalau semua kondisinya False:
print(False or False) # False
not
not membalik nilai boolean:
print(not True) # False
print(not False) # True
not berguna untuk memeriksa kondisi yang sebaliknya:
hujan = False
if not hujan:
print("Ayo jalan-jalan")
Menggabungkan Beberapa Kondisi
Operator logika bisa dirangkai untuk kondisi yang lebih rumit:
umur = 25
punya_ktp = True
sudah_vaksin = True
boleh_masuk = (umur >= 17) and punya_ktp and sudah_vaksin
print(boleh_masuk) # True
Tanda kurung di atas hanya untuk memperjelas. Tanpa kurung pun hasilnya sama, karena and diproses sebelum or.
Truthy dan Falsy
Di Python, nilai apa pun bisa dianggap benar atau salah dalam konteks logika. Nilai yang dianggap salah (falsy) adalah:
0dan0.0""(string kosong)None- List, tuple, dictionary, dan set kosong
Semua nilai lain dianggap benar (truthy). Konsep ini membuat kode lebih ringkas:
nama = ""
if nama:
print(f"Halo, {nama}")
else:
print("Nama masih kosong")
Karena nama berisi string kosong, if nama dianggap False dan bagian else yang dijalankan.
Contoh lain, mengecek list kosong:
keranjang = []
if not keranjang:
print("Keranjang kosong")
Contoh Program: Cek Kelulusan
Mari gabungkan perbandingan dan logika untuk mengecek kelulusan:
# cek_kelulusan.py
nilai = float(input("Nilai kamu: "))
kehadiran = int(input("Persentase kehadiran: "))
lulus_nilai = nilai >= 75
lulus_hadir = kehadiran >= 80
if lulus_nilai and lulus_hadir:
print("Selamat, kamu lulus!")
elif lulus_nilai or lulus_hadir:
print("Kamu lulus bersyarat")
else:
print("Maaf, kamu belum lulus")
Program ini memakai perbandingan untuk mengubah angka menjadi kondisi, lalu logika untuk menggabungkannya. Bagian if dan elif akan kita bahas lebih dalam di artikel berikutnya.
Kesalahan Umum Pemula
- Tertukar
=dan==—=untuk menyimpan,==untuk membandingkan. - Mengira
=di dalamifvalid —if x = 5menghasilkanSyntaxError. - Lupa besar-kecil huruf pada string —
"Budi" == "budi"bernilaiFalse. - Salah pilih
anddanor—andbutuh semua benar,orcukup salah satu. - Membandingkan tipe berbeda tanpa sadar —
5 == "5"bernilaiFalsekarenaintdanstrberbeda.
Ringkasan
- Operator perbandingan:
==,!=,>,<,>=,<= - Semua perbandingan menghasilkan
bool, yaituTrueatauFalse =untuk menyimpan nilai,==untuk membandingkan- Perbandingan string bersifat case-sensitive
- Operator logika:
and,or,not - Nilai kosong seperti
0,"", danNonedianggap falsy, sisanya truthy
Langkah Selanjutnya
Kamu sekarang bisa membuat kondisi yang menghasilkan True atau False. Kondisi ini jadi bekal penting untuk mengambil keputusan di dalam program.
Artikel selanjutnya membahas Operator Assignment di Python, cara menyimpan nilai dengan lebih ringkas memakai +=, -=, dan operator sejenis.
