teori bahasa dan otomata - kelasqta.files.wordpress.com · aturan produksi a d, symbol variabel d...

Post on 06-Mar-2019

279 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

PERTEMUAN 12

TEORI BAHASA DAN OTOMATA

[TBO]

Tata Bahasa Bebas Konteks Bila pada tata bahasa regular terdapat pembatasan pada

ruas kanan atau hasil produksinya, maka pada tatabahasa bebas konteks / context free grammar,selanjutnya disebut CFG

Tidak terdapat pembatasan hasil produksinya. Padaaturan produksi:

sebuah nonterminal finite string dari terminaldan atau nonterminal

Batasannya hanyalah ruas kiri () adalah sebuah symbolvariabel

Pada ruas kanan () bisa terdapat simbol terminal saja,nonterminal saja, kombinasi terminal dan nonterminal,atau empty string

PENYEDERHANAAN CFG [1]

Penyederhanaan tata bahasa bebas konteks bertujuanuntuk melakukan pembatasan sehingga tidakmenghasilkan pohon penurunan yang memiliki kerumitanyang tak perlu atau aturan produksi yang tak berarti.

Misalkan terdapat tata bahasa bebas konteks:

SAB a

Aa

Kelemahan tata bahasa bebas konteks di atas, aturanproduksi SAB tidak berarti karena B tidak memiliki

penurunan.

PENYEDERHANAAN CFG [2]

Untuk tata bahasa bebas konteks berikut :

SA

AB

BC

CD

Da A

Memiliki kelemahan terlalu panjang jalannya padahalberujung pada Sa

Produksi DA juga menyebabkan kerumitan, karenamembuat produksi yang berulang

Cara Penyederhanaan

Suatu tata bahasa bebas konteks dapatdisederhanakan dengan melakukan :

1. Penghilangan produksi useless

2. Penghilangan produksi unit

3. Penghilangan produksi (empty)

Penghilangan Produksi Useless

Produksi useless didefinisikan sebagai:

Produksi yang memuat symbol variabel yang tidakmemiliki penurunan yang akan menghasilkan terminal-terminal seluruhnya (sebut saja sebagai ‘menujuterminal’)

Produksi ini tidak berguna karena bila diturunkan tidakakan pernah selesai (masih ada symbol variabel yangtersisa)

Produksi yang tidak akan pernah dicapai denganpenurunan apapun dari symbol awal, sehingga produksiitu redundant (berlebih)

Langkah PenyederhanaanProduksi Useless

Hilangkan aturan yang tidak menuju terminal.

Hapus anggota S yang mengandung simbolhimpunan ke terminal yang tidak berguna

Hilangkan Redundant (anggota yang tidak ada di Sdan sebaliknya)

Contoh 1

Contoh, terdapat tata bahasa bebas konteks :

S aSa Abd Bde

A Ada

B BBB a

1. Simbol variabel A tidak memiliki penurunan yang menujuterminal sehingga bisa dihilangkan.

2. Konsekuensi no (1), aturan produksi S Abd tidak memilikipenurunan

Maka tata bahasa bebas konteks setelah disederhanakanmenjadi :

S aSa Bde

B BBB a

Contoh 2 (1)

Contoh, terdapat tata bahasa bebas konteks :

S Aa B

A ab D

B b E

C bb

E aEa

1. Aturan produksi AD, symbol variabel D tidak memiliki penurunan

2. Aturan produksi Cbb, bila kita coba melakukan penurunan dari

symbol awal S, dengan jalan mana pun tidak akan pernah mencapai C

3. Simbol variabel E tidak memiliki aturan produksi yang menuju terminal(EaEa satu-satunya aturan produksi dari E)

4. Konsekuensi no (3) Aturan produksi BE, symbol variabel E tidak

memiliki penurunan

Contoh 2 (2)

Maka dari tata bahasa bebas konteks sebelumnya, produksi yang useless :

ADCbbEaEaBE

Maka tata bahasa bebas konteks setelah disederhanakanmenjadi :

SAa BAabBb

Contoh 3 (1)

Contoh tata bahasa bebas konteks :

SaAb cEB

AdBE eeC

Bff

Cae

Dh

Perhatikan :

1. Aturan produksi ScEB, AdBE (E tidak memilikipenurunan)

2. Aturan produksi Dh, redundant

Contoh 3 (2)

Sisa aturan produksi

SaAb

AeeC

Bff

Cae

Bisa dilihat sekarang Bff juga redundant sehinggahasil penyederhanaan menjadi :

SaAb

AeeC

Cae

Penghilangan Produksi Unit

Produksi unit adalah produksi dimana ruas kiri danruas kanan aturan produksi hanya berupa satusymbol variabel, misalkan A B, C D.

Keberadaan produksi unit membuat tata bahasamemiliki kerumitan yang tak perlu atau menambahpanjang penurunan.

