Anda di halaman 1dari 67

[Realisasi Rangkaian Kombinasional] BAB IV

Realisasi Rangkaian Kombinasional

a. XOR, Parity generator/checker


Exclusive-OR atau XOR yang dinotasikan dengan symbol , adalah operator
logika yang akan memberikan nilai 1 apabila x bernilai 1 atau apabila y bernilai 1,
namun bukan saat keduanya, x dan y bernilai 1. XOR memiliki fungsi Boolean.
𝑥 ⨁𝑦 = 𝑥𝑦 ′ + 𝑥′𝑦
Komplemen dari XOR adalah XNOR, adalah operator logika yang akan memberikan
nilai 1 apabila x dan y bernilai 0 atau bernilai 1. XNOR memiliki fungsi Boolean.

𝑥 ⨁𝑦 ′ = 𝑥𝑦 + 𝑥 ′ 𝑦′

Gambar 4.10. Rangkaian POS dengan gerbang NOR

Simbol gerbang serta table kebenaran XOR dan XNOR ditunjukkan pada gambar 4.11

Gambar. 4.11. Tabel Kebenaran XOR dan XNOR


[Realisasi Rangkaian Kombinasional] BAB IV

Dari table kebenaran XOR dan XNOR dapat dilihat bahwa operator XOR dan
XNOR dapat digunakan untuk mengecek parity. XOR untuk mengecek parity ganjil,
sedangkan XNOR untuk mengecek parity genap. Fungsi XOR mengecek parity ganjil
apabila nilai binary memiliki jumlah angka 1 ganjil. Dan sebaliknya pada fungsi XNOR
akan mengecek parity genap apabila nilai binary memiliki jumlah angka 1 genap.
Sehingga fungsi XOR sangat membantu dalam error-detection dan pengkoreksian
kode, karena kedua system tersebut menggunakan fungsi parity.
Parity bit adalah extra bit yang ditambahkan pada binary message untuk
membuat jumlah angka 1 pada binary message ganjil atau genap. Pesan dan parity
bit tersebut dikirim, kemudian di cek oleh receiver untuk mengetahui apakah terjadi
error pada pesan atau tidak. Error akan terdeteksi apabila nilai parity tidak sesuai
dengan yang diharapkan. Rangkaian yang membangkitkan nilai parity disebut parity
generator, sedangkan rangkaian yang mengecek nilai parity disebut parity
generator.
Contoh 4.1 :
Sebuah system even-parity-generator akan mengirim pesan 4-bit bersama dengan
bit even parity-nya. Tabel kebenaran untuk parity generator ditunjukkan pada table
4.2
Tabel 4.2 even-parity-generator

Inputnya adalah 4-bit pesan (x,y,z) dan outputnya adalah bit parity. Pada pesan 4-bit
yang bernilai ganjil, output akan bernilai 1, agar jumlah angka 1 bernilai genap
(even-parity-generator). Maka fungsi outputnya adalah

𝑃 = 𝑥⨁𝑦⨁𝑧

Implementasi rangkaian diunjukkan pada gambar 4.12


[Realisasi Rangkaian Kombinasional] BAB IV

Gambar 4.12. Implementasi rangkaian

Selanjutnya pesan 4-bit dan bit parity-nya dikirim, dan dicek oleh rangkaian parity
checker, apakah ada error pada pesan yang telah dikirim. Error akan terjadi apabila
4-bit yang diterima, jumlah angka 1-nya tidak berjumlah genap. Rangkaian parity
checker akan memberi nilai 1 pada output (C) apabila terjadi error atau angka 1
pada bit pesan bernilai ganjil. Table kebenaran untuk fungsi even-parity-checker
ditunjukkan pada table 4.4
Tabel 4.4. Tabel kebenaran even-parity-checker

Maka fungsi outputnya adalah


𝐶 = 𝑥⨁𝑦⨁𝑧⨁𝑃
Implementasi rangkaian diunjukkan pada gambar 4.14

Gambar 4.14 Implementasi parity checker


[Realisasi Rangkaian Kombinasional] BAB IV

b. Hamming code (parity Code) generator / checker

Hamming Code adalah salah satu kode tunggal pengoreksi kesalahan (single
error-correcting code) yang digunakan dalam RAM ditemukan oleh RW Hamming.
Dalam kode Hamming, bit parity ditambahkan ke dalam bit-bit informasi, jika suatu
saat ada perubahan bit-bit data ketika proses transmisi, maka bit-bit informasi asli
masih bisa diselamatkan. Bit k parity ditambahkan ke word data n-bit, membentuk
kata baru dari n + k bits. Posisi bit nomor berurutan dari 1 sampai n + k. Bit parity
tambahan diberikan pada bit-bit informasi sebelum ditransmisikan, sedangkan pada
sisi penerima dilakukan pengecekan dengan algoritma yang sama dengan
pembangkitan bit parity tambahan. Cara pengisian bit tambahan pada bit-bit
informasi x, adalah sebagai berikut :

𝑎1 𝑎2 𝑎4 𝑎4 𝑎5 𝑎6 𝑎7

x x 1 x 0 1 1

Untuk bit data 4-bit, bit-bit data terletak pada Bit data4,5,6,
posisi / dan 7. Bit pengisi terletak
pada posisi 1,2,4 (2K) --> K = jumlah bitdata -1. Tabel Hamming untuk informasi 4 bit
Bit Pengisi informasi
terlihat pada tabel 5.1.

Tabel 5.1. Tabel Hamming 4 bit


Data/bit 𝑎1 𝑎2 𝑎4 𝑎4 𝑎5 𝑎6 𝑎7
0000 0 0 0 0 0 0 0
0001 1 1 0 1 0 0 1
0010 0 1 0 1 0 1 0
0011 1 0 0 0 0 1 1
0100 1 0 0 1 1 0 0
0101 0 1 0 0 1 0 1
0110 1 1 0 0 1 1 0
[Realisasi Rangkaian Kombinasional] BAB IV

0111 0 0 0 1 1 1 1
1000 1 1 1 0 0 0 0
1001 0 0 1 1 0 0 1
1010 1 0 1 1 0 1 0
1011 0 1 1 0 0 1 1
1100 0 1 1 1 1 0 0
1101 1 0 1 0 1 0 1
1110 0 0 1 0 1 1 0
1111 1 1 1 1 1 1 1

Nilai bit pengisi / cek : (untuk informasi 4 bit) diperoleh melalui rumus berikut ini :

𝑎1 = 𝑎4 ⨁ 𝑎5 ⨁𝑎7
𝑎2 = 𝑎4 ⨁ 𝑎6 ⨁𝑎7
𝑎4 = 𝑎5 ⨁ 𝑎6 ⨁𝑎7
Untuk informasi n-bit, nilai bit pengisi / cek adalah :

𝑎1 = 4,5,7,9,11,14,15,...
𝑎2 = 4,6,7,10,11,14,15,...
𝑎4 = 5,6,7,12,14,14,15,20,21,22,24, …
𝑎8 = 9 − 15, 24 − 41, 40 − 47, ...
𝑎16 = 17 − 41, 48 − 64, 80 − 95, …
𝑎42 = 44 − 64, 96 − 127, 160 − 191, …
Dst..

Perhatikan, misalnya, data word 8-bit 11000100. Kami menyertakan 4 paritas bit
dengan kata 8-bit dan 12 bit mengatur sebagai berikut:
Bit 1 2 4 4 5 6 7 8 9 10 11 12
Position 𝑃1 𝑃2 1 𝑃4 1 0 0 𝑃8 0 1 0 0

4 bit parity 𝑃1 , 𝑃2 , 𝑃4 , 𝑑𝑎𝑛 𝑃8 berada pada posisi 1,2,4, dan 8. 8 bit word data berada
pada posisinya. Tiap bit parity dihitung berdasarkan rumus berikut ini :

𝑃1 = 𝑋𝑂𝑅 𝑏𝑖𝑡 4,5,7,9,11 = 1 ⨁ 1 ⨁ 0 ⨁ 0 ⨁ 0 = 0


𝑃2 = 𝑋𝑂𝑅 𝑏𝑖𝑡 4,6,7,10,11 = 1 ⨁ 0 ⨁ 0 ⨁ 1 ⨁ 0 = 0
𝑃4 = 𝑋𝑂𝑅 𝑏𝑖𝑡 5,6,7,12 = 1 ⨁ 0 ⨁ 0 ⨁ 0 = 1
[Realisasi Rangkaian Kombinasional] BAB IV

𝑃8 = 𝑋𝑂𝑅 𝑏𝑖𝑡 9,10,11,12 = 1 ⨁ 0 ⨁ 0 ⨁ 0 = 1

Operasi EXOR menampilkan fungsi ganjil, outputnya = 1 untuk jumlah variabel 1


yang jumlahnya ganjil. Dan outputnya = 0, untuk jumlah variabel bernilai 1
jumlahnya genap. Sehingga tiap bit parity diset pada jumlah keseluruhan variabel
bernilai 1 pada posisi yang dicek termasuk didalamnya bit parity, akan selalu genap.
8 bit data word dimasukkan dalam memory secara bersama-sama dengan 4 bit
parity sebagaimana 12 bit word composit. Penggantian 4 P bit pada posisi yang
sesuai, maka diperoleh 12 bit composite word yang dimasukkan dalam memory :

