Selasa, 07 April 2020

TEORI BAHASA DAN AUTOMATA - Penyederhanaan Tata Bahasa Bebas Konteks


A.    Penyederhanaan Tata Bahasa Bebas Konteks
Tujuan dari penyederhanaan adalah melakukan pembatasan sehingga tidak menghasilkan pohon penurunan yang memiliki kerumitan yang tidak perlu atau aturan produksi yang tidak berarti. Teknik penyederhanaan tata bahasa bebas konteks dibagi menjadi 3 yaitu : Penghilangan Produksi Useless (tidak berguna), Penghilangan Produksi Unit, dan Penghilangan produksi epsilon (ε).
1.      Penghilangan Produksi Useless
Produksi useless didefinisikan sebagai: 
a.       Produksi yang memuat simbol variabel yang tidak memiliki penurunan yang menghasilkan terminal-terminal seluruhnya.
b.      Produksi yang tidak pernah dicapai dengan penurunan apapun dari simbol awal, sehingga produksi itu redundan (berlebih).
Berikut ini contoh penyederhanaan penghilangan produksi useless.
·         Soal Latihan 1 :
Penyederhanaan dengan penghilangan produksi Useless :
→ aB | C
→ e | Ab
 bCb | adF | ab
 cFB
Lakukan penyederhanaan produksi useless dengan :
1)        Menganalisis Vn yang tidak memiliki turunan atau Vn yang tidak pernah berhenti pada Vt, kemudian hilangkanlah.
2)        Redudant/Berlebih/tidak terjangkau dari start awal.
Jawab :
Analisis :
 Ab (A tidak punya penurunan)
 adF (F tidak memiliki aturan produksi yang menuju terminal)
 cFB (F tidak memiliki aturan produksi yang menuju terminal dan tidak terjangkau dari start awal)
Hasil penyederhanaan  useless :
 aB | C
 e
 bCb | ab

·         Soal latihan 2 :
Penyederhanaan dengan penghilangan produksi Useless :
 Aa | B
 ab| D
 b | E
 bb
 aEa
Lakukan penyederhanaan produksi useless dengan :
1)      Menganalisis Vn yang tidak memiliki turunan atau Vn yang tidak pernah berhenti pada Vt, kemudian hilangkanlah.
2)      Redudant/Berlebih/tidak terjangkau dari start awal.
Jawab :
                   Analisis :
                    D (Simbol variabel D tidak memiliki penurunan).
                    E (E tidak memiliki aturan produksi yang menuju terminal).
                    bb (Aturan produksi C redundan/tidak terjangkau dari start awal).
                    aEa (Aturan produksi E redundan/tidak terjangkau dari start awal).
                   Hasil penyederhanaan useless :
 Aa | B
 ab
 b

2.      Penghilangan Produksi Unit
a.       Produksi dimana ruas kiri dan kanan aturan produksi hanya berupa satu simbol variable. Misalkan :  A → B, C → D.
b.      Keberadaannya membuat tata bahasa memiliki kerumitan yang tak perlu.
c.       Penyederhanaan dilakukan dengan melakukan penggantian aturan produksi unit.
Berikut ini contoh penyederhanaan penghilangan produksi unit.
·         Soal Latihan 1 :
Penyederhanaan dengan penghilangan produksi Unit :
 Aa | B
 A | bb
 a | bc | B
Lakukan penyederhanaan produksi unit dengan :
1)      Penghilangan pada produksi unit yang ruas kiri dan kanannya satu symbol variable non terminal, dan tidak memiliki turunan.
Jawab :
Analisis :
 A   (menjadi)  B à a | bc
 B   (menjadi)  A à bb
Hasil penyederhanaan unit :
 Aa | B
 a | bc | bb
 a | bc | bb

·         Contoh Soal Latihan 2 :
Penyederhanaan dengan penghilangan produksi Unit :
 A | Aa
 B
 C | b
 D | ab
 b
Lakukan penyederhanaan produksi unit dengan :
1)      Penghilangan pada produksi unit yang ruas kiri dan kanannya satu symbol variable non terminal, dan tidak memiliki turunan.
Jawab :
Analisis :
 B  (menjadi)   b
 C  (menjadi)   ab
 D  (menjadi)   b
