Amir Hamzah AKPRIND PRESS 2009

Ukuran: px
Mulai penontonan dengan halaman:

Download "Amir Hamzah AKPRIND PRESS 2009"

Transkripsi

1 1 TEORI BAHASA DAN OTOMATA Amir Hamzah AKPRIND PRESS

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

3 Kata Pengantar Puji syukur dipanjatkan kehadirat Allah Subhanallah Wa Ta ala, karena hanya atas petunjuk dan redhanya akhirnya diktat ini dapat terselesaikan. Diktat ringkas ini mungkin masih sangat sedikit dapat membantu dalam penyampaian Teori Bahasa dan Otomata kepada mahasiswa. Akan tetapi mengingat terbatasnya buku yang ada di perpustakaan dan masih sedikitnya buku-buku berbahasa indonesia tentang Teori Bahasa dan Otomata, diharapkan diktat ini dapat membantu mempermudah menerima materi kuliah. Diktat ini mendukung proses pembelajaran mata kuliah Teori Bahasa dan Otomata, yang disampaikan dalam 3 sks. Diktat memuat tujuan instruksional setiap bab pembahasan dan memuat uraian-uraian yang dibuat sesingkat mungkin dengan beberapa contoh penyelesaian masalah dan beberapa soal latihan sebagai evaluasi pembelajaran. Tentu saja diperlukan buku-buku tambahan bagi mahasiswa untuk dapat menguasai materi-materi lebih mendalam. Akhirnya mudah-mudahan tulisan singkat ini dapat membantu para mahasiswa. Kritik dan koreksi kami ucapkan terima kasih. Yogyakarta, Oktober 2009 Penulis ii

4 DAFTAR ISI BAB I KONSEP DASAR OTOMATA DAN BAHASA FORMAL Tujuan Instruksional Pengertian Otomata dan Bahasa Formal Hubungan Otomata dengan Bahasa Formal Bahasa Natural dan Bahasa Formal Analogi Bahasa Natural dan Bahasa Formal Elemen Bahasa Formal Latihan.. 7 BAB II KELAS-KELAS BAHASA DAN MESIN PENGENALNYA Tujuan Instruksional Tata Bahasa dan Bahasa Hierarchi Tata Bahasa Mesin Pengenal Bahasa Latihan.. 17 BAB III EKSPRESI REGULAR DAN KELAS BAHASA REGULAR Tujuan Instruksional Ekspresi Regular Tata-Bahasa Regular Pengenal Bahasa Regular Latihan. 23 BAB IV FINITE STATE MACHINE (FSM) DAN FINITE STATE AUTOMATA (FSA) Tujuan Instruksional Finite State Machine (Mesin keadaan terbatas) Finite State Automata (FSA) FSA Sebagai Pengenal String Deterministik dan Non Deterministik FSA Konversi dari NFA ke DFA FSA Sebagai Pengenal Bahasa Regular Latihan 37 BAB V TATA BAHASA BEBAS KONTEKS (CONTEXT FREE GRAMMAR ) 5.1 Tujuan Instruksional Batasan Tata Bahasa Bebas Konteks Masalah Ambiguity Dalam CFG Penyederhanaan Tata Bahasa Bebas Konteks Membuang aturan produksi yang tidak berguna Menghilangkan produksi unit.. 45 iii

5 5.4.3 Menghilangkan produksi epsilon ( ) Latihan BAB VI BENTUK NORMAL CHOMSKY DAN NORMAL GREIBACH UNTUK TATA BAHASA BEBAS KONTEKS 6.1 Tujuan Instruksional Bentuk Tata Bahasa Bebas Konteks Tidak Normal Bentuk Normal Chomsky (CNF) Bentuk Normal Greibach (Greibach Normal Form=GNF) Latihan. 57 BAB VII PUSH DOWN AUTOMATA (PDA) Tujuan Instruksional Pengertian Push Down Automata (PDA) PDA Sebagai Pengenal Bahasa Deskripsi Sesaat (Instantoneus Discription) Gerakan PDA Latihan. 66 BAB VIII MESIN TURING Tujuan Instruksional Keterbatasan FSA dan PDA Definisi Mesin Turing Deskripsi Sesaat untuk gerakan Mesin Turing Mesin Turing sebagai Pengenal Bahasa Loop yang Terus Menerus pada Mesin Turing Latihan 75 DAFTAR PUSTAKA LAMPIRAN iv

6 BAB I. Konsep Dasar Otomata & Bahasa Formal 1 BAB I KONSEP DASAR OTOMATA DAN BAHASA FORMAL 1.3 Tujuan instruksional Pada bab ini akan diuraiakan pengertian dan definisi dari otomata, bahasa, bahasa formal dan bahasa natural. Hubungan dan analogi antara bahasa natural yang umumnya telah lebih dahulu diketahui dengan konsep bahasa formal yang lebih akhir dijumpai akan disajikan sebagai cara pemahaman yang lebih mudah. Diharapkan setelah mempelajari bab ini mahasiswa akan memahami konsep, urgensi dan penerapan teori bahasa dalam kajian bidang informatika umumnya dan khususnya dalam topik bahasa-bahasa pemrograman komputer. 1.4 Pengertian Otomata dan Bahasa Formal Kata otomata merupakan bentuk jamak dari automaton. Kata ini berasal dari bahasa Yunani automatos yang berarti self-acting. Dalam Kamus American- Heritage kata ini diartikan sebagai : ( 1) a robot (2) one that behaves in automatic or mechanical fashion Istilah ini sudah dikenal sejak abad 17 yang terkait dengan misalnya : jam mekanik, mechanical-duck karya de Vaucanson (1738), mesin tenun otomatis (1745). Dalam matematika istilah otomata terkait dengan teori mesin abstrak yang antara lain dapat didefinisikan secara sederhana sebagai : "Automata adalah mesin sekuensial otomatis yang menerima input dan mengeluarkan output yang keduanya dalam bentuk diskreet". Beberapa sistem yang dapat dibuat model otomatanya antara lain : - mesin jaja - mesin penukar uang - model transmisi data - kunci kombinasi - parser - compiler 1

7 BAB I. Konsep Dasar Otomata & Bahasa Formal 2 Sifat-sifat Otomata : 1. Kelakuan mesin otomata bergantung pada rangkaian input yang diterima mesin tersebut. 2. Setiap saat berada pada status tertentu, dan dapat pindah ke status baru karena perubahan input. 1.3 Hubungan Otomata dengan Bahasa Formal : Hubungan otomata dengan bahasa formal dapat dilukiskan sebagai berikut : - Rangkaian input diskreet pada mesin otomata dapat dianggap sebagai bahasa yang harus dikenali oleh otomata. - Mesin otomata dapat pula digunakan untuk membangkitkan bahasa tertentu yang aturannya ditentukan oleh tatabahasa tertentu. Dengan demikian dapat dilihat keterkaitan antara : mesin otomata, bahasa yang dibangkitkan atau dikenali oleh mesin dan tata bahasa yang membangkitkan sebuah bahasa. 1.4 Bahasa Natural dan Bahasa Formal : Perlu disini dibatasi pengertian bahasa formal dengan bahasa sehari-hari. Bahasa manusia sehari-hari (misalnya bahasa inggris) umumnya dinamakan sebagai bahasa alami (natural language). Bahasa alami memiliki tata bahasa dan aturan yang lebih luas dan luwes. Bahasa yang lebih kaku dengan aturan-aturan yang lebih ketat (misalnya bahasa pemrograman komputer) dinamakan dengan bahasa formal (formal language). Sehingga dengan demikian bahasa formal dapat lebih mudah dipelajari dan dianalisis dari pada bahasa alami. Sebaliknya analisis dan pengembangan riset tentang bahasa alami dapat dimulai dengan mempergunakan bahasa formal sebagai langkah awalnya. Ada dua hal penting yang terkait dengan bahasa formal, yaitu : - Pembangkitan kalimat (generation) : Berkaitan dengan algoritma yang dapat menghasilkan semua kalimat dalam bahasa tertentu yang dikaji berdasarkan aturan yang dimiliki oleh bahasa tersebut. Aturan ini disebuat tata bahasa (grammar). Penerapan konsep ini terjadi pada bahasa-bahasa pemrograman visual seperti Visual Basic, Delphi, Visual C, Java Net Bean dan lain-lain yang 2

8 BAB I. Konsep Dasar Otomata & Bahasa Formal 3 mana programmer tidak menuliskan kode program tetapi kode tersebut dibangkitkan ketika sebuah aktivitas dilakukan, misalnya ketika progammer memasang Button pada sebuah Form maka nama variabel Button dan prosedur aktifitas Button akan dibangkitkan sehingga progammer tinggal mengisikan kode intinya saja. - Pengenalan kalimat (recognition) : Pembuatan algoritma yang dapat mengetahui apakah suatu string s (kalimat) termasuk anggota himpunan bahasa L. Algoritma ini memeriksa keanggotaan s dalam bahasa L berdasarkan aturan yang banyaknya terhingga. Penerapan ini terjadi pada saat sebuah kode program sudah diparsing menjadi token-token dan proses kompilasi akan dilakukan maka langkah pertama adalah pemeriksaan apakah token-token sudah berada dalam sintak yang benar sesuai dengan aturan bahasa yang ada. Jika belum memenuhi aturan bahasa maka proses kompilasi akan dihentikan, biasanya dengan memberikan pesan syntax error. 1.5 Analogi Bahasa Natural dan Bahasa Formal : Beberapa analogi bahasa formal dengan bahasa natural dapat digambarkan antara lain sebagai berikut : 1. He sleeps, adalah sebuah kalimat bahasa inggris yang benar 2. He runs quickly, adalah juga kalimat yang benar 3. The Big rabbit hopes neatly, juga benar. Sebuah kalimat dikatakan benar apabila ia memenuhi grammar yang ada dalam suatu bahasa. Dalam bahasa inggris sebuah kalimat dikatakan benar jika memenuhi grammar berikut : SENTENCE (S) = NOUN-PHRASE (NP) + VERB-PHRASE (VP) NOUN-PHRASE dapat berupa : NOUN atau PRONOUN atau ARTICLE + NOUN atau ARTICLE+ADJECTIVE + NOUN. VERB-PHRASE dapat berupa : VERB atau VERB + ADVERB. Dengan notasi yang lebih singkat ditulis : S = NP + VP NP dapat berupa : N atau Pro atau Art + ADJ+N 3

