DIKTAT TEORI BAHASA DAN OTOMATA

Ukuran: px
Mulai penontonan dengan halaman:

Download "DIKTAT TEORI BAHASA DAN OTOMATA"

Transkripsi

1 DIKTAT TEORI BAHASA DAN OTOMATA DISUSUN OLEH Ir. Sudiadi, M.M.A.E. Ir. Rizani Teguh, M.T. Sekolah Tinggi Manajemen Informatika dan Komputer Global Informatika MDP 207 Hal

2 KATA PENGANTAR Pertama-tama kami sebagai penulis mengucapkan puji dan syukur kehadirat Tuhan Yang Maha Kuasa atas segala limpahan rahmat Nya, hingga Diktat Teori Bahasa dan Otomata ini dapat diselesaikan. Mudah-mudahan diktat ini dapat membantu mahasiswa STMIK Global Informatika MDP dalam mengikuti mata kuliah Teori Bahasa dan Otomata. Penulis mengucapkan terimakasih dan menyampaikan pengharagaan yang setinggi-tingginya pada Ketua STMIK Global Informatika MDP yang selalu memberikan dorongan baik pada penulis maupun pada rekan-rekan dosen lainnya untuk menyusun materi kuliah baik dalam bentuk diktat atau buku. Dorongan tersebut telah menambah semangat penulis dalam menyelesaikan tulisan ini. Ucapan terimakasih juga penulis sampaikan pada rekan-rekan dosen yang telah membantu penulis dalam menyelesaikan diktat ini. Mudah-mudahan dengan adanya dorongan dan dukungan yang diberikan pada penulis akan dapat dihasilkan diktat lain dalam waktu singkat. Meskipun telah berhasil diterbitkan, penulis menyadari bahwa diktat ini masih sangat sederhana dan tentu masih banyak kekurangan dan kelemahannya. Oleh karena itu penulis mengharapkan saran dan kritik yang membangun dari pembaca sekalian, sehingga dapat dihasilkan diktat yang lebih baik pada masa yang akan datang. Saran, kritik dan koreksi dapat disampaikan pada alamat, atau Akhirnya penulis mengucapkan selamat belajar kepada seluruh mahasiswa STMIK Global Informatika MDP. Mudahan-mudahan sukses selalu menyertai saudara-saudara. Palembang, 5 Mei 207 Penulis,. Ir. Sudiadi, M.M.A.E. 2. Ir. Rizani Teguh, M.T. Hal ii

3 DAFTAR ISI KATA PENGANTAR DAFTAR ISI ii iii BAB :. Konsep Bahasa Abjad atau Alfabet Untai (String) Panjang Alpabhet. Rentengan Untai (String Concatenaton) Bahasa Formal (Formal Language) Operasi-Operasi pada Bahasa Hirarki Chomsky Otomata Hingga Defenisi Otomata Hingga Deterministik Otomata Hingga Non-deterministik Reduksi Jumlah State Latihan Ekivalensi dari NFA ke DFA Tahapan Pengubahan dari NFA ke DFA NFA dengan -move. Ekivalensi NFA dengan -move ke NFA tanpa -move Latihan Penggabungan dan Konkatenasi Penggabungan Konkatenasi.. Latihan Ekpressi Reguler Aturan Produksi Aturan Produksi Tata Bahasa Reguler Mengkonstruksi Aturan Produksi Otomata Hingga Otomata Hingga untuk Suata Tata Bahasa Reguler Latihan Hal iii

4 7. Otomata Hingga Dengan Output Pendahuluan Mesin Moore Mesin Mealy Latihan Pohon Penurunan Tata Bahasa Bebas Konteks (Context Free Grammar)..... Parsing Pohon Penurunan Proses Penurunan (Parsing).. Ambiguitas.. Latihan Penyederhanaan Tata Bahasa Bebas Konteks Tujuan Penyederhanaan Produksi useless Produksi Unit Produski Menghilangkan Produksi Unit, Useles, dan 74 Latihan Bentuk Normal Chomsky Pengertian Pembentukan Bentuk Normal Chomsky.. Algoritma CYK Latihan Penghilangan Rekursif Kiri Aturan Produksi Rekursif Tahap Penghilangan Rekursif Kiri.. Latihan Bentuk Normal Greibach Pengertian Bentuk Normal Greibach Pembentuka Bentuk Normal Greibach dengan substitusi. Pembentukan Bentuk Normal Greibach dengan Perkalian Matriks Latihan Push Down Otomata Push Down Otomata (PDA) PDA untuk suatau Tata Bahasa Bebas Konteks. Deskripsi Seketika pada PDA. Latihan Hal iv

5 4. Mesin Turing Mesin Turing (Touring Machine) Mekanisme Kerja Pada Mesin Turing... Deskripsi Seketika Mesin Turing DAFTAR BACAAN Hal

6 BAB KONSEP BAHASA T eori Bahasa dan Otomata adalah model dan gagasan dasar yang berhubungan dengan komputasi. Bahasa alami (natural language) didefinisikan sebagai kumpulan kata-kata dan metode penggabungan kata-kata yang digunakan dan dimengerti suatu komunitas. Bahasa formal (formal language) digunakan untuk berkomunikasi dengan komputer. Otomata adalah mesin abstrak untuk memodelkan komputer yang menerima input, menghasilkan output, memiliki memori sementara dan mampu mentransformasikan input ke output.. Abjad atau Alfabet (Alpabet) Abjad yang dilambangkan dengan simbol, adalah himpunan berhingga tak kosong dari simbol-simbol. Contoh. Alfabet biner adalah = {0, } Alfabet huruf kecil adalah = {a, b, c,, z} Alfabet bilangan asli < 9 adalah = {, 2, 3,.., 8}.2 Untai (String) Untai, kadang-kadang disebut kata atau word, adalah barisan berhingga simbol-simbol yang berasal dari suatu alfabet. Contoh.2 0 adalah untai yang berasal dari alfabet = {0, } stmik, kelas, sttrw adalah untai yang berasal dari alfabet = {a, b, c,, z} adalah untai yang berasal dari alfabet = {, 2, 3, 4,, 9}.2.. Untai kosong Untai kosong adalah untai yang tidak mempunyai simbol yang berasal dari alfabet. Untai kosong (null string) dilambang dengan. adalah untai yang berasal dari sembarang alfabet Hal

7 .2.2. Panjang untai Panjang untai adalah jumlah simbol yang membentuknya. Contoh.3 Panjang untai 0, ditulis 0 = 4 Panjang untai sttrw,, ditulis sttrw = 6 Panjang untai, ditulis = 0.3. Pangkat Alfabet Himpunan seluruh untai yang berasal dari alfabet tertentu dapat dinyatakan dalam notasi eksponensial. k didefinisikan sebagai himpunan untai dengan panjang k, yg masing-masing simbolnya berasal dari.. * (Kleen Star) didefinisikan sebagai himpunan seluruh untai mulai dari untai kosong sampai untai dengan panjang tertentu. * = = didefinisikan sebagai himpunan seluruh untai tanpa untai kosong (null string) + = = 2 3 Contoh.4 Jika = {0, }, maka: 0 = { } = {0, } 2 = {00, 0, 0, } 3 = {000, 00, 00, 0, 00, 0, 0, } * = {, 0,, 00, 0, 0,, 000, } + = {0,, 00, 0, 0,, 000, } Perbedaan antara dan k adalah : adalah abjad yang merupakan himpunan tak kosong yang terdiri dari simbol-simbol. k adalah himpunan Hal

8 untai dengan panjang masing-masing untai adalah k. Simbol dari setiap untai pada k berasal dari.4. Rentengan untai (String Concatenation). Misal w dan w 2 adalah untai. Rentengan untai w dan w 2 menghasilkan untai w w 2 Contoh.5 Misal w = xx w 2 = xyx, maka w w 2 = xxxyx w = aab w 2 = abb, maka w w 2 = aababb w = w 2 = xy, maka w w 2 = xy w = abba w 2 =, maka w w 2 = abba w = w 2 =, maka w w 2 =.5. Bahasa Formal (Formal Language) Bahasa formal adalah himpunan yang mempunyai anggota-anggota berasal dari *. Jika adalah alfabet, dan L * maka L adalah bahasa. Untai-untai yang membentuk suatu bahasa berasal dari suatu alfabet. Contoh.6 Bahasa pemrograman C++, atau Java, atau lainnya termasuk bahasa formal yang berasal dari alfabet = {a, b, c,, z, A, B, C,, Z, 0,, 2, 9,<, >, =, +,, *, /, (, ),., &,!, %, ^, {, },,, :, ;} Contoh.7 Berikut adalah beberapa contoh lain bahasa formal. a) Himpunan seluruh untai yang terdiri dari n buah 0 dan diikuti oleh n buah, untuk n 0 adalah L = {, 0, 00, 000, } b) Himpunan seluruh untai terdiri dari jumlah simbol 0 dan yang sama adalah : L = {, 0, 00, 00, 00, 00, 00, } c) Himpunan bilangan biner yang nilainya sama dengan bilangan prima adalah : L = {0,, 0,, 0, 0, } Hal

9 d) * adalah bahasa atas seluruh alfabet e) adalah bahasa kosong merupakan bahasa atas sembarang alfabet f) { } adalah bahasa yang hanya terdiri dari untai kosong, juga merupakan bahasa atas sembarang alfabet. Perhatikan bahwa: { } tidak memiliki untai { } memiliki satu untai Bahasa dapat didefinisikan dengan menggunakan notasi pembentuk himpunan (set-builder notation). L = {w sifat-sifat w} Dibaca: L adalah himpunan untai w sedemikian rupa, sehingga memenuhi sifat-sifat w. Contoh.8 a) L = {w w terdiri dari simbol-simbol 0 dan yang jumlahnya sama} b) L = { w w adalah bilangan bulat biner yang nilainya prima} c) L = {w w adalah program C++ yang benar sintaksnya}.6 Operasi-Operasi pada Bahasa.6. Perangkaian (Concatenation) Misal L dan L 2 merupakan bahasa-bahasa berdasarkan alfabet. Perangkaian L dan L 2 ditulis : L. L 2 = {w.w 2 w L dan w 2 L 2 } Contoh.9 Diketahui L = {ayam, kucing} dan L 2 = {gajah}, Maka L. L 2 = {ayamgajah, kucinggajah} Eksponensiasi (Exponentiation) Misalkan L merupakan suatu bahasa berdasarkan alfabet. Contoh.0 Jika L = {ab} berdasarkan alfabet, maka: Hal

10 L o = { } L = L = {ab} L 2 = L.L = {abab} L 3 = L.L 2 = {ababab}.6.3. Gabungan (Union) Misalkan L dan L 2 adalah bahasa-bahasa berdasarkan suatu abjad. Gabungan dari L dan L 2, ditulis L L 2, terdiri dari semua untai yang muncul sekurang-kurangnya sekali dalam L dan L 2. L L 2 = {x x L atau x L 2 } Contoh. Misal = {0, } L = {, 0,, 0, } L 2 = {,, 00, 00} L L 2 = {, 0,, 0,, 00, 00}.6.4. Irisan (Intersection) Misalkan L dan L 2 adalah bahasa-bahasa berdasarkan suatu abjad. Irisan dari L dan L 2, ditulis L L 2, terdiri dari semua untai yang muncul baik di L maupun di L 2. L L 2 = {x x L dan x L 2 } Contoh.2 Misal = {0, } L = {, 0,, 0, } L 2 = {,, 00, 00} L L 2 = {, }.6.5. Sub Bahasa Misalkan L dan L 2 adalah bahasa-bahasa berdasarkan suatu abjad dan jika semua untai di L juga merupakan untai di L 2, maka L disebut sebuah sub bahasa dari L 2. Notasi L L 2 Contoh.3 Jika L = {a,aa,aaa} dan L 2 = {a,aa,aaa,aaaa,aaaaa} Hal

11 maka L L Eual (Sama) Dua buah bahasa L dan L 2 dikatakan sama jika kedua bahasa tersebut secara persis mempunyai untai-untai yang sama, artinya jika sebagai himpunan-himpunan keduanya persis sama. Notasi : L = L Star Closure dan Plus Closure Jika L adalah sebuah bahasa berdasarkan suatu abjad, didefinisikan:. Star Closure dari L* L* = L 0 + L + L 2 + L Plus Closure dari L + L + = L + L 2 + L Contoh.4 Jika L = {a, b} Maka: L 0 = { } L = L = {a, b} L 2 = L.L = {aa, ab, ba, bb} L 3 = L 2.L = {aaa, aab, aba, abb, baa, bab, aab, bbb} L * = L 0 + L + L 2 + L 3 + L * = {, a, b, aa, ab, ba, bb, aaa, aab, aba, abb, baa,bab,aab,bbb. } L + = L + L 2 + L 3 + L + = {a, b, aa, ab, ba, bb, aaa, aab, aba, abb, baa,bab,aab,bbb. }.7. Hirarki Chomsky Tata bahasa (grammar) didefinisikan sebagai kumpulan dari himpunan-himpunan variabel, simbol-simbol terminal, simbol awal, yang dibatasi oleh aturan-aturan produksi. Tahun 959 Noam Chomsky Hal

12 melakukan penggolongan tingkatan bahasa menjadi 4 dan disebut Hirarki Chomsky. Tabel. Hirarki Chomsky Bahasa Mesin otomata Batasan aturan produksi Regular / Tipe 3 Bebas Konteks (Context Free)/ Tipe 2 Context Sensitive / Tipe Unrestricted / Structure/ Natural Language/ Tipe 0 Finite State Automata Meliputi: Deterministic Finite Automata dan Nondeterminstic Finite Automata Push Down Automata (PDA) Linier Bounded Automata Mesin Turing adalah sebuah simbol variabel. Maksimal memiliki sebuah simbol variabel yang bila ada terletak pada posisi paling kanan adalah sebuah simbol variabel Tidak ada batasan Aturan produksi dinyatakan dalam bentuk, dibaca, menghasilkan atau menghasilkan. menyatakan simbol-simbol pada ruas kiri aturan produksi (sebelah kiri tanda ). menyatakan simbol- Hal

