SlideShare a Scribd company logo
1 of 15
Download to read offline
Tata Bahasa Bebas Konteks

                    By mei




    Dalam tatabahasa bebas
            konteks
Ruas kiri dari aturan produksi terdiri dari SATU
 simbol non terminal
Ruas kanan dapat berupa string yang dibentuk
 dari simbol terminal dan non terminal

Contoh
S aSb | 
Kalimat-kalimat yang dibangkitkan dari aturan
  produksi itu adalah ,ab,aabb,aaabbb,... ,
  anbn
Leftmost dan Rightmost
             Derivation
Suatu penguraian /penurunan dikatakan
 leftmost derivation bila setiap tahapan
 penurunan variabel / non terminal terkiri
 yang diuraikan.
Apabila setiap tahapan penurunan variabel /
 non terminal paling kanan yang diuraikan
 disebut rightmost derivation




                    Contoh 1

G=({A,B,S}, {a,b},S,P} dengan aturan produksi P :
   S  AB
   A aaA | 
   BBb | 
Menspesifikasikan bahasa
   L(G) = {a2nbm | n0 , m0}
Leftmost derivation untuk menghasilkan string aab
 S  AB  aaAB  aaB  aaBb  aab
Righmost derivation untuk menghasilkan string aab
   S  AB  ABb  aaABb aaAb aab
•
Contoh 2

G=({A,B,S}, {a,b},S,P} dengan aturan produksi P :
  S  aAB
  A bBb
  B A | 

Leftmost derivation untuk menghasilkan string abbbb
  S  aAB  abBbB  abAbB  abbBbbB
     abbbbB  abbbb
Righmost derivation untuk menghasilkan string aab
  S  aAB  aA  abBb  abAb  abbBbb  abbbb




  Pohon urai(pohon penurunan)
Untuk menampilkan                        S
 penguraian, dapat
 dilakukan dengan
                             a       A               B
 membentuk pohon
 urai (sayangnya,
 urutan penguraian               b   B       b       A
 tidak terlihat) .
Contoh pohon urai                               b   B   b
 pada contoh
 sebelumnya :
                                                     
Parsing dan Keanggotaan
Untuk menentukan apakah string w berada
 di L(G), dengan cara secara sistematis
 membangun semua kemungkinan
 penurunan, dan mencocokkan hasilnya
 apakah ada yang sama dengan string w.
 (disebut exhaustive search parsing)




                     contoh
menentukan apakah        Penguraian nomor 3 dan 4
   string ab berada         tidak perlu dilanjutkan.
                         Penguraian 1 membentuk
   pada bahasa yang
   dibentuk oleh         1a. S  SS  SSS
   grammar dengan        1b. S  SS  aSbS
   aturan produksi       1c. S  SS  bSaS
S  SS | aSb | bSa |    1d. S  SS  S
Untuk penguraian         Penguraian 2 membentuk
   pertama               2a. S  aSb  aSSb
1. S  SS                2b. S  aSb  aaSbb
2. S  aSb               2c. S  aSb  abSab
                         2d. S  aSb  ab
3. S  bSa
4. S  
Ambiguitas pada Tatabahasa dan Bahasa

Tatabahasa bebas
  konteks G disebut                         S
  ambigu jika terdapat
                                        S           S
  beberapa w  L(G)
  yang mempunyai                               a   S   b
                               S
  paling sedikit dua
  buah pohon                                    a   S   b
                           a   S   b
  penurunan
                                                    
                           a   S   b
Contoh pada
   tatabahasa dengan           
   aturan produksi
S  SS | aSb | 
string aabb mempunyai
   2 pohon penurunan :




          PENYEDERHANAAN
     TATA BAHASA BEBAS KONTEKS
Tujuan
Melakukan pembatasan sehingga tidak
  menghasilkan pohon penurunan yang memiliki
  kerumitan yang tidak perlu atau aturan produksi
  yang tidak berarti.

Contoh 1:
S  AB | a
Aa
Aturan produksi S  AB tidak berarti karena B tidak
  memiliki penurunan
Contoh 2 :
SA
AB
BC
CD
Da|A

Memiliki kelemahan terlalu panjang jalannya
  padahal berujung pada S  a,