9 BAB I. Konsep Dasar Otomata & Bahasa Formal 4 VP dapat berupa : V atau ADV Dengan demikian penurunan kalimat He sleeps dapat digambarkan : SENTENCE NOUN VERB He Sleeps Gambar 1.1 Proses penurunan kalimat dari grammar : N+V Penurunan kalimat He runs quickly dapat digambarkan (dengan notasi yang lebih singkat): S NP VP V ADV He runs quickly Gambar 1.2 Proses penurunan kalimat dari grammar : N+V+Adj Dan penurunan kalimat ketiga adalah : S NP VP Art ADJ N V ADV The big rabbit runs neatly Gambar 1.3 Proses penurunan kalimat dari grammar : Art+Adj+N+V+Adv 4

10 BAB I. Konsep Dasar Otomata & Bahasa Formal 5 Selanjutnya Grammar bahasa inggris tersebut dapat dituliskan sebagai himpunan aturan-aturan produksi sebagai berikut : S NP VP NP Noun ; NP Pro ; NP Art ADJ Noun VP V ; VP V ADV N rabbit Pro He V runs ; V sleeps ADV neatly ; ADV quickly Suatu hasil yang secara grammar benar tetapi mungkin aneh dalam kenyataannya adalah kalimat : The large mathematician sleeps quickly. Hal ini cukup memberikan gambaran bahwa dalam bahasa natural ada hal-hal yang sulit dirumuskan secara eksak diluar grammar. Sebuah kalimat yang benar secara grammar belum tentu dalam realitasnya 'make sense'. Disinilah letak kesulitan analisis bahasa natural. Analogi yang digunakan dalam bahasa formal yang diambil dari bahasa natural bahasa inggris diatas antara lain adalah : Ada sebuah simbol dalam abjad yang didefinisikan sebagai S, atau start simbol, yang berfungsi seperti SENTENCE. Dari simbol S inilah seluruh string dalam suatu bahasa dapat diturunkan. Selanjutnya aturan produksi dalam grammar dapat dianalogikan sebagai rumusan aturan tata bahasa tersebut. Aturan produksi dinamakan demikian karena aturan tersebut diciptakan untuk memproduksi suatu kalimat atau string Dalam bahasa formal persoalannya banyak disederhanakan. Suatu aturan produksi dengan ketat harus diikuti untuk menurunkan string. Misalnya dimiliki aturan produksi : S Ab ; S Bb A aa B a Maka dengan aturan tersebut dapat diturunkan suatu string : aab dan ab String aab dengan penurunan : S Ab aab 5

