Anda di halaman 1dari 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
Aa

Aturan S AB tdk berarti krn B tdk memiliki penurunan

Contoh

S A
AB BC CD Da|A Memiliki kelemahan yaitu terlalu panjang jlnnya padahal berujung pd S a, D A juga menyebabkan kerumitan.

Suatu tata bahasa bebas konteks (CFG) dpt

disederhanakan dgn melakukan :


1.Penghilangan produksi useless

2.Penghilangan produksi unit


3.Penghilangan produksi

Penghilangan Produksi Useless


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) penurunan apapun dr simbol awal, shg produksi itu redundan (berlebih)

Produksi yg tdk akan pernah dicapai dgn

Contoh 1 :
S aSa | Abd | Bde A Ada

B BBB | a

Simbol A tdk memiliki penurunan yg Konsekuensi no 1, aturan produksi S


Abd tdk memiliki penurunan

menuju terminal, 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.

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

Shg menjadi : S aB

Be

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.

Contoh 1 :
S Sb SC

CD
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, tapi A bukan satu2nya produksi dari A, mk hasil penyederhanaan : S bcAd | bcd

A bd

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 |

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.

Hasil Penyederhanaan
S AB | A | B | A abB | ab | aa

B bA | b | BB | B

Contoh 2 :
S ABaC A BC

Bb|
CD|

Dd

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 Bb CD Dd

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, useless, dan dari tata bahasa bebas konteks berikut : S a | aA | B | C A aB | B Aa C cCD D ddd

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

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

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

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 Bb

Penghilangan Produksi Unit :


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

Penghilangan Produksi Useless :


Karena tidak ada yg redundan dan semua aturan produksinya sdh sederhana, mk hasil dari penghilangan produksi useless = hasil dari penghilangan produksi

Anda mungkin juga menyukai