Monday, August 04, 2014

SISTEM DIGITAL: 2. ALJABAR BOOLEAN


Bilangan biner adalah bilangan dengan dua lambang bilangan yaitu 0 dan 1. Dalam kehidupan sehari-hari lambang ini bisa dianalogikan mati – hidup, padam – nyala, tinggi – rendah, tiada – ada dan sebagainya. Kenapa dengan aljabar Boolean atau aljabar Boole?. Aljabar Boole merupakan aljabar yang mengoperasikan kondisi (bukan angka) 0 dan 1, kondisi mati – hidup, tiada – ada. Kondisi ini sesuai dengan bilangan biner. Namun demikian dengan operasi kondisi 0 dan 1 ini bisa “dimanipulasi” menjadi operasi biner, penjumlahan, pengurangan, perkalian ataupun pembagian.
Dengan kondisi 0 dan satu maka dalam aljabar boolean lambang variabel ditulis misalnya dengan A, B, C atau lambang huruf-huruf yang lain misalnya X, Y, Z. Karena hanya dikenal dua kondisi maka jika tidak 0 adalah 1 dan jika tidak 1 adalah 0. Penulisan didalam variabel jika tidak A maka A’ (atau A diberi garis pendek diatasnya).

Operasi boolean.

Operasi dasar boolean ada 3 yaitu: AND, OR dan NOT. Maksud dari operasi tersebut adalah:
1.       AND, dalam literasinya dilambangkan dengan dot. Adalah operasi pada suatu fungsi dimana fungsi tersebut akan menghasilkan kondisi 1 jika semua masukannya berkondisi 1, akan berkondisi 0 jika ada salah satu masukan atau lebih berkondisi 0. Operasi ini mirip dengan operasi perkalian didalam matematika. Contoh: Misalkan fungsi dengan masukan A dan B:
Maka fungsi ditulis:
X = A.B
Jika A dan B bernilai 1 (mulai saat ini kita sebut nilai untuk menggantikan kondisi) maka:
X = 1 . 1
X = 1
Jika salah satu A atau B bernilai 0 maka:
X = 1 . 0
X = 0
Penyebutan AND untuk operasi ini karena kondisi yang disebutkan sebelumnya yaitu keluaran akan bernilai 1 jika masukan A dan (AND) B bernilai 1.
2.       OR dalam literasinya dilambangkan +. Bukan penjumlahan tetapi hampir mirip dengan operasi penjumlahan dalam matematika. Operasi ini akan menghasilkan nilai 1 jika salah satu atau lebih masukannya bernilai 1. Fungsi OR ditulis:
X = A + B
Jika A = 0, B = 0 maka
X = 0 + 0 = 0
Jika A = 0, B = 1 maka
X = 0 + 1 = 1
Jika A = 1, B = 0 maka
X = 1 + 0 = 1
Jika A = 1 dan B = 1 maka
X = 1 + 1 = 1
3.       NOT merupakan operasi kebalikan dari suati nilai. Kebalikan dari nilai 0 adalah 1, kebalikan nilai 1 adalah 0. Literasi operasi ini biasanya ditulis dengan nama variabel yang diberi garis pendek pada bagian atas variabel tersebut (sulit menulis dengan MS Word memberi tanda garis diatasnya), atau diberi tanda satu aksen (‘). Misalnya NOT A ditulis A’, NOT B ditulis B’. Jika ditulis NOT dua kali maka akan mengembalikan kepada nilai awalnya. Contoh:
Jika A = 0 maka
A’ = 1
A’’ = 0
Jika A = 1 maka
A’ = 0
A’’ = 1
Disamping ketiga operasi dasar tersebut masih ada operasi yang lain misalnya Exclusive OR atau sering disebut XOR. Dilain bagian akan coba saya bahas.

Tabel kebenaran (truth table)

Tabel kebenaran merupakan suatu tabel yang menggambarkan hubungan nilai pada masukan suatu fungsi Boolean dengan keluarannya. Pada pembahasan operasi boolean secara tidak sadar kita sudah mempunyai tabel kebenaran.
Tabel kebenaran untuk AND dengan dua masukan A, B dan keluaran X:
A
B
X=A.B
0
0
0
0
1
0
1
0
0
1
1
1

