2. FINITE STATE AUTOMATA (FSA)
• Finite State Automata
(otomata dengan state berhingga)
→ suatu model matematika dari suatu sistem
yang menerima input dan menghasilkan output
• Memiliki state yang banyaknya berhingga dan
dapat berpindah dari suatu state ke state lain
berdasarkan suatu input.
• Perubahan state ini dinyatakan dengan fungsi
transisi
• FSA tidak memiliki tempat penyimpanan
sehingga kemampuan mengingatnya terbatas.
3. FINITE STATE AUTOMATA (FSA)
• Pengertian State:
→ kedudukan, keadaan
contoh:
- lampu
- gear sepeda motor
- permainan tic-tac-toe, catur, dsb.
4. FINITE STATE AUTOMATA
Secara formal FSA dinyatakan dg 5 tupel
M = (Q,Σ,δ,S,F) dimana:
• Q himpunan state/kedudukan
• Σ abjad,himpunan simbol input/masukan
• δ fungsi transisi
• S state awal / kedudukan awal, S∈ Q
• F himpunan state akhir, F ⊆ Q
5. FINITE STATE AUTOMATA
Contoh : vending machine, pengecek pariti ganjil
Keterangan :
• Lingkaran menyatakan state/kedudukan
• Label pada lingkaran adalah nama state tersebut
• Busur menyatakan transisi yaitu perpindahan kedudukan/state
• Lingkaran didahului sebuah busur tanpa label menyatakan state
awal
• Lingkaran ganda menyatakan state akhir/final
6. FINITE STATE AUTOMATA
Dari diagram transisi tsb:
• Q = {Even, Odd}
• Σ = {0,1}
• S = Even
• F = {Odd}
• δ = fungsi transisi
– δ (Even,0) = Even
– δ (Even,1) = Odd
– δ (Odd,0) = Odd
– δ (Odd,1) = Even
7. FINITE STATE AUTOMATA
• Maka tabel fungsi transmisi pengecek pariti ganjil :
• Karena mesin diatas merupakan pengecek pariti ganjil, maka himpunan
state akhir yang menyatakan input diterima oleh mesin adalah {Odd}
• Jika mesin mendapat input 1101 urutan state menjadi:
Even 1 Odd 1 Even 0 Even 1 Odd, maka diterima oleh mesin
• Jika mesin mendapat input 101 urutan state menjadi:
Even 1 Odd 0 Odd 1 Even, maka ditolak oleh mesin
0 1
Even Even Odd
(Odd) Odd Even
8. FINITE STATE AUTOMATA
FSA dibedakan menjadi 2 yaitu:
1. DFA (Deterministic Finite Automata),
otomata berhingga yang pasti (tetap/tertentu)
2. NFA (Non-Deterministic Finite Automata),
otomata berhingga yang tidak pasti
9. FSA: Deterministic Finite Automata
Dari suatu state ada tepat satu state
berikutnya untuk setiap masukan yang
diterima
10.
11. Keterangan:
• Untuk sebuah state dan input yang berlaku bisa ditentukan tepat
satu state berikutnya.
Suatu string x dinyatakan diterima bila δ(Q,x) berada pad state akhir.
Dengan kata lain secara formal bila M adalah sebuah bahasa FSA,
M= (Q, Σ, δ, S, F) menerima bahasa yang disebut L(M) yang
merupakan himpunan {x | δ (Q,x) di dalam F}.
• Contoh :
– Bila diinputkan string ‘abb’ pada mesin tersebut maka :
δ (q0,abb) = δ (q0,bb) = δ (q1,b) = q2
Karena q2 merupakan state terakhir maka ‘abb’ berada dalam L(M)
– Bila diinputkan string ‘baba’ pada mesin tersebut maka :
δ (q0,baba) = δ (q1,aba) = δ (q1,ba) = δ (q2,a) = q1
Karena q1 tidak termasuk state terakhir maka ‘baba’ tidak berada dalam
L(M)
12. FSA: Non-Deterministic Finite Automata
• Untuk setiap state tidak selalu tepat ada
satu state berikutnya untuk setiap
masukan yang diterima
• Dari suatu state bisa terdapat 0,1 atau
lebih busur keluar (transisi) masukan yang
sama
15. Perbedaan DFA dan NFA
Perbedaan DFA dan NFA ada pada fungsi
transisinya
• DFAsetiap pasangan state masukan
selalu tepat ada satu state berikutnya
• NFAuntuk setiap pasangan state
masukan, bisa memiliki 0 (nol) atau lebih
pilihan untuk state berikutnya