Anda di halaman 1dari 200

PERANCANGAN SISTEM DIGITAL

(3 SKS)
Teknik Elektro
Program Studi Teknik Elektronika

Dosen Pengampu:
Sigit Priyambodo, S.T.,M.T.
Buku Referensi

1. Digital System and


Hardware/Firmware Algorithms,
Ercegovac, MD, Lang T, John Wiley &
Sons
Buku Referensi

2. Synthesis and Optimization of Digital


Circuits, Giovanni de Micheli, Mc
Graw Hill International Edition
Buku Referensi

3. Logic Design Theori, Nripendra N.


Biswas, PHI, 1992
Kompetensi
MK: Perancangan Sistem Digital
• Mata Kuliah ini akan membahas tentang
bagaimana Merancang Sistem yang
Berbasis Digital. Mata kuliah ini adalah
kelanjutan dari mata kuliah Teknik Digital.
Kontrak Perkuliahan
• Perkuliahan dilaksanakan sebanyak 14
kali tatap muka.
• Persentasi Bobot Penilaian:
• Absen Kehadiran === 10%
• Tugas =========== 30%
• UTS ========== 30%
• UAS =========30%
Pengantar / Pendahuluan

• Definisi Sistem:
Sekumpulan Komponen/elemen yang saling
terkait satu sama lain sedemikian sehingga
saling bekerja sama untuk satu tujuan tertentu
seperti maksud dari si-perancang sistem
tersebut.
Sistem Digital

• Sistem Digital Adalah Sistem yang input


dan outputnya merupakan himpunan-
himpunan berhingga yang anggotanya
berupa besaran diskret.
Sistem Digital

• Dalam implementasinya besaran-besaran


tersebut disandikan menggunakan
variabel-variabel biner.
Sistem Digital

• Sistem melakukan transformasi data dan


isyarat
Diagram Blok Sistem Digital

Masukan Keluaran
{a,b,c,d} Sistem {p,q}
Digital
Penyandian :
Masukan : Keluaran :
a = 00 p=0
b = 01 q=1
c = 10
d = 11
Level Perancangan Sistem Digital

• Level Arsitektural

• Level Logika

• Level Elektronis
Level Arsitektural

Sistem dianggap melakukan komputasi


data. Pada level ini dispesifikasikan satu
set operasi yang harus dimiliki sistem,
spesifikasi input/outputnya, kecepatan
operasi dsb.
• Level Logika

Sistem dianggap melakukan satu set


fungsi logika untuk
mengimplementasikan spesifikasi level
Arsitektural.
Level Elektronis

Pada level ini, fungsi-fungsi logika


yang diimplementasikan pada level
logika akan diimplementasikan ke
dalam untai-untai elektronis.
Level Arsitektural
Contoh: Model
Aspek
Perilaku/Fungsional

Struktural MULT
Level PC = PC + 1
FETCH(PC+1) ADD
Arsitektural DECODE(INST) CONTROL

RAM
Level Logika

Contoh:
a

State B b

x
State A State C c

d D Q
y
clock Ck Q
Level Elektronik

Contoh :
Spesifikasi dan Implementasi sistem digital

Spesifikasi Proses Sintesis Implementasi

Proses Analisis
Spesifikasi dan Implementasi sistem digital

• Spesifikasi :
mengacu pada diskripsi fungsional sistem
apa yang dapat dilakukan oleh sistem dan
karakteristik pemakaiannya (kecepatan,
teknologi, konsumsi dayanya dsb)
Spesifikasi dan Implementasi sistem digital

• Implementasi :
Implementasi (hasil rancangan)
mendiskripsikan bagaimana sistem
dikonstruksikan, dengan saling
menghubungkan komponen-komponen
dasar pada level tertentu.
Spesifikasi dan Implementasi sistem digital

• Perancangan :
adalah proses merancang implementasi
yang dapat memenuhi spesifikasi sistem.
Spesifikasi dan Implementasi sistem digital

• Analisis :
adalah proses mencari spesifikasi sistem,
analisis dilakukan terhadap sebuah hasil
rancangan (Implementasi).
Spesifikasi dan Implementasi sistem digital

Hasil analisis ini dibandingkan untuk


menentukan apakah suatu hasil
rancangan memenuhi spesifikasi yang
telah ditentukan diawal perancangan
PENINGKATAN KINERJA
• Kinerja sistem digital tergantung pada
kecepatan untai pembentuk unit-unit
fungsionalnya.

• Kinerja yang lebih baik dapat dicapai


dengan menggunakan untai yang
kecepatannya lebih baik.
PENINGKATAN KINERJA
• Peningkatan kecepatan :
2. Pendekatan teknologis, yaitu dengan
menggunakan komponen-komponen
dengan teknologi kecepatan tinggi

4. Pendekatan arsitektural, yaitu dengan


memanipulasi struktur untai fungsional.
PENINGKATAN KINERJA
• Contoh pendekatan arsitektural :

ADDER
a) RIPPLE CARRY ADDER

Ripple carry adder adalah penjumlahan


dua bilangan n-bit, yang terdiri dari n-
buah Full adder
Contoh pendekatan arsitektural :
• RIPPLE CARRY ADDER
Gambar diagram blok :
A1 B1 C1

FA1

C1+1 S1

Sum : S1 = A1B1C1 + A1B1C1 + A1B1C1 + A1B1C1

Carry out : C1+1 = A1B1C1 + A1B1C1 + A1B1C1 + A1B1C1

= A1B1 + A1C1 + B1C1


Contoh pendekatan arsitektural :
• RIPPLE CARRY ADDER
Tabel Kebenaran Full Adder :
Input output
A1 B1 C1 C1+1 S1
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
Contoh pendekatan arsitektural :
• RIPPLE CARRY ADDER
Gambar untai logika :
Contoh pendekatan arsitektural :
• RIPPLE CARRY ADDER
Gambar untai logika :
Contoh pendekatan arsitektural :
• CARRY-LOOKAHEAD ADDER :
Untuk mengurangi tunda perambatan carry carry
pada penjumlahan Ripple carry, pada setiap bit
kita dapat mengevaluasi dengan cepat apakah
carry dari bit sebelumnya akan muncul “0” atau
“1”. Bila evaluasi dapat dilakukan dalam waktu
yang cepat maka waktu yang dibutuhkan untuk
penjumlahan lengkap dapat lebih cepat.
Contoh pendekatan arsitektural :
• CARRY-LOOKAHEAD ADDER :
Dari tabel kebenaran Full Adder,
C1+1 = A1B1 + A1C1 + B1C1
= A1B1 + (A1 + B1)C1 = g1 + p1C1
dimana g1 = A1B1 dan p1 = A1 + B1
C1+1 = g1 + p1C1
= g1 + p1 (g1-1 + p1-1 C1-1)
= g1+p1g1-1+p1p1-1g1-2+…+p1p1-1…p2p1g0+p1p1-1…p1p0C0
Bentuk AND-OR dua level
Contoh pendekatan arsitektural :
• CARRY-LOOKAHEAD ADDER :
Bentuk AND-OR dua level
Contoh pendekatan arsitektural :
• CARRY-LOOKAHEAD ADDER :
Jadi pada tiap bit, carry out dapat dibangkitkan
secara serentak, tidak perlu dirambatkan.

