BAHASA REGULER 1. Ekspresi Regular

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

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 BAHASA DAN OTOMATA

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

Teori Bahasa dan Operasi Matematis.

BAB I TEORI BAHASA DAN AUTOMATA

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

MATERI PERTEMUAN KE-1

TUGAS MAKALAH TEORI BAHASA & AUTOMATA

TEORI BAHASA DAN OTOMATA [TBO]

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

metodenumerikblog.wordpress.com Retno Tri Vulandari, S.Si, M.Sc

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

TEORI BAHASA DAN OTOMATA [TBO]

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

Dasar Teori Bahasa & Grammar

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

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

TEORI BAHASA DAN AUTOMATA

TEORI BAHASA DAN OTOMATA

Teori Bahasa & Otomata

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

Teori Bahasa dan Otomata 1

MODUL 1: PENGANTAR TEORI BAHASA

SILABUS MATAKULIAH. Indikator Pokok Bahasan/Materi Aktifitas Pembelajaran

TEORI BAHASA DAN AUTOMATA

anggota alfabet dinamakan simbol terminal atau token.

EKSPRESI REGULAR PADA SUATU DETERMINISTIC FINITE STATE AUTOMATA

Sumarni Adi TEKNIK INFORMATIKA STMIK AMIKOM YOGYAKARTA 2013

ALJABAR BOOLEAN. Misalkan terdapat. Definisi:

Penerapan Graf Transisi dalam Mendefinisikan Bahasa Formal

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

SATUAN ACARA PERKULIAHAN (SAP) Semester Penempatan

TEKNIK KOMPILASI Bahasa Regular

PENDAHULUAN Teori Bahasa

Definisi Aljabar Boolean

GRAMMAR AND LANGUAGE

Komponen sebuah Kompilator

Review Sistem Digital : Aljabar Boole

RENCANA PROGRAM KEGIATAN PERKULIAHAN SEMESTER (RPKPS)

FINITE STATE MACHINE / AUTOMATA

KONSEP GRAMMAR DAN BAHASA

SATUAN ACARA PERKULIAHAN (SAP)

GARIS-GARIS BESAR PROGRAM PENGAJARAN (GBPP)

DIKTAT TEORI BAHASA DAN OTOMATA

UNIVERSITAS GUNADARMA

2. Gambarkan gerbang logika yang dinyatakan dengan ekspresi Boole di bawah, kemudian sederhanakan dan gambarkan bentuk sederhananya.

Definisi Aljabar Boolean

DEFINISI ALJABAR BOOLEAN

TEORI BAHASA & AUTOMATA

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

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

BAB I PENDAHULUAN 1-1

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

TEORI BAHASA DAN AUTOMATA

Definisi Aljabar Boolean

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

Matematika Logika Aljabar Boolean

Contents.

IF-UTAMA 1. Definisi. Grammar. Definisi

BAB 4. Aljabar Boolean

MODUL MATA KULIAH TEORI BAHASA DAN OTOMATA DOSEN:

Pertemuan ke-4 ALJABAR BOOLEAN I

TEORI BAHASA DAN AUTOMATA

MODUL 6: TEOREMA KLEENE

Representasi Boolean

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

BAB V CONTEXT FREE GRAMMAR DAN PUSH DOWN AUTOMATA

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

STRUKTUR ALJABAR 1. Kristiana Wijaya

PENGERTIAN RING. A. Pendahuluan

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

SOAL DAN PENYELESAIAN RING

TEORI BAHASA & OPERASI MATEMATIS (2)

Amir Hamzah AKPRIND PRESS 2009

Operasi FA dan Regular Expression

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

Aljabar Boolean. Matematika Diskrit

MODUL 4: Nondeterministic Finite Automata

Tanggal Revisi : Tanggal : SATUAN ACARA PERKULIAHAN

Teori Bahasa Formal dan Automata

TEKNIK KOMPILASI Konsep & Notasi Bahasa

