Bab 5P. Aljabar Boolean

Aljabar Boolean

Python mempunyai tipe data Boolean pada Python yaitu tipe data bool yang hanya bernilai True dan False. Jika nilai-nilai Boolean ini dikonversi ke integer menggunakan fungsi built-in int(), nilai False bernilai 0 dan nilai True bernilai 1.

>>> int(False)
0
>>> int(True)
1

Sebaliknya, jika kita mengonversi nilai integer ke nilai Boolean menggunakan fungsi built-in bool, nilai 0 akan dikonversi menjadi False dan nilai selain 0 akan dikonversi menjadi True.

>>> bool(0)
False
>>> bool(1)
True
>>> bool(3)
True

Operator Boolean

Operator-operator Boolean pada Python:

  • Operator & digunakan untuk melakukan operasi perkalian Boolean.
  • Operator | digunakan untuk melakukan operasi penjumlahan Boolean.
  • Operator not digunakan untuk melakukan operasi komplemen.

Contoh 5.1 Tabel Operasi Perkalian
Kode berikut mencetak tabel perkalian Boolean.

print(f'|{"a":^4s}|{"b":^4s}|{"a.b":^4s}|')

for a in [0, 1]:
    for b in [0, 1]:
        c = a & b
        
        # cetak tabel
        print(f'|{a!s:^4}|{b!s:^4}|{c!s:^4}|')

Output dari kode di atas:

| a  | b  |a.b |
| 0  | 0  | 0  |
| 0  | 1  | 0  |
| 1  | 0  | 0  |
| 1  | 1  | 1  |

Contoh 5.2 Tabel Operasi Penjumlahan
Kode berikut mencetak tabel penjumlahan Boolean.

print(f'|{"a":^4s}|{"b":^4s}|{"a+b":^4s}|')

for a in [0, 1]:
    for b in [0, 1]:
        c = a | b

        # cetak tabel
        print(f'|{a!s:^4}|{b!s:^4}|{c!s:^4}|')

Output dari kode di atas:

| a  | b  |a+b |
| 0  | 0  | 0  |
| 0  | 1  | 1  |
| 1  | 0  | 1  |
| 1  | 1  | 1  |

Contoh 5.3 Tabel Operasi Komplemen
Kode berikut mencetak tabel penjumlahan Boolean.

print(f'|{"a":^4s}|{"~a":^4s}|')

for a in [0, 1]:
        c = not a

        # karena operator not menghasilkan nilai True atau False
        # kita harus mengonversinya ke integer.
        c = int(c)

        # cetak tabel
        print(f'|{a!s:^4}|{c!s:^4}|')

Output dari kode di atas:

| a  | ~a |
| 0  | 1  |
| 1  | 0  |

Ekspresi Boolean dan Fungsi Boolean

Contoh 5.4 Evaluasi Ekspresi Boolean
Evaluasi ekspresi Boolean

a(b+c)) jika
a=0
,
b=1
dan
c=0
.

Solusi:
Kode berikut mengevaluasi ekspresi Boolean di atas.

a = 0
b = 1
c = 0
x = (not(a))&(b|c)
print(x)

Output dari kode di atas:

1

Contoh 5.5 Fungsi Boolean

Diketahui fungsi Boolean:

f(x,y,z)=xyz+xy+yz.
Cari nilai fungsi pada
x=1,y=0
dan
z=1
.

def f(x, y, z): return x&y&z | (not x)&y | (not y)&z x = 1 y = 0 z = 1 f = f(x, y, z) print('f(1, 0, 1) =', f)

Output dari kode di atas:

f(1, 0, 1) = 1