Anda di halaman 1dari 19

Elektronika Digital

BAB IV
LOGIKA KOMBINASIONAL
Alokasi Waktu : 15 x 45 menit

Tujuan Instruksional Khusus :

1. Mahasiswa dapat menjelaskan rangkaian logika kombinasi seperti : Adders, Substractor,


Decoder, Encoder, Multiplexer, dan Demultiplexer.
2. Mahasiswa dapat menjelaskan ROM.
3. Mahasiswa dapat menjelaskan PLA.

4.1. PENDAHULUAN
Rangkaian logika untuk sistem digital ada dua jenis, yaitu : kombinasional
(combinational) dan berurutan/rentetan (sequential). Rangkaian digital Kombinasional,
yang keluarannya adalah fungsi dari masukan, digambarkan dengan satu atau satu set
fungsi-penyambungan. Sedangkan rangkaian digital berurutan/rentetan, yang
keluarannya adalah fungsi dari masukan dan keadaan (state) dari elemen pengingat
(memory element), digambarkan dengan mesin rentetan. Rangkaian digital rentetan,
yang merupakan perluasan dari rangkaian digital kombinasional akan dibahas pada bab
berikutnya.
Rangkaian kombinasional terdiri dari variabel input, gerbang logika (logic gates), dan
variabel output. Gerbang logika tersebut menerima sinyal dari input dan menghasilkan
sinyal ke output-nya. Proses ini mengubah informasi biner dari data input yang
diberikan ke data output yang dibutuhkan.
Diagram blok dari rangkaian kombinasional ditunjukkan pada Gambar 4.1 n Variabel
biner input berasal dari sumber eksternal; m variabel output dihubungkan ke tujuan
eksternal.
Untuk n variabel input, ada sejumlah 2n kemungkinan kombinasi dari nilai input
binernya. Untuk setiap kemungkinan kombinasi input, ada satu dan hanya satu
kemungkinan kombinasi output.

Rangkaian
n variabel m variabel
Logika
input output
Kombinasional

Gambar 4.1 Diagram blok rangkaian kombinasional

63
Elektronika Digital

4.2. PROSEDUR PERANCANGAN


Perancangan rangkaian kombinasional dimulai dari garis besar permasalahan dan
berakhir dalam diagram rangkaian logika, atau himpunan fungsi Boole yang mana dari
fungsi tersebut diagram logika dapat dengan mudah didapatkan. Prosedur tersebut
meliputi tahap-tahap berikut :
1. Tentukan permasalahannya
2. Tentukan jumlah variabel input yang sesuai dan variabel output yang dibutuhkan.
3. Tentukan simbol huruf untuk variabel input dan output.
4. Dapatkan tabel kebenaran yang mendefinisikan hubungan yang dibutuhkan antara
input dan output.
5. Dapatkan hasil sederhana dari fungsi Boole untuk masing-masing output
6. Gambarlah diagram logikanya
Tabel kebenaran untuk rangkaian kombinasional terdiri dari kolom input dan kolom
output. 1 dan 0 pada kolom input didapatkan dari 2n kombinasi biner sesuai bentuk n
variabel input. Nilai-nilai biner untuk output-nya didapatkan dari pengujian
permasalahan yang ditentukan. Sebuah output bisa sama dengan 0 atau 1 untuk setiap
kombinasi input yang valid. Bagaimanapun juga, spesifikasinya mungkin mengindikasi
bahwa beberapa kombinasi input tidak akan terjadi. Kombinasi ini menjadi kondisi tak
peduli (don’t care conditions).
Fungsi Boole output dari tabel kebenaran tersebut disederhanakan dengan metode apa
saja yang sesuai, seperti manipulasi aljabar atau metode peta, misalnya Peta-Karnough.
Metode perancangan praktis akan mempertimbangkan batasan-batasan seperti :
1. Jumlah minimum gerbang logika (gate)
2. Jumlah minimum input ke gerbang logika
3. Minimum waktu propagasi sinyal sepanjang rangkaian
4. Jumlah minimum interkoneksi
5. Batasan kemampuan penggerak masing-masing gate.

64
Elektronika Digital

4.3. ADDERS (Penjumlah)


