Contents FINITE TATE AUTOMATA (Otomata Hingga)... 2 Deterministic/Non Deterministic Finite Automate... 2 Ekwivalensi DFA dan NFA... 4 Contex Free Grammer(CFG)... 8 Penyederhanaan CFG... 9 Bentuk Normal Chomsky... 10 Penghilangan Rekursi Kiri... 11 Bentuk Normal GreinBach... 12 Gambar 1 Diagram DFA dan NFA... 2 Gambar 2 Contoh DFA... 2 Gambar 3 DFA hasil rekonstrusi NFA... 6 Gambar 4 Table DFA hasil rekonstruksi NFA... 7 Gambar 5 Bukti Abiguitas... 9 1
FINITE TATE AUTOMATA (Otomata Hingga) Deterministic/Non Deterministic Finite Automate 1. ebutkan definisi formal Deterministic dan Non Deterministic tate Automata Automata yang dapat berpindah dari satu state (Titik tujuan tertentu) ke state tunggal lainnya setelah sebelumnya membaca sembarang simbol masukan. Istilah deterministik mengacu bahwa setiap simbol masukan hanya menuju pada satu dan hanya satu state tujuan. edangkan non deterministik mengacu pada untuk setiap simbol masukan terdapat kemungkinan lebih dari satu state tujuan. a q 0 q 1 a q 0 q 1 a q 2 Gambar 1 Diagram DFA dan NFA Notasi FA:A= {Q,, δ,, F} Q = Himpunan sejumlah state = Himpunan simbol masukan δ = Fungsi transisi = tate Awal F =tate Akhir 2. Jelaskan proses kerja dari FA FA memutuskan apakah suatu untai simbol masukan(bahasa) dapat diterima atau tidak. Jika setiap simbol masukan diberikan dapat mencapai state akhir maka dikatakan untai simbol masukan tersebut dapat diterima. q 0 a q 1 b q 2 Gambar 2 Contoh DFA Pada Diagram DFA, jika mesin otomata tersebut diberikan masukan untai simbol ω=ab dapat diterima karena untai tersebut berakhir pada state q 2 Untuk membuktikannya berikut fungsi transisinya. 2
δ(q 0,a) = q 1 Dibaca q 0 diberi masukan a state berpindah ke q 1 δ(q 1,b) = q 2 q 2 adalah state akhir 3. Bagaimana mengubah fungsi transisi menjadi untai atau disebut juga dengan extended transition function(fungsi transisi yang diperluas) pada DFA Transisi yang diperluas adalah peristiwa yang terjadi pada saat berada disuatu sembarang state dan mengikuti suatu barisan masukan. Jika fungsi transisi δ maka fungsi transisi perluasan yang dibangun dari δ adalah. fungsi transisi yang diperluas adalah fungsi yang mengambil state q serta untai ω dan menghasilkan state p. Notasi: (q,ε) = q artinya jika berada disuatu state dan tidak ada masukan apapun maka akan tetap berada di state tersebut. Misalkan ω untai berbentuk xa maka a adalah simbol terakhir dan x adalah untai yang terdiri dari seluruh simbol kecualisimbol terakhir. Contoh ω = 1011 maka a = 1 dan x = 101 (dipecah menjadi dua bagian), maka (q, ω) = δ( (q,x),a) Artinya untuk mendapatkan (q, ω) terlebih dulu harus menghitung (q,x). Contoh: jika terdapat ω = 110101, yang dimulai dari ε dan seterusnya. Buatlah fungsi transisinya. (q 0, ε) = q 0 (q 0, 1) = δ( (q 0, ε),1) = δ(q 0,1) = q 1 (q 0, 11) = δ( (q 0, 1),1) = δ(q 1,1) = q 0 (q 0, 110) = δ( (q 0, 11),0) = δ(q 0,0) = q 2 δ 0 1 * q 0 q 2 q 1 q 1 q 3 q 0 q 2 q 0 q 3 q 3 q 1 q 2 (q 0, 1101) = δ( (q 0, 110),1) = δ(q 2,1) = q 3 (q 0, 11010) = δ( (q 0, 1101),0) = δ(q 3,0) = q 1 (q 0, 110101) = δ( (q 0, 11010),1) = δ(q 1,1) = q 0 4. ebutkan perbedaan antara DFA dengan NFA, yang mudah dikenali 3
Perbedaan hanya pada setiap setiap arah state disajikan dalam bentuk himpunan, walau hanya memiliki satu anggoto saja. Perhatikan tabel transisi pada contoh berikut: Contoh: mesin atomata A= ({q 0,q 1,q 2 },{0,1}, δ,q 0,{q 2 }) Δ 0 1 q 0 {q 0,q 1 } {q 0 } q 1 φ {q 2 } q 2 φ Φ 5. Jelaskan tentang perluasan fungsi transisi pada NFA Notasi: (q,ε) = {q} artinya sama seperti penjelasan pada DFA, bedanya state tujuan digambarkan dalam bentuk himpunan. Anggap ω memiliki bentuk ω=xa, dimana a simbol terakhir ω dan x sisa dari ω. Anggap juga (q,x) = {p 1, p 2, p 3, p k } dengan rumusan sebagai berikut: Contoh: 0,1 q 0 0 1 q 1 q 2 q 2 Jika pada diagram tersebut kita masukan ω = 00101 maka fungsi perluasan transisinya sebagai berikut: Diurai dibawah hasil uraian dicocokan dengan diagram Untuk langkah berikutnya sama Ekwivalensi DFA dan NFA 6. Jelaskan apa yang disebut dengan Ekwivalensi DFA dan NFA 4
Adanya anggapan bahwa bahasa yang dibentuk melalui NFA bisa disajikan dalam bentuk DFA. Hal ini dapat dilakukan dengan mengkonstruksi himpunan bagian: Konstruksi NFA Konstruksi DFA edemikian rupa sehingga L(N) = L(D) Q D adalah himpunan bagian dari Q N, ingat jika Q N memiliki n state maka Q D memiliki 2 n state, kadang kala ada state yang tidak dapat diakses melalui Q D, state ini harus dibuang. ehingga banyaknya state dapat dikurangi. FD adalah himpunan bagian dari Q N, sehingga, berarti F D adalah seluruh himpunan state N yang memasukan setidaknya satu state penerima N. Untuk setiap himpunan dan untuk setiap simbol a pada berlaku, Contoh: 0,1 q 0 0 1 q 1 q 2 q 2 Karena himpunan state N= 3 maka konstruksi himpunan bagian menghasilkan DFA dengan 2 3 =8 Tabel hasil rekonstruksi dari diagram tersebut sebagai berikut: Δ 0 1 A B {q 0 } {q 0,q 1 } {q 0 } C {q 1 } {q 2 } D *{q 2 } E {q 0,q 1 } {q 0,q 1 } {q 0, q 2 } F *{q 0,q 2 } {q 0,q 1 } {q 0 } G *{q 1,q 2 } {q 2 } H *{q 0,q 1,q 2 } {q 0,q 1 } {q 0,q 2 } - Total terdapat 8 state - menandakan state awal - * Menandakan state akhir - Alphabet menandakan nama lain tiap state 5
Di mulai dari {q0} yang dapat ditransisikan ke dan karena ada pembentukan himpunan baru karenanya perlu dibuat fungsi transisinya dengan menambahkan state baru untuk himpunan tersebut. Dari hasil fungsi transisi tersebut terbentuk graph baru sebagai berikut: 0 0 1 0 1 Gambar 3 DFA hasil rekonstrusi NFA Kesimpulan DFA hasil rekonstruksi dari NFA diatas ekwivalen artinya dapat menerima masukan yang sama. 7. Ubah NFA berikut menjadi DFA a. Table transisi 1 1 0 1 p {p,q} {p} q {r} {r} r {s} *s {s} 6
0 1 {p} {p,q} {p} {q} {r} {r} {r} {s} *{s} {s} {p,q} {p,q,r} {p,r} {p,r} {p,r,s} {p} {p,q,r} {p,q,r,s} {p,r} *{p,q,r,s} {p,q,r,s} {p,r,s} *{p,r,s} {p,r,s} {p} Gambar 4 Table DFA hasil rekonstruksi NFA b. Tabel transisi 2 (Latihan Melengkapi) 0 1 p {q,s} {q} *q {r} {q,r} r {s} {p} *s {p} c. Tabel transisi 3 (Latihan Melengkapi) 0 1 p {p,q} {p} q {r,s} {t} r {p,r} {t} *s *t 7
Contex Free Grammer(CFG) 8. ebutkan 4 komponen penting dalam grammer (Tatabahasa) suatu bahasa 1. Terdapat sejumlah hingga simbol dalam bentuk untai yang terdefinisi yang kita sebut terminal. Contoh: {0,1},{a, b, c, d}. 2. Terdapat himpunan hingga variable, sering disebut non-terminal. Masing-masing variable mewakili suatu bahasa yaitu himpunan untai. 3. alah satu variable mewakili bahasa yang telah di definisikan yang disebut simbol variable awal. Variable lainnya mewakili kelas untai tambahan yang digunakan untuk membantu mendefinisikan bahasa simbol awal. 4. Terdapat himpunan hingga produksi atau aturan yang mewakili definisi rekursif mengenai bahasa. Tata bahasa G didefinisikan sebagai Terminal, P adalah produksi dan adalah Variable awal. dimana V adalah Variable, T adalah 9. Tata bahasa berikut membangkitkan bahasa ekspresi regular 0*1(0+1)*: A1B A 0A ε B 0B 1B ε Tentukan Derivasi paling kanan(left most derivation) dari untai berikut: a. 00101 Left most derivasi artinya melakukan penurunan produksi mulai pada produksi palingkanan. =>A1B=>0AA1B=>00AA1B=>00 ε ε1b=>00 10B=>00101B=>00101 ε b. 1001 c. 0011 10. Perhatikan tata bahasa a ab ε Tatabahasa ini bersifat ambigu. Tunjukan secara khusus bahwa untai aab memiliki dua: a. Pohon Urai b. Derivasi terkiri c. Derivasi terkanan 8
a. a a b a b a ε ε ε ε Gambar 5 Bukti Abiguitas b. =>a=> aab=>aaεbε Derivasi terkiri c. =>ab=>abε=>aabε=> aaεbε Derivasi terkanan Penyederhanaan CFG 11. ederhanakanlah produksi berikut aabc CA F A Ab a B C b C D ε D dd - Hilangkan produksi useless: produksi yang tidak dapat menghasilkan terminal dan yang tidak dapat dijangkau. F Tidak dapat menghasilkan terminal - Hilangkan produksi Unit B C; C D telalu ber-tele2 - Hilangkan produksi C ε produksi C tidak dibutuhkan. - Produksi yang sederhana aabc A dd Untuk CA, karena C dihilangkan, maka C diganti produksi yang menurunkan dd 9
A Ab a B b dd D dd Bentuk Normal Chomsky 12. Dari hasil konstruksi produksi jawaban soal no 11 buatlah bentuk normal chomskynya: Bentuk normal chomsky mensyaratkan sudah dalam bentuk sederhana, posisi paling kiri pada produksi harus terdiri dari minimal satu terminal dan atau dua variable Dari jawaban produksi diatas sebagai berikut: aabc A dd A Ab a B b dd D dd Atruran produksi yang sudah dalam bentuk normal: A A a B b Lakukan penggantian produksi yang belum membentuk normal chomsky aabc=> P 1 ABc=>P 1 P 2 c=>p 1 P 2 P 3 P 4 d A AP 5 B P 4 d D P 4 d Bentuk aturan produksi dengan simbol variable barunya P 1 a P 2 AB P 3 c P 4 d P 5 b Bentuk Normal Chomsky A P 1 P 2 P 3 P 4 d A AP 5 a B P 4 d b D P 4 d P 1 a 10
P 2 AB P 3 c P 4 d P 5 b 13. Perhatikan produksi unit berikut AB ε A a B b A bb Tentukan - imbol apa saja yang tidak berguna - Hilangkan produksi ε - Hilangkan produksi unit - Buatlah bentuk normal chomsky Penghilangan Rekursi Kiri 14. Perhatikan produksi unit berikut aa bc BC Cd A a B b C c - ebutkan produksi unit mana saja yang rekursi kiri - Hilangkan produksi unit yang rekursi kiri - Produksi unit yang rekursi kiri aa bc Dari produksi tersebut ditentukan untuk simbol ruas kiri : α 1 =aa α 2 =bc - Produksi unit yang tidak rekursi BC Cd Dari produksi tersebut ditentukan : β 1 =BC β 2 =Cd - Lakukan penggantian aturan produksi yang rekursi kiri 11
BCZ 1 CdZ 1 Z1 aa bc Z1 aaz1 bcz1 Untuk tiap simbol yang tidak rekursi kiri yang merupakan hasil produksi ditambahkan simbol baru Z 1 Z1 menampung simbol2 yang ada pada produksi unit rekursi Melampirkan Z1 pada sisi terkanan di simbol2 produksi yang rekursi - Hasil akhir produksinya sebagai berikut BC Cd BCZ 1 CdZ 1 Z1 aa bc Z1 aaz 1 bcz 1 Bentuk Normal GreinBach 15. Perhatikan produksi unit berikut BC AB A a b B b c C BA - Lakukan pengurutan terhadap simbol variable yang nampak <A<B<C - Periksa produksi yang ruas paling kanannya simbol variable, cek apakah sudah memenuhi urutan seperti tampak diatas BC ok AB ok C BA no - Lakukan subtitusi terhadap produksi yang tidak memenuhi syarat berurut C BA => C ba ca Diambil dari simbol variable pertama saja - Lakukan subtitusi mundur untuk simbol variable yang belum dalam bentuk normal BC => bc cc AB => ab bb - Bentuk akhir Produksinya adalah ab bb bc cc A a b B b c ; C ba ca 12