produksi D  A juga menyebabkan kerumitan.




      Cara Penyederhanaan:
Penghilangan produksi useless ( tidak
 berguna )
Penghilangan produksi unit
Penghilangan produksi ε
Penghilangan Produksi U
               seless
Di sini produksi useless didefinisikan
 sebagai :

Produksi yang memuat symbol variabel
  yang tidak memiliki penurunan yang akan
  menghasilkan terminal-terminal
  seluruhnya.
Produksi yang tidak akan pernah dicapai
  dengan penurunan apapun dari simbol
  awal, sehingga produksi itu redundan (
  berlebih )



                       Contoh :

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

Maka
Simbol variabel A tidak memiliki penurunan yang menuju
  terminal, sehingga bisa dihilangkan
Konsekuensi no (1), aturan produksi S  Abd tidak memiliki
  penurunan

Penyederhanaan menjadi:
SaSa | Bde
B BBB | a
Contoh :
                        Maka :
S Aa | B               Aturan produksi A  D, simbol
                            variabel D tidak memiliki
Aab | D                    penurunan.
B b | E                Aturan produksi C  bb, Penurunan
                            dari simbol S, dengan jalan
C bb                       manapun tidak akan pernah
                            mencapai C
E aEa                  Simbol variabel E tidak memiliki
                            aturan produksi yang menuju
                            terminal
                        Konsekuensi no (3) Aturan produksi
                            B  E, simbol variabel E tidak
                            memiliki penurunan.
Penyederhanaannya       maka produksi yang useless:
  menjadi:              AD
S  Aa | B              C  bb
                        EaE a
A  ab                  BE
Bb




                    Contoh :
                              Analisa :
S  aAb | c E B               Aturan produksi S 
A  dBE | eeC                    cEB, A  dBE dapat
                                 dihilangkan ( E tidak
B  ff                           memiliki penurunan)
C  ae                        Aturan produksi D  h,
                                 redundan
Dh                           Sisa aturan produksi
                              S  aAb
                              A  eeC
H asil                        B  ff
  penyederhanaan              C  ae
  menjadi:                    Analisis lagi
S  aAb                          B  ff juga
                                 redundan,
A  eeC
C  ae
Contoh lain lagi :
S  aBD                Analisa
B  cD | Ab            Aturan produksi A  Ed, E
D  ef                   tidak memiliki penurunan
A  Ed                 Aturan produksi F  dc,
                         redundan
F  dc                 Sisa aturan produksi:
                       S  aBD
 Hasil penyederhanaan: B  cD | Ab
S  aBD                D  ef
B  cD                 Analisa lagi
D  ef                   B  Ab, A tidak memiliki
                         penurunan.




Penghilangan Produksi U ni t
Produksi dimana ruas kiri dan kanan aturan
  produksi hanya berupa satu simbol
  variabel, misalkan: A  B, C  D.
Keberadaannya membuat tata bahasa
  memiliki kerumitan yang tak perlu.
Penyederhanaan dilakukan dengan
  melakukan penggantian aturan produksi
  unit
Contoh:
S  Sb
SC                               Dilakukan
CD                                 penggantian
C  ef
D  dd                              berturutan mulai dari
                                    aturan produksi
Sehingga aturan produksi            yang paling dekat
  setelah
  penyederhanaan:                   menuju ke
S  Sb
S  dd | ef
                                    penurunan terminal-
C  dd                              terminal (‘=>’ dibaca
C  ef                              ‘menjadi’):
D  dd
                                  C  D => C  dd
                                  S  C => S  dd | ef




                    Contoh lain:
                           Penggantian yang dilakukan :
SA                        C  D => C  b
                           B  C => B  b | ab, karena B  b sudah
S  Aa                        ada, maka cukup dituliskan B  ab
                           A  B => A  ab | b
AB                        S  A => ab | b

BC                        Sehingga aturan produksi setelah
                              penyederhanaan:
Bb                        S  ab | b
                           S  Aa
CD                        A  ab | b
                           B  ab
C  ab                     Bb
                           Cb
Db                        C  ab
                           Db
Contoh lagi:

S  Cba | D                 Penggantian yang dilakukan:
                            D  E menjadi D  gh