Komputer digital mempunyai bermacam-macam tugas pengolah informasi. Di antara
fungsi dasar yang dihadapi adalah bermacam-macam operasi arithmatika. Operasi
arithmatika yang paling dasar adalah penambahan dua digit biner. Penambahan
sederhana ini terdiri dari empat kemungkinan operasi dasar, yaitu, 0 + 0 = 0, 0 + 1 = 1,
1 + 0 = 1, dan 1 + 1 = 10. Tiga operasi yang pertama menghasilkan jumlah (sum) yang
panjangnya satu digit, tetapi jika kedua bit yang ditambahkan dan bit penambah sama
dengan 1, jumlah binernya terdiri dari dua digit. Bit yang bobotnya lebih tinggi dari
hasil tersebut dinamakan pembawa (carry).
Rangkaian kombinasional yang menunjukkan penambahan dua bit dinamakan
penambahan setengah (half-adder). Dan yang menunjukkan penambahan tiga bit
dinamakan penjumlah penuh (full-adder).
Catatan : Dua buah half-adder dapat digunakan untuk mengimplementasikan sebuah
full-adder.

Half-Adder
Rangkaian ini membutuhkan dua input biner dan dua output biner. Variabel input
menunjukkan bit yang ditambahkan dan bit penambah; variabel output menghasilkan
sum dan carry (jumlah dan pembawa).

Tabel kebenaran half-adder ditunjukkan di bawah ini :


x y C S
0 0 0 0
0 1 0 1 C = Carry
1 0 0 1 S = Sum

1 1 1 0

Output carry adalah 0 kecuali kedua input adalah 1. Output S mewakili bit yang
bobotnya paling kecil dari jumlah.
Hasil sederhana dari fungsi Boole untuk dua output bisa didapatkan langsung dari tabel
kebenaran.
Ekspresi sederhana dalam bentuk sum-of-products adalah :

65
Elektronika Digital

S = x’y + xy’
C = xy

(e) S = X + Y
C = X.Y

Gambar 4.2 Bermacam-macam implementasi Half-Adder

Diagram logika untuk implementasi ini ditunjukkan pada Gambar 4.2 (a), juga empat
implementasi lain untuk half-adder.
Gambar 4.2 (a), sebagaimana disebutkan di atas, adalah implementasi half-adder dalam
bentuk sum-of-products. Gambar 4.2 (b) menunjukkan implementasi dalam bentuk
product-of sums :
S = (x + y)(x’ + y’)
C = xy
Untuk mendapatkan implementasi Gambar 4.2 (c), kita catat bahwa S adalah exclusive-
OR x dan y. Komponen S adalah ekuivalen dari x dan y :
S’ = xy + x’y’

66
Elektronika Digital

Tetapi C = xy, dan sehingga kita memiliki :


S = (C + x’y’)’
Pada Gambar 4.2 (d) kita menggunakan implementasi product-of-sums dengan C
didapatkan sebagai berikut :
C = xy = (x’ + y’)’
Half-adder dapat diimplementasikan dengan sebuah exclusive-OR dan sebuah AND
gate seperti yang ditunjukkan pada Gambar 4.2 (e). Bentuk ini digunakan kemudian
untuk menunjukkan bahwa dua rangkaian half-adder diperlukan untuk membentuk
rangkaian full-adder.

Full-Adder
Full-adder adalah rangkaian kombinasional yang menunjukkan penjumlahan
arithmatika dari tiga bit input. Rangkaian tersebut terdiri dari tiga input dan dua output.
Dua dari variabel input ditandai dengan x dan y, mewakili dua bit untuk ditambahkan.
Input yang ketiga, z mewakili carry dari posisi bobot yang lebih rendah sebelumnya.
Dua output dibutuhkan karena penjumlahan arithmatika dari tiga digit biner mempunyai
batas nilai dari 0 sampai 3, dan biner 2 atau 3 membutuhkan dua digit. Dua output
tersebut ditandai dengan simbol S untuk sum dan C untuk carry. Variabel biner S
memberi nilai bit yang bobotnya paling rendah dari penjumlahan. Variabel biner C
memberi output carry.
Tabel kebenaran dari full-adder adalah sebagai berikut :
x y z C S
0 0 0 0 0
0 0 1 0 1
0 1 0 0 1
0 1 1 1 0
1 0 0 0 1
1 0 1 1 0
1 1 0 1 0
1 1 1 1 1