Tabel kebenaran untuk OR dengan dua masukan A, B dan keluaran X:
A
B
X=A+B
0
0
0
0
1
1
1
0
1
1
1
1

Tabel kebenaran untuk NOT dengan masukan A dan keluaran X:
A
X=A’
0
1
1
0

Hukum Boolean

Hukum dasar Boolean menggambarkan kondisi dimana kondisi tersebut akan pasti terjadi. Kejadian ini bisa ditelaah melalui operasi boolean ataupun dengan menggunakan tabel kebenaran.
a.       Hukum Komutatif
A + B = B + A
A . B = B . A
b.      Hukum Asosiatif
(A + B) + C = A + (B + C)
(A . B) . C = A . (B . C)
c.       Hukum Distributif
A . (B + C) = A . B + A . C
A + (B . C) = (A + B) . (A + C)
d.      Hukum Identitas
A + A = A
A . A = A
e.      Hukum Negasi
(A) = A
A’’ = A
f.        Hukum Redundan
A + A . B = A
A . (A + B) = A
g.       Hukum Identitas
A + A’ = 1
A . A’ = 0
0 + A = A
1 . A = A
0 . A = 0
A + A . B = A + B
h.      Teorema De Morgan
( A + B )’ = A’ . B’
( A . B)’ = A’ + B’

SISTEM DIGITAL: 1. SISTEM BILANGAN



Membicarakan sistem digital tidak akan terlepas dari sistem bilangan. Kebiasaan dari kita sehari-hari berhitung dengan sistem bilangan desimal dimulai dari nol sampai dengan sembilan. Ada sepuluh lambang bilangan yang digunakan. Entah bagaimana awalnya. Bisa jadi karena orang dahulu menghitung menggunakan jari tangan yang jumlahnya sepuluh maka diciptakan sepuluh lambang bilangan.
Benarkah sistem bilangan hanya desimal. Dalam kehidupan yang lain misalnya didunia digital ternyata ada sistem bilangan yang lain yaitu sistem dua-an atau lebih populer dengan sistem biner atau bilangan biner. Kalau bilangan desimal mengenal sepuluh lambang maka bilangan biner hanya terdapat dua lambang. Sistem bilangan yang lain yaitu satuan memiliki hanya satu lambang bilangan. Entah apa nama sistem ini, tetapi sistem yang terakhir ini cukup populer. Biasanya digunakan untuk menghitung score suatu pertandingan. | mewakili satu, || mewakili dua, |||| mewakili empat, |||| mewakili lima, |||| |||| untuk sepuluh dan seterusnya.
Bilangan desimal memiliki sempuluh lambang bilangan yaitu:
Nol               diwakili oleh lambang 0
Satu             diwakili oleh lambang 1
Dua              diwakili oleh lambang 2
Tiga              diwakili oleh lambang 3
Empat         diwakili oleh lambang 4
Lima             diwakili oleh lambang 5
Enam           diwakili oleh lambang 6
Tujuh          diwakili oleh lambang 7
Delapan     diwakili oleh lambang 8
dan
Sembilan   diwakili oleh lambang 9.
Menulis bilangan misalnya sepuluh dengan basis desimal ditulis dengan lambang 10, dua belas ditulis dengan lambang 12 dan seterusnya.
Umumnya sistem bilangan selain yang berbasis puluhan atau desimal tetap mengunakan lambang bilangan yang sudah ada yaitu 0 – 9. Bagaimana jika basis bilangannya lebih dari sepuluh? Solusinya adalah menggunakan lambang yang lain. Misalnya bilangan berbasis hexa atau berbasis enam belas menggunakan lambang 0 – 9, A, B, C, D, E dan F. Bolehkah menggunakan lambang yang lain selain yang sudah ada? Boleh-boleh saja tetapi tidak ada yang mengerti. Jika ini terjadi pada saat ujian bisa dipastikan akan mendapat nilai NOL.
Bagaimana menuliskan bilangan untuk angka yang melebihi jumlah lambang bilangannya? Caranya yaitu menggunakan lambang kembali dari awal tetapi didepannya diberi semacam indek, misalnya untuk basis bilangan enam belas maka setelah F adalah 10, 11.... 1F, 20, 21 dan seterusnya.

KONVERSI BILANGAN