13 simbol pada ruas kanan aturan produksi (sebelah kanan tanda ). Simbolsimbol pada aturan produksi dapat berupa simbol terminal atau simbol nonterminal/variabel. Simbol terminal adalah simbol yang tidak dapat diturunkan lagi. Simbol non-terminal adalah simbol yang masih dapat diturunkan. Simbol terminal biasanya menggunakan huruf kecil, seperti, a, b, c, Simbol non-terminal biasanya menggunakan huruf besar seperti A, B, C, Aturan produksi: T a (dibaca T menghasilkan a ) E T T+E (dibaca E menghasilkan T atau E menghasilkan T + E ) Simbol dibaca atau ; digunakan untuk mempersingkat aturan produksi yang mempunyai ruas kiri yang sama. Jadi penulisan aturan produksi E T T+E adalah singkatan dari dua buah aturtan produksi: E T E T+E Tabel.2. Contoh-contoh aturan produksi Bahasa Regular / tipe Context Free / tipe 2 Context Sensitive / tipe Contoh Aturan Produksi A def A bc A bcde C D B CDeFg D BcDe D ef ( D < ef ) E (pengecualian) Hal

14 Natural Language / tipe 0 Abc def unrestricted konteks sensitif bebas konteks regular Gambar.. Keterkaitan bahasa pada Hirarki Chomski BAB II OTOMATA HINGGA Hal

15 BAB 2 OTOMATA HINGGA 2. Definisi Otomata Hingga adalah:. Model matematika yang dapat menerima input dan mengeluarkan output 2. Memiliki state yang berhingga banyaknya dan dapat berpindah dari satu state ke state lainnya berdasar input dan fungsi transisi 3. Tidak memiliki tempat penyimpanan/memory, hanya bisa mengingat state terkini 4. Mekanisme kerja dapat diaplikasikan pada elevator, text editor, analisa leksikal, pencek parity. Otomata Hingga dinyatakan oleh 5-tupel atau M = (Q,,, S, F) Q = himpunan kedudukan (state) = alfabet / himpunasn simbol input = fungsi transisi = Q x S = kedudukan (state) awal, S Q F = kedudukan (state) akhir, F Q S dilambangkan dengan F dilambangkan dengan Setiap otomaton: a. mempunyai tepat satu S b. mempunyai satu F atau lebih Hal 0

16 Otomata Hingga Otomata Hingga Deterministik Otomata Hingga Non Deterministik adalah adalah Otomata yang berada pada state tunggal tertentu setelah membaca sembarang baris input Otomata yang dapat berada di beberapa state tertentu setelah membaca sembarang baris input Gambar 2.. Defenisni Otomata Hingga 2.2 Otomata Hingga Deterministik (Deterministic Finite Automata) Otomata Hingga Deterministik, selanjutnya disingkat DFA, selalu menuju state tunggal tertentu setelah membaca sembarang baris input Contoh 2. Otomata Hingga Deterministik (DFA) a b Contoh a Q b Q 2 a b a b Q 2 Hal

17 0 Q b b Konfigurasi DFA diatas adalah sebagai berikut. Q = { 0,, 2 } ; = {a, b} ; S = 0 ; F = { 2 } a Fungsi Transisi ( 0, a) = 0 ; ( 0, b) = (, a) = ; (, b) = 2 ( 2, a) = ; ( 2, b) = 2 atau Tabel Transisi a b Suatu string x diterima oleh otomata atau berada dalam L(M) jika ( 0, x) berada pada state akhir. Contoh 2.3 Pada otomata berikut, tentukan apakah string abb, dan baba berada dalam L(M). Penyelesaian: a a b 0 b Q b Q 2 a ( 0, abb) = ( 0, bb) = (, b) = 2 Karena 2 adalah state akhir maka abb berada dalam L(M) ( 0, baba) = (, aba) = (, ba) = ( 2, a) = Karena bukan state akhir maka baba tidak berada dalam L(M) Hal 2

18 a a b 0 b Q b Q 2 a 2.3 Otomata Hingga Non-Deterministik (Non-Deterministic Finite Automata) Pada Otomata Hingga Non- Deterministik, selanjutnya disingkat NFA, selalu terdapat 0,, atau lebih busur keluar berlabel simbol input yang sama. Contoh 2.4 Otomata Hingga Non-Deterministik (NFA) a a,b a, b 0 a b a a 0 b a a, b 0 a,b Konfigurasi NFA diatas adalah sebagai berikut. Q = { 0, } ; = {a, b} ; S = 0 ; F = { } Fungsi Transisi Tabel Transisi ( 0, a) = { 0, } a b Hal 3

19 ( 0, b) = { } (, a) = { } (, b) = { } atau 0 {, } { } 0 { } { } Contoh 2.5 b a 0 a a b b 2 a Konfigurasi NFA diatas adalah sebagai berikut. Q = { 0,, 2 } ; = {a, b} ; S = 0 ; F = { } Fungsi Transisi ( 0, a) = {, 2 } ; ( 0, b) = { 0 } (, a) = { } ; (, b) = { 0 } ( 2, a) = { 2 } ; ( 2, b) = { } Tabel Transisi a b 0 2 {, } { } 2 0 { } { } 0 { } { } 2 Hal 4

20 Contoh 2.6 a 0 b a Tabel Transisi a b 0 { } { } { } Reduksi Jumlah State Tujuan dari reduksi state adalah mengurangi Jumlah state tanpa mengurangi kemampuan otomata untuk menerima suatu bahasa. Dua buah state p dan pada DFA dikatakan tidak dapat dibedakan (distinguishable) jika : (, w) F, sedangkan (p, w) F atau (, w) F, sedangkan (p, w) F w atau w F t p w p w Dua buah state p dan pada DFA dikatakan dapat dibedakan (distinguishable) jika : (, w) F, sedangkan (p, w) F w F Hal 5

21 p w r Cara untuk mereduksi jumlah state pada DFA adalah dengan melakukan kombinasi state yang dapat dibedakan (distinguishable). Tahapannya adalah sebagi berikut: Hapus state yang tidak dapat dicapai dari state awal Buat pasangan state (p, ) yang dapat dibedakan dengan cara memasangkan state p F dengan state F. Lanjutkan pencarian state yang dapat dibedakan lainnya dengan cara: Tentukan (p, a) p a dan (, a) a. Jika pasangan state (p a, a ) dapat dibedakan, maka pasangan state (p, ) juga termasuk pasangan state yang dapat dibedakan 4. Sisa dari pasangan state dari no. 2 dan 3 adalah pasangan state yang tidak dapat dibedakan (indistinguishable) dan digabungkan menjadi satu state. Contoh Hal 6

22 Dari otomata dapat dibuat pasangan state: ( 0, 4 ), (, 4 ), ( 2, 4 ), ( 3, 4 ), ( 0, ), ( 0, 2 ), ( 0, 3 ), (, 2 ), (, 3 ), ( 2, 3 ). Semua state bisa dicapai dari state awal. Jadi tidak ada state yang dihapus. 2. Buat pasangan state (p,) yang dapat dibedakan dengan cara memasangkan state p F dengan state F. ( 0, 4 ), (, 4 ), (, 4 ), ( 3, 4 ), ( 0, ), ( 0, 2 ), ( 0, 3 ), (, 2 ), (, 3 ), ( 2, 3 ) x x Pasangan State (, 2 ), (, 3 ), ( 2, 3 ) indistinguishable. Jadi state, 2, 3 dapat digabungkan Hal 7

23 0 3 Diubah menjadi 0 0, 0, Latihan. Gambarkan NFA yang memenuhi: Q = { 0,, 2, 3, 4 } = {0, } ; S = 0 ; F = { 2, 4 } Fungsi Transisi {, } {, } 3 0 { } 2 { } { } 2 2 { } 4 { } { } 4 4 Hal 8

24 2. Lakukan reduksi jumlah state pada DFA berikut , , 4 5 Hal 9

25 BAB 3 EKIVALENSI NFA KE DFA 3.. Tahapan pengubahan NFA ke DFA Sebuah NFA dapat diubah ke DFA tanpa mengurangi kemampuannya menerima suatu bahasa. Berikut adalah sebuah NFA 0 0, 0 Tabel transisi 0 0 {, } 0 {, } 0 Tahapan pengubahan dari NFA ke DFA. Mulai dari state awal Hal 20

26 0, Tabel transisi 0 0 {, } 0 {, } 0 Perhatikan tabel transisi 2. Jika state awal { 0 } memperoleh input o menjadi state { 0, }. Perhatikan, { 0, } mengandung unsur (state akhir). Jadi { 0, } adalah state akhir { 0 } 0 { 0, } 0 0, 0 Tabel transisi Hal 2

27 0 0 {, } 0 {, } 0 3. Jika state awal { 0 } memperoleh input maka menjadi state { } { 0 } 2 { } { 0, } 4. Jika state { } memperoleh input 0 maka menjadi state { 0 } 0 0 { } { 0, } 5. Jika state { } memperoleh input maka menjadi state { 0 } { } 0 Hal 22

28 0 { 0, } 6. Jika state memperoleh input 0 atau maka menjadi state { 0 } { } 0 0 0, { 0, } Latihan Buat DFA yang ekivalen dengan NFA berikut. P 0 2 p r P,r Penyelesaian Tabel transisi p r 0 {, } 2 Hal 23

29 2 { } 2 { } { } p 0 2 r p,r p. Mulai dari state awal State awal mendapat input p menuju state {, 2 } { 0 } p {, 2 } 3. State awal mendapat input r menuju state { 0 } r p {, 2 } Hal 24

30 4. State {, 2 } mendapat input p menuju state { } { 0 } r p p p r {, 2 } { } 5. State {, 2 } mendapat input r menuju state {, 2 } { 0 } r r p p p r {, 2 } { } Hal 25

31 6. State { } mendapat input p menuju state r { 0 } r p p p r {, 2 } p { } 7. State { } mendapat input r menuju state { 2 } r { 0 } r p p p {, 2 } { } r p r { 2 } Hal 26

32 8. State { 2 } mendapat input p menuju state { } r { 0 } r p p p {, 2 } { } r p r p { 2 } 9. State { 2 } mendapat input r menuju state { } r { 0 } r p p p {, 2 } { } r p r p,r { 2 } Hal 27

33 3.2. NFA dengan -move NFA dengan -move (transisi -move) adalah NFA yang mengalami perubahan state tanpa membaca input a b b closure NFA dengan -move -closure adalah himpunan state-state yang dapat dicapai dari suatu state tanpa membaca input. -closure ( 0 ) = himpunan statet-state yang dapat dicapai dari a b b 3 4 Hal 28

34 -closure ( 0 ) = { 0,, 2 } -closure ( ) = {, 2 } -closure ( 2 ) = { 2 } -closure ( 3 ) = { 3 } -closure ( 4 ) = {, 2, 4 } Contoh lain 0 2 a b 3 4 -closure ( 0 ) = { 0,, 3 } -closure ( ) = {, 3 } -closure ( 2 ) = { 2, 4 } -closure ( 3 ) = { 3 } -closure ( 4 ) = { 4 } 3.3. Ekivalensi NFA dengan -move ke NFA tanpa -move Dari sebuah NFA dengan -move dapat diubah menjadi NFA tanpa -move. Langkah-langkah yang harus dilakukan:. Buat tabel transisi NFA dengan -move 2. Tentukan -closure untuk setiap state 3. Carilah fungsi transisi hasil perubahan dari NFA dengan -move ke NFA tanpa -move dengan rumus (state, input) = -closure( ( -closure(state), input)) Hal 29

35 4. Dari hasil no. 3, kita dapat membuat tabel transisi dan diagram transisi dari NFA tanpa -move yang ekivalen dengan NFA dengan -move 5. Tentukan state-state akhir untuk NFA tanpa -move tersebut, yaitu state-state akhir semula ditambah dengan state-state yang closurenya menuju ke salah satu dari state akhir semula. atau secara formal: F = F { ( -closure () F) } Misal semula F = { 0, 3 }, -closure { } ={ 0, 2 }, maka F { 0,, 3 } Contoh 0 a 2 b 3 Tabel transisi a b closure ( 0 ) = { 0, } Hal 30