11 BAB I. Konsep Dasar Otomata & Bahasa Formal 6 String ab dari jalur penurunan : S Bb ab Proses penurunan string aab dan ab dapat digambarkan dalam diagram pohon sebagai berikut : S S A b B b a a a Gambar 1.4 Penurunan string aab dan ab 1.6 Elemen Bahasa Formal : Beberapa istilah yang perlu dicatat berkaitan dengan bahasa formal adalah sebagai berikut : Abjad (alphabet): Himpunan berhingga dari simbol-simbol yang dapat disusun untuk membentuk suatu kalimat. Dalam konteks teori bahasa: kalimat, string atau kata ketiganya digunakan merujuk kepada hal yang sama, yaitu rangkaian simbol-simbol yang dapat disusun dengan menggunakan simbol yang diambil dari himpunan abjad. Himpunan abjad biasa dinotasikan dengan simbol. Bahasa (Language): Himpunan seluruh string yang dapat dibangkitkan dari sebuah tatabahasa (grammar) G. Bahasa yang dibangkitkan oleh tata bahasa G biasa dinotasikan dengan L(G) atau L saja. Himpunan ini dapat berhingga atau tak berhingga. Aturan produksi (production rule : Adalah himpunan berhingga dari aturan-aturan penataan simbol dalam pembentukan sebuah string. Dengan aturan ini kita mem-produksi sebuah string, anggota suatu bahasa. Himpunan aturan produksi biasa disimbolkan sebagai P. 6

12 BAB I. Konsep Dasar Otomata & Bahasa Formal Latihan 1. Jelaskan apa pengertian otomata dan berikanlah contoh-contoh otomata dalam kehidupan sehari-hari? 2. Jelaskan perbedaan prinsip bahasa natural dengan bahasa formal! 3. Apa yang dimaksud dengan penurunan string, dalam pengertian bahasa natural dan pengertian bahasa formal? 4. Dalam tata bahasa formal dikenal istilah Non terminal, apa analoginya istilah non terminal ini dalam bahasa natural? 5. Apa bedanya string dalam bahasa formal dengan kalimat dalam bahasa natural? 7

13 BAB II. Kelas-kelas Bahasa dan Mesin Pengenalnya 8 BAB II KELAS-KELAS BAHASA DAN MESIN PENGENALNYA 2.1 Tujuan Instruksional Setelah mempelajari bab ini diharapkan mahasiswa dapat memahami tentang definisi secara formal tentang tata bahasa, bahasa dan kelas-kelas bahasa dengan pendekatan teori himpunan. Mahasiswa juga akan memahami operasi-operasi dasar yang dapat dilakukan pada bahasa dan juga mengenali dan memahami kelas-kelas bahasa berdasarkan karakteristik tata bahasanya. Secara umum juga diharapkan memahami jenis-jenis otomata yang mengenali bahasa dari berbagai kelas bahasa tersebut. 2.2 Tata Bahasa dan Bahasa Dalam bab I telah disinggung secara singkat tentang perbedaan bahasa natural dengan bahasa formal. Pada kajian selanjutnya yang dimaksud dengan bahasa dalam pembahasan tulisan ini adalah bahasa formal. Telah dijelaskan bahwa bahasa tidak lebih dari himpunan, yang dapat berhingga atau tak hingga dari string-string yang diproduksi dengan aturan-aturan yang disebut dengan tata bahasa. Berikut ini didefinisikan secara lebih konkrit apa itu tata bahasa dan bahasa. Definisi 1 : Tata bahasa (grammar) G didefinisikan sebagai tuple-4 G(, N, S, P) Dimana : : Himpunan berhingga dari simbol-simbol abjad / alphabet / vocabulary. Simbolsimbol elemen dan rangkaian simbol-simbol yang terdiri dari elemen dinamakan juga dengan simbol terminal. Simbol terminal dilambangkan dengan huruf kecil : a,b,c atau abjad 0,1,2. N : Himpunan berhingga dari simbol-simbol yang disebut sebagai simbol Non Terminal, yaitu simbol-simbol yang dapat digantikan oleh simbol lain. Dalam bahasa natural simbol non terminal misalnya : S, NP, VP, ADJ dan lain-lain. Sedangkan dalam bahasa formal simbol non terminal dilambangkan dengan

14 BAB II. Kelas-kelas Bahasa dan Mesin Pengenalnya 9 abjad huruf besar, dan cukup SATU HURUF BESAR saja, misalnya : A, B, atau C. S : Sebuah simbol yang dinamakan simbol awal (start symbol). Simbol S merupakan awal penurunan seluruh string anggota bahasa yang dibangkitkan oleh tata bahasa G tersebut. P : Himpunan berhingga aturan-aturan produksi. Aturan produksi merupakan ekspresi yang dapat dituliskan sebagai, dengan dan masing-masing adalah string (rangkaian simbol-simbol) yang dapat terdiri dari simbol terminal dan atau simbol non terminal, misalnya : A Ba Catatan : Penulisan grammar dibeberapa buku ditulis sebagai G ( V, T,S,P), dengan 8 V adalah himpunan Vocabulary, atau himpunan seluruh simbol yang ada (baik simbol terminal maupun non terminal). Sehingga dalam hal ini V terdiri dari S (start simbol), N (Non terminal simbol) dan T (Terminal simbol), atau dapat di tulis : V = T N Operasi-operasi string suatu tata bahasa Operasi Concatenation : Pada prinsipnya teori bahasa akan selalu menggunakan sebuah operasi penggabungan (concatenation), karena pada hakekatnya string/kata/kalimat adalah penggabungan dari simbol-simbol. Kata adalah penggabungan huruf. Kalimat adalah penggabungan kata-kata. Tetapi sekali lagi perlu dicatat bahwa dalam bahasa formal, string, kata (word) atau kalimat (sentence) semuanya dianggap sama, yaitu :"rangkaian simbol-simbol", disebut sebagai STRING atau UNTAI. Selanjutnya operasi penggabungan didefinisikan sebagai : = + = string digandengkan (dirangkaikan) dengan string adalah rangkaian simbo-simbol dan juga rangkaian simbol-simbol, yang sekali lagi dapat berupa simbol non terminal atau terminal. Contoh 2.1 : = ABab = BBa maka = ABabBBa

15 BAB II. Kelas-kelas Bahasa dan Mesin Pengenalnya 10 dan = BBaABab Perlu diingat bahwa operasi penggabungan tidak bersifat komutatif, artinya, kecuali jika = Panjang string : Panjang string dimaksudkan sebagai banyaknya simbol dalam string. Panjang string dilambangkan sebagai. Contoh : = ABc maka = 3 = abc maka = 3 Panjang string tidak memperhatikan apakah simbol tersebut terminal atau non terminal, setiap simbol dihitung memiliki panjang satu. Empty String ( ) atau ( ) : Suatu string khusus yang panjangnya nol, atau string yang terdiri dari "tak satupun simbol" disebut sebagai string kosong (empty string) yang dilambangkan dengan (baca : epsilon) atau (baca: lambda). String kosong memiliki sifat penggandengan sebagai : = = Penutup (Closure) : Jika dimiliki himpunan A, maka Cleene-closure dari A, dinotasikan dengan A* didefinsikan sebagai : A* = A 0 A 1 A 2 A Dengan notasi A n (baca: A pangkat n) didefinisikan sebagai concatenation (gandengan) : AAA A sebanyak n kali, atau A di gandengkan dengan A sebanyak n kali. Definisi lebih formal dapat ditulis secara rekursif sebagai: A n = A A n-1 A n-1 = A A n-2 A n-2 = A A n-3

16 BAB II. Kelas-kelas Bahasa dan Mesin Pengenalnya 11 A = A A 0 A 0 = Contoh 2.2 : Jika A = {0} maka A* = {, 0, 00, 000, 0000, } Jika B = {0,1} maka B* = {, 0, 1, 00, 01, 10, 11, 000, 001, } B* diperoleh dari : B*={ B 0 B 1 B 2 } Dimana : B 0 = { } B 1 = B = {0,1} B 2 = BB = {0,1}{0,1} = {00, 01, 10, 11} B 3 = BB 2 = {0,1} {00, 01, 10, 11} = { 000,001, 010,011, 100,101,110,111} dst Dengan demikian perlu dicermati secara hati-hati bahwa : {0,1}* tidak sama dengan {01}*, karena : {0,1}* = {, 0, 1, 00, 01, 10, 11, 000, 001, } sedangkan {01}* = {, 01, 0101, , } Positive Closure : Selain Cleene-Closure, atas himpunan A juga dapat didefinisikan suatu closure yang disebut sebagai positive-closure (A + ), yang didefinisikan sebagai : A+ = A 1 A 2 A Dengan demikian dapat ditulis pula bahwa : A* = A + atau A + = A* - Bahasa yang dibangkitkan oleh grammar G. Definisi 2 : Bahasa yang dibangkitkan oleh tata bahasa G adalah himpunan seluruh string yang dapat dibangkitkan oleh grammar G, dapat ditulis sebagai L(G): L(G) = { w * S * w }

17 BAB II. Kelas-kelas Bahasa dan Mesin Pengenalnya 12 Dengan simbol S * w dibaca : seluruh rangkaian string w yang dapat diturunkan dari S dengan sembarang produksi dalam P dan sembarang penurunan. String w adalah hanya terdiri dari simbol-simbol terminal saja atau empty string. Contoh 2.3: Dimiliki suatu tata-bahasa G(, N, S, P) dengan : ={ a,b } N = { A, B} dan P ={ S Aa ; S AB ; A aa; B b; B } tentukan bahasa yang dibangkitkan oleh grammar G di atas. Jawab : Bahasa yang dibangkitkan adalah L(G) = { aaa, aab, aa} aaa, aab dan aa masing-masing diperoleh dari pohon penurunan : S S S A a A B A B aa aa b aa Gambar 2.1 Penurunan string aaa, aab dan aa Atau penulisan yang lebih singkat dari proses penurunan adalah : Untuk aaa : S Aa aaa aab diperoleh dari penurunan : S AB aab aab aa diperoleh dari penurunan : S AB aab aa aa 2.3 Hierarchi Tata Bahasa Menurut Noam Chomsky (1950), Tata-bahasa formal dapat dikelompokkan menjadi 4 tingkatan (hierarchi), biasa disebut hierarchi tata-bahasa menurut Chomsky. Pengelompokan tata-bahasa menurut Chomsky ini ditentukan oleh aturan produksi yang dimiliki oleh grammar, yaitu tata-bahasa Tipe-0, Tipe-1, Tipe-2 dan Tipe-3. Andaikan aturan produksi dalam suatu grammar G dituliskan sebagai :

18 BAB II. Kelas-kelas Bahasa dan Mesin Pengenalnya 13 dengan masing-masing dan adalah string-string yang dapat terdiri dari simbol Non terminal atau pun simbol terminal, atau :, ( N)* maka masing-masing kelas tata-bahasa dibatasi sebagai berikut: Tata-bahasa Tipe 0 (Non-restricted Grammar): Tata-bahasa tipe-0, atau biasa disebut sebagai non-restricted grammar adalah tatabahasa yang paling luas, juga biasa disebut PHRASE STRUCTURED GRAMMAR. Tata-bahasa Tipe-0 adalah tata-bahasa yang memiliki aturan produksi : dengan batasan : : minimal terdiri dari 1 simbol Non terminal, atau {( N)* N ( N)*} : tidak dibatasi, atau : {( N)* Contoh 2.4. : Dimiliki grammar G(,N,S, P) dengan = { a, b }, N={ A, B, S} dan P = { S ABa, A BB, B ab, AB ab, BBB aa}. Perlihatkan bahwa string : abababa dan aaa adalah string-string yang diproduk oleh grammar tersebut. Jawab : Jika dicermati produksi yang ada, terlihat bahwa seluruh produksi yang ada memenuhi syarat grammar tipe-0, yaitu string kiri dalam aturan produksi minimal terdiri SATU non terminal. Penurunan abababa, ditempuh dari proses penurunan : S ABa BBBa ababba abababa Penurunan string aaa ditempuh dengan penurunan berikut: S ABa BBBa aaa Tata-bahasa Tipe 1 (Context Sensitive Grammar): Tata-bahasa tipe-1, adalah tata-bahasa tipe-0 yang memiliki aturan produksi : dengan tambahan batasan : < jika tidak dalam bentuk S

19 BAB II. Kelas-kelas Bahasa dan Mesin Pengenalnya 14 yaitu panjang string lebih kecil atau sama dengan panjang string Contoh 2.5. : Dimiliki grammar G(,N,S, P) dengan = { a, b }, N={ A, B, S} dan P = { S ABa, A BB, B ab, AB AAA, A aa, A } Apakah tatabahasa ini termasuk dalam tipe-1? Bandingkan dengan tatabahasaa contoh 2.4, apakah termasuk tipe -1? Tunjukkan bahwa string a termasuk anggota bahasa. Jawab : Grammar contoh 2.5 memenuhi tata bahasa tipe-0 dan tipe satu. Sedangkan tatabahasa pada contoh 2.4 hanya memenuhi tipe-0 dan tidak memenuhi tipe-1, karena ada aturan produksi : BBB aa pada contoh 2.4. Penurunan string "a" ditempuh dengan : S ABa AAAa a a Tata-bahasa Tipe 2 (Context -Free Grammar): Tata-bahasa tipe-2, adalah tata-bahasa tipe-1 yang memiliki aturan produksi : dengan tambahan batasan : : HANYA terdiri dari 1 simbol Non terminal saja, atau N : tidak dibatasi, atau : {( N)* Contoh 2.6.: Tunjukkan bahwa contoh 2.5. adalah tidak termasuk pada grammar tipe 2. Jawab: Jika diperhatika aturan produksi pada contoh 2.5 : S ABa, A BB, B ab, AB AAA, A aa, A

20 BAB II. Kelas-kelas Bahasa dan Mesin Pengenalnya 15 Ada aturan : AB AAA ; yaitu aturan produksi dimana ruas kiri (AB) memiliki panjang lebih dari 1. Ini melanggar aturan untuk grammar tipe- 2, dengan demikian tidak termasuk grammar tipe-2. Tata-bahasa Tipe 3 ( Regular Grammar): Tata-bahasa tipe-3, adalah tata-bahasa tipe-2 yang memiliki aturan produksi : dengan tambahan batasan : : HANYA terdiri dari 1 simbol Non terminal saja, atau N : dalam bentuk salah satu diantara : a, ab, atau dimana a adalah simbol terminal dan B adalah simbol Non terminal. Tata bahasa tipe-3 (regular) merupakan tata bahasa yang paling ketat (paling banyak aturan) dari hierarkhi tata bahasa yang ada. Secara diagram keempat tata bahasa dapat digambarkan sebagai berikut : 0 = Tipe-0 1 = Tipe-1 2 = Tipe-2 3 = Tipe-3 Gambar 2.2 Hierarkhi Tata Bahasa (Grammar) menurut Noam Chomsky Contoh 2.7 : Dimiliki grammar G(,N,S, P) dengan = { a, b }, N={ A, B, S} dan P = { S aa, A aa, A B, B bb, B }. Tentukan bahasa yang Jawab : dibangkitkan oleh tata bahasa regular berikut. Penurunan : S aa a B a a menghasilkan string : a Penurunan : S aa aaa aaaa aaaa..aa B aaa..a aaa..aa Hasilnya : aaaa..aa

21 BAB II. Kelas-kelas Bahasa dan Mesin Pengenalnya 16 Penurunan : S aa aaa aaaa aaaa..aa B aaa..abb aaa..aab Hasilnya : aaa..aab Penurunan : S aa aaa aaaa aaaa..aa B aaa..abb aaa..aabbb aaa..aabb bb aaa..aabb b aaa..aabb b Hasilnya : aaa..aabbb..b Bahasa yang dibangkitkan adalah "sederatan a dengan jumlah minimal SATU buah diikuti sederetan b dengan jumlah minimal NOL buah" atau dapat dituliskan sebagai: L(G)={aa*b*} Dimana a*={a 0 a 1 a 2 a } b*={b 0 b 1 b 2 b } 2.4 Mesin Pengenal Bahasa Beberapa tingkatan tata bahasa melahirkan beberapa tingkatan bahasa. Tata bahasa regular membangkitkan bahasa regular, tata bahasa bebas konteks membangkitkan bahasa bebas konteks dan seterusnya. Mesin abstract yang merupakan pengenal dari berbagai tingkatan bahasa tersebut dimulai dari yang paling sederhana adalah : 1. Bahasa regular, mesin pengenalnya : Finite State Automata 2. Bahasa bebas konteks, mesin pengenalnya Push Down Automata 3. Bahasa konteks sensitive, mesin pengenalnya Linear Bounded Automata 4. Bahasa unsrestricted mesin pengenalnya adalah Mesin Turing Pembahsan menganai mesin-mesin abstract pengenal suatu bahasa akan dibahas dalam bab-bab selanjutnya.

22 BAB II. Kelas-kelas Bahasa dan Mesin Pengenalnya Latihan 1. Jika dimiliki suatu tata-bahasa G(, N, S, P) dengan ={ a,b } N = { A, B} dan P ={ S Aa ; S AB ; A aa; B bb; B }, tentukan bahasa yang dibangkitkan oleh grammar G di atas. 2. Dimiliki grammar G(,N,S, P) dengan = { a, b }, N={ A, B, S} dan P = { S ABa, A BB, B ab, AB ab, BBB aa}. Perlihatkan bahwa string : aba dan abababa adalah string-string yang diproduk oleh grammar tersebut. 3. Dimiliki grammar G(,N,S, P) dengan = { a, b }, N={ A, B, S} dan P = { S ABC, A BB, B Bab, B, C aa, A }. Termasuk tipe apakah tata bahasa tersebut? Apakah alasannya? 4. Dimiliki grammar G(,N,S, P) dengan = { a,, c }, N={ A, B,C, S} dan P = { S ABC, A aa, A B, B bb, B C, C cc, C }. Tentukan bahasa yang dibangkitkan oleh tata bahasa tersebut. 5. Dimiliki grammar G(,N,S, P) dengan = { a, b, c }, N={ A, B, C, S} dan P = { S ABC, A aa, A, B bb, B, C cc, C }. Tentukan bahasa yang dibangkitkan oleh tata bahasa tersebut. Apakah perbedaan bahasa yang dibangkitkan dengan tata bahasa nomor 4? Jelaskan alasannya 6. Tentukan tata bahasa yang mengenali bahasa-bahasa berikut ini : a) L = { (abc) n n > 0 } b) L = { (ab) n c n > 0 } c) L = { a n b m c k n,m,k > 0 } 7. Tentukan tata bahasa yang mengenali bahasa-bahasa berikut ini : a) L = { 1*0* } b) L = { 10* } c) L = { 1*0 } d) L = (1,0)* 8. Tentukan tata bahasa yang mengenali bahasa-bahasa berikut ini : a) L = { a*aa, b*a } b) L = { a*bbbb* } c) L = { abcd }