yang paling umum adalah dengan menspesifikasikan unsur unsur pembentuknya (Definisi 2.1 Menurut Lipschutz, Seymour & Marc Lars Lipson dalam

TEORI BAHASA DAN OTOMATA [TBO]

MODUL 5: Nondeterministic Finite Automata dengan

Tata Bahasa Kelas Tata Bahasa. Konsep Bahasa (1)

PERSAMAAN KUADRAT. Persamaan. Sistem Persamaan Linear

Aljabar Boolean. Bahan Kuliah Matematika Diskrit

STRUKTUR ALJABAR. Sistem aljabar (S, ) merupakan semigrup, jika 1. Himpunan S tertutup terhadap operasi. 2. Operasi bersifat asosiatif.

Aljabar Boolean. Rinaldi Munir/IF2151 Mat. Diskrit 1

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

TEORI BAHASA DAN OTOMATA [TBO]

Logika Matematika Aljabar Boolean

Diktat Kuliah. Oleh:

ebook PRINSIP & PERANCANGAN LOGIKA Fakultas Teknologi Industri Universitas Gunadarma 2013

BAB 1 OPERASI PADA HIMPUNAN BAHAN AJAR STRUKTUR ALJABAR, BY FADLI

Non-deterministic Finite Automata Dengan -Move

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

Deterministic Finite Automata

Transkripsi:

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. Pada kasus scanner, simbol-simbol atomik adalah karakter-karakter di dalam program sumber. Dua buah ekspresi regular adalah ekuivalen jika keduanya menyatakan bahasa yang sama Operasi Reguler : Katenasi /konkatenasi atau seuencing disajikan dengan physical adjacency ekspresi regular <letter> <digit> bentuk penyajian sederhana (diasumsikan sebagai definisi yang jelas dari letter dan digit) komposisi terurut dari letter diikuti dengan digit < dan > digunakan untuk mengidentifikasi simbol-simbol yang merepresentasikan simbolsimbol spesifik (menggunakan ekspresi regular) Kita bisa menggunakan ::= (ekivalensi) untuk menggabungkan ekspresi regular yang didefinisikan dengan <letter> dan <digit> Concatenation adalah penyambungan dua buah string. Diberikan dua string : x = abc, dan y = 13 Contoh : concate(xy) = x.y = xy = abc13, x. = x = abc A = {cat,dog} dan B {house}, maka A. B = {cathouse, doghouse} A.() = (). A = A bersifat asosiatif : x(yz) = (xy)z Alternasi membolehkan pilihan dari beberapa pilihan dan biasanya disajikan dengan operator <digit> ::= 0 1 3 5 6 7 8 9 contoh yang menggunakan juga operator ekivalensi Bentuk tulisan cepat tertentu juga biasanya digunakan dengan alternasi (khususnya ellips) <letter> ::= a b z A B Z Can use the ellipses ( ) when a seuence is well defined Alternation adalah pilihan satu di antara dua buah string. Contoh : alternate(xy) = x y = abc atau 13 Tiga sifat aljabar alternation : Operasi alternation bersifat komutatif : x y = y x Operasi alternation bersifat asosiatif : x (y z) = (x y) z Elemen identitas operasi alternation adalah dirinya sendiri : x x = x Sifat distributif concatenation terhadap alternation : x (y z) = xy xz Repetisi membolehkan ekspresi dari kontruksi yang diulang beberapa kali Terdapat operator yang digunakan yaitu superscript + dan superscript * <word> ::= <letter>+ this implies a word consists of one or more letters (* would imply zero or more letters and a word must have at least one letter so we use +) * yaitu karakter asterik (penutup bintang atau star/ Kleene closure) artinya bisa tidak muncul, bisa juga muncul berhingga kali (0 s/d n). + yaitu penutup plus atau plus/positive closure artinya minimal muncul satu kali (1 s/d n). Kleene Closure : x* = x xx xxx = x x x 3 Positive Closure : x + = x xx xxx = x x x 3 + atau yaitu union atau gabungan Beberapa kesamaan : Kesamaan ke-1 : (x*)* = (x*) + + Kesamaan ke- : x = x = x* Bahasa Reguler- 1

Kesamaan ke-3 : (x y)* = x y xx yy xy yx = semua string yang merupakan concatenation dari nol atau lebih x, y, atau keduanya. Contoh : L 1 = {a n ba m n 1, m 1} er 1 = a + b a + n L = {a ba m n 0, m 0} er = a* b a* Perhatikan bahwa kita tidak bisa membuat ekspresi regular dari bahasa n n n n L 3 = {a ba n 1} atau L = {a ba n 0}, karena keduanya tidak dihasilkan dari grammar regular. Kesamaan ekspresi regular : (a b)* a = a (b a)* Bukti : (a b)* a = ( (ab) (abab) ) a = ( a (aba) (ababa) ) = (a (aba) (ababa) ) = a ( (ba) (baba) ) = a (b a)* Latihan 1. Buktikan kesamaan ekspresi regular berikut : 1. (a* b)* = (a b)*. (a b*)* = (a b)* 3. (a* b)* a* = a* (b a*)*. (a a*)( a) = a* 5. a(b a a)* b = a a* b(a a* b)*. AUTOMATA HINGGA (AH) AH didefinisikan sebagai pasangan 5 tupel : (K, V T, M, S, Z). K : himpunan hingga stata, V : himpunan hingga simbol input (alfabet) T M : fungsi transisi, menggambarkan transisi stata AH akibat pembacaan simbol input. Fungsi transisi ini biasanya diberikan dalam bentuk tabel. S K : stata awal Z K : himpunan stata penerima Ada dua jenis automata hingga : deterministik (AHD, DFA = deterministic finite automata) dan non deterministik (AHN, NFA = non deterministik finite automata). - AHD : transisi stata AH akibat pembacaan sebuah simbol bersifat tertentu. M(AHD) : K V T K - AHN : transisi stata AH akibat pembacaan sebuah simbol bersifat tak tentu. M(AHN) : K V T K.1. Automata Hingga Deterministik (AHD) Berikut ini sebuah contoh AHD F(K, V T, M, S, Z), dimana : K = {0, 1, } M diberikan dalam tabel berikut : V T = {a, b} a b S = 0 0 0 1 Z = {0, 1} 1 0 Bahasa Reguler-

Ilustrasi graf untuk AHD F adalah sebagai berikut : Lambang stata awal adalah node dengan anak panah. Lambang stata akhir/penerima adalah node ganda. a b a 0 1 b a b Contoh kalimat yang diterima AHD : a, b, aa, ab, ba, aba, bab, abab, baba Contoh kalimat yang tidak diterima AHD : bb, abb, abba AHD ini menerima semua kalimat yang tersusun dari simbol a dan b yang tidak mengandung substring bb. Contoh : Telusurilah, apakah kalimat-kalimat berikut diterima AHD : abababaa, aaaabab, aaabbaba Jawab : i) M(0,abababaa) M(0,bababaa) M(1,ababaa) M(0,babaa) M(1,abaa) M(0,baa) M(1,aa) M(0,a) 0 Tracing berakhir di 0 (stata penerima) kalimat abababaa diterima ii) M(0, aaaabab) α M(0,aaabab) α M(0,aabab) α M(0,abab) M(0,bab) M(1,ab) M(0,b) α 1 Tracing berakhir di 1 (stata penerima) kalimat aaaababa diterima iii) M(0, aaabbaba) M(0, aabbaba) M(0, abbaba) M(0, bbaba) M(1,bbaba) M(,baba) M(,aba) M(,ba) M(,a) α Tracing berakhir di (bukan stata penerima) kalimat aaabbaba ditolak Kesimpulan : sebuah kalimat diterima oleh AHD jika tracingnya berakhir di salah satu stata penerima... Automata Hingga Nondeterministik (AHN) Berikut ini sebuah contoh AHN F(K, V, M, S, Z), dimana : T K = {, 1,,, } M diberikan dalam tabel berikut : 0 3 V = {a, b,c} T a b c S = 0 0 { 0, 1 } { 0, } { 0, 3 } Z = { } 1 { 1, } { 1 } { 1 } { } {, } { } 3 { } 3 { } 3 { 3, } Ilustrasi graf untuk AHN F adalah sebagai berikut : Bahasa Reguler- 3

