Operasi FA dan Regular Expression

dokumen-dokumen yang mirip
Minimum DFA. CSG3D3 Teori Komputasi

Deterministic Finite Automata

Non-Deterministic Finite Automata

Grammar dan Tingkat Bahasa

Teori Bahasa Formal dan Automata

NonDeterministic Finite Automata. B.Very Christioko, S.Kom

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

Teori Bahasa Formal dan Automata

MODUL 6: TEOREMA KLEENE

MODUL 5: Nondeterministic Finite Automata dengan

Sumarni Adi TEKNIK INFORMATIKA STMIK AMIKOM YOGYAKARTA 2013

TEORI BAHASA DAN AUTOMATA

Lecture Notes Teori Bahasa dan Automata

Non-deterministic Finite Automata Dengan -Move

EKSPRESI REGULAR PADA SUATU DETERMINISTIC FINITE STATE AUTOMATA

Teori Bahasa Formal dan Automata

Teori Bahasa dan Otomata

FINITE STATE MACHINE / AUTOMATA

MODUL 4: Nondeterministic Finite Automata

TEORI BAHASA DAN AUTOMATA

TEORI BAHASA DAN OTOMATA [TBO]

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

Penerapan Graf Transisi dalam Mendefinisikan Bahasa Formal

TEORI BAHASA DAN OTOMATA [TBO]

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

TEKNIK KOMPILASI Bahasa Regular

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

BAB 3 ANALISIS DAN PERANCANGAN PROGRAM. dirancang dan selanjutnya dapat diketahui gambaran dan kemampuan sistem secara

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

PEMODELAN PERANGKAT LUNAK UNTUK PENGERTIAN DETERMINISTIC FINITE AUTOMATA DAN NON-DETERMINISTIC FINITE AUTOMATA

MODUL 3: Finite Automata

Teori Bahasa Formal dan Automata

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

TEORI BAHASA DAN AUTOMATA

Tanggal Revisi : Tanggal : SATUAN ACARA PERKULIAHAN

RENCANA PEMBELAJARAN SEMESTER (RPS)

TEORI BAHASA DAN OTOMATA [TBO]

Reduksi DFA [Deterministic Finite Automata]

Teori Bahasa & Otomata

FINITE STATE AUTOMATA

Teori Bahasa dan Otomata 1

TUGAS MAKALAH TEORI BAHASA & AUTOMATA

MODUL 1: PENGANTAR TEORI BAHASA

8 April 2015 Teori Bahasa dan Otomata

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

TEORI BAHASA DAN AUTOMATA

IF-UTAMA 1. Definisi. Grammar. Definisi

TEORI BAHASA DAN AUTOMATA

SILABUS MATAKULIAH. Indikator Pokok Bahasan/Materi Aktifitas Pembelajaran

MODUL 11: PUSHDOWN AUTOMATON

Teori Bahasa Formal dan Automata

FIRDAUS SOLIHIN FAKULTAS TEKNIK UNIVERSITAS TRUNOJOYO

Aplikasi Simulator Mesin Turing Pita Tunggal

BAHASA REGULER 1. Ekspresi Regular

Pendahuluan. CSG3D3 Teori Komputasi

Tata Bahasa Kelas Tata Bahasa. Konsep Bahasa (1)

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

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

MODUL MATA KULIAH TEORI BAHASA DAN OTOMATA DOSEN:

BAB 2. ANALISIS LEKSIKAL

RENCANA PEMBELAJARAN SEMESTER

Teori Bahasa Formal dan Automata

BAB I TEORI BAHASA DAN AUTOMATA

Lecture Notes Teori Bahasa dan Automata

TEORI BAHASA DAN AUTOMATA

DFA. Teori Bahasa dan Automata. Viska Mutiawani - Informatika FMIPA Unsyiah

BAB I PENDAHULUAN 1-1

PENDAHULUAN. Terdapat tiga topik utama di teori otomata yaitu:

Teori Bahasa dan Operasi Matematis.

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

Ekspresi Reguler Definisi. Notasi Ekspresi Regular. Contoh Ekspresi Reguler [2]

TEORI BAHASA DAN OTOMATA PENGANTAR

Contents.

Pada tahun 1961, Pumping Lemma yang merupakan metode untuk membuktikan regularitas dan iregularitas suatu bahasa ditemukan oleh Yehoshua Bar-Hillel, M

