Aturan Produksi untuk CFG Tata Bahasa Bebas Konteks
Aturan Produksi untuk CFG
Tata Bahasa Bebas Konteks (CFG): Definisi : Pada tata bahasa reguler dengan aturan terdapat aturan pada ruas kanan yaitu jika mengandung simbol Non Terminal maka maksimal satu simbol dan diletakan paling kanan, contohnya S a. B Tetapi pada tata bahasa bebas kontek dengan rumus tidak
Sehingga pada CFG dapat dituliskan sebagai berikut : S a. BA : ruas kanan mengandung 2 Simbol Non Terminal A Bab : ruas kanan mengandung 1 Simbol Non Terminal tetapi letaknya tidak paling kanan B a. Cb : ruas kanan mengandung 1 Simbol Non Terminal tetapi letaknya di tengah C D : ruas kanan tidak mengan dung simbol terminal
Pohon Penurunan : Definisi : Pohon Penurunan untuk memperoleh string dengan cara menurunkan simbol non terminal menjadi simbol terminal Pada tata bahasa bebas kontek, simbol S dijadikan sebagai “AKAR” dalam pohon penurunan
Pohon Penurunan : Jika terdapat CFG berikut, maka : S AB S pohonya A B Simbol A dan B non terminal yang harus diturunkan lagi
Pohon Penurunan : Jika terdapat CFG berikut, maka : S S ABC pohonya A B C Simbol A, B dan C non terminal yang harus diturunkan lagi
Pohon Penurunan : Jika terdapat CFG berikut, maka : S S Ab. C pohonya A b C Simbol A dan C non terminal yang harus diturunkan lagi, tetapi simbol b terminal sudah tidak bisa diturunkan lagi
Pohon Penurunan : Jika terdapat CFG dengan aturan produksinya berikut : S AB A a B b S pohonya a Stringnya : “aab” B A A a b
Contoh 1 : Diketahui CFG dengan Aturan Produksi berikut S a. AS a A Sb. A ba Buat Pohon Penurunan untuk string “aabbaa”
Diketahui S a. AS a A Sb. A ba Karena Pohon Penurunannya untuk mendapatkan string “aabbaa” , maka : S a A S a S b A b a a
Contoh 2 : Diketahui CFG dengan Aturan Produksi berikut S AA A AAA a b. A Ab Buat Pohon Penurunan untuk string “bbabaaba”
Karena string yang akan kita cari adalah “bbabaaba”, maka kita pilih : S A A b b A a A b a
Contoh 2 : Diketahui CFG dengan Aturan Produksi berikut S a. Ad a. B A b c B ccd ddc Buat Pohon Penurunan untuk string “accd”
Karena string yang akan kita cari adalah “accd”, maka kita pilih : S B a c c d
Contoh 3 : Diketahui CFG dengan Aturan Produksi berikut S AB A Aa b. B B a Sb Buat Pohon Penurunan untuk string “baabaab”
Contoh 4 : Diketahui CFG dengan Aturan Produksi berikut S Ba Ab A Sa Aab a B Sb BBa b Buat Pohon Penurunan untuk string “bbaaaabb”
Contoh 5 : Diketahui CFG dengan Aturan Produksi berikut S Ba Ab A Sa Aab a B Sb BBa b Buat Pohon Penurunan untuk string “baabbbaa”
Contoh 6 : Diketahui CFG dengan Aturan Produksi berikut S Ba Ab A Sa Aab a B Sb BBa b Buat Pohon Penurunan untuk string “baab”
Contoh 7 : Diketahui CFG dengan Aturan Produksi berikut S a. B b. A A a a. S b. AA B b b. S a. BB Buktikan bahwa tata bahasa bebas konteks di atas adalah ambigu
- Slides: 19