Logika & Perbandingan

Pertemuan 5: Membuat Program Menjadi "Cerdas"

Agenda Hari Ini

Dasar dari Logika: Boolean

Ingat, komputer hanya mengerti dua kondisi: Benar atau Salah.

True

(Benar)

False

(Salah)

Semua operator logika dan perbandingan akan selalu menghasilkan salah satu dari dua nilai ini.

Operator Perbandingan

Digunakan untuk membandingkan dua nilai. Hasilnya selalu True atau False.

== (Sama dengan)
!= (Tidak sama dengan)
> (Lebih besar dari)
< (Lebih kecil dari)
>= (Lebih besar atau sama dengan)
<= (Lebih kecil atau sama dengan)

Contoh Perbandingan

poin_kamu = 85
poin_lawan = 70

# Apakah poin kamu lebih tinggi dari lawan?
print(poin_kamu > poin_lawan)  # Hasil: True

# Apakah poin kamu sama dengan 85?
print(poin_kamu == 85)  # Hasil: True

# Apakah poin lawan tidak sama dengan 80?
print(poin_lawan != 80) # Hasil: True

Arena Perbandingan Angka

Hasil akan muncul di sini...

Operator Logika

Digunakan untuk menggabungkan beberapa ekspresi boolean menjadi satu.

and (DAN)

Hasilnya True hanya jika semua kondisi terpenuhi.

or (ATAU)

Hasilnya True jika salah satu kondisi saja sudah terpenuhi.

not (BUKAN)

Membalikkan nilai boolean (True menjadi False, dan sebaliknya).

Tabel Kebenaran: AND

Hasilnya True hanya jika semua kondisi terpenuhi.

Kondisi A Kondisi B A AND B
True True True
True False False
False True False
False False False

Tabel Kebenaran: OR

Hasilnya True jika salah satu kondisi saja sudah terpenuhi.

Kondisi A Kondisi B A OR B
True True True
True False True
False True True
False False False

Tabel Kebenaran: NOT

Membalikkan nilai boolean: yang benar jadi salah, yang salah jadi benar.

Kondisi A NOT A
True False
False True

Analogi Dunia Nyata

Logika `and`

"Untuk naik roller coaster, kamu harus punya tiket DAN tinggi badanmu di atas 140 cm."

Jika salah satu saja tidak terpenuhi (misal, punya tiket tapi tinggi kurang), kamu tidak bisa masuk.

Logika `or`

"Untuk dapat diskon, kamu bisa pakai kupon ATAU menjadi member."

Cukup penuhi salah satu syarat (punya kupon saja, atau jadi member saja), kamu sudah dapat diskon.

Contoh Logika

umur = 20
punya_ktp = True
pelajar = False

# Boleh ikut pemilu? (Harus umur 17+ DAN punya KTP)
bisa_memilih = (umur >= 17) and (punya_ktp == True)
print("Bisa memilih:", bisa_memilih) # Hasil: True

# Dapat diskon tiket kereta? (Pelajar ATAU umur di bawah 12)
dapat_diskon = (pelajar == True) or (umur < 12)
print("Dapat diskon:", dapat_diskon) # Hasil: False

# Membalikkan status pelajar
bukan_pelajar = not pelajar
print("Bukan pelajar:", bukan_pelajar) # Hasil: True

Simulasi Cek Kelulusan

Syarat Lulus: (Nilai Ujian > 75 dan Absensi > 80) atau Mengerjakan Proyek Akhir.

Status akan muncul di sini...

Studi Kasus: Pendaftaran Kursus

Program untuk menentukan apakah seseorang bisa mendaftar kursus "Dasar Pemrograman" dan "Pemrograman Lanjutan".

umur = int(input("Masukkan umur Anda: "))
sudah_pernah_koding = input("Apakah sudah pernah belajar koding? (ya/tidak): ")

# Syarat daftar kursus dasar: umur minimal 15 tahun
bisa_daftar_dasar = umur >= 15

# Syarat daftar kursus lanjutan: bisa kursus dasar DAN sudah pernah koding
bisa_daftar_lanjutan = bisa_daftar_dasar and (sudah_pernah_koding == "ya")

print("Boleh mendaftar kursus dasar?", bisa_daftar_dasar)
print("Boleh mendaftar kursus lanjutan?", bisa_daftar_lanjutan)

Latihan Mandiri

1. Login Sederhana

Buat program yang meminta username dan password. Tampilkan True jika username adalah "admin" DAN password adalah "rahasia123".

2. Cek Angka Spesial

Buat program yang meminta sebuah angka. Tampilkan True jika angka tersebut lebih besar dari 50 ATAU merupakan kelipatan 5.

3. Penjaga Pintu Klub

Buat program yang meminta umur dan status (member/biasa). Tampilkan True jika umur di atas 21 ATAU dia adalah seorang member.

Rangkuman

Q&A

Ada Pertanyaan?

Terima Kasih!