Bit 0 0 1 1 1 0 0 1 0 1 0 0
Position 1 2 4 4 5 6 7 8 9 10 11 12

Ketika 12 bit data dibaca dari memory, kemudian dicek kembali nilai errornya. Parity
dicek keseluruhan dengan kombinasi bit yang sama termasuk bit parity. 4 bit yang
dicek dievaluasi dengan cara berikut ini :

𝐶1 = 𝑋𝑂𝑅 𝑏𝑖𝑡 1,4,5,7,9,11


𝐶2 = 𝑋𝑂𝑅 𝑏𝑖𝑡 2,4,6,7,10,11
𝐶4 = 𝑋𝑂𝑅 𝑏𝑖𝑡 4,5,6,7,12
𝐶8 = 𝑋𝑂𝑅 𝑏𝑖𝑡 8,9,10,11,12

Hasil C = 𝐶8 𝐶4 𝐶2 𝐶1 = 0000, mengindikasikan bahwa tidak ada error yang terjadi.


Tetapi, jika C ≠ 0, sehingga 4 bit binary dibentuk dengan bit cek yang
mengindikasikan bit error. Sebagai contoh, mengingat 4 kasus berikut :

1 2 4 4 5 6 7 8 9 10 11 12
Bit 0 0 1 1 1 0 0 1 0 1 0 0 No Error
Position 1 0 1 1 1 0 0 1 0 1 0 0 Error in
bit 1
0 0 1 1 0 0 0 1 0 1 0 0 Error in
bit 5

Pada kasus pertama, tidak ada error pada 12 bit word. Pada kasus yang kedua,
terjadi error pada posisi bit 1 karena berubah dari 0 ke 1. Kasus ketiga menunjukkan
[Realisasi Rangkaian Kombinasional] BAB IV

adanya error pada posisi bit 5, dengan perubahan dari 1 ke 0. Pengevaluasian XOR
dari bit yang berkorespondensi, menentukan 4 bit cek dengan cara :

𝐶8 𝐶4 𝐶2 𝐶1
For no error 0 0 0 0
With error in bit 1 0 0 0 1
With error in bit 5 0 1 0 1

C = 0000, dengan nilai error pada bit 1, diperoleh nilai C = 0001 dan nilai error pada
bit 5, nilai C = 0101. Ketika binary number C tidak sama dengan 0000, memberikan
posisi pada bit error. Error dapat diperbaiki dengan melengkapi bit yang
berkorespondensi. Error dapat terjadi pada word data atau pada salah satu bit
parity.
Hamming code terdiri dari k bit cek dan n bit data, untuk keseluruhan bit n +
k. Nilai C terdiri dari k bit dan memiliki range 2𝑘 , nilainya diantara 0 dan 2𝑘 − 1. Satu
dari nilai ini, biasanya adalah 0, yang digunakan untuk mengindikasikan bahwa tidak
ada error yang terdeteksi. Nilai 2𝑘 − 1 untuk mengindikasikan bit 𝑛 + 𝑘 telah error.
Tiap nilai 2𝑘 − 1 dapat digunakan secara unik untuk mendeskripsikan bit yang error.
Oleh karena itu, rentang k harus sama dengan atau lebih besar dari 𝑛 + 𝑘, hubungan
antar keduanya adalah :
2𝑘 − 1 ≥ 𝑛 + 𝑘
pemecahan untun pada bagian k, diperoleh :

2𝑘 − 1 − 𝑘 ≥ 𝑛

Hubungan ini memberikan formula untuk membangun sejumlah bit data


yang dapat digunakan pada konjungsi dengan k bit cek. Sebagai contoh, ketika k = 4,
jumlah bit data yang dapat digunakan 𝑛 ≤ 24 − 1 − 4 = 4. Untuk k = 4, diperoleh
24 − 1 − 4 = 11, diberikan 𝑛 ≤ 11. Word data paling tidak 11 bit, tetapi harus
memiliki paling tidak 5 bit, sebaliknya hanya 4 bit cek yang dibutuhkan. Hal ini
membenarkan penggunaan 4 bit cek untuk 8 bit data pada contoh sebelumnya.
Rentang nilai n untuk variasi nilai k, terlihat pada tabel 5.2. Pengelompokkan bit
untuk parity generation dan checking dapat ditentukan dari sederetan binary
number 1,4,5,7 dan sebagainya. Bit Signifikan kedua adalah 1 pada binary number
2,4,6,7 dan sebagainya. Perbandingan jumlah ini dengan posisi bit yang digunakan
[Realisasi Rangkaian Kombinasional] BAB IV

untuk men-generate dan checking bit parity pada hamming code, perlu dicatat
hubungan
Tabel 5.2. Rentang Bit Data untuk k bit cek
Jumlah bit cek , k Rentang bit data, n
4 2-4
4 5 - 11
5 12 - 26
6 27 - 57
7 58 - 120

antara pengelompokkan bit pada code dan posisi bit - 1 pada urutan binary count.
Tiap grup dari permulaan bit dimulai dengan angka 2:1,2,4,8,16,... Angka ini juga
merupakan nomer posisi dari bit parity. Sehingga dapat dituliskan untuk informasi n-
bit, cara pengecekkan adalah :
1. Tanda semua posisi bit yang merupakan pangkat dua sebagai bit parity (posisi 1,
2, 4, 8, 16, 42, 64, ...).
2. Posisiyang lain digunakan sebagai bit data yang akan dikodekan (posisi 4, 5, 6, 7,
9, 10, 11, 12, 14, ...).
3. Masing-masingbit pengecek menghitung bit setiap posisi dengan cara menge-cek
dan melewati, sebagai berikut:
a. Posisi1 : cek 1 bit, lewat 1 bit, cek 1 bit, lewat 1 bit dsb
(1,4,5,7,9,11,14,15…).
b. Posisi2 : cek 2 bit, lewat 2 bit, cek 2 bit, lewat 2 bit dsb
(2,4,6,7,10,11,14,15,…).
c. Posisi4 : cek 4 bit, lewat 4 bit, cek 4 bit, lewat 4 bit dsb
(4,5,6,7,12,14,14,15,20,21,22,24, …).
d. Posisi8 : cek 8 bit, lewat 8 bit, cek 8 bit, lewat 8 bit dsb (8-15,24-41,40-
47,...)
e. Posisi42 : cek42 bit, lewat 42 bit, cek42 bit, lewat 42 bit, dsb (42-64,96-
127,160-191,...).

Bernilai bit parity = 1, jika total bit "1" diposisi yang dicek adalah ganjil (odd) dan
bernilai 0 jika total bit "1" adalah genap (Even).
[Realisasi Rangkaian Kombinasional] BAB IV

Single-Error Correction, Double-Error Detection


Hamming Code dapat mendeteksi dan mengoreksi hanya untuk error
tunggal. Dengan menambahkan parity lainnya pada code word, hamming code
dapat digunakan untuk mengoreksi error tunggal dan mendeteksi error ganda. Jika
tambahan bit parity, kemudian 12 bit code word sebelumnya menjadi
001110010100𝑃14 , dimana 𝑃14 dievaluasi dari EXOR dari 12 bit lainnya. Hal ini
memproduksi 14 bit word 0011100101001 (parity genap). Saat 14 bit word dibaca
dari memory, bit cek di evaluasi, sebagaimana parity pada keseluruhan 14 bit. Jika P
= 0, parity benar (parity genap), tetapi jika P = 1, kemudian keseluruhan 14 bit parity
adalah incorrect (odd parity). Sehingga dapat disimpulkan :
a. Jika C = 0 dan P = 0, maka tidak ada error yang terjadi
b. Jika 𝐶 ≠ 0 dan P = 1, error tunggal yang terjadi dan dapat diperbaiki
c. Jika 𝐶 ≠ 0 dan P = 0, error ganda yang terdeteksi, akan tetapi tidak dapat
diperbaiki.
d. Jika C = 0 dan P = 1, Error terjadi pada bit 𝑃14
Skema ini dapat mendeteksi lebih dari 2 error, akan tetapi tidak menggaransi untuk
mendeteksi seluruh error.

Contoh Soal :
1. Bagaimana bentuk data yang ditransmisikan dengan kode Hamming, jika
diketahui bit data = 1010 ?
Jawab :
𝑎1 = 𝑎4 ⨁𝑎5 ⨁𝑎7 → 𝑎1 = 1 + 0 + 0 = 1
𝑎2 = 𝑎4 ⨁𝑎6 ⨁𝑎7 → 𝑎2 = 1 + 1 + 0 = 0
𝑎4 = 𝑎5 ⨁𝑎6 ⨁𝑎7 → 𝑎4 = 0 + 1 + 0 = 1
sehingga bentuk data yang ditransmisikan menjadi : 1011010.
2. Sebuah urutan data diterima : 0010011
dengan nilai :
e1 = 0
e2 = 1
e4 = 0
Tentukan bit diposisi mana yang salah?Berapa nilai data asli (sebelum ditambah
bit parity)?
Jawab :
𝑒1 = 𝑎1 ⨁𝑎4 ⨁𝑎5 ⨁𝑎7 = 0 + 1 + 0 + 1 = 0 → 𝑏𝑒𝑛𝑎𝑟
𝑒2 = 𝑎2 ⨁𝑎4 ⨁𝑎6 ⨁𝑎7 = 0 + 1 + 1 + 1 = 1 → 𝑠𝑎𝑙𝑎ℎ
𝑒4 = 𝑎4 ⨁𝑎5 ⨁𝑎6 ⨁𝑎7 = 0 + 0 + 1 + 1 = 1 → 𝑏𝑒𝑛𝑎𝑟
[Realisasi Rangkaian Kombinasional] BAB IV