36 -closure ( ) = { } -closure ( 2 ) = { 2 } -closure ( 3 ) = { 3 } ( 0, a) = -closure ( ( -closure( 0 ), a)) = -closure ( (, a)) = -closure ( ) ( 0, b) = -closure ( ( -closure( 0 ), b)) = -closure ( ({ 0, }, b) = -closure ( 3 ) = { 3 } ( 0, a) = -closure ( ( -closure( 0 ), a)) = -closure ( ({ 0, }, a)) = -closure ( ) ( 0, b) = -closure ( ( -closure( 0 ), b)) = -closure ( ({ 0, }, b) = -closure ( 3 ) = { 3 } ( 0, a) = -closure ( ( -closure( 0 ), a)) = -closure ( ({ 0, }, a)) = -closure ( 2 ) ( 0, b) = -closure ( ( -closure( 0 ), b)) = -closure ( ({ 0, }, b) = -closure ( 3 ) = { 3 } ( 0, a) = -closure ( ( -closure( 0 ), a)) = -closure ( ({ 0, }, a)) = -closure ( 2 ) = { 2 } ( 0, b) = -closure ( ( -closure( 0 ), b)) Hal 3

37 = -closure ( ({ 0, }, b) = -closure ( 3 ) = { 3 } (, a) = -closure ( ( -closure( ), a)) = -closure ( ({ }, a)) = -closure ( 2 ) = { 2 } (, b) = -closure ( ( -closure( ), b)) = -closure ( ({ }, b) = -closure ( 3 ) = { 3 } ( 2, a) = -closure ( ( -closure( 2 ), a)) = -closure ( ({ 2 }, a)) = -closure ( ) = ( 2, b) = -closure ( ( -closure( 2 ), b)) = -closure ( ({ 2 }, b) = -closure ( ) = ( 3, a) = -closure ( ( -closure( 3 ), a)) = -closure ( ({ 3 }, a)) = -closure ( ) = ( 3, b) = -closure ( ( -closure( 3 ), b)) = -closure ( ({ 3 }, b) = -closure ( ) = State akhir pada NFA awal adalah 3 Hal 32

38 Perhatikan tabel closure berikut. Cari 3. Setelah itu lihat state sebelah kiri. Didapat 3. Jadi (State akhir NFA awal state akhir baru) = 3 3 = 3 -closure ( 0 ) = { 0, } -closure ( ) = { } -closure ( 2 ) = { 2 } -closure ( 3 ) = { 3 } a 0 a 2 b b 3 a b Latihan Buat NFA tanpa -move yang ekivalen dengan NFA dengan -move berikut : Hal 33

39 a 0 b 2 b BAB 4 PENGGABUNGAN DAN KONKATENASI 4.. Penggabungan (union) Misal terdapat dua buah otomata M dan M 2 0 A0 A Mesin M B0 B 0 Mesin M 2 Bila diketahui bahasa L(M ) adalah bahasa yang diterima M dan L(M 2 ) adalah bahasa yang diterima M 2, maka proses penggabungan M dan M 2 akan menghasilkan M 3 yang menerima bahasa L(M 3 ) = L(M ) L(M 2 ) Langkah-langkah untuk membuat mesin M 3 adalah sebagai berikut:. Tentukan state awal M 3. Hal 34

40 S 2. Hubungkan state awal M 3 pada no. ke state awal M dan M 2 dengan menggunakan transisi. 0 A0 A S B0 B 0 3. Tentukan state akhir untuk M 3. 0 A0 A S f B0 B Hal 35

41 0 4. Hubungkan state akhir M dan M 2 ke state akhir M 3 pada no. 3 dengan menggunakan transisi. 0 A0 A f S B0 B 0 5. Ubah state final M dan M 2 menjadi state biasa (buka final) 0 A0 A S f Hal 36

42 B0 B Mesin M Konkatenasi Misal terdapat dua buah otomata M dan M 2. 0 A0 A Mesin M B0 B 0 Mesin M 2 Bila diketahui bahasa L(M ) adalah bahasa yang diterima M dan L(M 2 ) adalah bahasa yang diterima M 2, maka proses konkatenasi M dan M 2 akan menghasilkan M 4 yang menerima bahasa L(M 3 ) = L(M ) L(M 2 ) Langkah-langkah untuk membuat mesin M 4 adalah sebagai berikut:. State awal M menjadi state awal M 4 0 A0 Hal 37

43 A Mesin M 0 A0 Mesin M A. State-state akhir M 2 menjadi state akhir M 4. Mesin M 2 B0 B 0 0 S A Mesin M 2 0 S A B0 B 0 Hal 38

44 2. Hubungkan state-state akhir M dengan state awal M 2 menggunakan transisi. 0 S A B0 0 B 0 S A B0 B Mesin4 0 Latihan Diketahui bahasa L(M ) adalah bahasa yang diterima mesin M dan L(M 2 ) adalah bahasa yang diterima mesin M 2. Mesin M dan M 2 ditunjukkan pada gambar berikut. L(M 3 ) = L(M ) + L(M 2 ) 0 A c 0, 0 Mesin 0 B D E Hal 39

45 0 Mesin 2 Jika L(M 3 ) = L(M ) + L(M 2 ) dan L(M 4 ) = L(M ) L(M 2 ), gambarkan mesin M 3 dan M 4 0 A c 0, B 0 0 E B D E 0 0 S -closure ( ) = {,, } S s A B A A C -closure ( ) = { } A A B E D -closure ( ) = { } B B Hal 40

46 C A A -closure ( ) = {, C C f } D D B -closure ( ) = { } D D E B D -closure ( ) = {, E E f } f ( S, 0) = { A, E, f } ( S, ) = { C, D, f } ( A, 0) = { A } ( A, ) = { C, f } ( B, 0) = { E, f } ( B, ) = { D } ( C, 0) = { A } ( C, ) = { A } ( D, 0) = { D } ( D, ) = { B } ( E, 0) = { B } ( E, ) = { D } ( f, 0) = ( f, ) = 0 S A {,, A E f } { C, D, } { } {, } A C f f Hal 4

47 B C D E {, E f } { { } { } A A { } { } D B { } { } B D D } f 0 AEf AB 0 0 S 0 Ef 0 AEf B B 0 BCf AB 0 E Hal 42

48 Cf 0 0, A 0, C 0 S AEf CDf AEf AB CDf CDf AD AB AB AEf CDf BCf AEf AD AD AD BCf AEf CDf Hal 43

49 AB BCf - AD S AEf CDf AB BCf 0 0 AEf CBf 0 SAB 0 CDf 0 AD Cara langsung L(M 3 ) = L(M ) + L(M 2 ) 0 A 0, C 0 Hal 44

50 Mesin M 0 B D 0 0 E 0 Mesin M 2 Hal 45

51 BAB 5 EKPRESI REGULER E Ekspresi reguler (disingkat ER) adalah pola (pattern) suatu untai dari suatu bahasa. Notasi ekspresi reguler yang akan digunakan adalah:. * Karakter asterisk menunjukkan simbol dari suatu untai dapat tidak muncul atau muncul sebanyak n kali Karakter plus pada posisi superskrip menunjukkan bahwa simbol dari suatu untai dapat muncul satu kali atau muncul sebanyak n kali. 3. Berfungsi sama seperti +. Maknanya sama seperti kata atau 4.. Karakter titik berarti konkatenasi. Maknanya sama seperti kata dan. Lambang titik boleh dihilangkan. Jadi a.b umunya ditulis ab Contoh:. ER: a * Untai yang bisa dibangkitkan:, a, aa, aaa, 2. ER: ab * Untai yang bisa dibangkitkan: a, ab, abb, abbb, 3. ER: a * b * = a * + b * Untai yang bisa dibangkitkan:, a, b, aa, bb, aaa, bbb, 4. ER: (a b) * = (a+b) * Untai yang bisa dibangkitkan:, a, b, aa, ab, ba, bb, aaa, aab, aba, abb, baa, bab, bba, bbb, Hal 46

52 5. ER: a + Himpunan untai yang bisa dibangkitkan: {a, aa, aaa, } 6. ER: ab + Himpunan untai yang bisa dibangkitkan: ab, abb, abbb, 7. ER: (a b) + = (a+b) + Himpunan untai yang bisa dibangkitkan: a, b, aa, ab, ba, bb, aaa, aab, aba, abb, baa, bab, bba, bbb, Berdasarkan transisi pada gambar, untuk berada pada state awal diperlukan input:, a, aa, aaa,. Sehingga ER = a * Berdasarkan transisi pada gambar, untuk berada pada state awal diperlukan input:, a, b, aa, ab, ba, bb, aaa, aab, aba, abb, baa, bab, bba, bbb,. sehingga ER = (a+b) * ER untuk bahasa yang diterima oleh otomaton diatas adalah 0 * Hal 47

53 ER untuk bahasa yang diterima oleh otomaton pada gambar adalah 0 * * 0 Himpunan untai yang dibangkitkan: {, 0, 00, 000, } = {}{, 0, 00, 000, } Sehingga ER : (0) * Hal 48

54 BAB 6 ATURAN PRODUKSI 6.. Aturan Produksi Tata Bahasa Reguler Otomata hingga menspesifikasikan sebuah bahasa sebagai himpunan semua untai yang menggerak- kannya dari state awal ke state akhir atau ke himpunan state akhir. Otomata berikut menerima ekspresi reguler a(a * + b * )b Selain dengan ekspresi reguler, kita dapat mengkonstruksi aturanaturan produksi untuk suatu tata bahasa reguler. Aturan produksi untuk bahasa reguler, dengan ketentuan: adalah sebuah simbol variabel/non-terminal maksimal memiliki sebuah variabel. Jika ada selalu terletak pada posisi paling kanan. Simbol terminal dilambangkan dengan huruf kecil. Simbol variabel dilambangkan dengan huruf besar Tata bahasa (grammar) didefinisikan dengan 4-tupel atau G = {V, T, P, S}. Hal 49

55 V = Himpunan simbol variabel/non-terminal T = Himpunan simbol terminal P = Kumpulan aturan produksi S = Simbol awal 6.2. Mengkonstruksi aturan produksi Otomata Hingga S ae E A E B A aa A b B bb B b S ae E A B A aa b B bb b Tata bahasa reguler: V = {S, E, A, B} Hal 50

56 T = { a, b} P = { S ae, E A B, A aa b, B bb b} S = S Contoh 6. V = { S, A, B, C, D, E, F} T = { a, b} Karena state E dan F tidak mempunyai transisi keluar dan keduanya bukan state akhir, maka E dan F diabaikan. Hal 5

57 Aturan produksi S aa bb A bc B bd C as D bs Contoh 6.2 Tentukan aturan produksi untuk bahasa yang diterima oleh otomata berikut. Dari 3 tidak ada transisi keluar dan bukan state akhir, maka 3 diabaikan. Jika diidentikkan: S untuk 0, A untuk, dan B untuk 2, maka: V = { S, A, B, C} Hal 52

58 T = { a, b} Aturan produksi S as aa A bb B ba 6.3. Otomata Hingga Untuk Suatu Tata Bahasa Reguler Selain membuat suatu aturan produksi dari sebuah Otomata, kita juga bisa membuat otomata untuk suatu tata bahasa reguler. Contoh 6.3 Gambarkan sebuah otomata hingga dari aturan produksi berikut! S as ba b A cb B as Penyelesaian: Identikkan : S dengan 0 A dengan B dengan 2 Hal 53

59 Contoh 6.4 Gambarkan sebuah otomata hingga dari aturan produksi berikut! S ab ba A abas B babs Penyelesaian: Identikkan : S dengan 0 A dengan B dengan 2 Latihan Hal 54

60 . Tentukan tata bahasa reguler untuk bahasa yang diterima oleh otomata berikut. 2. Buat otomata hingga dari aturan produksi berikut. S 0A A 0A BAB 7 OTOMATA HINGGA DENGAN OUTPUT 7.. Pendahuluan Keterbatasan Otomata Hingga yang telah kita pelajari adalah hanya terbatas pada keputusan menerima atau menolak suatu bahasa. Otomata hingga disebut juga sebagai accepter. Sedangkan otomata hingga yang mempunyai keluaran (output) disebut juga transducer. Otomata hingga yang mempunyai output terdiri dari dua jenis, yaitu mesin Moore dan Mesin Mealy. Mesin Moore mempunyai keluaran pada state. Sedangan mesin Mealy mempunyai keluaran pada transisi. Hal 55

61 7.2. Mesin Moore Mesin Moore didefinisikan dalam 6-tupel, yaitu M = (Q,,, S,, ). Q = himpunan state = himpunan simbol input = fungsi transisi S = state awal, S Q = himpunan keluaran (output) = fungsi keluaran (output) setiap state. Komponen state akhir dihilangkan, karena keputusan dimunculkan sebagai output. Contoh 7. Berikut adalah mesin Moore yang menghitung sisa pembagian bila nga n bul at positif dengan 3. Q = { 0,, 2 } = {0, } S = 0 = { 0,, 2} ( 0 ) = 0 ( ) = ( 2 ) = 2 ( 0,0) = 0 ( 0,) = Hal 56

62 (,0) = 2 (,) = 0 ( 2,0) = ( 2,) = Mesin Mealy Pada mesin Mealy output yang dihasilkan berasosiasi dengan transisi. Mesin Mealy didefinisikan sebagai mesin 6-tupel M = (Q,,, S,, ) Dimana : Q = himpunan state = himpunan simbol input = fungsi transisi S = state awal = himpunan output = fungsi output untuk setiap transisi Mesin Mealy tidak mempunyai state final, karena keputusan sudah dimunculkan sebagai output Contoh 7.2 Berikut adalah mesin Mealy yang mengeluarkan output menerima atau menolak suatu masukan. Mesin akan mengeluarkan output menerima (Y) bila menerima untai yang berakhiran 00 atau. Q = { 0,, 2 } = {0, } S = 0 = { Y, T} ( 0,0) = ( 0,) = 2 (,0) = Hal 57

63 (,) = 2 ( 2,0) = ( 2,) = 2 ( 0, 0) = T ( 0, ) = T (, 0) = Y (, ) = T ( 2 0) = T ( 2, ) = Y Ekivalensi Mesin Mealy ke mesin Moore Hal 58

64 Perhatikan mesin Mealy berikut. Jumlah state = 3 Jumlah output = 2 = {0, } S = 0 = { Y, T} Hal 59

65 Jadi himpunan state sementara yang perlu disiapkan untuk mesin Moore adalah 2 x 3 = 6 state, yaitu: Q = { 0 /T, 0 /Y, /T, /Y, 2 /T, 2 /Y}. Hal 60

66 Perhatikan! Tidak ada transisi yang masuk ke state 0 Y, sehingga state tersebut beserta transisi yang keluar dapat dihapus. Ekivalensi Mesin Moore ke mesin Mealy Hal 6

67 Perhatikan mesin Moore. Latihan. Gambar mesin Moore dengan data berikut: = {a, b} = { 0, } Q = { 0,, 2, 3 } a b output Hal 62

68 Konversikan mesin Mealy berikut menjadi mesin Moore: = {a, b} ; = { 0, } ; Q = { 0,, 2, 3, 4 } BAB 8 POHON PENURUNAN 8. Tata Bahasa Bebas Konteks (Context Free Grammar) Tata bahasa bebas konteks, selanjutnya disingkat CFG, tidak mempunyai batasan pada hasil produksinya. Pada aturan produksi yang dibatasi hanya ruas kiri saja atau yang merupakan sebuah simbol variabel. Contoh aturan produksi CFG, B CDeFg Hal 63

69 D BcDe Tata bahasa bebas konteks digunakan sebagai cara untuk menunjukkan bagaimana menghasilkan untai-untai dalam sebuah bahasa. Pada saat menurunkan untai, simbol-simbol variabel akan mewakili bagianbagian yang belum diturunkan dari untai tersebut. Bahasa bebas konteks menjadi dasar dalam membentuk suatu parser / proses analisis sintaksis. 8.2 Parsing Berikut sebuah pohon (tree) yang menguraikan kalimat The uick brown fox jumped over the lazy dog 8.3 Pohon Penurunan ( derivation tree / parse tree) Pohon penurunan berguna untuk memperoleh untai dengan cara menurunkan variabel-variabel menjadi simbol-simbol terminal. Contoh 8. Misal terdapat tata bahasa bebas konteks (simbol awal S) dengan aturan produksi: S AB A aa a B bb b Gambarkan pohon penurunan untuk memperoleh untai aabbb Hal 64

70 8.4 Proses penurunan ( parsing) Proses penurunan dapat dilakukan dengan cara:. Penurunan terkiri (leftmost derivation) Penurunan terkiri dilakukan dengan menurunkan variabel terkiri terlebih dahulu. 2. Penurunan terkanan (rightmost derivation) Penurunan terkanan dilakukan dengan menurunkan variabel terkanan terlebih dahulu. Contoh 8.2 Dari aturan produksi: S aas a A SbA ba, gambarkan pohon penurunan terkiri dan terkanan untuk mendapatkan untai aabbaa Penurunan terkiri Penurunan terkanan Hal 65

71 Proses penurunan juga dapat dilakukan dengan cara: S aas asbas aabas aabbas aabbaa Atau: S aas aaa asbaa asbbaa aabbaa 8.5 Ambiguitas Jika dari aturan produksi tata bahasa bebas konteks terdapat lebih dari satu cara membuat pohon penurunan untuk memperoleh suatu untai, maka dikatakan bahasa bebas konteks tersebut ambigu. Contoh 8.3 Buktikan bahwa tata bahasa bebas konteks berikut ambigu, S SbS ScS a Penyelesaian: Misal kita akan menurunkan untai abaca Penurunan terkiri Penurunan terkanan Hal 66

72 Proses penurunan juga dapat dilakukan dengan cara: S SbS abs abscs abacs abaca Atau: S ScS Sca SbSca Sbaca abaca Karena bentuk pohon penurunan sebelah kiri berbeda dengan pohon penurunan sebelah kanan, maka dikatakan bahwa tata bahasa bebas konteks S SbS ScS a ambigu Latihan. Dari aturan produksi: S as bs a b, gambarkan pohon penurunan untuk mendapatkan untai abbab. 2. Dari aturan produksi: S ab ba A a as baa B b bs abb, gambarkan pohon penurunan untuk mendapatkan untai aabbabb BAB 9 PENYEDERHANAAN TATA BAHASA BEBAS KONTEKS Hal 67

73 9. Tujuan penyederhanaan. Menghilangkan produksi useless (tidak berguna) 2. Menghilangkan produksi unit 3. Menghilangkan produksi 9.2 Produksi useless Produksi useless didefinisikan sebagai produksi yang memuat simbol variabel yang tidak memiliki penurunan yang akan menghasilkan terminalterminal. Produksi ini tidak berguna karena bila diturunkan tidak akan pernah selesai (masih ada variabel yang tersisa). Selain itu, variabel yang memiliki penurunan berupa terminal atau terminal- terminal, tapi tidak dapat dicapai dari S, maka variabel tersebut juga termasuk useless. Contoh 9. Tata bahasa bebas konteks S asa Abd Bde A Ada B BBB a Perhatikan bahwa:. Variabel A tidak memiliki penurunan yang menuju terminal, sehingga bisa dihilangkan. 2. Konsekuensi dari no., aturan produksi S Abd tidak memiliki penurunan, Sehingga tata bahasa bebas konteks disederhanakan menjadi: S asa Bde B BBB a Contoh 9.2 Hal 68

74 Tata bahasa bebas konteks S Aa B A ab D B b E C bb E aea Perhatikan bahwa:. Aturan produksi A D, simbol variabel D tidak memiliki penurunan 2. Aturan produksi C bb tidak akan dapat dicapai dari S 3. Aturan produksi E aea tidak akan menuju terminal 4. Konsekuensi dari no. 3, aturan produksi B E tidak memiliki penurunan Aturan produksi yang useless A D C bb E aea B E Maka tata bahasa bebas Disederhanakan menjadi menjadi S Aa B A ab D B b E C bb E aea S Aa B A ab B b Contoh 9.3 Hal 69

75 Tata bahasa bebas konteks S aab ceb A dbe eec B ff C ae D h Tata bahasa bebas konteks menjadi S aab ceb A dbe eec B ff C ae D h 9.3 Produksi unit Produksi unit adalah aturan produksi yang menghasilkan satu variabel saja. Misal A B. Keberadaan aturan produksi ini memperpanjang aturan produksi secara keseluruhan. Untuk mempersingkat aturan produksi, kita dapat melakukan penyederhanaan. Contoh 0.5 Tata bahasa bebas konteks S Sb S C C D C ef D dd Langkah penyederhanaan Hal 70

76 C D => C dd S C => S dd ef Sehingga Tata bahasa bebas konteks menjadi: S Sb dd ef C dd ef D dd Contoh 9.4 Tata bahasa bebas konteks S A S Aa A B B C B b C D C ab D b Penggantian yang dilakukan: C D => C b B C => B b. Karena sudah ada B b, maka cukup ditulis B ab A B => A ab b S A => S ab b Sehingga Tata bahasa bebas konteks S A S Aa A B B C B b C D C ab Hal 7

77 D b Tata bahasa bebas konteks menjadi: S ab b Aa A ab b B ab b C b ab D b 9.4 Produksi Produksi adalah aturan produksi dalam bentuk atau bisa dianggap sebagai produksi kosong. Penghilangan produksi dilakukan dengan melakukan penggantian aturan produksi yang memuat variabel yang bisa menuju produksi, atau bisa disebut nullable. Prinsip penggantiannya bisa dilihat kasus berikut S bcad A Pada aturan produksi diatas, variabel A nullable serta A satusatunya produksi dari A, sehingga variabel A bisa ditiadakan, dan hasil penyederhanaannya menjadi S bcd Untuk kasus lainnya, perhatikan aturan produksi berikut. S bcad A bd Pada kasus diatas, A nullable, tapi A bukan satu-satunya produksi dari A, sehingga hasil penyederhanaan menjadi: S bcad bcd A bd Untuk kasus lainnya, perhatikan aturan produksi berikut. S bcad A bd Hal 72

78 Pada kasus diatas, A nullable, tapi A bukan satu-satunya produksi dari A, sehingga hasil penyederhanaan menjadi: S bcad bcd A bd Contoh 9.5 Tata bahasa bebas konteks S da Bd A bc A B c Variabel nullable adalah A. Tapi A bukan satu-satunya penurunan dari A, karena masih ada A bc. Maka ganti S da => S dbc d, sehingga tata bahasa bebas konteks menjadi: S dbc d Bd A bc B c Contoh 9.6 Tata bahasa bebas konteks S AaCD A CD AB B b C d D Variabel nullable adalah B, C, D. Perhatikan produksi A CD. Karena CD nullable, maka A juga nullable. Karena D hanya memiliki penurunan D, maka produksi tersebut dapat dihilangkan. Hal 73

79 Contoh 9.7 Tata bahasa bebas konteks S AaCD A CD AB B b C d D Dapat disederhanakan menjadi: S AaC Aa a ac A C AB A B B b C d Aturan produksi S tidak boleh dihilangkan Contoh 9.8 Tata bahasa bebas konteks S AB A abb aca B ba BB C Langkah pertama penyederhanaan didapat, S AB A abb aca B ba BB Selanjutnya, didapat S AB A B A abb ab aca B ba b B BB Hal 74

80 9.5 Menghilangan Produksi useless, unit, dan Produksi useless, unit, dan harus dihilangkan secara bersamaan dari tata bahasa bebas konteks. Urutan penghilangan Produksi useless, unit, dan adalah seperti gambar berikut Contoh 9.9 Tata bahasa bebas konteks S AA C bd A Bb B AB d C de Pertama-tama lakukan penghilangan produksi S AA A C bd A Bb B B AB d C de Hal 75

81 Latihan. Hilangkan aturan produksi useless dari aturan produksi: S AB CA B BC AB A a C ab b Penyelesaian : S AB CA S CA B BC AB A a A a C b C ab b 2. Hilangkan aturan produksi unit dari aturan produksi: S Aa B B A bb A a bc B Penyelesaian : A B => A A bb => A bb B A => B a bc bb S B => S Aa a bc bb Sehingga S Aa a bc bb B a bc bb A a bc bb 3. Hilangkan aturan produksi dari aturan produksi: S AaB aab A B bba Penyelesaian Hal 76

82 S AaB aab A B bba S ab aab B bb S a ab aab aa B bb 4. Transformasikan tata bahasa bebas konteks berikut ke dalam bentuk Normal Chomsky: S asb ab Penyelesaian S asb => S P P 2 S ab => S P P 3 P a P 2 SP 3 P 3 b 5. Transformasikan tata bahasa bebas konteks berikut ke dlam bentuk Normal Chomsky: S asaa A A aba b Latihan Hilangkan variabel nullable dari tata bahasa bebas konteks berikut!. S AaB A ba B ab bb 2. S ABaC A BC B b C D Hal 77

83 D d 3. S ABC A aa B bb C Hilangkan produksi unit dari tata bahasa bebas konteks berikut! 4. S aa A a B B A bb 6. S AB A a B C b C D D E E a Hilangkan produksi useless dari tata bahasa bebas konteks berikut! 7. S AB a A aa B b S as A C A a B aa C acb Hal 78

84 BAB 0 BENTUK NORMAL CHOMSKY 0. Pengertian Tata bahasa bebeas konteks dapat dibuat menjadi bentuk normal Chomsky dengan syarat tidak memiliki:. Produksi useless 2. Produksi unit 3. Produksi Bentuk normal Chomsky mempunyai ruas kanan sebuah terminal atau dua variabel, seperti: A BC A b B a C BA d 0.2 Pembentukan bentuk normal Chomsky Langkah-langkah pembentukan bentuk normal Chomsky:. Biarkan aturan produksi yang sudah dalam bentuk normal Chomsky 2. Lakukan penggantian aturan produksi yang mempunyai ruas kanan berupa terminal yang panjangnya > 3. Lakukan penggantian aturan produksi yang mempunyai ruas kanan berupa variabel yang panjangnya > 2 4. Penggantian ii) dan iii) dapat dilakukan berkali-kali sampai aturan prosuksi mencapai bentuk normal Chomsky. 5. Selama melakukan penggantian, kemungkinan akan diperoleh aturan produksi dan variabel baru. Hal 79

85 Proses pembentukan bentuk normal Chomsky Contoh 0. Berikut adalah tata bahasa bebas konteks yang sudah disederhanakan. S ba ab A baa as a B abb bs b Dari aturan produksi diatas, aturan produksi yang sudah dalam bentuk normal Chomsky (CNF) adalah: A a B b Aturan produksi yang belum dalam CNF adalah: S ba S P A S ab S P 2 B A baa A P AA A P P 3 A as A P 2 S B abb B P 2 BB B P 2 P 4 B bs B P S Hal 80

86 Terbentuk aturan produksi baru: P b P 2 a P 3 AA P 4 BB Hasil ahir aturan produksi dalam CNF adalah: A a B b S P A S P 2 B A P P 3 A P 2 S B P 2 P 4 B P S P b P 2 a P 3 AA P 4 BB Contoh 0.2 Berikut adalah tata bahasa bebas konteks yang sudah disederhanakan. S ab CA A a bc B BC Ab C ab b Dari aturan produksi diatas, aturan produksi yang sudah dalam bentuk normal Chomsky (CNF) adalah: S CA A a Hal 8

87 B BC C b Aturan produksi yang belum dalam CNF adalah: S ab S P B A bc A P 2 P 3 B Ab B AP 2 C ab C P B Terbentu aturan produksi baru: P a P 2 b P 3 c Hasil ahir aturan produksi dalam CNF adalah: S CA A a B BC C b S P B A P 2 P 3 B AP 2 C P B P a P 2 b P 3 c Contoh 0.3 Tata bahasa bebas konteks S aab ch CD A dbe eec B ff DD Hal 82

88 C ADB as D i E jd Aturan produksi yang sudah dalam bentuk CNF adalah: S CD B DD D i Penggantian aturan produksi: S aab S P P 2 S ch S P 3 P 4 A dbe A P 5 P 6 A eec A P 8 P 9 B ff B P 0 P 0 C ADB C AP C as C P S E jd E P 2 D Aturan produksi baru: P a P 2 AB P 3 c P 4 h P 5 d P 6 P 7 E P 7 b P 8 e P 9 EC P 0 f P DB P 2 j Hal 83

89 Bentuk Normal Chomsky: S CD B DD D i S P P 2 S P 3 P 4 A P 5 P 6 A P 8 P 9 B P 0 P 0 C AP C P S E P 2 D 0.3 Algoritma CYK Algotima CYK diciptakan oleh J. Cocke, D.H.Younger, dan T. Kasami. Syarat untuk menggunakan algoritma ini adalah tata bahasa harus sudah dalam bentuk Normal Chomsky. Algoritma CYK begin. for i := to n do 2. V i := {A A a aturan produksi dimana simbol ke i adalah a}; 3. for j := 2 to n do 4. for i := to (n j + ) do begin V ij := ; for k:= to (j-) do V ij := V ij { A A BC adalah suatu produksi, dimana B di V ik dan C di V i+k, j-k } end Hal 84

90 end Penjelasan:. n adalah panjang untai yang akan diperiksa, misal untai baaba, n = baaba = 5 2. i menyatakan kolom ke 3. j menyatakan baris ke. 4. Pernyataan no. dan 2 untuk mengisi tabel baris pertama kolom ke ( n) 5. Pernyataan no 3 iterasi dari baris ke 2 sampai n 6. Pernyataan no. 4 iterasi untuk mengisi kolom sampai (n baris +) pada suatu baris 7. Pernyataan no 5 inisialisasi V ij dengan 8. Pernyataan no. 6 dan 7 iterasi untuk memeriksa mana saja yang menjadi anggota V ij. Contoh 0.4 Diketahui tata bahasa bebas konteks: S AB BC A BA a B CC b C AB a Periksa, apakah untai baaba termasuk ke dalam bahasa tersebut. Penyelesaian: Syarat agar sebuah untai termasuk ke dalam tata bahasa tertentu adalah V n harus memuat simbol awal i ( 5) j 5) Hal 85

91 b a a b a i j V V 2 V 3 V 4 V 5 2 V 2 V 22 V 32 V 42 3 V 3 V 23 V 33 4 V 4 V 24 5 V 5 Didapat hasilnya seperti berikut i ( 5) j 5) b a a b a i j B A, C A, C B A, C 2 S, A B S, C S,A 3 B B 4 S, A, C 5 S, A, C Hal 86

92 Latihan. Transformasikan tata bahasa bebas konteks berikut kedalam CNF. S asaa A A aba b 2. Gunakan algoritma CYK untuk memeriksa apakah untai aabab termasuk dalam tata bahasa bebas konteks berikut. S AB BC A BA a B CC b C AB a Hal 87

93 BAB PENGHILANGAN REKURSIF KIRI. Aturan Produksi Rekursif Aturan produksi yang rekursif adalah aturan produksi yang hasil produksinya (ruas kanan) mengandung variabel yang sama dengan ruas kiri. Aturan produksi berikut adalah aturan produksi yang rekursif, S ds A Ab B adb Perhatikan aturan produksi diatas! Setiap hasil produksi (ruas kanan) mengandung variabel yang sama dengan ruas kiri. Aturan produksi yang rekursif dibagi menjadi dua, yaitu rekursif kiri dan rekursif kanan. Aturan produksi dikatakan rekursif kiri jika pada awal hasil produksi mengandung variabel yang sama dengan ruas kiri. Bentuk umum aturan produksi rekursif kiri : A A ; = (V T)* Sebagai contoh: S Sa A Ab B Bad Aturan produksi dikatakan rekursif kanan jika pada akhir hasil produksi mengandung variabel yang sama dengan ruas kiri. Bentuk umum aturan produksi rekursif kanan : A A ; = (V T)* Sebagai contoh: S as A bda B ab Hal 88

94 Produksi yang rekursif kanan menyebabkan pohon penurunan tumbuh ke kanan, sedangkan produksi yang rekursif kiri menyebabkan pohon penurunan tumbuh ke kiri. Sebagai contoh: S aac A Ab Gambar 2.. Pohon penurunan tumbuh ke kiri Dalam banyak penerapan tata bahasa, rekursif kiri tak diinginkan karena mengakibatkan penurunan yang menghasilkan loop, sehingga kita perlu menghilangkan rekursif kiri dari aturan produksi. Hal 89

95 .2 Tahapan Penghilangan Rekursif Kiri Langkah-langkah penghilangan penghilangan rekursif kiri. i) Pisahkan aturan produksi yang rekursif kiri dengan yang tidak rekursif kiri. Sebagai contoh: Aturan produksi yang rekursif kiri, A A A 2 A 3 A n Aturan produksi yang bukan rekursif kiri, A 2 3 m ii) Tentukan simbol-simbol, 2, 3,, n dan, 2, 3,, m dari setiap aturan produksi yang memiliki simbol ruas kiri yang sama. iii) Lakukan penggantian aturan produksi yang rekursif kiri menjadi sebagai berikut: A Z 2 Z 3 Z m Z Z 2 3 n Z Z 2 Z 3 Z n Z Hal 90