Perhatikan pembangkitan Carry-out pada bit-0


dan bit-1 untuk penjumlahan Ripple Carry dan
penjumlahan Carry-Look-Ahead di bawah ini
Contoh pendekatan arsitektural :
• CARRY-LOOKAHEAD ADDER :
Contoh pendekatan arsitektural :
• n-bit Ripple Carry Adder :
An-1Bn-1Cn-1 A1 B1 C1 A0 B0 C0

FAn-1 … FA1 FA0

Cn S2 C2 S1 C1 S0
Contoh pendekatan arsitektural :
• n-bit Ripple Carry Adder :
Carry-out dari FA1 dirambatkan ke bit berikutnya melalui
carry-in C1+1 pada FA1+1
Perambatan carry dari LSB (Least Significant Bit-bit
dengan bobot terkecil) ke MSB (Most Significant Bit-bit
dengan bobot tertinggi) menimbulkan tunda perambatan.
Bila tunda perambatan pada sebuah Full Adder adalah
∆FA, maka hasil penjumlahan lengkap dua bilangan n-bit
membutuhkan tunda perambatan maksimum (yang
mungkin terjadi) sebesar n ∆FA
Contoh pendekatan arsitektural :
• n-bit Ripple Carry Adder :
Contoh pendekatan arsitektural :
• Perkalian :

2 bilangan tak bertanda


Perkalian
2 bilangan bertanda
Contoh pendekatan arsitektural :
1. Perkalian tak bertanda

Multiplicant Quptient

X MULTIPLIER

Hasil
Contoh pendekatan arsitektural :
• Perkalian tak bertanda
M : mn-1 … m1 m0
Q : qn-1 … q1 q0
Untuk 1110 : 1 0 1 1 (M)
1310 : 1 1 0 1 (Q) X
Dekoder sekuensial untuk panjang
sandi bervariasi :
• Pada sistem sandi dengan panjang sandi
bervariasi terdapat ketentuan dimana
kombinasi biner dari sebuah sandi tidak
boleh digunakan lagi sebagai bit-bit awal
pada sandi yang lain. Ketentuan ini untuk
memudahkan pemisahan (pendeteksian
batas) antar sandi.
Dekoder sekuensial untuk panjang
sandi bervariasi :
Sandi Input Output

x(t) x(t-1) x(t-2) x(t-3)

0 a
1 0 b
1 1 0 c
1 1 1 0 d
1 1 1 1 e
Dekoder sekuensial untuk panjang
sandi bervariasi :
• Diagram aliran Isyarat:

Sa
1
0/b
Sb
0/a 1 0/c

Sc
1
0/d
1/e Sd
Untai Hitung Sekuensial
• Untai hitung sekuensial adalah untai
hitung yang masukannya diberikan secara
serial, bit per bit.
• Contoh :
• Penjumlahan paralel n bit, penjumlahan
pada bit ke-i harus menunggu “ carry “ dari
hasil penjumlahan bit ke i-1.
Bit : 3 2 1 0
X 0 1 0 1
Y 0 1 1 1 + X0
Sum0 1 0 X1 S0
X2
S1
Carry0 0 1 + X3
S2
Sum1 0 S3
Y0
Carry1 1 +
Y1 C
Sum2 1 Y2
Y3
Carry2 1 +
Sum3 1
Carry3 0
• Pada Penjumlahan n-bit serial,
Bit ke 0 1 ….. n-1
X: x(0) x(1) x(n-1)
Sebagai runtun input
Y: y(0) y(1) y(n-1)

Sum … … … Sebagai runtun output

Carry 0/1 0/1 0/1 Sebagai keadaan yang harus


diingat
IMPLEMENTASI FSM SINKRON

• TAHAP TAHAP PERANCANGAN :


Spesifikasi

Sintesis

Implementasi
Modifikasi
Analisis
CONTOH :
• Tabel Kebenaran Biner :
Dengan flip-flop D sebagai unsur pengingat keadaan,
maka Q(t+1) = D(t)
Qa(t+1) = Da(t) dan Qb(t+1) = Db(t).

PS Input Output Eksitasi NS


Qa Qb X Z=(1) Y=(2) Da=(3) Db=(4) NQa=Da NQb=Db
0 0 0 0 0 1 1 1 1
1 0 0 0 1 0 1
0 1 0 0 0 0 0 0 0
1 0 0 0 0 0 0
1 0 0 0 1 1 1 1 1
1 0 1 0 1 0 1
1 1 0 1 0 0 0 0 0
1 1 0 0 0 0 0
Dampak yang mempengaruhi dalam
Perancangan Sistem Digital

• Dampak Perkembangan Mikroelektronik


(Teknologi IC)
• Dampak Terhadap Perancangan
Dampak Perkembangan Mikroelektronik
(Teknologi IC)

 Meningkatnya Kompleksitas Untai (Karena


derajad integrasi yang tinggi)
 Pendeknya Live-cycle sebuah produk
elektronik
Dampak Terhadap Perancangan

 Aspek Optimasi unjuk kerja dan area (chip-


area)
 Aspek Testability hasil rancangan
 Aspek waktu perancangan, automatisasi
perancangan (dengan CAD sebagai desain
tool) membantu
mempercepat proses perancangan dan untuk
mengurangi human-error.
Ragam Perancangan :
Berdasarkan komponen-komponen dasar yang digunakan
untuk membangun sebuah sistem digital.
Terdapat 2 ragam perancangan, yaitu :

1. Semi Custom :
Menggunakan chip/IC yang seluruh atau sebagian rangkaian
internalnya sudah diprogam oleh pabrik.
2. Custom Design Chips
1. Semi Custom :

a) Chip-chip baku (standard)


Rangkaian internal chip-chip tersebut
mengimplementasikan fungsi-fungsi logika standar yang
sederhana dan terbatas ragamnya. Untuk membangun
sebuah sistem digital si-perancang memilih chip-chip
tersebut dan menentukan interkoneksi antar chip.
Contoh: Multiplekser/Demultiplekser,
Decoder/Encoder, Adder, Multiplier.
1. Semi Custom :

b) Programable Logic Devices (PLD)


Berbeda dari chip-chip baku, chip-chip PLD memiliki
struktur umum yang terdiri dari sejumlah besar saklar
yang dapat dikonfigurasi (diprogram) dan direkonfigurasi
oleh perancang untuk mengimplementasikan berbagai
fungsi non standar.
Contoh: EPROM, PLA, PAL, FPGA.
2. Custom Design Chips :

• Pada ragam perancangan ini si Perancang harus merancang