Mesin Turing. Pertemuan Ke-14. Sri Handayaningsih, S.T., M.T. Teknik Informatika

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

MODUL 2: Bahasa Regular dan Ekspresi Regular

PERTEMUAN 9 TEORI BAHASA DAN OTOMATA [TBO]

1, 2, 3

SATUAN ACARA PERKULIAHAN (SAP) TEORI BAHASA DAN OTOMATA

RENCANA PROGRAM KEGIATAN PERKULIAHAN SEMESTER (RPKPS)

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

Teori Komputasi 10/15/2015. Bab 3: Konsep Bahasa dan Otomata. Teori Bahasa. Teori Bahasa. Agenda. Teori Bahasa Otomata Operasi Dasar String

Pendahuluan. Push Down Atomata. Perbedaan FA dan PDA [7] 4/25/2012 IF-UTAMA 1. Grammar-machine equivalence [3] Latar belakang munculnya konsep PDA

TEORI BAHASA DAN AUTOMATA

MODUL 7: MINIMISASI FA

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

SATUAN ACARA PERKULIAHAN (SAP)

Algoritma Pencarian String dengan Regular Expression

Konsep Bahasa. Simbol Abjad/alfabet String/kata/untai String kosong Bahasa (Language) Bahasa Kosong Bahasa Universal dari

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

BAB V CONTEXT FREE GRAMMAR DAN PUSH DOWN AUTOMATA

Teori Bahasa & Otomata

GARIS-GARIS BESAR PROGRAM PENGAJARAN (GBPP)

Ekspresi Regular. Teori Bahasa dan Automata. Viska Mutiawani - Informatika FMIPA Unsyiah

TEORI BAHASA & AUTOMATA

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

TEORI BAHASA DAN OTOMATA [TBO]

TEORI BAHASA DAN OTOMATA

INTELLIGENT DECISION SUPPORT SYSTEM DALAM MENDETEKSI BEHAVIOUR SIRKUIT LOGIKA

Transkripsi:

CSG3D3 Teori Komputasi Operasi FA dan Regular Expression Agung Toto Wibowo Ahmad Suryan Yanti Rusmawati Mahmud Dwi Sulistiyo Kurniawan Nur Ramadhani Said Al Faraby Dede Rohidin KK Intelligence, Computing, and Multimedia

Pertemuan 8 Operasi FA

Operasi pada Regular Language [1] Jika A dan B adalah bahasa reguler, maka terhadap keduanya dapat dilakukan suatu operasi union, concatenation, dan star, yang didefinisikan sebagai berikut. a. Union: A B = {x x A or x B} b. Concatenation: A B = {xy x A and y B} c. Star: A* = {x 1 x 2 x k k 0 dan setiap x i A}

Operasi pada Regular Language [2] Sifat closed : kumpulan objek disebut closed dalam beberapa operasi jika saat operasi tersebut diterapkan pada anggota kumpulan objek tersebut, akan dihasilkan sebuah objek yang masih merupakan anggota kumpulan objek tersebut. Jika A1 and A2 adalah regular languages, begitu pula halnya dengan A1 A2. Jika A1 and A2 adalah regular languages, begitu pula halnya dengan A1 A2.

Operasi pada Regular Language [3] Jika kita mempunyai alphabet = {a, b,, z} dan kita memiliki bahasa A = {good, bad} serta bahasa B = {boy, girl}, maka a. A B = {good, bad, boy, girl} b. A B = {goodboy, goodgirl, badboy, badgirl} c. A*= {λ, good, bad, goodgood, goodbad, badgood, badbad, goodgoodgood, goodgoodbad, }

Operasi pada STD Seperti halnya pada bahasa regular, kita juga dapat melakukan operasi pada beberapa STD (representasi dari mesin FA) Jenis operasi yang dapat dilakukan pun sama, yaitu: Union: antara dua buah FA, misal M1 M2 Concatenation: antara dua buah FA, misal M1 M2 Star: untuk suatu FA, misal M1* Biasanya, operasi FA dilakukan untuk membangun sebuah mesin FA untuk tujuan yang lebih kompleks, dengan memanfaatkan mesinmesin FA sederhana yang sebelumnya sudah pernah dibuat. Atau, operasi pada mesin-mesin FA dilakukan sebagai implementasi operasi pada bahasa regular yang telah dilakukan.