96 Contoh. Hilangkan rekursif kiri dari aturan produksi berikut! S Sa aac c A Ab ba Penyelesaian: Aturan produksi rekursif kiri, S Sa = a Aturan produksi rekursif kiri, A Ab = b Aturan produksi tidak rekursif kiri, S aac c = aac ; 2 = c ; 3 = Aturan produksi tidak rekursif kiri, A ba = ba Pergantian aturan produksi rekursif kiri: S Sa digantikan oleh: S aacz cz Z Z a Z az Pergantian aturan produksi rekursif kiri: A Ab digantikan oleh: A baz 2 Z 2 b Z 2 bz 2 Hasil akhir setelah penghilangan rekursif kiri adalah: S aac c S aacz cz Z A ba A baz 2 Z a Z az Z 2 b Hal 9

97 Z 2 bz 2 Contoh.2 Hilangkan rekursif kiri dari aturan produksi berikut! S Sab asc dd ff Sbd Penyelesaian: Aturan produksi tidak rekursif kiri: S asc dd ff Penghilangan rekursif kiri dari aturan produksi: S Sab asc dd ff Sbd S Sab Sbd Rekursif kiri S asc dd ff Tidak rekursif kiri = ab ; = bd = asc ; = dd ; = ff S ascz dd Z ff Z asc dd ff Z ab bd Z abz bdz Contoh.3 Hilangkan rekursif kiri dari aturan produksi berikut! S Sab Sb ca A Aa a bd Penyelesaian: Aturan produksi tidak rekursif kiri, S ca A a bd Hal 92

