TUGAS MAKALAH TEORI BAHASA & AUTOMATA

dokumen-dokumen yang mirip
8 April 2015 Teori Bahasa dan Otomata

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

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

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

TEORI BAHASA DAN OTOMATA

BAHASA REGULER 1. Ekspresi Regular

FINITE STATE MACHINE / AUTOMATA

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

TEORI BAHASA DAN AUTOMATA

TEORI BAHASA DAN OTOMATA

BAB III AUTOMATA HINGGA NON-DETERMINISTIK DAN EKUIVALENSI AHN AHD - GR

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

MODUL 4: Nondeterministic Finite Automata

TEORI BAHASA DAN OTOMATA [TBO]

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

Teori Bahasa dan Otomata 1

Deterministic Finite Automata

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

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

Non-deterministic Finite Automata Dengan -Move

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

Teori Bahasa Formal dan Automata

BAB I PENDAHULUAN 1-1

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

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

TEORI BAHASA DAN OTOMATA [TBO]

TEORI BAHASA DAN AUTOMATA

TEORI BAHASA DAN OTOMATA [TBO]

BAB V CONTEXT FREE GRAMMAR DAN PUSH DOWN AUTOMATA

Teori Bahasa Formal dan Automata

TEKNIK KOMPILASI Bahasa Regular

Komponen sebuah Kompilator

Penerapan Graf Transisi dalam Mendefinisikan Bahasa Formal

Teori Bahasa dan Otomata

TEORI BAHASA DAN OTOMATA

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

Penerapan Finite State Automata Pada Proses Peminjaman Buku di Perpustakaan Universitas Kristen Satya Wacana Artikel Ilmiah

Non-Deterministic Finite Automata

Teori Bahasa Formal dan Automata

Penggunaan Mesin Turing Multitrack untuk Operasi Bilangan Biner

RENCANA PROGRAM KEGIATAN PERKULIAHAN SEMESTER (RPKPS)

MODUL 3: Finite Automata

MODUL 6: TEOREMA KLEENE

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

Contents.

MODUL 1: PENGANTAR TEORI BAHASA

FINITE STATE AUTOMATA

TEORI BAHASA DAN AUTOMATA

TEORI BAHASA DAN AUTOMATA

MODUL 17. BAHASA-BAHASA REKURSIF DAN RECURSIVELY ENUMERABLE

Grammar dan Tingkat Bahasa

Operasi FA dan Regular Expression

Tata Bahasa Kelas Tata Bahasa. Konsep Bahasa (1)

EKSPRESI REGULAR PADA SUATU DETERMINISTIC FINITE STATE AUTOMATA

TEORI BAHASA DAN AUTOMATA

Disusun oleh: Rina Dewi Indah Sari, S.Kom

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

TEORI BAHASA DAN AUTOMATA

UNIVERSITAS GUNADARMA

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

MODUL 7: MINIMISASI FA

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

SILABUS MATAKULIAH. Indikator Pokok Bahasan/Materi Aktifitas Pembelajaran

Amir Hamzah AKPRIND PRESS 2009

Lecture Notes Teori Bahasa dan Automata

Aplikasi Simulator Mesin Turing Pita Tunggal

MODUL 5: Nondeterministic Finite Automata dengan

TEORI BAHASA DAN AUTOMATA

PENDAHULUAN Teori Bahasa

Reduksi DFA [Deterministic Finite Automata]

SISTEM INFORMASI UNIVERSITAS GUNADARMA 2012/2013. Graf Berarah

BAB 4 IMPLEMENTASI DAN EVALUASI PROGRAM. dengan perangkat yang digunakan. Beberapa kriteria standar ditentukan agar sistem

BAB VI METODE PARSING

TEORI BAHASA & AUTOMATA

SATUAN ACARA PERKULIAHAN MATA KULIAH GRAPH & ANALISIS ALGORITMA (SI / S1) KODE / SKS : KK / 3 SKS

Teknik Kompilasi. Notasi Bahasa

1. Pendahuluan. 2. Tinjauan Pustaka

TEKNIK KOMPILASI Konsep & Notasi Bahasa

anggota alfabet dinamakan simbol terminal atau token.

Teori Komputasi 11/23/2016. Bab 6: Context-Free Grammar & Parsing. Context-Free Grammar. Context-Free Grammar

DIKTAT TEORI BAHASA DAN OTOMATA