sendiri rangkaian logika yang harus ada di dalam chip untuk
mengimplementasikan sistem yang dirancang juga
menentukan teknologi untuk mengimplementasikan chip
tersebut. Rancangan dapat dioperasikan baik kinerja maupun
pemakaian areanya. Selanjutnya chip ini akan dibuat oleh
pabrik pembuat IC.
2. Custom Design Chips :

• Karena pada umumnya rancangan ini ditujukan untuk


aplikasi khusus, maka chip-nya disebut ASIC (Application
Specific Integrated Circuit).
PROSES PERANCANGAN
• (1)Konsep (2) Rancangan Behavioural
(perilaku) (3) Rancangan Fungsional (4)
Rancangan Logika
(5) Rancangan Fisik (6) Fabrikasi Produk
1. KONSEP

• Konseptualisasi ide (ide baru atau


peningkatan pruduk lama)
Menganalisis kebutuhan (kinerja, fungsi,
harga)
Spesifikasi produk (apa yang dapat
dilakukan oleh produk tsb)
2. RANCANGAN PERILAKU

• Mendiskripsikan Perilaku produk


(bagaimana produk tsb melakukan)
3. RANCANGAN FUNGSIONAL

• Mengidentifikasikan unit2 fungsional dan


interkoneksi antar unit
4. RANCANGAN LOGIKA

• Merancang logika masing2 unit fungsional


5. RANCANGAN FISIK

• Merancang penempatan fisik (tata letak)


komponen2 dasar, route kabel
penghubung antar komponen.
TAHAP-TAHAP PERANCANGAN

• Konseptualisasi dan pemodelan


• Sintesis dan Optimasi
• Validasi
Model
• Model adalah abstaksi atau representasi yang
menunjukan ciri- ciri penting, tanpa
menyinggung detail implementasinya.
Model
• Untuk diskripsi dan perancangan pada
level arsitektural dan logika dibutuhkan
model pada masing-masing level. Model
tersebut disajikan dari aspek
perilaku/fungsional (behavioural) atau
dari aspek struktural.
Model
a)Model level Arsitektural
b)Model level Logika
c)Model level Geometris

a) Model Perilaku (Behavioural)


b) Model Struktural
c) Model Fisik
Model

transformasi
Model perilaku Model Struktural
*Menggambarkan fungsi rangkaian, *Menggambarkan interkoneksi
komponen-
tanpa menyinggung inplementasinya. Komponen yang
mengimplementasikan
fungsi-fungsi yang terdapat pada model
perilaku.
Model

• Sintesis level Arsitektur (sintesis level tinggi, sintesis


struktural)

Menentukan fungsi-fungsi untai ke operator-operator


Satu set operasi beserta Interkoneksi blok-blok
komponen2
Ketergantungannya. Pembangun (struktur mikroskopis)
Bentuk-bentuk model perilaku Model Struktural
Model

• Terdapat dua model yang berguna dalam


pendiskripsian dan perancangan sistem-sistem
digital :
1. Model Sistem 2. Model Algoritmis
• Model Sistem berguna untuk memperkenalkan
konsep-konsep dasar, analisis dan perancangan
sistem-sistem sederhana (yang digunakan sebagai
komponen-komponen dasar bagi sistem-sistem
yang lebih komplek)
• Model Algoritmis lebih sesuai digunakan untuk
menggambarkan sistem-sistem yang lebih
kompleks.
Model
• Model Sistem (Model Mesin Keadaan)
Sebuah sistem dapat digambarkan sebagai sebuah
kotak hitam dengan sebuah input dari sekitaran dan
sebuah output ke sekitaran. Sebuah sistem disebut
dinamis bila input dan outputnya merupakan fungsi
waktu.

X S Z
Model
• Model Sistem (Model Mesin Keadaan)

X(t), Z(t)

X(t)

Z(t)

0 t t
Model

• Model Sistem (Model Mesin Keadaan)


Perilaku waktu dari sistem dinyatakan oleh fungsi F,

z = F(x)
Sebuah sistem digital adalah sistem dinamis yang
input dan outputnya pada waktu t hanya dapat
mengambil harga dari himpunan berhingga nilai-
nilai diskret.
Pada sisten digital sinkron fungsi-fungsi waktu
tersebut hanya dapat berubah harga pada titik-titk
waktu diskret yang ditentukan oleh clock
penyinkron.
Model

• Model Sistem (Model Mesin Keadaan)

0 1 2 3 4 5 6 7 8 t

t fungsi input

t fungsi output
Model
• Model Sistem (Model Mesin Keadaan)
Untuk sistem digital sinkron, output pada saat t
dinyatakan oleh fungsi G,

z(t) = G{x(t),x(0,t-1)}

Input saat t
Input-input sebelumnya

Diklasifikasikan menjadi kelompok-kelompok


runtun input. Tiap kelompok runtun membentuk
Sebuah keadaan (state)
Model

• Model Sistem (Model Mesin Keadaan)


Dengan memperkenalkan variabel keadaan, maka
sistem dapat didiskripsikan oleh dua persamaan
sebagai berikut :
1. fungsi input z(t) = G1{x(t), s(t)}

2. fungsi transisi keadaan s(t+1) = G2{x(t), s(t)}

Dengan adanya variabel keadaan pada sistem


disebut sebagai Mesin Keadaan (state-machine)
Model

• Model Sistem (Model Mesin Keadaan)


• Contoh:
Sebuah sistem digital S mempunyai sebuah input x yang dapat
berharga 0, 1 atau 2, dan sebuah output z bernilai 0 atau 1.
Fungsi output ditentukan sebagai berikut :