𝑎1 = 𝑎4 ⨁𝑎5 ⨁𝑎7 → 𝑎1 = 1 + 0 + 1 = 0 → 𝑠𝑎𝑚𝑎 𝑑𝑒𝑛𝑔𝑎𝑛 𝑦𝑎𝑛𝑔 𝑑𝑖𝑘𝑖𝑟𝑖𝑚


𝑎2 = 𝑎4 ⨁𝑎6 ⨁𝑎7 → 𝑎2 = 1 + 1 + 1 = 1 → 𝑡𝑖𝑑𝑎𝑘 𝑠𝑎𝑚𝑎 𝑑𝑒𝑛𝑔𝑎𝑛 𝑦𝑎𝑛𝑔 𝑑𝑖𝑘𝑖𝑟𝑖𝑚
𝑎4 = 𝑎5 ⨁𝑎6 ⨁𝑎7 → 𝑎4 = 0 + 1 + 1 = 0 → 𝑠𝑎𝑚𝑎 𝑑𝑒𝑛𝑔𝑎𝑛 𝑦𝑎𝑛𝑔 𝑑𝑖𝑘𝑖𝑟𝑖𝑚

Berarti bit diposisi 2 yang salah, seharusnya yang diterima adalah : 0110011
nilai data asli = 𝑎4 𝑎5 𝑎6 𝑎7 = 1011.

c. Adder: Ripple-carry dan LookAhead Carry


[Realisasi Rangkaian Kombinasional] BAB IV

Adder adalah rangkaian untuk melakukan operasi aritmatika penjumlahan.


Pada bab ini akan dijelaskan 4 macam adder :
1. Half adder
Half adder adalah rangkaian adder yang hanya memiliki input untuk bilangan
yang ingin dijumlahkan, tanpa ada carry sebagai input. Tabel kebenaran dan
rangkaian half adder ditunjukkan pada gambar 4.14

Net 1 SUM

Net 2

CARRY

Gambar 4.14 Tabel kebenaran dan Rangkaian


Selain itu, dari table kebenaran dapat dilihat bahwa Sum memiliki logika kebenaran
yang sama dengan XOR, maka rangkaian pada gambar 4.15 dapat diganti dengan
gambar 4.16.

Gambar 4.15. Rangkaian Half Adder dengan XOR

2. Full Adder
Full adder adalah rangkaian adder yang memiliki input untuk bilangan yang
ingin dijumlahkan, carry input. Tabel kebenaran dan rangkaian full adder
ditunjukkan pada gambar 4.16
[Realisasi Rangkaian Kombinasional] BAB IV

\Cin \ B \ A
Cin B A
A

SUM
Cin

Cout

Gambar 4.16. Tabel Kebenaran dan Rangkaian


[Realisasi Rangkaian Kombinasional] BAB IV

Disederhanakan menjadi

Sehingga rangkaian full adder menjadi seperti yang ditunjukkan pada gambar 4.17

Gambar 4.17. Rangkaian Full Adder


Selain itu, 1-bit full adder juga dapat disusun dari 2 half adder seperti yang
ditunjukkan pada gambar 4.18.

Gambar 4.18. rangkaian Full Adder dari Half Adder


[Realisasi Rangkaian Kombinasional] BAB IV

4. Ripple Carry Adder dan Look Ahead Adder

Dari gambar 4.18 dimana 1-bit full adder dapat disusun dari 2 half adder,
maka full adder dapat disusun secara seri untuk membuat n-bit full adder, dimana
bit carry-out pada full adder sebelumnya menjadi input bit carry-in selanjutnya. Oleh
karena itu, konfigurasi n-bit full adder yang disusun dari beberapa 1-bit full adder
disebut Ripple-carry adder. Pada gambar 4.19 menujukkan blok diagram dari 4-bit
Ripple-carry adder, dimana berfungsi untuk menjumlahkan 4 bit yaitu X 4 X2 X1 X0
dengan Y4 Y2 Y1 Y0. Gambar 4.22 adalah rangkaian 16-bit riplle adder. Gambar 4.20
dan 4.21 menunjukkan look ahead carry. Pada look ahead adder carry digenerate
secara pararel

Gambar 4.19 Ripple Carry Adder

Gambar 4.20 Multi bit carry look ahead adder


[Realisasi Rangkaian Kombinasional] BAB IV

Gambar 4.21 look ahead adder


[Realisasi Rangkaian Kombinasional] BAB IV

Gambar 4.22 16 bit Ripple Adder

d. Subtractor (HS, FS)


Substractor adalah rangkaian untuk melakukan operasi aritmatika pengurangan.
Substractor juga bisa disusun dari adder dengan prinsipx bilangan pengurangan
diubah menjadi bernilai negative, seperti fungsi X – Y = X + (-Y). Konsep dari
substractor terlihat pada gambar 4.24. Pada bab ini akan dijelaskan 4 macam
substractor :
1. Half substractor
2. Full substractor
3. Ripple substractor

Half Substractor
Half substractor adalah rangkaian substractor yang hanya memiliki input
untuk bilangan yang ingin dikurangkan, tanpa ada borrow sebagai input. Tabel
[Realisasi Rangkaian Kombinasional] BAB IV

kebenaran dan rangkaian half substractor ditunjukkan pada gambar 4.24. Jika x ≥
y, maka ada 4 kemungkinan yakni 0 - 0 = 0, 1 - 0 = 1 dan 1 - 1 = 0. Jika x < y, maka
diperoleh nilai 0 - 1, dan harus memnjam borrow (Bo --> borrow out ) 1 pada
kondisi setelahnya. Half substractor membutuhkan 2 output, output pertama
adalah hasil dari pengurangan kedua input direpresentasikan sebagai nilai Di
(Difference). Output kedua adalah direpresentasikan sebagai nilai Bi (Borrow).

Gambar 2.24. Konsep substractor pada sistem digital

Nilai output Bi benilai 0 selama x ≥ y, dan bernilai 1 untuk x = 0 dan y = 1. dari tabel
kebenaran diperoleh persamaan sebagai berikut :

𝐷 = 𝑥 ′ 𝑦 + 𝑥𝑦′
𝐵 = 𝑥′𝑦

Full substractor
Full substractor adalah rangkaian substractor yang memiliki input untuk bilangan
yang ingin dikurangkan, dan borrow input. Tabel kebenaran dan rangkaian full
substractor ditunjukkan pada gambar 4.24 dan 4.25.
[Realisasi Rangkaian Kombinasional] BAB IV

Gambar 4.24 menunjukkan map Fungsi Boolean untuk kedua output dari full
substractor, menghasilkan nilai fungsi sebagai berikut :

𝐷𝑖 = 𝑥 ′ 𝑦 ′ 𝑧 + 𝑥 ′ 𝑦𝑧 ′ + 𝑥𝑦𝑧
𝐵𝑖 = 𝑥 ′ 𝑦 + 𝑥 ′ 𝑧 + 𝑦𝑧

Rangkaian full substractor terlihat pada gambar 4.26, Full substractor dapat
dibangun dengan 2 half substractor.

Gambar 4.24. Map karnaugh full substractor

Gambar 4.25. (a) contoh binary substraction, (b) Tabel kebenaran full substraction
[Realisasi Rangkaian Kombinasional] BAB IV

Ripple-carry substractor
Dari gambar 4.24(a) dimana 1-bit full substractor dapat disusun dari 2 half
substractor, maka full substractor dapat disusun secara seri untuk membuat n-bit
full substractor, dimana bit borrow-out pada full substractor sebelumnya menjadi
input bit borrow-in selanjutnya. Oleh karena itu, konfigurasi n-bit full substractor
yang disusun dari beberapa 1-bit full substractor disebut Ripple-carry substractor.
Pada gambar 4.27 menujukkan blok diagram dari 4-bit Ripple-carry substractor,
dimana berfungsi untuk mengurangkan 4 bit yaitu A4 A2 A1 A0 dengan B4 B2 B1 B0.

Gambar 4.25 (a) Binary substraction tables, (b) Tabel Kebenaran untuk half
substractor, (c) Blok untuk half substractor, (d) Rangkaian logika untuk half
substractor.

e. Multiplier
Multiplier adalah rangkaian untuk melakukan operasi aritmatika perkalian.
Seperti :
[Realisasi Rangkaian Kombinasional] BAB IV

Gambar 4.26. Full Substractor (a) Block symbol; (b) Full substractor yang dibangun
dari 2 half adder; (c) Diagram logika
[Realisasi Rangkaian Kombinasional] BAB IV

Pada perhitungan perkalian diatas, dapat dilihat masing-masing dikalikan


