EKSPRESI REGULAR PADA SUATU DETERMINISTIC FINITE STATE AUTOMATA

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

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

PENDAHULUAN. Terdapat tiga topik utama di teori otomata yaitu:

Sumarni Adi TEKNIK INFORMATIKA STMIK AMIKOM YOGYAKARTA 2013

Teori Bahasa dan Otomata

TEKNIK KOMPILASI Bahasa Regular

TEORI BAHASA DAN AUTOMATA

MODUL 1: PENGANTAR TEORI BAHASA

TEORI BAHASA DAN OTOMATA PENGANTAR

Teori Bahasa dan Operasi Matematis.

Penerapan Graf Transisi dalam Mendefinisikan Bahasa Formal

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

BAB I TEORI BAHASA DAN AUTOMATA

FINITE STATE MACHINE / AUTOMATA

TEORI BAHASA DAN AUTOMATA

MATERI PERTEMUAN KE-1

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

Teori Bahasa & Otomata

anggota alfabet dinamakan simbol terminal atau token.

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

TEORI BAHASA DAN AUTOMATA

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

RENCANA PROGRAM KEGIATAN PERKULIAHAN SEMESTER (RPKPS)

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

TEKNIK KOMPILASI Konsep & Notasi Bahasa

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

Overview. Pendahuluan. Pendahuluan. Pendahuluan. Pendahuluan. Pendahuluan

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

Tata Bahasa Kelas Tata Bahasa. Konsep Bahasa (1)

Teori Himpunan Elementer

Dasar Teori Bahasa & Grammar

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

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

BAB I PENDAHULUAN 1-1

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

TEORI BAHASA DAN OTOMATA [TBO]

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

Grammar dan Tingkat Bahasa

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

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

PENGANTAR MATEMATIKA DISKRIT DAN HIMPUNAN PERTEMUAN I

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

TEORI BAHASA DAN AUTOMATA

Operasi FA dan Regular Expression

BAB 2. HIMPUNAN UNIVERSITAS MUHAMMADIYAH JEMBER ILHAM SAIFUDIN PROGRAM STUDI MANAJEMEN INFORMATIKA FAKULTAS TEKNIK. Senin, 17 Oktober 2016

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

Non-deterministic Finite Automata Dengan -Move

Teori Bahasa dan Otomata 1

MODUL MATA KULIAH TEORI BAHASA DAN OTOMATA DOSEN:

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

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

MODUL 4: Nondeterministic Finite Automata

INF-104 Matematika Diskrit

BAHASA REGULER 1. Ekspresi Regular

Amir Hamzah AKPRIND PRESS 2009

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

TEORI BAHASA DAN OTOMATA [TBO]

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

TEORI BAHASA DAN OTOMATA [TBO]

Teori Bahasa & Otomata

Teori Bahasa Formal dan Automata

PENGGUNAAN OPERASI ALJABAR BOOLEAN DALAM DESAIN KONTROL GERBANG LINTAS KERETA API

TEORI BAHASA DAN OTOMATA [TBO]

Bab 4. Koefisien Binomial

Pengantar Matematika Diskrit

Pengantar Matematika. Diskrit. Bahan Kuliah IF2091 Struktur Diksrit RINALDI MUNIR INSTITUT TEKNOLOGI BANDUNG

TEORI BAHASA DAN OTOMATA

Teknik Kompilasi. Notasi Bahasa

BAB I HIMPUNAN. Contoh: Himpunan A memiliki 5 anggota, yaitu 2,4,6,8 dan 10. Maka, himpunan A dapat dituliskan: A = {2,4,6,8,10}

Materi 1: Teori Himpunan

Himpunan. Nur Hasanah, M.Cs

Deterministic Finite Automata

FINITE STATE AUTOMATA

BAB V CONTEXT FREE GRAMMAR DAN PUSH DOWN AUTOMATA

MATEMATIKA 1. Pengantar Teori Himpunan

FTIK / PRODI TEKNIK INFORMATIKA

Teori Bahasa Formal dan Automata

Teori Bahasa Formal dan Automata

8 April 2015 Teori Bahasa dan Otomata

5.3 RECURSIVE DEFINITIONS AND STRUCTURAL INDUCTION

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

Hirarki Comsky. Unrestricted. Context Sensitive Context free Regular

TEORI BAHASA & AUTOMATA

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

MODUL 3: Finite Automata

TEORI BAHASA DAN AUTOMATA

SILABUS MATAKULIAH. Indikator Pokok Bahasan/Materi Aktifitas Pembelajaran

UNIVERSITAS GUNADARMA

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

Reduksi DFA [Deterministic Finite Automata]

Logika Matematika. Teknik Informatika IT Telkom

Algoritma Pemrograman

Matematika Komputasional. Himpunan. Oleh: M. Ali Fauzi PTIIK - UB

