150 likes | 359 Views
Teori Bahasa dan Otomata 2 sks. Penyederhanaan CFG Versi 2. Rifki Indra Perwira, S.Kom rifkiindra@gmail.com. Cakupan Bahasan. Tujuan penyederhanaan CFG Penghilangan produksi useless Penghilangan produksi unit Penghilangan produksi ɛ. Tujuan penyederhanaan.
E N D
Teori Bahasa dan Otomata2 sks Penyederhanaan CFG Versi2 Rifki Indra Perwira, S.Kom rifkiindra@gmail.com
Cakupan Bahasan • Tujuan penyederhanaan CFG • Penghilangan produksi useless • Penghilangan produksi unit • Penghilangan produksi ɛ
Tujuan penyederhanaan • Melakukan pembatasan pada pembentukan kalimat • Agar tidak menghasilkan produksi yang sia-sia • Agar tidak menghasilkan pohon penurunan yang punya tingkat kerumitan (redundan) • Agar semuanya menghasilkan terminal
Apa dan bagaimana? • Diketahui CFG : • SA • AB • BC • CD • Da | A Bukti : SA, AB, BC, CD, Da Sehingga Sa atau SA Memiliki kelemahan terlalu panjang prosesnya pdhl finis di Sa, kemudian produksi DA juga mubazir.
I. Penghilangan useless • Useless didefinisikansebagai : • Produksi yang memuatsimbolvariabel yang tidakmemilikipenurunansampaiseluruhnya terminal • Produksi yang tidakpernahdicapaiolehpenurunanapapunDANdarimanapun
Contoh : • Diketahui CFG : • SaSa | Abd | Bde • A Ada • B BBB | a Coba cek satu per satu : S Abd, S Adabd (A tdk ada penurunan lagi) S Bde, SBBBde, Saaade atau SBde, Sade Jadi AAda dan S aSa | Abd bisa di hapus Sederhananya : S aSa | Bde BBBB | a
Contoh lain : Sederhananya : SAa | B Aab Bd • Diberikan CFG : • S Aa | B • Aab | D • Bd | E • C bb • EaEa • Kita bisa lihat bahwa : 1. Aturan AD, D tdk punya turunan 2. Cbb, tdk akan dicapai dari DAN mencapai manapun 3. Simbol E tdk punya aturan yang menuju terminal. 4. Jika E di hapus maka BE juga dihapus
Contoh 3: Sederhananya : SaB Be CbCb | ab • Diketahui CFG: • SaB • AbcD | dAC • Be | Ab • CbCb | adF | ab • F cFB • Kita lihatsama-sama : • AbcD, D tdkadapenerusnyashgbisadihapus • Imbasnya, AdACjugahilang, karena A tdkpunyaturunanmenuju terminal • Imbas lain BAbjugahilangkrn A tdkadalagi • F cFBjugamubazir • ImbasnyaCadFjugasia-siakrn F sdhdihilangkan
II. Penghilangan Produksi Unit • Produksi unit adalah produksi dimana ruas kiri dan kanan aturan produksinya hanya berupa 1 simbol variable (non terminal). Misalkan DE, AB dsb.. • Keberadaan produksi semacam ini menyebabkan tata bahasa mempunyai tingkat kerumitan yg tdk perlu atau menambah panjang penurunan. • Penyederhanaan dilakukan dengan penggantian aturan produksi unit
Contoh 4: Alur : SSb SCb SDb Sddb, bisa dilakukan pergantian : CD => Cdd SC => Sef ; SC=>SD(dd) Sdd | ef • Diketahui CFG : • S Sb • SC • CD • Cef • Ddd Sehingga sederhananya : SSb Sdd | ef Cdd Cef Ddd
Contoh 5: • CFG berikut : • SA • SAa • AB • BC • Bb • CD • Cab • Db • Alurpenyederhanaan : • SA • SAa • SB;Sbatau SC; atauSab • AB;Ab • AB;AC;AabatauCD;Cb • BC; CD atauBab • B b • Cab • Db
3. Penghilangan Produksi ɛ • Produksi ɛ adalah produksi dalam bentuk αɛ (dianggap produksi kosong) • Penghilangan produksi ɛ dilakukan dengan penggantian produksi yang memuat variable yang bisa menuju produksi ɛ atau di sebut nullable. SbcAd A ɛ • Kasus Anullable, sehingga jadi Sbcd
Tetapi jika kasusnya : SbcAd Abd | ɛ Pada kasus ini A bukan satu2nya Nullable!! Sehingga bisa menjadi : SbcAd | bcd Abd
Contoh 6: • Diket : SdA | Bd Abc Aɛ Bc A variable nullable, sehingga imbasnya SdA |d| Bd; Abc; Bc
Contoh 7 : • Diketahui CFG : • SAB • AabB | aCa | ɛ • BbA | BB | ɛ • C ɛ • Indentifikasiawalnullable : • A,B,C termasuknullable. Maka • perludilakukanpenggantian : • SAB | A | B | ɛ • AabB; Aab • AaCa;Aaa • BbA; Bb • BBB;BB