dengan operator AND, kemudian hasil perkalian dijumlah, namun terlebih dahulu
0000, 1011, dan 1011 digeser ke kiri terlebih dahulu dengan bantuan shifter register.
Cara lain yaitu dengan membuat table kebenaran untuk menemukan fungsi
perkalian.Contoh akan dibuat rangkaian perkalian 2-bit perkalian. Tabel kebenaran
untuk 2-bit perkalian A (A1,A0) dikali B (B1,B0), dan hasil perkalian P (P4,P2,P1,P0),
ditunjukkan pada table 4.4.
Dengan bantuan Kmap diperoleh fungsi untuk masing-masing perkaliannya
P0 = A0.B0
P1 = A1’.A0.B1 + A1.A0.B0’ + A1.B1’.B0 + A1.A0’.B0
P2 = A1.B1.B0’ + A1.A0’.B1
P4 = A1.A0.B1.B0

Gambar 4.27. Ripple-carry substractor


[Realisasi Rangkaian Kombinasional] BAB IV

f. Shifter combinational
Shifter combinational adalah rangkaian yang dapat menggeser nilai bit, baik
dari kiri ke kanan, maupun dari kanan ke kiri. Saat bergeser, bit terakhir akan
dibuang dan bit awal akan diisi dengan 0. Shifter kombinasional memiliki saklar
control untuk memilih arah penggeseran.
Tabel kebenaran untuk rangkaian 2-bit shifter, dan implementasi pada
rangkaiannya ditunjukkan pada gambar 4.28. S adalah sakalar control, dan D1, D0
adalah bit input. Apabila S bernilai 0, maka bit input akan digeser ke kiri, misalnya
dari 01 menjadi 10. Sebaliknya apabila S bernilai 1, maka bit input akan digeser ke
kanan, misalnya dari 10 menjadi 01. Gambar 4.29 untuk 4-bit shifter.
Pada gambar 4.40 menunjukkan rangkaian 8-bit Shifter kombinasional,
dengan 8-bit input (D0 - D7), 8-bit output (S0 - S7), dan 1-bit saklar control (C). Saat C
bernilai 1, maka rangkaian akan menggeser bit ke kanan, contoh dari 11111111
menjadi 0111111. Sebaliknya saat C bernilai 0, maka rangkaian akan menggeser bit
ke kiri, contoh dari 11111111 menjadi 11111110.

Table 4.4. Tabel kebenaran Multiplier 2 bit


[Realisasi Rangkaian Kombinasional] BAB IV

Gambar 4.28.Tabel Kebenaran shifter kombinasional

g. Kompator dan Desain komparator, VHDL


Komparator adalah rangkaian yang membandingkan 2 binary input A dan B,
dimana masing-masing bit inputnya dibandingkan apakah outputnya dapat
berupa A = B, A > B, atau A < B. Berdasarkan table kebenaran dan
disederhanakan dengan Kmap persamaan komparator untuk A (A0 A1 A2A4) dan B
(B0 B1 B2B4) adalah Dimana Xi = ai.bi + ai'.bi'
(A = B): X4.X2.X1.X0
(A > B): a4b4' + X4a2b2' + X4X2a1b1' + X4X2X1a0b0'
(A < B): a4'b4 + X4a2'b2 + X4X2a1'b1 + X4X2X1a0'b0

Gambar 4.29.4 bit shifter kombinasional


[Realisasi Rangkaian Kombinasional] BAB IV

Gambar 4.40. 4 bit shifter kombinasional

Persamaan tersebut diimplementasikan pada rangkaian seperti yang ditunjukkan


pada gambar 4.41.

Pada table kebenaran dapat dilihat rangkaian untuk A (A 0 A1 A2A4) = B (B0 B1 B2B4),
dapat diganti dengan XNOR. XNOR dapat digunakan untuk mengecek apakan nilai
dua bit tersebut sama atau tidak. Pada gambar 4.42 menunjukkan rangkaian
comparator 4-bit, yang membandingkan apakah A (A0 A1 A2A4) = B (B0 B1 B2B4).
[Realisasi Rangkaian Kombinasional] BAB IV

Gambar 4.41. Rangkaian Komparator

Gambar 4.42. Rangkaian comparator 4 bit


[Realisasi Rangkaian Kombinasional] BAB IV

Comparator dapat dibentuk dengan VHDL, berikut kode program VHDl untuk
komparator 1-bit:

library ieee;
use ieee.std_logic_1164.all;

entity comparator is
port(a : in std_logic;
b : in std_logic;
aequab : out std_logic);
end comparator;
architecture RTL of comparator is
begin
process
begin
if a = b then
aequab <= '1';
else
aequab <= '0';
end if;
end process;
end RTL;

untuk komparator 2 bit, terlihat pada code vhdl berikut :


Library ieee;
use ieee.Std_Logic_1164.All;

Entity Comparator is
Port( a,b : in Std_Logic_Vector(1 downto 0);
amoreb,alessb,aequab : out Std_Logic);
end Comparator;

Architecture RTL of Comparator is


begin
process
begin
if a = b then
aequab <= '1';
[Realisasi Rangkaian Kombinasional] BAB IV

amoreb <= '0';


alessb <= '0';
else
if a > b then
amoreb <= '1';
aequab <= '0';
alessb <= '0';
else
alessb <= '1';
aequab <= '0';
amoreb <= '0';
end if;
end if;
end process;
end RTL;

h. Multiplexer dan Demultiplexer


Multiplexer adalah suatu rangkaian dimana memiliki banyak input namun hanya
memiliki 1 output, dan ada saklar sebagai pemilih input untuk memilih input
mana yang akan diteruskan ke output. Secara umum ada 2n jalur input dan n
jalur selector. Cara kerjanya seperti system pada switch rel kereta api, dimana
memilih jalur kereta mana yang akan diteruskan menuju satu jalur rel kereta api,
seperti yang ditunjukkan pada gambar 4.44

Gambar 4.44. Ilustrasi multiplexer

Banyaknya saklar pemilih input bergantung pada jumlah input :


• 4 input mux  membutuhkan 2 saklar pemilih
• 8 input mux  membutuhkan 4 saklar pemilih
• N inputs  membutuhkan log2(N) saklar pemilih
[Realisasi Rangkaian Kombinasional] BAB IV

Contoh akan dibuat rangkaian multiplexer 2 input seperti ditunjukkan pada gambar
4.44

Gambar 4.44. Multiplexer

Table kebenaran multiplexer untuk 2 input, dengan 1 saklar pemilih ditunjukkan


pada table 4.5.
Tabel 4.5. Tabel Kebenaran Multiplexer

Dari table kebenaran tersebut diperoleh persamaan yang optimal multiplexer 2


input adalah Z = S’.A + S.B. Implemenrtasi pada desain rangkaian ditunjukkan pada
gambar 4.45.

Gambar 4.45 Rangkaian hasil logic function

Multiplexer 4 ke 1 terlihat pada gambar 4.46. Tiap inputnya terhubung dengan


gerbang AND. Tabel kebenaran multiplexer terlihat pada tabel 4.6.
[Realisasi Rangkaian Kombinasional] BAB IV

Tabel 4.6. Tabel Kebenaran Multiplexer dengan 2 Select Line


Input Output
S0 S1 D0 D1 D2 D4 X Ket
0 0 0 X X X 0 D0
0 0 1 X X X 1
0 1 X 0 X X 0 D1
0 1 X 1 X X 1
1 0 X X 0 X 0 D2
1 0 X X 1 X 1
1 1 X X X 0 0 D4
1 1 X X X 1 1

Tabel kebenaran multiplexer 2 input dan 4 bit wide (74x157), terlihat pada gambar
4.3.
Tabel 4.3 Tabel Kebenaran Multiplexer 2 input dan 4 bit wide

Gambar 4.46. (a) Logic Diagram (b) tabel Kebenaran (c) Block Diagram
[Realisasi Rangkaian Kombinasional] BAB IV

Contoh Soal :
Implementasikan fungsi berikut ini dengan multiplexer :
𝐹 𝐴, 𝐵, 𝐶, 𝐷 = (0,1,4,4,8,9,15)
Jawaban:
Karena terdapat 4 variabel maka dibutuhkan multiplexer dengan 4 jalur selector dan
8 input. Input A, B, C, D. Tabel kebenaran dan Implementasinya terlihat pada gambar
4.49.
Demultiplexer adalah rangkaian logika yang menerima satu input data dan
mendistribusikan input tersebut ke beberapa output yang tersedia. Seleksi data-data
input dilakukan oleh selector line, yang juga merupakan input dari demultiplekser
tersebut. Blok diagram sebuah demultiplexer ditunjukan oleh gambar 4.40. Tabel
kebenaran demultiplexer terlihat pada tabel 4.8.

Gambar 4.47. Block Diagram Mux


[Realisasi Rangkaian Kombinasional] BAB IV

Gambar 4.49. Rangkaian multiplexer 4 bit jalur 2 ke 1

Gambar 4.49. Implementasi 𝐹 𝐴, 𝐵, 𝐶, 𝐷 = (0,1,4,4,8,9,15)


[Realisasi Rangkaian Kombinasional] BAB IV

Gambar 4.40. Block Diagram Demultiplexer

Tabel 4.8. Tabel Kebenaran Demultiplexer 2 jalur selector


