Anda di halaman 1dari 10

TEORI GRAF DAN OTOMATA

IMPLEMENTASI DETERMINISTIC
FINITE STATE AUTOMATA
DENGAN C++
1. AYU ASRIANI - E1E116004
2. HASRIANA DWI DAYANA –
E1E116078
3. SUCI HARDINA - E1E116036
4. SAFIRAH NURUR F.P. -
E1E116043
5. SONIA LAMANI –
Pengenalan FSA (Finite State
Automata)

Finite State Automata / State Otomata berhingga, selanjutnya kita sebut sebagai
FSA, bukanlah mesin fisik tetapi suatu model matematika dari suatu sistem yang
menerima input dan output diskrit.

Finite State Automata merupakan mesin otomata dari bahasa regular.

Suatu Finite State Automata memiliki state yang banyaknya berhingga, dan dapat
berpindah-pindah dari suatu state ke state lain.
PENGENALAN FSA

Secara formal finite state automata dinyatakan oleh 5 tupel atau M=(K, VT, M, S ,Z),
dimana :
K = himpunan hingga stata
Σ = himpunan simbol input / masukan / abjad
M = fungsi transisi
S = state awal / kedudukan awal (initial state)
F = himpunan state akhir
Finite State Automata yang memiliki tepat satu state berikutnya untuk setiap simbol
masukan yang diterima disebut Deterministic Finite Automata.
CONTOH FSA

Buatlah diagram transisi dari FSA yang didefinisikan sebagai berikut :


M = (K, VT, M, S, Z) dimana :
S ={S0, S1, S2, S3}
VT ={ 0,1 }
K ={S0 , S3 }

Dengan fungsi transisi M ada pada tabel transisi sebagai berikut :

STATE FUNGSI TRANSISI (M)


 
0 1

S0 S0 S1
S1 S0 S2
S2 S0 S0
S3 S2 S2
CONTOH FSA
DIAGRAM TRANSISI

Cara kerja FSA :


Mula-mula dalam state S0
 Jika dari S0 menerima 1 : akan ke State-S1
 Jika dari S0 menerima 11 : akan ke State-S1 lalu
ke S2
 Jika dari S0 menerima 0 : akan tetap di State- S0
 Jika dari S0 menerima 10 : akan tetap kembali
lagi State- S0
 Jika dari S0 berturut-turut menerima masukan :
111, maka ia akan kembali ke- S0
 string yang diterima adalah bilangan tanpa koma, atau bilangan berkoma.
 State awal = q0
 Final state = q1 dan q3
 Pada mesin FSA, suatu string diterima jika setelah bilangan masukan habis,
mesin sedang berada di final state (dalam hal ini q1 atau q3).
CODE PROGRAM
Struktur data yang bisa digunakan untuk memodelkan state tersebut dalam
kode program adalah enumeration.
CODE PROGRAM
Selanjutnya, mesin FSA memiliki suatu fungsi transisi yang dilambangkan dengan
delta.

Fungsi di atas akan menjadi


fungsi transisi yang akan
digunakan untuk membaca
input per karakter. Hal
selanjutnya yang kita
lakukan adalah membuat
sebuah fungsi yang akan
mengecek apakah suatu input
diterima atau tidak.
CODE PROGRAM

masukan yang diterima oleh program ini adalah


Fungsi main
sebuah string dimana Fungsi yang dimaksud yaitu
SEKIAN
DAN
TERIMA KASIH

Anda mungkin juga menyukai