GARIS-GARIS BESAR PROGRAM PENGAJARAN (GBPP)

SATUAN ACARA PERKULIAHAN (SAP) Semester Penempatan

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

MODUL 11: PUSHDOWN AUTOMATON

Teori Bahasa dan Operasi Matematis.

RENCANA PEMBELAJARAN SEMESTER

Sumarni Adi TEKNIK INFORMATIKA STMIK AMIKOM YOGYAKARTA 2013

1, 2, 3

Tanggal Revisi : Tanggal : SATUAN ACARA PERKULIAHAN

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

STRUKTUR ALJABAR 1. Kristiana Wijaya

SATUAN ACARA PERKULIAHAN (SAP)

TEORI BAHASA DAN AUTOMATA

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

PushDown Automata(PDA) Definisi : PDA adalah pasangan 7 tuple M = (Q,, q 0. ), dimana :

IF-UTAMA 1. Definisi. Grammar. Definisi

II. LANDASAN TEORI. Ide Leonard Euler di tahun 1736 untuk menyelesaikan masalah jembatan

Perbandingan Kompresi Data Menggunakan Algoritma Huffman dan Algoritma DMC

Transkripsi:

TUGAS MAKALAH TEORI BAHASA & AUTOMATA Anggota Kelompok : 1. Aedy Suciawan (50407040) 2. Afrista Reolny W (50407042) 3. Arnoldus Billy Jansen (50407161) 4. Endah Nurhayati (50407318) 5. Danang Panji P (50407227) UNIVERSITAS GUNADARMA Copyright 2010

Definisi Automata Hingga Automata Hingga merupakan mesin abstrak yang terdiri dari Head Pembaca dan Kotak Kontrol Stata Hingga. Mesin ini membaca sebuah pita (tape), satu persatu karakter, dari kiri ke kanan. Perubahan stata terjadi pada mesin jika suatu karakter pita dibaca. PITA a a a b b b ^ Read Head Pada saat Automata Hingga mulai membaca Pita, ia harus selalu mulai dengan berada pada suatu stata, yang ditunjuk sebagai stata awal. Sebuah Automata Hingga Deterministik (AHD) terdiri atas 5 tupel (K, V T, f, q0, Z). Dimana : 1. K adalah Himpunan Hingga berisi Stata. 2. V T adalah Himpunan Hingga berisi Simbol Input. 3. Sebuah fungsi f : K x V T, dimana K merupakan fungsi next-state. 4. q0 adalah Stata Awal anggota K. 5. Z adalah subset dari K yang berisi Stata Akhir atau Stata Penerima. Contoh : V T = (a,b) adalah himpunan simbol input. K = (q0, q1, q2) adalah himpunan stata. Z = (q0, q1) adalah himpunan stata penerima. q0 adalah stata awal.

Fungsi Next-State f : K x V T K didefinisikan sebagai tabel berikut : f a b q0 q1 q2 q0 q0 q2 q1 q2 q2 Automata Hingga Deterministik dapat dinyatakan dalam diagram berupa Graph Berarah. Pada graph berarah tersebut terdapat sebuah simpul sebagai stata awal q0. Lingkaran berlapis dua digunakan untuk menyatakan stata penerima. Bila f(q0, a) = q0, maka terdapat busur dari q0 ke q0 dengan label a. Graph berarah dari Automata Hingga Deterministik di atas terlihat pada gambar berikut : Automata M dikatakan dapat menerima atau mengenal string w jika Stata Akhir merupakan Stata Penerima. Himpunan semua string yang dapat diterima oleh Automata M dinotasikan dengan L (M). Maka dari contoh akan menerima dan menolak untai : abababaa diterima aaaabab diterima aaabbaba ditolak Jawab : i) δ (q0,abababaa) δ (q0,bababaa) δ (q1,ababaa) δ (q0,babaa) δ (q1,abaa) δ (q0,baa) δ (q1,aa) δ (q0,a) q0 Tracing berakhir di q0 (state AKHIR) kalimat abababaa diterima

