ti304-021005-712-10

20
10. PENYEDERHANAAN TATA BAHASA BEBAS KONTEKS

Upload: dewy-yuliana

Post on 26-Dec-2015

4 views

Category:

Documents


1 download

DESCRIPTION

TBO

TRANSCRIPT

Page 1: TI304-021005-712-10

10. PENYEDERHANAAN TATA BAHASA BEBAS KONTEKS

Page 2: TI304-021005-712-10

10.1 Tujuan penyederhanaan1. Menghilangkan produksi useless (tidak berguna)2. Menghilangkan produksi unit3. Menghilangkan produksi

10.2 Produksi uselessProduksi useless didefinisikan sebagai produksi yang memuat simbol variabel yang tidak memiliki penurunan yang akan menghasilkan terminal-terminal. Produksi ini tidak berguna karena bila diturunkan tidak akan pernah selesai (masih adavariabel yang tersisa).

Page 3: TI304-021005-712-10

Contoh 10.1Tata bahasa bebas konteks

S aSa | Abd | BdeA AdaB BBB | a

Perhatikan bahwa:1. Variabel A tidak memiliki penurunan yang menujuterminal, sehingga bisa dihilangkan.2. Konsekuensi dari no. 1, aturan produksi S Abd tidak memiliki penurunan

Sehingga tata bahasa bebas konteks disederhanakanmenjadi:

S aSa | BdeB BBB | a

Page 4: TI304-021005-712-10

Contoh 10.2Tata bahasa bebas konteks

S Aa | BA ab | DB b | EC bbE aEa

Perhatikan bahwa:

1. Aturan produksi A D, simbol variabel D tidak memiliki penurunan

2. Aturan produksi C bb tidak akan dapat dicapai dari S

3. Aturan produksi E aEa tidak akan menuju terminal

4. Konsekuensi dari no. 3, aturan produksi B E tidak memiliki penurunan

Page 5: TI304-021005-712-10

Aturan produksi yang uselessA DC bbE aEaB E

Maka tata bahasa bebas konteks

S Aa | BA ab | DB b | EC bbE aEa

Disederhanakanmenjadi

S Aa | BA abB b

Page 6: TI304-021005-712-10

Contoh 10.4

Tata bahasa bebas konteksS aAb | cEBA dBE | eeCB ffC aeD h

Tata bahasa bebas konteks menjadi

| cEBS aAb

B ffC ae

D h

dBE |A eeC

Page 7: TI304-021005-712-10

10.3 Produksi unitProduksi unit adalah aturan produksi yang menghasilkan variabel saja. Misal A B.

Keberadaan aturan produksi ini memperpanjang aturan produksi secara keseluruhan.

Untuk mempersingkat aturan produksi, kita dapat melakukan penyederhanaan.

Page 8: TI304-021005-712-10

Contoh 10.5

Tata bahasa bebas konteksS SbS CC DC efD dd

Langkah penyederhanaanC D => C ddS C => S dd | ef

Sehingga Tata bahasa bebas konteks menjadi:

S Sb | dd | ef C dd | ef

Page 9: TI304-021005-712-10

Contoh 10.6

Tata bahasa bebas konteksS AS AaA BB CB bC DC abD b

Penggantian yang dilakukan:C D => C b B C => B b. Karena sudah ada B b, maka cukup ditulis B abA B => A ab |bS A => S ab |b

Page 10: TI304-021005-712-10

SehinggaTata bahasa bebas konteks

S AS AaA BB CB bC DC abD b

Tata bahasa bebas konteksmenjadi:

S ab | b | AaA ab | bB ab | bC b | abD b

Page 11: TI304-021005-712-10

10.4 Produksi Produksi adalah aturan produksi dalam bentuk α atau bisa dianggap sebagai produksi kosong.

Penghilangan produksi dilakukan dengan melakukan penggantian aturan produksi yang memuat variabel yang bisa menuju produksi , atau bisa disebut nullable.

Prinsip penggantiannya bisa dilihat kasus berikutS bcAdA Pada aturan produksi diatas, variabel A nullable serta A satu-satunya produksi dari A, sehingga variabel A bisa ditiadakan, dan hasil penyederhanaannya menjadi S bcd

Page 12: TI304-021005-712-10

Untuk kasus lainnya, perhatikan aturan produksi berikut.

S bcAdA bd |

Pada kasus diatas, A nullable , tapi A bukansatu-satunya produksi dari A, sehingga hasilpenyederhanaan menjadi:

S bcAd | bcdA bd

Page 13: TI304-021005-712-10

Contoh 10.7

Tata bahasa bebas konteksS dA | BdA bcA B c

Variabel nullable adalah A. Tapi A bukan satu-satunya penurunan dari A, karena masih ada A bc.Maka ganti S dA => S dbc | d, sehingga tata bahasa bebas konteks menjadi:

S dbc | d | BdA bcB c

Page 14: TI304-021005-712-10

Contoh 10.8

Tata bahasa bebas konteksS AaCDA CD | ABB b | C d | D

Variabel nullable adalah B, C, D.Perhatikan produksi A CD. Karena CD nullable, maka A juga nullable. Karena D hanya memiliki penurunan D , maka produksi tersebut dapatdihilangkan.

Page 15: TI304-021005-712-10

Contoh 10.9

Tata bahasa bebas konteksS AaCDA CD | ABB b | C d | D

Dapat disederhanakan menjadi:S AaC | Aa | a | aC A C | AB | A | BB bC d

Aturan produksi S tidak boleh dihilangkan

Page 16: TI304-021005-712-10

10.5 Menghilangan Produksi useless, unit, dan Produksi useless, unit, dan harus dihilangkan secara bersamaan dari tata bahasa bebas konteks.

CFG Produksi

Produksi Unit

Produksi

Useless

CFG telah

sederhana

Urutan penghilangan Produksi useless, unit, dan adalah seperti gambar berikut

Page 17: TI304-021005-712-10

Contoh 10.10

Tata bahasa bebas konteksS AA | C | bdA Bb | B AB | dC de

Pertama-tama lakukan penghilangan produksi S A | AA | C | bdA Bb B B | AB | dC de

Page 18: TI304-021005-712-10

Langkah selanjutnya hilangkan produksi unitS Bb | AA | de | bdA Bb B AB | dC de

Langkah terakhir hilangkan produksi uselessS Bb | AA | de | bdA Bb B AB | d

Dapat dilihat aturan produksi akhir tidak lagi mengandung produksi , unit, dan useless

Page 19: TI304-021005-712-10

Latihan1. Hilangkan aturan produksi useless dari

aturan produksi:S AB | CAB BC | ABA aC aB | b

2. Hilangkan aturan produksi unit dari aturan produksi:

S Aa | BB A | bbA a | bc | | B

Page 20: TI304-021005-712-10

3. Hilangkan aturan produksi dari aturan produksi:

S AaB | aaBA B bbA |