Anda di halaman 1dari 13

TEORI BAHASA DAN OTOMATA

Aturan Produksi Rekursif


Aturan produksi yang rekursif memiliki ruas kanan yang memuat simbol variabel pada ruas kiri. Aturan produksi yang rekursif kanan A A Contoh : S dS B adB

Aturan Produksi Rekursif


Aturan produksi yang rekursif kiri A A Contoh : S aAc S Ab| Produksi yang rekursif kanan menyebabkan pohon penurunan tumbuh ke kanan, sebaliknya produksi yang rekursif kiri menyebabkan pohon penurunan tumbuh ke kiri.

Tahapan Penghilangan Rekursif Kiri


Pisahkan aturan produksi yang rekursif kiri dan yang tidak. Contoh : Aturan produksi yang rekursif kiri : A A 1|A 2|A 3|A n Aturan produksi yang tidak rekursif kiri A 1 | 2 | 3 | n

Tahapan Penghilangan Rekursif Kiri


Lakukan penggantian aturan produksi yang rekursif kiri, menjadi sebagai berikut : 1) A 1Z | 2Z | mZ 2) Z 1 | 2| 3 | n 3) Z 1Z| 2Z | 3Z| n Penggantian diatas dilakukan untuk setiap aturan produksi dengan simbol ruas kiri yang sama.

Tahapan Penghilangan Rekursif Kiri


Hasil akhir berupa aturan produksi pengganti ditambah dengan aturan produksi semula yang tidak rekursif kiri.

Contoh
S Sab | aSc | dd | ff | Sbd Aturan produksi yang rekursif kiri : S Sab | Sbd Tentukan untuk simbol ruas kiri S : 1=ab, 2=bd Aturan produksi yang tidak rekursif kiri : S aSc | dd | ff Tentukan untuk simbol ruas kiri S : 1=aSc, 2=dd, 3=ff

Lakukan penggantian aturan produksi yang rekursif kiri. Untuk yang memiliki simbol ruas kiri S : 1) S aScZ1 | ddZ1 |ffZ1 2) Z1 ab | bd 3) Z1 abZ1 | dbZ1 Hasil akhir : S aSc | dd | ff S aScZ1 | ddZ1 |ffZ1 Z1 ab | bd Z1 abZ1 | dbZ1

Contoh
Terdapat tata bahasa bebas konteks :
S A Sab | Sb |cA Aa | a | bd

Lakukan pemisahan aturan produksi. Aturan produksi yang rekursif kiri: S Sab | Sb A Aa Tentukan simbol ruas kiri S : 1 = ab, 2 = b A: 1=a

Aturan produksi yang tidak rekursif kiri : S cA A a | bd Didapat simbol untuk ruas kiri S: 1 = cA A: 1 = a, 2 = bd Lakukan penggantian aturan produksi yang rekursif kiri.

Untuk yang memiliki simbol ruas kiri S : S Sab | Sb, digantikan oleh : i) S cAZ ii) Z1 ab | b iii) Z1 abZ1 | bZ1 Untuk yang memiliki simbol ruas kiri A : S Aa, digantikan oleh : i) S aZ2 | bdZ2 ii) Z2 a iii) Z2 abZ2

Hasil akhir setelah penghilangan rekursif adalah sebagai berikut : S cA A a | bd S cAZ Z1 ab | b Z1 abZ1 | bZ1 S aZ2 | bdZ2 Z2 a Z2 abZ2