0% menganggap dokumen ini bermanfaat (0 suara)
132 tayangan25 halaman

03 - Modul #3 - Finite State Automata

Dokumen tersebut membahas tentang otomata keadaan terbatas (finite state automata) yang merupakan model matematika untuk sistem yang menerima dan mengeluarkan masukan dan keluaran diskrit. Otomata keadaan terbatas memiliki jumlah keadaan yang terbatas dan dapat berpindah antar keadaan. Ada dua jenis otomata keadaan terbatas yaitu deterministik dan non-deterministik.
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PPTX, PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
132 tayangan25 halaman

03 - Modul #3 - Finite State Automata

Dokumen tersebut membahas tentang otomata keadaan terbatas (finite state automata) yang merupakan model matematika untuk sistem yang menerima dan mengeluarkan masukan dan keluaran diskrit. Otomata keadaan terbatas memiliki jumlah keadaan yang terbatas dan dapat berpindah antar keadaan. Ada dua jenis otomata keadaan terbatas yaitu deterministik dan non-deterministik.
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PPTX, PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 25

MATA KULIAH : OTOMATA

INF-55201-209

MODUL #3
FINITE STATE AUTOMATA
Definisi Finite State Automata
Bukanlah mesin fisik tetapi suatu
model matematika dari suatu sistem
yang menerima input dan output
diskrit.
Definisi Finite State Automata
• Finite State Automata memiliki state yang
banyaknya berhingga dan dapat berpindah-
pindah dari suatu state ke state lain.
• Jenis automata ini tidak memiliki tempat
penyimpanan sehingga kemampuan
‘mengingatnya’ terbatas
• Finite Automata sangat cocok untuk memodelkan sistem
dengan jumlah state yang berhingga.
• Contoh :
– Sistem elevator
– Mesin untuk pengeluaran minuman kaleng ( Vending
Machine)
– Pengaturan lampu lalu lintas ( traffic light regulator)
– Sirkuit Switching di Komputer
– Neuron Nets
Implementasi FSA
• Seorang petani dengan seekor serigala, kambing dan seikat rumput
beradapadasuatusisi sungai.
• Tersedia hanya sebuah perahu kecil yang hanya dapat dimuati dengan petani
tersebut dengan salah satu serigala, kambing atau rumput.
• Petani tersebut harus menyeberangkan ketiga bawaannya kesisi lain sungai.
• Tetapi jika petani meninggalkan serigala dan kambing pada suatu
saat,makakambingakan dimakanserigala.
• Begitu pula jika kambing ditinggalkan dengan rumput, maka rumput
akandimakanoleh kambing.
• Mungkinkah ditemukan suatu cara untuk melintasi sungai tanpa menyebabkan
kambing atau rumput dimakan?
Mesin Automata untuk memeriksa
Pariti Ganjil
• Membuat sebuah Automata yang akan
memeriksa apakah suatu barisan input
memiliki bit 1 dalam jumlah ganjil atau genap
• Mesin ini akan mempunyai dua state,
– State EVEN ( Genap)
– State ODD ( Ganjil)
0 0
ᶴ(even,0)=even
1 ᶴ(even,1)=odd
even ODD
ᶴ(odd,0)=odd
ᶴ(odd,1)=even
1 ᶴ 0 1
EVEN EVEN ODD
• Lingkaran menyatakan state/kedudukan.
ODD ODD EVEN
• Label pada lingkaran adalah nama state tersebut.
• Busur menyatakan transmisi yaitu perpindahan kedudukan/state.
• Label pada busur adalah simbol input.
• Lingkaran didahului sebuah busur tanpa label menyatakan state awal.
• Lingkaran ganda menyatakan state akhir/final.
Mesin Automata untuk Memeriksa ParitiTUPEL:
Ganjil ᶴ 0 1 Q={EVEN,ODD}
S=EVEN
EVEN EVEN ODD
• State awal adalah EVEN F={ODD}
ODD ODD EVEN ∑={0,1}
• Himpunan state akhir yang menyatakan input diterima adalah {ODD}.
• Simbol input yang ada {0,1}.

Bila mesin mendapat input :


11011
Urutan state yang terjadi
EVEN 1 ODD 1 EVEN 0 EVEN 1 ODD 1 EVEN
Berakhir dengan state ODD
Maka “1101” diterima oleh mesin
“11011: ditolak oleh mesin
Mesin otomata untuk memeriksa pariti ganjil

101110000011001
Urutan state yang terjadi
EVEN 1 ODD 0 ODD 1 EVEN
Berakhir dengan state EVEN
maka “101” ditolak oleh mesin.
101110000011001 DITERIMA
Secara formal Finite State Automata dinyatakan oleh 5 tupel atau
M=(Q,∑,δ,S,F), dimana:

Q = Himpunan state/kedudukan. δ(even,0)=even


