People Innovation Excellence
 

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


Published at : Updated
Written By
Alvina Aulia, S.Kom., M.T.I
Subject Content Coordinator Software Development | School of Computer Science

Periksa Browser Anda

Check Your Browser

Situs ini tidak lagi mendukung penggunaan browser dengan teknologi tertinggal.

Apabila Anda melihat pesan ini, berarti Anda masih menggunakan browser Internet Explorer seri 8 / 7 / 6 / ...

Sebagai informasi, browser yang anda gunakan ini tidaklah aman dan tidak dapat menampilkan teknologi CSS terakhir yang dapat membuat sebuah situs tampil lebih baik. Bahkan Microsoft sebagai pembuatnya, telah merekomendasikan agar menggunakan browser yang lebih modern.

Untuk tampilan yang lebih baik, gunakan salah satu browser berikut. Download dan Install, seluruhnya gratis untuk digunakan.

We're Moving Forward.

This Site Is No Longer Supporting Out-of Date Browser.

If you are viewing this message, it means that you are currently using Internet Explorer 8 / 7 / 6 / below to access this site. FYI, it is unsafe and unable to render the latest CSS improvements. Even Microsoft, its creator, wants you to install more modern browser.

Best viewed with one of these browser instead. It is totally free.

  1. Google Chrome
  2. Mozilla Firefox
  3. Opera
  4. Internet Explorer 9
Close