Input Output
S0 S1 Inp Oo O1 O2 O4
0 0 0 0 X X X
0 0 1 1 X X X
0 1 0 X 0 X X
0 1 1 X 1 X X
1 0 0 X X 0 X
1 0 1 X X 1 X
1 1 0 X X X 0
1 1 1 X X X 1

Hasil rangkaian demultiplexer dengan 2 selektor terlihat pada gambar 4.41.


[Realisasi Rangkaian Kombinasional] BAB IV

Gambar 4.41. Rangkaian demultiplexer 1 ke 4

h. Dekoder
Dekoder adlah rangkaian kombinasional yang mengubah (mengkonversikan)
informasi biner dari n jalur input kepada 2n jalur output. Blok Diagram dekoder
diberikan pada gambar 4.42. Beberapa rangkaian dekoder yang sering dijumpai
adalah dekoder 4 x 8 (4 bit input dan 8 bit output), dekoder 4 x 16, dekoder BCD to
Decimal (4 bit input dan 10 output line), dekoder BCD to 7 segment (4 bit input dan
8 output line). Sebagai contoh berikut adalah dekoder 4 ke 8, dimana 4 variabel
input menghasilkan 8 variabel output. Rangkaian terlihat pada gambar 4.44.

Gambar 4.42. Blok Diagram dekoder


[Realisasi Rangkaian Kombinasional] BAB IV

Gambar 4.44. Rangkaian Dekoder 4 ke 8

Untuk setiap kombinasi input, menghasilkan 7 jalur output yang bernilai 0,


dan hanya ada 1 output yang bernilai 1. Nilai output yang bernilai 1
merepresentasikan minterm dari binary number yang tersedia dalam jalur input.
Tabel 4.6. Tabel Kebenaran Dekoder 4 ke 8
[Realisasi Rangkaian Kombinasional] BAB IV

Beberapa dekoder juga dapat dibentuk melalui gerbang NAND. Dekoder ini
terdiri dari satu atau lebih jalur enable. Untuk mengontrol operasi pada rangkaian.
dekoder 2 ke 4 dengan enable input dibangun dengan gerbang NAND, rangkaian
beroperasi dengan output komplemen dan komplemen dari input enable. Dekoder
akan aktif ketika E bernilai 0 (active low - enable). Rangkaian dan tabel kebenaran
dekoder 2 ke 4 disajikan pada gambar 4.44.

Gambar 4.44. (a) logic diagram (b) tabel kebenaran dekoder 2 ke 4

i. Encoder
Encoder adalah rangkaian kombinasional yang menampilkan inversi dari
operasi dekoder, enkoder memiliki 2n (lebih sedikit) jalur input dan n jalur output,
hanya salah satu dari input-input tersebut yang diaktifkan pada waktu tertentu, yang
selanjutnya akan menghasilkan kode output N-bit. Blok diagram encoder terlihat
pada gambar 4.45.

Gambar 4.45. Blok Diagram Encoder


Enkoder dapat diimplementasikan dengan gerbang OR dimana input
ditentukan secara langsung dari tabel kebenaran. Operasi enkoder terlihat pada
fungsi logika berikut ini :
[Realisasi Rangkaian Kombinasional] BAB IV

𝑧 = 𝐷1 + 𝐷4 + 𝐷5 + 𝐷7
𝑦 = 𝐷2 + 𝐷4 + 𝐷6 + 𝐷7
𝑥 = 𝐷4 + 𝐷5 + 𝐷6 + 𝐷7

Tabel 4.8 Tabel Kebenaran octal to binary Encoder

Rangkaian digital dari encoder 8 ke 3 disajikan pada Gambar 4.46.

Gambar 4.46. Rangkaian Dekoder 8 ke 3

Priority Encoder
Sebuah Priority Encoder adalah rangkaian Encoder yang mempunyai fungsi
prioritas. Operasi dari rangkaian Priority Encoder adalah sebagai berikut : jika ada
dua atau lebih input bernilai "1" pada saat yang sama, maka input yang mempunyai
[Realisasi Rangkaian Kombinasional] BAB IV

prioritas tertinggi yang akan diambil. Tabel Kebenaran Priority Encoder diberikan
pada tabel 4.9. Kondisi "x" adalah kondisi dont care, yang menyatakan nilai input
bisa "1" dan "0". Input D3 mempunyai prioritas tertinggi, sehingga bila input ini
bernilai "1" maka output X dan Y keduanya akan bernilai "1" (11 menyatakan biner
dari 3). Input D2 mempunyai prioritas kedua, dengan output X dan Y bernilai 10
menyatakan biner 2, dimana input D2 = "1" dan D3 = "0". Input D1 adalah prioritas
ketiga dengan output X dan Y bernilai 01 menyatakan biner 1, dimana input D1 =
"1", sedangkan D2 = D3 = "0". Prioritas terendah adalah input D0, yang akan
memberikan output X dan Y = 00 (menyatakan biner 0), jika input D1 bernilai "1",
sedang ketiga input lainnya bernilai "0". Map Karnaugh dari priority encoder terlihat
pada gambar 4.47.

Tabel 4.9. Tabel Kebenaran Priority Encoder

Dari Tabel Kebenaran dapat dibuat K-Map seperti gambar 4.47 untuk masing-masing
output X, Y, dan V (V adalah nilai output Validitas, yang akan bernilai "1" jika satu
atau lebih inputnya bernilai "1" dan bernilai "0" jika tidak ada inputnya yang bernilai
"1").
Persamaan boolean dari fungsi logika pada tabel kebenaran (tabel 4.9)
adalah sebagai berikut :
𝑥 = 𝐷2 + 𝐷3
𝑦 = 𝐷3 + 𝐷1 𝐷2′
𝑉 = 𝐷0 + 𝐷1 + 𝐷2 + 𝐷3
[Realisasi Rangkaian Kombinasional] BAB IV

Gambar 4.47. Map Karnaugh priority encoder

sehingga rangakaian priority encoder disajikan pada gambar 4.48.

Gambar 4.48. Rangkaian Priority Encoder

j. Realisasi Rangkaian dengan dekoder


Rangkaian dasar dekoder 2 ke 4 ditunjukkan pada Gambar 4.49. Pada
rangkaian lersebut dapat diperhatikan bagian keluaran yang aktif tergantung
dengan konfigurasi masukan yang dibenkan pada masukan 11 dan 10, misal
dengan dibenkan masukan '0' pada II dan 10 maka inverter akan membenkan nilai '
1' pada gerbang AND yang terhubung dengan OO selnngga OO aktif. Dengan suatu
konfigurasi masukan decoder tanpa pembahk akan mengaktifkan salah satu ujung
keluaranma saja. sehmgga dengan menghubungkan beberapa keluaran dengan
[Realisasi Rangkaian Kombinasional] BAB IV

