OTOMATA DAN TEORI BAHASA
Materi : Penyederhanaan CFG
Penyederhanaan cfg Aturan Produksi Bebas Kontek (CFG) untuk membuat Pohon Penurunan dari sebuah string Agar diperoleh Pohon Penurunan yang tidak rumit, maka AP CFG perlu disederhanakan
Penyederhanaan cfg Suatu tata bahasa Bebas Kontek (CFG) dapat disederhanakan dengan menggunakan: Penghilangan produksi Penghilangan produksi unit Penghilangan produksi useless (tidak berguna)
Penyederhanaan cfg Jika AP CFG mengandung Produksi , Produksi Unit dan Produksi Useless maka urutan penyederhanaanya dimulai dari Produksi , Unit dan Useless
Penghilangan produksi Penghilangan produksi dilakukan dengan melakukan pergantian produksi yang memuat variabel yang bisa menuju , atau biasa disebut nullable
Penghilangan produksi Produksi disebut Nullable , ada dua jenis, yaitu : 1. Nullable satu-satunya 2. Nullable bukan satu satunya
Penghilangan produksi Nullable satu-satunya jika A maka state A disebut Nullable satu satunya jika state A hanya menuju ke atau A tidak ada yang menuju state lain
Penghilangan produksi Contoh 1: SbcAd A state A Nullable satu-satunya. eliminasi : Sbcd
Penghilangan produksi Contoh 1: SbcDAdd D state D Nullable satu-satunya. eliminasi : SbcAdd
Penghilangan produksi 2. Nullable bukan satu-satunya jika A maka state A disebut Nullable bukan satu satunya jika state A dan A juga menuju yang lainnya, atau Tidak hanya A
Penghilangan produksi Contoh 2: SbcAd, Abd| state A Nullable bukan satu- satunya. eliminasi : SbcAd | bcd Abd
Penghilangan produksi Perhatian: Karna AB dan B Maka A di S juga diproses Contoh 2b Nullable bukan satu satunya SABaC ABC Bb | CD | Dd Eliminasi: SABaC|BaC|Aba|AaC| aC|Aa|Ba|a A BC|C|B B b CD D d
Penghilangan produksi Contoh 3: SAaCD ACD | AB B b | C d | D Penyederhanaan CFG Step 1. Nullable satu-satunya SAaC AC|AB B b| Cd| Step 2. Nullable bukan satu- satunya SAaC|Aa|aC|a AC|AB|A|B B b C d
Penghilangan produksi Latihan 1: SAB AabB | aCa | B bA | BB | C Penyederhanaan CFG Step 1. Nullable satu-satunya SAB AabB | aa | BbA | BB | Step 2. Nullable bukan satu- satunya SAB| A | B| AabB| aa | ab BbA| BB | b | B Hanya S yang boleh Menandakan kalau S bisa sebagai Start/ Final State
penghilangan produksi unit Cara Eliminasi jika AB adalah Produksi Unit dan terdapat produksi Bab, maka kedua produksi dapat digabung : AB Bab menjadi Aab
penghilangan produksi unit Jika terdapat SA AB BaC Maka hasilnya SaC yang merupakan produksi unit
penghilangan produksi unit Contoh 4: SABb AB|aB Ba hasilnya AB karena Ba maka Aa sehingga : Aa|aB
penghilangan produksi unit Latihan 2: SSb|C CD|ef Ddd Hasilnya SSb|dd|ef Cdd|ef Perhatian: yang dirubah, yang huruf besar(Non Terminal) sendirian
penghilangan produksi unit Latihan 3: SA|Aa AB BC|b CD|ab Db Hasilnya Sb|Aa|ab Ab|ab Bb|ab Cb|ab Db
Penghilangan produksi useless Produksi Useless yaitu produksi yang : 1. Produksi yg tidak mempunyai arti 2. Produksi yg tdk pernah digunakan 3. Produksi yang tidak akan pernah sampai pada terminal (yg dirinya/ turunannya tdk mempunyai symbol terminal/ huruf kecil sendirian, misal a atau aa)
Penghilangan produksi useless Contoh 5: SaSa|Abd|Bbe AAda /*syarat ke-3*/ BBB|a Hasilnya SaSa|Bbe
Penghilangan produksi useless 1. Simbol variable A tiak memiliki penurunan yang menuju terminal (tidak memiliki penurunan yang akan menghasilkan terminal-terminal seluruhnya). SaSa|Abd|Bbe AAda BBB|a SaSa|Abd|Bbe BBB|a
Penghilangan produksi useless Simbol variable A tiak memiliki penurunan yang menuju terminal (tidak memiliki penurunan yang akan menghasilkan terminal-terminal seluruhnya). Keterangan tambahan: Variabel A akan selalu looping Maka Perlu dihapus SaSa|Abd|Bbe AAda BBB|a S A b d A b d A b d
Penghilangan produksi useless 2. Konsekuensi no.(1) aturan produksi SAbd tidak memiliki penurunan Maka CFG setelah di sederhanakan menjadi: SaSa|Abd|Bbe BBB|a SaSa|Bbe BBB|a
Penghilangan produksi useless Contoh 6: SAa|B Aab|D Bb|E Cbb EaEa Step1. tdk sampai terminal Bb Step 2. tdk digunakan SAa|B Aab Bb Cbb Step 3 tdk berarti/ tidak bisa dijangkau S
Penghilangan produksi useless Hasil SaBD BcD Def Latihan 4 : SaBD BcD|Ab Def AEd Fdc Step1. tidak sampai terminal. Hapus A Step 2. tdk digunakan Step 3. tdk berarti (tidak melakukan apa-apa)
Contoh Penyederhanaan Soal 1: SAA|C|bd, ABb | BAB| d Cde Step1.Hilangkan SAA | C | bd | A | ABb BAB | d | B Step2.Hilangkan unit SAA | de | bd | Bb | ABb BAB | d /*B hilang, krn menurunkan dirinya sendiri*/ Cde Step3.Hilangkan useless SAA | de | bd | Bb
Contoh Penyederhanaan Keterangan tambahan Step3.Hilangkan useless SAA | de | bd | Bb ABb BAB | d Simbol A tidak dihapus karena bisa sampai ke terminal S A A B b B b d d
Soal 2: Tugas Sa|aA|B|C AaB| BAa|a CcCD D ddd sederhanakan !
Soal 3: Tugas SaB|aaB, A , BbA B sederhanakan !
Tugas kerjakan sendiri Di awal kelas Ibuk beri 1 soal Enggak quiz kok, santuy Ibuk hanya ingin memastikan kalau kalian faham atau tidak
Trims