17
TEORI BAHASA DAN OTOMATA

TEORI BAHASA DAN OTOMATA matriks Langkah – langkahnya : 1. Tentukan urutan simbol-simbol variabel 2. Berdasarkan urutan simbol yang ditetapkan , seluruh aturan produksi yang ruas

  • Upload
    dangnga

  • View
    260

  • Download
    6

Embed Size (px)

Citation preview

Page 1: TEORI BAHASA DAN OTOMATA matriks Langkah – langkahnya : 1. Tentukan urutan simbol-simbol variabel 2. Berdasarkan urutan simbol yang ditetapkan , seluruh aturan produksi yang ruas

TEORI BAHASA DAN OTOMATA

Page 2: TEORI BAHASA DAN OTOMATA matriks Langkah – langkahnya : 1. Tentukan urutan simbol-simbol variabel 2. Berdasarkan urutan simbol yang ditetapkan , seluruh aturan produksi yang ruas

� 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*)

Page 3: TEORI BAHASA DAN OTOMATA matriks Langkah – langkahnya : 1. Tentukan urutan simbol-simbol variabel 2. Berdasarkan urutan simbol yang ditetapkan , seluruh aturan produksi yang ruas

� 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

Page 4: TEORI BAHASA DAN OTOMATA matriks Langkah – langkahnya : 1. Tentukan urutan simbol-simbol variabel 2. Berdasarkan urutan simbol yang ditetapkan , seluruh aturan produksi yang ruas

� 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

Page 5: TEORI BAHASA DAN OTOMATA matriks Langkah – langkahnya : 1. Tentukan urutan simbol-simbol variabel 2. Berdasarkan urutan simbol yang ditetapkan , seluruh aturan produksi yang ruas

� 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

Page 6: TEORI BAHASA DAN OTOMATA matriks Langkah – langkahnya : 1. Tentukan urutan simbol-simbol variabel 2. Berdasarkan urutan simbol yang ditetapkan , seluruh aturan produksi yang ruas

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)

Page 7: TEORI BAHASA DAN OTOMATA matriks Langkah – langkahnya : 1. Tentukan urutan simbol-simbol variabel 2. Berdasarkan urutan simbol yang ditetapkan , seluruh aturan produksi yang ruas

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

Page 8: TEORI BAHASA DAN OTOMATA matriks Langkah – langkahnya : 1. Tentukan urutan simbol-simbol variabel 2. Berdasarkan urutan simbol yang ditetapkan , seluruh aturan produksi yang ruas

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.

Page 9: TEORI BAHASA DAN OTOMATA matriks Langkah – langkahnya : 1. Tentukan urutan simbol-simbol variabel 2. Berdasarkan urutan simbol yang ditetapkan , seluruh aturan produksi yang ruas

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

Page 10: TEORI BAHASA DAN OTOMATA matriks Langkah – langkahnya : 1. Tentukan urutan simbol-simbol variabel 2. Berdasarkan urutan simbol yang ditetapkan , seluruh aturan produksi yang ruas

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 :

Page 11: TEORI BAHASA DAN OTOMATA matriks Langkah – langkahnya : 1. Tentukan urutan simbol-simbol variabel 2. Berdasarkan urutan simbol yang ditetapkan , seluruh aturan produksi yang ruas

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

Page 12: TEORI BAHASA DAN OTOMATA matriks Langkah – langkahnya : 1. Tentukan urutan simbol-simbol variabel 2. Berdasarkan urutan simbol yang ditetapkan , seluruh aturan produksi yang ruas

� 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.

Page 13: TEORI BAHASA DAN OTOMATA matriks Langkah – langkahnya : 1. Tentukan urutan simbol-simbol variabel 2. Berdasarkan urutan simbol yang ditetapkan , seluruh aturan produksi yang ruas

� 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.

Page 14: TEORI BAHASA DAN OTOMATA matriks Langkah – langkahnya : 1. Tentukan urutan simbol-simbol variabel 2. Berdasarkan urutan simbol yang ditetapkan , seluruh aturan produksi yang ruas

� 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

Page 15: TEORI BAHASA DAN OTOMATA matriks Langkah – langkahnya : 1. Tentukan urutan simbol-simbol variabel 2. Berdasarkan urutan simbol yang ditetapkan , seluruh aturan produksi yang ruas

� 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

Page 16: TEORI BAHASA DAN OTOMATA matriks Langkah – langkahnya : 1. Tentukan urutan simbol-simbol variabel 2. Berdasarkan urutan simbol yang ditetapkan , seluruh aturan produksi yang ruas

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

menjadi bentuk normal greibach denganmenggunakan cara perkalian matriks

Page 17: TEORI BAHASA DAN OTOMATA matriks Langkah – langkahnya : 1. Tentukan urutan simbol-simbol variabel 2. Berdasarkan urutan simbol yang ditetapkan , seluruh aturan produksi yang ruas

� bahanajarku.wordpress.com