Penyederhanaan ini dilakukan dengan melakukanpengantian aturan produksi unit.

Langkah PenyederhanaanProduksi Unit

Jabarkan masing-masing himpunan

Sederhanakan ruas kiri dan kanan yang hanyaberupa variabel simbol sama

Hapus simbol variabel yang tidak berguna / tidakmempunyai turunan

Contoh 1 (1)

Contoh tata bahasa bebas konteks :

SSb

SC

CD

Cef

Ddd

Dilakukan penggantian berurutan mulai dari aturanproduksi yang paling dekat menuju ke penurunanterminal-terminal (‘=>’ dibaca menjadi) :

CD => Cdd

SC => Sdd ef

Contoh 1 (2)

Sehingga aturan produksi setelah penyederhanaan :

SSb

Sdd ef

Cdd

Cef

Ddd

Contoh 2 (1) Contoh tata bahasa bebas konteks :

SASAaABBCBbCDCabDb

Penggantian yang dilakukan :1. CD => Cb2. BC =>Bb ab, karena Bb sudah ada, maka kita cukup

tuliskan Bab3. AB => Aab b4. SA => Sab b

Contoh 2 (2)

Sehingga aturan produksi setelah penyederhanaan :

Sab b

SAa

Aab b

Bab

Bb

Cb

Cab

Db

Penghilangan Produksi

Produksi adalah produksi dalam bentuk

atau bisa dianggap sebagai produksi kosong.

Penghilangan produksi dilakukan denganmelakukan penggantian produksi yang memuatvariabel yang bisa menuju produksi , atau biasadisebut nullable.

Langkah PenyederhanaanProduksi

Hilangkan simbol yang terdapat empty ( atau Є)dalam himpunan produksi

Simbol variabel tidak di hapus jika terdapat cabangterminal / variabel yang saling berhubungan

Buat himpunan dengan simbol yang dihilangkan danyang tidak

Contoh 1

Prinsip penggantiannya bisa dilihat kasus berikut:

SbcAd

A

Pada kasus di atas A nullable

A satu-satunya produksi dari A, maka variabel A

bisa ditiadakan

Hasil penyederhanaan tata bahasa bebas konteksmenjadi :

Sbcd

Contoh 2

Tetapi bila kasusnya :

SbcAd

Abd

Pada kasus di atas A nullable, tapi A bukan satu-satunya produksi dari A, maka hasil penyederhanaan :

SbcAd bcd

Abd

Perhatikan :

Satu-satunya perkecualian produksi yang tidakdihapus, yaitu produksi yang dihasilkan olehsymbol awal.

Penyederhanaan Bersama (1)

Pada prakteknya ketiga penyederhanaan tersebut(penghilangan useless, unit, ) dilakukan bersama padasuatu tata bahasa bebas konteks,

Yang nantinya menyiapkan tata bahasa bebas kontekstersebut untuk diubah ke dalam suatu bentuk normalChomsky.

Hal yang harus diperhatian adalah penghilangan suatutipe produksi bisa menghasilkan produksi tipe yang lain ,hal ini didasari kenyataan bahwa penghilangan produksi bisa menghasilkan produksi unit.

Perhatikan juga bahwa penghilangan produksi unit tidakmenghasilkan produksi useless

Dan penghilangan produksi useless tidak menghasilkanproduksi unit maupun produksi .

Penyederhanaan Bersama (2) Maka penghapusan semua produksi yang tidak

diinginkan tersebut dengan melakukan urutan sebagaiberikut :

1. Hilangkan produksi

2. Hilangkan produksi unit

3. Hilangkan produksi useless

Bisa dilihat alur penyederhanaan tata bahasa bebaskonteks pada gambar berikut ini :

CFG

Penghilang-an

produksi

Penghilang -an

produksi unit

CFG ygsudah

disederhanakan

Penghilang-an

produksiuseless

Contoh (1)

Hasil yang diperoleh adalah tata bahasa yang sudahbebas dari ketiga jenis produksi tersebut.

Untuk melakukan ketiga penyederhanaan tersebutpada aturan produksi berikut :

S AA C bd

A Bb

B AB d

C de

Contoh (2)

Pertama-tama kita lakukan penghilangan produksi , sehingga aturan produksi menjadi :

S A AA C bd

A Bb

B B AB d

C de

Contoh (3)

Nampak bahwa penghilangan produksi berpotensiuntuk menghasilkan produksi unit yang baru yangsebelumnya tidak ada. Selanjutnya dilakukanpenghilangan produksi unit menjadi :

S Bb AA de bd

A Bb

B AB d

C de

Bisa dilihat, penghilangan produksi unit bisamenghasilkan produksi useless.

Contoh (4)

Terakhir dilakukan penghilangan produksi useless :

S Bb AA de bd

A Bb

B AB d

Bisa diperiksa, hasil akhir aturan produksi tidak lagimemiliki produksi , produksi unit maupun produksiuseless.

top related