Anda di halaman 1dari 14

Teori Bahasa Otomata & Kompilasi

Finite State Automata (FSA)


Aries Maesya, M.Kom
a_maesya@yahoo.co.id/ a.maesya@gmail.com

Department of Computers Science Faculity Mathematics and Natural Science University of Pakuan Bogor 2014

Deskripsi

Otomata hingga / Finite State Automata (DFA dan NFA)

Otomata

Untuk memodelkan hardware dari komputer diperkenalkanlah otomata / automata. Otomata adalah suatu bentuk yang memiliki fungsi-fungsi dari komputer digital. Karaketeristik Otomata :

Menerima input. Menghasilkan output. Mempunyai penyimpanan sementara (buffer) Mampu membuat keputusan dalam mentransformasikan input ke output
3

Otomata

Otomata merupakan suatu sistem yang terdiri atas sejumlah berhingga state, dimana setiap state menyatakan informasi tentang input sebelumnya, dan dapat dianggap sebagai memori mesin. Contoh:

Jika mesin mendapat string : ada maka diterima adu maka diterima add maka ditolak Aturan: input string diterima jika dan hanya jika mencapai state akhir yang disimbolkan dengan lingkaran ganda. Keterangan:

Mesin Mesin Mesin Mesin

diatas memiliki 6 state {q0,q1,q2,q3,q4,q5}. memiliki state awal q0 memiliki state akhir {q3,q5} memiliki himpunan input contohnya : {a,d,u}

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.

Finite State automata

Otomata merupakan suatu sistem yang terdiri atas sejumlah berhingga state, dimana setiap state menyatakan informasi tentang input sebelumnya, dan dapat dianggap sebagai memori mesin. Dibagi 2: FSA Deterministik (DFA)& FSA non Deterministik (NFA)

Komponen FSA

Himpunan state Himpunan Input Fungsi transisi

State awal
Himpunan state akhir

FSA Deterministik

Berarti : setiap state memiliki tepat satu state berikutnya untuk setiap simbol masukkan yang diterima. Setiap state selalu memiliki tepat satu state berikutnya. Misalkan :

Himpunan state Q = {Q0,Q1,Q2} Himpunan input = {a,b} State awal S = Q0 State akhir F = Q2

Perbedaan DFA dan NFA


Deterministic Finite Automata (DFA) : dari suatu state ada tepat satu state berikutnya untuk setiap simbol masukan yang diterima Non-deterministic Finite Automata (NFA) : dari suatu state ada 1 atau lebih state berikutnya untuk setiap simbol masukan yang diterima

10

Definisi Formal: Finite State Automata


M=(Q , , , S , F ) Q = himpunan state = himpunan simbol input = fungsi transisi : Q S = state awal / initial state , SQ F = state akhir, F Q

Contohnya..
M=(Q , , , S , F ) Q = {Genap, Ganjil} = {0,1} S = Genap F = {Ganjil }

0 Genap 1 Ganjil

Genap
Ganjil

Genap
Ganjil

Ganjil
Genap
11

NFA

Berarti : Suatu state bisa memiliki 0,1 atau lebih output (panah) yang berlabel simbol input yang sama. Digunakan tannda { } karena hasil transisi bisa berupa himpunan state

Nondeterministic Finite Automata


q0 q1 0 { q0,q3} 1 {q0,q1} {q2}

q2 q3
q4

{q2} {q4}
{q4}
0,1 q0

{q2}
{q4}
q3 0 0,1 q1 1 q2
13

0,1 0 q4

Referensi

Utama Firrar Utdirartatmo, Teori Bahasa dan Otomata, JJ Learning, 2001 Firrar Utdirartatmo, Teknik Kompilasi, JJ Learning, 2001 Pendamping Aho, Ulman. The Teory of Parsing Translation And Compiling. Prentice-Hall. 1972 Grune , Modern Compiler Design, John Wiley and Sons ,2002 Peter Linz, An Introduction to Formal Language and Automata, DC Healt & Co, 1990

14