ii) δ (q0, aaaabab) δ (q0,aaabab) δ (q0,aabab) δ (q0,abab) δ (q0,bab) δ (q1,ab) δ (q0,b) q1 Tracing berakhir di q1 (state AKHIR) kalimat aaaababa diterima iii) δ (q0, aaabbaba) δ (q0, aabbaba) δ (q0, abbaba) δ (q0, bbaba) δ (q1,bbaba) δ (q2,baba) δ (q2,aba) δ (q2,ba) δ(q2,a) q2 Tracing berakhir di q2 (bukan state AKHIR) kalimat aaabbaba ditolak Kesimpulan : sebuah kalimat diterima oleh DFA di atas jika tracingnya berakhir di salah satu state AKHIR. Ada tiga tipe Automata Hingga, yaitu : 1. Automata Hingga Deterministik (AHD) 2. Automata Hingga Non-Deterministik (AHN) 3. Automata Hingga Non-Deterministik dengan transisi hampa 1. AUTOMATA HINGGA DETERMINISTIK (AHD) AHD dapat dilengkapi dengan fungsi Next-State berikut : a) M(q, ^) = q untuk semua q anggota K b) M(M(q, t), T), untuk semua t anggota V T dan T anggota V T Dari definisi pertama, terlihat bahwa sebuah AHD tidak bisa mengubah stata tanpa membaca sebuah karakter masukan. Definisi kedua adalah sebuah definisi yang bersifat rekursif, yang menunjukkan di stata mana AHD berada pada saat di mulai di stata q dengan mendapat input berupa string w = tt. Sebuah string w adalah diterima oleh sebuah F = (K, V T, M, S, Z) jika M(S, W) = p, sedemikian hingga w adalah anggota V T dan p anggota Z.

Atau dengan kata lain, string w diterima oleh AHD jika setelah membaca habis semua karakter dari untai, AHD berada pada sebuah Stata Akhir. Himpunan semua untai w anggota V T yang diterima oleh AHD F dinotasikan sebagai L(F). Gambar berikut merupakan digraph Transisi dari sebuah AHD. AHD pada contoh ini merupakan sebuah AHD yang menerima untai yang terdiri dari simbol 0 dan 1. AHD tersebut dapat dinyatakan sebagai berikut : F = ( {S, A, B, C}, {0, 1}, M, S, {S} ) dimana fungsi next state M adalah : M(S, 0) = B M(A, 0) = C M(B, 0) = S M(C, 0) = A M(S, 1) = A M(A, 1) = S M(B, 1) = C M(C, 1) = B Fungsi stata berikut dari AHD kadang-kadang lebih mudah disajikan dalam bentuk tabel. Untuk contoh di atas tabel yang terbentuk adalah : STATA S A INPUT 0 1 B C A S

B C S A C B Contoh dari string yang diterima AHD di atas adalah 110101 dan contoh string yang tidak dapat diterima adalah 11101. Bagan operasi AHD pada kedua untai di atas adalah sebagai berikut : Penelusuran string 110101 : Penelusuran string 11101 : M(S, 110101) = M(A, 10101) M(S, 11101) = M(A, 1101) = M(S, 0101) = M(S, 101) = M(B, 101) = M(A, 01) = M(C, 01) = M(C, 1) = M(A, 1) = M(B, ^) = M(S, ^) = B (ditolak) = S (diterima) EQUIVALENSI 2 AHD Dua buah AHD dikatakan ekuivalen jika keduanya dapat menerima bahasa yang sama. Misalkan kedua AHD tersebut adalah A dan A. Misalkan pula bahasa yang diterima adalah bahasa L yang dibangun oleh alfabet V T = {a1, a2, a3,..., an}. Berikut ini algoritma untuk menguji ekuivalensi dua buah AHD. a. Berikan nama kepada semua stata masing-masing AHD dengan nama berbeda. Misalkan nama-nama tersebut adalah : S, A1, A2,..., untuk AHD A, dan : S, A1, A2,... untuk AHD A. b. Buat tabel (n+1) kolom, yaitu kolom-kolom : (v, v ), (v a1, v a1,),..., (v a1, v an ), yaitu pasangan terurut (stata AHD A, stata AHD A ).