98 Penghilangan rekursif kiri dari aturan produksi: S Sab Sb ca Rekursif kiri Tidak rekursif kiri S Sab Sb S ca = ab ; = b = ca 2 S caz ca Z ab b Z abz bz Penghilangan rekursif kiri dari aturan produksi: A Aa a bd Rekursif kiri Tidak rekursif kiri A Aa A a bd = a = a ; = bd 2 A az 2 bdz 2 a bd Z 2 a Z 2 az 2 Hasil akhir setelah penghilangan rekursif kiri adalah: S caz ca A az 2 bdz 2 a bd Z abz bz ab b Z 2 az 2 a Hal 93

99 Latihan Lakukan penghilangan rekursif kiri pada tata bahasa bebas konteks berikut!. A Aa abc 2. A Aa Ab cd B BAa A c Hal 94

100 BAB 2 BENTUK NORMAL GREIBACH 2. Pengertian bentuk normal Greibach Tata bahasa bebas konteks dikatakan dalam bentuk normal Greibach (GNF) jika setiap aturan produksinya mempunyai bentuk, A a Dengan : a adalah simbol terminal tunggal, a T adalah rangkaian simbol variabel (V*) Dengan kata lain, suatu tata bahasa bebas konteks mempunyai bentuk normal Greibach bila hasil produksinya (ruas kanan) diawali dengan satu terminal dan dapat diikuti dengan rangkaian simbol variabel. Sebagai contoh, berikut adalah tata bahasa bebas konteks dalam bentuk normal Greibach: S a aab A ab B cs Suatu tata bahasa bebas konteks dapat dibentuk menjadi bentuk normal Greibach jika: a) Sudah dalam bentuk normal Chomsky b) Tidak bersifat rekursif kiri c) Tidak menghasilkan Cara-cara untuk memebentuk normal Greibach: a) Substitusi b) Perkalian matriks 2.2 Pembentukan Bentuk normal Greibach dengan substitusi Langkah-langkah yang harus ditempuh:. Tentukan urutan simbol-simbol variabel yang ada dalam tata bahasa. Misalnya A, A 2,, A m Hal 95

101 2. Berdasarkan urutan simbol yang ditetapkan pada langkah, seluruh aturan produksi yang ruas kanannya diawali dengan simbol variabel dapat ditulis dalam bentuk, A h A i h i (rekursif kiri sudah dihilangkan), bisa berupa simbol variabelvariabel. a) Jika h < i, aturan produksi ini sudah benar (tidak perlu diubah) b) Jika h > i, aturan produksi belum benar. Lakukan substitusi berulangulang terhadap A i (ganti A i pada produksi ini dengan ruas kanan produksi dari variabel A i ) sehingga suatu saat diperoleh produksi dalam bentuk, A h A p Nilai h p Jika : i) h = p, lakukan penghilangan rekursif kiri ii) h < p, aturan produksi sudah benar 3. Jika terjadi penghilangan rekursif kiri pada langkah 2b, sejumlah simbol variabel baru yang muncul dari operasi ini dapat disisipkan pada urutan variabel semula di mana saja asalkan ditempatkan tidak sebelum A h (di kiri) 4. Setelah langkah 2 dan 3 dikerjakan, maka aturan-aturan produksi yang ruas kanannya dimulai simbol variabel sudah berada dalam urutan yang benar. A x A y Nilai x < y Produksi produksi yang lain ada dalam bentuk, A x a B x B x adalah simbol variabel baru yang muncul sebagai akibat dari operasi penghilangan rekursif kiri. 5. Bentuk normal Greibach didapat dengan cara melakukan substitusi mundur mulai dari variabel A m, A m, A m 2,. Dengan cara ini aturan Hal 96

TEORI BAHASA DAN AUTOMATA

TEORI BAHASA DAN AUTOMATA MODUL X TEORI BAHASA DAN AUTOMATA Tujuan : Mahasiswa memahami tentang tata bahasa bebas konteks dan membangun pohon penurunan tata bahasa bebas konteks Materi : Pohon Derivatif Tata Bahasa Bebas Konteks

Lebih terperinci

Teknik Kompiler 7. oleh: antonius rachmat c, s.kom

Teknik Kompiler 7. oleh: antonius rachmat c, s.kom Teknik Kompiler 7 oleh: antonius rachmat c, s.kom Transformasi TBBK Dimaksudkan untuk memperoleh TBBK yang memenuhi kriteria-kriteria tertentu yang lebih efisien. Transformasi boleh dilakukan asalkan tidak

Lebih terperinci

TEORI BAHASA DAN OTOMATA [TBO]

TEORI BAHASA DAN OTOMATA [TBO] TEORI BAHASA DAN OTOMATA [TBO] Tata Bahasa Bebas Konteks Bila pada tata bahasa regular terdapat pembatasan pada ruas kanan atau hasil produksinya, maka pada tata bahasa bebas konteks/ context free grammar,

Lebih terperinci

TEORI BAHASA DAN OTOMATA [TBO]

TEORI BAHASA DAN OTOMATA [TBO] TEORI BAHASA DAN OTOMATA [TBO] Tata Bahasa Bebas Konteks Bila pada tata bahasa regular terdapat pembatasan pada ruas kanan atau hasil produksinya, maka pada tata bahasa bebas konteks/ context free grammar,

Lebih terperinci

POHON PENURUNAN Context Free Grammar

POHON PENURUNAN Context Free Grammar POHON PENURUNAN Context Free Grammar Bila pada tata bahasa regular terdapat pembatasan pada ruas kanan atau hasil produksinya, maka pada tata bahasa bebas konteks/ context free grammar, selanjutnya disebut

Lebih terperinci

TATA BAHASA BEBAS KONTEKS (CONTEXT FREE GRAMMAR)

TATA BAHASA BEBAS KONTEKS (CONTEXT FREE GRAMMAR) TATA BAHASA BEBAS KONTEKS (CONTEXT FREE GRAMMAR) Oleh: Bagus Adhi Kusuma Teori Bahasa dan Otomata STIMIK AMIKOM Purwokerto Program Studi Teknik Informatika 2013/2014 CFG (Bahasa Bebas Konteks) sebuah tata

Lebih terperinci

PENYEDERHANAAN Context Free Grammar

PENYEDERHANAAN Context Free Grammar PENYEDERHANAAN Context Free Grammar Bila pada tata bahasa regular terdapat pembatasan pada ruas kanan atau hasil produksinya, maka pada tata bahasa bebas konteks/ context free grammar, selanjutnya disebut

Lebih terperinci

Teori Bahasa dan Otomata 1

Teori Bahasa dan Otomata 1 Teori Bahasa dan Otomata 1 KATA PENGANTAR Teori Bahasa dam Otomata merupakan matakuliah wajib yang harus diambil oleh seluruh mahasiswa jurusan Teknik Indonesia di lingkungan Sekolah Tinggi Teknologi Indonesia.

Lebih terperinci

Memiliki kelemahan terlalu panjang jalannya padahal berujung pada S a, produksi D A juga menyebabkan kerumitan.

Memiliki kelemahan terlalu panjang jalannya padahal berujung pada S a, produksi D A juga menyebabkan kerumitan. PENYEDERHANAAN TATA BAHASA BEBAS KONTEKS Tujuan : Melakukan pembatasan sehingga tidak menghasilkan pohon penurunan yang memiliki kerumitan yang tidak perlu atau aturan produksi yang tidak berarti. Contoh

Lebih terperinci

Tata Bahasa Kelas Tata Bahasa. Konsep Bahasa (1)