Syntax, Semantic & Grammar. Konsep Bahasa Pemrograman Materi 3 Yudianto Sujana, M.Kom

BAB II ANALISA LEKSIKAL (SCANNER)

GRAMMAR AND LANGUAGE

INF-104 Matematika Diskrit

HIMPUNAN. Arum Handini Primandari, M.Sc Ayundyah Kesumawati, M.Si

Teori Himpunan. Learning is not child's play, we cannot learn without pain. - Aristotle. Matema(ka Komputasi - Teori Himpunan

Transkripsi:

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 Abstrak. Automata merupakan suatu sistem yang terdiri atas sejumlah berhingga state, dimana state menyatakan informasi mengenai input yang lalu, dan dapat juga dianggap sebagai memori mesin. Input pada mesin automata dianggap sebagai bahasa regular yang harus dikenali oleh mesin. Selanjutnya mesin automata membuat keputusan yang mengindikasikan apakah input itu diterima atau ditolak. Representasi suatu bahasa regular pada automata lebih lazim diwakili dengan menggunakan ekspresi regular. Kata Kunci: bahasa regular; ekspresi regular; finite state automata. Pendahuluan Finite state automata dan ekspresi regular awalnya dikembangkan berdasarkan pemikiran neural network dan switching circuit. Finite state automata merupakan tool yang sangat berguna dalam perancangan lexical analyzer, yaitu bagian dari kompilator yang mengelompokkan karakter-karakter ke dalam token, yang berupa unit terkecil seperti nama, variabel dan keyword. Dalam sistem penulisan kompilator secara otomatis akan mentransformasikan ekspresi regular kedalam finite state automata untuk dipakai sebagai penganalisa leksikal. Finite state automata dan ekspresi regular dipakai juga dalam text editor, pattern-matching, sejumlah pemrosesan teks, dan program file-searching, serta sebagai konsep matematis untuk aplikasi disiplin ilmu lain seperti logika. Suatu bahasa pemrograman harus didefinisikan secara tepat. Spesifikasi dari sebuah bahasa pemrograman meliputi: himpunan simbol-simbol (alphabet) yang bisa dipakai untuk membentuk program yang benar, himpunan program yang benar secara sintaktik, dan makna dari program tersebut. 2. Pengantar Bahasa dan Ekspresi Regular Sebuah simbol adalah suatu entitas abstrak yang tidak didefinisikan secara formal, seperti halnya tidak didefinisikannya titik dan garis pada geometri. Huruf dan digit adalah contoh dari simbol yang sering dipakai. Sebuah string adalah deretan berhingga dari simbol-simbol. Sebagai contoh a, b, c adalah simbol-simbol, dan abcb adalah suatu string. Panjang string adalah jumlah simbol yang membentuk string tersebut. Sebagai contoh string asdfgh mempunyai panjang string 6. Sebuah string kosong dinyatakan dengan, dan panjang string kosong,, adalah. Suatu alfabet,, adalah himpunan berhingga dari simbol-simbol. Sebuah bahasa adalah himpunan string-string dari simbol-simbol untuk suatu alfabet. Suatu bahasa yang tidak terdiri dari string-string dikenal dengan bahasa kosong, dan disimbolkan dengan. Misalkan adalah sembarang alfabet, himpunan semua string atas dinotasikan dengan *, dan suatu bahasa atas adalah himpunan bagian dari *. Misalkan = {a, b} maka : {a, b}* = {, a, b, aa, ab, ba, bb, aaa, aab, aba, abb, baa, }. 63