Hasil penyederhanaan unit :
 A | Aa
 b | ab | b
 b | ab | b
 b | ab
 b

3.      Penghilangan Produksi Empty (ε)
Produksi ε adalah produksi dalam bentuk α→ε, atau bisa dianggap sebagai produksi kosong. Penghilangan produksi ε dilakukan dengan melakukan penggantian produksi yang memuat variabel yang bisa menuju produksi ε, atau biasa disebut nullable.
Berikut ini contoh penyederhanaan penghilangan produksi useless.
·         Soal Latihan 1 :
Penyederhanaan dengan penghilangan produksi Empty (ε)  :
 AB
 abB | aCa | ε
 bA| BB | ε
 ε
Lakukan penyederhanaan produksi empty / ε dengan :
1)      Menghilangkan produksi unit yang mengandung ε.
Jawab :
Analisis :
o    ε (nullable dan tidak memiliki produksi lain, maka produksi C dapat dihilangkan).
o    aCa, dapat diganti menjadi A  aa, karena variable C nullable.
o   A nullable, tetapi A  ε bukan satu-satunya produksi dari A, maka A  abB | aCa
o   B nullable, tetapi B  ε bukan satu-satunya produksi dari B, maka B  bA| BB
Hasil penyederhanaan empty (ε) :
 AB | A | B
 abB | ab | aCa |aa
 bA | b | BB

·         Contoh Soal Latihan 2 :
Penyederhanaan dengan penghilangan produksi Empty (ε)  :
 aBCD | bb | A | ε
 CDa | ef
 b | Af | ε
 BbC | ea
 ε
Lakukan penyederhanaan produksi empty / ε dengan :
1)      Menghilangkan produksi unit yang mengandung ε.
Jawab :
Analisis :
o    ε (nullable dan tidak memiliki produksi lain, maka produksi C dapat dihilangkan).
o   B nullable, tetapi B  ε bukan satu-satunya produksi dari B, maka B  b | Af
o   S nullable, tetapi S  ε bukan satu-satunya produksi dari S, maka S→ aBCD | bb | A
Hasil penyederhanaan empty (ε) :
 aBCD | aBC | aCD | aC | bb | A
 CDa | ef
 b | Af
 BbC | ea

B.     Alur Penyederhanaan Tata Bahasa Bebas Konteks
Urutannya adalah sebagai berikut :
1)      Hilangkan produksi ε
2)      Hilangkan produksi unit
3)      Hilangkan produksi useless

·         Contoh Soal Latihan Kompleks :
Lakukan penyederhanaan pada himpunan produksi berikut dengan penghilangan empty+unit+useless sekaligus.
 BACa
 AC
 dC | ε
 D | ε
 d

Jawab :
Untuk melakukan penyederhanaan pada soal diatas, menggunakan 3 langkah sebagai berikut.
1)      Penghilangan produksi empty (ε)
 Analisis produksi empty :
o   A nullable, tetapi A  ε bukan satu-satunya produksi dari A, maka A  dC.
o   C nullable, tetapi C  ε bukan satu-satunya produksi dari C, maka C  D.
 Hasil penyederhanaan empty (ε) :
 BACa | BCa | BAa | Ba
 AC | A | C
 dC | d
 D
 d
2)      Penghilangan produksi unit
Analisis produksi unit :
 D                 (menjadi)      d
 AC | A | C   (menjadi)    dd | d
 dC | d          (menjadi)     dd | d
Hasil penyederhanaan unit :
→ BACa | BCa | BAa | Ba
 dd | d
 dd | d
 d
 d
3)      Penghilangan produksi useless :
 Analisis produksi useless :
    d (Aturan produksi D redundan/tidak terjangkau dari start awal, sehingga   dapat dihilangkan).
 Hasil penyederhanaan useless :
 BACa | BCa | BAa | Ba
 dd | d
 dd | d
 d
C.     Video Penyederhanaan Tata Bahasa Bebas Konteks
Dibawah ini kalian dapat menonton pembahasan lengkap mengenai penjelasan materi diatas.


DAFTAR PUSTAKA



Tidak ada komentar:

Posting Komentar