23 BAB III. Ekspresi Regular dan Kelas Bahasa Regular 18 BAB III EKSPRESI REGULAR DAN KELAS BAHASA REGULAR 3.1 Tujuan Instruksional Setelah mempelajari bab ini diharapkan mahasiswa dapat memahami pengertian ekspresi regular, kaidah-kaidah ekspresi regular dan operasi-operasi yang dapat dikerjakan pada eksprfesi regular. Setelah pemahaman ekspresi regular dapat dikuasai selanjutnya dapat mengaitkan ekspresi regular dengan bahasa regular dan selanjutnya dengan tata bahasa regular. Diharapkan pula penguasaan hubungan timbal balik antara bahasa dan tata bahasa sedemikian sehingga jika dimiliki suatu bahasa akan dapat ditetapkan tata bahasanya dan sebaliknya jika dimiliki tata bahasa akan dapat ditetapkan bahasanya. 3.2 Ekspresi Regular Sebelum memasuki bahasan tentang ekspresi regular dan bahasa regular, dapat dinyatakan suatu kenyataan berikut. Jika adalah suatu himpunan abjad (yang tentu saja jumlahnya terhingga), maka : 1. * = himpunan seluruh string yang dapat disusun dari abjad dalam (seperti yang telah disampaikan dalam bab II) adalah berjumlah TAK HINGGA (countably inifinite). 2. Kumpulan dari semua bahasa yang dapat dibangkitkan dari abjad dalam berjumlah tak terhitung (uncountably) Selanjutnya ekspresi regular dapat didefinisikan secara rekursif dari definisi-definisi berikut : Definisi Ekspresi Regular : 1. = {} = (himpunan kosong) adalah sebuah ekspresi regular 2. { } =string kosong adalah ekspresi regular 3. Untuk setiap a, maka a adalah ekspresi regular 4. Jika a dan b adalah ekspresi regular maka a b, ab dan a* adalah ekspresi regular.

24 BAB III. Ekspresi Regular dan Kelas Bahasa Regular 19 Selanjutnya untuk menghindari kebingungan perlu dibedakan dengan jelas antara yang melambangkan himpunan kosong, atau tidak punya anggota, sedangkan { } adalah himpunan yang memiliki satu anggota, yaitu string kosong. Notasi a b, ab dan a* adalah penyederhanaan notasi yang diperoleh dari notasi asli sebagai berikut : Jika dimiliki himpunan A,B sebagai himpunan berikut : Ekspresi a b maksudnya : A={a} dan B={b} A B = gabungan/union antara himpunan A dengan himpunan B = {a,b} Ini dinotasikan secara singkat sebagai : a b Ekspresi ab maksudnya : 14 A={a} dan B={b} AB = CONCATENATION antara himpunan A dengan himpunan B = {ab} Ini dinotasikan secara singkat sebagai : ab Ekspresi a* maksudnya : A={a} A* = CLEENE closure dari himpunan A, seperti yang telah didefinisikan dalam bab II : A 0 A 1 A 2 A, yang menghasilkan suatu himpunan : {, a, aa, aaa, aaaa,.}, dinotasikan sebagai a* Dari definisi tentang ekspresi regular selanjutnya dapat dituliskan beberapa akibat logis, berdasarkan aturan-aturan dalam teori himpunan, sebagai berikut : Jika a,b,c adalah ekspresi regular dalam 1. a b = b a 2. a = a 3. a a = a 4. (a b) c = a (b c) 5. a = a = a 6. a = a = 7. (ab)c=a(bc)

25 BAB III. Ekspresi Regular dan Kelas Bahasa Regular a(b c)=ab ac = dan (a b)c = ac bc 9. a* = a** = a*a* = ( a)*=a*(a ) = (a )a* = aa* 10. aa*= a*a Contoh 3.1: Ekspresikan dalam bentuk ekspresi reguler kalimat-kalimat berikut : 1. Sederatan NOL minimal nol buah 2. Sederatan NOL minimal satu buah 3. Sederetan NOL minimal satu buah diikuti sederetan SATU sebanyak satu buah atau lebih 4. Sederetan bit NOL dan SATU sembarang yang diawali dengan NOL dan diakhiri dengan SATU 5. Sederetan SATU dengan jumlah GENAP 6. Sederetan NOL dengan jumlah GENAP diikuti sederetan SATU dengan jumlah GANJIL Jawab : 1. Ekspresinya : 0* 2. Ekspresinya : 00* 3. Ekspresinya : 00*11* 4. Ekspresinya : 0(0,1)*1 atau ditulis : 0(0 1)*1 5. Ekspresinya : 11(11)* 6. Ekspresinya : 00(00)*1(11)* Contoh 3.2: String apakah ekspresi-ekspresi regular berikut : 1. Ekspresi : (1,0)* 2. Ekspresi : (10)* 3. Ekspresi : (0,1)*1* 4. Ekspresi : (00)*(11)* 5. Ekspresi : (11)* (00)*

26 BAB III. Ekspresi Regular dan Kelas Bahasa Regular 21 Jawab : 1. Sederetan bit NOL dan SATU dengan jumlah sembarang dan susunan sembarang 2. Sederetan 10 berulang-ulang dengan jumlah ulangan nol atau lebih 3. Sederetan bit NOL dan SATU dengan jumlah sembarang urutan sembarang diikuti dengan deretan bit SATU dengan jumlah nol atau lebih 4. Deretan NOL kosong atau Genap diikuti deretan SATU kosong atau genap 5. String kosong atau berisi bit NOL genap atau bit SATU genap dengan posisi sembarang 3.3 Tata-Bahasa Regular Seperti telah dituliskan dalam bab sebelumnya, bahasa regular merupakan kelas bahasa yang dibangkitkan oleh tata bahasa regular. Tata bahasa ini memiliki aturan produksi dengan batasan : : HANYA terdiri dari 1 simbol Non terminal saja, atau N : dalam bentuk salah satu diantara : a, ab, atau Contoh 3.3: Tentukan bahasa yang dihasilkan oleh tata bahasa regular berikut : G(, N, S, P) ; dimana ={ a,b } N = { A, B} dan P ={ S as ; S ab ; S A ; B b; B bb; B ; A a} Jawab : Untuk menurunkan bahasa dari suatu grammar yang diketahui, maka seluruh kemungkinan penurunan yang dapat dilakukan oleh grammar tersebut harus dilakukan. String-string yang dihasilkan dihimpun membentuk suatu bahasa dari grammar tersebut. Untuk mempermudah pelacakan, tetapkan cacah aturan produksi yang ada, dalam grammar tersebut ada 7 aturan produksi, yaitu : 1. S as ; 2. S ab ;

