OTOMATA DAN TEORI BAHASA FORMAL SEMESTER PENDEK 2015/2016 OTOMATA DAN TEORI BAHASA FORMAL Betha Nurina Sari,M.Kom
PERTEMUAN 3 Finite State Automata
Definisi Finite State Automata (1) Bukanlah mesin fisik tetapi suatu model matematika dari suatu sistem yang menerima input dan output diskrit. Finite State Automata memiliki state yang banyaknya berhingga dan dapat berpindah-pindah dari suatu state ke state lain. Jenis automata ini tidak memiliki tempat penyimpanan sehingga kemampuan ‘mengingatnya’ terbatas
Definisi Finite State Automata (2) Finite Automata sangat cocok untuk memodelkan sistem dengan jumlah state yang berhingga. Contoh : Sistem elevator Mesin untuk pengeluaran minuman kaleng ( Vending Machine) Pengaturan lampu lalu lintas ( traffic light regulator) Sirkuit Switching di Komputer Neuron Nets
Finite State Automata Secara formal Finite State Automata dinyatakan oleh 5 tupel atau M=(Q,∑,δ,S,F), dimana: Q = Himpunan state/kedudukan. ∑ = Himpunan simbol input/masukan. δ = Fungsi transisi. S = State awal/kedudukan awal (initial state), S ϵ Q. F = Himpunan state akhir ( jumlah state akhir bisa lebih dari satu)
Klasifikasi Finite Automata Finite automata dapat berupa Deterministic Finite Automata (DFA) Dari suatu state ada tepat satu state berikutnya untuk setiap simbol input yang diterima. Nondeterministic Finite Automata (NDFA) Dari suatu state bisa terdapat 0,1 atau lebih busur keluar (transisi) berlabel simbol input yang sama.
DETERMINISTIC FINITE AUTOMATA Contoh 1 DFA: a a b b b a q0 q1 q2
Contoh 1 DFA Konfigurasi secara formal dinyatakan : Q = {q0,q1,q2} ∑ = {a,b} S = q0 F = {q2} Fungsi transisi yang ada sebagai berikut : d(q0,a)=q0 d(q0,b)=q1 d(q1,a)=q1 d(q1,b)=q2 d(q2,a)=q1 d(q2,b)=q2
Contoh 1 DFA Tabel transisi tersebut menunjukan state-state berikutnya untuk kombinasi state-state dan input. Tabel transisi sbb: Latihan : Cek Input untai ‘abb’ dan ‘baba’ δ a b q0 q1 q2
String String yang dikenali oleh FSA merupakan suatu BAHASA yang dikenali oleh FSA tersebut. Jika dimiliki FSA M maka bahasa yang dikenali oleh FSA di notasikan sebagai : L(M) = { x | x semua string yang mengantar M dari S0 ke (Si ϵ Z) } Untuk mesin FSA pada contoh 1 DFA : L(M) = {bb, abb,abab,ababb,anbanbbna, …}
Contoh 2 DFA: a a,b b Tabel transisi sbb: q0 q1 q1 δ a b q0 q1
Non-Deterministic Finite Automata (NFA) Pada NFA dari suatu state bisa terdapat 0,1 atau lebih busur keluar (transisi) berlabel simbol yang sama. Disini perbedaan ada pada fungsi transisinya, dimana untuk setiap pasangan state-input, kita bisa memiliki 0 atau lebih pilihan untuk state berikutnya.
Contoh 1 Non-DFA: a b Tabel transisinya: q0 q0 q1 δ a b q0 q1 Ø
Contoh 2 Non-DFA: b a a b q0 q0 q1 q2
Tabel transisi contoh 2 : δ a b q0 {q1,q2} q1 q2
δ a b q0 {q0,q1} {q1} q1 Contoh 3 Non-DFA: Tabel transisinya: q0 q0 q1
δ a b q0 {q1} {q0} q1 Ø Contoh 4 Non-DFA: Tabel transisinya: q0 q0 q1
NFA dengan transisi hampa
Ekuivalensi Antar Deterministic Finite Automata Dua Deterministic Finite Automata dikatakan ekuivalen jika L(M1) = L(M2). Dimana : M = deterministic Finite Automata L(M) = bahasa
Contoh 1: Ekuivalensi L(M1) = L(M2) a M1 M2 q0 q0 q1 q0 q0 q1
Contoh 2 : Ekuivalensi L(M3) = L (M4)
NEXT >>> QUIZ Online Materi 1-3