TEORI BAHASA DAN OTOMATA matriks Langkah – langkahnya : 1. Tentukan urutan simbol-simbol variabel...

Preview:

Citation preview

TEORI BAHASA DAN OTOMATA

� Bentuk Normal Greibach/GreibachNormal Form (GNF) adalah suatu tatabahasa bebas konteks (CFG) yang aturanproduksinya berada dalam bentuk :

A à a∈

A à aa : simbol terminal(tunggal), a ∈ T

: rangkaian simbol-simbol variabel (V*)

� Dengan kata lain, suatu CFG dikatakanbentuk normal Greibach bila hasilproduksinya (ruas kanan) diawali dengansatu simbol terminal, selanjutnya diikutioleh rangkaian simbol variabel.oleh rangkaian simbol variabel.

� Contoh :S à a | aABA à aBB à cS

� Untuk dapat diubah menjadi bentuknormal Greibach, sebuah tata bahasaharus memenuhi persyaratan sebagaiberikut :◦ Sudah dalam bentuk normal Chomsky◦ Sudah dalam bentuk normal Chomsky◦ Tidak bersifat rekursif kiri◦ Tidak menghasilkan

� Ada dua cara pembentukan bentuknormal Greibach yaitu substitusi danperkalian matriks

� Langkah – langkahnya :1. Tentukan urutan simbol-simbol variabel2. Berdasarkan urutan simbol yang ditetapkan ,

seluruh aturan produksi yang ruas kanannyadiawali dengan variabel dapat dituliskan menjadi::

Ah à Ai

h <> i, adalah simbol variabela. Jika h < i, maka aturan sudah benar

b. jika h > i, aturan produksi salah. Lakukansubstitusi berulang terhadap Ai, sehinggadiperoleh produksi dalam bentuk :Ah à Ap� (dimana h ≤ p)Jika h = p, lakukan penghilangan rekursifkiriJika h < p, aturan produksi sudah benarJika h < p, aturan produksi sudah benar

3. Jika terjadi penghilangan rekursif kiri padatahap (2b), sejumlah variabel baru yang muncul dari operasi ini dapat disisipkan padaurutan variabel semula dimana saja asalkantidak sebelum Ah (di kiri)

4. Setelah langkah (2) & (3) dikerjakan, maka aturan-aturan produksi yang ruaskanannya dimulai simbol variabel sudahberada dalam urutan yang benar.

Ax à Ay � (dimana x < y)Produksi-produksi yang lain dalam bentuk :

��

Produksi-produksi yang lain dalam bentuk :Ax à a (a = simbol terminal)Bx à

Bx = simbol variabel baru yang munculsebagai akibat dari operasi penghilanganrekursif kiri

5. Bentuk nomral Greibach diperolehdengan cara melakukan substitusimundur mulai dari variabel Am, lalu Am-1, Am-2, …. dengan cara ini aturan produksidalam bentuk Ax àAy� dapat diubahsehingga ruas kanannya dimulai dengansimbol terminal.

�simbol terminal.

6. Produksi yang dalam bentuk Bx à jugadapat diubah dengan cara substitusiseperti pada langkah 5.

Simbol awal S :S à CAA à a | dB à bB à bC à DDD à AB

Langkah – langkah :� Tentukan urutan simbol variabel :

S, A, B, C, D (S < A < B < C < D)� Periksa ketentuan urutan variabel :

S à CA (sudah memenuhi, karena S < C)C à DD (sudah memenuhi, karena C < C à DD (sudah memenuhi, karena C < D)D à AB (tidak memenuhi, karena D > A)

� Lakukan substitusi pada D à AB denganmelakukan substitusi pada variabel A sehingga aturan menjadi :

D à aB | dB� Lakukan substitusi mundur pada aturan

yang belum dalam bentuk normal GreibachC à DD è aBD | dBDS à CA è aBDA | dBDA

� Aturan produksi yang sudah dalam bentuknormal Greibachnormal GreibachS à aBDA | dBDAA à a | dB à bC à aBD | dBDD à aB | dB

� Biarkan aturan produksi yang sudah dalambentuk normal greibach.

� Tentukan pengurutan simbol variabel, � Tentukan pengurutan simbol variabel, berdasarkan kondisi aturan produksi yang ada. Mulai terlebih dahulu dari simbol awal.

� Lakukan perubahan pada aturan produksiyang belum memenuhi ketentuan urutan, bila perlu bisa dilakukan substitusi danpenghilangan rekursif kiri.

� Lakukan substitusi mundur sehinggasemua aturan produksi akan diawali olehsebuah simbol terminal. Prosessubstitusi mundur dimulai dari aturanproduksi dengan urutan paling akhir.produksi dengan urutan paling akhir.

� Lakukan substitusi pada aturan produksibaru yang muncul sebagai hasilpenghilangan rekursif kiri.

� Didasari pemikiran bahwa aturan produksidapat dianggap sebagai persamaan linier.Misalkan : A à BC

B à CA | bC à AB | aC à AB | a

dengan mengganti tanda “à” menjadi “= “dan tanda “I” menjadi “+” maka didapatpersamaan linier :

A = BCB = CA + bC = AB + a

� Persamaan linier tersebut dapatdinyatakan sebagai persamaan matriksberikut :

V = VR + S� n adalah banyaknya variabel� V = vektor baris 1 X n yang berisi simbol� V = vektor baris 1 X n yang berisi simbol

variabel� R = matriks n X n yang berisi simbol

terminal dan variabel� S = vektor baris 1 X n yang berisi simbol

terminal dan variabel

S à CAA à a | dB à bC à DDD ABD à AB� Ubahlah tata bahasa bebas konteks diatas

menjadi bentuk normal greibach denganmenggunakan cara perkalian matriks

� bahanajarku.wordpress.com

Recommended