Pohon Penurunan
• Pada Bahasa regular terdapat pembatasan pada ruas kiri
• Pada CFG, tidak terdapat pembatasan pada hasil produksinya
• Batasannya hanya ruas kiri adalah symbol variable
• Contoh CFG
• B CDeFg
• D BcDe
CFG
Pohon Penurunan
The quick brown fox jumped
over the lazy dog
CFG
Pohon Penurunan
• Derivation tree berguna untuk menggambarkan bagaimana
memperoleh suatu string dengan cara menurunkan symbol-
symbol variable menjadi symbol-symbol terminal.
• Misalnya terdapat Bahasa CFG dengan symbol awal S dengan
aturan produksi:
SAB
AaA|a
BbB|bb
CFG
Pohon Penurunan
SAB
AaA|a
BbB|bb
Ambiguitas
Ambiguitas terjadi bila terdapat lebih dari satu pohon penurunan yang
berbeda untuk memperoleh suatu untai. Misalkan terdapat CFG
AA|B
Aa
Ba
Ambiguitas
Contoh lain:
• S SbS|ScS|a
Penyederhanaan CFG
Bertujuan untuk melakukan pembatasn sehingga tidak menghasilkan
pohon penurunan yang memiliki penurunan yang rumit atau tidak
perlu/tidak berarti.
Contoh:
AAB|a
Aa
Penyederhanaan CFG
Untuk CFG berikut:
SA
AB
BC
CD
Da|A
Penyederhanaan CFG
Suatu CFG dapat disederhanakan dengan melakukan cara berikut
SaSa|Abd|Bde
AAda
BBBB|a
SaSa|Abd|Bde
AAda
BBBB|a
SbcAd
A ɛ
Pada kasus di atas A nullable, serta A ɛ satu-satunya produksi dari A,
maka variable A bias ditiadakan. Hasil penyederhanaan menjadi:
Sbcd
CFG
SbcAd
Abd| ɛ
SbcAd|bcd
Abd
Penyederhanaan CFG
CFG
Penyederhanaan CFG
CFG
Penyederhanaan CFG
Sederhanakan CFG berikut:
SAA|C|bd
ABb| ɛ
BAB|d
Cde
CFG
Penyederhanaan CFG
1. Penghilangan nullable
SA|AA|C|bd
ABb
BB|AB|d
Cde
CFG
Penyederhanaan CFG
2. Penghilangan produksi unit
SBb|AA|de|bd
ABb
BAB|d
Cde
CFG
Penyederhanaan CFG
3. Penghilangan produksi useless
SBb|AA|de|bd
ABb
BAB|d
Ada Pertanyaan ?
“Tetap semangat, setiap usaha kita
dalam menuntut ilmu akan dibalas
oleh Tuhan Yang Maha Esa”