67
Elektronika Digital

Hubungan logika input-output dari rangkaian full-adder dapat diekspresikan dalam dua
fungsi Boole, satu untuk setiap variabel output. Setiap fungsi Boole output memerlukan
peta untuk penyederhanaannya. Peta pada Gambar 4.3 digunakan untuk
menyederhanakan dua fungsi output.

Gambar 4.3 Peta untuk full-adder

Diagram logika untuk full-adder diimplementasikan dalam bentuk sum-of-products


ditunjukkan pada Gambar 4.4. Implementasi ini menggunakan ekspresi Boole berikut :
S = x’y’z + x’yz’ + xy’z’ + xyz
C = xy + xz + yz

Gambar 4.4 Implementasi full-adder dalam sum-of-products

Konfigurasi lain dari full-adder dapat dibuat. Implementasi product-of-sums


membutuhkan jumlah gerbang logika (gate) yang sama seperti Gambr 4.4, dengan
jumlah gerbang AND dan OR ditukar tempat. Full-adder dapat diimplementasikan
dengan dua half-adder dan satu OR gate, seperti ditunjukkan pada Gambar 4.5. Output
S dari half-adder yang kedua adalah exclusive-OR dari z dan output half-adder yang
pertama, memberi :

68
Elektronika Digital

S = z + (x + y)
= z’(xy’ + x’y) + z(xy’ + x’y)’
= z’(xy’ + x’y) + z(xy + x’y’)
= xy’z’ + x’yz’ + xyz + x’y’z

Dan output carry adalah :


C = z(xy’ + x’y) + xy = xy’z + x’yz + xy

Gambar 4.5 Implementasi dari full-adder dengan dua half-adder dan sebuah OR gate

4.4. SUBTRACTORS (Pengurang)


Half-Subtractor (Pengurang Petengah)
Half-subtractor adalah rangkaian kombinasional yang mengurangkan dua bit dan
menghasilkan selisihnya. Half-subtractor tersebut juga mempunyai satu output untuk
menentukan jika 1 telah dipinjam (borrow). Menandai bit yang dikurangkan dengan x
dan bit pengurang dengan y. Untuk menunjukkan x-y, kita harus mengecek besaran
relatif dari x dan y. Jika x > y, kita mempunyai tiga kemungkinan : 0-1, dan ini perlu
meminjam 1 dari tingkat yang lebih tinggi berikutnya. Nilai 1 yang dipinjam dari tahap
yang lebih tinggi berikutnya tersebut menambah 2 ke bit yang dikurangkan, sama
seperti pada sistem desimal pinjam menambahkan 10 pada digit yang dikurangkan.
Dengan yang dikurangkan sama dengan 2, selisihnya menjadi 2-1 = 1. Half-subtractor
membutuhkan dua output.
Satu output menghasilkan selisih dan akan ditandai dengan simbol D (Different).
Output yang kedua, ditandai dengan D untuk pinjam (Borrow), menghasilkan sinyal
biner yang menginformasikan tahap berikutnya bahwa 1 telah dipinjam. Tabel

69
Elektronika Digital

kebenaran untuk hubungan input-output dari half-subtractor bisa didapatkan sebagai


berikut :
x y B D
0 0 0 0
0 1 1 1
1 0 0 1
1 1 0 0
Output pinjam B adalah 0 sepanjang x > y. Output B tersebut 1 untuk x = 0 dan y = 1.
Output D adalah hasil operasi arithmatika 2B + x – y.
Fungsi Boole untuk dua output dari half-subtractor didapat langsung dari tabel
kebenaran :
D = x’y + xy’
B = x’y
Menarik untuk dicatat bahwa logika untuk D adalah tepat sama seperti logika untuk
output S pada half-adder.

Full-Subtractor
Full-subtractor adalah rangkaian kombinasional yang menunjukkan pengurangan
antara dua bit, akan diperhitungkan bahwa 1 mungkin sudah dipinjam oleh bit yang
tingkat bobotnya lebih rendah. Rangkaian full-subtractor mempunyai tiga input dan dua
output. Tiga input tersebut x, y, dan z, berturut-turut menandai yang dikurangi,
pengurang, dan pinjaman sebelumnya. Dua outputnya, yaitu D dan B, mewakili selisih
dan output pinjam. Tabel kebenaran untuk rangkaian tersebut adalah sebagai berikut :
x y z B D
0 0 0 0 0
0 0 1 1 1
0 1 0 1 1
0 1 1 1 0
1 0 0 0 1
1 0 1 0 0
1 1 0 0 0
1 1 1 1 1