A  bbC                     C  C , kita hapus
                            S  D menjadi S  gh | SABC
B  Sc | ddd
                            Sehingga aturan produksi
C  eA | f | C                setelah penyederhanaan:
                            S  Cba | gh | SABC
D  E | SABC                A  bbC
E  gh                      B  Sc | ddd
                            C  eA | f
                            D  gh | SABC
                            E  gh




                     Contoh:
S  Sb
SC                           Dilakukan
CD                             penggantian
C  ef                          berturutan mulai
D  dd                          dari aturan
                                produksi yang
Sehingga aturan produksi        paling dekat
  setelah penyederhanaan:       menuju ke
S  Sb
S  dd | ef
                                penurunan
C  dd                          terminal-terminal
C  ef                          (‘=>’ dibaca
C  dd                          ‘menjadi’):
                              C  D => C  dd
                              S  C => S  dd |
                                ef
Contoh lain:
SA
S  Aa
AB                                Penggantian yang dilakukan :
BC
Bb
                                   C  D => C  b
CD
C  ab
                                   B  C => B  b | ab, karena B 
Db                                  b sudah ada, maka cukup
Sehingga aturan produksi setelah     dituliskan B  ab
   penyederhanaan:
S  ab | b                         A  B => A  ab | b
S  Aa
A  ab | b                         S  A => ab | b
B  ab
Bb
Cb
C  ab
Db




       Penghilangan Produksi ε
Produksi ε adalah produksi dalam bentuk         ε

atau bisa dianggap sebagai produksi kosong ( empty ). Penghilangan
   produksi ε dilakukan dengan melakukan penggantian produksi yang
   memuat variabel yang bisa menuju produksi ε, atau biasa disebut
   nullable

Prinsip penggantiannya bisa dilihat kasus berikut:
        S  bcAd
        Aε
   A nullable serta A  ε satu-satunya produksi dari A, maka variabel
   A bisa ditiadakan, hasil penyederhanaan tata bahasa bebas konteks
   menjadi:

          S  bcd
Tetapi bila kasusnya:
S  bcAd
A  bd | ε

A nullable , tapi A  ε bukan satu-
  satunya produksi dari A, maka hasil
  penyederhanaan:

S  bcAd | bcd
A  bd




               Contoh lagi
terdapat tata bahasa bebas konteks:
S  Ab | Cd
Ad
Cε
    V ariabel yang nullalbe   adalah variabel C.
  Karena penurunan C  ε merupakan penurunan
  satu-satunya dari C, maka kita ganti S  Cd
  menjadi S  d. Kemudian produksi C  ε kita
  hapus.
  Setelah penyederhanaan menjadi:
S  Ab | d
Ad
Contoh lain lagi:
  S  dA | Bd
  A  bc
  Aε
  Bc
    Va riabel yang nullable adalah variabel A. A  ε
    bukan penurunan satu-satunya dari A ( terdapat A 
    bc ), maka kita ganti S  dA menjadi S  dA | d. A
     ε kita hapus.
  Setelah penyederhanaan :
  S  dA | d | Bd
  A  bc
  Bc




         Contoh tata bahasa bebas
                 konteks:
S  AaCD
A  CD | AB
Bb|ε                            Selanjutnya kita lihat variabel B
Cd|ε                              dan C memiliki penurunan ε,
Dε
                                   meskipun bukan satu-
                                   satunya penurunan, maka
V ariabel yang nullable adalah     dilakukan penggantian:
   B, C, D. Kemudian dari A
    CD, maka variabel A         A  AB => A  AB | A | B
   juga nulable ( A  ε ).       S  AaC => S  AaC | aC |
   Karena D hanya memilki          Aa | a
   penurunan D  ε, maka
   kita sederhanakan dulu:       B  ε dan C  ε kita hapus
                                 Setelah penyederhanaan:
                                 S  AaC | aC | Aa | a
S  AaCD => S  AaC
A  CD => A  C
                                 A  C | AB | A | B
D  ε kita hapus                 Bb
1.   SAB
     AAa|bB                         4. Hilangkan produksi 
     Ba|Sb
a.   Turunkan dengan cara leftmost   a. SABaC
b.   Turunkan dengan cara righmost
c.   Buat pohon urainya
                                        ABd
