Matakuliah Tahun Versi : T0162/Teori Bahasa dan Automata : 2005 : 1/0 Pertemuan 5 KONVERSI NFA MENJADI DFA 1 Learning Outcomes Pada akhir pertemuan ini, diharapkan mahasiswa akan mampu : • << TIK-99 >> • << TIK-99>> 2 Outline Materi • • • • • Materi 1 Materi 2 Materi 3 Materi 4 Materi 5 3 KONVERSI NFA MENJADI DFA • Jika L merupakan suatu bahasa yang diterima oleh NFA, pasti dapat dibuat suatu DFA yang akan menerima bahasa L • Jika terdapat NFA M = (Q, , , qo, F) maka dapat dibuat DFA M1 = (Q1, 1, 1, q1o, F1) yang ekivalen dengan NFA tersebut 4 KONVERSI NFA MENJADI DFA Q1 = = 1 = q1o = 1 = Q Seluruh subset dari himpunan state Q qo 1([q1, q2, …, qi] a) = [p1, p2, …, pj] jika dan hanya jika ({q1, q2, …, qi}, a) = {p1, p2,…, pj} 5 KONVERSI NFA MENJADI DFA F1 = Dibentuk dari seluruh state dalam Q1 yang mengandung salah satu state dalam F Contoh : Ubah NFA berikut menjadi suatu DFA NFA M = ({q0, q1}, {0, 1}, , q0, { q1}) 6 KONVERSI NFA MENJADI DFA Dimana fungsi transisi : (q0, 0) (q0, 1) (q1, 0) (q1, 1) = = = = { q0, q1} { q1 } { q0, q1} 7 KONVERSI NFA MENJADI DFA • Optimisasi state dalam DFA yang dihasilkan • Aturan : State-state yang tak pernah dilalui dari start state, dapat dihilangkan • Latihan : Lakukan optimasi state dalam DFA yang dihasilkan dari konversi NFA sebelumnya 8 KONVERSI NFA MENJADI DFA Membentuk DFA dari NFA dengan Algoritma : Input : suatu NFA Output : suatu DFA yang menerima language yang sama 9 KONVERSI NFA MENJADI DFA WHILE there’s an unmarked state X = (S1, S2, …, Sn) dari D DO BEGIN mark X; FOR each input symbol a DO BEGIN Let T be the set if states to which there is a transition on a from some state Si in X; y := - CLOSURE(T); IF y has not been added to the set of states of D THEN make y an “unmarked” state of D; add a transition form X to Y labeled a if not already present END END 10 KONVERSI NFA MENJADI DFA Contoh : q2 Start q0 q3 q1 q6 q4 q7 q8 q9 q10 q5 11 KONVERSI NFA MENJADI DFA DFA yang dihasilkan : 12 KONVERSI NFA MENJADI DFA Start State A = - CLOSURE(q0) = { q0, q1, q2, q4, q7} State B = { q1, q2, q3, q4, q6, q7, q8 } State C = { q1, q2, q4, q5, q6, q7 } State D = { q1, q2, q4, q5, q6, q7, q9 } State D = { q1, q2, q4, q5, q6, q7, q10 } 13 << CLOSING>> 14
© Copyright 2024 Paperzz