1 / 32

TEORI BAHASA & AUTOMATA

TEORI BAHASA & AUTOMATA. PENYEDERHANAAN CFG. Penyederhanaan CFG. Tujuannya : Untuk melakukan pembatasan sehingga tidak menghasilkan pohon penurunan yg memiliki kerumitan yg tdk perlu / aturan produksi yg tdk berarti. Contoh :. S → AB | a A → a

miyo
Download Presentation

TEORI BAHASA & AUTOMATA

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. TEORI BAHASA & AUTOMATA PENYEDERHANAAN CFG

  2. Penyederhanaan CFG Tujuannya : Untuk melakukan pembatasan sehingga tidak menghasilkan pohon penurunan yg memiliki kerumitan yg tdk perlu / aturan produksi yg tdk berarti.

  3. Contoh : • S→ AB | a A → a Aturan S→ AB tdk berarti krn B tdk memiliki penurunan

  4. Contoh • S → A A → B B → C C → D D → a | A Memiliki kelemahan yaitu terlalu panjang jlnnya padahal berujung pd S → a, D → A juga menyebabkan kerumitan.

  5. Suatu tata bahasa bebas konteks (CFG) dpt disederhanakan dgn melakukan : • Penghilangan produksi useless • Penghilangan produksi unit • Penghilangan produksi ε

  6. Produksi Useless : Produksi yg memuat simbol variabel yg tdk memiliki penurunan yg akan menghasilkan terminal2 seluruhnya, produksi ini tdk berguna krn bl diturunkan tdk akan pernah selesai (msh ada simbol variabel yg tersisa) Produksi yg tdk akan pernah dicapai dgn penurunan apapun dr simbol awal, shg produksi itu redundan (berlebih) Penghilangan Produksi Useless

  7. Contoh 1 : S → aSa | Abd | Bde A → Ada B → BBB | a • Simbol A tdk memiliki penurunan yg menuju terminal, shg bisa dihilangkan • Konsekuensi no 1, aturan produksi S → Abd tdk memiliki penurunan

  8. Bentuk sederhana : S → aSa | Bde B → BBB | a

  9. Prinsipnya setiap kali melakukan penyederhanan kita periksa lagi aturan produksi yg tersisa, apakah semua produksi yg useless sdh dihilangkan.

  10. Contoh 2 : S → aB A → bcD | dAC B → e | Ab C → bCb | adF | ab F → cFB Langkah penyederhaan : • A → bCD, D tdk memiliki penurunan • Konsekuensi no1, A tdk memiliki penurunan yg menuju terminal • B → Ab tdk memiliki penurunan • F tdk memiliki penurunan yg menuju terminal • C → adF tdk memiliki penurunan

  11. Shgmenjadi : S → aB B → e C → bCb | ab

  12. Penghilangan Produksi Unit Produksi unit adalah produksi dmn ruas kiri dan kanan aturan produksi hanya berupa satu simbol variabel, misalnya : A → B, C → D. Keberadaan produksi unit membuat tata bahasa memiliki kerumitan yg tdk perlu atau menambah panjang penurunan. Penyederhanaan ini dilakukan dgn melakukan penggantian aturan produksi.

  13. Contoh 1 : S → Sb S → C C → D C → ef D → dd Kita lakukan penggantian berturutan mulai dari aturan produksi yg paling dekat menuju ke penurunan terminal2 ( ‘=>’ dibaca ‘menjadi’)

  14. C → D => C → dd S → C => S → dd | ef Shg disederhanakan mjd : S → Sb S → dd | ef C → dd C → ef D → dd

  15. Contoh 2 : S → Cba | D A → bbC B → Sc | ddd C → eA | f | C D → E | SABC E → gh Penggantian yg dilakukan : D → E => D → gh C → C dihapus S → D => S → gh | SABC

  16. Shg aturan produksi setelah disederhanakan : S → Cba | gh | SABC A → bbC B → Sc | ddd C → eA | f D → gh | SABC E → gh

  17. Penghilangan Produksi ε Penghilangan produksi ε dilakukan dgn melakukan penggantian produksi yg memuat variabel yg bisa menuju produksi ε. Prinsip penggantiannya bisa dilihat kasus berikut : S → bcAd A → ε Pada kasus diatas A nullable, serta A → ε satu2nya produksi dari A, mk variabel A bisa ditiadakan, hasil penyederhanaan tata bahasa bebas konteks mjd : S → bcd

  18. Tetapi bila kasusnya : S → bcAd A → bd | ε Pada kasus diatas A nullable, tapi A →ε bukan satu2nya produksi dari A, mk hasil penyederhanaan : S → bcAd | bcd A → bd

  19. Contoh 1 : S → AB A → abB | aCa | ε B → bA | BB | ε C →ε Variabel yg nullable A, B, C. Dari S → AB, maka S juga nullable. Kita lakukan penggantian : A → aCa => A → aa B → bA => B → bA | b B → BB => B → BB | B A → abB => A → abB | ab S → AB => S → AB | A | B | ε C → ε, B →ε, A →ε dihapus

  20. Perhatikan : untuk penggantian S → AB kita tetap mempertahankan produksi S → ε, krn S merupakan simbol awal. Ini merupakan satu2nya perkecualian produksi ε yg tdk dihapus, yaitu produksi εyg dihasilkan oleh simbol awal.

  21. Hasil Penyederhanaan S → AB | A | B | ε A → abB | ab | aa B → bA | b | BB | B

  22. Contoh 2 : S → ABaC A → BC B → b | ε C → D | ε D → d

  23. Variabel yg nullable B, C. Kita lakukan penggantian : A → BC => A → BC | B | C S → ABaC => S → ABaC | AaC | BaC | ABa| aC | Aa | Ba | a Hasil penyederhanaan : S → ABaC | AaC | BaC | ABa | aC | Aa | Ba | a A → BC | B | C B → b C → D D → d

  24. Penyederhaan CFG Penghilangan Produksi ε Penghilangan Produksi Unit Penghilangan Produksi Useless CFG yg sdh disederhanakan CFG

  25. Latihan 1 : Lakukan penghilangan aturan produksi unit, useless, dan ε dari tata bahasa bebas konteks berikut : S → a | aA | B | C A → aB | ε B → Aa C → cCD D → ddd

  26. Latihan 2 : Lakukan penghilangan aturan produksi unit, useless, dan ε dari tata bahasa bebas konteks berikut : S → aB | aaB A → ε B → bA B → ε

  27. Jawaban Latihan 1 : Penghilangan Produksiε : A → ε dihilangkan, shg : A → aB B → Aa | a S → a | aA | B | C Mjd : S → a | aA | B | C A → aB B → Aa | a C → cCD D → ddd

  28. Penghilangan Produksi Unit : S → B => S → Aa | a S → C => S → cCD Shg menjadi : S → a | aA | Aa | cCD A → aB B → Aa | a C → cCD D → ddd

  29. Penghilangan Produksi Useless : • C tidak memiliki penurunan, shg C → cCD dihilangkan • S → cCD dihilangkan • Konsekuensi no 2, D → ddd dihilangkan Shg mjd : S → a | aA | Aa A → aB B → Aa | a

  30. Jawaban Latihan 2 : Penghilangan Produksiε : A → ε dihilangkan, shg : B → bA => B → b B → ε dihilangkan, shg : S → aB => S → aB | a S → aaB => S → aaB | aa Mjd : S → aB | a | aaB | aa B → b

  31. Penghilangan Produksi Unit : Tidak ada krn semua aturan produksi tidak ada yang ruas kiri dan kanannya mempunyai sebuah simbol variabel.

  32. Penghilangan Produksi Useless : Karena tidak ada yg redundan dan semua aturan produksinya sdh sederhana, mk hasil dari penghilangan produksi useless = hasil dari penghilangan produksi ε

More Related