Tata Bahasa Kelas Tata Bahasa. Konsep Bahasa (1) Tata Bahasa Kelas Tata Bahasa Risnawaty 2350376 Jurusan Teknik Informatika Institut Teknologi Bandung Page 1 Konsep Bahasa (1) String(kata) adalah suatu deretan berhingga dari simbol-simbol. Panjang string

Lebih terperinci

TEORI BAHASA DAN OTOMATA [TBO]

TEORI BAHASA DAN OTOMATA [TBO] TEORI BAHASA DAN OTOMATA [TBO] Aturan Produksi Rekursif Kanan Aturan Produksi yang rekursif memiliki ruas kanan (hasil produksi) yang memuat simbol variabel pada ruas kiri. Terdapat rekursif kanan dan

Lebih terperinci

SILABUS MATAKULIAH. Indikator Pokok Bahasan/Materi Aktifitas Pembelajaran

SILABUS MATAKULIAH. Indikator Pokok Bahasan/Materi Aktifitas Pembelajaran SILABUS MATAKULIAH Revisi : 2 Tanggal Berlaku : Maret 2014 A. Identitas 1. Nama Matakuliah : A11. 54401/ Teori dan Bahasa Otomata 2. Program Studi : Teknik Informatika-S1 3. Fakultas : Ilmu Komputer 4.

Lebih terperinci

Teknik Kompiler 6. oleh: antonius rachmat c, s.kom

Teknik Kompiler 6. oleh: antonius rachmat c, s.kom Teknik Kompiler 6 oleh: antonius rachmat c, s.kom Analisis Sintaks (Parser) Analisis Sintaks bergantung pada bahasa pemrograman masing-masing. Karena masing-masing bahasa pemrograman memiliki bentuk sintaks

Lebih terperinci

TEKNIK KOMPILASI Konsep & Notasi Bahasa

TEKNIK KOMPILASI Konsep & Notasi Bahasa TEKNIK KOMPILASI Konsep & Notasi Bahasa Sekolah Manajemen Informatika dan Komputer (STMIK) Palangkaraya 2012 Konsep dan Notasi bahasa Teknik Kompilasi merupakan kelanjutan dari konsepkonsep yang telah

Lebih terperinci

BAB V CONTEXT FREE GRAMMAR DAN PUSH DOWN AUTOMATA

BAB V CONTEXT FREE GRAMMAR DAN PUSH DOWN AUTOMATA Bab V Context Free Grammar dan Push Down Automata 26 BAB V CONTEXT FREE GRAMMAR DAN PUSH DOWN AUTOMATA TUJUAN PRAKTIKUM 1. Memahami CFG dan PDA 2. Memahami Context Free Grammar 3. Memahami Push Down Automata

Lebih terperinci

RENCANA PROGRAM KEGIATAN PERKULIAHAN SEMESTER (RPKPS)

RENCANA PROGRAM KEGIATAN PERKULIAHAN SEMESTER (RPKPS) RENCANA PROGRAM KEGIATAN PERKULIAHAN SEMESTER (RPKPS) Kode / Nama Mata Kuliah : A11. 54401/ Teori dan Bahasa Otomata Revisi 2 Satuan Kredit Semester : 3 SKS Tgl revisi : Februari 2014 Jml Jam kuliah dalam

Lebih terperinci

TEORI BAHASA & OTOMATA (KONSEP & NOTASI BAHASA) PERTEMUAN IX Y A N I S U G I Y A N I

TEORI BAHASA & OTOMATA (KONSEP & NOTASI BAHASA) PERTEMUAN IX Y A N I S U G I Y A N I TEORI BAHASA & OTOMATA (KONSEP & NOTASI BAHASA) PERTEMUAN IX Y A N I S U G I Y A N I Konsep dan Notasi bahasa Thn 56-59 Noam chomsky melakukan penggolongan tingkatan dalam bahasa, yaitu menjadi 4 class

Lebih terperinci

TEORI BAHASA DAN AUTOMATA

TEORI BAHASA DAN AUTOMATA MODUL I TEORI BAHASA DAN AUTOMATA Tujuan : Mahasiswa memahami pengertian dan kedudukan Teori Bahasa dan Otomata (TBO) pada ilmu komputer Definisi dan Pengertian Teori Bahasa dan Otomata Teori bahasa dan

Lebih terperinci

Tujuan Penyederhanaan

Tujuan Penyederhanaan VII.1 MODUL MATA KULIAH TEORI BAHASA DAN OTOMATA BAB VII PENYEDERHANAAN TATA BAHASA BEBAS KONTEKS Tujuan Penyederhanaan IF Penyederhanaan tata bahasa bebas konteks bertujuan untuk melakukan pembatasan

Lebih terperinci

Penghilangan Rekursif Kiri

Penghilangan Rekursif Kiri Penghilangan Rekursif Kiri Aturan Produksi yang rekursif memiliki ruas kanan (hasil produksi) yang memuat simbol variabel. Aturan Produksi Rekursif Kanan Sebuah aturan produksi dalam bentuk: A A A : Variabel

Lebih terperinci

MODUL MATA KULIAH TEORI BAHASA DAN OTOMATA DOSEN:

MODUL MATA KULIAH TEORI BAHASA DAN OTOMATA DOSEN: MODUL MATA KULIAH TEORI BAHASA DAN OTOMATA DOSEN: Mira Kania S.,ST.,MT Utami Dewi W.,S.Kom IF I. PENDAHULUAN PENDAHULUAN Komputer digunakan sebagai alat bantu untuk menyelesaikan pekerjaan(task). Dua pertanyaan

Lebih terperinci

BAB II TINJAUAN PUSTAKA. Bahasa menurut kamus Websters adalah the body of words and methods of

BAB II TINJAUAN PUSTAKA. Bahasa menurut kamus Websters adalah the body of words and methods of BAB II TINJAUAN PUSTAKA 2.1 Bahasa Alami dan Bahasa Formal Bahasa menurut kamus Websters adalah the body of words and methods of combining words used and understood by a considerable community, sedangkan

Lebih terperinci

Penyederhanaan Tata Bahasa Bebas Konteks. Kuliah Online : TBA [2012/2013]

Penyederhanaan Tata Bahasa Bebas Konteks. Kuliah Online : TBA [2012/2013] Penyederhanaan Tata Bahasa Bebas Konteks Kuliah Online : TBA [2012/2013] Tujuan Penyederhanaan untuk melakukan pembatasan sehingga tidak menghasilkan pohon penurunan yang memiliki kerumitan yang tidak

Lebih terperinci

Analisis Sintaksis (syntactic analyzer atau parser)

Analisis Sintaksis (syntactic analyzer atau parser) Analisis Sintaksis (syntactic analyzer atau parser) pohon (tree) suatu graph terhubung yang tidak sirkuler, memiliki satu buah simpul (atau vertex / node) yaitu akar (root) dan dari akar ini memiliki lintasan

Lebih terperinci

anggota alfabet dinamakan simbol terminal atau token.

anggota alfabet dinamakan simbol terminal atau token. GRAMMAR DAN BAHASA MATERI MINGGU KE-2 TATA BAHASA Dalam pembicaraan tata bahasa, anggota alfabet dinamakan simbol terminal atau token. Kalimat adalah deretan hingga simbo-lsimbol terminal. Bahasa adalah

Lebih terperinci

IF-UTAMA 1. Definisi. Grammar. Definisi

