Anda di halaman 1dari 18

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,Σ,δ,q0,F) di mana :
Q = himpunan berhingga status
Σ = himpunan berhingga simbol masukan
(alfabet)
δ = fungsi transisi yang memetakan Q X Σ ke Q
q0 = 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
• FA 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
• aaabbaba
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
• Gambar diagram trasisi DFA
• Language L(M) apa yang dapat
dihasilkan oleh M
• Jelaskan apakah string input 0110 dan
0010 dapat diterima oleh M
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.
SELESAI

Anda mungkin juga menyukai