70
Elektronika Digital

Gambar 4.6 Peta untuk full-subtractor

Nilai 1 dan 0 untuk variabel output ditentukan dari pengurangan x-y-z.


Untuk x = 0, y = 0, dan z = 1, kita harus pinjam 1 dari urutan berikutnya, yang
membuat B = 1 dan menambah 2 ke x. Karena 2-0-1 = 1, D = 1. Untuk x = 0 dan yz =
11, kita butuh pinjam lagi, membuat B = 1 dan x = 2. Karena 2-1-1 = 0. Terakhir, untuk
x = 1, y = 1, z = 1, kita harus pinjam 1, membuat B = 1 dan x = 3, dan 3-1-1 = 1,
membuat D = 1.
Penyederhanaan fungsi Boole untuk dua output dari full-subtractor didapat dari peta
Gambr 4.6. Hasil sederhana fungsi output dalam sub-of-products adalah :
D = x’y’z + x’yz’ + xy’z’ + xyz
B = x’y + x’z + yz
Lagi, kita catat bahwa fungsi logika untuk output D dalam full-subtractor adalah tepat
sama seperti output S pada full-adder. Lebih lagi, output B menyerupai fungsi untuk C
pada full-adder, kecuali bahwa variabel input x adalah di-NOT-kan.
Karena kesamaan ini, adalah mungkin untuk mengubah full-adder ke dalam full-
substractor dengan hanya meng-komplemen-kan input x sebelum aplikasinya ke
gerbang/gates yang membentuk output carry.

4.5. DECODER
Decoder (penyandi) merupakan rangkaian digital yang berfungsi untuk
menterjemahkan suatu kode input digital ke bentuk yang lebih bermanfaat dan mudah
dikenali. Contoh sederhana dari decoder ialah decoder 1 ke 2 seperti ditunjukkan pada
Gambar 4.7

71
Elektronika Digital

INPUT OUTPUT

E I0 D1 D1
0 0 1 0
1 0 1
1 x 1 1

Gambar 4.7 (a) Decoder 1 ke 2 (b) Tabel Kebenaran

Dari tabel kebenaran dapat dilihat bahwa saat E = 0, maka output D0  0 (aktif

rendah), D1 = 1. Sedangkan saat E = 0, I0 = 1, maka output D0 = 1, D1 = 0. Bila E = 1,

maka semua output akan berlogika 1 ( D0 = 1, D1 = 1). Dengan menggunakan


persamaan boolean didapatkan :

D1 = ( E ) I 0 D0 = ( E ) I 0

Gambar 4.8 Rangkaian Dasar Decoder 1 ke 2

Contoh lain dari decoder ialah decoder 2 ke 4, yang ditunjukkan pada Gambar 4.9 (a).
Decoder ini mempunyai 2 buah input selector (I1 dan I0), dan sebuah input kontrol E

(aktif rendah) sedangkan outputnya ada 4 buah yaitu D3 , D2 , D1 , D0 . Output


decoder ini aktif rendah. Dalam keadaan aktif, output ini berlogika 0, bila tidak aktif
outputnya berlogika 1.

72
Elektronika Digital

INPUT OUTPUT

E I0 I1 D3 D2 D1 D0

0 0 0 1 1 1 0
0 1 1 1 0 1
0 1 0 1 0 1 1
1 1 0 1 1 1
1 x x 1 1 1 1

Gambar 4.9 (a) Decoder 2 ke 4 (b) Tabel Kebenaran

Dari tabel kebenaran, didapatkan persamaan boolean output sebagai berikut :

D0  ( E ).I 1 .I 0

D1  ( E ).I 1 .I 0

D2  ( E ).I 1 .I 0

D3  ( E ).I 1 .I 0

Gambar 4.10 Rangkaian Decoder 2 ke 4

73
Elektronika Digital