{
1 bila runtun input [x(0), x(1), ..., x(t)] mengandung
harga”2” yang jumlahnya genap dan harga “1”
Z(t) = yang jumlahnya ganjil.

0 selain ketentuan di atas


Model

• Model Sistem (Model Mesin Keadaan)


• Penyelesaian:
Untuk menentukan harga output pada saat t, harus
diketahui harga input pada saat t dan ganjil-genapnya
jumlah nilai “2” dan “1” dalam runtun input 0 sampai
dengan (t-1)
Sistem memiliki 4 keadaan sesuai dengan klasifikasi
berikut ini:
Model

• Model Sistem (Model Mesin Keadaan)


• Penyelesaian:
state Jumlah “1” Jumlah “2”
dalam x(0,t-1) dalam x(0,t-1)

S0 ganjil genap
S1 ganjil ganjil
diskripsi
S2 genap ganjil keadaan
S3 genap genap
Model

• Model Sistem (Model Mesin Keadaan)


• Penyelesaian:
Present state Input x(t)
S(t)
0 1 2
S0 S0 S3 S1
S1 S1 S2 S0 Transisi
Keadaan
S2 S2 S1 S3 sistem
S3 S3 S0 S2

Next-state S(t+1)
Model

• Model Sistem (Model Mesin Keadaan)


• Penyelesaian:
Present state Input x(t)
S(t)
0 1 2
S0 1 0 0
S1 0 0 1 Output
sistem
S2 0 0 0
S3 0 1 0

Output z(t)
Model

• Model Sistem (Model Mesin Keadaan)


• Penyelesaian:
t 0 1 2 3 4 5 6 7 8
x 0 0 1 2 1 2 0 1 1
s Sa
z 0
Model Algoritmis

• MODEL ALGORITMIS

Pada model ini sistem digital dianggap mengerjakan


komputasi. Obyek2 data diberikan pada sistem,
sistem melakukan komputasi dengan
mentransformasi obyek2 data tsb.
Model Algoritmis

• MODEL ALGORITMIS

Bila komputasi terlalu kompleks maka komputasi


dipecah (dekomposisi) menjadi runtun komputasi
yang lebih sederhana. Algoritma adalahgambaran
dekomposisi komputasi tsb.
Model Algoritmis
Sebagai mesin komputasi, sistem memerlukan
elemen2 sbb :
2. Storage untuk penyimpanan obyek2 data.

4. Operator2 untuk melaksanakan komputasi dasar


terhadap vektor2 data (disebut bagian data path)

6. Kontrol untuk pengurutan pelaksanaan komputasi2


dasar.
Model Algoritmis
• Algoritma yang dieksekusi oleh sistem
dapat bersifat tetap atau dapat diubah
(programmable). Sistem yang
programmable membutuhkan storage
untuk menyimpan algoritmanya
Model Algoritmis
• Model algoritmis digunakan untuk
spesifikasi dan implementasi sistem digital
yang kompleks pada level sistem
(arsitektural).
Model Algoritmis

• Sedangkan untuk spesifikasi dan


implementasi elemen2 sistem (storage,
operators, control) digunakan model sistem
(state machine).
Model Algoritmis
• Perancangan sistem dengan pendekatan
model algoritmis terdiri atas :
1. Diskripsi struktural. Spesifikasi struktur dan
interkoneksi komponen2nya (storage,
operator, kontrol)
Model Algoritmis
• Perancangan sistem dengan pendekatan
model algoritmis terdiri atas :
2. Deskripsi keperilakuan (behavioural).
Spesifikasi algoritma2 yang akna
dieksekusi sistem.
Model Algoritmis
Perancangan sistem dengan
pendekatan model algoritmis terdiri atas :
3. Format representasi data dan algoritma.
Model Algoritmis
CONTOH :
• Sebuah komputasi untuk mencari harga
maksimum diantara n buah integer.
Setiap integer direpresentasikan
sebagai sebuah vektor yang
elemen2nya berupa variabel2 biner.
Vektor2 tsb disimpan dalam storage,
sedangkan hasil komputasi di register
MAX
Model Algoritmis

OPERASI2 DASAR YANG DIPERLUKAN


• READFIRST membaca data pertama dari
storage dan menyimpannya di register MAX.

• READNEXT membaca data berikutnya dari


storage dan menyimpannya di register TEMP.
Model Algoritmis

OPERASI2 DASAR YANG DIPERLUKAN

• COMPARE membandingkan TEMP dan MAX


dan menyimpan 1 dalam COMP bila TEMP >
MAX, dan 0 bila TEMP <= MAX

• EXCHANGE mempertukarkan isi TEMP dan isi


MAX
Model Algoritmis

Operasi2 kontrol :
• SETCOUNT menginisialisasi isi COUNT dengan
nilai 1.

• COUNTUP menaikkan 1 ini COUNT


Model Algoritmis

• Algoritma terdiri dari beberapa pernyataan yang


dieksekusi sesuai dengan urutan penulisannya.
Untuk mengubah urutan tersebut diperlukan
operasi percabangan bersyarat, BRANCH if
(condition) to (nomor statement).
Model Algoritmis
Diskripsi struktural sistem tersebut :
READFIRST
STORAGE
INPUT READNEXT
DATA BEGIN

MAX TEMP

EXCHANGE END
EXCHANGE
CONTROL
COMPARE
COMPARE

I/O
COMP

SETCOUNT
COUNT
COUNTUP
Model Algoritmis

• Model algoritmis dapat diterapkan pada


beberapa level perancangan, tergantung
pada kompleksitas komputasi dasar yang
diperbolehkan pada sebuah level. Terdapat
3 level penerapan, ketiga level tersebut
membentuk sebuah sistem hirarkhis.
Model Algoritmis

Statemen-statemen bahasa pemrograman tingkat tinggi.


Level Software Algoritma diimplementasikan dalam bentuk program

Operasi-operasi mikro yang mirip instruksi logika pada


Level Firmware
Level hardware. Programnya disebut Mikroprogram.

Operasi-operasi logika yang diimplementasikan bentuk


Level Hardware Rangkaian komponen-komponen logika.
MODEL SISTEM

Klasifikasi Sistem Digital :


1. Sistem kombinatorial
2. Sistem Sekuensial
SISTEM KOMBINATORIAL

• Output sistem ditentukan oleh input sistem


pada saat itu.

y(t) = F{x(t)}
SISTEM SEKUENSIAL
• Output sistem ditentukan oleh input sistem
pada saat itu dan input input sebelumnya

Input Bag. Output


kombinatorial

Pengingat/tunda
KONSEP KEADAAN

• Sistem sekuensial memerlukan


unsur pengingat untuk
menyimpan informasi tentang
input masa lalu {x(0)}
KONSEP KEADAAN

• Bila informasi yang harus diingat


jumlahnya tak berhingga, maka sistem
disebut sistem dengan ingatan (memory)
yang tak berhingga. Sistem dengan
ingatan tak berhingga ini tidak dapat
diimplementasikan karena keterbatasan
perangkat keras
KONSEP KEADAAN

• Bila informasi masa lalu yang jumlahnya


tak berhingga tsb, dapat diabstraksikan /
diringkas menjadi sejumlah informasi yang
paling relevan (yang menentukan perilaku
sistem), maka sistem ini dikatakan
memiliki memory yang panjangnya
berhingga. Sistem ini dapat
diimplementasikan.
FSM SINKRON VS ASINKRON

- FSM Asinkron : Mesin Asinkron


merespons (melakukan transisi
keadaan) langsung setiap
perubahan input.
FSM SINKRON VS ASINKRON

- FSM Sinkron : Respons (transisi


keadaan) terhadap perubahan
input hanya dilakukan pada waktu
waktu tertentu (ditentukan oleh
pulsa pulsa clock sebagai
pewaktu)
MODEL FSM SINKRON
FSM SINKRON
Input Output
Sistem

pengingat
Clock
keadaan
MODEL FSM ASINKRON
FSM ASINKRON
Input Output
Sistem

pengingat
keadaan
Metode Diagram Keadaan
-Fungsi output :
y(t)=F{x(0,t)}

dengan x(0,t)=x{0, (t-1)},x(t)

=S(t),x(t)
maka,
y(t)=F{S(t),x(t)}
Fungsi Transisi Keadaan
• Transisi Keadaan Sistem, yaitu transisi dari
keadaan saat ini (Present State) ke keadaan
berikutnya (Next State), dinyatakan oleh fungsi
transisi
S(t+1)=G{S(t),x(t)}

x(t) : Input saat ini


S(t) : Keadaan Sistem saat ini
S(t+1) : Keadaan Berikutnya
CONTOH-CONTOH MESIN
KEADAAN

• Contoh 1 : Sistem Sekuensial dengan


memory tak berhingga

• Contoh 2 : Sebuah mesin keadaan


dengan input biner x dan y, dan output
biner f.
Contoh 1 :

Sistem sekuensial dengan memory tak berhingga.


Mesin keadaan dengan 2 input biner x dan y, dan
dengan output biner f.

f { =1, bila jumlah logika “1” pada runtun x lebih


besar dari jumlah logika “1” pada runtun y.
=0, bila syarat diatas tidak dipenuhi.
Contoh 2 :

Sebuah mesin keadaan dengan input biner


x dan y, dan output biner f. Mesin ini akan
mendeteksi saat dimana jumlah logika “1” pada
runtun x(0,t) adalah genap dan jumlah logika “1”
pada runtun y(0,t) juga genap.
Diskripsi Keadaan sistem
Nama keadaan Diskripsi Ingatan
(S(t)) (runtun input (0,(t-1))

1.Sa menunjukkan keadaan awal (belum ada input


yang masuk)
2.See mengingat jumlah genap pada runtun x dan
jumlah genap pada runtun y.
3.Seo mengingat jumlah genap pada runtun x dan
jumlah ganjil pada runtun y.
4. Soe mengingat jumlah ganjil pada runtun x dan
jumlah genap pada runtun y.
5. Soo mengingat jumlah ganjil pada runtun x dan
jumlah ganjil pada runtun y.
Tabel Transisi Keadaan

Contoh 1 : Mesin yang mendeteksi peristiwa


(event) dimana input saat ini=input
sebelumnya.
MESIN MEALY & MOORE

• Me sin Mealy :
State (t+1) = [State(t),Input(t)]

Output(t) = G[State(t),Input(t)]
MESIN MEALY & MOORE

• Me si n Moore :
State(t+1)={State(t),Input(t)}

Output(t) = G{State(t)
DIAGRAM KEADAAN
-Diagram Keadaan Mealy :
Pandang S1 sebagai
S1 S2
“present state” :
-“present input” a akan
memberikan “present
S3
output” p
dan transisi ke keadaan S2
pada clock berikutnya
(“next state”)
DIAGRAM KEADAAN
-Diagram Keadaan Mealy :
Pandang S1 sebagai
S1 S2
“present state” :
- “present input” b akan
memberikan “present output” q
S3
dan transisi ke keadaan S3
(sebagai “next state”)
DIAGRAM KEADAAN
-Diagram Keadaan Moore :
Pandang “present state” S1
S1/p S2/q yang “present output”nya p :
- “present input” a akan
S3 menyebabkan transisi ke
keadaan S2.
DIAGRAM KEADAAN
Diagram Keadaan Moore :
Pandang “present state” S1
S1/p S2/q yang “present output”nya p :
- “present input” b akan
S3
menyebabkan transisi ke
keadaan S3
ASM Chart

- Keadaan : Sa: [F]

Simbol ini menyatakan “pintu masuk” ke suatu


Keadaan.
Sa : nama keadaan
[F] : output-output yang “aktif” pada saat sistem
masuk ke keadaan Sa
output2 ini diaktifkan tanpa mempedulikan input
saat itu.
-Pengujian Input/pengambilan
Keputusan

x
Simbol ini menyatakan pengujian
input
pada suatu keadaan. Hasil pengujian
menentukan arah transisi keadaan
(Next state), dan output yang harus
diaktifkan.
PENCACAH

Pencacah adalah sistem sekuensial dasar yang


banyak digunakan sebagai bagian dari sistem
sekuensial yang lebih kompleks.
• - Fungsi Output :

 t

f(t) = ∑ x(i)mod p
 i=0 
• - Fungsi Next State :

Bila keadaan keadaan tsb kita sandikan dari 0 s/d


(p-1), maka S(t+1) = (S(t) + x(t)) mod p
Jumlah keadaan = p
dan f(t) = S(t)
PENGENAL POLA

Pengenal pola mempunyai satu output biner


f yang menyatakan terdeteksinya pola
tertentu pada sub-runtun inputnya.
PENGENAL POLA
Bila pola yang harus dikenali adalah
P = (p0,p1,…,pm-1), panjangnya = m bit

1, bila x(t-m+1,t) = P
f(t) =
0, bila selain syarat diatas
Contoh :
Pola P = 010
Runtun input : 1 0 0 1 0 0 0 1 0 1 0 1 1

-Diskripsi keadaan :
Untuk mengenal pola yang panjangnya m, maka
sistem ini harus mengingat m-1 input sebelumnya
PENGENAL POLA BLOK

Pola overlap akan terdeteksi. Hal ini


dikarenakan tidak adanya format data
pada runtun inputnya.

Bila runtun inputnya merupakan runtun blok,


maka untuk mengenali pola tertentu dalam
sebuah blok digunakan pengenal pola blok.
Contoh :
- Pengenal pola blok :
Pola P = 010 panjang blok = 3
Runtun input : 1 0 0 1 0 0 0 1 0 1 0 1
- Diskripsi keadaan :
Kemungkinan2 kombinasi ini x(t-2)
x(t-1) :
00,01,10,11
PENGENAL PERISTIWA
(“EVENT RECOGNIZER”)
• Pengenal peristiwa mengenali munculnya
peristiwa peristiwa E dalam runtun inputnya.
Contoh :

- Input dengan himpunan harga x={a,b,c}


- Output biner f ={0,1},

1, bila a +∑ b dalam∑ runtun


f(t) = x(0,t) adalah genap, dan x(t)=b
0, selain syarat diatas
Contoh :

Peristiwa yang harus dikenali adalah:


t t

∑ a + ∑b
0 0

dalam runtun x(0,t) adalah genap


dan x(t)=b
PEMBANGKIT POLA
• FSM jenis ini menghasilkan runtun output
dengan pola tertentu.
• Pembangkitan pola output P=p0,p1,…pk-1
dipicu oleh input “start”, selanjutnya
pembangkitan bit-bit dalam pola tsb tidak
tergantung pada inputnya.
Dua Jenis Pembangkit Pola

1. Pembangkit pola nonperiodis


(“one shot”)
2 . Pembangkit pola periodis
(“free running”/ kontinu)
PEMBANGKIT POLA
NONPERIODIS
• Satu input “start” membangkitkan satu pola P.
• Runtun output f(t+1,t+k) = P, bila x(t) = start

start
Sawal/0 S0/p S1/p1
start d

d d

Sk-1/pk-1 S2/P2
d
PEMBANGKIT POLA PERIODIS
• Satu input “start” membangkitkan runtun pola P.
• Runtun output F(ik+1,ik+k) = P, bila x(0) = start,
untuk I = 0,1,2,..
start d
Sawal/0 S0/p S1/p
start
d d

Sk-1/pk-1 d S2/p2

“free running”
DEKODER SEKUENSIAL

• Dekoder Kombinatorial

• Dekoder Sekuensial
DEKODER SEKUENSIAL

• Dekoder Kombinatorial : Satu sandi –n- bit


yang diberikan secara paralel pada input akan
membangkitkan salah satu dari bit-bit
outputnya (1 dari 2” bit output).
DEKODER SEKUENSIAL

• Dekoder Sekuensial : Satu sandi –n- bit


yang diberikan secara serial (bit per bit)
pada input akan membangkitkan salah
satu dari 2n bit-bit outputnya.
• Dekoder Sekuensial umumnya digunakan
untuk sistem sandi yang panjangnya
Variabel.
Dekoder Sekuensial untuk panjang
sandi tetap

Sandi Input Output y(t)


X(t) x(t-1) d c b a
0 0 0 0 0 1
0 1
1 0
1 1
Dekoder sekuensial untuk panjang
sandi bervariasi :
• Pada sistem sandi dengan panjang sandi
bervariasi terdapat ketentuan dimana
kombinasi biner dari sebuah sandi tidak
boleh digunakan lagi sebagai bit-bit awal
pada sandi yang lain. Ketentuan ini untuk
memudahkan pemisahan (pendeteksian
batas) antar sandi.
Dekoder sekuensial untuk panjang
sandi bervariasi :
Sandi Input Output
x(t) x(t-1) x(t-2) x(t-3)
0 a
1 0 b
1 1 0 c
1 1 1 0 d
1 1 1 1 e
Dekoder sekuensial untuk panjang
sandi bervariasi :
• Diagram aliran Isyarat:

Sa
1
0/b
Sb
0/a 1 0/c

Sc
1
0/d
1/e Sd
Untai Hitung Sekuensial
• Untai hitung sekuensial adalah untai
hitung yang masukannya diberikan secara
serial, bit per bit.
• Contoh :
• Penjumlahan paralel n bit, penjumlahan
pada bit ke-i harus menunggu “ carry “ dari
hasil penjumlahan bit ke i-1.
Bit : 3 2 1 0
X 0 1 0 1
Y 0 1 1 1 + X0
Sum0 1 0 X1 S0
X2
S1
Carry0 0 1 + X3
S2
Sum1 0 S3
Y0
Carry1 1 +
Y1 C
Sum2 1 Y2
Y3
Carry2 1 +
Sum3 1
Carry3 0
• Pada Penjumlahan n-bit serial,
Bit ke 0 1 ….. n-1
X: x(0) x(1) x(n-1)
Sebagai runtun input
Y: y(0) y(1) y(n-1)

Sum … … … Sebagai runtun output

Carry 0/1 0/1 0/1 Sebagai keadaan yang harus


diingat
IMPLEMENTASI FSM SINKRON
• TAHAP TAHAP PERANCANGAN :

Spesifikasi

Sintesis

Implementasi
Modifikasi
Analisis
IMPLEMENTASI FSM SINKRON
• Implementasi Kakonis (baku)
Bagian pengingat keadaan terdiri dari
beberapa flip-flop (membentuk register
paralel-in paralel-out)
IMPLEMENTASI FSM SINKRON

input output
Bagian
kombinatorial
eksitasi

Flip-flop 2
keadaan (register)
keadaan
IMPLEMENTASI FSM SINKRON
• Implementasi Non-kanonis
Bagian pengingat keadaanya dapat
menggunakan pencacah, register geser,
RAM dsb.
Kedua implementasi tersebut dapat
diimplementasikan secara modular atau
non-modular
IMPLEMENTASI FSM SINKRON
• Implementasi modular
Menggunakan modul-modul kombinatorial
standard (Mux, Demux, Dekoder, Enkoder,
ROM, PLA) dan modul-modul standard
sekuensial (register, register geser, pencacah)
• Implementasi Non-modular
Menggunakan gerbang-gerbang nalar dan flip-
flop
IMPLEMENTASI KAKONIS
• Pencatat/register keadaan : Terdiri dari
sejumlah flip-flop (jumlah FF tergantung
pada penyandian keadaan)
• Bagian kombinatorial membentuk fungsi
output dan fungsi eksitasi.
• Fungsi eksitasi :
Fungsi ini mengarahkan transisi keadaan
FSM, dalam hal ini transisi keadaan flip-flop 2
pengingat keadaan.
feks (t) = F{input (t), keadaan (t)}
CONTOH :
a) FSM dengan dua flip-flop D sebagai
pengingat keadaan:

Qa Da Fungsi-fungsi eksitasi :

clk •Da(t) = F{input(t),state(t)}


“state” •Db(t) = G{input(t),state(t)}

Qb Db

clk

clock
CONTOH :

b) FSM dengan dua flip-flop JK sebagai


pengingat keadaan :

Fungsi-fungsi eksitasi :
* Ja = F{input(t), S(t)} * Ka = G{input(t), S(t)}
* Jb = H{input(t), S(t)} * Kb = I{input(t), S(t)}
TRANSISI KEADAAN FLIP-FLOP
• Masalah Analisis:
Diketahui untai kombinatorial sebuah rancangan,
sehingga eksitasinya diketahui. Selanjutnya transisi-
keadaan dapat ditentukan.
S(t+1) = F[e(t)]
• Masalah Sintesis:
Diketahui transisi-keadaannya, sehingga fungsi eksitasi
dapat ditentukan. Selanjtnya untai kombinatorial (untuk
pembentukan fungsi eksitasi) dapat dirancang.
a) FF D :
Presen Input Next
t FF State
State Transisi Eksitasi
Q(t) D(t) Q(t+1)
0 0 0 Q(t) Q(t+1) D(t)
0 1 1 d 0 0
1 0 0 d 1 1
1 1 1 D = don’t care (x)
= sembarang
b) FF SR (Set/Reset) :
Q Q+ S R
Q S R
Q+ 0 0 0 d
0 0 0 0
0 1 1 0
0 0 1 0
1 0 0 1
0 1 0 1
1 1 d 0
0 1 1 *
1 0 0 1 D-FF
1 0 1 0 D Q

