Teori Bahasa dan Automata Penyusun : Nugroho Budi Utomo Ikhsan Nuryanto Windhu Jatmiko Ranni Anggraeni Teknik Informatika Semester V
Bahasa Reguler Bahasa regular atau Regular Grammar merupakan salah satu tipe grammar berdasarkan klasifikasi Chomsky. Cirinya adalah a Î V N , b Î {VT , VT VN } atau a Î V N , b Î {VT , V N VT } Mesin pengenal bahasa untuk Regular Grammar adalah Automata Hingga, yang akan dibahas pada subbab selanjutnya.
Automata Hingga (AH) Dimana : K : Himpunan hingga stata AH didefinisikan sebagai pasangan 5 tupel : (K, V T , M, S, Z). Dimana : K : Himpunan hingga stata VT : Himpunan hingga simbol input (alfabet) M : Fungsi transisi, menggambarkan transisi stata AH akibat pembacaan symbol input Fungsi transisi ini biasanya diberikan dalam bentuk tabel S Î K : Stata awal Z Ì K : Himpunan stata penerima
Ada dua jenis automata hingga : deterministik (AHD / DFA = deterministic finite automata) dan non deterministik (AHN / NFA = non deterministik finite automata). - AHD : transisi stata AH akibat pembacaan sebuah simbol bersifat tertentu. M(AHD) : K × V T ® K - AHN : transisi stata AH akibat pembacaan sebuah simbol bersifat tak tentu.M(AHN) : K × V T ® K 2
Automata Hingga Deterministik (AHD) K = {q0, q1, q2} , M diberikan dalam tabel berikut : VT = {a, b} S = q0 Z = {q0, q1}
Ilustrasi graf untuk AHD F adalah sebagai berikut : Lambang stata awal adalah node dengan anak panah. Lambang stata awal adalah node ganda. Gambar 2.1 Ilustrasi graf untuk AHD F
Lanjutan Contoh kalimat yang diterima AHD : a, b, aa, ab, ba, aba, bab, abab, baba Contoh kalimat yang tidak diterima AHD : bb, abb, abba AHD ini menerima semua kalimat yang tersusun dari simbol a dan b yang tidak mengandung substring bb.
Non-deterministic Finite Automata (NFA) Sebuah NFA dirumuskan mirip dengan DFA A= (Q, å, d, q0, F) Q : himpunan State å : himpunan input symbol d : Fungsi Transisi q0 : Start state F : himpunan final state Perbedaan NFA dan DFA adalah pada karakteristik fungsi transisi-nya DFA: Satu simbol untuk satu transisi NFA: Satu simbol dapat memiliki beberapa transisi
Bahasa NFA Suatu bahasa yang diterima oleh sebuah NFA A didefinisikan sbb.: L(A)={w|d(q0,w) Ç F ¹ Æ} Contoh: NFA Ekuivalensi NFA dan DFA
Lanjutan Contoh: Tabel Transisi 1 q0 q2 q1
Ekuivalensi NFA dan DFA Setiap bahasa yang dapat dideskripsikan oleh suatu NFA dapat pula dideskripsikan oleh suatu DFA – DFA terkecil memiliki state berjumlah 2n – NFA terkecil untuk bahasa yang sama memiliki state berjumlah n – Subset construction