Rangkaian Logika
pada dasarnya dibagi menjadi 2 jenis yaitu rangkaian kombinasional dan
rangkaian sequential.
1. Rangkaian Kombinasional
Rangkaian logika ini merupakan
rangakain yang mempunyai keluaran sesuai dengan masukkan saat itu juga. Contoh
dari rangkaian kombinasional adalah encoder, decoder, adder, subtractor,
multiplexer, dan magnitude comparator.
Encoder
Encoder
atau penyandi merupakan suatu sarana/piranti elektronika yang dapat
mengubah/menterjemahkan bahasa yang dimengerti manusia (tampilan,dll) menjadi
bahasa yang dimengerti oleh mesin (biner).
Encoder
mempunyai n input dan m output, dimana satu input saja yang pada satu saat
aktif, outputnya berupa kombinasi beberapa bit. Sebagai contoh penerapan
encoder sederhana terdapat pada bagian input/tombol kalkulator. Bentuk umum
encoder:
Decoder
Decoder atau pemecah sandi
merupakan suatu sarana/piranti elektronika (rangkaian kombinasional) yang dapat
mengubah bahasa mesin ke dalam bahasa yang dimengerti oleh manusia, atau
menampilkan kode-kode biner menjadi tanda-tanda yang dapat ditanggapi secara
visual. Decoder mempunyai 2n output.
rangakaian disamping adalah suatu rangkaian decoder
3-ke-8 (3 input, 23 = 8 output), dimana rangkaian tersebut
menggunakan aplikasi dari gerbang AND.
Prinsip kerjanya adalah
sebagai berikut, apabila:
·
Input bernilai 000, maka Y0akan “1”
·
Input bernilai 001, maka Y1akan “1”
·
Input bernilai 010, maka Y2akan “1”
·
Input bernilai 011, maka Y3akan “1”
·
Input bernilai 100, maka Y4akan “1”
·
Input bernilai 101, maka Y5akan “1”
·
Input bernilai 110, maka Y6akan “1”
·
Input bernilai 111, maka Y7akan “1”
Adder
Komputer-komputer digital
banyak memperagakan tugas-tugas pemrosesan informasi. Dari sekian fungsi dasar,
diantaranya adalah operasi-operasi aritmatika. Yang paling dasar dari operasi
aritmatika adalah penmbahan (addition) dari 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 = 1 0. Tiga operasi pertama menghasilkan suatu jumlah (sum) yang
variabelnya adalah satu digit, tetapi augend (bit yang ditambahkan) dan addend
(bit yang menambahkan) sama dengan 1 maka biner sum terdiri dari dua digit,
dimana higher significant bit nya disebut carry (bawaan). Apabila bilangan
augend dan addend memiliki significant digit lebih, maka carry dari hasil
penambahan dua bit awal ditambahkan ke pasangan significant bit selanjutnya.
Adder dibagi menjadi dua
yaitu, menambahkan dari dua bit yang disebut half adder dan penambahan
dari tiga bit yang disebut full adder.
Half
Adder ( penambah-setengah)
Variabel-variabel input half adder dinyatakan
dengan bit augend dan addend; outputnya menghasilkan sum and carry. Jika
dinyatakan dengan x dan y sebagai input, sumand carry sebagai ouput, maka dapat di identifikasikan fungsi dari Half-Adder, dengan tabel kebenarannya adalah:
X
|
y
|
Carry (bawaan)
|
Sum (jumlah)
|
0
|
0
|
0
|
0
|
0
|
1
|
0
|
1
|
1
|
0
|
0
|
1
|
1
|
1
|
1
|
0
|
Berdasarkan tabel diatas maka:
Sum =
x’y + xy’
Carry =
xy
Dan rangkaian Half-Adder nya:
Full
Adder
Full-Adder merupakan
rangkaian kombinasional yang melakukan aritmatika penjumlahan (sum) dari tiga
input bit. Terdiri dari tiga input dan dua output, dua dari variabel input
dinotasikan dengan A dan B, yang merepresentasikan dari dua bit yang akan
ditambah, dan input ketiga Cin, me-representasikan carry dari lower significant
sebelumnya.
Rangkaian Full-Addernya adalah:
Subctractor
Suatu pengurangan
(substraction) dari dua bilangan biner dapat diselesaikan dengan menggunakan
komplemen satu subtrahend (bit yang
mengurangi) dan menambahkannya pada minuend
(bit yang dikurangi). Dengan cara ini, operasi pengurangan akan menjadi suatu
operasi penambahan yang memerlukan full-adder pada implementasi rangkaiannya.
Substractor dibagi menjadi Half-Substractor dan Full-Subtractor.
Half-Subtractor
Merupakan suatu rangkaian
kombinasional yang mengurangkan dua bit dan akan menghasilkan selisih dua bit
tersebut. dinotasikan misalnya A sebagai minuend dan B sebagai subtrahend bit.
Untuk dapat menunjukan
A-B, harus diperiksa besaran relatif dari A dan B. Jka A > B, terdapat tiga
kemungkinan: 0-0 = 0, 1-0 = 1, dan 1-1 = 0, hasilnya disebut Difference
Bit (bit selisih).
Jika A < B atau A = B,
terdapat 0-1 yang perlu meminjam (Borrow) 1 digit dari tingkat yang
lebih tinggi berikutnya. Pinjaman 1 tersebut menambahkan 2 kepada minuend nya
(seperti dalam desimal menambahkan 10 kepada minuend). Dengan minuend bernilai
2 (dalam biner 10), maka selisihnya menjadi 2-1 = 1.
Jika dinyatakan D sebagai selisih dan Bor sebagai pinjaman, maka truth
tabelnya adalah:
A
|
B
|
Bor (pinjaman)
|
D (selisih)
|
0
|
0
|
0
|
0
|
0
|
1
|
1
|
1
|
1
|
0
|
0
|
1
|
1
|
1
|
0
|
0
|
Dan rangkaian Half-Substractor nya adalah:
Full-Substractor
Merupakan suatu rangkaian
kombinasional yang melakukan suatu pengurangan antara tiga bit (dua bit
dikurangkan dan satu bit adalah borrow dari tingkat sebelumnya).
Full-Substractor dapat diimplementasikan
dengan 2 Half-Substractor dan 1 OR, dimana D adalah output dari HS kedua yaitu
hasil EX-OR antara input Bor-in dangan output HS pertama, dan input Bor-in
adalah pinjaman dari HS sebelumnya.
Rangkaian Full-Substractor:
Multiplexer
Multiplexer digital
merupakan suatu rangkaian kombinasional yang menyeleksi satu informasi biner
dari banyak saluran input dan mengeluarkan informasi biner tersebut pada satu
saluran output.
Penyeleksian suatu saluran
input dikendalikan oleh saluran seleksi, oleh karena itu multiplexer disebut
juga dengan selector data. Secara sederhana, pada multiplexer terdapat 2n
saluran input dan n saluran selektor, dimana kombinasi-kombinasi bitnya
menunjukkan input mana yang dipilih.
Dengan menggunakan gerbang
NOT, AND, dan OR, dapat dibuat rangkaian multplexer, seperti berikut:
Prinsip kerjanya adalah apabila:
- Selektor = 0 0 maka data input yang diseleksi = d0, sehingga F=d0
- Selektor = 0 1 maka data input yang diseleksi = d1, sehingga F=d1
- Selektor = 1 0 maka data input yang diseleksi = d2, sehingga F=d2
- Selektor = 1 1 maka data input yang diseleksi = d3, sehingga F=d3
Magnitude Comparator
Magnitude
comparator merupakan rangkaian kombinasional yang membandingkan dua buah
bilangan biner, A dan B, dan menentukan besaran-besaran relatifnya, dimana
output dari perbandingannya dispesifikasikan dengan tiga variabel yang
menunjukan apakah A > B, A = B, atau A < B.
2. Rangkaian
Sequential
Rangkaian
ini memberi output yang akan memperhitungkan/ mempertimbangkan ouput
sebelumnya. Contoh dari rangkaian ini adalah flip-flop yang merupakan dasar
dari rangkaian yang lain misalnya counter dan register.
Flip-flop
Flip-flop
merupakan piranti elektronika yang memiliki dua keadaan output yang stabil,
dimana suatu rangkaian flip-flop dapat memperthankan satu keadaan biner dari
dua keadaan (selama catu terpasang) sampai adanya sinyal input pemicu yang
membuatnya berganti keadaan. Rangkaian dasar suatu flip-flpo dapat
dikonstruksikan dengan dua gerbang NOR atau dua gerbang NAND dimana
masing-masingnya memiliki dua output, Q dan Q’, dan dua input, Set dan Reset.
NOR Latch
Dua buah NOR gate
yang saling disilangkan dikenal sebagai NOR gate latch, dengan duabuah output Q
dan Q’ yang saling berlawanan serta dua buah input SET dan RESET,
seperti ditunjukkan pada
gambar 7.4. Jika logika 1 diberikan pada input S, maka kondisi
ini menyebabkan FF di set ke
1 (Q=1). Jika logika 1 diberikan ke input R, maka kondisi
ini menyebabkan FF di reset ke 0 (Q=0).
Tabel kebenaran:
Set
|
reset
|
Output
|
0
|
0
|
No Change
|
0
|
1
|
Q=0; Q’=1
|
1
|
0
|
Q=1; Q’=0
|
1
|
1
|
Indeterminate
|
Rangkaian logika NOR latch:
NAND
Latch
Apabila disusun dari
NAND gate, disebut dengan NAND gate latch atau secara
sederhanadisebut latch, Dua buah NAND gate
disilangkan antara output NAND gate-1 dihubungkan dengan salah satu input NAND
gate-2, dansebaliknya. Output gate (output latch) diberi nama Q dan Q’. Pada
kondisi normal keduaoutput tersebut saling berlawanan. Input latch diberi nama
SET dan RESET.
Tabel kebenaran:
Set
|
reset
|
Output
|
0
|
0
|
Indeterminate
|
0
|
1
|
Q=1; Q’=0
|
1
|
0
|
Q=0; Q’=1
|
1
|
1
|
No Change
|
Rangkaian logika NAND latch:
RS
Flip-Flop
RS flip-flop terdiri
dari suatu flip-flop dasar dan dua tambahan NAND gate. Input pulsa berlaku
sebagai suatu enable signal bagi kedua input. Output-output gerbang 3 dan 4
akan tetap pada logika 1 selama input CP berada di 0. Jika input CP berganti 1
informasi dari input set dan reset akan dilewati untuk mencapai output.
Kondisi set tercapai dengan set=1, reset=0, dan CP=1,
dimana output gerbag 3 menuju 0, output gerbang 4 tetap 1, dan output Q akan 1.
Untu berganti ke kondisi reset, input-inputnya harus set=0, reset=1, dan CP=1.
Hal lainnya, jika CP berganti ke 0, rangkaian bertahan pada kondisi sebelumnya
(tidak berubah), dan jika CP=1 dan kedua input set dan reset = 0, kondisi
rangkaian juga tidak berubah.
Kondisi indeterminate muncul ketika CP=1 dan kedua input
set dan reset=1. Kondisi ini membuat output gerbang 3 dan 4 akan 0, dan output
Q dan Q’ akan 1. Jika CP kembali ke 0, (set dan reset bertahan di 1) adalah
tidak mungkin intuk mengidentifikasi keadaan yang akan datang (next state),
dimana hal tersebut tergantung pada output gerbang 3 atau 4 yang akan mencapai
logika 1 terlebih dahulu.
D
Flip-Flop
Untuk mengeliminasi kondisi yang tidak diinginkan dari
keadaan indeterminate RS flip-flop, terdapat cara yaitu dengan memastikan input
set dan reset selamanya tidak sama dengan 1 pada saat yang sama, dan ini adalah
dengan D flip-flop.
D flip-flop hanya memiliki dua input, D dan CP. Input D
langsung dihubungkan pada R. Selama CP=0, output gerbang 3 dan 4 bernilai 1 dan
rangkaian tidak dapat berubah keadaan.
Ketika CP=1, input D diambil ; jika D=1, ouptu Q akan 1,
dan rangkaian akan set; jika D=0, output akan 0, dan rangkaian akan reset
(clear).
Q(t)
|
T
|
Q(t + 1)
|
0
|
0
|
0
|
0
|
1
|
1
|
1
|
0
|
0
|
1
|
1
|
1
|
JK
Filp-Flop
JK flip-flop merupakan perbaikan dari RS flip-flop,
dimana keadaan indeterminate RS flip flop dapat diidentifikasikan pada JK flip-flop. Input J dan K berlaku
seperti S dan R. Ketika kedua input J dan K sama dengan 1, flip-flop berganti
ke keadaan komplemennya, yaitu Q=1, berganti ke Q=0, dan sebaliknya, jika Q=0
berganti ke Q=1.
JK flip-flop dikonstruksikan dengan dua cross-coupled
NAND gate dan dua NAND gate. Output Q di NAND-kan dengan K dan CP, sehingga
flip-flop reset selama satu clock pulsa, hanya jika keadaan Q sebelumnya 1.
Dan juga halnya, output Q’ di NAND-kan dengan J dan CP,
sehingga flip-flop set selama satu clock pulsa, hanya jika keadaan Q’
sebelumnya 1.
Ketika J dan K = 1, input pulsa ditranmisikan melalui
hanya satu NAND gate : yaitu yang inputnya dihubungkan pada output flip-flop
yang keadaan telah 1. Dan jika Q=1, output NAND bawah menjadi 0, dan flip-flop
menjadi reset; jika Q’=1, output NAND atas menjadi 0, dan flip-flop menjadi
set. Dalam kondisi tersebut, kondisi ouput flip-flop dikomplemenkan.
T
Flip-Flop
T flip-flop adalah versi
satu input dari JK FF, dimana input J dan K disatukan sebagai input T. Notasi T
berasal dari kemampuan FF untuk men-“Toggle” atau mengkomplemen keadaan. Tabel
karakteristik:
Q(t)
|
T
|
Q(t + 1)
|
0
|
0
|
0
|
0
|
1
|
1
|
1
|
0
|
1
|
1
|
1
|
0
|
Counters
Rangkaian counter adalah rangkaian elektronika yang befungsi untuk melakukan
penghitungan angka secara berurutan baik itu perhitungan maju ataupun
perhitungan mundur. Yang dimaksud dengan perhitungan maju adalah di mana
rangkaian akan menghitung mulai dari angka yang kecil menuju angka yang lebih
besar. Sedangkan perhitungan mundur adalah sebaliknya. Perhitungan bisa
mencapai jumlah yang tidak terbatas tergantung perancangan rangkaian ataupun
tuntutan kebutuhan. Untuk contoh diatas hanya menggunakan satu buah IC decade
counter dan satu buah seven segment sehingga hanya bisa mewakili fungsi akan
satu digit atau angka satuan. Untuk membuat fungsi yang lebih banyak anda
tinggal menambah IC dan 7-segmentnya sesuai dengan fungsi yang diinginkan.
Banyak sekali kegunaan dari rangkaian counter ini didunia elektronika
digital. Bahkan menurut saya bisa dikatakan elektronika digital tidak
terpisahkan dengan rangkaian counter. Hampir semua rangkaian digital memerlukan
rangkaian counter. Hal itu dikarenakan untuk menerapkan fungsi penghitungan
angka atau operasi matematika harus menggunakan fungsi dari rangkaian counter.Counter merupakan salah satu rangkaian elektronika digital
yang menggunakan urutan logika digital dan dipicu oleh pulsa atau clock (rangkaian
sekuensial). Counter biasanya mencacah atau menghitung dalam biner dan
dapat dibuat untuk berhenti atau berulang ke hitungan awal setiap saat. Pada counter
yang berulang, jumlah kondisi biner yang berbeda menunjukkan modulus (MOD)
counter. Sebagai contoh, counter yang mencacah dari
0-1-2-3-4-5-6-7 secara berulang disebut juga modulus 8 atau MOD-8.
Rangkaian dasar counter adalah beberapa flip-flop yang jumlahnya
bergantung pada modulus yang diperlukan. Secara umum, counter terbagi
menjadi 2 jenis, yaitu asynchronous counter (ripple counter) dan synchronous
counter.
Asynchronous counter (ripple counter) merupakan counter yang masukan clock pemicunya tidak
terhubung ke setiap flip-flop secara langsung. Clock pemicunya harus
merambat melalui setiap flip-flop untuk mencapai masukan flip-flop yang
berikutnya.
IC
74LS90 merupakan ripple counter 4-bit yang terdiri atas bagian pembagi-2
dan bagian pembagi-5. Dua bagian ini dapat dikaskade untuk membentuk
pembagi-10(decade/BCD counter) dengan menghubungkan Q0 ke CLK1 secara
eksternal. Counter ini mempunyai 2 masukan reset yaitu MR1 dan
MR2 dan 2 masukan set yaitu MS1 dan MS2, serta 4 kaki luaran yaitu Q0,
Q1, Q2, dan Q3. Kaki 10 dihubungkan ke GND dan kaki 5 dihubungkan ke +5V.
Susunan kaki IC 74LS90 dapat dilihat dalam Gambar 6.1.
Synchronous counter merupakan counter yang masukan clock pemicunya dihubungkan
ke setiap flip-flop, sehingga setiap flip-flop akan beroperasi dengan masukan
transisi clock yang sama. Pada synchronous counter harus
dipastikan bahwa setiap flip-flop menahan transisi luarannya sampai tiba
gilirannya.
IC
74LS190 adalah synchronous BCD counter (0 sampai 9). IC ini mempunyai 4
masukan P0, P1, P2, dan P3 yang digunakan untuk mengeset mulainya hitungan
dengan operasi Parallel Load ( PL ). Counter ini juga
menghitung up/down dengan menentukan masukan U / D. Kaki Count
Enable (CE ) adalah masukan aktif-LOW yang digunakan untuk meng-enable/inhibit
counter. Kaki luaran yang ada pada IC 74LS190 adalah Q0, Q1, Q2, dan Q3
serta TC (Terminal Count) dan RC (Ripple Clock). TC maupun
RC dapat digunakan
sebagai masukan clock untuk counter yang lebih tinggi. Kaki
8 dihubungkan ke GND dan kaki 16 dihubungkan ke +5V. Susunan kaki IC 74LS190
dapat dilihat dalam Gambar 6.2.
Register
Register
adalah rangkaian logika yang digunakan untuk menyimpan data. Dengan kata lain,
register adalah rangkaian yang tersusun dari satu atau beberapa flipflop yang
digabungkan menjadi satu. Flipflop
disebut juga sebagai register 1 bit. Jadi untuk menyimpan 4 bit data, register
harus terdiri dari 4 buah flipflop. Untuk menyimpan data pada register,
dapat dilakukan dengan dua cara :
1. Disimpan secara sejajar (Parallel In)
:
Pada cara ini semua bagian register atau masingmasing flipflop diisi (dipicu) pada saat yang bersamaan.
Pada cara ini semua bagian register atau masingmasing flipflop diisi (dipicu) pada saat yang bersamaan.
2. Disimpan secara seri (Serial In) :
Pada cara ini, data dimasukkan bit demi bit mulai dari flipflop yang paling ujung (dapat dari kiri atau dari kanan), dan digeser sampai semuanya terisi. Bila data digeser dari kanan kekiri disebut “Register geser kiri” (Shift Left Register), sebaliknya bila data digeser dari kiri kekanan disebut “Register geser kanan” (Shift Right Register).
Pada cara ini, data dimasukkan bit demi bit mulai dari flipflop yang paling ujung (dapat dari kiri atau dari kanan), dan digeser sampai semuanya terisi. Bila data digeser dari kanan kekiri disebut “Register geser kiri” (Shift Left Register), sebaliknya bila data digeser dari kiri kekanan disebut “Register geser kanan” (Shift Right Register).
Seperti
pada penyimpanan data, untuk mengeluarkan data juga dapat dilakukan dengan dua
cara :
1.Dikeluarkan secara sejajar (Parallel Out)
2.Dikeluarkan secara seri (Serial Out)
1.Dikeluarkan secara sejajar (Parallel Out)
2.Dikeluarkan secara seri (Serial Out)
Ada tiga jenis register yaitu:
1. Register penyangga data (register
buffer)
2. Register buffer terkendal
3. Register geser
Register Buffer Terkendali adalah register buffer yang ditambah dengan beberapa gerbang logika dasar AND, OR, dan NOT. Gambar rangkaian menunjukkan sebuah Register buffer terkendali dengan CLR aktif tinggi. Apabila CLR = 1, maka akan terjadi reset pada flip-flop dan data yang tersimpan (Q) menjadi 0000. dan ketika CLR = 0, register siap beroperasi kembali.
Sinyal kendali LOAD adalah
input kendali yang menentukan operasi rangkaian.Ketika LOAD = 0, semua input
data tidak diizinkan masuk, artinya flip-flop mengisolasi input data atau
menahan semua data yang ada di dalamnya. Dengan kata lain, register tidak
berubah selama LOAD = 0. Ketika LOAD = 1, semua input data akan diterima oleh
register. Ketika LOAD kembali = 0, maka input data yang diterima register tadi
akan tersimpan dengan aman tanpa gangguan perubahan input.
Register
Shift Terkendali adalah register geser yang ditambah dengan beberapa gerbang
logika dasar AND, OR, dan NOT. Register geser terkendali memiliki input-input
kendali yang mengatur operasi rangkaian pada pulsa-pulsa pendetak berikutnya.
Gambar rangkaian memperlihatkan bagaimana operasi penggeseran ke kiri dapat
dikendalikan.
SHL adalah sinyal kendali. Jika SHL
= 0, setiap output flip-flop masuk kembali ke input datanya sehingga data tetap
tersimpan pada setiap flip-flop pada waktu pulsa-pulsa pendetak tiba. Dengan
begitu, semua data dapat disimpan selama waktu yang diinginkan. Jika SHL = 1,
maka input data (D in) akan masuk ke flip-flop yang paling kanan dan output
pada flip-flop paling kanan (Q0) akan masuk menjadi input ke flip-flop kedua di
sebelah kirinya. Kemudian outputnya (Q1) akan masuk juga menjadi input ke
flip-flop selanjutnya yang di sebelah kiri. Begitu berulang-ulang seterusnya.
Dengan kata lain data yang tersimpan pada register akan berubah karna setiap
data bergeser satu posisi ke kiri. Contoh : 0001 kemudian diinputkan 0 maka
akan menjadi 0010.