Mengkonversi sistem bilangan desimal menjadi bilangan sistem yang lain adalah membagi bilangan desimal dengan basis yang baru dan mengambil modulusnya (sisa pembagiannya) berturut-turut sampai didapat modulusnya kurang dari basisnya. Menulis modulus mulai dari yang terakhir sampai ke modulus yang pertama berderet dari kiri kekanan, hasilnya adalah bilangan dengan basis yang baru.
Sebagai contoh yang paling mudah desimal menjadi biner. 30 desimal menjadi biner:
30 : 2
-------  sisa 0 > angka kelima/ terakhir (paling kanan)
15 : 2
-------  sisa 1 > angka keempat
7 : 2
-------  sisa 1 > angka ketiga
3 : 2
-------  sisa 1 > angka kedua
1 : 2
-------  sisa 1 > angka pertama (paing kiri)
0
Modulus atau sisa pembagian mulai dari angka pertama disusun kekanan sampai angka terakhir menjadi: 1 1 1 1 0
Maka 30 desimal sama dengan 1 1 1 1 0 biner
Cara mengkonversi desimal ke basis yang lain sama.
Untuk mengkonversi bilangan biner menjadi bilangan desimal adalah dengan cara mengganti angka 1 dengan angka 2 dan pangkat jumlah butir/ bit bilangan disebelah kanan yang diberi angka 2. Contoh bilangan 1 1 1 0 1 menjadi desimal:
Angka pertama: 1, jumlah bit disebelah kanan angka pertama adalah 4 maka : angka 1 pertama diganti menjadi 24 = 16
Angka kedua: 1, jumlah bit disebelah kanan angka kedua adalah 3, maka : angka 1 kedua diganti menjadi 23 = 8,
demikian juga dengan angka berikutnya:
Angka ketiga: 22 = 4
Angka keempat 0 diabaikan
Angka kelima: 1, jumlah bit disebelah kanan angka kelima adalah 0 maka 20 = 1
Selanjutnya jumlahkan semua angka: 16 + 8 + 4 + 1 = 29
Maka 1 1 1 0 1 biner sama dengan 29 desimal.

BILANGAN BINER DAN BILANGAN HEXA

Kedua jenis bilangan ini mendapat perhatian khusus karena bilangan ini yang selalu digunakan dalam dunia digital. Bilangan biner selalu digunakan dalam rangkaian digital murni, sedangkan bilangan hexa banyak digunakan dalam bidang pemrograman digital.
Seperti disebut pada bagian sebelumnya, bilangan biner atau berbasis dua memiliki dua buah lambang bilangan yaitu 0 dan 1 sedangkan bilangan hexa memiliki enam belas lambang bilangan. Mengapa bilangan biner dan hexa, itu karena bilangan biner yang apabila nilainya besar akan sangat panjang dan menyulitkan. Akan lebih mudah dengan direpresentasikan dengan bilangan hexa. Karena bilangan hexa untuk setiap angkanya mewakili empat butir angka (bit) biner maka akan lebih mudah dengan mengganti setiap empat bit bilangan biner menjadi angka hexa. Bagaimana itu bisa terjadi? Kita lihat tabel perbandingan seperti berikut.
Desimal
Biner
Hexa
0
0
0
1
1
1
2
10
2
3
11
3
10
1010
A
15
1111
F
16
1 0000
10
31
1 1111
1F
32
10 0000
20
65
100 0001
41
127
111 1111
7F
255
1111 1111
FF

Dari tabel perbandingan diatas, mengkonversi bilangan biner menjadi hexa sangatlah mudah. Kita hanya cukup menghafal perbandingan hexa dan biner 0 sampai dengan F. Mengubah biner menjadi hexa dengan memisahkan setiap empat bit dari kanan kekiri kemudian setiap empat bit tersebut dikonversi menjadi hexa. Sebagai contoh 111 1111. Angka 111 biner pertama sama dengan 7 hexa, angka 1111 biner berikutnya sama dengan F. Hasilnya 111 1111 biner sama dengan hexa 7F. Angka terakhir ini bagi kebanyakan programer sangat membantu. Bayangkan jika angka biner nilainya jutaan. Kita akan pusing dibuatnya. Tetapi meskipun hexa sangat membantu dalam penulisan coding dalam program, tetap saja yang terjadi didalam rangkaian logika adalah angka 0 dan angka 1.