TEORI BAHASA & AUTOMATA

32
TEORI BAHASA & AUTOMATA PENYEDERHANAAN CFG

description

TEORI BAHASA & AUTOMATA. PENYEDERHANAAN 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 - PowerPoint PPT Presentation

Transcript of TEORI BAHASA & AUTOMATA

Page 1: TEORI BAHASA & AUTOMATA

TEORI BAHASA & AUTOMATA

PENYEDERHANAAN

CFG

Page 2: TEORI BAHASA & AUTOMATA

Penyederhanaan CFG

Tujuannya : Untuk melakukan pembatasan sehingga tidak menghasilkan pohon penurunan yg memiliki kerumitan yg tdk perlu / aturan produksi yg tdk berarti.

Page 3: TEORI BAHASA & AUTOMATA

Contoh :

S→ AB | a

A → a

Aturan S→ AB tdk berarti krn B tdk memiliki penurunan

Page 4: TEORI BAHASA & AUTOMATA

Contoh S → A

A → BB → CC → DD → a | AMemiliki kelemahan yaitu terlalu panjang jlnnya padahal berujung pd S → a, D → A juga menyebabkan kerumitan.

Page 5: TEORI BAHASA & AUTOMATA

Suatu tata bahasa bebas konteks (CFG) dpt

disederhanakan dgn melakukan :

1. Penghilangan produksi useless

2. Penghilangan produksi unit

3. Penghilangan produksi ε

Page 6: TEORI BAHASA & AUTOMATA

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)

Produksi yg tdk akan pernah dicapai dgn penurunan apapun dr simbol awal, shg produksi itu redundan (berlebih)

Page 7: TEORI BAHASA & AUTOMATA

Contoh 1 :

S → aSa | Abd | Bde

A → Ada

B → BBB | a Simbol A tdk memiliki penurunan yg

menuju terminal, shg bisa dihilangkan Konsekuensi no 1, aturan produksi S →

Abd tdk memiliki penurunan

Page 8: TEORI BAHASA & AUTOMATA

Bentuk sederhana :

S → aSa | Bde

B → BBB | a

Page 9: TEORI BAHASA & AUTOMATA

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

Page 10: TEORI BAHASA & AUTOMATA

Contoh 2 :S → aBA → bcD | dACB → e | AbC → bCb | adF | abF → cFBLangkah penyederhaan :1. A → bCD, D tdk memiliki penurunan2. Konsekuensi no1, A tdk memiliki penurunan yg menuju

terminal 3. B → Ab tdk memiliki penurunan4. F tdk memiliki penurunan yg menuju terminal5. C → adF tdk memiliki penurunan

Page 11: TEORI BAHASA & AUTOMATA

Shg menjadi :

S → aB

B → eC → bCb | ab

Page 12: TEORI BAHASA & AUTOMATA

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.

Page 13: TEORI BAHASA & AUTOMATA

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

Page 14: TEORI BAHASA & AUTOMATA

C → D => C → dd

S → C => S → dd | ef

Shg disederhanakan mjd :

S → Sb

S → dd | ef

C → dd

C → ef

D → dd

Page 15: TEORI BAHASA & AUTOMATA

Contoh 2 :S → Cba | DA → bbCB → Sc | dddC → eA | f | CD → E | SABCE → ghPenggantian yg dilakukan :D → E => D → ghC → C dihapusS → D => S → gh | SABC

Page 16: TEORI BAHASA & AUTOMATA

Shg aturan produksi setelah disederhanakan :

S → Cba | gh | SABC

A → bbC

B → Sc | ddd

C → eA | f

D → gh | SABC

E → gh

Page 17: TEORI BAHASA & AUTOMATA

Penghilangan Produksi ε Penghilangan produksi ε dilakukan dgn melakukan

penggantian produksi yg memuat variabel yg bisa menuju produksi ε. Prinsip penggantiannya bisa dilihat kasus berikut :

S → bcAd A → ε Pada kasus diatas A nullable, serta A → ε

satu2nya produksi dari A, mk variabel A bisa ditiadakan, hasil penyederhanaan tata bahasa bebas konteks mjd :

S → bcd

Page 18: TEORI BAHASA & AUTOMATA

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

Page 19: TEORI BAHASA & AUTOMATA

Contoh 1 :S → ABA → abB | aCa | εB → bA | BB | εC → ε Variabel yg nullable A, B, C. Dari S → AB, maka S juganullable. Kita lakukan penggantian :A → aCa => A → aaB → bA => B → bA | bB → BB => B → BB | BA → abB => A → abB | abS → AB => S → AB | A | B | εC → ε, B → ε, A → ε dihapus

Page 20: TEORI BAHASA & AUTOMATA

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.

Page 21: TEORI BAHASA & AUTOMATA

Hasil Penyederhanaan

S → AB | A | B | ε

A → abB | ab | aa

B → bA | b | BB | B

Page 22: TEORI BAHASA & AUTOMATA

Contoh 2 :

S → ABaC

A → BC

B → b | ε

C → D | ε

D → d

Page 23: TEORI BAHASA & AUTOMATA

Variabel yg nullable B, C. Kita lakukanpenggantian :A → BC => A → BC | B | CS → ABaC => S → ABaC | AaC | BaC | ABa| aC | Aa | Ba | aHasil penyederhanaan :S → ABaC | AaC | BaC | ABa | aC | Aa | Ba | aA → BC | B | CB → bC → DD → d

Page 24: TEORI BAHASA & AUTOMATA

Penyederhaan CFG

CFGPenghilangan Produksi ε

Penghilangan Produksi Unit

Penghilangan Produksi Useless

CFG yg sdh disederhanakan

Page 25: TEORI BAHASA & AUTOMATA

Latihan 1 :

Lakukan penghilangan aturan produksi unit, useless, dan ε dari tata bahasa bebas konteks berikut :S → a | aA | B | CA → aB | εB → AaC → cCDD → ddd

Page 26: TEORI BAHASA & AUTOMATA

Latihan 2 :

Lakukan penghilangan aturan produksi unit, useless, dan ε dari tata bahasa bebas konteks berikut :

S → aB | aaB

A → ε

B → bA

B → ε

Page 27: TEORI BAHASA & AUTOMATA

Jawaban Latihan 1 :Penghilangan Produksi ε :A → ε dihilangkan, shg : A → aBB → Aa | aS → a | aA | B | CMjd :S → a | aA | B | CA → aB B → Aa | aC → cCDD → ddd

Page 28: TEORI BAHASA & AUTOMATA

Penghilangan Produksi Unit :S → B => S → Aa | aS → C => S → cCDShg menjadi :S → a | aA | Aa | cCDA → aB B → Aa | aC → cCDD → ddd

Page 29: TEORI BAHASA & AUTOMATA

Penghilangan Produksi Useless :1. C tidak memiliki penurunan, shg C → cCD

dihilangkan2. S → cCD dihilangkan3. Konsekuensi no 2, D → ddd dihilangkanShg mjd :S → a | aA | AaA → aBB → Aa | a

Page 30: TEORI BAHASA & AUTOMATA

Jawaban Latihan 2 :

Penghilangan Produksi ε :A → ε dihilangkan, shg : B → bA => B → bB → ε dihilangkan, shg :S → aB => S → aB | aS → aaB => S → aaB | aaMjd :S → aB | a | aaB | aaB → b

Page 31: TEORI BAHASA & AUTOMATA

Penghilangan Produksi Unit :

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

Page 32: TEORI BAHASA & AUTOMATA

Penghilangan Produksi Useless :

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