Anda di halaman 1dari 22

FINITE STATE AUTOMATA

Deterministic Finite Automata (DFA)


Vihi Atina, S. Kom., M.Kom.
DEFINISI FINITE STATE AUTOMATA
• Model matematika yang dapat menerima input
dan mengeluarkan output.
• Memiliki state yang berhingga banyaknya dan
dapat berpindah dari satu state ke state
lainnya berdasar input dan fungsi transisi.
• Tidak memiliki tempat penyimpanan/memory,
hanya bisa mengingat state terkini.
• Mekanisme kerja dapat diaplikasikan pada :
elevator, text editor, analisa leksikal, pencek
parity.
FSA AUTOMATIC ROLLING DOOR
FINITE STATE AUTOMATA (FSA)
• Secara formal suatu FSA dinyatakan dengan 5
tuple M=(Q,Σ,δ,S,F) di mana :
Q = himpunan berhingga status
Σ = himpunan berhingga simbol masukan
(alfabet)
δ = fungsi transisi yang memetakan Q X Σ ke Q
S = status awal, q0∈Q
F = himpunan status akhir, F ⊆ Q
FSA UNTUK MENGECEK PARITY GANJIL
• Q ={Gnp, Gjl}
• ∑ = {0,1}
• S = Gnp
• F = {Gjl}
• δ diberikan Tabel Transisi :
δ 0 1

Gnp Gnp Gjl

Gjl Gjl Gnp


DIAGRAM TRANSISI FSA

Misal input : 1101


Genap 1 Ganjil 1 Genap 0 Genap 1 Ganjil → diterima mesin
Misal input : 1100
Genap 1 Ganjil 1 Genap 0 Genap 0 Genap → ditolak mesin
JENIS FSA
1. Deterministic Finite Automata (DFA)
automata tidak dapat berada di lebih dari
satu status pada saat bersamaan
2. Non Deterministic Finite Automata (NFA)
automata dapat berada di beberapa status
pada saat yang bersamaan
DFA
• Finite Automata di dalam menerima
input mempunyai tepat satu busur
keluar.
CONTOH DFA
• Q = {q0, q1, q2}
• ∑= {a, b}
• S = q0
• F = {q0, q1}
• δ diberikan dalam tabel berikut :
δ a b

q0 q0 q1

q1 q0 q2

q2 q2 q2
DIAGRAM TRANSISI DFA

Kalimat yang diterima oleh DFA : a, b, aa, ab, ba, aba, bab, abab, baba
Kalimat yang ditolak oleh DFA : bb, abb, abba
DFA ini menerima semua kalimat yang tersusun dari simbol a dan b
yang tidak mengandung substring bb.
TELUSURI KALIMAT DFA
• abababaa
q0 a q0 b q1 a q0 b q1 a q0 b q1 a q0 a
q0 → diterima oleh DFA
• aaabbaba
q0 a q0 a q0 a q0 b q1 b q2 a q2 b q2 a
q2 → ditolak oleh DFA
Contoh Soal 1
• Ditentukan suatu DFA M=(Q, ∑, S, F, δ)
sebagai berikut :
• Q = { A,B,C},
• ∑ = {0,1},
• S = A,
• F = {A, C}
Contoh Soal 1
• δ diberikan dalam tabel berikut :
Contoh Soal 1
1. Gambar diagram trasisi DFA
2. Language L(M) apa yang dapat
dihasilkan oleh M
3. Jelaskan apakah string input 0110 dan
0010 dapat diterima oleh M
Jawaban Soal 1
1. Gambar diagram trasisi DFA
Contoh Soal 1
2. Language L(M) apa yang dapat
dihasilkan oleh M (semua pola string
yang dapat diterima oleh diagram
DFA)
L(M) = { 0, 00, 11, 000, 110, ...... dst}
Contoh Soal 1
3. Jelaskan apakah string input 0110 dan 0010 dapat
diterima oleh M
• String = 0110
M{A, 0110}
M{C, 110}
M{B, 10}
M{A, 0}
M{C} → berhenti di C maka diterima oleh DFA
Contoh Soal 1
3. Jelaskan apakah string input 0110 dan 0010
dapat diterima oleh M
• String = 0010
M{A, 0010}
M{C, 010}
M{A, 10}
M{B, 0}
M{B} → berhenti di B maka ditolak oleh DFA
CONTOH PENERAPAN : MESIN JAJA
• 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.
CONTOH PENERAPAN : MESIN JAJA
CONTOH PENERAPAN : MESIN JAJA
• Graf mesin jaja di atas merupakan graf mesin jaja yang berguna
untuk menjual minuman atau barang seharga 1 dollar dengan
menerima tiga macam masukan uang koin yaitu koin 25 sen, koin
50 sen, dan koin 1 dollar dengan tanpa memberikan kembalian
jika pembeli memasukkan koin lebih.
• Hanya pada graf P yang paling bawahlah mesin jaja tersebut akan
mengeluarkan minuman ringan tersebut.
• Ada banyak jenis dan algoritma mesin jaja sekarang ini, mesin jaja
yang sudah ada sampai saat ini contohnya adalah mesin jaja yang
dapat menerima masukan tidak hanya uang koin saja, melainkan
juga bisa menerima masukan berupa uang kertas.
• Selain itu juga, mesin jaja modern sekarang ini tidak hanya
memberikan barang yang diminta oleh pembeli, tetapi juga dapat
mengembalikan uang kembalian kepada pembeli tersebut.
• Mesin jaja tersebut memiliki algoritma yang berbeda-beda satu
sama mesin jaja yang lainnya.
END OF SLIDE

Anda mungkin juga menyukai