27 BAB III. Ekspresi Regular dan Kelas Bahasa Regular S A ; 4. B b; 5. B bb; 6. B ; 7. A a Kemungkinan 1 : aturan (1,1,1, )(2)(4) aa*ab Kemungkinan 2 : aturan (1,1,1, )(2)(6) aa*a Kemungkinan 3 : aturan (1,1,1, )(2)(5,5,5, )(4) aa*abb*b Kemungkinan 4 : aturan (1,1,1, )(2)(5,5,5, )(6) aa*abb* Kemungkinan 5 : aturan (1,1,1, )(3)(7) aa*a Setelah kemungkinan penurunan seluruhnya dievaluasi selanjutnya hasil evaluasi yang mungkin sama digabung : - Kemungkinan 2 dengan kemungkinan 5 adalah sama - Kemungkinan 1 adalah kemungkinan 2 digandeng dengan b - Kemungkinan 3 adalah kemungkinan 4 digandeng dengan b Dengan demikian bahasa yang dihasilkan adalah : L(G) = { aa*a aa*ab aa*abb* aa*abb*b} = { aa*a aa*abb*)( b) 3.4 Pengenal Bahasa Regular Pengenal pada bahasa regular adalah mesin abstrak yang disebut dengan otomata berhingga (Finite State Automata, biasa disingkat FSA). Secara mendetail akan di bahas pada bab selanjutnya.

28 BAB III. Ekspresi Regular dan Kelas Bahasa Regular Latihan 1. Tuliskanlah notasi untuk ekspresi regular-ekspresi regular di bawah ini : a) Sederetan a dengan panjang minimal 1 b) Sederatan a dengan panjang minimal nol dan diakhiri dengan b c) a atau b dengan panjang minimal nol d) Sederetan ab dengan panjang minimal nol 2. Bagaimanakah mengungkapkan kalimat untuk ekspresi regular berikut a) {a,b} b) {ab} c) {ab*} d) {a*b} e) {a*,b} f) {a,b*} g) {a*b*} h) {a*,b*} 3. Tentukan bahasa yang dihasilkan oleh tata bahasa regular berikut : G(, N, S, P) ; dimana ={ a,b } N = { A, B} dan jika aturan produksi masing-masing bahasa adalah sebagai berikut : a) P ={ S as ; S } b) P ={ S as ; S a} c) P ={ S as ; S B ; B bb; B b } d) P ={ S as ; S ; S B ; B bb; B } e) P ={ S as ; S B ; B bb; B } 4. Tentukan bahasa yang dihasilkan oleh tata bahasa regular berikut : G(, N, S, P) ; dimana ={ a,b,c } N = { A, B, C} dan jika aturan produksi masing-masing bahasa adalah sebagai berikut : a) P ={ S aa ; A aa; A bb; B bb; B cc; C cc; C } b) P ={ S aa ; A aa; A bb; B bb; B cc; C cc; C ; B } c) P ={ S aa ; A bb; B cc; C cc; C } d) P ={ S aa ; A bb; B cc; C }

29 BAB IV. Finite State Machine(FSM) dan Finite State Automata (FSA) 24 BAB IV FINITE STATE MACHINE (FSM) DAN FINITE STATE AUTOMATA (FSA) Tujuan Instruksional Setelah mempelajari bab ini mahasiswa diharapkan dapat memahami konsep Finite State Machine (FSM) dan Finite State Automata (FSA) sebagai suatu konsep abstrak matematis yang menggambarkan perilaku suatu mesin logik yang menggambarkan cara kerja dari suatu mesin fisik, suatu program, algoritma atau konsepsi pemecahan masalah. Dalam konteks teori bahasa, mesin FSA dapat diterapkan untuk mengenali suatu string yang berasal dari bahasa regular yang dibangkitkan dari suatu grammar regular. Dengan demikian ada hubungan timbal balik antara bahasa regular dan FSA, yaitu jika dimiliki bahasa rtegular pasti dapat dikonstruksi suatu mesin FSA, dan sebaliknya jika dimiliki suatu FSA pasti dapat diturunkan suatu bahasa yang akan dikenali oleh mesin tersebut. Finite State Machine (Mesin keadaan terbatas) Finite State Machine adalah suatu mesin abstrak yang diwakili oleh sekumpulan keadaan, sekumpulan masukan, sekumpulan aturan transisi (perpindahan kedudukan mesin) dan (mungkin) sekumpulan keluaran. Contoh dari mesin seperti ini adalah : - Mesin Jaja (Vending Machine) - Pintu otomatis - Telepon Umum Contoh 4.1. FSM Dengan Output : Mesin Jaja (Vending Machine) : Misalkan dimiliki sebuah mesin jaja yang dapat mengeluarkan dua macam keluaran yaitu Juss Jeruk dan Juss Apel. Mesin ini memiliki kedudukan sebanyak 7 (misalkan dicatat sebagai : S0, S1, S2,, S6). Mesin ini dapat menerima masukan uang pecahan yang dapat berupa 5-an, 10-an dan 25-an. Mesin ini selain dapat menerima masukan uang pecah juga disediakan dua tombol kuning (K) dan merah (M). Jika mesin dalam kedudukan S6, maka jika ditekan ditekan K akan keluar Juss

30 BAB IV. Finite State Machine(FSM) dan Finite State Automata (FSA) 25 Jeruk dan jika ditekan R akan keluar Juss Apel. Tabel transisi kedudukan dari mesin ini dapat disajikan seperti tabel 4.1. Penggunaan tabel 4.1 sebagai fungsi transisi dari mesin Jaja dapat dipahami dalam beberapa contoh, misalnya : - Pada saat awal mesin selalu dalam state S0 - Jika pada state S0 menerima masukan 5-an maka akan pindah ke-state S1 - Jika pada state S0 menerima masukan 10-an maka akan pindah ke-state S2 - Jika pada state S0 menerima masukan 25-an maka akan pindah ke-state S5 - Jika pada state S1 menerima masukan 5-an maka akan pindah ke-state S2 - Jika pada state S1 menerima masukan 25-an maka akan pindah ke-state S6 Output mesin jaja diperoleh jika mesin dalam state-s6, yaitu : - Jika pada state S6 menerima masukan K maka akan pindah ke-state S0 dan menghasilkan OUTPUT JJ= yaitu keluar Juss Jeruk - Jika pada state S6 menerima masukan R maka akan pindah ke-state S0 dan menghasilkan OUTPUT JA= yaitu keluar Juss Apel Tabel 4.1. Fungsi Transisi Untuk Mesin Jaja Tabel transisi kedudukan mesin State Next State Output Input Input 5-an 10-an 25-an K M 5-an 10-an 25-an K M S0 S1 S2 S5 S0 S0 n n n n n S1 S2 S3 S6 S1 S1 n n n n n S2 S3 S4 S6 S2 S2 n n 5 n n S3 S4 S5 S6 S3 S3 n n 10 n n S4 S5 S6 S6 S4 S4 n n 15 n n S5 S6 S6 S6 S5 S5 n 5 20 n n S6 S6 S6 S6 S0 S JJ JA Keterangan : n = tidak ada keluaran K=tombol Kuning ditekan M=tombol Merah ditekan JJ/JA = mesin mengeluarkan Juss Jeruk / Juss Apel

31 BAB IV. Finite State Machine(FSM) dan Finite State Automata (FSA) 26 Mesin jaja tersebut hanya bisa menerima uang receh maksimum 30. Isi mesin adalah 30 ditunjukkan dengan keadaan S6. Pada kondisi S6 ini mesin berharap menerima masukan pencet tombol K atau R, bukan menerima masukan uang lagi. Ini nampak jika dalam state tertentu dimasukkan uang receh sehingga nilai uang dalam mesin jaja diatas 30 maka akan dikeluarkan kembaliannya. Misalnya : - Jika pada state S6 menerima masukan 5-an maka akan TETAP pada state S6 dan menghasilkan OUTPUT (kembalian) 5-an - Jika pada state S2 menerima masukan 25-an maka akan PINDAH menuju state S6 dan menghasilkan OUTPUT (kembalian) 5-an Finite State Automata (FSA) Finite State Machine dapat berupa suatu mesin yang tidak memiliki output. Finite State Machine yang tidak mengeluarkan output ini dikenal sebagai FINITE STATE AUTOMATA (FSA). Pada FSA mesin mula-mula dalam state S 0 dan menerima sederatan masukan yang dapat mengubahnya ke state-state berikutnya. Dalam FSA juga dikenal himpunan state-state tertentu yang disebut sabagai FINAL STATE. Perubahan dari satu state ke state berikutnya mengikuti sturan tertentu yang dirumuskan sebagai suatu FUNGSI transisi. Secara formal FSA dapat didefinisikan sebagai TUPLE-5 : Kumpulan dari 5 himpunan, atau dinotasikan sebagai : FSA adalah M = ( S,,, S 0 dan F) Dimana : S = himpunan terhingga dari state-state = himpunan terhingga dari simbol-simbol masukan pada mesin = fungsi transisi yang mengatur gerakan mesin S 0 =State AWAL F = himpunan state-state FINAL Perilaku Finite State Automata diekspresikan dalam bentuk tabel transisi atau dalam bentuk diagram transisi.

32 BAB IV. Finite State Machine(FSM) dan Finite State Automata (FSA) 27 Contoh 4.2 Buatlah diagram transisi dari FSA yang didefinisikan sebagai : M = ( S,,, S 0 dan F) dimana : S={S 0, S 1, S 2, S 3 } ={ 0,1 } F={ S 0, S 3 } Dengan fungsi transisi ada pada tabel transisi adalah sebagi berikut: Tabel 4.2. Tabel transisi State Input 0 1 S 0 S 0 S 1 S 1 S 0 S 2 S 2 S 0 S 0 S 3 S 2 S 1 Jawab : Diagram transisi dari FSA tersebut dapat digambarkan sebagai : Start 0 S S 0 S 3 1,0 S 2 0 Gambar 4.1. Diagram transisi Cara kerja FSA : - Mula-mula dalam state S 0 - Jika dari S 0 menerima 1 : akan ke State-S 1 - Jika dari S 0 menerima 11 : akan ke State-S 1 lalu ke S 2 - Jika dari S 0 menerima 0 : akan tetap di State-S 0 - Jika dari S 0 menerima 10 : akan tetap kembali lagi State-S 0

