Operator Perbandingan
Kondisi di dalam if selalu berujung pada satu jawaban: benar atau salah. Ini alat untuk menghasilkannya.
Intisari
==sama dengan ·!=tidak sama ·><>=<=.- Satu
=menyimpan, dua==membandingkan. Ini kesalahan paling umum sedunia. - Perbandingan boleh dirangkai:
0 <= nilai <= 100— sah dan enak dibaca di Python. inmengecek keanggotaan:"a" in "apel",3 in [1, 2, 3].- Angka dan teks tidak bisa dibandingkan besar-kecil:
5 > "3"menghasilkanTypeError.
Enam operator
| 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 | 3 <= 5 | True |
Setiap perbandingan menghasilkan True atau False — nilai yang bisa disimpan seperti nilai lain:
lulus = nilai >= 70
print(lulus) # True atau False
print(type(lulus)) # <class 'bool'>
if lulus:
print("Selamat!")
Satu = versus dua ==
x = 5 # SIMPAN 5 ke dalam x
x == 5 # TANYA: apakah x sama dengan 5? → True
Kalau tertukar, Python menolak menjalankan kodenya:
if nilai = 70:
print("pas")
# SyntaxError: invalid syntax. Maybe you meant '==' instead of '='?
Python bahkan menebak maksudmu di pesan errornya. Baca pesan error sampai habis — sering kali jawabannya sudah ada di sana.
Membandingkan teks
"budi" == "budi" # True
"Budi" == "budi" # False ← huruf besar/kecil dibedakan!
"apel" < "jeruk" # True ← urutan abjad
Perbandingan huruf besar/kecil ini sering merepotkan saat memproses input pengguna. Solusi standarnya: samakan dulu.
jawab = input("Lanjut? (ya/tidak) ")
if jawab.lower() == "ya": # menerima "Ya", "YA", "yA"
print("Oke, lanjut")
Merangkai perbandingan
Python mengizinkan penulisan seperti di buku matematika — tidak semua bahasa bisa begini:
nilai = 85
if 0 <= nilai <= 100:
print("Nilai valid")
# Di bahasa lain harus ditulis panjang seperti ini,
# dan di Python pun tetap sah:
if nilai >= 0 and nilai <= 100:
print("Nilai valid")
in — apakah ada di dalamnya?
"a" in "apel" # True
"xyz" in "apel" # False
3 in [1, 2, 3] # True
"budi" in ["ani", "budi"] # True
if "@" not in email:
print("Email tidak valid")
Operator in ini akan jadi salah satu yang paling sering kamu pakai — untuk teks, list, maupun dictionary.
Yang tidak bisa dibandingkan
5 == "5" # False — beda tipe, jadi tidak sama. Ini aman.
5 > "3" # TypeError: '>' not supported between 'int' and 'str'
Menanyakan “sama atau tidak” pada tipe berbeda selalu boleh, jawabannya False.
Tapi menanyakan “lebih besar mana” antara angka dan teks tidak punya arti, jadi Python menolaknya.
Kalau ini terjadi pada data dari input(), penyebabnya hampir pasti lupa int().
Latihan: buat program login sederhana. Simpan satu username dan password di variabel, minta pengguna memasukkannya, lalu balas “berhasil” atau “gagal”. Buat username tidak sensitif huruf besar/kecil, tapi password sensitif.
Rangkuman ini sengaja dipangkas ke bagian yang dipakai di roadmap. Buka sumber aslinya saat kamu butuh detail lengkap atau referensi parameter.