Pohon penurunan dan Penyederhanaan Tata Bahasa Bebas Konteks
Pohon penurunan dan Penyederhanaan Tata Bahasa Bebas Konteks Pertemuan 7 Mahasiswa mampu menerapkan pohon peneurunan dan konsep Penyederhanaan Tata Bahasa Bebas Konteks
Materi • Pengertian Tata Bahasa Bebas Konteks • Penerapan Tata Bahasa Bebas Konteks dengan pohon penurunan • Penyederhanaan Tata Bahasa Bebas Konteks dengan Penghilangan Produksi Useless, Penghilangan Produksi Unit dan Penghilangan Produksi є (empty)
Pengertian Tata Bahasa Bebas Konteks Sebuah grammar dikatakan context free jika semua sisi kirinya hanya terdiri dari satu simbol non-terminal (Variabel), dan sisi kanan setidaknya terdiri dari satu simbol terminal. contoh : ����� | �� +�� ����� | ��∗�� ����� | (�� )
Penerapan Tata Bahasa Bebas Konteks dengan pohon penurunan / derivasi pohon • derivasi pohon merupakan Sebuah cara menunjukkan bagaimana sebuah tata bahasa bebas konteks berasal dari kata tertentu. • Node daun dari pohon adalah terminal , node lain nonterminals / variabel contoh :
penyelesaian Pohon penurunan untuk “ababaa”
Proses penurunan a. Penurunan terkiri b. Penurunan terkanan Contoh : ����� | �� +�� ����� | ��∗�� ����� | (�� ) • Lakukan derivasi kiri dan kanan untuk string “��∗ (�� +�� )“
Ambiguitas Sebuah grammar dikatakan ambigous atau ambigu ada sebuah word memiliki dua atau lebih syntax tree. contoh : buatlah proses dan pohon penurunan dari string “a + b * c”
penyelesaian
Penyederhanaan Tata Bahasa Bebas Dapat dilakukan dengan : a. Penghilangan Produksi є (empty) produksi є (empty) : α→ ε contoh : A→ ε b. Penghilangan Produksi Unit : α→ β contoh : A → B c. Penghilangan Produksi Useless contoh : A→ Ba |c B→b C → a (produksi ini tidak digunakan maka dihilangkan)
Penghilangan Produksi є (empty) S → bc. Ad A→ε Hasil dari penghilangan produksi ε : S → bc. Ad ε S → bcεd S → bcd
Penghilangan Produksi Unit S →Sb | C C→D C → ef D→ dd Lakukan penghilangan produksi unit : 1. Termasuk produksi Unit : S →C, C → D
2. Menggantikan produksi unit menjadi tidak unit lagi 1. S → C �D |ef �dd |ef S →C menjadi S →dd |ef 2. C → D �dd C → D menjadi C → dd
Hasil akhir dari penghilangan prosuksi unit Produksi unit Hasil Penghilangan produksi unit S →Sb | C C→D C → ef D→ dd S →Sb | dd |ef C → dd C → ef D→ dd
Penghilangan Produksi Useless S → a. BD B → c. D |Ab D → ef A → Ed F → dc Lakukan penghilanhan produksi Useless !
Penyelesaian Periksa produksi yang tidak memiliki penurunan S → a. BD B → c. D |Ab (karena A dihilangkan maka B →Ab dihilangkan) D → ef (E tidak dapat diturunkan maka dihilangkan) A → Ed F → dc (tidak digunakan maka hilangkan) Sehingga produksi hasil penghilangan produksi useless : S → a. BD B → c. D D → ef
Sederhanakan bahasa bebas konteks CFG Penghilangan produksi ε (empty) Penghilangan produksi unit Penghilangan produksi useless (tidak berguna) CFG yang sudah sederhana Diketahui bahasa bebas konteks berikut : S →AA | C | bd A →Bb | ε B→AB | d C→de Sederhanakan CFG diatas !
Penyelesaian : 1. Menghilangkan produksi ε Produksi ε : A →| ε sehingga : B→AB | d A →Bb | ε S →AA �S → εBb �S → εA �S → A | �S → Bb ε �S → A | �S → ε ε �S → ε (dihilangkan) | �S → Bb. Bb �S → A A sehingga S →AA |A |C | bd B→AB �B → εB �B→ B | �B → Bb. B �B → AB sehingga B→B |AB | d Hasil menghilangkan produksi ε : S →AA |A |C | bd A →Bb B→B |AB | d C→de
2. Penghilangan Produksi Unit S →AA |A |C | bd A →Bb B→B |AB | d C→de Produksi unit : S →A |C B→B Penyelesaian : S →A �S → Bd S →C �S → de B→B �B → Ab|d Hasil menghilangkan produksi unit : S →AA |Bd |de | bd A →Bb B→AB | d C→de
3. Penghilangan produksi useless S →AA |Bd |de | bd A →Bb B→AB | d C→de Produksi useless : C→de (dihilangkan) Hasil menghilangkan produksi useless : S →AA |Bd |de | bd A →Bb B→AB | d
CFG yang telah sederhana CFG yang belum sederhana CFG yang sederhana S →AA | C | bd A →Bb | ε B→AB | d C→de S →AA |Bd |de | bd A →Bb B→AB | d
- Slides: 21