2. Hilangkan produksi useless
                                        Bb| 
      SaS|A|C                          CD| 
      Aa
      Baa                              DBCa
      CaCb
                                     b. SAB
3. Hilangkan produksi Unit
      SABaC|BaC|AaC|Aba|aC|Aa|Ba|      AaA|abB|aCa
      a
      AB|C|BC                          BbA|BB| 
      Bb
      CD
                                        C 
      Dd                               DdB|BCB

More Related Content

What's hot

Heuristic search-best-first-search
Heuristic search-best-first-searchHeuristic search-best-first-search
Heuristic search-best-first-search
AMIK AL MA'SOEM
 
Suplemen Ekspresi-Regular - TBO - Materi 4
Suplemen Ekspresi-Regular - TBO - Materi 4Suplemen Ekspresi-Regular - TBO - Materi 4
Suplemen Ekspresi-Regular - TBO - Materi 4
ahmad haidaroh
 
Struktur direktori
Struktur direktoriStruktur direktori
Struktur direktori
Anggi DHARMA
 
Menentukan sistem persamaan linier dalam bentuk sistem konsisten dan inkonsisten
Menentukan sistem persamaan linier dalam bentuk sistem konsisten dan inkonsistenMenentukan sistem persamaan linier dalam bentuk sistem konsisten dan inkonsisten
Menentukan sistem persamaan linier dalam bentuk sistem konsisten dan inkonsisten
BAIDILAH Baidilah
 
Fuzzy fungsi keanggotaan
Fuzzy fungsi keanggotaanFuzzy fungsi keanggotaan
Fuzzy fungsi keanggotaan
Roziq Bahtiar
 

What's hot (20)

Graf ( Matematika Diskrit)
Graf ( Matematika Diskrit)Graf ( Matematika Diskrit)
Graf ( Matematika Diskrit)
 
Tabel Kebenaran pernyataan, Tautologi, kontradiksi, dan kontingen
Tabel Kebenaran pernyataan, Tautologi, kontradiksi, dan kontingenTabel Kebenaran pernyataan, Tautologi, kontradiksi, dan kontingen
Tabel Kebenaran pernyataan, Tautologi, kontradiksi, dan kontingen
 
Matematika Diskrit - 09 graf - 06
Matematika Diskrit - 09 graf - 06Matematika Diskrit - 09 graf - 06
Matematika Diskrit - 09 graf - 06
 
SLIDE KE:5 NFA
SLIDE KE:5 NFASLIDE KE:5 NFA
SLIDE KE:5 NFA
 
Heuristic search-best-first-search
Heuristic search-best-first-searchHeuristic search-best-first-search
Heuristic search-best-first-search
 
Suplemen Ekspresi-Regular - TBO - Materi 4
Suplemen Ekspresi-Regular - TBO - Materi 4Suplemen Ekspresi-Regular - TBO - Materi 4
Suplemen Ekspresi-Regular - TBO - Materi 4
 
Finite State Automata - Materi 3 - TBO
Finite State Automata - Materi 3 - TBOFinite State Automata - Materi 3 - TBO
Finite State Automata - Materi 3 - TBO
 
Graf Pohon
Graf PohonGraf Pohon
Graf Pohon
 
Shortest Path Problem: Algoritma Dijkstra
Shortest Path Problem: Algoritma DijkstraShortest Path Problem: Algoritma Dijkstra
Shortest Path Problem: Algoritma Dijkstra
 
Struktur direktori
Struktur direktoriStruktur direktori
Struktur direktori
 
Contoh Soal Relasi Biner
Contoh Soal Relasi BinerContoh Soal Relasi Biner
Contoh Soal Relasi Biner
 
Algoritma penjadwalan proses
Algoritma penjadwalan prosesAlgoritma penjadwalan proses
Algoritma penjadwalan proses
 
circular linked list
circular linked listcircular linked list
circular linked list
 
Menentukan sistem persamaan linier dalam bentuk sistem konsisten dan inkonsisten
Menentukan sistem persamaan linier dalam bentuk sistem konsisten dan inkonsistenMenentukan sistem persamaan linier dalam bentuk sistem konsisten dan inkonsisten
Menentukan sistem persamaan linier dalam bentuk sistem konsisten dan inkonsisten
 