Operasi Union pada STD [1] Misal, diberikan = {x,y}, Terdapat M1 yang menghasilkan bahasa L(M1) = L1 Terdapat M2 yang menghasilkan bahasa L(M2) = L2 Buatlah M = M1 M2, sehingga L(M) = L1 L2 = {x x L1 atau x L2}

Operasi Union pada STD [2] Langkah-langkah : [hal 57] Gambar 1 initial state baru beserta panah initial. Initial state baru tersebut akan menjadi accepted jika ada minimal satu dari initial states yang lama (pada mesin-mesin FA yang di-union-kan) adalah accepted state. Gambar busur dari initial state baru tersebut ke states tujuan (hasil transisi) semua initial states yang lama dengan menerima (label) simbol yang sesuai. Hilangkan panah pada initial states lama. Hilangkan inaccessible states (jika diperlukan).

Operasi Union pada STD [3] Berikut hasil operasi union M = M1 M2, sehingga L(M) = L1 L2 = {x x L1 atau x L2}

Operasi Concatenation pada STD [1] Misal, diberikan = {x,y}, Terdapat M1 yang menghasilkan bahasa L(M1) = L1 Terdapat M2 yang menghasilkan bahasa L(M2) = L2 Buatlah M = M1 M2, sehingga L(M) = L1 L2 = {xy x L1 dan y L2}

Operasi Concatenation pada STD [2] Langkah-langkah untuk mendapatkan M1 M2 : [hal 59] Untuk setiap accepted state di M1, gambarkan busur ke states yang ditunjuk oleh initial state M2, dengan label/simbol yang sama seperti busur dari initial state M2 ke states tersebut. Accepted states di M1 masih tetap accepted jika initial state di M2 adalah accepted state. Jika tidak, hilangkan tanda accepted state di M1. Hilangkan tanda panah initial state di M2. Hilangkan inaccessible states (jika diperlukan).

Operasi Concatenation pada STD [3] Berikut hasil operasi concatenation M = M1 M2, sehingga L(M) = L1 L2 = {xy x L1 dan y L2}

Operasi Star pada STD [1] Misal, diberikan = {x,y} dan terdapat M1 yang menghasilkan bahasa L(M1) = L1 Buatlah M = M1*, sehingga L(M) = L1* = {x 1 x 2 x k k 0 dan setiap x i L1}

Operasi Star pada STD [2] Operasi Star disebut juga dengan Kleene Star. Hasil dari operasi Star pada L1 adalah bahasa reguler L1 yang mengulangi bahasa L1 itu sendiri sebanyak 0, 1, 2, 3, kali. Secara intuisi, bentuk perulangan ini adalah concatenation ke bahasa itu sendiri. Dengan demikian, untuk semua accepted state pada M1, cukup ditambahkan busur-busur ke tujuan dari initial state M1 tersebut. menjadi

Operasi Star pada STD [3] Sudah selesaikah?? Apa masalahnya?? menjadi Perhatikan bahwa bahasa hasil operasi Star tersebut mungkin diulang sebanyak 0 kali, sehingga string kosong seharusnya dalam hal ini pun diterima. Initial state juga harus accepted state

Operasi Star pada STD [4] Langkah-langkah : [hal 60] Gambar 1 initial state baru. Gambarkan busur dari inisitial state baru tersebut ke states yang ditunjuk oleh initial state lama dengan label yang sama. Untuk setiap accepted state yang lainnya, gambarkan busur dari setiap accepted state tersebut ke states yang ditunjuk oleh initial state lama dengan label yang sama. Jadikan initial state yang baru menjadi accepted state. Hapuskan panah di initial state yang lama. Hilangkan inaccessible states (jika diperlukan).

Operasi Star pada STD [5] Berikut hasil operasi Star M = M1*, sehingga L(M) = L1* = {x 1 x 2 x k k 0 dan setiap x i L1}

Latihan Terhadap M1 dan M2 di bawah ini, lakukan operasi berikut dan gambarkan hasilnya. 1. M1 M2 2. M1 M2 3. M1* 4. (M2 M1)*

Pertemuan 8 Regular Expression

Regular Expression [1] Regular expression atau ekspresi reguler adalah model yang menyatakan aturan penurunan/penyusunan suatu bahasa reguler. Regular expression dapat dibentuk dari sebuah FA (hasil terjemahan sebuah FA) atau sebaliknya, regular expression menyatakan spesifikasi sebuah bahasa yang kemudian dapat disusun FA-nya. Contoh: [a..z]([a..z]+[0..9])*@[a..z]*.[a..z]* regular expression untuk menyatakan sebuah alamat email dapat digunakan untuk mem-validasi sebuah alamat email

