1 / 39

TATA BAHASA BEBAS KONTEKS (CONTEXT FREE GRAMMAR)

TATA BAHASA BEBAS KONTEKS (CONTEXT FREE GRAMMAR). Oleh : Bagus Adhi Kusuma Teori Bahasa dan Otomata STIMIK AMIKOM Purwokerto Program Studi Teknik Informatika 2013/2014. CFG ( Bahasa Bebas Konteks ). sebuah tata bahasa dimana tidak terdapat pembatasan pada hasil produksinya.

twyla
Download Presentation

TATA BAHASA BEBAS KONTEKS (CONTEXT FREE GRAMMAR)

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. TATA BAHASA BEBAS KONTEKS(CONTEXT FREE GRAMMAR) Oleh: BagusAdhiKusuma TeoriBahasadanOtomata STIMIK AMIKOM Purwokerto Program StudiTeknikInformatika 2013/2014

  2. CFG (BahasaBebasKonteks) sebuahtatabahasadimanatidakterdapatpembatasanpadahasilproduksinya Contohpadaaturanproduksi : α → β batasannyahanyalahruaskiri (α) adalahsebuahsimbolvariabel.

  3. CFG (BahasaBebasKonteks) contohaturanproduksi yang termasukCFG: B → CDeFg D → BcDe

  4. Pohonpenurunan(derivation tree/parse tree) untukmenggambarkansimbol-simbolvariabelmenjadisimbol-simbol terminal setiapsimbolvariabelakanditurunkanmenjadi terminal sampaitidakada yang belumtergantikan.

  5. CONTOH terdapat CFG denganaturanproduksisebagaiberikutdengansimbolawal S : S aAB A bBb B A | λ

  6. DERIVATION leftmost derivation Suatupenguraian /penurunandikatakanleftmost derivation bilasetiaptahapanpenurunanvariabel / non terminal terkiri yang diuraikan. rightmost derivation Apabilasetiaptahapanpenurunanvariabel / non terminal paling kanan yang diuraikandisebutrightmost derivation

  7. CONTOH : G=({A,B,S}, {a,b},S,P} denganaturanproduksi P : S AB A aaA | λ B Bb | λ Leftmost derivation untukmenghasilkan string aab S => AB => aaAB => aaB => aaBb => aab Righmost derivation untukmenghasilkan string aab S => AB => ABb => aaABb => aaAb => aab

  8. CONTOH : G=({A,B,S}, {a,b},S,P} denganaturanproduksi P : S aAB A bBb B A | λ Leftmost derivation untukmenghasilkan string abbbb S => aAB => abBbB => abAbB => abbBbbB => abbbbB => abbbb

  9. Righmost derivation untukmenghasilkan string abbbb S => aAB => aA => abBb => abAb => abbBbb => abbbb

  10. PARSING & KEANGGOTAAN Untukmenentukanapakah string w beradadi L(G), dengancarasecarasistematismembangunsemuakemungkinanpenurunan, danmencocokkanhasilnyaapakahada yang samadengan string w. (disebut exhaustive search parsing)

  11. Parsing prosespembacaan string dalambahasasesuai CFG tertentu, prosesiniharusmematuhiaturanproduksidalam CFG tersebut. PROSES PARSING

  12. CONTOH menentukanapakahstring abberada padabahasa yang dibentukoleh grammar denganaturanproduksi: S SS | aSb | bSa | λ

  13. Untukpenguraianpertama 1. S => SS 2. S => aSb 3. S => bSa 4. S => λ Penguraianpertamatsbmembentuk 1a. S => SS => SSS 1b. S => SS => aSbS 1c. S => SS => bSaS 1d. S => SS => S

  14. Penguraian 2 membentuk 2a. S => aSb => aSSb 2b. S => aSb => aaSbb 2c. S => aSb => abSab 2d. S => aSb => ab Penguraiannomor 3 dan 4 tidakperludilanjutkan.

  15. AMBIGUITAS Terjadibilaterdapatlebihdarisatupohonpenurunan yang berbedauntukmemperolehsuatu string. Paling sedikitada 2 pohon

  16. Misalkanterdapattatabahasasebagaiberikut: S SS | aSb | λ Untuk memperoleh untai ‘aabb’ bisa terdapat dua cara penurunan sebagai berikut :

  17. Penyederhanaan Tata BahasaBebasKonteks Tujuan Melakukanpembatasansehinggatidak menghasilkanpohonpenurunan yang memilikikerumitan yang tidakperluatauaturanproduksiyang tidakberarti.

  18. Contoh 1: S AB | a A a Aturanproduksi S AB tidakberartikarena B tidakmemilikipenurunan

  19. Contoh 2: S A A B B C C D D a | A Memilikikelemahanterlalupanjangjalannya padahalberujungpada S a, produksi D A jugamenyebabkankerumitan.

  20. Cara Penyederhanaan: • Penghilanganproduksi useless ( tidakberguna ) • Penggantianproduksi unit • Penghilanganproduksiε

  21. PenghilanganProduksi Useless Produksi useless didefinisikansebagai : • Produksi yang memuat symbol variabel yang tidakmemilikipenurunan yang akanmenghasilkan terminal-terminal seluruhnya. • Produksi yang tidakakanpernahdicapaidenganpenurunanapapundarisimbolawal, sehinggaproduksiituredundan (berlebih/rangkap)

  22. Contoh: S aSa | Abd | Bde A Ada B BBB | a Makasimbolvariabel A tidakmemilikipenurunan yang menujuterminal, sehinggabisadihilangkan Konsekuensi : aturanproduksi S Abdtidakmemilikipenurunan

  23. Penyederhanaanmenjadi: S aSa | Bde B BBB | a

  24. PenggantianProduksi Unit • Produksidimanaruaskiridankananaturanproduksihanyaberupasatusimbolvariabel, • misalkan: A  B, C  D. • Keberadaannyamembuattatabahasamemilikikerumitan yang takperlu. • Penyederhanaandilakukandenganmelakukanpenggantianaturanproduksiunit

  25. Contoh S  Sb S  C C  D C ef D dd Dilakukanpenggantianberturutanmulaidariaturanproduksiyang paling dekat menujukepenurunan terminal-terminal (‘=>’ dibaca‘menjadi’): C  D => C dd S  C => S dd | ef

  26. Sehinggaaturanproduksisetelahpenyederhanaan: S Sb S dd | ef C dd C ef D dd

  27. PenghilanganProduksiε • Produksiε adalahproduksidalambentukαε ataubisadianggapsebagaiproduksikosong ( empty ). Penghilanganproduksiε dilakukandenganmelakukanpenggantianproduksi yang memuatvariabel yang bisamenujuproduksiε, ataubiasadisebutnullable

  28. Prinsippenggantiannyabisadilihatkasusberikut: S bcAd A ε A nullableserta A ε satu-satunyaproduksidari A, makavariabelA bisaditiadakan, hasilpenyederhanaantatabahasabebaskonteksmenjadi: S bcd

  29. Tetapibilakasusnya: S bcAd A bd | ε A nullable , tapi A ε bukansatusatunyaproduksidari A, makahasilpenyederhanaan: S bcAd | bcd A bd

  30. Contohdalam Tata BahasaBebasKonteks S AaCD A  CD | AB B  b | ε C  d | ε D ε V ariabel yang nullableadalah B, C, D. Kemudiandari A  CD, makavariabel A juganulable ( A  ε )

  31. Karena D hanyamemilikipenurunan D ε, makakitasederhanakandulu: S AaCD => S AaC A  CD => A  C D ε kitahapus Selanjutnyakitalihatvariabel B dan C memilikipenurunanε, meskipunbukansatusatunyapenurunan, makadilakukanpenggantian: A  AB => A  AB | A | B S AaC => S AaC | aC | Aa | a B ε dan C ε kitahapus

  32. Setelahpenyederhanaan: S AaC | aC | Aa | a A  C | AB | A | B B b C  d

  33. LatihanSoal Sederhanakandenganpenghilanganproduksi useless: S aAb | c E B A dBE | eeC B  ff C ae D  h

  34. LatihanSoal Sederhanakandenganpenghilanganproduksi useless: S aAb | c E B A dBE | eeC B  ff C ae D  h S aAb A eeC C ae

  35. LatihanSoal Sederhanakandenganpenggantianproduksiunit: S  A S Aa A  B B  C B  b C  D C ab D  b

  36. LatihanSoal Sederhanakandenganpenggantianproduksiunit: S  A S Aa A ab|b B ab B  b C b C ab D  b S  A S Aa A  B B  C B  b C  D C ab D  b

  37. LatihanSoal Sederhanakandenganpenghilanganproduksiε: S  dA | Bd A bc A  ε B  c

  38. LatihanSoal Sederhanakandenganpenghilanganproduksiε: S  dA | Bd A bc A  ε B  c S  dA | Bd | d A  bc B  c

More Related