FINITE STATE AUTOMATA
Deterministic Finite Automata (DFA)
Non Deterministic Finite Automata (NFA)
Aam Fahrur - Ayu anggarani - Dicky Ardiar -
Edy Kuniawan - Irvan kristiono
Definisi Finite State Automata !
1. Model matematika yang dapat menerima input dan
mengeluarkan output.
2. Memiliki state yang berhingga banyaknya dan dapat
berpindah dari satu state ke state lainnya berdasar input dan
fungsi transisi.
3. Tidak memiliki tempat penyimpanan/memory, hanya bisa
mengingat state terkini.
Jenis – Jenis FSA
Deterministic Finite Automata (DFA)
automata tidak dapat berada di lebih dari satu
status pada saat bersamaan
Non Deterministic Finite Automata (NFA)
automata dapat berada di beberapa status pada
saat yang bersamaan
FSA didefinisikan sebagai pasangan 5
Tupel / Komponen M = ( Q, ∑, δ, S, F ) :
M : Nama Mesin.
Q : Himpunan hingga state/ kedudukan.
∑ : Himpunan hingga simbol input/ masukan (alfabet).
δ : Fungsi transisi
S : State AWAL (Start)/ kedudukan awal.
F : Himpunan state AKHIR (Final).
Deterministic Finite Automata (DFA)
DFA adalah Finite-state Machine atau mesin
keadaan terbatas yang menerima atau menolak string dari
simbol dan hanya menghasilkan perhitungan unik dari
otomata untuk setiap string yang di masukan. Otomata
berhingga deterministic atau DFA (Deterministic Finite
Automata) adalah FSA(finite state automata) yang memiliki
stata penerima tepat satu stata untuk setiap simbol
masukan.
Contoh Soal :
Q = {q0, q1, q2} Kalimat yang diterima oleh DFA : a, b, aa,
∑= {a, b} ab, ba, aba, bab, abab, baba
S = q0 Kalimat yang ditolak oleh DFA : bb, abb,
abba
F = {q0, q1} DFA ini menerima semua kalimat yang
δ diberikan dalam tabel tersusun dari simbol a dan b yang tidak
berikut : mengandung substring bb.
Gambar Diagram Transisi :
δ a b
q0 q0 q1
q1 q0 q2
q2 q2 q2
Contoh Penerapan DFA :
Disini akan dibuat sebuah logika mesin jaja yang khusus menjual
minuman ringan seharga 1 dollar, sedangkan uang koin yang ada di masyarakat
dan yang bisa diterima oleh mesin jaja ini adalah pecahan seperempat dollar
atau 25 sen, pecahan setengah dollar atau 50 sen, dan pecahan 1 dollar.
Mesin tidak akan memberikan kembalian jika dimasukkan lebih dari 1 dollar.
Cara kerja mesin jaja tersebut adalah memasukkan koin terlebih dahulu, lalu
menekan tombol P untuk memilih minuman, lalu mengeluarkan minuman
tersebut setelah uang terkumpul semuanya.
Non Deterministic Finite Automata (NFA)
Dalam menerima input mempuyai lebih dari satu busur keluar
atau tidak punya busur keluar dan automata dapat berada di
beberapa status pada saat yang bersamaan
Sifat-Sifat NFA
1. NFA memiliki kemampuan untuk berada di lebih dari 1 state
pada saat yang bersamaan. NFA selalu menerima bahasa
yang di terima oleh DFA.
2. Sebagaimana DFA, NFA menerima secara tepat bahasa
Reguler. Hal ini dikarenakan NFA dan DFA berada pada kelas
bahasa yang sama.
3. NFA sering kali lebih ringkas dibanding DFA.
Contoh Soal
Q = {q0, q1, q2,q3, q4}
∑= {a, b,c}
S = q0
F = {q4}
δ diberikan dalam tabel berikut :
Contoh Soal
Telusuri Kalimat NFA :
1. aabb
2. cccc
Pembuktian :
M(q0, aabb) M(q0, cccc)
M(q0,abb) M(q3,ccc)
M(q0,bb) M(q3,cc)
M(q2,b) M(q3,c)
M(q4) Diterima M(q4) Diterima
Latihan Soal
1. Ditentukan suatu DFA M=(Q, ∑, S, F, δ) 2. Ditentukan suatu NFA M=(Q, ∑, S, F, δ)
sebagai berikut : sebagai berikut :
Q = { A,B,C}, Q = {q0, q1, q2}
∑ = {0,1}, ∑= {a, b}
S = A, S = q0
F = {A, C} F = {q1}
a. Gambar diagram trasisi DFA ! a. Gambar diagram trasisi NFA
b. Language L(M) apa yang dapat b. Language L(M) apa yang dapat
dihasilkan oleh M ? dihasilkan oleh M
c. Jelaskan apakah string input 0110 c. Jelaskan apakah string input babb
dan 0010 dapat diterima oleh M ! dan abaa dapat diterima oleh M
Sekian …
Terimakasih