Yenni Astuti Version 1.0.1
Week-6NFA ke DFA Mengapa NFA ke DFA? NFA lebih mudah dimengerti dan didesain, dibanding DFA. Namun dalam prakteknya, DFA lebih mudah diaplikasikan pada komputer dibanding NFA. – Komputer memiliki sifat DFA, yakni untuk 1 input yang diberikan, keadaan berikutnya hanya ada 1 kemungkinan. Misal: tekan huruf ‘ctrl’+’alt’+’del’, keadaan berikutnya yang terjadi pasti muncul ‘Task Manager’.
Week-6NFA ke DFA Extended Function 1 Sebelum memahami cara mengubah NFA ke DFA, kita pahami dulu fungsi perluasan atau extended function. Fungsi transisi: ({1,2},a) dapat dicari dengan memperluas fungsi transisi tersebut menjadi (1,a) (2,a).
Week-6NFA ke DFA Extended Function 2 ({1,2},a) = (1,a) U (2,a) a b a, b ({1,2},a) = (1,a) U (2,a) Untuk diagram keadaan disamping, (1,a) = (2,a) = {2,3} Sehingga, ({1,2},a) = {2,3}
Week-6NFA ke DFA Cara Konversi Bila N = (Q, , , q 0, F) merupakan NFA yang dapat mengenali Language A, maka DFA D yang juga dapat mengenali Language A adalah D = (Q’, , ’, q 0 ’, F’)
Week-6NFA ke DFA D = (Q’, , ’, q 0 ’, F’) Q’ = Power set dari Q (baca slide 05.NFA) ’ = gabungan fungsi transisi q 0 ’ = {q 0 } F’ = {R}, dengan R adalah keadaan yang mengandung keadaan akhir (final state).
Week-6NFA ke DFA Contoh NFA ke DFA 1 q1q1 q0q0 q2q2 a b a, b a b Contoh ini merupakan NFA pada minggu sebelumnya. Pada slide ini nama keadaannya saya ubah menjadi 1, 2, 3 untuk kemudahan penjelasan.
Week-6NFA ke DFA Contoh NFA ke DFA a b a, b Power set dari Q atau semua himpunan yang mungkin dari Q adalah { , {1}, {2}, {3}, {1,2}, {1,3}, {2,3}, {1,2,3}} DFA D akan dibuat menggunakan 8 keadaan tersebut. 2k2k k=jumlah state=3
Week-6NFA ke DFA Contoh NFA ke DFA 3 Q’ = { , {1}, {2}, {3}, {1,2}, {1,3}, {2,3}, {1,2,3}} ,2 1,3 2,3 1,2,3 Keadaan untuk DFA D
Week-6NFA ke DFA Contoh NFA ke DFA 4 q 0 ' = {1} Namun karena keadaan 1, memiliki menuju keadaan 3, maka q 0 ' = {1,3} a b a, b 1,3
Week-6NFA ke DFA Contoh NFA ke DFA a b a, b F’ = {{1}, {1,2},{1,3},{1,2,3}} F' = semua keadaan yang mengandung keadaan ,21,3 1,2,3 a, b b a
Week-6NFA ke DFA Contoh NFA ke DFA 6 = ab 1 2 22,3 31,3 1,22,3 1,3 2 2,31,2,32,3 1,2,3 2, a b a, b Ingat extended function!
Week-6NFA ke DFA Contoh NFA ke DFA 7 ,2 1,3 2,3 1,2,3 a, b ab a b a b a b a b ab 1 2 22,3 31,3 1,22,3 1,3 2 2,31,2,32,3 1,2,3 2,3
Week-6NFA ke DFA Contoh NFA ke DFA 8 ,2 1,3 2,3 1,2,3 a, b ab a b a b a b a b Keadaan 1, keadaan 3, dan keadaan {1,2} tidak memiliki anak panah yang menuju ke dirinya. Kedua keadaan ini dapat dihilangkan.
Week-6NFA ke DFA Contoh NFA ke DFA 9 2 1,3 2,3 1,2,3 a, b a b a b a b Karena keadaan tidak memiliki panah yang menuju dirinya, keadaan ini juga dihilangkan.
Week-6NFA ke DFA Contoh NFA ke DFA ,3 2,3 1,2,3 a a, b a b a b b Setelah keadaan dihilangkan, dan semua keadaan tersisa dirapikan, hasil akhir menjadi seperti berikut.
Week-6NFA ke DFA Bahasa Reguler Setiap Bahasa yang dapat diterima oleh sekurangnya satu DFA dan sekurangnya satu NFA disebut dengan BAHASA REGULER.
Week-6NFA ke DFA Sifat Bahasa Reguler: Closure Properties Tertutup terhadap operasi penggabungan (union). Tertutup terhadap operasi sambungan (concatenation). Tertutup terhadap operasi bintang (star).
Week-6NFA ke DFA Closed under Union 1 Jika A 1 dan A 2 adalah reguler, maka A 1 A 2 juga reguler
Week-6NFA ke DFA Closed under Union 2 N 1 = (Q 1, , 1, q 1, F 1 ) mengenali A 1 N 1 = (Q 2, , 2, q 2, F 2 ) mengenali A 2 N = (Q, , , q 0, F) yang mengenali A 1 A 2 Q = {q 0 } Q 1 Q 2 q 0 = keadaan awal N F = F 1 F 2 (q,a) 1 (q,a) 2 (q,a) {q 1,q 2 } q Q 1 q Q 2 q = q 0 dan a= q = q 0 dan a≠
Week-6NFA ke DFA Closed Under Concatenation 1 Jika A 1 dan A 2 adalah reguler, maka A 1 ○ A 2 juga reguler
Week-6NFA ke DFA Closed Under Concatenation 2 N 1 = (Q 1, , 1, q 1, F 1 ) mengenali A 1 N 1 = (Q 2, , 2, q 2, F 2 ) mengenali A 2 N = (Q, , , q 1, F 2 ) yang mengenali A 1 ○ A 2 Q = Q 1 Q 2 q 0 = keadaan awal N 1 F = F 2 (q,a) 1 (q,a) 1 (q,a) {q 2 } q Q 1 dan q F 1 q F 1 dan a q F 1 dan a= q Q 2
Week-6NFA ke DFA Closed Under Star Operation 1 Jika A adalah reguler, maka A * juga reguler
Week-6NFA ke DFA Closed Under Star Operation 2 N 1 = (Q 1, , 1, q 1, F 1 ) mengenali A 1 N = (Q, , , q 0, F 2 ) yang mengenali A 1 ○ A 2 Q = {q 0 } Q 1 q 0 = keadaan awal N yang baru F = q 0 F 1 (q,a) q Q 1 dan q F 1 q F 1 dan a q F 1 dan a= q q 0 dan a= 1 (q,a) 1 (q,a) {q 1 } {q 1 } q q 0 dan a
Week-6NFA ke DFA Tugas Pertemuan ke-6 Pilih salah satu dari diagram NFA diatas (a) atau (b), kemudian konversikan diagram NFA tersebut menjadi DFA (lihat slide 5-16). Tuliskan pada kertas jawaban anda bentuk diagram DFA nya saja!