Matematika Diskrit - 06 relasi dan fungsi - 06
Matematika Diskrit - 06 relasi dan fungsi - 06Matematika Diskrit - 06 relasi dan fungsi - 06
Matematika Diskrit - 06 relasi dan fungsi - 06
 
Aturan Inferensi dan Metode Pembuktian
Aturan Inferensi dan Metode PembuktianAturan Inferensi dan Metode Pembuktian
Aturan Inferensi dan Metode Pembuktian
 
Matematika Diskrit kombinatorial
Matematika Diskrit  kombinatorialMatematika Diskrit  kombinatorial
Matematika Diskrit kombinatorial
 
5. Doubly Linked List (Struktur Data)
5. Doubly Linked List (Struktur Data)5. Doubly Linked List (Struktur Data)
5. Doubly Linked List (Struktur Data)
 
Matematika Diskrit - 10 pohon - 04
Matematika Diskrit - 10 pohon - 04Matematika Diskrit - 10 pohon - 04
Matematika Diskrit - 10 pohon - 04
 
Fuzzy fungsi keanggotaan
Fuzzy fungsi keanggotaanFuzzy fungsi keanggotaan
Fuzzy fungsi keanggotaan
 

Tata bahasa-bebas-konteks

  • 1. Tata Bahasa Bebas Konteks By mei Dalam tatabahasa bebas konteks Ruas kiri dari aturan produksi terdiri dari SATU simbol non terminal Ruas kanan dapat berupa string yang dibentuk dari simbol terminal dan non terminal Contoh S aSb |  Kalimat-kalimat yang dibangkitkan dari aturan produksi itu adalah ,ab,aabb,aaabbb,... , anbn
  • 2. Leftmost dan Rightmost Derivation Suatu penguraian /penurunan dikatakan leftmost derivation bila setiap tahapan penurunan variabel / non terminal terkiri yang diuraikan. Apabila setiap tahapan penurunan variabel / non terminal paling kanan yang diuraikan disebut rightmost derivation Contoh 1 G=({A,B,S}, {a,b},S,P} dengan aturan produksi P : S  AB A aaA |  BBb |  Menspesifikasikan bahasa L(G) = {a2nbm | n0 , m0} Leftmost derivation untuk menghasilkan string aab S  AB  aaAB  aaB  aaBb  aab Righmost derivation untuk menghasilkan string aab S  AB  ABb  aaABb aaAb aab •
  • 3. Contoh 2 G=({A,B,S}, {a,b},S,P} dengan aturan produksi P : S  aAB A bBb B A |  Leftmost derivation untuk menghasilkan string abbbb S  aAB  abBbB  abAbB  abbBbbB  abbbbB  abbbb Righmost derivation untuk menghasilkan string aab S  aAB  aA  abBb  abAb  abbBbb  abbbb Pohon urai(pohon penurunan) Untuk menampilkan S penguraian, dapat dilakukan dengan a A B membentuk pohon urai (sayangnya, urutan penguraian b B b A tidak terlihat) . Contoh pohon urai  b B b pada contoh sebelumnya : 
  • 4. Parsing dan Keanggotaan Untuk menentukan apakah string w berada di L(G), dengan cara secara sistematis membangun semua kemungkinan penurunan, dan mencocokkan hasilnya apakah ada yang sama dengan string w. (disebut exhaustive search parsing) contoh menentukan apakah Penguraian nomor 3 dan 4 string ab berada tidak perlu dilanjutkan. Penguraian 1 membentuk pada bahasa yang dibentuk oleh 1a. S  SS  SSS grammar dengan 1b. S  SS  aSbS aturan produksi 1c. S  SS  bSaS S  SS | aSb | bSa |  1d. S  SS  S Untuk penguraian Penguraian 2 membentuk pertama 2a. S  aSb  aSSb 1. S  SS 2b. S  aSb  aaSbb 2. S  aSb 2c. S  aSb  abSab 2d. S  aSb  ab 3. S  bSa 4. S  
  • 5. Ambiguitas pada Tatabahasa dan Bahasa Tatabahasa bebas konteks G disebut S ambigu jika terdapat S S beberapa w  L(G) yang mempunyai  a S b S paling sedikit dua buah pohon a S b a S b penurunan  a S b Contoh pada tatabahasa dengan  aturan produksi S  SS | aSb |  string aabb mempunyai 2 pohon penurunan : PENYEDERHANAAN TATA BAHASA BEBAS KONTEKS Tujuan Melakukan pembatasan sehingga tidak menghasilkan pohon penurunan yang memiliki kerumitan yang tidak perlu atau aturan produksi yang tidak berarti. Contoh 1: S  AB | a Aa Aturan produksi S  AB tidak berarti karena B tidak memiliki penurunan
  • 6. Contoh 2 : SA AB BC CD Da|A Memiliki kelemahan terlalu panjang jalannya padahal berujung pada S  a, produksi D  A juga menyebabkan kerumitan. Cara Penyederhanaan: Penghilangan produksi useless ( tidak berguna ) Penghilangan produksi unit Penghilangan produksi ε
  • 7. Penghilangan Produksi U seless Di sini produksi useless didefinisikan sebagai : Produksi yang memuat symbol variabel yang tidak memiliki penurunan yang akan menghasilkan terminal-terminal seluruhnya. Produksi yang tidak akan pernah dicapai dengan penurunan apapun dari simbol awal, sehingga produksi itu redundan ( berlebih ) Contoh : S  aSa | Abd | Bde A  Ada B BBB | a Maka Simbol variabel A tidak memiliki penurunan yang menuju terminal, sehingga bisa dihilangkan Konsekuensi no (1), aturan produksi S  Abd tidak memiliki penurunan Penyederhanaan menjadi: SaSa | Bde B BBB | a
  • 8. Contoh : Maka : S Aa | B Aturan produksi A  D, simbol variabel D tidak memiliki Aab | D penurunan. B b | E Aturan produksi C  bb, Penurunan dari simbol S, dengan jalan C bb manapun tidak akan pernah mencapai C E aEa Simbol variabel E tidak memiliki aturan produksi yang menuju terminal Konsekuensi no (3) Aturan produksi B  E, simbol variabel E tidak memiliki penurunan. Penyederhanaannya maka produksi yang useless: menjadi: AD S  Aa | B C  bb EaE a A  ab BE Bb Contoh : Analisa : S  aAb | c E B Aturan produksi S  A  dBE | eeC cEB, A  dBE dapat dihilangkan ( E tidak B  ff memiliki penurunan) C  ae Aturan produksi D  h, redundan Dh Sisa aturan produksi S  aAb A  eeC H asil B  ff penyederhanaan C  ae menjadi: Analisis lagi S  aAb B  ff juga redundan, A  eeC C  ae
  • 9. Contoh lain lagi : S  aBD Analisa B  cD | Ab Aturan produksi A  Ed, E D  ef tidak memiliki penurunan A  Ed Aturan produksi F  dc, redundan F  dc Sisa aturan produksi: S  aBD Hasil penyederhanaan: B  cD | Ab S  aBD D  ef B  cD Analisa lagi D  ef B  Ab, A tidak memiliki penurunan. Penghilangan Produksi U ni t Produksi dimana ruas kiri dan kanan aturan produksi hanya berupa satu simbol variabel, misalkan: A  B, C  D. Keberadaannya membuat tata bahasa memiliki kerumitan yang tak perlu. Penyederhanaan dilakukan dengan melakukan penggantian aturan produksi unit
  • 10. Contoh: S  Sb SC Dilakukan CD penggantian C  ef D  dd berturutan mulai dari aturan produksi Sehingga aturan produksi yang paling dekat setelah penyederhanaan: menuju ke S  Sb S  dd | ef penurunan terminal- C  dd terminal (‘=>’ dibaca C  ef ‘menjadi’): D  dd C  D => C  dd S  C => S  dd | ef Contoh lain: Penggantian yang dilakukan : SA C  D => C  b B  C => B  b | ab, karena B  b sudah S  Aa ada, maka cukup dituliskan B  ab A  B => A  ab | b AB S  A => ab | b BC Sehingga aturan produksi setelah penyederhanaan: Bb S  ab | b S  Aa CD A  ab | b B  ab C  ab Bb Cb Db C  ab Db
  • 11. Contoh lagi: S  Cba | D Penggantian yang dilakukan: D  E menjadi D  gh A  bbC C  C , kita hapus S  D menjadi S  gh | SABC B  Sc | ddd Sehingga aturan produksi C  eA | f | C setelah penyederhanaan: S  Cba | gh | SABC D  E | SABC A  bbC E  gh B  Sc | ddd C  eA | f D  gh | SABC E  gh Contoh: S  Sb SC Dilakukan CD penggantian C  ef berturutan mulai D  dd dari aturan produksi yang Sehingga aturan produksi paling dekat setelah penyederhanaan: menuju ke S  Sb S  dd | ef penurunan C  dd terminal-terminal C  ef (‘=>’ dibaca C  dd ‘menjadi’): C  D => C  dd S  C => S  dd | ef
  • 12. Contoh lain: SA S  Aa AB Penggantian yang dilakukan : BC Bb C  D => C  b CD C  ab B  C => B  b | ab, karena B  Db b sudah ada, maka cukup Sehingga aturan produksi setelah dituliskan B  ab penyederhanaan: S  ab | b A  B => A  ab | b S  Aa A  ab | b S  A => ab | b B  ab Bb Cb C  ab Db Penghilangan Produksi ε Produksi ε adalah produksi dalam bentuk  ε atau bisa dianggap sebagai produksi kosong ( empty ). Penghilangan produksi ε dilakukan dengan melakukan penggantian produksi yang memuat variabel yang bisa menuju produksi ε, atau biasa disebut nullable Prinsip penggantiannya bisa dilihat kasus berikut: S  bcAd Aε A nullable serta A  ε satu-satunya produksi dari A, maka variabel A bisa ditiadakan, hasil penyederhanaan tata bahasa bebas konteks menjadi: S  bcd
  • 13. Tetapi bila kasusnya: S  bcAd A  bd | ε A nullable , tapi A  ε bukan satu- satunya produksi dari A, maka hasil penyederhanaan: S  bcAd | bcd A  bd Contoh lagi terdapat tata bahasa bebas konteks: S  Ab | Cd Ad Cε V ariabel yang nullalbe adalah variabel C. Karena penurunan C  ε merupakan penurunan satu-satunya dari C, maka kita ganti S  Cd menjadi S  d. Kemudian produksi C  ε kita hapus. Setelah penyederhanaan menjadi: S  Ab | d Ad
  • 14. Contoh lain lagi: S  dA | Bd A  bc Aε Bc Va riabel yang nullable adalah variabel A. A  ε bukan penurunan satu-satunya dari A ( terdapat A  bc ), maka kita ganti S  dA menjadi S  dA | d. A  ε kita hapus. Setelah penyederhanaan : S  dA | d | Bd A  bc Bc Contoh tata bahasa bebas konteks: S  AaCD A  CD | AB Bb|ε Selanjutnya kita lihat variabel B Cd|ε dan C memiliki penurunan ε, Dε meskipun bukan satu- satunya penurunan, maka V ariabel yang nullable adalah dilakukan penggantian: B, C, D. Kemudian dari A  CD, maka variabel A A  AB => A  AB | A | B juga nulable ( A  ε ). S  AaC => S  AaC | aC | Karena D hanya memilki Aa | a penurunan D  ε, maka kita sederhanakan dulu: B  ε dan C  ε kita hapus Setelah penyederhanaan: S  AaC | aC | Aa | a S  AaCD => S  AaC A  CD => A  C A  C | AB | A | B D  ε kita hapus Bb
  • 15. 1. SAB AAa|bB 4. Hilangkan produksi  Ba|Sb a. Turunkan dengan cara leftmost a. SABaC b. Turunkan dengan cara righmost c. Buat pohon urainya ABd 2. Hilangkan produksi useless Bb|  SaS|A|C CD|  Aa Baa DBCa CaCb b. SAB 3. Hilangkan produksi Unit SABaC|BaC|AaC|Aba|aC|Aa|Ba| AaA|abB|aCa a AB|C|BC BbA|BB|  Bb CD C  Dd DdB|BCB