c. Isikan (S, S ) pada baris pertama kolom (v, v ), di mana S dan S masing-masing adalah stata awal masing-masing AHD. d. Jika terdapat edge dari S ke A1 dengan a1 dan jika terdapat edge dari S ke A1 juga dengan label a1, isikan pasangan terurut (A1, A1 ) sebagai pada baris kolom (v a1, v a1 ). Lakukan hal yang sama untuk kolom-kolom berikutnya. e. Perhatikan nilai-nilai pasangan terurut pada baris pertama. Jika terdapat nilai pasangan terurut pada kolom (v a1, v a1 ) s/d (v an, v an ) yang tidak sama dengan nilai pasangan terurut (v, v ), tempatkan nilai tersebut pada kolom (v, v ) baris-baris berikutnya. Lakukan hal yang sama seperti yang dilakukan pada langkah (d). Lanjutkan dengan langkah (5). f. Jika selama proses di atas dihasilkan sebuah nilai pada kolom (v, v ) dengan komponen v merupakan stata penerima sedangkan komponen v bukan, atau sebaliknya, maka kedua AHD tersebut tidak ekuivalen. Proses dihentikan. g. Jika kondisi (f) tidak dipenuhi dan jika tidak ada lagi pasangan terurut baru yang harus ditempatkan pada kolom (v, v ) maka proses dihentikan dan kedua AHD tersebut ekuivalen. Dengan menggunakan algoritma di atas maka dapat dibentuk tabel berikut :

2. Ekspressi reguler Bahasa disebut reguler jika terdapat FSA (FINITE STATE AUTOMATA) yang dapat menerimanya. Bahasa reguler dinyatakan secara sederhana dengan ekspresi reguler/regular expression (RE). Contoh penerapan : searching string pada file RE -> NFA dengan ε Move -> DFA Definisi ekspresi reguler : Jika Σ merupakan himpunan simbol, maka : 1., λ, dan a Σ adalah ekspresi reguler dasar 2. jika r dan t masing masing merupakan ekspresi reguler maka komposisi berikut merupakan ekspresi reguler : Contoh ekspresi reguler (0+1)* : himpunan seluruh string yang dapat dibentuk dari simbol 0 dan 1 (0+1)*00(0+1)* : himpunan string biner yang mengandung paling sedikit satu substring 00 (0+1)*00 : himpunan string biner yang diakhiri dengan 00 Bahasa Reguler Apabila r adalah RE, maka L(r) adalah bahasa reguler yang dibentuk menggunakan ekspressi reguler r. Contoh : Tentukan bahasa reguler yang dibentuk oleh r=(aa)*

Jawab : L(r) = L( (aa)* ) = { λ, aa, aaaa, aaaaaa,... } = { a 2 n n 0 } menyatakan himpunan string a dengan jumlah genap Tentukan bahasa reguler yang dibentuk oleh r=(aa*)(bb)*b Jawab L(r) = L( (aa)* (bb)*b ) = { a 2 n b 2 m+1 n,m 0 } Tentukan ekspresi reguler pembentuk bahasa pada Σ = {0,1}, yaitu L(r) = { w Σ* w memiliki substring 00 } Jawab r = (0+1)*00(0+1)* Tentukan ekspresi reguler pembentuk bahasa pada Σ = {a,b}, yaitu L(r) = { abnw n 3, w {a, b}+ },maka hasilnya : r = abbb(a+b)(a+b)* Sifat Bahasa Reguler Tertutup terhadap operasi himpunan sederhana. Jika L1 dan L2 adalah bahasa reguler, maka L1 L2, L1 L2, L1L2, ~(L1) dan L1 adalah bahasa reguler juga Tertutup terhadap homomorphic image. Jika L1 adalah bahasa reguler, maka homomorphic image h(l1) adalah bahasa reguler juga. Dimisalkan Σ dan Γ adalah alfabet, maka fungsi homomorphic dinyatakan dengan h : Σ Γ jika w = a 1 a 2... a n maka h(w) = h(a 1 ) h(a 2 )... h(a n ) Jika L adalah bahasa pada Σ maka homomorphic image bahasa L adalah h(l)= { h(w) w L} Contoh : Dimisalkan Σ = {a,b} dan Γ = {a,b,c} dan didefinisikan h(a) = ab dan h(b) =bbc homomorphic image bahasa L = {aa,aba } adalah h(l)= { abab, abbbcab}

Dimisalkan Σ = {a,b} dan Γ = {b,c,d} dan didefinisikan h(a) = dbcc dan h(b) = Banc homomorphic image bahasa L(r) yang dibentuk dari ekspresi reguler r = (a+b*)(aa)* adalah h(l(r)) yang dibentuk dengan ekspresi reguler r = (dbcc + (bdc)*) (dbccdbcc)* Hubungan RE dan NFA Setiap RE ada satu NFA dengan ε-move yang ekuivalen Konversi ekspresi reguler ke FSA