Anda di halaman 1dari 37

Contect Free Grammar

Andi Baso Kaswar


Sub Capaian Pembelajaran Mata Kuliah

1. Mahasiswa mampu memahami dan menjelaskan mengenai konsep CFG


2. Mahasiswa mampu memahami dan menjelaskan karakteristik CFG
Masih ingat materi
sebelumnya?
Context Free Grammar
CFG

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:
SAB
AaA|a
BbB|bb
CFG

Pohon Penurunan
SAB
AaA|a
BbB|bb

• Berdasarkan aturan produksi


diatas, pohon penuruanan untuk
untai string aabbb adalah sebagai
berikut:
Left Most dan Right Most
Derivation
CFG

Left Most & Right Most Derivation


Aturan Produksi
SaAS | a
ASbA | ba

• Berdasarkan aturan produksi diatas, pohon penuruanan untuk untai


string aabbaa adalah sebagai berikut:
• Left Most SaASaSbASaabASaabbaSaabbaa
• Right Most SaASaAaaSbAaaSbbaaaabbaa
CFG

Left Most & Right Most Derivation


Terdapat aturan produksi pada sebuah CFG sebagai berikut
X → X+X | X*X | X | a
Dengan inputan {a}

Derivasi leftmost untuk string “a+a*a” adalah –


XX+X a+Xa+X*Xa+a*Xa+a*a

Derivasi Rightmost untuk string “a+a*a” adalah –


XX*X X*aX+X*aX+a*aa+a*a
Ambiguitas
CFG

Ambiguitas
Ambiguitas terjadi bila terdapat lebih dari satu pohon penurunan yang
berbeda untuk memperoleh suatu untai. Misalkan terdapat CFG

AA|B
Aa
Ba

Sebuah untai a bias terdapat 2 cara penurunan:


• SAa
• SBa
CFG

Ambiguitas
Contoh lain:
• S SbS|ScS|a

Kita bias menurunkan untai


‘abaca’ dalam 2 cara berikut:
• SSbSSbScSSbScaSb
acaabaca
• SScSSbScSabScSab
acSabaca
Penyederhanaan CFG
CFG

Penyederhanaan CFG
Bertujuan untuk melakukan pembatasn sehingga tidak menghasilkan
pohon penurunan yang memiliki penurunan yang rumit atau tidak
perlu/tidak berarti.

Contoh:
AAB|a
Aa

Kelemahan CFG di atas, aturan produksi SAB tidak berarti karena B


tidak memiliki penurunan.
CFG

Penyederhanaan CFG
Untuk CFG berikut:

SA
AB
BC
CD
Da|A

Kelemahan CFG di atas, terlalu Panjang padahal hanya berujuang Sa,


produksi DA juga menyebabkan kerumitan.
CFG

Penyederhanaan CFG
Suatu CFG dapat disederhanakan dengan melakukan cara berikut

• Penghilangan produksi useless


• Penghilangan produksi unit
• Penghilangan produksi ɛ
CFG

Penyederhanaan CFG - Penghilangan produksi useless


Defenisi produksi useless:
• Produksi yang memuat symbol variable yang tidak memiliki penurunan
yang akan menghasilkan terminal-terminal seluruhnya. Produksi ini
tidak berguna karena bila diturunkan tidak akan pernah selesai.
• Produksi yang tidak pernah akan tercapai dengan penurunan apapun
dari symbol awal sehingga produksi itu redundan.
CFG

Penyederhanaan CFG - Penghilangan produksi useless


Contoh CFG:

SaSa|Abd|Bde
AAda
BBBB|a

Dapat dilihat bahwa:


• Simbol variable Atidak memiliki penurunan yang menuju terminal
sehingga bisa dihilangkan
• Konsekuensi di atas, aturan produksi SAbd tidak memiliki penurunan.
CFG

Penyederhanaan CFG - Penghilangan produksi useless


Contoh CFG:

