Otomata dan Pengantar Kompilasi Ekuivalensi NFA e move

  • Slides: 17
Download presentation
Otomata dan Pengantar Kompilasi Ekuivalensi NFA e move - NFA Heru Cahya R. S.

Otomata dan Pengantar Kompilasi Ekuivalensi NFA e move - NFA Heru Cahya R. S. Si. , M. T Paryati, S. T. , M. Kom. Rifki Indra, S. Kom. , M. Eng. 1

Tujuan Instruksional Khusus (TIK) 2 menjelaskan konsep e-move menjelaskan algoritma konversi dari e-move ke

Tujuan Instruksional Khusus (TIK) 2 menjelaskan konsep e-move menjelaskan algoritma konversi dari e-move ke tanpa emove

Pre History NFA sulit diimplementasikan ke komputer karena komputer sepenuhnya deterministik Apalagi utk NFA

Pre History NFA sulit diimplementasikan ke komputer karena komputer sepenuhnya deterministik Apalagi utk NFA dengan e move yang mana tanpa input atau dengan string kosong mampu berpindah dari satu state ke state lain Merupakan kasus langka tapi kasus ini ada.

Pendahuluan NFA dengan move Def 1. e-move adalah suatu transisi antara 2 state tanpa

Pendahuluan NFA dengan move Def 1. e-move adalah suatu transisi antara 2 state tanpa adanya input terminal atau ( ) Def 2. e-closure adalah himpunan state yang dapat dicapai dengan e-move. Def 3. State yg tidak memiliki transisi -move, maka -closurenya adalah state itu sendiri. 4

NFA dengan -move Contoh ilustrasi : -closure(q 0) = [q 0, q 1, q

NFA dengan -move Contoh ilustrasi : -closure(q 0) = [q 0, q 1, q 3] -closure(q 1) = [q 1, q 3] -closure(q 2) = [q 2, q 4] -closure(q 3) = [q 3] -closure(q 4) = [q 4] q 0 e - move q 1 q 2 e - move ɛ b q 3 5 a q 4

Algoritma Ekuivalensi 1. Buat tabel transisi NFA -move sesuai soal 2. Tentukan -closure untuk

Algoritma Ekuivalensi 1. Buat tabel transisi NFA -move sesuai soal 2. Tentukan -closure untuk setiap state 3. Carilah setiap fungsi transisi hasil perubahan dari NFA dengan move ke NFA tanpa -move (kita sebut saja sebagai ’) dimana ’ didapatkan dengan rumus: ’(state, input) = _closure ( ( _closure(state, input)) 4. Berdasarkan hasil diatas, kita bisa membuat tabel transisi dan diagram transisi dari NFA tanpa -move yang ekivalen dengan NFA dengan move tersebut. 5. Jangan lupa menentukan state-state akhir untuk NDFA tanpa -move tersebut, yaitu state-state akhir semula ditambah dengan state-state yang _closure –nya mengandung state akhir. 6

Contoh kasus Diketahui NDFA e-move sbb : a q 0 q 1 b Carilah

Contoh kasus Diketahui NDFA e-move sbb : a q 0 q 1 b Carilah NDFA tanpa e-move-nya q 2 b 7

Jawaban kasus 1. Tabel transisi dari gambar soal : a b q 0 q

Jawaban kasus 1. Tabel transisi dari gambar soal : a b q 0 q 1 q 2 q 2 2. Tentukan closure tiap state -closure dari NFA tersebut untuk masing state : -closure(q 0) = [q 0, q 1] -closure(q 1) = [q 1] -closure(q 2) = [q 0, q 1, q 2] 8

3. Kita cari transisi baru utk semua pasangan (state, input) dengan bantuan point 1

3. Kita cari transisi baru utk semua pasangan (state, input) dengan bantuan point 1 dan 2. q ’(q 0, a) = _closure ( ( _closure(q 0, a)) = _closure ( ( q 0, q 1 , a)) = _closure ((q 0, a) ∪ (q 1, a)) = _closure (q 0 ∪ {}) = q 0. sehingga _closure (q 0) = q 0, q 1 q ’(q 0, b) = _closure ( ( _closure(q 0, b)) = _closure ( ( q 0, q 1 , b)) =(q 0, b) ∪ (q 1, b)= {} ∪ q 2 = q 2. sehingga _closure (q 2)= q 0, q 1, q 2 q ’(q 1, a) = _closure ( ( _closure(q 1, a)) = _closure ( ( q 1 , a)) = {}. sehingga _closure ({}) = {} 9

q ’(q 1, b) = _closure ( ( _closure(q 1), b)) = _closure (

q ’(q 1, b) = _closure ( ( _closure(q 1), b)) = _closure ( ( q 1 , b)) = q 2 sehingga _closure (q 2) = q 0, q 1, q 2 q ’(q 2, a) = _closure ( ( _closure(q 2), a)) = _closure ( ( q 0, q 1, q 2 , a)) = (q 0, a) ∪ (q 1, a) ∪ (q 2, a) = q 0 ∪ {} = q 0. sehingga _closure (q 0) = q 0, q 1 q ’(q 2, b) = _closure ( ( _closure(q 2), b)) = _closure ( ( q 0, q 1, q 2 , b)) = (q 0, b) ∪ (q 1, b) ∪ (q 2, b) = {} ∪ q 2 = q 2. sehingga _closure (q 2) = {q 0, q 1, q 2

4. Membuat tabel transisi baru dari hasil no 3: δ a b q 0

4. Membuat tabel transisi baru dari hasil no 3: δ a b q 0 {q 0, q 1} {q 0, q 1, q 2} q 1 {} {q 0, q 1, q 2} q 2 {q 0, q 1} {q 0, q 1, q 2} 5. Tentukan final state yaitu state F awal ditambah dengan state-state yang - closure –nya mengandung state akhir. F semula = q 0 - closure q 0 = {q 0, q 1} a dan {q 0, q 1}b (q 0, a) ∪ (q 1, a) dan (q 0, b) ∪ (q 1, b) q 0 ∪ {} = q 0 dan {} U q 2 = q 2 Sehingga F fix : q 0 dan q 2 = qo dan q 2 11

 Sehingga NFA tanpa e move adalah sbb: b q 0 a a, b

Sehingga NFA tanpa e move adalah sbb: b q 0 a a, b q 1 b b b q 2 b {} a, b

Bagaimana jika ditanyakan DFA? b q 0 a a, b q 1 b b

Bagaimana jika ditanyakan DFA? b q 0 a a, b q 1 b b b q 2 b {} a, b

Tugas : Konversikan ke DFA (utk NIM mhs berakhiran 1, 2, 3 0 q

Tugas : Konversikan ke DFA (utk NIM mhs berakhiran 1, 2, 3 0 q 0 14 1 q 1 2 q 2

TUGAS : untuk NIM mhs berakhiran 4, 5, 6 Konversikan ke DFA 0 ɛ

TUGAS : untuk NIM mhs berakhiran 4, 5, 6 Konversikan ke DFA 0 ɛ q 0 1 q 1

Tugas : (utk NIM mhs berakhiran 7, 8, 9, 0) Konversikan ke DFA :

Tugas : (utk NIM mhs berakhiran 7, 8, 9, 0) Konversikan ke DFA : a ɛ q 0 q 1 q 2 b q 3

Referensi 17 Utama Firrar Utdirartatmo, Teori Bahasa dan Otomata, JJ Learning, 2001 Firrar Utdirartatmo,

Referensi 17 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