Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Teori-Bahasa-dan-Otomata

Presentasi serupa


Presentasi berjudul: "Teori-Bahasa-dan-Otomata"— Transcript presentasi:

1 Teori-Bahasa-dan-Otomata
Lecture #4 tata bahasa bebas konteks/ context free grammar Bentuk Normal Chomsky

2 Tujuan Penyederhanaan CFG
Penyederhanaan tata bahasa bebas konteks bertujuan untuk melakukan pembatasan sehingga tidak menghasilkan pohon penurunan yang memiliki kerumitan yang tak pelu atau aturan produksi yang tak berarti. Misalkan terdapat tata bahasa bebas konteks: SAB  a Aa Kelemahan tata bahasa bebas konteks di atas, aturan produksi SAB tidak berarti karena B tidak memiliki penurunan.

3 Metode Penyederhanaan
Suatu tata bahasa bebas konteks dapat disederhanakan dengan melakukan : 1. Penghilangan produksi useless 2. Penghilangan produksi unit 3. Penghilangan produksi  (empty)

4 1. Penghilangan produksi useless.
Produksi useless didefinisikan sebagai : Produksi yang memuat simbol variabel yang tidak memiliki penurunan yang akan menghasilkan terminal-terminal (menuju terminal), produksi ini tidak berguna karena bila diturunkan tidak akan pernah selesai (masih ada simbol variabel yang tersisa). Produksi yang tidak akan pernah dicapai dengan penurunan apapun dari simbol awal, sehingga produksi itu redundant (berlebih)

5 2. Penghilangan Produksi Unit
Produksi unit adalah produksi dimana ruas kiri dan kanan aturan produksi hanya berupa satu simbol variabel. Keberadaan produksi unit membuat tata bahasa memiliki kerumitan yang tak perlu atau menambah panjang penurunan. Penyederhanaan dilakukan dengan melakukan penggantian aturan produksi unit.

6 3. 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 menuju produksi ε, atau biasa disebut nullable.

7 Eliminasi Useless Production
Dua persyaratan untuk dianggap berguna: Generating (X  c) , menghasilkan min 1 Reachable (S  X), dihasilkan derivasi mengandung X

8 Eliminasi Useless Production (Cont …)
Apakah production berikut usefull? 1. S →Aa 2. S →B 3. A →ab 4. A →D 5. B →b 6. B →E 7. C →bb 8. E →aEa

9 Eliminasi Useless Production (Cont …)
dengan menggunakan production3 diperoleh A ⇒ab, artinya A generating dengan menggunakan production5 diperoleh B ⇒b, artinya B generating dengan menggunakan production7 diperoleh C ⇒bb, artinya C generating dengan menggunakan production2 diperoleh S ⇒B, karena B generatingmaka S juga generating tidak tedapat production dengan D sebagai head, D tidak generating dengan menggunakan production 8 diperoleh E ⇒aEa ⇒aaEaa jika derivasi ini diteruskan maka tidak akan menghasilkan string karena simbol E tidak bisa diganti dengan simbol terminal, E tidak generating, 1. S →Aa 2. S →B 3. A →ab 5. B →b 7. C →bb

10 Eliminasi Useless Production (Cont …)
Uji reachable S ⇒Aa, A reachable dari S S ⇒B, B reachable dari S Tidak terdapat derivasi S ⇒… ⇒ αCβ sehingga C tidak reachabledari S Dengan demikian production yang usefull adalah 1. S →Aa 2. S →B 3. A →ab 5. B →b

11 Eliminasi ε-Production
Hilangkan ε-productiondi bawah ini 1. S →aAb 2. A →aAb 3. A → ε Contoh string yang dihasilkan 1) S ⇒aAb ⇒ab production1, 3 2) S ⇒aAb ⇒aaAbb ⇒aabb production1, 2, 3 3) S ⇒aAb ⇒aaAbb ⇒aaaAbbb ⇒aaabbb production1, 2, 2, 3

12 Eliminasi ε-Production (Cont ..)
Hasil: 1. S →aAb 2. S →ab 3. A →aAb 4. A →ab 5. A → ε Contoh stringyang dihasilkan 1) S ⇒ab production2 2) S ⇒aAb ⇒aabb production1, 4 3) S ⇒aAb ⇒aaAbb ⇒aaabbb production1, 3, 4

13 Eliminasi ε-Production (Cont ..)
Hilangkan ε-productiondi bawah ini 1. S →ABaC 2. A →BC 3. B →b | ε 4. C →D | ε 5. D →d

14 Eliminasi ε-Production (Cont ..)
Contoh string yang dihasilkan S ⇒ABaC ⇒BCBaC ⇒CBaC ⇒BaC ⇒aC ⇒a production1, 2, 3b, 4b, 3b, 4b S ⇒ABaC ⇒BCBaC ⇒bCBaC production1, 2, 3a ⇒bDBaC ⇒bdBaC ⇒bdaC ⇒bda production4a, 5, 3b, 4b

15 Eliminasi ε-Production (Cont ..)
Hasil: 1. S →ABaC 2. S →BaC 3. S →AaC 4. S →ABa 5. S →aC 6. S →Ba 7. S →Aa 8. S →a 9. A →BC 10. A →B 11. A →C 12. B →b 13. C →D 14. D →d

16 Eliminasi unit Production
 Produksi unit adalah produksi dimana ruas kiri dan ruas kanan aturan produksi hanya berupa satu symbol variabel, misalkan A B, C  D.  Keberadaan produksi unit membuat tata bahasa memiliki kerumitan yang tak perlu atau menambah panjang penurunan.  Penyederhanaan ini dilakukan dengan melakukan pengantian aturan produksi unit.

17 Eliminasi unit Production (Cont ..)
Hilangkan unit productiondi bawah ini 1. S →Aa | B 2. A →a | bc | B 3. B →A | bb Contoh stringyang dihasilkan: 1) S ⇒Aa ⇒Ba ⇒bba production1a, 2c, 3b 2) S ⇒B ⇒A ⇒bc production1b, 3a, 2b

18 Eliminasi unit Production (Cont ..)
Unit production: S →B B →A A →B (S, S) dan S →B membentuk unit pair(S, B) (S, B) dan B →bb membentuk production S →bb (S, B) dan B →A membentuk unit pair(S, A) (S, A) dan A →a | bc membentuk production S →a | bc (B, B) dan B →A membentuk unit pair(B. A) (B, A) dan A →a | bc membentuk production B →a | bc (A, A) dan A →B membentuk unit pair(A, B) (A, B) dan B →bb membentuk production A →bb


Download ppt "Teori-Bahasa-dan-Otomata"

Presentasi serupa


Iklan oleh Google