a, b, c a, b, c a 0 1 c b a b 3 a, b, c a, b, c c Contoh kalimat yang diterima AHN di atas : aa, bb, cc, aaa, abb, bcc, cbb Contoh kalimat yang tidak diterima AHN di atas : a, b, c, ab, ba, ac, bc Fungsi transisi M sebuah AHN dapat diperluas sebagai berikut : 1. M(, ) = {} untuk setiap K. M(, t T) = M(p i, T) dimana t V, T adalah V *, dan M(, t) = {p } T T i 3. M({ 1,,, }, x) = M( i,x), untuk x V * n T Sebuah kalimat di terima AHN jika : salah satu tracing-nya berakhir di stata penerima, atau himpunan stata setelah membaca string tersebut mengandung stata penerima Contoh : Telusurilah, apakah kalimat-kalimat berikut diterima AHN : ab, abc, aabc, aabb Jawab : iv) M(,ab) M(,b) M( 1,b) {, } { 1 } = {, 1, } 0 0 0 0 Himpunan stata tidak mengandung stata penerima kalimat ab tidak diterima v) M(,abc) M(,bc) M( 1,bc) {M(,c) M(,c)} M( 1, c) 0 0 0 {{, } { }} { } = {, 1,, 3 } 0 3 1 0 Himpunan stata tidak mengandung stata penerima kalimat abc tidak diterima vi) M(,aabc) M(,abc) M( 1,abc) {M(,bc) M( 1,bc)} M( 1,bc) 0 0 0 {{M(, c) M(,c)} M( 1, c)} M( 1, c) 0 {{{, } { }} { 1 }} { 1 } = {, 1,, 3 } 0 3 0 Himpunan stata tidak mengandung stata penerima kalimat aabc tidak diterima vii) M(,aabb) M(,abb) M( 1,abb) {M(,bb) M( 1,bb)} M( 1,bb) 0 0 0 {{M(, b) M(,b)} M(, b)} M( 1, b) 0 1 {{{, } {, }} { 1 }} { 1 } = {, 1,, } 0 0 Bahasa Reguler-