clk
1 1 0 1
c) FF JK :

Q J K Q Q+ J K
Q+
0 0 0 0 0 0 0 d
0 0 1 0 0 1 1 d
0 1 0 1 1 0 d 1
0 1 1 1 1 1 d 0
1 0 0 1
1 0 1 0
1 1 0 1
1 1 1 0
d) FF T :
Q T Q+ Q Q+ T
0 0 0 0 0 0
0 1 1 0 1 1
1 0 1 1 0 1
1 1 0 1 1 0
ANALISIS FSM SINKRON
KANONIS
• Analisis silakukan pada suatu hasil rancangan
dengan tujuan untuk mengetahui perilakunya.
• Untuk FSM, dari bagian kombinatorialnya dapat
diketahui fungsi output dan fungsi eksitasi
keadaannya.
• Selanjutnya, dari fungsi eksitasi tsb dapat
ditentukan transisi keadaan flip-flop2nya,
sehingga dapat dibuat tabel Transisi keadaan
level biner.
ANALISIS FSM SINKRON
KANONIS
• Dari tabel keadaan level biner dapat dibuat
tabel keadaan level tinggi.
• Berdasarkan tabel keadaan level tinggi dapat
dibuat Diagram keadaan/ ASM yang
menggunakan perilaku FSM ybs.
CONTOH :
.
1 Analisislah rangkaian sekuensial di bawah ini:
X