64 Definisi. Misalkan merupakan suatu alfabet. Koleksi dari bahasa-bahasa regular atas didefinisikan secara rekursif sebagai berikut : a. adalah sebuah bahasa regular b. { } adalah sebuah bahasa regular c. Untuk setiap a, {a} adalah sebuah bahasa regular d. Jika A dan B adalah bahasa-bahasa regular, maka A B, A.B, A* adalah bahasa-bahasa regular. e. Tidak ada bahasa-bahasa lain atas yang regular. Contoh. Misalkan = {a, b} maka yang berikut adalah benar. - dan { } adalah bahasa-bahasa regular - {a} dan {b} adalah bahasa-bahasa regular - {a,b} adalah bahasa regular yang merupakan gabungan dari {a} dan {b} - {ab} adalah bahasa regular - {a, ab, b} adalah bahasa regular - {a i i } adalah bahasa regular - {a i a j i dan j } adalah bahasa regular - {(ab) i i } adalah bahasa regular Karena suatu bahasa adalah himpunan dari string-string, maka bahasa baru dapat dikonstruksi dengan menggunakan operasi himpunan. Misalkan terdapat dua bahasa atas alfabet, maka union, intersection, dan difference adalah merupakan bahasa atas. Komplemen bahasa atas (dengan menetapkan himpunan universal bahasa adalah *) adalah L = * - L. Untuk mengkonstruksi bahasa, juga dapat dilakukan melalui operasi concatenation atas string-string yang telah diketahui. Jika x dan y adalah elemen dari *, concatenation dari x dan y adalah string xy dengan menuliskan simbol-simbol dari x dan y secara berturut-turut. Jika x = abb dan y = ba, maka xy = abbba dan yx = baabb. Untuk sembarang string x, x = x = x. Jelas bahwa concatenation bersifat asosiatif. Suatu string x merupakan sub-string dari y jika terdapat string w dan z (salah satu atau keduanya boleh merupakan string kosong), maka y = wxz. String car merupakan sub-string dari descartes, vicar, carthage, dan car, tetapi bukan merupakan sub-string dari charity. Jika L, L 2 * maka L L 2 = { xy x L dan y L 2 }. Sebagai contoh : {hope, fear } {less, fully } = {hopeless, hopefully, fearless, fearfully }. Notasi eksponensial digunakan untuk mengindikasikan berulangnya jumlah concatenation. Notasi tersebut dapat digunakan untuk simbol, string, atau bahasa. Jika adalah alfabet dan jika a, x *, dan L * maka : a k = aa a x k = xx x k = L k = LL L Untuk suatu kondisi khusus k = a = = { } x = L = { } Suatu bahasa regular dapat disederhanakan representasinya dengan menggunakan ekspresi regular. Secara umum penyederhanaan bahasa regular menjadi ekspresi regular, dengan menghilangkan tanda { } dan mengganti tanda dengan + untuk ekspresi regular. Jurnal Matematika Vol.6 No., Nopember 26

Ekspresi Regular Pada Suatu Deterministic Finite State Automata 65 Misalkan = {, }, berikut adalah contoh korespondensi antara bahasa regular dan ekspresi regular. No. Bahasa Regular Ekspresi Regular. { } 2. {} 3. {} 4. {, } + 5. {, } + 6. {, } {} ( + ) 7. {}* {, } ()*( + ) 8. {}* {} * 9. {,, }* ( + + )*. {, }* ({}* {, }) ( + )*(()* + + ) Definisi 2. Kelas bahasa regular R atas berkorespondensi dengan ekspresi regular (r ) dengan mengikuti aturan yang didefinisikan sebagai berikut :. R berkorespondensi dengan ekspresi regular r = 2. { } R berkorespondensi dengan ekspresi regular r = 3. Setiap a, {a } R berkorespondensi dengan ekspresi regular r = a 4. L, L 2 R dengan ekspresi regular masing-masing r dan r 2 maka a. L L 2 R berkorespondensi dengan ekspresi regular r = r + r 2 b. L L 2 R berkorespondensi dengan ekspresi regular r = r r 2 c. L * R berkorespondensi dengan ekspresi regular r = r * Suatu ekspresi regular r 2 sering dinyatakan dengan rr, dan r + untuk menyatakan ekspresi regular r *r. Sebagai ilustrasi konversi dari bahasa regular ke ekspresi regular, misalkan = {, } untuk suatu bahasa L = {,,, }* mempunyai ekspresi regular untuk L adalah r = ( + + + )* atau ekspresi regular yang lebih sederhananya adalah r = (( + ) ( + ))*. 3. Ekspresi Regular pada suatu Finite State Automata Definisi 3. Suatu finite state automata (FSA) adalah suatu 5-tuple (Q,, q o,, A ) dengan Q adalah finite set, adalah finite alphabet untuk input simbol, q o Q adalah state awal, adalah fungsi transisi dari Q x Q, dan A Q adalah himpunan target state. Untuk sembarang q Q dan a, (q, a ) sebagai fungsi transisi yang akan memindahkan state q ke state lain dengan input a. Definisi 4. Misalkan M = (Q,, q o,, A ) adalah FSA, fungsi * : Q x * Q didefinisikan dengan i. sembarang q Q, * (q, ) = q ii. sembarang y *, a, dan q Q, * (q, ya ) ( * (q, y ), a ) Jurnal Matematika Vol.6 No., Nopember 26