SaSa|Abd|Bde
AAda
BBBB|a

Setelah disederhanakan menjadi:


SaSa|Bde
BBBB|a
CFG

Penyederhanaan CFG - Penghilangan produksi useless


Contoh CFG: 1. Aturan produksi AD, symbol variable D tidak
memiliki penurunan
SAa | B 2. Aturan produksi Cbb, bila kita coba melakukan
Aab | D pnurunan dari symbol awal S, dengan jalan
Bb | E manapun tidak akan pernah sampai ke C
Cbb 3. Simbol variable E tidak memiliki aturan produksi
EaEa yang menuju terminal (EaEasatu-satunya aturan
produksi dari E
4. konsekuensi no.3 aturan produksi BE, symbol
variable E tidak memiliki penurunan
CFG

Penyederhanaan CFG - Penghilangan produksi useless


Contoh CFG: Produksi yang useless Setelah penyederhanaan

SAa | B AD SAa | B


Aab | D Cbb Aab
Bb | E EaEa Bb
Cbb BE
EaEa
CFG

Penyederhanaan CFG - Penghilangan produksi Unit


• Produksi unit adalah produksi di mana ruas kiri dan kanan aturan
hanya berupa satu symbol variable, misalkan AB,CD.
• Keberadaan produksi unit membuat tatabahasa memiliki kerumitan
yang tidak perlu atau menambah Panjang penurunan
• Penyederhanaan dilakukan dengan mengganti aaturan produksi
CFG

Penyederhanaan CFG - Penghilangan produksi Unit


Contoh CFG: Kita lakukan pergantian berurutan mulai dari aturan
SSb produksi yang paling dekat menuju ke penurunan
SC terminal-terminal
CD
Cef CD menjadi Cdd
Ddd SC menjadi Sdd|ef
CFG

Penyederhanaan CFG - Penghilangan produksi Unit


Contoh CFG: Aturan produksi setelah penyederhanaan:
SSb SSb
SC Sdd|ef
CD Cdd
Cef Cef
Ddd Ddd
CFG

Penyederhanaan CFG - Penghilangan produksi ɛ


• Produksi ɛ adalah produksi dalam bentul αɛ
• Atau bias dianggap sebagai produksi kosong.
• Penghilangan produksi ɛ dilakukan dengan melakukan penggantian
produksi yang memuat variable yang bias menuju ke produksi ɛ, atau
biasa disebut nullable.
CFG

Penyederhanaan CFG - Penghilangan produksi ɛ


• Prinsip pergantian bisa dilihat pada contoh berikut

SbcAd
A ɛ
Pada kasus di atas A nullable, serta A ɛ satu-satunya produksi dari A,
maka variable A bias ditiadakan. Hasil penyederhanaan menjadi:

Sbcd
CFG

Penyederhanaan CFG - Penghilangan produksi ɛ


• contoh lain

SbcAd
Abd| ɛ

Pada kasus di atas A nullable, tapi A ɛ bukan satu-satunya produksi


dari A. Hasil penyederhanaan menjadi:

SbcAd|bcd
Abd
Penyederhanaan CFG
CFG

Penyederhanaan CFG
CFG

Penyederhanaan CFG
Sederhanakan CFG berikut:

SAA|C|bd
ABb| ɛ
BAB|d
Cde
CFG

Penyederhanaan CFG
1. Penghilangan nullable

SA|AA|C|bd
ABb
BB|AB|d
Cde
CFG

Penyederhanaan CFG
2. Penghilangan produksi unit

SBb|AA|de|bd
ABb
BAB|d
Cde
CFG

Penyederhanaan CFG
3. Penghilangan produksi useless

SBb|AA|de|bd
ABb
BAB|d
Ada Pertanyaan ?
“Tetap semangat, setiap usaha kita
dalam menuntut ilmu akan dibalas
oleh Tuhan Yang Maha Esa”

Anda mungkin juga menyukai