# 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`. ```python >>> 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`. ```python >>> 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. :::info ***Contoh 5.1 Tabel Operasi Perkalian*** Kode berikut mencetak tabel perkalian Boolean. ```python 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 | ``` ::: :::info ***Contoh 5.2 Tabel Operasi Penjumlahan*** Kode berikut mencetak tabel penjumlahan Boolean. ```python 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 | ``` ::: :::info ***Contoh 5.3 Tabel Operasi Komplemen*** Kode berikut mencetak tabel penjumlahan Boolean. ```python 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 :::info ***Contoh 5.4 Evaluasi Ekspresi Boolean*** Evaluasi ekspresi Boolean $a' \cdot (b + c))$ jika $a = 0$, $b =1$ dan $c = 0$. ***Solusi:*** Kode berikut mengevaluasi ekspresi Boolean di atas. ```python a = 0 b = 1 c = 0 x = (not(a))&(b|c) print(x) ``` Output dari kode di atas: ``` 1 ``` ::: :::info ***Contoh 5.5 Fungsi Boolean*** Diketahui fungsi Boolean: $f(x,y,z) = xyz + x'y + y'z$. Cari nilai fungsi pada $x = 1, y = 0$ dan $z = 1$. ```python= 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 ``` :::