Logika dalam Python sangat erat kaitannya dengan logika dalam matematika, khususnya logika proposisional. Namun, terdapat beberapa perbedaan penting dalam simbol dan cara evaluasinya.
Kesamaan Dasar
| Konsep Logika | Matematika | Python |
|---|---|---|
| Dan | A ∧ B | A and B |
| Atau | A ∨ B | A or B |
| Negasi | ¬A | not A |
| Sama dengan | A = B | A == B |
| Tidak sama | A ≠ B | A != B |
Evaluasi Pendek (Short-circuit Evaluation)
Python tidak akan memeriksa seluruh ekspresi logika jika hasilnya sudah bisa dipastikan dari bagian awal. Ini dikenal dengan nama "evaluasi pendek".
A and B
- Jika A =
False, maka B tidak dievaluasi. - Jika A =
True, maka Python harus memeriksa B.
A or B
- Jika A =
True, maka B tidak dievaluasi. - Jika A =
False, maka Python harus memeriksa B.
Analogi Dunia Nyata
Satria and Jojo
“Kalau Satria hadir dan Jojo membawa kamera, maka kita bisa mulai syuting.”
if satria_hadir and jojo_bawa_kamera:
mulai_syuting()
Satria or Jojo
“Kalau Satria hadir atau Jojo membawa kamera, kita tetap bisa mulai syuting.”
if satria_hadir or jojo_bawa_kamera:
mulai_syuting()
Tabel Evaluasi Praktis
| Ekspresi | Nilai A | Periksa B? | Alasan |
|---|---|---|---|
| A and B | False | Tidak | Sudah pasti False |
| A and B | True | Ya | B penentu hasil |
| A or B | True | Tidak | Sudah cukup True |
| A or B | False | Ya | Butuh B untuk True |
🔁 Simulasi Interaktif
Kesimpulan
Logika dalam Python tidak hanya mencerminkan logika matematika, tetapi juga mencerminkan bagaimana manusia berpikir dan mengambil keputusan dalam situasi nyata. Evaluasi pendek menjadikan program lebih efisien dan logis, dan memahami cara kerja ini sangat membantu dalam menulis kode yang cerdas dan hemat sumber daya.

Komentar
Posting Komentar