You are on page 1of 32

TEORI BAHASA & AUTOMATA

PENYEDERHANAA N
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

Aturan S→ AB tdk berarti krn B tdk memiliki penurunan

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

Penghilangan produksi unit 3.Suatu tata bahasa bebas konteks (CFG) dpt disederhanakan dgn melakukan : 1.Penghilangan produksi useless 2.Penghilangan produksi ε .

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

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

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

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

Konsekuensi no1.A → bCD.B → Ab tdk memiliki penurunan 4. D tdk memiliki penurunan 2.Contoh 2 : S → aB A → bcD | dAC B → e | Ab C → bCb | adF | ab F → cFB Langkah penyederhanaan : 1.F tdk memiliki penurunan yg menuju terminal . A tdk memiliki penurunan yg menuju terminal 3.

Shg menjadi : S → aB B→e .

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

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’) .

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

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 .

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

Penghilangan Produksi ε Penghilangan produksi ε dilakukan dgn melakukan penggantian produksi yg memuat variabel yg bisa menuju produksi ε. Prinsip .

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

B. 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 | ε .Contoh 1 : S → AB A → abB | aCa | ε B → bA | BB | ε C→ε Variabel yg nullable A. C. Dari S → AB. maka S juga nullable.

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

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

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

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 . C.Variabel yg nullable B.

Penyederhaan CFG CFG Penghilanga n Produksi ε Penghilanga n Produksi Unit Penghilangan Produksi Useless CFG yg sdh disederhanak an .

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

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

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 .

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 .

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

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 .

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

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