Himpunan stata tidak mengandung stata penerima kalimat aabb diterima Contoh Ekspresi Reguler (ER) ER = 010* String yang dibangkitkan / muncul = 01, 010, 0100, 01000 (jumlah nol di ujung kanan bisa tidak muncul, bisa juga muncul berhingga kali) ER = ab*cc String yang dibangkitkan / muncul : abcc, acc, abbcc (b bisa tidak muncul/muncul berhingga kali) ER = a*d String yang dibangkitkan / muncul = d, ad, aad, aaad ER = a + d String yang dibangkitkan / muncul = ad, aad, aaad ER = a* b* ( berarti atau) String yang dibangkitkan / muncul =, a, b, aa, bb, aaa, bbb ER = a b String yang dibangkitkan / muncul = a, b ER = (a b)* String yang dibangkitkan / muncul =, a, b, aa, bb, aaa, bbb, ab, abb, aab, ba ER = 01* + 0 atau 01* 0 String yang dibangkitkan / muncul = 0, 01, 011, 0111 Bahasa Reguler- 5

3. Ekuivalensi AHN, AHD, dan GR AHD bisa dibentuk dari AHN. AHN GR bisa dibentuk dari AHD. AHN bisa dibentuk dari GR. AHD GR Bahasa Reguler- 6

3.1. Pembentukan AHD dari AHN Diberikan sebuah AHN F = (K, V T, M, S, Z). Akan dibentuk sebuah AHD F = (K, V T, M, S, Z ) dari AHN F tersebut. Algoritma pembentukannya adalah sbb. : 1. Tetapkan : S = S dan V T = V T. Copykan tabel AHN F sebagai tabel AHD F. Mula-mula K = K dan M = M 3. Setiap stata yang merupakan nilai (atau peta) dari fungsi M dan K, ditetapkan sebagai elemen baru dari K. Tempatkan tersebut pada kolom Stata M, lakukan pemetaan berdasarkan fungsi M.. Ulangi langkah (3) sampai tidak diperoleh stata baru. 5. Elemen Z adalah semua stata yang mengandung stata elemen Z. Contoh : Berikut ini diberikan sebuah AHN F = (K, V, M, S, Z) dengan : T K = {A, B, C}, V T = {a, b}, S = A, Z = {C}, dan M didefinisikan sebagai berikut : Stata K Input AHN F a b A [A,B] C B A B C B [A,B] Tentukan AHD hasil transformasinya. Jawab : Berdasarkan algoritma di atas, maka : 1. S = S = A, V T = V T = {a, b}.. Hasil copy tabel AHN F menghasilkan tabel AHD F berikut : Stata K Input AHD F a b A [A,B] C B A B C B [A,B] 3. Pada tabel AHD F di atas terdapat stata baru yaitu [A,B]. Pemetaan [A,B] adalah : M([A,B],a) = M(A,a) M(B,a) = [A,B] A = [A,B], dan M([A,B],b) = M(A,b) M(B,b) = C B = [B,C], sehingga diperoleh tabel berikut : Stata K Input dari AHD F a b A [A,B] C B A B C B [A,B] [A,B] [A,B] [B,C]. Langkah (3) di atas menghasilkan stata baru yaitu [B,C]. Setelah pemetaan terhadap [B,C] diperoleh tabel berikut : Stata K Input dari AHD F a b A [A,B] C B A B C B [A,B] [A,B] [A,B] [B,C] [B,C] [A,B] [A,B] 5. Setelah langkah () di atas tidak terdapat lagi stata baru. Bahasa Reguler- 7

