Anda di halaman 1dari 4

PENGHILANGAN REKURSIF KIRI

Aturan produksi rekursif kiri adalah aturan produksi dimana ruas kanan aturan produksi posisi
terkiri merupakan symbol non terminal.

Aturan produksi rekursif kiri menyebabkan pohon penurunan tumbuh ke kiri. Dalam banyak
penerapan tata bahasa, rekursif kiri tidak diiinginkan, karena bisa mengakibatkan loop.

Penghilangan rekursif kiri memungkinkan suatu tata bahasa bebas konteks nantinya diubah ke
dalam Bentuk Normal Greibach.

Contoh :

S Sd

A Bad

Tahapan Penghilangan Rekursif Kiri

Langkah-langkah :

1. Pisahkan aturan produksi yang rekursif kiri dan yang tidak


A Aα1 | Aα2 | Aα3 |……. Aαn
Aturan produksi yang tidak rekursif kiri :
A β1| β2| β3 |…………. βm

2. Lakukan penggantian aturan produksi yang rekursif kiri.


A β1Z| β2Z|…….. βmZ
Z Aα1 | Aα2 | Aα3 |……. Aαn
Z α1 Z| α2 Z| α3 Z|……. αnZ
3. Hasil akhir berupa aturan produksi pengganti ditambah dengan aturan produksi semula
yang tidak rekursif kiri

Contoh 1:

S Sab|aSc|dd|ff|Sbd

Dari aturan produksi diatas hilangkan rekursif kiri :

Langkah 1 : Pisahkan aturan produksi yang rekursif kiri dan yang tidak rekursif kiri

a. Aturan produksi rekursif kiri :

S Sab|Sbd

Dari sini ditentukan :

Untuk symbol ruas kiri S : α1= ab

α2= bd
Teori Bahasa Automata ~ Lina Susanti, S. Kom
b. Aturan produksi yang tidak rekursif kiri

S aSc|dd|ff

Dari sini ditentukan :

Untuk symbol ruas kiri S : β1 = aSc

β2 = dd

β3 = ff

Langkah 2 : Lakukan penggantian aturan produksi yang rekursif kiri :

Untuk yang memiliki symbol ruas kiri S : S Sab|Sbd

S aScZ1 |ddZ1|ffZ1

Z1 ab|bd

Z1 abZ1|bdZ1

Langkah 3 : hasil akhir :

S aSc|dd|ff

S aScZ1 |ddZ1|ffZ1

Z1 ab|bd

Z1 abZ1|bdZ1

Contoh 2 :

S Sa|aAc|c

A Ab|ba

Dari aturan produksi diatas hilangkan rekursif kiri :

Langkah 1 : Pisahkan aturan produksi yang rekursif kiri dan yang tidak rekursif kiri

a. Aturan produksi rekursif kiri :

S Sa

A Ab

Dari sini ditentukan :

Untuk symbol ruas kiri S : α1= a

Untuk symbol ruas kiri A : α1= b

Teori Bahasa Automata ~ Lina Susanti, S. Kom


b. Aturan produksi yang tidak rekursif kiri :

S aAc|c|

A ba

Untuk symbol ruas kiri S : β1= aAc|c

Untuk symbol ruas kiri A: β1= ba

Langkah 2 : Lakukan penggantian aturan produksi yang rekursif kiri :

Untuk yang memiliki symbol ruas kiri S : S Sa

S aAcZ1|cZ1

Z1 a

Z1 aZ1

Untuk yang memiliki symbol ruas kiri A Ab

A baZ2

Z2 b

Z2 bZ2

Langkah 3 : hasil akhir

S aAc|c

S aAcZ1|cZ1

Z1 a

Z1 aZ1

A ba

A baZ2

Z2 b

Z2 bZ2

Teori Bahasa Automata ~ Lina Susanti, S. Kom


Latihan soal :

Dari soal dibawah ini, hilangkan rekursif kiri

1. S Sbc|Sb|cA

A Aa|a|bc

2. S aAc|Bcd|Cac

A Bc|bd

C Aa|d

Teori Bahasa Automata ~ Lina Susanti, S. Kom

Anda mungkin juga menyukai