∑ = Himpunan simbol input/masukan. δ(even,1)=odd
δ = Fungsi/table transisi. δ(odd,0)=odd
S = State awal/kedudukan awal (initial state), S ϵ Q. δ(odd,1)=even
F = Himpunan state akhir ( jumlah state akhir bisa lebih dari satu)
Maka hasil untuk contoh:
Q= {ODD,EVEN} δ 0 1
∑= {0,1} EVEN EVEN ODD
ODD ODD EVEN
S= EVEN
F= {ODD}
Klasifikasi Finite Automata
• Finite automata dapat berupa
– Deterministic Finite Automata (DFA)
Dari suatu state ada tepat satu state berikutnya untuk setiap
simbol input yang diterima. Dari satu state hanya menerima satu
input yang bertransisi ke satu state saja.
– Nondeterministic Finite Automata (NFA)
Dari suatu state bisa terdapat 0,1 atau lebih busur keluar
(transisi) berlabel simbol input yang sama. δ 0 1
EVEN EVEN
ODD ODD EVEN
DETERMINISTIC FINITE AUTOMATA

Contoh 1 DFA:
a a
b b
q0 b q1 q2

a
δ a b
TUPEL (M):
Latihan : Cek Input untai ‘abb’ dan ‘baba’ ?
Q = {q0, q1, q2} q0 q0 q1
∑ = {a, b}
q0_a_q0_b_q1_b_q2 = DITERIMA
S = q0 q1 q1 q2
F = {q2} q0_b_q1_a_q1_q2_a_q1 = DITOLAK
q2 q1 q2
DETERMINISTIC FINITE AUTOMATA
Konfigurasi secara formal dinyatakan : Fungsi transisi yang ada sebagai berikut :
Q = {q0,q1,q2} d(q0,a)=q0
∑ = {a,b} d(q0,b)=q1
S = q0 d(q1,a)=q1
F = {q2} d(q1,b)=q2
d(q2,a)=q1
d(q2,b)=q2
Tabel transisi tersebut menunjukan state-state berikutnya untuk
kombinasi state-state dan input. Tabel transisi sbb:
δ a b
q0 q0 q1
q1 q1 q2
q2 q1 q2

Latihan : Cek Input untai ‘abb’ dan ‘baba’


Contoh 2 DFA:
a
a,b a,b
q0 q1 TUPEL (M):
Q = {q0, q1}
b ∑ = {a, b}
S = q0
F = {q1}

Tabel transisi sbb:


δ a b
q0 q1 q1
q1 q1 q0
Non-Deterministic Finite Automata
(NFA)
Pada NFA dari suatu state bisa terdapat 0,1 atau
lebih busur keluar (transisi) berlabel simbol yang
sama.

Disini perbedaan ada pada fungsi transisinya,


dimana untuk setiap pasangan state-input, kita bisa
memiliki 0 atau lebih pilihan untuk state berikutnya.
Contoh 1 Non-DFA:
a
q0 a q0
q1
TUPEL (M):
Q = {q0, q1}
b
∑ = {a, b}
S = q0
F = {q1}
Tabel transisinya sbb:
δ a b
q0 q1 Ø
q1 q1 q0
Contoh 2 Non-DFA:

b a
a q0 q0
q1

b TUPEL (M):
Q = {q0, q1, q1}
∑ = {a, b}
S = q0
a F = {q1}
q2
b δ a b
q0 {q1,q2} q0
q1 q1 q0
a q2 q2 q1
Tabel transisi contoh 2 :
δ a b
q0 {q1,q2} q0
q1 q1 q0
q2 q2 q1
Contoh 3 Non-DFA:

a,b
q0 q0
q1
a,b

Tabel transisinya:
δ a b
q0 {q0,q1} {q1}
q1 {q1} {q1}
Contoh 4 Non-DFA: NFA
b
q0 a
q0
q1
a

Tabel transisinya:
δ a b
q0 {q1} {q0}
q1 {q0} Ø
Ekuivalensi Antar Deterministic Finite
Automata
• Dua Deterministic Finite Automata dikatakan
ekuivalen jika L(M1) = L(M2).

Dimana :
– M = deterministic Finite Automata
– L(M) = bahasa Jadi, misal untai/string ‘abb’ diterima oleh M1, maka
M1 akan ekivalen dengan M2 jika M2 juga menerima
Untai/string ‘abb’
Contoh 1: Ekuivalensi L(M1) = L(M2)
a
q0 q0
q1 a

a Untai/string?
M1 ‘a’,’aa’,’aaa’,
‘aaaaaaa’

a
q0 q0
q1 a M1=q0_a_q0_a_q1
M2=q0_a_q1_a_q1

M2
Contoh 2 : Ekuivalensi L(M3) = L (M4)
0
q0 q0
q1
0

DFA M3

0 q0
q1

DFA M4

Anda mungkin juga menyukai