Logika · Pelajaran 6 dari 9
Tabel kebenaran
8 menit baca · BelajarCode
Tabel kebenaran mendaftar semua kemungkinan nilai masukan beserta hasil sebuah ekspresi. Dengan dua masukan, ada 4 kemungkinan. Dengan tiga masukan, ada 8.
| A | B | A AND B | A OR B | A XOR B |
|---|---|---|---|---|
| 0 | 0 | 0 | 0 | 0 |
| 0 | 1 | 0 | 1 | 1 |
| 1 | 0 | 0 | 1 | 1 |
| 1 | 1 | 1 | 1 | 0 |
Angka 1 berarti benar dan 0 berarti salah. XOR (exclusive or) bernilai benar jika kedua masukan berbeda. Di Python, XOR untuk nilai benar atau salah bisa ditulis a != b.
Membuat tabel kebenaran dengan Python
1print("A B | AND OR XOR")2for a in [0, 1]:3 for b in [0, 1]:4 print(a, b, "|", a and b, " ", a or b, " ", int(a != b))A B | AND OR XOR 0 0 | 0 0 0 0 1 | 0 1 1 1 0 | 0 1 1 1 1 | 1 1 0
Hukum De Morgan
Ada dua aturan penting yang sering dipakai untuk menyederhanakan syarat:
- NOT (A AND B) sama dengan (NOT A) OR (NOT B)
- NOT (A OR B) sama dengan (NOT A) AND (NOT B)
Contohnya, "tidak (hujan dan dingin)" sama artinya dengan "tidak hujan atau tidak dingin". Kita bisa membuktikannya dengan mencoba semua kemungkinan:
1semua_sama = True2for a in [False, True]:3 for b in [False, True]:4 kiri = not (a and b)5 kanan = (not a) or (not b)6 if kiri != kanan:7 semua_sama = False8print("Hukum De Morgan pertama terbukti:", semua_sama)Hukum De Morgan pertama terbukti: True
Pakai De Morgan untuk menyederhanakan
Syarat not (nilai < 75 or hadir < 80) lebih mudah dibaca jika diubah dengan De Morgan menjadi nilai >= 75 and hadir >= 80.
Cek pemahaman
Menurut hukum De Morgan, not (a or b) sama dengan?
Latihan
Tabel kebenaran A AND NOT B
Buat tabel kebenaran untuk ekspresi A AND (NOT B), dengan tangan lalu dengan program Python.
Pembahasan
| A | B | NOT B | A AND (NOT B) |
|---|---|---|---|
| 0 | 0 | 1 | 0 |
| 0 | 1 | 0 | 0 |
| 1 | 0 | 1 | 1 |
| 1 | 1 | 0 | 0 |
1for a in [0, 1]:2 for b in [0, 1]:3 hasil = int(bool(a) and not bool(b))4 print(a, b, hasil)0 0 0 0 1 0 1 0 1 1 1 0
Ekspresi ini hanya benar jika A benar dan B salah.
Jalankan contoh kode di pelajaran ini tanpa instalasi lewat compiler Python online.