Qa Qa Da

Qa Qa ck Clock

Qb Qb Db

Qb Qb ck
CONTOH :
X Qb Qb Qa Qa

Qa Da
Clk Clock
Qa

Qb Db
Clk
Qb
CONTOH :
• Fungsi output :
Z = Qa.Qb …………….(1)
Y = Qa.Qb …………….(2)

• Fungsi eksitasi :
Da = X.Qb ……………..(3)
Db = Qb ………………..(4)
CONTOH :
• Tabel Kebenaran Biner :
Dengan flip-flop D sebagai unsur pengingat keadaan, maka Q(t+1) =
D(t)
Qa(t+1) = Da(t) dan Qb(t+1) = Db(t).
PS Input Output Eksitasi NS
Qa Qb X Z=(1) Y=(2) Da=(3) Db=(4) NQa=Da NQb=Db
0 0 0 0 0 1 1 1 1
1 0 0 0 1 0 1
0 1 0 0 0 0 0 0 0
1 0 0 0 0 0 0
1 0 0 0 1 1 1 1 1
1 0 1 0 1 0 1
1 1 0 1 0 0 0 0 0
1 1 0 0 0 0 0
CONTOH :
• Dengan penyandian keadaan sbb:

Keadaan Qa Qb
S0 0 0
S1 0 1
S2 1 0
S3 1 1
CONTOH :
• Maka Diagram keadaannya adalah sbb:
SINTESIS FSM UNTUK IMPLEMENTASI KANONIS