IF-UTAMA 1. Definisi. Grammar. Definisi Definisi Grammar Bahasa adalah himpunan kata-kata atau kalimat yang telah disepakati, contoh : {makan, tidur, bermain, belajar} Bahasa Indonesia {shit, sheet, damn, kiss, smell} Bahasa Inggris {konichiwa,

Lebih terperinci

TEORI BAHASA DAN AUTOMATA

TEORI BAHASA DAN AUTOMATA MODUL XII TEORI BHS DN UTOMT Tujuan : Mahasiswa memahami tentang bentuk rekursif dari suatu CFG dan menurunkan suatu tata bahasa bebas konteks tanpa rekursif kiri Materi : o turan Produksi Rekursif o Tahapan

Lebih terperinci

TEORI BAHASA DAN OTOMATA [TBO]

TEORI BAHASA DAN OTOMATA [TBO] TEORI BAHASA DAN OTOMATA [TBO] Ekspresi Regular (1) Sebuah bahasa dinyatakan regular jika terdapat finite state automata yang dapat menerimanya. Bahasa-bahasa yang diterima oleh suatu finite state automata

Lebih terperinci

Sebuah bahasa dinyatakan regular jika terdapat finite state automata yang dapat menerimanya. Bahasa-bahasa yang diterima oleh suatu finite state

Sebuah bahasa dinyatakan regular jika terdapat finite state automata yang dapat menerimanya. Bahasa-bahasa yang diterima oleh suatu finite state EKSPRESI REGULAR Sebuah bahasa dinyatakan regular jika terdapat finite state automata yang dapat menerimanya. Bahasa-bahasa yang diterima oleh suatu finite state automata bisa dinyatakan secara sederhana

Lebih terperinci

Grammar dan Tingkat Bahasa

Grammar dan Tingkat Bahasa CSG3D3 Teori Komputasi Grammar dan Tingkat Bahasa Agung Toto Wibowo Ahmad Suryan Yanti Rusmawati Mahmud Dwi Sulistiyo Kurniawan Nur Ramadhani Said Al Faraby Dede Rohidin KK Intelligence, Computing, and

Lebih terperinci

BAB I PENDAHULUAN 1-1

BAB I PENDAHULUAN 1-1 BAB I PENDAHULUAN 1.1 Pendahuluan Ilmu komputer memiliki dua komponen utama: pertama, model dan gagasan mendasar mengenai komputasi, kedua, teknik rekayasa untuk perancangan sistem komputasi, meliputi

Lebih terperinci

Hirarki Comsky. Unrestricted. Context Sensitive Context free Regular

Hirarki Comsky. Unrestricted. Context Sensitive Context free Regular Hirarki Comsky Unrestricted Context Sensitive Context free Regular Contoh Tata Bahasa Sederhana BEGIN END ;

Lebih terperinci

TEORI BAHASA DAN OTOMATA

TEORI BAHASA DAN OTOMATA TEORI BAHASA DAN OTOMATA Bentuk Normal Greibach/Greibach Normal Form (GNF) adalah suatu tata bahasa bebas konteks (CFG) yang aturan produksinya berada dalam bentuk : A a a : simbol terminal(tunggal), a

Lebih terperinci

FINITE STATE MACHINE / AUTOMATA

FINITE STATE MACHINE / AUTOMATA FINITE STATE MACHINE / AUTOMATA BAHASA FORMAL Dapat dipandang sebagai entitas abstrak, yaitu sekumpulan string yang berisi simbol-simbol alphabet Dapat juga dipandang sebagai entitasentitas abstrak yang

Lebih terperinci

Tata Bahasa Bebas Konteks

Tata Bahasa Bebas Konteks Tata Bahasa Beas Konteks By mei Dalam tataahasa eas konteks Ruas kiri dari aturan produksi terdiri dari ATU simol non terminal Ruas kanan dapat erupa string yang dientuk dari simol terminal dan non terminal

Lebih terperinci

KONSEP GRAMMAR DAN BAHASA

KONSEP GRAMMAR DAN BAHASA KONSEP GRAMMAR DAN BAHASA Konsep Dasar 1. Dalam pembicaraan grammar, anggota alfabet dinamakan simbol terminal atau token. 2. Kalimat adalah deretan hingga simbol-simbol terminal. 3. Bahasa adalah himpunan

Lebih terperinci

Parsing dapat dilakukan dengan cara : Penurunan terkiri (leftmost derivation) : simbol variable yang paling kiri diturunkan (tuntas) dahulu

Parsing dapat dilakukan dengan cara : Penurunan terkiri (leftmost derivation) : simbol variable yang paling kiri diturunkan (tuntas) dahulu Parsing atau Proses Penurunan Parsing dapat dilakukan dengan cara : Penurunan terkiri (leftmost derivation) : simbol variable yang paling kiri diturunkan (tuntas) dahulu Penurunan terkanan (rightmost derivation):

Lebih terperinci

Amir Hamzah AKPRIND PRESS 2009

Amir Hamzah AKPRIND PRESS 2009 1 TEORI BAHASA DAN OTOMATA Amir Hamzah AKPRIND PRESS 2009 1 TEORI BAHASA DAN OTOMATA Amir Hamzah JURUSAN TEKNIK INFORMATIKA FAKULTAS TEKNOLOGI INDUSTRI INSTITUT SAINS DAN TEKNOLOGI AKPRIND YOGYAKARTA AKPRIND

Lebih terperinci

Teori Bahasa & Otomata

Teori Bahasa & Otomata Teori Bahasa & Otomata Pendilkom/Ilkom Universitas Pendidikan Indonesia 1 Daftar Isi Bab 1 Pendahuluan Bab 2 Matematika Dasar Bab 3 Dasar-Dasar Teori Bahasa Bab 4 Representasi Bahasa Bab 5 Klasifikasi

Lebih terperinci

BAB II TINJAUAN PUSTAKA. konsep, fakta, termasuk simbol simbol serta aturan agar mempunyai makna.

BAB II TINJAUAN PUSTAKA. konsep, fakta, termasuk simbol simbol serta aturan agar mempunyai makna. BAB II TINJAUAN PUSTAKA 2.1 Teori Bahasa dan Automata Bahasa merupakan suatu sistem yang meliputi pengekspresian gagasan, konsep, fakta, termasuk simbol simbol serta aturan agar mempunyai makna. Automata

Lebih terperinci

MODUL XIII TEORI BAHASA DAN AUTOMATA

MODUL XIII TEORI BAHASA DAN AUTOMATA MODUL XIII TEORI BAHASA DAN AUTOMATA Tujuan : Mahasiswa memahami tentang bentuk normal greibach (GNF) dan dapat menurunkannya dari suatu tata bahasa bebas konteks Materi : o Pengertian GNF o Pembentukan

Lebih terperinci

TEKNIK KOMPILASI Bahasa Regular

TEKNIK KOMPILASI Bahasa Regular TEKNIK KOMPILASI Bahasa Regular Sekolah Manajemen Informatika dan Komputer (STMIK) Palangkaraya 2012 Tata bahasa reguler Sebuah bahasa dinyatakan regular jika terdapat Finite State Automata (FSA) yang

Lebih terperinci

ALGORITMA PEMROGRAMAN 1C SINTAKS

ALGORITMA PEMROGRAMAN 1C SINTAKS ALGORITMA PEMROGRAMAN 1C SINTAKS Indah Wahyuni PENDAHULUAN Bahasa mesin adalah bentuk terendah komputer. Kita dapat berhubungan langsung dengan bagianbagian yang ada didalam komputer seperti bits, register.

Lebih terperinci

21/11/2016. Pohon Sintaks. Syntax?? Proses Penurunan. Analisis Syntax (Parser) Metode Parsing ANALISIS SINTAKS TEKNIK KOMPILASI

21/11/2016. Pohon Sintaks. Syntax?? Proses Penurunan. Analisis Syntax (Parser) Metode Parsing ANALISIS SINTAKS TEKNIK KOMPILASI Pohon Sintaks TEKNIK KOMPILASI ANALISIS SINTAKS SHINTA P. SARI Jurusan Informatika Fasilkom Universitas Indo Global Mandiri Berupa pohon penurunan yang menggambarkan bagaimana memperoleh suatu string dengan

Lebih terperinci

TEORI BAHASA & OPERASI MATEMATIS (2)

TEORI BAHASA & OPERASI MATEMATIS (2) PERTEMUAN III TEORI BAHASA & OPERASI MATEMATIS (2) Mahasiswa memahami bahasa sebagai himpunan dan operasi 2 -nya, cara mendefinisikan bahasa, serta cara mengenali anggota 2 bahasa JURUSAN TEKNIK INFORMATIKA

Lebih terperinci

EKSPRESI REGULAR PADA SUATU DETERMINISTIC FINITE STATE AUTOMATA

EKSPRESI REGULAR PADA SUATU DETERMINISTIC FINITE STATE AUTOMATA Jurnal Matematika Vol.6 No., November 26 [ 63-7 ] EKSPRESI REGULAR PADA SUATU DETERMINISTIC FINITE STATE AUTOMATA Jurusan Matematika, UNISBA, Jalan Tamansari No, Bandung,46, Indonesia dsuhaedi@eudoramail.com

Lebih terperinci

MODUL 1: PENGANTAR TEORI BAHASA

MODUL 1: PENGANTAR TEORI BAHASA MODUL 1: PENGANTAR TEORI BAHASA Pengantar Automata dan Bahasa Teori Pendukung Konsep Bahasa Slide 1 dari 38 PENGANTAR AUTOMATA DAN BAHASA Obyektif membahas model-model komputasi sebagai mesin abstraks

Lebih terperinci

Contents.

Contents. 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

Lebih terperinci

Sumarni Adi TEKNIK INFORMATIKA STMIK AMIKOM YOGYAKARTA 2013

Sumarni Adi TEKNIK INFORMATIKA STMIK AMIKOM YOGYAKARTA 2013 Sumarni Adi TEKNIK INFORMATIKA STMIK AMIKOM YOGYAKARTA 2013 KONTRAK KULIAH 1. Presensi 15 menit diawal perkuliahan dan dilakukan sendiri (tidak Boleh Titip Presensi), setelahnya sistem akan ditutup 2.

Lebih terperinci

Overview. Pendahuluan. Pendahuluan. Pendahuluan. Pendahuluan. Pendahuluan

Overview. Pendahuluan. Pendahuluan. Pendahuluan. Pendahuluan. Pendahuluan Overview Pertemuan : I Dosen Pembina : Danang Junaedi Deskripsi Tujuan Instruksional Kaitan Materi Penilaian Grade Referensi Jurusan Teknik Informatika Universitas Widyatama Deskripsi Mata kuliah ini mempelajari

Lebih terperinci

TEORI BAHASA DAN OTOMATA

TEORI BAHASA DAN OTOMATA Copyright Adi S. Nugroho Page 1 1. MENGENAL OTOMATA 1.1. Definisi Otomata Otomata adalah mesin abstrak yang dapat mengenali (recognize), menerima (accept), atau membangkitkan (generate) sebuah kalimat

Lebih terperinci

BENTUK NORMAL GREIBACH

BENTUK NORMAL GREIBACH BENTUK NORMAL GREIBACH Pengerian Bentuk Normal Greibach Bentuk normal Greibach merupakan bentuk normal yang memiliki banyak konsekuensi teoritis dan prkatis. Dalam bentuk normal Greibach kita membatasi

Lebih terperinci

PENDAHULUAN Teori Bahasa

PENDAHULUAN Teori Bahasa PERTEMUAN I PENDAHULUAN Teori Bahasa Teori bahasa membicarakan bahasa formal (formal language), terutama untuk kepentingan perancangan kompilator (compiler) dan pemroses naskah (text processor). Bahasa

Lebih terperinci

BAB I TEORI BAHASA DAN AUTOMATA

BAB I TEORI BAHASA DAN AUTOMATA Bab 1 Teori Bahasa dan Automata 1 BAB I TEORI BAHASA DAN AUTOMATA TUJUAN PRAKTIKUM 1. Memahami Tentang Teori Bahasa 2. Memahami Automata dan Istilah Istilah yang terdapat dalam Automata 3. Mengerti Tentang

Lebih terperinci

Teori Komputasi 11/2/2016. Bab 5: Otomata (Automata) Hingga. Otomata (Automata) Hingga. Otomata (Automata) Hingga

Teori Komputasi 11/2/2016. Bab 5: Otomata (Automata) Hingga. Otomata (Automata) Hingga. Otomata (Automata) Hingga Teori Komputasi Fakultas Teknologi dan Desain Program Studi Teknik 1-1 Informatika Bab 5: Agenda. Deterministic Finite Automata DFA (Otomata Hingga Deterministik) Equivalen 2 DFA Finite State Machine FSA

Lebih terperinci

TEORI BAHASA DAN OTOMATA [TBO]

TEORI BAHASA DAN OTOMATA [TBO] TEORI BAHASA DAN OTOMATA [TBO] Otomata (Automata) Otomata adalah mesin abstrak yang dapat mengenali (recognize), menerima (accept), atau membangkitkan (generate) sebuah kalimat dalam bahasa tertentu. Beberapa

Lebih terperinci

Tujuan perancangan bhs program

Tujuan perancangan bhs program Tujuan perancangan bhs program Komunikasi dengan manusia Pencegahan dan deteksi kesalahan Usability Efektifitas pemrograman Compilability (mengurangi kompleksitas,mis:penggunaan bracket) Efisiensi dengan

Lebih terperinci

FTIK / PRODI TEKNIK INFORMATIKA

FTIK / PRODI TEKNIK INFORMATIKA Halaman : 1dari 12 LEMBAR PENGESAHAN DIBUAT OLEH MENYETUJUI Tim SOP dan JUKNIS Prodi IF Mira Kania Sabariah, S.T., M.T Ka Prodi TeknikInformatika Halaman : 2dari 12 DAFTAR ISI Lembar Pengesahan... 1 Daftar

Lebih terperinci

Dasar Teori Bahasa & Grammar

Dasar Teori Bahasa & Grammar Dasar Teori Bahasa & Grammar Dasar Teori Bahasa Grammar & Bahasa Klasifikasi Noam Chomsky Teori Bahasa Teori bahasa membicarakan bahasa formal (formal language), terutama untuk kepentingan perancangan

Lebih terperinci

Teori Bahasa Formal dan Automata

Teori Bahasa Formal dan Automata Teori Bahasa Formal dan Automata Pertemuan 12 Semester Genap T.A. 2017/2018 Rahman Indra Kesuma, S.Kom., M.Cs. T. Informatika - ITERA POKOK BAHASAN Penghilangan ε-production Penghilangan Unit Production

Lebih terperinci

TEORI BAHASA & AUTOMATA

TEORI BAHASA & AUTOMATA TEORI BAHASA & AUTOMATA Dosen: Dadang mulyana Alamat email untuk tugas: dadangstmik@gmail.com 1 Cara pengiriman tugas: Dalam subjek email tuliskan: Instansi_kelas_nama_matakuliah_jenistugas Contoh: Ahmad

Lebih terperinci

TEORI BAHASA DAN AUTOMATA

TEORI BAHASA DAN AUTOMATA MODUL VI TEORI BAHASA DAN AUTOMATA Tujuan : Mahasiswa dapat malakukan operasi gabungan/konkatenasi, dan membangun FSA optimal Materi : Operasi Gabungan Operasi Konkatenasi Alur Pengembangan FSA Contoh-contoh

Lebih terperinci

Lecture Notes Teori Bahasa dan Automata

Lecture Notes Teori Bahasa dan Automata Penyederhanaan CFG (edisi 1) 1/8 Lecture Notes Teori Bahasa dan Automata Penyederhanaan Context Free Grammar Thompson Susabda Ngoen Pendahuluan Context Free Grammar (CFG) terdiri atas sejumlah production

Lebih terperinci

APLIKASI PROGRAM DINAMIS DALAM ALGORITMA COCKE- YOUNGER -KASAMI (CYK)

APLIKASI PROGRAM DINAMIS DALAM ALGORITMA COCKE- YOUNGER -KASAMI (CYK) APLIKASI PROGRAM DINAMIS DALAM ALGORITMA COCKE- YOUNGER -KASAMI (CYK) Inas Luthfi 1) NIM 13506019 1) Jurusan Teknik Informatika ITB, Jalan Ganesha 10 Bandung Indonesia 40132 email: if16019@students.if.itb.ac.id

Lebih terperinci

TEORI BAHASA DAN OTOMATA

TEORI BAHASA DAN OTOMATA MATERI KULIAH TEORI BAHASA DAN OTOMATA Oleh : Heru Cahya Rustamaji, S.Si, M.T JURUSAN TEKNIK INFORMATIKA FAKULTAS TEKNOLOGI INDUSTRI UNIVERSITAS PEMBANGUNAN NASIONAL VETERAN YOGYAKARTA 2004 1 PERTEMUAN

Lebih terperinci

Bahasa adalah kumpulan kalimat. Kalimat adalah rangkaian kata. Kata adalah komponen terkecil kalimat yang tidak bisa dipisahkan lagi.

Bahasa adalah kumpulan kalimat. Kalimat adalah rangkaian kata. Kata adalah komponen terkecil kalimat yang tidak bisa dipisahkan lagi. Konsep dan Notasi Bahasa Teori Bahasa Bahasa adalah kumpulan kalimat. Kalimat adalah rangkaian kata. Kata adalah komponen terkecil kalimat yang tidak bisa dipisahkan lagi. Contoh : Si Kucing kecil menendang

Lebih terperinci

SATUAN ACARA PERKULIAHAN (SAP) Semester Penempatan

SATUAN ACARA PERKULIAHAN (SAP) Semester Penempatan SATUAN ACARA PERKULIAHAN (SAP) Nama Mata Kuliah Kode Mata Kuliah Bobot Kredit Semester Penempatan Penanggung Jawab Mata Kuliah : Teori Bahasa Automata : TI 2A & TI 2B : 3 SKS : III : Fathiah, ST. M. Eng.

Lebih terperinci

BAHASA REGULER 1. Ekspresi Regular

BAHASA REGULER 1. Ekspresi Regular BAHASA REGULER 1. Ekspresi Regular Bahasa regular adalah penyusun ekspresi regular (ER) Ekspresi regular terdiri dari kombinasi simbol-simbol atomik menggunakan 3 operator : concate, alternate, dan closure/repetisi.

Lebih terperinci

Ekspresi Reguler. Pertemuan Ke-8. Sri Handayaningsih, S.T., M.T. Teknik Informatika

Ekspresi Reguler. Pertemuan Ke-8. Sri Handayaningsih, S.T., M.T.   Teknik Informatika Ekspresi Reguler Pertemuan Ke-8 Sri Handayaningsih, S.T., M.T. Email : ning_s12@yahoo.com Teknik Informatika TIU dan TIK 1. memahami konsep ekspresi reguler dan ekivalensinya dengan bahasa reguler. 2.

Lebih terperinci

Teori Himpunan. Matematika Dasar untuk Teori Bahasa Otomata. Operasi pada Himpunan. Himpunan Tanpa Elemen. Notasi. Powerset & Cartesian Product

Teori Himpunan. Matematika Dasar untuk Teori Bahasa Otomata. Operasi pada Himpunan. Himpunan Tanpa Elemen. Notasi. Powerset & Cartesian Product Teori Himpunan Matematika Dasar untuk Teori Bahasa Otomata Teori Bahasa & Otomata Semester Ganjil 2009/2010 Himpunan adalah sekumpulan entitas tidak memiliki struktur sifatnya hanya keanggotaan Notasi

Lebih terperinci

Konsep dan Notasi Bahasa. Istiqomah, S.Kom

Konsep dan Notasi Bahasa. Istiqomah, S.Kom Konsep dan Notasi Bahasa Istiqomah, S.Kom Konsep dan Notasi Bahasa Hirarky Chomsky Diagram Keadaan Notasi BNF Diagram Sintaks (1) Hirarky Chomsky Tata Bahasa (grammar) bisa didefinisikan sebagai kumpulkan

Lebih terperinci

Fr*snd*mffi. Fakultns tlmu Komputer, l;nivrrsitfls. f&,# d *-B. ,, :..:.4 t:,{;. ${r= st :rir"l, r;t. .j"s*l!&,. '":*& \',?Srlrlfu. :1i-,=-+n 3r: lvqd