Decoder lain yang umum dipakai ialah decoder BCD ke 7- Segmen. Decoder ini
dipakai untuk mengubah 4-bit biner kode bilangan desimal ke peraga 7-segmen, yaitu
Common Anoda (Anoda Bersama) dan Common Katoda (Katoda Bersama). Pada jenis
Common Anoda, Anoda dari ketujuh Led (segmen) digabung menjadi satu. Dengan
demikian Katoda Led berfungsi sebagai input aktif rendah [Gambar 4.11 (b)].
Sedangkan pada jenis Common Katoda, Katoda dari ketujuh Led digabung menjadi
satu, dan Anodanya berfungsi sebagai input aktif tinggi [Gambar 4.11 (c)].

Gambar 4.11 (a) Peraga 7 Segmen (b) Common Anoda (c) Common Katoda

Decoder BCD ke 7-Segmen mempunyai empat buah biner, dan tujuh buah output untuk
mengendalikan peraga 7-segmen. Kombinasi dari input-inputnya akan menghasilkan
kode angka desimal pada peraga 7-segmen.

Gambr 4.12 Decoder BCD ke 7-Segmen

74
Elektronika Digital

INPUT OUTPUT
D C B A a b c d e f g DES
0 0 0 0 1 1 1 1 1 1 0 0
0 0 0 1 0 1 1 0 0 0 0 1
0 0 1 0 1 1 0 1 1 0 1 2
0 0 1 1 1 1 1 1 0 0 1 3
0 1 0 0 0 1 1 0 0 1 1 4
0 1 0 1 1 0 1 1 0 1 1 5
0 1 1 0 0 0 1 1 1 1 1 6
0 1 1 1 1 1 1 0 0 0 0 7
1 0 0 0 1 1 1 1 1 1 1 8
1 0 0 1 1 1 1 0 0 1 1 9

Gambar 4.13 Tabel Kebenaran BCD ke 7-Segmen

4.6. ENCODER
Encoder merupakan rangkaian digital yang menerima input digital dan mengubahnya
ke kode tertentu pada outputnya. Cara kerjanya Encoder berlawanan dengan cara kerja
Decoder. Contoh sederhana dari Encoder ialah Encoder Desimal ke BCD. Encoder ini
mempunyai 10 buah input, masing-masing mewakili angka 0 sampai 9, dan 4 buah
output hasil penterjemahan desimal input ke nilai biner 4-bit.
DESIMAL INPUT D C B A
0 S0 0 0 0 0

1 S1 0 0 0 1
2 S2 0 0 1 0
3 S3 0 0 1 1
4 S4 0 1 0 0
5 S5 0 1 0 1
6 S6 0 1 1 0
7 S7 0 1 1 1
8 S8 1 0 0 0
9 S9 1 0 0 1
Gambar 4.14 Tabel Kebenaran Encoder Desimal ke BCD

75
Elektronika Digital

Dari tabel kebenaran bisa dicari persamaan Boolean untuk outputnya, yang hasilnya
dapat ditulis sebagai berikut :

A = S1 + S 3 + S 5 + S 7 + S 9

B = S2 + S3 + S6 + S7

C = S4 + S5 + S6 + S7

D = S8 + S9

Realisasi rangkaian digital dari persamaan di atas dapat dilihat pada Gambar 4.15.

Gambar 4.15 Rangkaian Dasar Encoder Desimal ke BCD

4.7. MULTIPLEXER
Multiplexer merupakan rangkaian digital yang mempunyai input lebih dari satu dan
output hanya satu. Pemilihan input, yang akan diteruskan ke output, diatur oleh input
pemilih (Data Selector). Contoh sederhana multiplexer ialah Mulplaxer 4 ke 1.

76
Elektronika Digital

SELECTOR OUTPUT
S1 S0 Y

0 0 I0
0 1 I1
1 0 I2
1 1 I3
Gambar 4.16 (a) Multiplaxer 4 ke 1 (b) Tabel Kebenaran

Dari tabel kebenaran bisa dicari persamaan Boolean untuk outputnya, yang hasilnya
dapat ditulis sebagai berikut :

Y = I0. S1 . S 0 + I1. S1 . S0 + I2. S1. S 0 + I3. S1 . S0


Realisasi rangkaian multiplaxer 4 ke 1 dapat dilihat pada Gambar 4.17

Gambar 4.17 Rangkaian Dasar Multiplexer 4 ke 1