33 BAB IV. Finite State Machine(FSM) dan Finite State Automata (FSA) 28 - Jika dari S 0 berturut-turut menerima masukan : 111, maka ia akan kembali ke-s FSA Sebagai Pengenal String Mesin FSA tersebut jika menerima masukan sederetan simbol masukan dari simbol-simbol yang diijinkan maka akan menuju suatu state tertentu. Jika state akhir yang ditempuh setelah suatu FSA menerima sederetan simbol adalah state FINAL, maka deretan simbol (string) tersebut dikatakan DIKENALI oleh FSA, atau dengan kata lain FSA mengenali string tersebut. Untuk FSA diatas string-string yang dikenali adalah antara lain : atau 0* * Kumpulan seluruh string yang dikenali oleh FSA merupakan suatu BAHASA yang dikenali oleh FSA tersebut. Jika dimiliki FSA M maka bahasa yang dikenali oleh FSA di notasikan sebagai : L(M) = { x x semua string yang mengantar M dari S 0 ke (Si F) } Untuk mesin FSA diatas : L(M) = { 0*, 0*(10)0*, 0*(110,111)0* } Contoh 4.3. : Tentukan bahasa L(M) yang dikenali oleh Mesin M berikut ini : start S 0,1 1 0 S 1 0 Gambar 4.2 S 2 1 S 3 0

34 BAB IV. Finite State Machine(FSM) dan Finite State Automata (FSA) 29 Jawab : Dari diagram terlihat bahwa final-state adalah S 3. Pergerakan state yang mengantar ke final-state adalah S 0 S 1 S 2 S 3 yakni string : 011 atau string 111 yang dapat ditulis sebagai (0,1)11. Pergerakan yang lain adalah dari S0 langsung ke S2 yaitu : S 0 S 2 S 3 yang dilakukan melalui string : 01 Setelah berada pada final state masih ada pergerakan yang bersifat rekursif pada S 3 yaitu apabila diberikan masukan 0,00,000, atau : 0*. Dengan demikian jika seluruh string tersebut digabungkan akan menjadi : (0,1)110* 010*, sehingga bahasa yang dikenali adalah : L(M)= { (0,1)110* 010* } = { ((0,1)11 01)0* } 4.5 Deterministik Dan Non Deterministik FSA FSA dapat dikelompokkan menjadi Deterministik FSA (DFA) dan Non deterministik FSA (NFA) berdasarkan sifat fungsi transisinya. DFA (Deterministik FSA): Jika pada setiap state dari FSA tersebut apabila menerima input sebuah simbol maka HANYA ada SATU NEXT STATE yang mungkin dituju. NFA (NON Deterministik FSA): Jika FSA tersebut menerima input simbol maka minimal ada satu state yang akan berpindah ke LEBIH DARI SATU NEXT STATE yang mungkin dituju. Contoh 4.4 : Perhatikan gambar FSA a) (Gambar 4.3) dan FSA b) (Gambar 4.4) berikut. Ini adalah contoh-contoh DFA dan NFA Tunjukkan gambar a) ini adalah NFA : a). start 0,1 S 0,1 1 0 S 1 0 Gambar 4.3. S 2

35 BAB IV. Finite State Machine(FSM) dan Finite State Automata (FSA) 30 Jawab : Dari S 0 jika menerima masukan 0 dapat memilih ke salah satu NEXT state yaitu S 1 atau S 2. Dari S 1 jika menerima masukan 1 dapat ke S 2 atau tetap di S 1. Dengan demikian gambar diatas adalah NFA Tunjukkan gambar b) berikut adalah DFA : b). start 0 S S 1 S 2 0 Gambar 4.4. Jawab : Pada setiap state, jika menerima masukan selalu HANYA satu NEXT state yang dituju. Dengan demikian gambar b) adalah DFA. 4.6 Konversi dari NFA ke DFA Apabila dimiliki suatu FSA, misalnya M= ( S,,, S 0 dan F) yang merupakan suatu NFA, maka selalu akan dapat dibuat FSA baru yang merupakan DFA yang akan mengenali string yang sama dengan NFA. Misalkan DFA baru tersebut adalah M*={ S*, *, *, S * 0 dan F* } dimana : * = ; S * 0 = S 0 S* = himpunan state yang baru * = fungsi transisi yang baru F* = himpunan final state yang baru DFA hasil konversi NFA berbeda dalam himpunan statenya, fungsi transisi dan final statenya. Himpunan state yang baru merupakan gabungan dari next-state yang lebih dari satu membentuk himpunan state sedangkan final state yang baru adalah gabungan next state-next state yang lama apabila ia mengandung satu atau lebih final state. Untuk proses konversi NFA ke DFA dapat dilakukan dengan membuat diagram pohon transisi.

36 BAB IV. Finite State Machine(FSM) dan Finite State Automata (FSA) 31 Contoh 4.4 : FSA berikut merupakan FSA pengenal bilangan kelipatan 4 yang merupakan suatu NFA. Carilah konversi NFA tersebut menjadi suatu DFA. NFA: Pengenal string : (0,1)*00 (bilangan kelipatan 4 (biner)) 0,1 start S S 1 S 2 Gambar 4.5. Jawab: Jika diperhatikan FSA di atas, yang menyebabkan merupakan NFA adalah pada state S 0 apabila menerima masukan 0 maka next-state nya tidak pasti, yaitu dapat tetap di S 0 atau pindah ke S 1. Apabila unsur ini dapat dieliminir maka konversi dapat dilakukan. Jika diamati diagram di atas NFA tersebut adalah : M= ( S,,, S 0 dan F) dengan : S ={S 0,S 1 S 2 } = {0,1} F={S 2 } : ( S 0,0) = {S 0,S 1 } ( S 0,1)=S 0 ( S 1,0)=S 2 Selanjutnya dapat disusun diagram pohon transisi sebagai berikut : ({S 0,S 1,S 2 },0)= {S 0,S 1,S 2 } ({S 0,S 1 }, 0 )={S 0,S 1,S 2 } (S 0,0)={S 0,S 1 } ({S 0,S 1,S 2 },1)= {S 1 } S0 ({ S 0,S 1 }, 1 )={ S 0 } ( S 0,1)={ S 0 } Gambar 4.6 Proses konversi

37 BAB IV. Finite State Machine(FSM) dan Finite State Automata (FSA) 32 Penjelasan : Pohon transisi diperoleh dengan menggabungkan next-state yang mungkin lebih dari satu menjadi suatu himpunan-next state yang pada gilirannya ini dianggap sebagai suatu state baru. Misalnya apabila pada state S 0 diberi masukan 0 maka ada dua next-state yang mungkin, yaitu S 0 dan S 1, ini dihimpun menjadi satu himpunan, yaitu {S 0,S 1 }. Jika dilanjutkan apabila { S 0,S 1 } mendapat masukan 0 maka nextstate nya menjadi himpunan dari : next-state jika S 0 mendapat masukan 0 dan nextstate jika S 1 mendapat masukan 0, yakni menjadi {S 0,S 1,S 2 }. Demikian seterusnya apabila next-state next-state yang mungkin dihimpun sampai keseluruhan kemungkinan selesai dikonstruksi dalam suatu pohon penurunan. Hasil akhir yang dapat diperoleh adalah : M*= ( S*, *, *, S 0 * dan F*) Dengan : S*={ {S 0 }, { S 1 }, {S 0,S 1 } dan {S 0,S 1,S 2 } } F*={{S 0,S 1,S 2 } } * = seperti terlihat dalam diagram pohon atau dapat dibandingkan sebagai berikut : Tabel 4.3. Untuk FSA semula (NFA) State 0 1 S0 S 0,S 1 S0 S1 S2 - S2 - - Tabel 4.4. Dikonversi menjadi (lihat diagram pohon) State * 0 1 { S 0 } {S 0,S 1 } S 0 {S 0,S 1 } {S 0,S 1,S 2 } S 0 {S 0,S 1,S 2 } {S 0,S 1,S 2 } S 0

38 BAB IV. Finite State Machine(FSM) dan Finite State Automata (FSA) 33 Dengan demikian diagram konversi nya adalah : DFA: string yang dikenali adalah sama, yaitu : (1,0)* start S {S0,S1) 0 {S0,S1,S2} 1 Gambar 4.7 Hasil konversi NFA ke DFA 4.6 FSA Sebagai Pengenal Bahasa Regular FSA baik itu DFA maupun NFA merupakan pengenal terhadap kelas bahasa regular yang dapat dicirikan sebagai berikut : Aturan bahasa regular memiliki aturan produksi : : HANYA terdiri dari 1 simbol Non terminal saja, atau =1 : dalam bentuk salah satu diantara : a, ab, atau Tiap aturan produksi yang mungkin dapat diwakili oleh gerakan dalam FSA sebagai berikut : 1. Ekspresi regular diwakili oleh gerakan : Start S0 2. Ekspresi regular diwakili oleh gerakan : Start S0 3. Ekspresi regular a, atau r Aturan produksi : A a di wakili oleh : Start A a S1 4. Aturan A ab di wakili oleh : Start A a B

39 BAB IV. Finite State Machine(FSM) dan Finite State Automata (FSA) Aturan A di wakili oleh : A 6. Aturan produksi rekursif : A aa di wakili oleh : a A Dengan demikian jika dimiliki suatu grammar regular G tertentu maka akan dapat ditemukan FSA yang mampu mengenali bahasa yang dibangkitkan oleh grammar tersebut. Demikian juga jika dimiliki suatu FSA maka akan dapat ditentukan tata bahasa regular yang membangkitkan bahasa yang dikenali FSA tersebut. Contoh 4.5. : Tentukan tata bahasa yang mengenali bahasa yang dibangkitkan oleh FSA berikut : 0 start S S 1 S 2 0 Gambar 4.8 Jawab : G(, N, S, P) ; dimana ={ 0, 1 } N = { S, A, B} yakni dengan mengamati diagram dan menaganalogikan state-state sebagai non terminal, yaitu : S 0 terkait dengan non terminal S, S 1 terkait dengan non terminal A dan S 2 terkait dengan nonterminal B. Jika diagram tersebut diuraikan setiap tahapnya akan berkait dengan aturan-aturan produksi P seperti uraian berikut :

