Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Penghilangan Rekursif Kiri

Presentasi serupa


Presentasi berjudul: "Penghilangan Rekursif Kiri"— Transcript presentasi:

1 Penghilangan Rekursif Kiri
By Kustanto Materi ke 5 2/17/2019

2 Aturan Produksi Rekursif
Aturan Produksi yang rekursif, memiliki ruas kanan (hasil produksi) yang memuat simbol variabel pada ruas kiri Sebuah aturan produksi dalam bentuk : A   A ;merupakan aturan produksi rekursif kanan  =(V∪T)* atau kumpulan simbol variabel dan terminal Contoh aturan produk yang rekursif kanan: S  dS B  adB Produksi dalam bentuk: A  A  merupakan aturan produksi rekursif Kiri contohnya: S  S d B  B ad Materi ke 5 2/17/2019

3 Lanjutan…. Produksi yang rekursif kanan akan menyebabkan pohon penurunan tumbuh kekanan, Sedangkan produksi yang rekursif kiri akan menyebabkan penurunan tumbuh ke kiri. Contoh: Context free Grammar (CFG) dengan aturan produksi sebagai berikut: Materi ke 5 2/17/2019

4 Lanjutan … Untuk menghindari penurunan kiri yang looping, perlu dihilangkan sifat rekursif kiri dari aturan produksi. Penghilangan rekursif kiri disini memungkinkan suatu tata bahasa bebas konteks nantinya diubah ke dalam bentuk normal Greibach. Materi ke 5 2/17/2019

5 Tahapan Penghilangan Rekursif Kiri
Pisahkan Aturan produksi yang rekursif kiri dan yang tidak; misalnya Aturan produksi yang rekursif kiri A  A 1 | A 2 | ... | A n Aturan produksi yang tidak rekursif kiri A  1 | 2 | ... | n Dari pers diatas dapat ditentukan simbol ruas kiri yang sama yaitu : 1, 2,…, n dan 1, 2,…, n Materi ke 5 2/17/2019

6 Lanjutan … 2 Z  1 | 2 | ... | n 3 Z  1 Z | 2 Z | ... | n Z
lakukan peng-ganti-an aturan produksi yang rekursif kiri, menjadi sebagai berikut: 1. A  1 Z | 2 Z | ... | n Z 2 Z  1 | 2 | ... | n 3 Z  1 Z | 2 Z | ... | n Z Pergantian di atas dilakukan untuk setiap aturan produksi dengan simbol ruas kiri yang sama, bisa muncul variabel baru Z1, Z2 dst, sesuai dengan variabel yang menghasilkan rekurisif kiri Materi ke 5 2/17/2019

7 Lanjutan … Hasil akhir berupa aturan produksi pengganti ditambah dengan aturan produksi semula yang tidak rekursif kiri. Tahapan tersebut seperti terlihat pada gambar berikut: Tata bahasa bebas konteks (CFG) yang mengandung aturan produksi yang rekursif kiri Aturan produksi yang tidak rekursif kiri Aturan produksi yang rekursif kiri Lakukan penggantian, munculkan aturan produksi baru dan symbol variable baru CFG bebas dari aturan produksi yang rekursif kiri Materi ke 5 2/17/2019

8 Lanjutan … Contoh: Tata Bahasa Context free S  Sab | aSc | dd | ff | Sbd Pertama pisahkan aturan produksi yang rekursif kiri S  Sab | Sbd Dari situ kita tentukan untuk simbol Ruas Kiri S: 1=ab , 2=bd Aturan Produksi yang tidak rekursif kiri S  aSc | dd | ff dari situ didapat untuk simbol Ruas Kiri: S: 1 = aSc, 2 = dd, 3= ff Materi ke 5 2/17/2019

9 Lanjutan … Langkah berikutnya adalah dilakukan penggantian yang rekursif kiri: Untuk yang memiliki simbol ruas kiri S: S  Sab | Sbd, digantikan dengan 1. S  aScZ1 | ddZ1 | ffZ1 2. Z1  ab | bd 3. Z1  abZ1 | bdZ1 Hasil akhir yang didapat setelah menghilangkan rekursif kiri adalah sebagai Berikut: S  aSc | dd | ff S  aScZ1 | ddZ1 | ffZ1 Z1  ab | bd Z1  abZ1 | bdZ1 Pada kasus di atas S adalah satu-satunya simbol variabel yang menghasilkan produksi rekursif kiri Materi ke 5 2/17/2019

10 Contoh 2. S: 1=ab , 2=b S: 1= cA, A:1= a, 2= bd
Terdapat tata bahasa bebas konteks : SSab | Sb | cA A Aa | a | bd Langkah penyelesaiaannya: Pertama pemisahan aturan produksi yang rekursif kiri: SSab | Sb A Aa Kedua Tentukan simbol ruas kiri: S: 1=ab , 2=b A: 1=a Aturan produksi yang tidak rekursif kiri: ScA Aa | bd Simbol ruas kiri : S: 1= cA, A:1= a, 2= bd Materi ke 5 2/17/2019

11 Lanjutan … Ketiga penggantian aturan produksi rekursif kiri:
Untuk yang memiliki simbol ruas kiri S: S  Sab | Sb, digantikan dengan 1. S  cAZ1 2. Z1  ab | b 3. Z1  abZ1 | bZ1 Untuk yang memiliki simbol ruas kiri A: A  Aa, diganti oleh: 1. A  aZ2 | bdZ2 2. Z2  a 3. Z2  aZ2 Materi ke 5 2/17/2019

12 Lanjutan …. Hasil akhir setelah penghilangan rekursif kiri adalah:
ScA Aa | bd ScAZ1 Z1ab | b Z1abZ1 | bZ1 AaZ2 | bdZ2 Z2a Z2aZ2 * Perhatikan bahwa penghilangan rekursif kiri memunculkan simbol variabel baru, dan aturan produksi baru yang rekursif kanan Materi ke 5 2/17/2019

13 Latihan dan dikumpulkan!
Lakukan penghilangan rekursif kiri pada tata bahasa bebas konteks berikut: 1. SSa | aAc | c | ε AAb | ba 2. A Aa | aBc 3. AAbAB | ε BBAa | A | ε 4. SSBa | Ab ASa | AAb | a BSb | BBa | b 5. SSSC | SSB | abg Babc | BSb | BCd Cab Materi ke 5 2/17/2019

14 Selesai Materi ke 5 2/17/2019


Download ppt "Penghilangan Rekursif Kiri"

Presentasi serupa


Iklan oleh Google