Fr*snd*mffi. Fakultns tlmu Komputer, l;nivrrsitfls. f&,# d *-B. ,, :..:.4 t:,{;. ${r= st :rirl, r;t. .js*l!&,. ':*& \',?Srlrlfu. :1i-,=-+n 3r: lvqd :1i-,=-+n 3r: lvqd n l : Fr*snd*mffi w *-B f&,# d.j"s*l!&,.,,! +: :.....,?i. -;" '":*& \',?Srlrlfu $ f,, :..:.4 t:,{;. ${r= st :rir"l, r;t Fakultns tlmu Komputer, l;nivrrsitfls 1 Palindrom Context Free

Lebih terperinci

IF-UTAMA 1. Penurunan (Derivation) [2] Penurunan (Derivation) Contoh Penurunan [1] Parse Tree [1]

IF-UTAMA 1. Penurunan (Derivation) [2] Penurunan (Derivation) Contoh Penurunan [1] Parse Tree [1] Penurunan (Derivation) [2] Penurunan (Derivation) Pertemuan : 5 Dosen Pembina : Danang Junaedi IF-UTM 1 Berfungsi untuk menggambarkan atau mengetahui bagaimana memperoleh suatu string dari dari suatu tata

Lebih terperinci

TEORI BAHASA DAN AUTOMATA

TEORI BAHASA DAN AUTOMATA MODUL VIII TEORI BAHASA DAN AUTOMATA Tujuan : Mahasiswa memahami ekspresi reguler dan dapat menerapkannya dalam berbagai penyelesaian persoalan. Materi : Hubungan antara DFA, NFA, dan ekspresi regular

Lebih terperinci

UNIVERSITAS GUNADARMA

UNIVERSITAS GUNADARMA UNIVERSITAS GUNADARMA SK No. 92 / Dikti / Kep /1996 Fakultas Ilmu Komputer, Teknologi Industri, Ekonomi,Teknik Sipil & Perencanaan, Psikologi, Sastra Program Diploma (D3) Manajemen Informatika, Teknik

Lebih terperinci

PERTEMUAN II. Finite State Automata (FSA) Deterministic Finite Automata (DFA) Non Deterministic Finite Automata (NFA)

PERTEMUAN II. Finite State Automata (FSA) Deterministic Finite Automata (DFA) Non Deterministic Finite Automata (NFA) PERTEMUAN II Finite State Automata (FSA) Deterministic Finite Automata (DFA) Non Deterministic Finite Automata (NFA) dadang mulyana 1 INGA.INGAT MULAI MINGGU DEPAN KULIAH TBO DIMULAI JAM 13.00 MAAF UNTUK

Lebih terperinci

GRAMMAR AND LANGUAGE

GRAMMAR AND LANGUAGE GRAMMAR AND LANGUAGE Konsep Dasar Anggota alfabet dinamakan simbol terminal. Kalimat adalah deretan hingga simbol-simbol terminal. Bahasa adalah himpunan kalimat-kalimat. Anggota bahasa bisa tak hingga

Lebih terperinci

Teori Bahasa dan Automata. Finite State Automata & Non Finite State Automata

Teori Bahasa dan Automata. Finite State Automata & Non Finite State Automata Teori Bahasa dan Automata Finite State Automata & Non Finite State Automata Finite State Automata Model matematika suatu sistem yang menerima input dan output diskrit Mesin automata dari bahasa Regular

Lebih terperinci

SINTAKS. Sintaks dari bahasa pemrograman di defenisikan dengan 2 kumpulan aturan, yaitu:

SINTAKS. Sintaks dari bahasa pemrograman di defenisikan dengan 2 kumpulan aturan, yaitu: SINTAKS Bahasa mesin adalah bentuk terendah komputer. Kita dapat berhubungan langsung dengan bagian-bagian yang ada di dalam komputer seperti bits, register. Bahasa mesin terdiri dari bit-bit 0 dan 1.

Lebih terperinci

Penerapan Graf Transisi dalam Mendefinisikan Bahasa Formal

Penerapan Graf Transisi dalam Mendefinisikan Bahasa Formal Penerapan Graf Transisi dalam Mendefinisikan Bahasa Formal Abdurrahman Dihya R./13509060 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha

Lebih terperinci

Teknik Informatika PERTEMUAN 2. TEORI BAHASA & OTOMATA Imam Riadi, M.Kom Shofwatul Uyun, M.Kom. Teknik Informatika

Teknik Informatika PERTEMUAN 2. TEORI BAHASA & OTOMATA Imam Riadi, M.Kom Shofwatul Uyun, M.Kom. Teknik Informatika TEORI BAHASA FST UIN SUKA TEORI BAHASA (PENDAHULUAN) PERTEMUAN 2 Teori bahasa membicarakan bahasa formal (formal language), terutama untuk kepentingan perancangan kompilator (compiler) dan pemroses naskah

Lebih terperinci

SINTAKS. Sintaks dari bahasa pemrograman di defenisikan dengan 2 kumpulan aturan, yaitu:

SINTAKS. Sintaks dari bahasa pemrograman di defenisikan dengan 2 kumpulan aturan, yaitu: SINTAKS Bahasa mesin adalah bentuk terendah komputer. Kita dapat berhubungan langsung dengan bagian-bagian yang ada di dalam komputer seperti bits, register. Bahasa mesin terdiri dari bit-bit 0 dan 1.

Lebih terperinci

Aplikasi Pengubah Bentuk Normal Chomsky Menjadi Bentuk Normal Greibach dengan Metode Substitusi

Aplikasi Pengubah Bentuk Normal Chomsky Menjadi Bentuk Normal Greibach dengan Metode Substitusi Aplikasi Pengubah Bentuk Normal Chomsky Menjadi Bentuk Normal Greibach dengan Metode Substitusi 1 Rico Andrian, 2 Wamiliana, 3 Andikha Y.C. Dabukke 1 Jurusan Ilmu Komputer FMIPA Unila 2 Jurusan Matematika

Lebih terperinci

MODUL 12: BENTUK-BENTUK SEDERHANA DAN BENTUK-BENTUK NORMAL

MODUL 12: BENTUK-BENTUK SEDERHANA DAN BENTUK-BENTUK NORMAL MODUL 12: BENTUK-BENTUK SEDERHANA DAN BENTUK-BENTUK NORMAL PENDAHULUAN Dalam bahasan berikut akan dilakukan cara-cara untuk memperbaiki grammar tanpa adanya perubahan penting dari bahasa yang dihasilkannya:

Lebih terperinci

Pendahuluan [6] FINITE STATE AUTOMATA. Hubungan RE & FSA [5] Finite State Diagram [6] 4/27/2011 IF-UTAMA 1

Pendahuluan [6] FINITE STATE AUTOMATA. Hubungan RE & FSA [5] Finite State Diagram [6] 4/27/2011 IF-UTAMA 1 FINITE STATE AUTOMATA Pertemuan 9 & 10 Dosen Pembina : Danang Junaedi 1 Pendahuluan [6] Bahasa formal dapat dipandang sebagai entitas abstrak, yaitu sekumpulan string yang berisi simbol-simbol alphabet

Lebih terperinci

GARIS-GARIS BESAR PROGRAM PENGAJARAN (GBPP)

GARIS-GARIS BESAR PROGRAM PENGAJARAN (GBPP) Mata Kuliah : Teori Bahasa dan Automa Bobot Mata Kuliah : 3 Sks GARIS-GARIS BESAR PROGRAM PENGAJARAN (GBPP) Deskripsi Mata Kuliah : Micro processing dan Memory, Memory Addressing; Register, Struktur Program,

Lebih terperinci

TEORI BAHASA DAN OTOMATA [TBO]

TEORI BAHASA DAN OTOMATA [TBO] TEORI BAHASA DAN OTOMATA [TBO] PENGGABUNGAN 2 FSA Pada 2 mesin FSA dapat dilakukan penggabungan, disebut union serta konkatenasi. Misalkan terdapat dua mesin NFA, M1 dan M2 Gambar 5: M1 Gambar 6: M2 OPERASI

Lebih terperinci

Non-deterministic Finite Automata Dengan -Move

Non-deterministic Finite Automata Dengan -Move Non-deterministic Finite Automata Dengan -Move Terdapat jenis otomata baru yang disebut NFA dengan -move ( disini bisa dianggap sebagai empty). Pada NFA dengan -move (transisi ), diperbolehkan merubah

Lebih terperinci

Teknik Kompiler 5. oleh: antonius rachmat c, s.kom, m.cs

Teknik Kompiler 5. oleh: antonius rachmat c, s.kom, m.cs Teknik Kompiler 5 oleh: antonius rachmat c, s.kom, m.cs TATA BAHASA Tata bahasa / Grammar dalam OTOMATA adalah kumpulan dari himpunan variabel (non-terminal), simbol-simbol awal dan terminal yang dibatasi

Lebih terperinci

KONSEP DAN IMPLEMENTASI PARSING DENGAN MENGGUNAKAN METODE BRUTE FORCE

KONSEP DAN IMPLEMENTASI PARSING DENGAN MENGGUNAKAN METODE BRUTE FORCE KONSEP DAN IMPLEMENTASI PARSING DENGAN MENGGUNAKAN METODE BRUTE FORCE SKRIPSI Diajukan untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Sains (S.Si) Program Studi Matematika Oleh: Vinsentia Asri

Lebih terperinci

Teori Bahasa dan Otomata

Teori Bahasa dan Otomata Teori Bahasa dan Otomata Disajikan oleh: Bernardus Budi Hartono Web : http://pakhartono.wordpress.com/ E-mail : pakhartono at gmail dot com budihartono at acm dot org Teknik Informatika [Gasal 2009 2010]

Lebih terperinci

SATUAN ACARA PERKULIAHAN (SAP)

SATUAN ACARA PERKULIAHAN (SAP) SATUAN ACARA PERKULIAHAN (SAP) Pertemuan / Minggu Nama Mata Kuliah : Teori Bahasa dan Automata Kode Mata Kuliah : TI 04 Bobot Kredit : 3 SKS Semester Penempatan : III Kedudukan Mata Kuliah : Mata Kuliah

Lebih terperinci

TEORI BAHASA DAN OTOMATA [TBO]

TEORI BAHASA DAN OTOMATA [TBO] TEORI BAHASA DAN OTOMATA [TBO] NFA DENGAN -MOVE Terdapat jenis otomata baru yang disebut NFA dengan -move ( disini bisa dianggap sebagai empty). Pada NFA dengan -move (transisi ), diperbolehkan merubah

Lebih terperinci

Tanggal Revisi : Tanggal : SATUAN ACARA PERKULIAHAN

Tanggal Revisi : Tanggal : SATUAN ACARA PERKULIAHAN Versi : Revisi : Tanggal Revisi : Tanggal : SATUAN ACARA PERKULIAHAN Fakultas/ Jurusan/ Program Studi : Teknologi Industri/ Teknik Informatika/ Teknik Informatika Kode Matakuliah : 52302031 Nama Matakuliah

Lebih terperinci

Parsing. A -> a as baa B -> b bs abb

Parsing. A -> a as baa B -> b bs abb Parsing Misalnya: S -> ab ba A -> a as baa B -> b bs abb Penurunan untuk string aaabbabba Dalam hal ini perlu untuk melakukan percobaan pemilihan aturan produksi yang bisa mendapatkan solusi Metode Parsing

Lebih terperinci

Finite State Machine dapat berupa suatu mesin yang tidak memiliki output. Finite State Machine yang tidak mengeluarkan output ini dikenal

Finite State Machine dapat berupa suatu mesin yang tidak memiliki output. Finite State Machine yang tidak mengeluarkan output ini dikenal FINITE STATE AUTOMATA (FSA) DAN FINITE STATE MACHINE (FSM) MATERI MINGGU KE-3 Finite State Automata (FSA) Finite State Machine dapat berupa suatu mesin yang tidak memiliki output. Finite State Machine

Lebih terperinci

MODUL 17. BAHASA-BAHASA REKURSIF DAN RECURSIVELY ENUMERABLE

MODUL 17. BAHASA-BAHASA REKURSIF DAN RECURSIVELY ENUMERABLE MODUL 17. BAHASA-BAHASA REKURSIF DAN RECURSIVELY ENUMERABLE TM T r untuk suatu bahasa rekursif akan menjawab (recognize) atau setelah memproses string masukan. T r Dalam pembahasan sebelumnya kita mendapatkan

Lebih terperinci

TEORI BAHASA DAN OTOMATA

TEORI BAHASA DAN OTOMATA TEORI BAHASA DAN OTOMATA Disusun Oleh : Hartono BAB I PENDAHULUAN Teori Bahasa Teori bahasa membicarakan bahasa formal (formal language), terutama untuk kepentingan perancangan kompilator (compiler) dan

Lebih terperinci

PENDAHULUAN. Terdapat tiga topik utama di teori otomata yaitu:

PENDAHULUAN. Terdapat tiga topik utama di teori otomata yaitu: PENDAHULUAN Pengertian Komputer mengikuti sejumlah prosedur sistematis, atau algoritme, yang dapat diaplikasikan untuk serangkaian input (string) yang menyatakan integer dan menghasilkan jawaban setelah

Lebih terperinci

BAB 1 PENDAHULUAN. sederhana adalah kelas bahasa reguler (regular languages). Bahasa reguler dapat dengan

BAB 1 PENDAHULUAN. sederhana adalah kelas bahasa reguler (regular languages). Bahasa reguler dapat dengan BAB 1 PENDAHULUAN 1.1 Latar Belakang Dalam hierarki kelas-kelas bahasa menurut Chomsky, kelas bahasa yang paling sederhana adalah kelas bahasa reguler (regular languages). Bahasa reguler dapat dengan tepat

Lebih terperinci