sebuah gerbang OR akan sama artinya dengan memihh sederetaii konfigurasi yang
di benkan pada masukannya dan berarti juga bahwa keluaran 1 adalah suatu fungsi
mmterm dengan variable [M_A , M_B dan M_C. Misalnya implementasi fungsi
mmterm F=( 0, 2. 3, 5 ).

Gambar 4.49. Realisasi rangkaian dekoder 2 ke 4 menggunakan gerbang AND


Sedangkan implementasi decoder sebagai generator fungsi maxterm dapat dibuat
menggunakan sebuah decoder dengan pembalik yang akan mengaktifkan semua
keluaranya kecuali keluaran yang sesuai dengan konfigurasi masukan Misalnya
implementasi dekoder sebagai generator fungsi maxterm F= (3,4,5,6.7) ditunjukkan
pada Gambar 4.50.

Gambar 4.50. Generator fungsi maxterm menggunakan dekoder

k. Realisasi Rangkaian dengan Multiplexer


[Realisasi Rangkaian Kombinasional] BAB IV

Kasus I
Implementasikan fungsi minterm F= ∑XYZ(0, 3, 5, 6) menggunakan MUX 8 KE
1 Jika F adalah fungsi minterm maka F=1 pada fungsi-fungsi F=-X-Y-Z atau F=~XYZ
atau F=X-YZ atau F=XY-Z, jadi untuk mengirnplementasikan fungsi mi sebuah MUX
8 KE 1 dapat di rangkai seperti pada Gambar 4.51.

Gambar 4.51. Implementasi Rangkaian MUX 8 ke 1 pada kasus 1


Kasus 2
Untuk tungsi maxterm F= ∑ XYZ (0, 3. 5. 6). F=0 hanya jika F= -X~Y~Z atau F
= -XY7 atau F=X~YZ atau F=XY~X. jadi untuk mengimplementasikan fungsi ini sebuah
MUX 8 ke 1 dapat di rangkai seperti pada Gambar 4.52.

Gambar 4.52. Implementasi Rangkaian MUX 8 ke 1


[Realisasi Rangkaian Kombinasional] BAB IV

Kasus 3
Implementasikan fungsi minterm F=∑ (0, 3, 5, 6) dengan sebuah MUX 4 ke 1.
Dengan menggunakan aljabar Boolean secara langsung dapat di lakukan dengan
cara memilih sinyal kendali. dalam hal ini nilai teilinggi Fungsi adalah 6 sehingga
MUX yang tepat adalah MUX 8 Ke 1 yang memiliki 3 sinyal kendali misalnya X, Y
dan Z, dan fungsi F = X-Y-Z + -XYX + X-YZ + XY~Z , dapat langsung di
Implementasikan, sedangkan dengan menggunakan MUX 4 KE 1 maka dua sinyal
pemilih harus ditentukan dari ketiga sinyal tersebut, misalkan dipilih dua hagian
MSB yaitu X dan Y . sehingga fungsi dapat ditulis ulang sebagai berikut:

F=~X~Y(~Z)+ ~X Y( Z )+ X~Y( Z )+ X Y(~Z)

Cara lain dapat dilakukan dengan menggunakan label reduksi terlihat di Tabel 4.12.
Tabel 4.12. Tabel Reduksi
X Y Z F
0 0 0 0 1 NOT_Z
1 0 0 1 0
2 0 1 0 0 NOT_Z
3 0 1 1 1
4 1 0 0 0 NOT_Z
5 1 0 1 1
6 1 1 0 1 NOT_Z
7 1 1 1 0

Gambar 4.53. Rangkaian implementasi MUX 4 ke 1 pada kasus 3


[Realisasi Rangkaian Kombinasional] BAB IV

Kasus 4
Implememasikan fungsi minterm F = ∑(0,1,2,3,5,7) dengan sebuah MUX 8 ke 1. Pada
kasus ini fungsi tidak dapat secara langsung diimplementasikan menggunakan
MUX 8 KE 1 karena rentang masukannva tidak mencukupi. sehingga dibutuhkan
tabel reduksi masukan seperti yang dltunjukkan pada Tabel 4.13.

Tabel 4.13. Tabel Reduksi masukan


W X Y Z F
0 0 0 0 0 1 1
1 0 0 0 1 1
2 0 0 1 0 1 1
3 0 0 1 1 1
4 0 1 0 0 0 Z
5 0 1 0 1 1
6 0 1 1 0 0 Z
7 0 1 1 1 1
8 1 0 0 0 0 0
9 1 0 0 1 0
10 1 0 1 0 0 Z
11 1 0 1 1 1
12 1 1 0 0 0 Z
13 1 1 0 1 1
14 1 1 1 0 0 0
15 1 1 1 1 0
Berdasarkan Tabel 4.13 maka dapat dibuat rangkaian MUX 8 ke 1 untuk
mengimplementasikan fungsi F seperti ditunjukkan pada gambar 4.54.

Gambar 4.54. Rangkaian implementasi MUX 8 ke 1 pada kasus 4


[Realisasi Rangkaian Kombinasional] BAB IV

KASUS 5

Implementasikan fungsi minterm F = ∑ (3,4,5,6,7,11,15) dengan


menggunakan MUX 16 KE I pada kasus ini rentang masukan MUX mencukupi
sehingga dapat langsung digunakan. Pada fungsi ini F=1 hanya jika F = ∑ WXYZ
(3,4,5,6,7,11,15) Sehingga rangkaian dan fungsi dapat di buat seperti pada Gambar
4.55.

Gambar 4.55. Implementasi rangkaian MUX 8 16 ke 1 pada kasus 5


Kasus 6a
Implementasikan Fungsi minterm F=∑ABCD (3. 4. 5. 6, 7. 11, 15) dalam MUX
8 ke 1, kerena rentang raasukan MUX tidak mencukupi maka harus dilakukan
reduksi seperti pada Tabel 4.14.
Tabel 4.14. tabel Reduksi Masukan
A B C D F Dec
0 0 0 0 0 0 0 0
1 0 0 0 1 0
1 2 0 0 1 0 0 D
3 0 0 1 1 1
2 4 0 1 0 0 1 1
5 0 1 0 1 1
3 6 0 1 1 0 1 1
7 0 1 1 1 1
[Realisasi Rangkaian Kombinasional] BAB IV

Tabel 4.14. tabel Reduksi Masukan (Lanjutan)


A B C D F Dec
4 8 1 0 0 0 0 0
9 1 0 0 1 0
5 10 1 0 1 0 0 0
11 1 0 1 1 1
6 12 1 1 0 0 0 0
13 1 1 0 1 1
7 14 1 1 1 0 0 D
15 1 1 1 1 0

Dari tabel reduksi tersebut diperoleh rangkaian implementasi fungsi seperti pada
gambar 4.56.

Gambar 4.56. Rangkaian implementasi MUX ke 1 pada kasus 6

Kasus 6b
Implementasikan fungsi minterm = ∑ABCD(3,4,5,6,7,11,15) dalam MUX 8 ke
1 menggunakan teknik 2 MUX 8 ke 1 dengan Enable. Perhatikan table 4.15
Tabel 4.15. Tabel Reduksi Masukan MUX 8 ke 1
A B C D F
0 0 0 0 0 0
1 0 0 0 1 0
2 0 0 1 0 0
3 0 0 1 1 1
4 0 1 0 0 1
5 0 1 0 1 1
6 0 1 1 0 1
7 0 1 1 1 1
[Realisasi Rangkaian Kombinasional] BAB IV

Tabel 4.15. tabel Reduksi Masukan (Lanjutan)


A B C D F
0 1 0 0 0 0
1 1 0 0 1 0
2 1 0 1 0 0
3 1 0 1 1 1
4 1 1 0 0 0
5 1 1 0 1 0
6 1 1 1 0 0
7 1 1 1 1 1

Pada tabel 4.15. "A" sebagai MSB dapat digunakan sebagai pemilih salah satu
dari kedua MUX 8 ke 1 yang dengan menghubungkannya dengan masukan EN
(enable), karena harus salah satu yang bekerja maka ditambahkan inverting seperti
pada gambar 4.57. dengan masukan terinversi adalah MUX 8 ke 1 untuk menerima
masukan 4 bit.

Gambar 4.57. Rangkaian implementasi 2 MUX 8 ke 1 pada kasus 6b

Kasus 7a
Implementasikan fungsi minterm F = ∑(3, 4, 5, 6, 7, 11, 15) dalam MUX 4 ke 1
dengan teknik dekomposisi. Masukan dan keluaran fungsi terlihat pada tabel 4.16,
[Realisasi Rangkaian Kombinasional] BAB IV

Tabel 4.16. Tabel Kebenaran FUNGSI Asli (kiri) dan reduksi Dekomposisi I (kanan)

A B C D F Reduksi A B C D F Dec
0 0 0 0 0 0 0 0 0 0 0 0 1 0
1 0 0 0 1 0 1 0 0 0 1 1
2 0 0 1 0 0 1 2 0 0 1 0 1 D
3 0 0 1 1 1 3 0 0 1 1 1
4 0 1 0 0 1 2 4 0 1 0 0 0 1
5 0 1 0 1 1 5 0 1 0 1 1
6 0 1 1 0 1 3 6 0 1 1 0 0 1
7 0 1 1 1 1 7 0 1 1 1 1
8 1 0 0 0 0 4 8 1 0 0 0 0 0
9 1 0 0 1 0 9 1 0 0 1 0
10 1 0 1 0 0 5 10 1 0 1 0 0 0
11 1 0 1 1 1 11 1 0 1 1 1
12 1 1 0 0 0 6 12 1 1 0 0 0 0
13 1 1 0 1 1 13 1 1 0 1 1
14 1 1 1 0 0 7 14 1 1 1 0 0 D
15 1 1 1 1 1 15 1 1 1 1 0

Setelah dilakukan reduksi dekomposisi ke mUX 8 ke 1 maka selanjutnya dapat


dilakukan reduksi ke MUX 4 ke 1 seperti ditunjukkan pada Tabel 4.17.
Tabel 4.17.
Tabel Kebenaran Fungsi Dekomposisi II

Reduksi A B C F Dec
0 0 0 0 0 0 CD
1 0 0 1 D
1 2 0 1 0 1 1
3 0 1 1 1
2 4 1 0 0 0 CD
5 1 0 1 D
3 6 1 1 0 0 CD
7 1 1 1 D
Dari tabel 4.17 dapat diformasi masukan fungsi untuk MUX 4 ke 1 sehingga
selanjutnya dapat dilakukan implementasi fungsi menggunakan MUX 4 ke 1 seperti
ditunjukkan pada Gambar 4.58.
[Realisasi Rangkaian Kombinasional] BAB IV

Gambar 4.58. Rangkaian implementassi MUX 4 ke 1 pada kasus 7a

Kasus 7b
Implementasikan fungsi minterm F = ∑ (3,4,5,6,7,11,15) dalam MUX 4 ke 1. Secara
cepat fungsi tersebut dapat diimplementasikan menggunakan MUX 16 ke 1 jadi
dengan MUX 4 ke 1. Masukan harus direduksi dengan cara dibagi 4 seperti
ditunjukkan pada tabel 4.18.
Tabel. 4.18. Tabel Reduksi fungsi kasus 7b
A B C D F
0 0 0 0 0 0
1 0 0 0 1 0
2 0 0 1 0 0
3 0 0 1 1 1
4 0 1 0 0 1
5 0 1 0 1 1
6 0 1 1 0 1
7 0 1 1 1 1
8 1 0 0 0 0
9 1 0 0 1 0
10 1 0 1 0 0
11 1 0 1 1 1
12 1 1 0 0 0
13 1 1 0 1 0
14 1 1 1 0 0
15 1 1 1 1 1

Dari tabel 4.18. Masukan telah direduksi untuk dibagi menjadi empat agar
mencukupi untuk diimplementasikan menggunakan MUX 4 ke 1, hasil implementasi
seperti ditunjukkan pada Gambar 4.59.
[Realisasi Rangkaian Kombinasional] BAB IV

Gambar 4.59. Rangkaian Implementasi MUX 4 ke 1 pada kasus 7b

l. Memory (ALU, RAM, ROM)


l.1 ALU (Alogaritmik Logic Unit)
Logika aritmatika unit (ALU) adalah rangkaian digital yang melakukan
aritmatika dan logis operasi. ALU adalah sebuah blok fundamental dari central
processing unit (CPU) untuk melaksanakan operasi aritmatika dan operasi logika,
bahkan mikroprosesor yang paling sederhana mengandung ALU yang digunakan
sebagai timer. Gambar 4.60 menunjukkan blok diagram ALU.

Gambar 4.60. Blok Diagram ALU


[Realisasi Rangkaian Kombinasional] BAB IV

ALU dapat bekerja secara langsung melalui Control Unit, ALU melakukan operasi
seperti ADD, SUB, NOT, OR, AND, dan XOR. Data diinputkan dari dan dikeluarkan ke
array register. Sinyal kontrol dari control unit menentukan tipe operasi yang
ditampilkan. Input data terdiri dari 2 operand yakni operand A dan operand B yang
dimasukkan ke register dan memiliki n bit data. Data output terdiri dari S. ALU juga
menghasilkan ooutput sinyal status seperti :
a. Zero (ketika hasil operasi = 0)
b. Negative (ketika hasil operasi < 0)
c. Carry (ketika operasi hasilnya adalah carry)
d. Overflow (Ketika hasilnya adalah sejumlah bit yang dialokasikan dalam media
penyimpan).
Beberapa contoh operasi pada ALU :
A. Ripple Carry Adder (RCA)
[Realisasi Rangkaian Kombinasional] BAB IV

Minimalisasi sel dan implementasi RCA :


Tabel 4.19 menunjukkan tabel kebenaran dari RCA. Map Karnaugh
dari RCA dijelaksna sehingga menghasilkan persamaan boolean.

Tabel 4.19. Tabel Kebenaran RCA


[Realisasi Rangkaian Kombinasional] BAB IV

B. Accumulator
Banyak perhitungan yang terdiri dari pengulangan penambahan
dan pengurangan yang ditampilkan hasilnya pada operasi sebelumnya.
Accumulator didedikasikan bagi register, yang digunakan untuk
menampilkan operasi perulangan ini seperti pada gambar .

Gambar 4.61. Blok Diagram Alogaritmik Logic Unit


[Realisasi Rangkaian Kombinasional] BAB IV

C. Multiplication
C.1. Binary Multiplication
Metode :
 Perkalian dapat ditampilkan melalui multiplier unit sebagai
rangkaian kombinational, dengan multiplicand dan bit multiplier
sebagai input dan bit sebagai output.
Tabel 4.20. tabel kebenaran Binary Multiplication

Dari tabel tersebut dapat dibentuk map karnaughnya,


B1B0 00 01 11 10
A1A0
00 0 0 0 0
01 0 1 1 0
11 0 1 1 0
10 0 0 0 0

Sehingga dihasilkan P0 = A0B0


[Realisasi Rangkaian Kombinasional] BAB IV

C2. Add & Shift Multiplication


 Multiplication ditampillkan oleh computer dengan perulangan
penambahan
 Prinsipnya berdasarkan metode “pencil dan kertas” menyiapkan
komputasi per bagian dan menggesernya sebelum ditambahkan
untuk menghitung hasil akhirnya.
Contoh :
 Perkalian positif number
 1510 . 1310 = 11112 . 11012

Hasil verifikasinya adalah 110000112 = 19510


Hal ini dapat dilakukan pula dengan metode lain, yakni


[Realisasi Rangkaian Kombinasional] BAB IV

C.4. Multiplication Negative Number


 Bit tanda yang menggambarkan bilangan positif dan negatif
adalah
 0 - positif number
 1 – negatif number
 Product magnitude adalah hasil dari magnitude dari multiplicand
dan multiplier.
 Implementasi

Tanda untuk product Psb adalah :


 Positif jika tanda dari multiplier (Xsb) dan multiplicand (Ysb)
adalah sama
 Negatif jika tandanya berbeda
C.5. Algoritma Booth untuk perkalian (2 komplemen)
Algoritmanya :
1. Inisialisasi hasil register dengan 0, hal ini akan memasukkan
keduanya baik partiaal product dan hasil akhir
2. Jika bit multiplier yang diujicobakan adalah “10” dikurangi dengan
multiplicand dari product partial.
3. Jika bit multiplier yang diujikan adalah “01”, menambahkan
multiplicand dari partial product.
4. Jika bit multiplier yang diujikan adalah “00” atau “11”, maka do
nothing.
5. Secara aritmetika GESER KANAN pada partial product
6. Penggunaan bit set yang berdekatan dari sebuah multiplier.
7. Jika masih ada bit multiplier yang akan digunakan akan
dilanjutkan pada langkah (b).
Contoh :
1110 ∗ −310 = 010112 ∗ 111012
[Realisasi Rangkaian Kombinasional] BAB IV

Hasil verifikasi : 11110111112 = -3310

C.5. Pembagian
Algoritma pembagian, adalah :
a) Inisialisasi hasil register (Accumulator - A) dengan 0, hal ini akan
memasukkan keduanya baik remainder dan hasil setelah
pembagian.
b) Mengcopy hasil pembagi pada least significant bagian A
c) Jika hasil dari the most significant part (AH) lebih besar atau sama
dengan pembagi, kurangkan divisor dari AH dan menset hasil
selanjutnya dengan bit = 1.
d) Jika hasil dari the most significant part (AH) lebih besar atau sama
dengan pembagi, jangan lakukan apapun dan menset hasil
selanjutnya dengan bit = 0.
[Realisasi Rangkaian Kombinasional] BAB IV