40 BAB IV. Finite State Machine(FSM) dan Finite State Automata (FSA) 35 Start 0 S 1 0 S 1 analog dengan aturan S 1A analog dengan aturan A 0A S 1 S 1 1 S 2 analog dengan A 1B start S 0 S 2 analog dengan S 0B 0 S 2 Analog dengan B Dengan demikian ada 5 aturan produksi yang menjadi bagian dari tata bahasa yang membangkitkan bahasa yang sama dengan bahasa yang dikenali oleh FSA tersebut, yaitu : P={ S 1A, A 0A, A 1B, S 0B, B } Contoh 4.6 : Tentukan FSA yang mampu mengenali bahasa yang dibangkitkan oleh grammar berikut ini : G(, N, S, P) ; dimana ={ 0, 1 } N = { A, B} dan dengan P: S 0A; A 0A; A 1B; B 1B dan B Jawab : Jika aturan produksi tersebut di rinci menjadi : 1. S 0A 2. A 0A 3. A 1B

41 BAB IV. Finite State Machine(FSM) dan Finite State Automata (FSA) B 1B 5. B Penurunan string dapat menempuh aturan : 1,3, 5 yaitu : S 0A 01B 01 =01 Atau aturan : 1 diteruskan 2 (diulang tak terbatas), dilanjutkan 3, kemudian 4 (diulang tak tertentu) dan aturan 5 : yaitu : S 0A 00A 000A 0.0A 0 01B 0 011B B Sehingga bahasa yang dibangkitkan oleh grammar tersebut adalah : L(G) = { 00*11* } Adapun FSA yang mengenali bahasa tersebut adalah : 0 1 start S 0 0 S 1 1 S 2 Gambar 4.8 Contoh 4.7 : Tentukan FSA yang mampu mengenali bahasa dan Tata bahasa nya untuk bahasa yang mewakili ekspresi bilangan real yang dapat ditulis sebagai : xxx.yyyy ; dimana {x,y 0,1,2,3,4,5,6,7,8,9} Jawab : Untuk tata bahasa dapat dituliskan sebagai berikut G(, N, S, P) ; dimana ={ 0, 1 } N = { S, A} dengan aturan produksi : S 0S 1S 2S 3S 4S 5S 6S 7S 8S 9S.A A 0A 1A 2A 3A 4A 5A 6A 7A 8A 9A ε FSA sebagai berikut : 0,1,2,3,4,5,6,7,8,9 0,1,2,3,4,5,6,7,8,9 start. S 0 S 1

42 BAB IV. Finite State Machine(FSM) dan Finite State Automata (FSA) Latihan 1. Tentukan bahasa dan grammar yang dikenali oleh FSA berikut : start 0 S S 1 1 S 2 S Tentukan bahasa dan grammar yang dapat dikenali oleh FSA berikut ini : 0 start S S 1 S 2 0,1 S Tentukanlah FSA yang mampu mengenali bahasa berikut ini dan tentukan pula grammar yang membangkitkan bahasa tersebut. a). 1*0* b). 10*11) c). (1*0*11) d). (10*11*) 4. Tentukan bahasa dan mesin pengenal bahasa dari suatu grammar dengan aturan produksi berikut ini : S aa A aa bb B bb b 5. Tentukan bahasa dan mesin pengenal bahasa dari suatu grammar dengan aturan produksi berikut ini : S aa A aa bb B bb b