• Perancangan : *Spesifikasi Sistem

*Diskripsi Keadaan
(Diagram/Tabel Keadaan Level Tinggi)

*Reduksi Keadaan

*Penyandian Level Biner


(Input, Output, Keadaan)

*Pemilihan Flip-flop

*Tabel Keadaan & Eksitasi


(Level Biner)

Turunkan :
*Fungsi output, fungsi eksitasi

*Implementasi fungsi-fungsi tersebut ke rangkaian gerbang logika


REDUKSI KEADAAN
• Reduksi keadaan(minimisasi) keadaan
dilakukan berdasarkan keadaan-keadaan
ekivalen yang mungkin terdapat dalam
himpunan keadaan yang kita diskripsikan.
Keadaan-keadaan yang ekivalen tersebut
nantinya akan diwakili oleh satu keadaan saja
sehingga jumlah keadaan sistem akan
berkurang.
Ragam ekivalensi :Ekivalen-k dan Ekivalen

• Bila sistem di-set pada keadaan awal Sa atau Sb, dan


kemudian pemberian runtun input panjangnya k dan sama
akan menghasilkan dua runtun output yang panjangnya k dan
sama, maka keadaan Sa dan Sb disebut dua keadaan yang
ekivalen-k.
• Bila untuk sembarang harga k kedua runtun output yang
dihasilkan tersebut tetap sama, maka keadaan Sa dan Sb
disebut ekivalen (ekivalen penuh)
• Bila pada keadaan S(t) = Sa atau S(t) = Sb
diberikan runtun input x(t,T+k-1),
dan bila dihasilkan runtun output y(t,t+k-1) yang sama untuk
kedua keadaan tersebut, maka Sa dan Sb adalah ekivalen-k.
Langkah-langkah pencarian
keadaan ekivalen :
• Iterasi 1 :
Keadaan-keadaan ekivalen dapat dicari dari
Tabel Kebenaran, dimulai dari
pengelompokan keadaan-keadaan ekivalen-
1, yaitu keadaan-keadaan saat ini yang
outputnya sama untuk semua “present
state”.
Langkah-langkah pencarian
keadaan ekivalen :
• Iterasi 2 :
Pada setiap kelompok ekivalen-1 dicari
keadaan-keadaan yang ekivalen-2, yaitu
keadaan-keadaan yang memiliki “next state”
sama.
Keadaan yang ekivalen-1 dan yang “next state”
nya sama akan memberikan “next output” yang
sama juga (=ekivalen-2)
Langkah-langkah pencarian
keadaan ekivalen :
• Iterasi 3
Selanjutnya untuk tiap-tiap kelompok
keadaan yang ekivalen-2 dicari keadaan-
keadaan yang ekivalen-3, yaitu keadaan-
keadaan yang ekivalen-2 dan yang “next
state”nya sama.
Pencarian dihentikan pada langkah ke-n bila
hasil pengelompokan keadaan pada iterasi ke-
n sama dengan hasil pengelompokan pada
iterasi ke-n-1.
Langkah-langkah pencarian
keadaan ekivalen :
• Iterasi 3 :
Jumlah kelompok yang terakhir menyatakan
jumlah keadaan sistem sebenarnya (tereduksi).
Keadaan-keadaan yang terdapat dalam
kelompok yang sama adalah keadaan-keadaan
yang ekivalen, sehingga dapat diwakili oleh satu
keadaan.
CONTOH :

PS NS/output
S(t) x(t)=a x(t)=b x(t)=c
A E,0 D,1 B,0
B F,0 D,0 A,1
C E,0 B,1 D,0
D F,0 B,0 C,1
E C,0 F,1 F,0
F B,0 C,0 F,1
CONTOH :
• Iterasi 1 :
Terdapat dua kelompok ekivalen-1, yaitu:
a) [A,C,E] dimana untuk input a; b; c outputnya adalah 0; 1; 0
b) [B,D,F] dimana untuk input a; b; c outputnya adalah 0; 0; 1
• Iterasi 2 :
a) Dari kelompok ekivalen-1, [A,C,E]
untuk input a; b; c : Kelompok ekivalen-1
NS dari A adalah E ; D ; B
Kelompok ekivalen-1
NS dari C adalah E ; B ; D
NS dari F adalah C ; F ; F Kelompok ekivalen-1

Jadi [A,C,E] adalah juga ekivalen-2


CONTOH :
b) Dari kelompok ekivalen-1, [B,D,F]
untuk input a; b; c :
Kelompok ekivalen-1
NS dari B adalah F ; D ; A
NS dari D adalah F ; B ; C
Kelompok ekivalen-1
NS dari F adalah B ; C ; F
Kelompok ekivalen-1

jadi dari kelompok [B,D,F] terpecah menjadi :


