Finite State Automata (FSA)
Finite State Automata (FSA) adalah suatu mesin (bukan secara fisik) yang dapat menerima input dan output diskrit. Mesin tersebut memiliki karakteristik sbb:
• merupakan kelompok bahasa regular
• jumlah state berhingga
• input berpindah dari suatu state ke state lainnya
• tidak mempunyai tempat penyimpanan
Karena tidak memiliki tempat penyimpanan, maka FSA dianggap sebagai mesin otomata yang memiliki kemampuan paling rendah.
Mekanisme kerja FSA adalah sebagai berikut :
1. FSA terdiri dari satu atau beberapa state berhinga
2. Tiap-tiap state hanya dapat menyimpan 1 bit saja, sehingga apabila ada input baru, maka input sebelumnya akan terhapus.
3. Setiap state dapat melakukan transisi dari suatu state ke state berikutnya.
4. Transisi state di mulai dari state awal dan berakhir di state akhir.
5. Suatu input state dikatakan dapat diterima sebagai output FSA apabila telah sampai pada state akhir.
Diagram transisi FSA dapat digambarkan sebagai berikut:
keterangan : q0 = state awal , q1 =
state akhir, =transisi
FSA dibangun dengan 5 tupel : Q =
himpunan state
e = himpunan simbol input
d = himpunan transisi
S = state awal
F = state akhir
Studi Kasus
1. Buatlah tiga buah state. Dengan ketentuan
Q = {q0,q1,q2}
S = { q0}
F = { q1}
∑ = {a,b}
Gambar state yang harus dibuat
Flowchart
C. LANGKAH KERJA MENGGUANAKAN “JFLAP”
1. Buka program aplikasi JFLAP.
2. Klik tab Finate Auutomation pada kotak dialog menu
3. Buatlah tiga buah state seperti gambar dibawah
4. Klik kanan state q0 dan jadikan sebagai state awal (initial state)
5. Klik kanan state q1 dan jadikan sebagai state akhir (final state)
6. Buatlah transisi masing-masing sepeti gambar berikut
7. Klik menu input lalu pilih Multiple Run
8. Masukan beberapa string seperti pada gambar dibawah
9. Klik Tab Run Inputs, dan hasilnya sebagai berikut
Kesimpulan :
Setelah melakukan beberapa hal diatas maka kita
mengerti mekanisme mesin Finite State Automata. Berdasarkan dengan yang telah dikerjakan diatas pula, diperoleh
hasil berupa string-string output yang dapat diterima (accept) dan tidak
diterima (reject) oleh mesin FSA. Dengan memehami algoritma mesin FSA di atas
kita dapat mengimplementasikannya kedalam suatu bahasa pemrograman
ConversionConversion EmoticonEmoticon