43 BAB V. Tata Bahasa Bebas Konteks (Context Free Grammar) 38 BAB V TATA BAHASA BEBAS KONTEKS (CONTEXT FREE GRAMMAR ) 5.1. Tujuan Instruksional Setelah mempelajari bab ini diharapkan mahasiswa menguasai konsep tentang tata bahasa dalam kelas bebas konteks dan bahasa bebas konteks. Bentuk tat bahasa bebas konteks yang hanya mengikat simbol di sebelah kiri, yaitu panjangnya 1 non terminal, sedangkan di sebelah kanan tidak terikat menyebabkan tata bahasa ini bebas untuk ruas kanannya, sehingga terkadang memerlukan penyederhanaan. Penyederhanaan tata bahasa dari berbagai bentuk yang tidak efisien seperti adanya rekursif kiri dan pelebaran dan peninggian pohon penurunan string juga akan di bahas Batasan Tata Bahasa Bebas Konteks Telah disinggung pada Bab II bahwa tata bahasa bebas context (Context Free Grammar, biasa disingkat dengan CFG memiliki batasan sebagai berikut : Tata-bahasa Tipe 2 (Context -Free Grammar) G(,N,S, P), adalah tatabahasa tipe-1 yang memiliki aturan produksi : dengan tambahan batasan : : HANYA terdiri dari 1 simbol Non terminal saja, atau N : tidak dibatasi, atau : {( N)* Sehingga dengan demikian perbedaan dengan bahasa regular adalah pada string sisi kanan tanda panah untuk bahasa regular harus satu terminal tunggal atau terminal tunggal diikuti non terminal sedang untuk bahasa bebas konteks tidak dibatasi : Contoh 5.1. : Grammar dengan aturan : S a aa A bb B Adalah tata bahasa regular Contoh 5.2. : Grammar dengan aturan :

TEORI BAHASA DAN OTOMATA [TBO]

TEORI BAHASA DAN OTOMATA [TBO] TEORI BAHASA DAN OTOMATA [TBO] Teori Bahasa Teori bahasa membicarakan bahasa formal (formal language), terutama untuk kepentingan perancangan kompilator (compiler) danpemroses naskah (text processor).

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

TEORI BAHASA DAN OTOMATA PENGANTAR

TEORI BAHASA DAN OTOMATA PENGANTAR TEORI BAHASA DAN OTOMATA PENGANTAR PERKULIAHAN Jumlah pertemuan minimal 13 kali dan maksimal 15 kali sudah termasuk dengan ujian tengah semester (UTS) PENILAIAN ABSEN 10% (Minimal kehadiran 80% dari jumlah

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

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

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

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

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

2. Review TeoriBahasaFormal danotomata

2. Review TeoriBahasaFormal danotomata IF5110 Teori Komputasi 2. Review TeoriBahasaFormal danotomata Oleh: Rinaldi Munir Program Studi Magister Informatika STEI-ITB 1 Terminologi Alfabet: himpunan terbatas simbol-simbol Contoh: alfabetlatin,

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

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

8 April 2015 Teori Bahasa dan Otomata

8 April 2015 Teori Bahasa dan Otomata EKSPRESI REGULAR MATERI MINGGU KE-4 EKSPRESI REGULAR Bahasa disebut reguler jika terdapat FSA yang dapat menerimanya. Bahasa reguler dinyatakan secara sederhana dengan ekspresi reguler/regular expression

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

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

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

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

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

Teori Bahasa dan Operasi Matematis.

Teori Bahasa dan Operasi Matematis. Teori Bahasa dan Operasi Matematis http://www.brigidaarie.com Terminologi Bahasa Manfaat bahasa adalah sebagai media komunikasi yang menggunakan sekumpulan simbol dan dikombinasikan menurut aturan sintaksis

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

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

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

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

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

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

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

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

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

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

Pengenalan Konsep Bahasa dan

Pengenalan Konsep Bahasa dan Pengenalan Konsep Bahasa dan Automata Teori Bahasa dan Automata Viska Mutiawani - Informatika FMIPA Unsyiah 1 Bentuk komputasi yang dikenal saat ini CPU memory 2 Detil bentuk komputasi berdasarkan memory

Lebih terperinci

Mahasiswa memahami bahasa sebagai himpunan dan operasi 2 -nya, cara mendefinisikan bahasa, serta cara mengenali anggota 2 bahasa

Mahasiswa memahami bahasa sebagai himpunan dan operasi 2 -nya, cara mendefinisikan bahasa, serta cara mengenali anggota 2 bahasa Mahasiswa memahami bahasa sebagai himpunan dan operasi 2 -nya, cara mendefinisikan bahasa, serta cara mengenali anggota 2 bahasa JURUSAN TEKNIK INFORMATIKA FAKULTAS TEKNOLOGI INDUSTRI UNIVERSITAS ISLAM

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

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

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

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

Penyederhanaan Tata Bahasa Bebas Konteks dalam Bentuk Normal Chomsky Menggunakan PHP

Penyederhanaan Tata Bahasa Bebas Konteks dalam Bentuk Normal Chomsky Menggunakan PHP Penyederhanaan Tata Bahasa Bebas Konteks dalam Bentuk Normal Chomsky Menggunakan PHP 1 Rico Andrian, 2 Wamiliana dan 3 Ismail Indra Pratama 1 Jurusan Ilmu Komputer FMIPA Unila 3 Jurusan Ilmu Komputer FMIPA

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

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

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

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

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

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

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

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

Teori Bahasa Formal dan Automata

Teori Bahasa Formal dan Automata Teori Bahasa Formal dan Automata Pertemuan 9 Semester Genap T.A. 2017/2018 Rahman Indra Kesuma, S.Kom., M.Cs. T. Informatika - ITERA POKOK BAHASAN Grammar Grammar secara Formal Context Free Grammar Terminologi

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

SATUAN ACARA PERKULIAHAN MATA KULIAH : TEORI BAHASA DAN AUTOMATA (TBA) KODE / SKS : KK / 3 SKS

SATUAN ACARA PERKULIAHAN MATA KULIAH : TEORI BAHASA DAN AUTOMATA (TBA) KODE / SKS : KK / 3 SKS SATUAN ACARA PERKULIAHAN MATA KULIAH : TEORI BAHASA DAN AUTOMATA (TBA) KODE / SKS : KK-045325 / 3 SKS Mingu Pokok Bahasan 1. 1. Pendahuluan menjelaskan konsep dasar bahasa dan teori tentang string 1.1.

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

BAB II SINTAKS 2.1. SINTAKS

BAB II SINTAKS 2.1. SINTAKS BAB II SINTAKS 2.1. SINTAKS merupakan kumpulan aturan yang mendefinisikan suatu bentuk bahasa. mendefinisikan bagaimana suatu kalimat dibentuk sebagai barisan/urutan dari pemilihan suatu kata dasar. Kata

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

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

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

DIKTAT TEORI BAHASA DAN OTOMATA

DIKTAT TEORI BAHASA DAN OTOMATA 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 KATA PENGANTAR Pertama-tama kami

Lebih terperinci

TEORI BAHASA DAN OTOMATA

TEORI BAHASA DAN OTOMATA TEORI BAHASA DAN OTOMATA MATERI KULIAH : Topik Substansi 1 Kontrakpembelajaran, Pendahuluan a. Ketentuan dalam Kuliah b. Pengertian Bahasa c. Pengertian Otomata 2 Pengertian Dasar dan Operasi pada string

Lebih terperinci

BAB II MODEL KOMPUTASI FINITE STATE MACHINE. Pada Bab II akan dibahas teori dasar matematika yang digunakan

BAB II MODEL KOMPUTASI FINITE STATE MACHINE. Pada Bab II akan dibahas teori dasar matematika yang digunakan BAB II MODEL KOMPUTASI FINITE STATE MACHINE Pada Bab II akan dibahas teori dasar matematika yang digunakan dalam pemodelan sistem kontrol elevator ini, yaitu mengenai himpunan, relasi, fungsi, teori graf

Lebih terperinci

RENCANA PEMBELAJARAN SEMESTER

RENCANA PEMBELAJARAN SEMESTER RENCANA PEMBELAJARAN SEMESTER F-0653 Issue/Revisi : A0 Tanggal Berlaku : 1 Juli 2015 Untuk Tahun Akademik : 2015/2016 Masa Berlaku : 4 (empat) tahun Jml Halaman : 28 halaman Mata Kuliah : Teori Komputasi

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

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

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

BAHASA BEBAS KONTEKS UNTUK KOMPLEMEN DARI STRING BERULANG CONTEXT FREE LANGUAGE FOR COMPLEMENT OF REPEATED STRING

BAHASA BEBAS KONTEKS UNTUK KOMPLEMEN DARI STRING BERULANG CONTEXT FREE LANGUAGE FOR COMPLEMENT OF REPEATED STRING BAHASA BEBAS KONTEKS UNTUK KOMPLEMEN DARI STRING BERULANG Suharni S., Armin Lawi dan Loeky Haryanto Jurusan Matematika Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Hasanuddin (UNHAS) Jl. Perintis

Lebih terperinci

1, 2, 3

1, 2, 3 Penerapan Algoritma Depth First Search (DFS) Dinamis Untuk Menentukan Apakah Sebuah String Diterima Oleh Bahasa Reguler yang Didefinisikan Nondeterministic Finite Automata (NFA) Muhammad Ihsan, Ilden Abi

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

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

Aplikasi Simulator Mesin Turing Pita Tunggal

Aplikasi Simulator Mesin Turing Pita Tunggal Aplikasi Simulator Mesin Turing Pita Tunggal Nuludin Saepudin / NIM 23515063 Program Magister Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha 10 Bandung 40132,

Lebih terperinci

UNIVERSITAS GADJAH MADA FMIPA/DIKE/ILMU KOMPUTER Gedung SIC Lantai 1, Sekip, Bulaksumur, 55281, Yogyakarta

UNIVERSITAS GADJAH MADA FMIPA/DIKE/ILMU KOMPUTER Gedung SIC Lantai 1, Sekip, Bulaksumur, 55281, Yogyakarta UNIVERSITAS GADJAH MADA FMIPA/DIKE/ILMU KOMPUTER Gedung SIC Lantai 1, Sekip, Bulaksumur, 55281, Yogyakarta Rencana Program Kegiatan Pembelajaran Semester (RPKPS) Bahasa Otomata ( KLAS B ) Ganjil /3 sks/mii-2205

Lebih terperinci

PENDEKATAN TEORI AUTOMATA UNTUK MENYELESAIKAN APLIKASI-APLIKASI DI BIDANG ILMU KECERDASAN BUATAN

PENDEKATAN TEORI AUTOMATA UNTUK MENYELESAIKAN APLIKASI-APLIKASI DI BIDANG ILMU KECERDASAN BUATAN PENDEKATAN TEORI AUTOMATA UNTUK MENYELESAIKAN APLIKASI-APLIKASI DI BIDANG ILMU KECERDASAN BUATAN Febri Nova Lenti STMIK AKAKOM Yogyakarta Jl. Raya Janti 143 Yogyakarta 55198 febri@akakom.ac.id ABSTRAK

Lebih terperinci

LEMBAR PENGESAHAN PROSEDUR PELAKSANAAN KULIAH

LEMBAR PENGESAHAN PROSEDUR PELAKSANAAN KULIAH Halaman : 1 dari 18 LEMBAR PENGESAHAN DIBUAT OLEH MENYETUJUI Tim SOP Prodi IF Mira Kania Sabariah, S.T., M.T Ka Prodi Teknik Informatika 1 Halaman : 2 dari 18 DAFTAR ISI Lembar Pengesahan... 1 Daftar Isi...

Lebih terperinci

SATUAN ACARA PERKULIAHAN (SAP) TEORI BAHASA DAN OTOMATA

SATUAN ACARA PERKULIAHAN (SAP) TEORI BAHASA DAN OTOMATA 1 SATUAN ACARA PERKULIAHAN (SAP) TEORI BAHASA DAN OTOMATA (IK ) Oleh: Heri Sutarno JURUSAN PENDIDIKAN ILMU KOMPUTER FAKULTAS PENDIDIKAN MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS PENDIDIKAN INDONESIA

Lebih terperinci

MODUL 4: Nondeterministic Finite Automata

MODUL 4: Nondeterministic Finite Automata MODUL 4: Nondeterministic Finite Automata Slide dari 2 FA DENGAN NONDETERMINISME Disamping ini merupakan FA dari suatu bahasa regular dalam {,} * dengan ekspresi regular (+) *. p, q s, u r t Slide 2 dari

Lebih terperinci

BAB I PENDAHULUAN. memiliki tata bahasa dan aturan yang lebih luas dan luwes, sehingga tidak

BAB I PENDAHULUAN. memiliki tata bahasa dan aturan yang lebih luas dan luwes, sehingga tidak BAB I PENDAHULUAN 1.1 Latar Belakang Bahasa alami atau bahasa non formal adalah bahasa komunikasi yang digunakan oleh manusia, yaitu bahasa ucap seperti bahasa Indonesia, bahasa Inggris, bahasa Arab. Sintaks

Lebih terperinci

Teori Bahasa Formal dan Automata

Teori Bahasa Formal dan Automata Teori Bahasa Formal dan Automata Pertemuan 2 Semester Genap T.A. 2017/2018 Rahman Indra Kesuma, S.Kom., M.Cs. T. Informatika - ITERA POKOK BAHASAN Finite Automata Notasi Finite Automata Deterministic Finite

Lebih terperinci

TEORI BAHASA DAN AUTOMATA

TEORI BAHASA DAN AUTOMATA MODUL II TEORI BAHASA DAN AUTOMATA Tujuan : Mahasiswa memahami Finite State Automata (FSA) dan dapat mengeksekusi suatu mesin otomata Materi : FSA dan Implemetasi FSA Deterministic Finite Automata (DFA)

Lebih terperinci

Komponen sebuah Kompilator

Komponen sebuah Kompilator Komponen sebuah Kompilator Program Subjek Program Objek ANALISIS SINTESIS Penganalisis Leksikal (Scanner) Penganalisis Sintaks (Parser) Penganalisis Semantik Pembentuk Kode Pengoptimal Kode TABEL 1 Scanning

Lebih terperinci

RENCANA PROGRAM DAN KEGIATAN PEMBELAJARAN SEMESTER (RPKPS) Mata Kuliah Teori Bahasa Dan Otomata IF1402

RENCANA PROGRAM DAN KEGIATAN PEMBELAJARAN SEMESTER (RPKPS) Mata Kuliah Teori Bahasa Dan Otomata IF1402 RENCANA PROGRAM DAN KEGIATAN PEMBELAJARAN SEMESTER (RPKPS) Mata Kuliah Teori Bahasa Dan Otomata IF1402 SEKOLAH TINGGI TEKNOLOGI INDONESIA TANJUNG PINANG 2010 RENCANA PROGRAM DAN KEGIATAN PEMBELAJARAN SEMESTER

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

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

Tata Bahasa Pemrograman

Tata Bahasa Pemrograman Tata Bahasa Pemrograman Bahasa dapat digambarkan sebagai suatu tatatanan yang membentuk hirarki Bahasa yang menggambarkan suatu urutan yang tertata secara valid disebut dengan formal languange Untuk membentuk

Lebih terperinci

Teknik Kompilasi. Notasi Bahasa

Teknik Kompilasi. Notasi Bahasa Teknik Kompilasi Notasi Bahasa TATA BAHASA Tata bahasa / Grammar dalam OTOMATA adalah kumpulan dari himpunan variabel (non-terminal), simbol-simbol awal dan terminal yang dibatasi oleh aturan-aturan produksi.

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

Deterministic Finite Automata

Deterministic Finite Automata CSG3D3 Teori Komputasi Deterministic Finite Automata Agung Toto Wibowo Ahmad Suryan Yanti Rusmawati Mahmud Dwi Sulistiyo Kurniawan Nur Ramadhani Said Al Faraby Dede Rohidin KK Intelligence, Computing,

Lebih terperinci