TEORI BAHASA DAN AUTOMATA
PENYEDERHANAAN TATA BAHASA BEBAS KONTEKS
Tujuan Penyederhanaan :
- Untuk melakukan pembatasan sehingga tidak menghasilkan pohon penurunan yang memiliki kerumitan yang tak perlu atau aturan produksi yang tidak berarti.
Misal :
S → AB | a- Diketahui suatu tata bahasa bebas konteks :
A → a
- Kelemahan :
Aturan produksi S → AB tidak berarti karena B tidak memiliki penurunan
Tata Bahasa Bebas Konteks dapat disederhanakan dengan melakukan cara berikut :
- Penghilangan Produksi Useless
- Penghilangan Produksi Unit
- Penghilangan Produksi Empty ℇ/epsilon
1. Penghilangan Produksi Useless
Produksi Useless adalah aturan produksi yang tidak menghasilkan terminal-terminal simbol atau aturan produksi yang tidak pernah terjangkau dan tercapai dengan penurunan apapun dari simbol awal sehingga Redudan(berlebih)
Contoh soal 1 :
S → AB | C
B → e | Ab
C → bCb | adF | ab
F → cFB
Cara Penyeselaian :
➤ F pada F ⟶ eFB tidak memiliki penurunan ke terminal
➤ A pada B ⟶ Ab tidak memiliki penurunan
➤ F pada C ⟶ adF tidak memiliki penurunan
Jadi hasilnya adalah :
S ⟶ AB | C
B → e
C → beb | ab
Contoh soal 2 :
S → Aa | B
A → ab | D
B → b | E
C → bb
E → aEa
Cara Penyelesaian :
➤ D pada A → D tidak memiliki penurunan
➤ C → bb (Redudan)
➤ E pada B → E tidak memiliki penurunan
Jadi hasilnya adalah :
S → Aa | B
A → ab
B → b
2. Penghilangan Produksi Unit
Produksi yang dimana ruas kiri dan kanan aturan produksi hanya berupa 1 buah simbol variabel.
A → B
B → C
C → D
Contoh soal 1 :
S → Aa | B
B → A | bb
A → a | bc | B
Cara Penyelesaian :
➤ S → Aa
➤ S → B a | bc | bb
➤ B → A a | bc | bb
➤ B → bb
➤ A → a
➤ A → bc
➤ A → B bb
Jadi hasilnya adalah :
S → Aa
B → a
A → a
Contoh soal 2 :
S → A | Aa
A → B
B → C | b
C → D | ab
D → b
Cara Penyelesaian :
➤ C → D | ab, D diganti jadi b
➤ B → C | b, C diganti ab | b
➤ A → B, B diganti jadi ab | b
➤ S → A | Aa, A diganti jadi ab | b
Jadi hasilnya adalah :
S → ab | b | Aa
A → ab | b
B → ab | b
C → b | ab
D → b
3. Penghilangan Produksi Empty (𝜺)
Aturan produksi dalam bentuk 𝜶 → 𝜺
Penghilangan produksi 𝜺 dilakukan dengan melakukan pergantian produksi yang memuat variabel yang bisa menuju 𝜺 atau biasa disebut juga nullable.
Contoh soal 1 :
S → AB
A → abB | aCa | 𝜺
B → bA | BB | 𝜺
C → 𝜺
Cara Penyelesaian :
1) Hilangkan 𝜺 pada C
S → AB
A → abB | aa | 𝜺
B → bA | BB | 𝜺
2) Hilangkan 𝜺 pada B
S → AB | A
A → abB | aa | 𝜺 | ab
B → bA | BB
3) Hilangkan 𝜺 pada A
S → AB | B
A → abB | aa | ab
B → bA | BB | b
Jadi hasilnya adalah :
S → AB | B
A → abB | aa | ab
B → bA | BB | b
Contoh soal 2 :
S → aBCD | bb | A | 𝜺
A → CDa | ef
B → b | Af | 𝜺
C → BbC | ea
D → 𝜺
Cara Penyelesaian :
1) Hilangkan 𝜺 pada D
S → aBC | bb | A | 𝜺
A → Ca | ef
B → b | Af | 𝜺
C → BbC | ea
2) Hilangkan 𝜺 pada B
S → aBC | bb | A | 𝜺 | aC
A → Ca | ef
B → b | Af
C → BbC | ea | bC
3) Hilangkan 𝜺 pada S
S → aBC | bb | A | aC
A → Ca | ef
B → b | Af
C → BbC | ea | bC
Jadi hasilnya adalah :
S → aBC | bb | A | aC
A → Ca | ef
B → b | Af
C → BbC | ea | bC
4. Penyederhanaan Kompleks
Penghilangan produksi useless, produksi unit dan produksi empty sekaligus.
Contoh soal 1 :
S → BACa
B → AC
A → dC | 𝜺
C → D | 𝜺
D → d
Cara Penyelesaian :
1) Hilangkan produksi empty
Hilangkan 𝜺 pada C
S → BACa | Baa
B → AC | A
A → dC | 𝜺 | d
C → D
D → d
Hilangkan 𝜺 pada A
S → BACa | BAa | BCa
B → AC | A | C | 𝜺
A → dC | d
C → D
D → d
Hilangkan 𝜺 pada B
S → BACa | BAa | BCa | Ba | ACa | Aa | Ca | a
B → AC | A | C
A → dC | d
C → D
D → d
2) Penghilangan produksi unit
C → D, D diganti jadi d
B → C, C diganti jadi d
B → A, A diganti jadi dC | d
Jadi hasilnya adalah :
S → BACa | BAa | BCa | Ba | ACa | Aa | Ca | a
B → AC | dC | d
A → dC | d
C → d
D → d
3) Karena pada produksi tidak ada yang memenuhi syarat aturan produksi useless, maka tidak perlu diadakan penghilangan produksi useless dan langkah selesai. Jadi untuk hasil akhir dari penyederhanaan kompleks ini adalah hasil dari penyederhanaan pada langkah penghilangan produksi unit, yaitu :
S → BACa | BAa | BCa | Ba | ACa | Aa | Ca | a
B → AC | dC | d
A → dC | d
C → d
D → d
Dibawah ini merupakan video penjelasan dari penyederhanaan tata bahasa bebas konteks :
Daftar Pustaka :
- Materi 5 Perkuliahan "Tata Bahasa Bebas Konteks (Penyederhanaan)" Dosen pengampu Teori Bahasa dan Automata : Garno, M,Kom. Fakultas Ilmu Komputer Universitas Singaperbangsa Karawang
Terimakasih, semoga dapat bermanfaat. Mohon maaf apabila ada kesalahan kata dalam penulisan, jika ada kesalahan silahkan tulis di kolom komentar.
Komentar
Posting Komentar