Regular Expression [2] Jika kita mempunyai alfabet, maka ekspresi reguler yang dapat dibangun oleh alfabet itu adalah : {} adalah ekspresi reguler Setiap anggota adalah ekspresi reguler Jika p dan q adalah ekspresi reguler, maka operasi p q adalah ekspresi reguler, dinyatakan dengan p+q Jika p dan q adalah ekspresi reguler, maka operasi p q adalah ekspresi reguler, dinyatakan dengan pq Jika p adalah ekspresi reguler, maka operasi p* adalah ekspresi reguler, dinyatakan dengan p*

Automata dari Ekspresi Reguler [1] Basis pembentukan automata dari ekspresi reguler : Bagian yang menangani ekspresi ε dengan himpunan bahasa {ε}. Bagian yang menangani ekspresi {} dengan himpunan bahasa {} Bagian yang menangani ekspresi a dengan himpunan bahasa L(a)

Automata dari Ekspresi Reguler [2] Pengembangan ekspresi regular dengan operasi antar sub-ekspresi Dasar pembentukan automata dari sebuah ekspresi regular R + S akan menghasilkan bahasa L(R) L(S) RS akan menghasilkan bahasa L(R) L(S) R* akan menghasilkan bahasa L(R*)

Contoh Soal [1] Ubah ekspresi reguler (0 + 1)*1(0 + 1) menjadi bentuk automata. Langkah-langkah : Pandang sebagai sub-sub automata dan lakukan operasi terhadap automata-automata tersebut. Contoh kita bisa menganggap 0 + 1 sebagai sub automata Kemudian (0 + 1) * sebagai sub automata Dan dilanjutkan hingga tergabungkan kesemuanya

Contoh Soal [2] Hasil akhir ε ε ε ε 0 1 ε ε ε ε 1 ε ε ε 0 1 ε ε

Contoh Soal [3] Perhatikan bahwa jika ε dihilangkan, maka akan diperoleh hasil yang lebih sederhana berikut. (0+1) 1 (0+1) Regular expression (0 + 1)*1(0 + 1) menjadi FA

Automata dari Ekspresi Reguler [3] Secara intuisi, kita dapat mengubah ekspresi reguler menjadi FA dengan pedoman: Union percabangan busur atau pada busur yang sama Concatenation melanjutkan dari state terakhir ke states baru Star menghasilkan looping dari suatu state ke dirinya sendiri (untuk 1 simbol) atau melalui states lainnya (untuk lebih dari 1 simbol) Namun, cara di atas tidak selalu benar atau dapat diterapkan, sehingga 1. Gunakan dasar pembentukan automata dari sebuah ekspresi reguler (ada di beberapa slide sebelumnya) yang mengandung ε-move 2. Ubah segera ε-nfa tersebut menjadi NFA tanpa ε-move (ada di slide materi NFA dengan ε-move) sebelum dioperasikan lagi dengan ekspresi reguler berikutnya

Contoh Soal [4] Ubahlah ekspresi regular berikut menjadi FA yang ekivalen! R = (11)* + (00)* Hasil: FA yang ekivalen dengan R 1 B A 0 1 Jawaban 0 C Yang Salah!!

Contoh Soal [5] FA yang ekivalen dengan R = (11)* + (00)* B D A C 1 1 0 0 ε ε B D A C 1 1 0 0 ε ε 1 0 B D A C 1 1 0 0 1 0 Jawaban yang benar!

Latihan Ubah regular expression berikut menjadi FA! 1. (01 + 0(01)*)01 2. (0 + 11*)0(0 + 1)0* 3. y(x + (yz))* 4. (a + b)*b + a(a + b)* 5. (ba*)* Kerjakan soal-soal di buku Theory of Computation : Formal Language, Automata and Complexity hal. 66 no. 2, 3, 4, 5.

Konversi FA ke Regular Expression Diberikan FA sebagai berikut. Yang diperhatikan: 1. Jalur-jalur (paths) dari initial menuju setiap final state dengan menggantikan middle states 2. Looping yang mungkin pada initial state 3. Looping yang mungkin pada setiap final state