e) Geser ke kanan hasilnya, mengenalkan posisi least significant bit


yang ditentukan.
f) Jika algoritma yang ditentukan, lebih sedikit jumlah bitnya maka
pembaginya, algoritma akan kembali ke langkah b.
Contoh :
 3510/710 = 1000112/0001112
Yang dibagi (A) = 100011 (3510)
Pembagi (B) = 000111 (710)

Hasilnya = 000101 (510)


Pengingatnya = 000000 (010)
[Realisasi Rangkaian Kombinasional] BAB IV

I.2 ROM (Read Only Memory)


Read-Only Memory (ROM) pada dasarnya adalah sebuah perangkat memori
di mana informasi biner secara permanen disimpan. Informasi biner harus
ditentukan oleh perancang dankemudian tertanam di unit untuk membentuk pola
interkoneksi yang diperlukan.
Sebuah diagram blok ROM terdiri dari k input dan n output ditunjukkan pada
Gambar. 4.61. Masukan memberikan alamat untuk memori, dan output
memberikan data bit disimpan dari kata yang dipilih oleh alamat. Jumlah word
dalam ROM ditentukan dari fakta bahwa k jalur alamat input dibutuhkan untuk
menspesifikasi 2𝑘 𝑤𝑜𝑟𝑑. ROM tidak memiliki input data, karena tidak memiliki
operasi menulis. Sirkuit terpadu ROM chip memiliki satu atau lebih input dan
kadang-kadang datang dengan tiga keadaan output untuk memfasilitasi
pembangunan array besar ROM.

Gambar 4.61. Blok Diagram ROM

Perhatikan, misalnya, 32 * 8 ROM. Unit ini terdiri dari 32 word dari 8 bit
masing-masing. Ada lima jalur input yang membentuk bilangan biner dari 0 sampai
31 untuk alamat. Gambar 4.61 menunjukkan konstruksi logika internal ROM ini.
Kelima input yang diterjemahkan ke dalam 32 output yang berbeda dengan cara 5 x
32 decoder. Setiap output dari decoder merupakan alamat memori. 32 output dari
decoder yang terhubung ke masing masing dari delapan gerbang OR. Diagram
menunjukkan logika konvensi array yang digunakan dalam rangkaian kompleks.
Setiap gerbang OR memiliki memiliki 32 input. masing-masing output decoder yang
terhubung ke salah satu masukan dari masing-masing gerbang OR. Karena setiap OR
gerbang memiliki 32 koneksi input dan ada 8 gerbang OR, ROM berisi 32 x 8 = 256
koneksi internal. Secara umum, 2𝑘 𝑥 𝑛 ROM memiliki k x 2𝑘 .
Penyimpanan biner internal ROM ditentukan oleh tabel kebenaran yang
menunjukkan isi kata dalam setiap alamat. Sebagai contoh, isi 32 x 8 ROM mungkin
ditentukan dengan tabel kebenaran yang sama dengan yang ditunjukkan pada Tabel
[Realisasi Rangkaian Kombinasional] BAB IV

