Teori Bahasa dan Otomata 2 sks
description
Transcript of Teori Bahasa dan Otomata 2 sks
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
Memiliki kelemahan terlalu panjang prosesnya pdhl finis di Sa, kemudian produksi DA juga mubazir.
Bukti : SA, AB, BC, CD, DaSehinggaSa atau SA
I. Penghilangan useless Useless didefinisikan sebagai :1. Produksi yang memuat simbol variabel yang
tidak memiliki penurunan sampai seluruhnya terminal
2. Produksi yang tidak pernah dicapai oleh penurunan apapun DAN dari manapun
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 | BdeBBBB | a
Contoh lain : 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
Sederhananya :SAa | BAabBd
Contoh 3: Diketahui CFG:
SaB AbcD | dAC Be | Ab CbCb | adF | ab F cFB
Kita lihat sama-sama :a.AbcD, D tdk ada penerusnya shg bisa dihapusb.Imbasnya, AdAC juga hilang, karena A tdk punya turunan menuju terminalc.Imbas lain BAb juga hilang krn A tdk ada lagid.F cFB juga mubazire.Imbasnya CadF juga sia-sia krn F sdh dihilangkan
Sederhananya :SaBBeCbCb | ab
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: Diketahui CFG :
S Sb SC CD Cef Ddd
Alur : SSbSCbSDbSddb, bisa dilakukan
pergantian :CD => CddSC => Sef ; SC=>SD(dd)Sdd | ef
Sehingga sederhananya : SSb Sdd | ef Cdd Cef Ddd
Contoh 5: CFG berikut :
SA SAa AB BC Bb CD Cab Db
Alur penyederhanaan :1.SA2.SAa
SB;Sb atau SC; atau Sab3.AB;Ab4.AB;AC;Aab atau CD;Cb5.BC; CD atau Bab6.B b7.Cab8.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 ɛ
Indentifikasi awal nullable :A,B,C termasuk nullable. Maka perlu dilakukan penggantian :1.SAB | A | B | ɛ2.AabB; Aab3.AaCa;Aaa4.BbA; Bb5.BBB;BB