Matakuliah Tahun Versi : T0162/Teori Bahasa dan Automata : 2005 : 1/0 Pertemuan 8 CONTEXT FREE GRAMMAR (CFG) 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 CONTEXT FREE GRAMMAR (CFG) • Mendefinisikan programming language • Formalitas konsep Parsing • Mendefinisikan ekspresi aritmatik Komponen CFG : • Non-terminal / syntactic category / variabel • Terminal 4 CONTEXT FREE GRAMMAR (CFG) • Production : aturan yang menghubungkan variabel dengan variabel, variabel dengan terminal. • Simbol Production : 5 CONTEXT FREE GRAMMAR (CFG) Contoh Production : 1. <kalimat> 2. <subjek> 3. <predikat> 4. <objek> 5. <kata benda> 6. <kata kerja> < ….. > <subjek> <predikat> <kata benda> <kata kerja> <objek> <kata benda> anjing nasi orang makan memukul : variabel : pilihan 6 CONTEXT FREE GRAMMAR (CFG) Aplikasi produksi di atas secara berulang akan menghasilkan suatu kalimat yang utuh, misalnya : “anjing makan anjing” melalui proses “derivasi” 7 CONTEXT FREE GRAMMAR (CFG) Contoh Derivasi : <kalimat> <subjek> <predikat> <subjek> <kata kerja> <objek> <subjek> <kata kerja> <kata benda> <subjek> <kata kerja> anjing <kata benda> makan anjing anjing makan anjing 8 CONTEXT FREE GRAMMAR (CFG) Derivasi menggunakan simbol : Produksi untuk ekspressi aritmatik : <ekspressi> <ekspressi> <ekspressi> <ekspressi> <ekspressi> + <ekspressi> <ekspressi> <ekspressi> (<ekspressi>) id 9 CONTEXT FREE GRAMMAR (CFG) Menurunkan ekspresi aritmatika : <ekspresi> <ekspresi> <ekspresi> (<ekspresi>) <ekspresi> (<ekspresi> + <ekspresi>) <ekspresi> (id + id) <ekspresi> (id + id) id 10 CONTEXT FREE GRAMMAR (CFG) Secara formal : CFG ditunjukkan oleh : G = (V, T, P, S) dimana : V : himpunan variabel T : himpunan terminal V T = (disjoint) P : himpunan produksi : A A : variabel ( V T ) S : start symbol 11 CONTEXT FREE GRAMMAR (CFG) Contoh : CFG untuk ekspresi aritmatika : E E+E E E*E E (E) E id 12 CONTEXT FREE GRAMMAR (CFG) Konversi penggunaan simbol : 1. A, B, C, D, E dan S : variabel 2. Huruf kecil dan digit : terminal 3. X, Y, Z : terminal atau variabel 4. Huruf kecil : u, v, w, x, y, dan z : string variabel 5. Huruf kecil : , , : string variabel dan terminal Jika A 1, A 2, …, A n, ditulis A 1 2 … k 13 << CLOSING>> 14
© Copyright 2026 Paperzz