[B,D] yang ekivalen-2 dan
[F] yang ekivalen-1.
Hasil iterasi 2 : [A,C,E]2 , [B,D]2 dan [F].
CONTOH :
Iterasi 3 :
a) Dari kelompok [A,C,E]
Kelompok ekivalen-2
NS dari A adalah E ; D ; B
NS dari C adalah E ; B ; D
Kelompok ekivalen-2
NS dari E adalah C ; F ; F

Kelompok ekivalen-2

Hasil pengelompokan : [A,C]3 dan [E].


CONTOH :
b) Dari kelompok [B,D]
NS dari B adalah F ; D ; A Kelompok ekivalen-2
NS dari D adalah F ; B ; C
Kelompok ekivalen-2
Hasil pengelompokan : [B,D]

Jadi hasil pengelompokan iterasi-3 adalah :


[A,C] [E] , [B,D] , [F]
CONTOH :
Iterasi-4 :
a) Kelompok [A,C]
Kelompok ekivalen-3
NS dari A adalah E ; D ; B
NS dari C adalah E ; B ; D Kelompok ekivalen-3

b) Kelompok [B,D]
Kelompok ekivalen-3
NS dari B adalah F ; D ; A
Kelompok ekivalen-3
NS dari D adalah F ; B ; D

Jadi hasil pengelompokan iterasi-4 adalah :


[A,C] [E] , [B,D] , [F] yang sama dengan kelompok 2 iterasi-3

Sehingga hasil akhirnya adalah terdapat 4 kelompok ekivalen

[A,C] , [E] , [B,D] , [F]


CONTOH :
PS NS/output
S(t) X(t) = a X(t) = b X(t) = c
A E,0 D,1 B,0
C E,0 B,1 D,0

E C,0 F,1 F,0


B F,0 D,0 A,1
D F,0 B,0 C,1

F B,0 C,0 F,1

Dengan [A,C] [E] , [B,D] , [F]


= = = =
S0 S1 S2 S3
CONTOH :
Maka Tabel Keadaan dengan jumlah tereduksinya adalah :

PS NS/output
S(t) X(t) = a X(t) = b X(t) = c
S0 S1,0 S2,1 S2,0
S1 S0,0 S3,1 S3,0
S2 S3,0 S2,0 S0,1
S3 S2,0 S0,0 S3,1
PENYANDIAN KEADAAN
Sandi keadaan level tinggi Sandi keadaan level biner
• Penyandian sederhana :
Untuk m buah keadaan, penyandian yang paling sederhana adalah
dengan menggunakan jumlah variabel keadaan minimal,

n = [ log2 m]
dan menggunakan m buah sandi pertama dalam urutan pencacahan
naik.
PENYANDIAN KEADAAN
Dalam perancangan sistem sekuensial, kriteria
hasil penyandian yang baik adalah :

3. Kompleksitas rangkaian (implementasinya)


yang dihasilkan lebih sederhana

5. Kehandalan tinggi.
PENYANDIAN KEADAAN

• Teknik-teknik penyandian keadaan,


2. Penyandian sederhana
3. Penyandian “one shot”
4. Penyandian Dekomposisi
5. Penyandian lokus minimal
PENYANDIAN KEADAAN
Contoh :
Penyandian Dekomposisi :
Pada penyandian ini tiap variabel keadaan diberi “tugas
khusus”, sebagai pengidentifikasi hal-hal tertentu.
Dari Tabel keadaan level tinggi di bawah ini :

PS NS untuk input xy Output


S(t) 00 01 11 10 f
Sawal Sa Sa Sb Sb 0
Sa Sc Sc Sb Sb 0
Sb Sa Sa Sd Sd 0
Sc Sc Sc Sd Sb 1
Sd Sa Sc Sd Sd 1
PENYANDIAN KEADAAN
• Penyandian keadaannya menggunakan 3 variabel Q1,
Q2, Q3 dimana

{
0, untuk kode keadaan awal
Nilai Q1 =
1, untuk kode bukan keadaan awal

{
Nilai Q2 =
0, harga output pada keadaan tersebut = 0

1, harga output pada keadaan tersebut = 1

{
0, pada keadaan tersebut, x(t-1) = 0
Nilai Q3 =
1, pada keadaan tersebut, x(t-1) = 1
PENYANDIAN KEADAAN
• Hasil penyandian :

Keadaan Variabel keadaan


Q1 Q2 Q3

Sawal 0 0 0
S1 1 0 0
S2 1 1 0
S3 1 0 1
S4 1 1 1
PENYANDIAN KEADAAN
• Penyandian “one shot” :
Penyandian ini menggunakan jumlah var.
non-minimal n = m
Keadaan Kode
Q0 Q 1 Q2 Q3 Q4
S0 0 0 0 0 1
S1 0 0 0 1 0
Pada umumnya penyandian
S2 0 0 1 0 0 menghasilkan untai eksitasi
S3 0 1 0 0 0 yang sederhana, karena untuk
S4 1 0 0 0 0 tiap transisi-keadaan hanya
ada dua buah FF yang harus
berubah keadaan
Penyandian lokus minimal

• Penyandian ini menekankan faktor


kehandalan dengan meminimalkan
jumlah variabel keadaan yang berubah
dalam tiap transisinya. Hal ini penting
untuk sistem sekuensial yang inputnya
asinkron.
Penyandian lokus minimal

• Penyandian dilakukan dengan memetakan


keadaan-keadaan (ke dalam peta
Karnaugh) sedemikian rupa sehingga
jarak logika antara keadaan tersebut
dengan next state nya minimal.
Penyandian lokus minimal

• Dari pemetaan tersebut jarak tiap transisi


keadaan dapat dihitung.

• Jumlah jarak seluruh transisi pada


pemetaan ini dibandingkan dengan
jumlah jarak pada pemetaan lainya
Penyandian lokus minimal
• Peta Karnaugh
ALT 1
BC A B C
A 00 01 11 10 S0 0 0 0
0 S0 - S2 S1 S1 0 1 0
1 S4 S3 - - S2 0 1 1
S3 1 0 1 bertetangga

S4 1 0 0
Penyandian lokus minimal
• Transisi
S0 S1 000 010
S0 S2 000 011 S1
S0
S1 S3 010 101
S2 S3 011 101
S3 S4 101 100 S2
S3 S4
S4 S1 100 010
Penyandian lokus minimal
• Peta Karnaugh
ALT 2
BC
A 00 01 10 11
0 S3 S3 S1 S0
1 - - S4 S.
Penyandian lokus minimal
• Contoh : (Sistesis)

RESET CHOICE a) Deskripsi input, output, keadaan


* input :
COIN REJECT
- Reset = { ya , tidak}
SELECT CHANGE
- Coin = { Rp500 , Rp1000 , Rp0 }
- Select = { teh , sirop , kopi }
*Output :
* Keadaan :
-Choice = { teh , sirop , kopi }
1) menunggu input
- Reject = { ya , tidak }
- Charge = { Rp0 , Rp500 }