FINITE STATE AUTOMATA
Pengertian FSA
FSA (Finite State Automata) merupakan tool yang sangat berguna dalam perancangan lexical analyzer, yaitu bagian dari kompilator yang mengelompokan karakter-karakter ke dalam sebuah token, yang berupa unit terkecil seperti nama, variabel, dan keyword. FSA dipakai untuk penganalisa leksikal text editor, pemrosesan text, dan program file-searching.
FSA atau AH (Automata Hingga) didefinisikan sebagai pasangan 5 tupel → M = (Q, 𝞢, 𝞭, S, F)
Q : himpunan hingga state
𝞢 : himpunan hingga simbol input (alfabet)
𝞭 : fungsi transisi, menggambarkan transisi state FSA akibat pembacaan simbol input.
fungsi transisi ini biasanya diberikan dalam bentuk tabel.
S 𝟄 Q : state AWAL
F ⊆ Q : himpunan state AKHIR
◾ Mesin ini memiliki 6 state : (q0, q1, q2, q3, q4, q5).
◾ State awal q0,
◾ Sedangkan q3 dan q4 adalah state akhir, dan
◾ Simbol input adalah (a, d, u)
◾ State awal q0,
◾ Sedangkan q3 dan q4 adalah state akhir, dan
◾ Simbol input adalah (a, d, u)
Contoh Finite State Automata
Contoh : FSA untuk mengecek parity ganjil
- Q = {Gnp, Gjl}
- 𝞢 = {0,1}
- S = Gnp
- F = Gjl
Jenis FSA
Deterministik (DFSA/DFA)
Pada Setiap input, hanya ada satu keadaan (state) tujuan dari keadaan saat ini.
Non - Deterministik (NFSA/NFA)
pada setiap input terdapat lebuh dari satu keadaan tujuan dari keadaan saat ini
Deterministic Finite Automata (DFA)
DFA, terdiri atas 5 tuple, yaitu :
A = (Q, 𝞢, 𝞭, q0, F)
Notasi Lain DFA
1. Diagram Transisi/State Diagram
- Tiap keadaan merupakan kesimpulan
- Tiap keadaan q 𝟄 Q dan tiap simbol a 𝟄 𝞢, dituliskan sebagai 𝞭(q,a) = p. Artinya, diagram
transisi memiliki panah dari q ke p, yang berlabel a.
- Keadaan awal (q₀) ditandai dengan adanya panah tanpa sumber
- Simpul yang menjadi keadaan final ditandai dengan lingkaran bergaris tepi ganda
2. Tabel Transisi
- Representasi daftar dari suatu fungsi
- Baris menunjukan keadaan dan kolom menunjukan input
- Isi dari baris menunjukan keadaan q dan isi dari kolom input a menunjukan keadaan 𝞭(q,a)
Contoh DFA
Contoh DFA yang dapat menerima string berakhiran 01
A = ({q₀, q₁, q₂}, {0,1}, 𝞭, q₀, {q₂}) dengan fungsi transisi 𝞭 diberikan dalam bentuk table :


Komentar
Posting Komentar