4.21. Tabel kebenaran menunjukkan lima input di mana tercantum 32 alamat. Setiap
alamat menyimpan kata 8 bit, yang tercantum dalam output kolom. Tabel tersebut
menunjukkan hanya empat pertama dan empat kata terakhir dalam ROM. Tabel
4.21 lengkap harus menyertakan daftar semua 32 kata.
Sebagai contoh, pemrograman ROM sesuai dengan tabel kebenaran
diberikan oleh Tabel 4.21, hasil konfigurasi ditunjukkan pada Gambar. 4.62. Setiap
nilai 0 tercantum dalam tabel kebenaran menentukan adanya sambungan, dan
setiap 1 yang terdaftar menentukan jalan yang diperoleh oleh koneksi. Sebagai
contoh, tabel menentukan word data delapan bit 10110010 untuk penyimpanan
permanen di alamat 3. Keempat nilai 0 dalam word diprogram dengan
menggabungkan antara output 3 dari decoder dan masukan dari gerbang OR terkait
dengan output A6 , A3 , A2 , Dan A0 . Keempat 1 di kata ditandai dengan x untuk
menunjukkan koneksi sementara, di tempat titik digunakan untuk koneksi permanen
dalam diagram logika. Ketika masukan dari ROM adalah 00011, semua output dari
decoder adalah 0 kecuali untuk output 3, yang pada logika 1. Sinyal setara dengan
logika 1 pada output decoder 3 menyebar melalui koneksi ke gerbang OR output A7
, A5 , A4 , dan A1. Itu output empat lainnya tetap di 0. Hasilnya word disimpan
10110010 diterapkan untuk output data yang delapan. Setiap gerbang OR memiliki
2𝑘 input, yang terhubung ke masing-masing output decoder.

Gambar 4.62. Internal Logic 32 x 8 ROM


[Realisasi Rangkaian Kombinasional] BAB IV

Tabel 7.3 ROM Truth Tabel


Input Output
𝑰𝟒 𝑰𝟑 𝑰𝟐 𝑰𝟏 𝑰𝟎 𝑨𝟕 𝑨𝟔 𝑨𝟓 𝑨𝟒 𝑨𝟑 𝑨𝟐 𝑨𝟏 𝑨𝟎
0 0 0 0 0 1 0 1 1 0 1 1 0
0 0 0 0 1 0 0 0 1 1 1 0 1
0 0 0 1 0 1 1 0 0 0 1 0 1
0 0 0 1 1 1 0 1 1 0 0 1 0
1 1 1 0 0 0 0 0 0 1 0 0 1
1 1 1 0 1 1 1 1 0 0 0 1 0
1 1 1 1 0 0 1 0 0 1 0 1 0
1 1 1 1 1 0 0 1 1 0 0 1 1

Implementasi Rangkaian Kombinasional

Operasi internal ROM dapat ditafsirkan dalam dua cara. Pertama interpretasi
dari sebuah unit memori yang berisi pola tetap word yang tersimpan. Kedua
interpretasi bahwa unit yang mengimplementasikan rangkaian kombinasional. Pada
cara pandang ini, masing masing terminal output dipertimbangkan secara terpisah
sebagai output dari Fungsi Boolean dinyatakan sebagai jumlah dari minterm.
Sebagai contoh, ROM Gambar. 7.10 adalah rangkaian kombinasional dengan
delapan output, masing-masing fungsi dari lima variabel masukan. Output A7 dapat
dinyatakan dalam jumlah minterm berikut ini :

𝐴7 𝐼4 , 𝐼3 , 𝐼2 , 𝐼1 , 𝐼0 = (0, 2, 3, … ,29)

Hubungan ditandai dengan x pada gambar menghasilkan minterm untuk


penjumlahan. Semua crosspoint tidak terhubung dan tidak termasuk dalam
penjumlahan. Dalam prakteknya, ketika rangkaian kombinasional dirancang dengan
cara ROM, tidak diperlukan merancang logika atau untuk menunjukkan koneksi
gerbang internal didalam unit.
Langkah pertama adalah untuk mendapatkan tabel kebenaran dari rangkaian
kombinasional. Tabel 4.22 adalah tabel kebenaran untuk sirkuit kombinasional. Tiga
input dan enam output diperlukan untuk mengakomodasi semua bilangan biner
yang mungkin. Output 𝐵0 selalu sama dengan masukan A0 , Jadi tidak perlu untuk
[Realisasi Rangkaian Kombinasional] BAB IV

menghasilkan 𝐵0 dengan ROM, karena itu sama dengan variabel masukan. Selain
itu, Output 𝐵1 selalu 0, sehingga output ini adalah sebuah konstanta yang dikenal.
Kami benar-benar perlu untuk menghasilkan hanya empat output dengan ROM, dua
lainnya dapat segera diperoleh. Ukuran minimum ROM diperlukan harus memiliki
tiga input dan empat output. Tiga input menentukan delapan word, jadi ROM
memiliki ukuran 8 x 4. Implementasi ROM ditunjukkan pada Gambar. 7.11. Tiga
input menentukan delapan word dari empat bit masing-masing. Tabel kebenaran di
Gambar. 4.63 (b) menentukan informasi yang diperlukan untuk pemrograman ROM.
Blok diagram Gambar. 4.63 (a) menunjukkan koneksi yang diperlukan pada
rangkaian kombinasional.
Tabel 7.22 Tabel Kebenaran Rangkaian
Input Output Decimal
𝐴2 𝐴1 𝐴0 𝐵5 𝐵4 𝐵3 𝐵2 𝐵1 𝐵0
0 0 0 0 0 0 0 0 0 0
0 0 1 0 0 0 0 0 1 1
0 1 0 0 0 0 1 0 0 4
0 1 1 0 0 1 0 0 1 9
1 0 0 0 1 0 0 0 0 16
1 0 1 0 1 1 0 0 1 25
1 1 0 1 0 0 1 0 0 36
1 1 1 1 1 0 0 0 1 49

Gambar 4.63. (a) Block Digram (b)tabel kebenaran ROM Implementasi ROM
[Realisasi Rangkaian Kombinasional] BAB IV

Jenis ROM
Jalur diperlukan dalam ROM dapat diprogram dalam empat cara yang
berbeda. Cara pemograman pada ROM adalah sebagai berikut :
1. Mask Programming. Tabel kebenaran dapat disampaikan dalam bentuk
khusus yang disediakan oleh produsen atau format yang ditentukan pada
media output komputer. Pabrik membuat mask yang berkorespondensi
pada tiap bagian untuk memproduksi nilai 0 dan 1.
2. Pro-grammable Read-Only Memory, atau PROM. unit PROM berisi semua
sekering, memberikan semua nilai 1 dalam bit word yang tersimpan.
Sekering di PROM ditiup oleh penerapan sebuah pulsa tegangan tinggi ke
perangkat melalui pin khusus. Prosedur hardware untuk programmable
ROM atau PROM tidak dapat diubah, dan sekali diprogram, pola tetap
bersifat permanen dan tidak dapat diubah. Setelah pola bit telah ditetapkan,
unit harus dibuang jika pola bit yang akan diubah.
3. Erasable PROM, atau EPROM, yang dapat direstrukturisasi dari keadaan
awal meskipun telah diprogram sebelumnya. Ketika EPROM ditempatkan di
bawah sinar ultraviolet khusus untuk panjang waktu tertentu, radiasi
gelombang pendek pembuangan gerbang mengambang internal yang
berfungsi sebagai koneksi diprogram. Setelah penghapusan, EPROM kembali
ke keadaan awal dan dapat diprogram kembali untuk satu set nilai baru.

Electrically Erasable PROM (EEPROM atau E2PROM). Perangkat ini seperti EPROM,
kecuali bahwa koneksi diprogram sebelumnya bisa terhapus dengan sinyal listrik
bukan sinar ultraviolet. Keuntungannya adalah bahwa perangkat dapat dihapus
tanpa menghapusnya dari soketnya. Perangkat memori flash mirip dengan
EEPROMs, tetapi memiliki tambahan built-in sirkuit untuk selektif memprogram dan
menghapus perangkat di sirkuit, tanpa perlu khusus programmer.

m. PAL
PAL disebut pula sebagai programmable gate array. PAL memproduksi jalur
memori monolitik yang dikarakteristikkan dengan 8 hingga 16 input, tersedia secara
internal dalam bentuk asli dan komplemennya yakni 2 sampai 8 output dengan
variasi jumlah product term. PAL berbeda dari PLA pada jumlah output yang
ditetapkan. Sejumlah PAL tersedia dengan feedback dan output yang diregisterkan.
Gambar 4.64. adalah PAL dengan 2 buah MUX 1 ke 8 dan 5 buah gerbang NOR.
[Realisasi Rangkaian Kombinasional] BAB IV

Gambar 4.64. Implementasi 6 Variabel dengan PAL


[Realisasi Rangkaian Kombinasional] BAB IV

Soal mux
[Realisasi Rangkaian Kombinasional] BAB IV
[Realisasi Rangkaian Kombinasional] BAB IV

Demux

b. K
c.
[Realisasi Rangkaian Kombinasional] BAB IV

Tambahan
1. A symbol is a graphical model of the input and output pins
A schematic is a functional model of how outputs are related to input values
2. Detecting all 0s, Use NOR
Detecting equality, Use XNOR

Detecting odd # of 1s, Use XOR, Useful for generating “parity” bit common
for detecting errors

Lj’a
I nvert er

AND

OR
[Realisasi Rangkaian Kombinasional] BAB IV

Anda mungkin juga menyukai