Teori bahasa dan automata2

1,828 views
1,718 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,828
On SlideShare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
87
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Teori bahasa dan automata2

  1. 1. TEORI BAHASA DAN AUTOMATA Chapter 2 FINITE AUTOMATA (DETERMINISTIC FINITE AUTOMATA)
  2. 2. Definisi Dasar Finite Automata <ul><li>Merupakan model dimana setiap saat berada dalam suatu status di antara sejumlah terbatas status-status diskretnya, serta akan berpindah dari satu status ke status lain dengan cara yang dapat diprediksi sebagai respon terhadap setiap simbol masukan tunggal </li></ul>
  3. 3. Finite Automata <ul><li>Dapat digunakan untuk mengenal bahasa-bahasa regular </li></ul><ul><li>Keterbatasan : tidak memiliki memori kecuali pada mesin bisa didefinisikan sejumlah status dari mesin dengan jumlah berhingga </li></ul>
  4. 4. 5 Tuple - Finite Automata <ul><li>5 tuple (Q, Σ , δ , q 0 , F) : </li></ul><ul><li>Q : himpunan terhingga dari status </li></ul><ul><li>Σ : himpunan berhingga alfabet dari simbol masukan </li></ul><ul><li>δ : fungsi transisi yang memetakan Q x Σ ke Q </li></ul><ul><li>q 0 : pada Q status inisial (awal) </li></ul><ul><li>F : pada Q status final (akhir) </li></ul>
  5. 5. Jenis Finite Automata (Otomata Hingga) <ul><li>Ada dua jenis automata hingga : deterministik (DFA = deterministic finite automata ) dan non deterministik (NFA = non deterministik finite automata ). </li></ul><ul><li>DFA : transisi stata finite automata akibat pembacaan sebuah simbol bersifat tertentu. </li></ul><ul><li> δ (DFA) : Q  Σ  Q </li></ul><ul><li>NFA : transisi stata finite automata akibat pembacaan sebuah simbol bersifat tak tentu. </li></ul><ul><li> δ (NFA) : Q  Σ  2 Q </li></ul>
  6. 6. Deterministic Finite Automata (Otomata Hingga Deterministik) <ul><li>Berikut ini sebuah contoh DFA F (Q, Σ , δ , q 0 , F) , dimana : </li></ul><ul><li>Q = {q0, q1, q2} </li></ul><ul><li>δ diberikan dalam tabel berikut : </li></ul>q2 q2 q2 q2 q0 q1 F = {q0, q1} q1 q0 q0 q 0 = q0 b a Σ = {a, b}
  7. 7. Deterministic Finite Automata (Otomata Hingga Deterministik) <ul><li>Ilustrasi graf untuk DFA F adalah sebagai berikut : </li></ul><ul><li>Lambang stata awal adalah node dengan anak </li></ul><ul><li>panah </li></ul><ul><li>Lambang stata akhir adalah node ganda </li></ul>a b a q0 q1 q2 b a b
  8. 8. Deterministic Finite Automata (Otomata Hingga Deterministik) <ul><li>Contoh kalimat yang diterima DFA : a, b, aa, ab, ba, aba, bab, abab, baba </li></ul><ul><li>Contoh kalimat yang tidak diterima DFA : bb, abb, abba </li></ul><ul><li>DFA ini menerima semua kalimat yang tersusun dari simbol a dan b yang tidak mengandung substring bb. </li></ul><ul><li>Contoh : </li></ul><ul><li>Telusurilah, apakah kalimat2 berikut diterima DFA : </li></ul><ul><li>abababaa, aaaabab, aaabbaba </li></ul>
  9. 9. Deterministic Finite Automata (Otomata Hingga Deterministik) <ul><li>Jawab : </li></ul><ul><li>M(q0,abababaa)  M(q0,bababaa)  M(q1,ababaa)  M(q0,babaa)  M(q1,abaa)  M(q0,baa)  M(q1,aa)  M(q0,a)  q0 </li></ul><ul><li>Tracing berakhir di q0 (stata penerima)  kalimat abababaa diterima </li></ul><ul><li>M(q0, aaaabab)  M(q0,aaabab)  M(q0,aabab)  M(q0,abab) </li></ul><ul><li> M(q0,bab)  M(q1,ab)  M(q0,b)  q1 </li></ul><ul><li>Tracing berakhir di q1 (stata penerima)  kalimat aaaababa diterima </li></ul><ul><li>M(q0, aaabbaba)  M(q0, aabbaba)  M(q0, abbaba)  M(q0,bbaba)  M(q1,bbaba)  M(q2,baba)  M(q2,aba)  M(q2,ba)  M(q2,a)  q2 </li></ul><ul><li>Tracing berakhir di q2 (bukan stata penerima)  kalimat aaabbaba ditolak </li></ul><ul><li>Kesimpulan : sebuah kalimat diterima oleh DFA jika tracingnya berakhir di salah satu stata penerima. </li></ul>
  10. 10. Contoh lain 1 0 0 1 q0 q2 q1 0,1
  11. 11. Contoh lain <ul><li>DFA F (Q, Σ , δ , q0, F) , dimana : </li></ul><ul><li>Q = {q0, q1, q2} </li></ul><ul><li>δ diberikan dalam tabel berikut : </li></ul>q1 q2 q2 q1 q1 * q1 F = {q1} q0 q2 -> q0 q 0 = q0 1 0 Σ = {0, 1}

×