Anda di halaman 1dari 3

PERTEMUAN 3

a. Tujuan Pembelajaran
Mampu menjelaskan konsep CFG dan menerangkan jenis derivasi pada CFG
b. Materi Pembelajaran

3.1 PENYEDERHANAAN CONTEXT FREE GRAMMAR


CFG atau Context Free Grammar adalah tata bahasa formal di mana setiap aturan
produksi adalah dalam bentuk A → B di mana A adalah pemproduksi, dan B adalah hasil
produksi. Batasannya hanyalah ruas kiri adalah sebuah simbol variabel. Dan pada ruas kanan
bisa berupa terminal, symbol, variable ataupun ɛ, Contoh aturan produksi yang termasuk
CFG adalah seperti berikut ini:
 X → bY | Za
 Y → aY | b
 Z → bZ | ɛ
CFG adalah tata bahasa yang mempunyai tujuan sama seperti halnya tata bahasa
regular yaitu merupakan suatu cara untuk menunjukkan bagaimana menghasilkan suatu
untai-untai dalam sebuah bahasa.
CFG perlu disederhankan dengan tujuan untuk melakukan pembatasan sehingga tidak
menghasilkan pohon penurunan yang memiliki kerumitan yang tak perlu atau aturan
produksi tak berarti. Berikut merupakan langkah-langkah dalam melakukan penyederhanaan
CFG:
 Eliminasi ɛ-production
 Eliminasi unit production
 Eliminasi useless symbol
Berikut contoh Penyederhanaan CFG:
A → cAB | ab
B →  BaC| C
C →  bC| ɛ 
Step 1 – Eliminasi ɛ-production
 Hilangkan semua hasil produksi yang ɛ
 Jika X → ɛ, maka X adalah nullable
 Jika Y → X, maka Y adalah nullable
 Jika Z → Xa, maka Z → a
Result :
A → cAB | ab | cA
B →  BaC| C | Ba | aC | a
C →  bC| b
Step 2 – Eliminasi unit production
 Jika ada hasil produksi yang terdiri dari 1 variable, maka hasil produksi tersebut
disubstitusi dengan hasil produksi dari grammar dimana variable tersebut menjadi
pemproduksiResult :
A → cAB | ab | cA
B →  BaC| bC | b | Ba | aC | a
C →  bC| b
Step 3 – Eliminasi useless symbol
 Uji Generate
Jika X → YZ, Y → aa, Z → b, maka X,Y,Z lolos uji generate
Jika M → PQ, P → aa, Q → QQ, maka M dan Q tidak lolos uji generate
 Uji Reachable
Jika S → TU dimana S adalah start symbol maka T dan U lolos uji reachable
Final Result :
A → cAB | ab | cA
B →  BaC| bC | b | Ba | aC | a
C →  bC| b
3.2 JANIS DERIVASI CFG
Parsing dari sebuah kalimat adalah konstruksi atau pembentukan pohon sintaks untuk
kalimat tersebut.
Parsing dapat dilakukan dengan cara :
 Penurunan terkiri (Leftmost derivation) : symbol variabel yang paling kiri diturunkan
(tuntas) dahulu
 Penurunan terkanan (Rightmost derivation) : symbol yang paling kanan diturunkan
(tuntas) dahulu
Contoh : ingin dihasilkan string aabbaa dari

        Context free language :     S → aAS │ a


A → SbA │ ba

Penurunan kiri                      Penurunan kanan


S  → aAS                            S  → aAS
   → aSbAS                             → aAa
   → aabAS                             → aSbAa
   → aabbaS                            → aSbbaa
   → aabbaa                            → aabbaa

TUGAS
Grammar :

 S → aAS | a
 A → SbA | ba
Tentukanlah dengan metode Leftmost derivation dan Rightmost derivation

Anda mungkin juga menyukai