4.8. DEMULTIPLAXER
Demultiplaxer merupakan rangkaian digital yang mempunyai sebuah input dan
beberapa output. Pemilihan output dilakukan oleh input pemilih (Data Selector).
Dengan pemilihan ini maka hanya ada satu output aktif yang menerima data input.
Contoh sederhana dari demultiplexer ialah Demultiplaxer 1 ke 4.

77
Elektronika Digital

SELECTOR OUTPUT
S1 S0 D3 D2 D1 D0

0 0 0 0 0 1
0 1 0 0 1 0
1 0 0 1 0 0
1 1 1 0 0 0

Gambar 4.18 (a) Demultiplaxer 1 ke 4 (b) Tabel Kebenaran

Dari tabel kebenaran Demultiplaxer 1 ke 4, dapat disusun persamaan Boolean Output


sebagai berikut :

D0 = I. S1 . S 0

D1 = I. S1 .S0

D2 = I. S1. S 0
D3 = I. S1 . S0

Realisasi rangkaian digital dari persamaan di atas dapat dilihat pada gambar 4.19

Gambar 4.19 Rangkain Dasar Demultiplaxer 1 ke 4

78
Elektronika Digital

Ringkasan

Rangkaian Digital Kombinasional adalah rangkaian yang outputnya hanya ditentukan oleh
input-input yang diberikan saat itu. Prosedur perancangan rangkaian kombinasional meliputi
tahap-tahap berikut :
1. Tentukan permasalahannya
2. Tentukan jumlah variabel input yang sesuai dan variabel output yang dibutuhkan.
3. Tentukan simbol huruf untuk variabel input dan output.
4. Dapatkan tabel kebenaran yang mendefinisikan hubungan yang dibutuhkan antara input
dan output.
5. Dapatkan hasil sederhana dari fungsi Boole untuk masing-masing output
6. Gambarlah diagram logikanya

Adders
Adders adalah rangkaian kombinasioanal yang berfungsi sebagai penjumlah. Rangkaian
kombinasional yang menunjukkan penambahan dua bit dinamakan penambahan setengah
(half-adder). Dan yang menunjukkan penambahan tiga bit dinamakan penjumlah penuh (full-
adder).
Full-adder dapat diimplementasikan dengan dua half-adder dan satu OR gate.

Subtractors
Subtractors adalah rangkaian kombinasioanal yang berfungsi sebagai pengurang.
Half-subtractor adalah rangkaian kombinasional yang mengurangkan dua bit dan
menghasilkan selisihnya.
Full-subtractor adalah rangkaian kombinasional yang menunjukkan pengurangan antara dua
bit, akan diperhitungkan bahwa 1 mungkin sudah dipinjam oleh bit yang tingkat bobotnya
lebih rendah.

Decoder
Decoder (penyandi) merupakan rangkaian digital yang berfungsi untuk menterjemahkan sutu
kode input digital ke bentuk yang lebih bermanfaat dan mudah dikenali.

79
Elektronika Digital

Encoder
Encoder merupakan rangkaian digital yang menerima input digital dan mengubahnya ke kode
tertentu pada outputnya. Cara kerjanya Encoder berlawanan dengan cara kerja Decoder.

Multiplexer
Multiplexer merupakan rangkaian digital yang mempunyai input lebih dari satu dan output
hanya satu.

Demultiplexer

Demultiplaxer merupakan rangkaian digital yang mempunyai sebuah input dan beberapa
output.

80
Elektronika Digital

Soal-Soal

1. Decoder BCD-ke-tujuh-segmen adalah rangkaian kombinasional yang menerima digit


desimal dalam BCD (Binary Coded Decimal) dan menghasilkan output-output yang
sesuai untuk pemilihan segmen dalam sebuah indikator peraga (display) yang digunakan
untuk menampilkan digit desimal. Tujuh output dari decoder tersebut (a, b, c, d, e, f, g )
memilih segmen-segmen yang sesuai dalam display seperti yang ditunjukkan dalam
Gambar P-1(a). Simbol angka yang dipilih untuk mewakili digit desimal ditunjukkan pada
Gambar P-1(b). Rancanglah rangkaian decoder BCD-ke-tujuh-segmen tersebut hanya
untuk output d saja ?.

(a) Simbol segmen (b) Simbol angka untuk display

Gambar P-1

81

Anda mungkin juga menyukai