66 Contoh 2. Misalkan M = (Q,, q o,, A ) adalah suatu FSA dengan diagram transisi : a b q q q 2 q 3 c dengan menggunakan definisi di atas, tentukan penyelesaian dari * (q, abc )! Penyelesaian : * (q, abc ) = ( * (q, ab ), c ) = ( ( * (q, a ), b ), c ) = ( ( * (q, a ), b ), c ) = ( ( ( * (q, ), a ), b ), c ) = ( ( (q, a ), b ), c ) = ( (q, b ), c ) = (q 2, c ) = q 3 Definisi 5. Misalkan M = (Q,, q o,, A ) adalah FSA. Suatu string x * diterima oleh M jika * (q o,x ) A. Bahasa yang diterima oleh M adalah himpunan L (M ) = { x * x diterima oleh M } Jika L adalah sembarang bahasa atas, maka L dikatakan diterima oleh M jika dan hanya jika L = L (M). Contoh 3. Diberikan FSA yang dideskripsikan dengan diagram berikut : b a c Tunjukkan bahwa string 23 diterima sebagai bahasa oleh M. Penyelesaian : Dari diagram tersebut diketahui bahwa Q = {a, b, c }, = {, }, q o = a, A = {a, c }. Bilangan desimal 23 terlebih dulu dikonversi ke biner menjadi, 23 =. Jurnal Matematika Vol.6 No., Nopember 26

Ekspresi Regular Pada Suatu Deterministic Finite State Automata 67 * (a, ) = ( * (a, ),) = ( ( * (a,),),) = ( ( ( * (a, ),),),) = ( ( ( ( * (a, ),),),),) = ( ( ( ( * (a, ),),),),) = ( ( ( ( ( * (a, ),),),),),) = ( ( ( ( (a,),),),),) = ( ( ( (b,),),),) = ( ( (a,),),) = ( (b,),) = (c,) = c dari uraian tersebut didapat * (a, ) = c A, dengan demikian string 23 diterima oleh FSA. Ekspresi regular sebagai suatu pola untuk string merupakan pembangun (generator) dari bahasa. Berikut diberikan contoh permasalahannya. Misalkan diberikan FSA sebagai berikut : b a c Tentukan ekspresi regularnya. Penyelesaian. L karena * (a, ) = a A sehingga diterima oleh L. * L karena * (a, *) = a A sehingga * diterima oleh L. (*()**)* L * (a, *()***()**) = * (c, *()**) = * (c, *()**) ; terdapat dua kemungkinan * dan * = Untuk * * (c, *()**) = * (b, ()**) = * (c, ()**) = c Untuk * = * (c, *()**) = * (c, ()**) = * (c, ()**) = c Jurnal Matematika Vol.6 No., Nopember 26

68 Dari uraian tersebut, dihasilkan bahasa L = { * (*()** } dengan ekspresi regularnya adalah r = * + (*()** Contoh 4. Diketahui r = ( + )*, konstruksi DFSA dengan menggunakan ekspresi regular tersebut. Misalkan state awal adalah q o L karena string minimal anggota L adalah sehingga state awal q o A L sehingga * (q o, ) = q A L sehingga * (q o, ) = q 2 A q q q2 L dan tidak ada string yang dimulai dengan anggota L, sehingga * (q, ) = q 3 A L dan tidak ada string yang dimulai dengan anggota L, sehingga * (q, ) = q 3 A q q, q3 q2, L dan tidak ada string yang dimulai dengan anggota L, sehingga * (q 2, ) = q 3 A Misal L atau L hal ini berarti ada state baru q 4 dan * (q 2, ) = q 4 L q q, q3 q2, q4 Jurnal Matematika Vol.6 No., Nopember 26

Ekspresi Regular Pada Suatu Deterministic Finite State Automata 69 L maka * (q 4, ) = q 5 A L sehingga jika q 2 diberikan input akan berpindah ke state yang bukan merupakan target state yang paling realistis masuk ke q 2 sehingga * (q 4, ) = q 2 q, q q3 q2, q5 q4 L state yang merupakan target state adalah q maka * (q 5, ) = q A L, L state yang paling mungkin adalah q 2 sehingga * (q 5, ) = q 2 q q, q 3 q 2, q 5 q 4 4. Penutup Untuk setiap Deterministic Finite State Automata (DFSA) ada suatu ekspresi regular dari bahasa yang diterima oleh DFSA. Jika diketahui diagram dari suatu DFSA maka dapat ditentukan ekspresi regular untuk DFSA tersebut, dan sebaliknya jika diketahui suatu ekspresi regular maka dapat dikonstruksi diagram DFSA-nya. Jurnal Matematika Vol.6 No., Nopember 26

7 Pustaka [] Dea Kelly, Automata and Formal Language : An Introduction, 995, Prentice Hall, Inc., Englewood Clift, New Jersey. [2] Doerr A. dan Levasseur K., Applied Discrete Structures for Computer Science, 989, Science Research Associates, Inc., Toronto. [3] Lipschutz, Seymour (992), Discrete Mathematics, McGrawHill, New York. [4] Liu, C. L., Element of Discrete Mathematics, 985, McGraw-Hill, Inc., Toronto. [5] Rosen, K.H., (23). Discrete Mathematics and Its Applications, Fifth Ed., McGrawHill, Singapore. [6] Utdirartatmo F., Teori Bahasa dan Otomata, 2, J&J Learning, Yogyakarta. Jurnal Matematika Vol.6 No., Nopember 26