Dengan demikian AHD F yang dihasilkan adalah : AHD F = (K, V T, M, S, Z ), dimana : K = {A, B, C, [A,B], [B,C]}, V T = {a, b}, S = A, Z = {C, [B,C]}. Fungsi transisi M serta graf dari AHD F adalah sebagai berikut : B b Stata K Input a dari AHD F a b A a A [A,B] C a b C B A B C B [A,B] b [A,B] [A,B] [B,C] [A,B] b [B,C] [B,C] [A,B] [A,B] a, b 3.. Pembentukan GR dari AHD Diketahui sebuah AHD F = (K, V T, M, S, Z). Akan dibentuk GR G = (V T,V N, S, Q). Algoritma pembentukan GR dari AHD adalah sebagai berikut : 1. Tetapkan V T = V T, S = S, V N = S. Jika A p, A K dan a V T, maka : Ap aa, jika A Z M(A p, a) = A ekuivalen dengan produksi : Ap a, jika A Z Contoh : Diketahui sebuah AHD F dengan Z = {S} dan fungsi transisi M sebagai berikut : Stata K Input Dengan algoritma di atas maka diperoleh Q(GR) sbb. : AHD F 0 1 M(S,0) = B S 0B M(S,1) = A S 1A S B A M(A,0) = C A 0C M(A,1) = S A 1 A C S M(B,0) = S B 0 M(B,1) = C B 1C B S C M(C,0) = A C 0A M(C,1) = B C 1B C A B GR yang dihasilkan adalah G(V T,V N, S, Q), dengan V T = {0,1}, V N = {S, A, B, C}, S = S, dan Q = {S 0B, S 1A, A 0C, B 1C, C 0A, C 1B, A 1, B 0} 3.3. Pembentukan AHN dari GR Diketahui GR G = (V T,V N, S, Q). Akan dibentuk AHN F = (K,V T, M, S, Z). Algoritma pembentukan AHN dari GR : 1. Tetapkan V T = V T, S = S, K = V N. Produksi A p a A ekuivalen dengan M(A p, a) = A Produksi A p a ekuivalen dengan M(A p, a) = X, dimana X V N 3. K = K {X}. Z = {X} Contoh Diketahui GR G = (V,V, S, Q) dengan : V = {a, b}, V N = {S, A, B}, S = S, dan T N T Q = {S as, S ba, A aa, A ab, B b} a Bahasa Reguler- 8

Terapkan algoritma di atas untuk memperoleh AHN F sebagai berikut : 1. V T = V T = {a, b}, S = S, K = V N = {S, A, B} Tabel M :. S as M(S,a) = S, S ba M(S,b) = A, Stata K Input A aa M(A,a) = A, A ab M(A,a) = B, AHN F a b B b M(B,b) = X S S A AHN yang diperoleh : F(K,V T, M, S, Z), dengan A [A,B] φ K = {S, A, B, X}, V T = {a, b}, S = S, Z = {X}, B φ X X φ φ. AHN Dengan Transisi Hampa Perhatikan AHN berikut. 1 0 1 0 AHN di atas mengandung ruas dengan bobot. AHN demikian dinamakan AHN dengan transisi, atau i j singkatnya AHN-. AHN- di atas menerima bahasa L = {1 0 i, j 0}.1. Ekuivalensi Ahn- Dengan ER (Ekspresi Regular) Jenis ER Simbol ER AHN Simbol hampa 0 ER hampa φ atau {} 0 1 ER umum r r 0 1 Alternation r 1 r r 1 0 1 r Concatenation r 1 r r r 0 1 1 Kleene Clossure r * 0 r 1 Bahasa Reguler- 9

Contoh : Tentukan AHN untuk ekspresi regular r = 0(1 3)* Jawab : 0 r 1 = 0 0 1 1 r = 1 3 3 r 3 = 3 5 6 7 3 1 r = r r 3 = 1 3 8 3 5 6 7 3 1 r 5 = r * = (1 3)* 1 8 9 3 5 6 7 3 1 0 r = r 5 = 0(1 3)* 0 1 8 9 3 5 6 7 Bahasa Reguler- 10