Penggunaan Indusi Matematia untu Mengubah Deterministic Finite Automata Menjadi Espresi Reguler Husni Munaya - 353022 Program Studi Teni Informatia Seolah Teni Eletro dan Informatia Institut Tenologi Bandung, Jl. Ganesha 0 Bandung 4032, Indonesia husni.munaya@students.itb.ac.id Abstra Ada banya cara untu menyelesaian suatu permasalahan matematia yang berhubungan dengan persoalan pembutian, salah satunya adalah indusi matematia. Indusi matematia merupaan metode yang digunaan untu membutian ebenaran dari suatu proposisi yang berhubungan dengan bilangan bulat. Pada teori automata, metode ini sering digunaan untu membutian proposisi yang ada. Pada maalah ini, aan dijelasan bagaimana cara mengubah deterministic finite automata menjadi espresi reguler dengan bantuan indusi matematia. Kata unci DFA, espresi reguler, indusi matematia I. PENDAHULUAN Finite automata merupaan suatu mesin abstra dalam bentu model matematia yang bertugas untu menerima masuan berupa himpunan simbol, dan emudian menentuan apaah masuan itu terdapat pada bahasa yang didefinisian oleh finite automata tersebut. Bahasa yang dapat didefinisian oleh finite automata disebut bahasa reguler. Finite Automata sangat berguna untu memodelan sebuah perangat eras maupun perangat luna. Salah satu apliasinya pada perangat luna adalah lexical analyzer, salah satu omponen ompilator yang bertugas untu mengubah umpulan arater menjadi sebuah toen. Karater Toen + Penjumlahan = penugasan / pembagian 8 Bilangan bulat Operator lebih > dari sum identifier Ahir dari ; statement. Tabel.: Lexical anlyzer, bertugas untu mengubah umpulan arater menjadi toen. A. Deterministic Finite Automata Deterministic finite automata merupaan salah satu lasifiasi dari finite automata. Diataan deterministi arena pada setiap simbol masuan hanya ada satu state yang dapat dituju dari state sebelumnya. Deterministic finite automata, yang seterusnya aan ita singat menjadi DFA, terdiri atas lima omponen (Q,,δ,q 0,F), yang dalam hal ini: Q adalah himpunan state berhingga. adalah himpunan simbol masuan berhingga. δ adalah fungsi transisi. Fungsi ini menerima state dan simbol masuan sebagai argumen dan menghasilan sebuah state. q 0 adalah state awal, merupaan anggota Q. F adalah state ahir. F merupaan himpunan bagian dari Q. Mendesripsian DFA dengan notasi seperti di atas teradang menyulitan. Ada dua cara yang lebih mudah untu digunaan, yaitu. Diagram transisi, yaitu sebuah graf seperti pada gambar.. 2. Tabel transisi, seperti pada tabel.2. start 0 2 Gambar.: DFA (diagram transisi) yang menerima string yang mempunyai setidanya satu simbol 0. State 0 q 0 q 0 q *q q q 0, Tabel.2: DFA (tabel transisi) yang menerima string yang mempunyai setidanya satu simbol 0 Maalah IF220 Matematia Disrit Sem. I Tahun 204/205
B. Espresi Reguler Selain mendefinisian bahasa dengan cara membuat seumpulan state, seperti yang dilauan oleh DFA, ada cara lain untu mendefinisian suatu bahasa, yaitu espresi reguler. Espresi reguler merupaan cara aljabar untu mendesripsian suatu bahasa. Contohnya adalah 0* + 0*, yaitu espresi yang mendefinisian bahasa yang terdiri dari simbol yang diiuti oleh sejumlah simbol 0 atau simbol 0 yang diiuti oleh sejumlah simbol. Espresi reguler sangat berperan penting pada dunia omputasi, espresi tersebut digunaan pada beberapa mesin pencari dan perangat luna pengolah ata. Espresi reguler juga merupaan suatu fitur penting yang terdapat dalam beberapa bahasa pemrograman, seperti Java, Python dan C++. Espresi reguler mampu untu mendefinisian bahasa yang didesripsian oleh finite automata, yaitu bahasa reguler. Espresi reguler memilii beberapa operasi, yaitu. Union bahasa L dan M, dilambangan oleh L M. Contohnya, Jia L = {0,0,00} dan M = {0,}, Maa L M= {0,0,0,,00}. yaitu:. Basis Pada tahap ini, ita aan membutian bahwa P(n) bernilai benar untu n=i, yang pada hal ini i adalah basis. Untu basis, biasanya digunaan i=0 atau i=, tergantung pada permasalahan yang dihadapi. 2. Langah Indusi Langah indusi menunjuan jia P(n) bernilai benar, maa P(n+) juga benar untu setiap n i, i adalah basis. Indusi matematia mempunyai efe yang sama dengan domino sebagaimana diilustrasian pada gambar 2.. Jia batu e- pada domino rubuh, maa pasti batu e- + aan iut rubuh hingga ahirnya semua domino rubuh. Begitu pula dengan indusi matematia, jia P(n) benar, maa P(n+) juga benar. 2. Konatenasi dari bahasa L dan M, dilambangan oleh L M, atau dapat juga ditulis LM. Contohnya, Jia L = {,} dan M = {0,0}, maa LM = {0,0,0,0}. 3. Klosur dari bahasa L, dilambangan dengan L*, merepresentasian bahasa dari himpunan string yang dapat dibentu dengan mengambil anggota himpunan yang ada pada L, dan menyambungnya. Contohnya, jia L = {0,}, maa L* adalah semua string yang mempunyai simbol 0 dan. Jia L={0,}, maa L* adalah semua string yang mempunyai simbol berpasangan. Misalna,0,00. Dari etiga operator tersebut, operator losur memilii tingat prioritas yang paling utama, prioritas selanjutnya adalah operator onatenasi, dan yang terahir operator union. II. DASAR TEORI 2. Definisi Indusi Matematia Indusi matematia merupaan metode pembutian yang digunaan untu membutian proposisi yang berhubungan dengan bilangan bulat. Dengan menggunaan indusi matematia, ita dapat mengurangi langah-langah pembutian bahwa semua bilangan bulat termasu e dalam suatu himpunan ebenaran dengan hanya sejumlah langah terbatas. 2.2 Pembutian dengan Indusi Matematia Indusi matematia dapat digunaan untu membutian pernyataan mengenai bilangan bulat n. Misal P(n) adalah suatu pernyataan mengenai bilangan bulat. Kita ingin membutian bahwa pernyataan P(n) berlau untu semua bilangan bulat positif n. Terdapat dua langah untu menyelesaian permasalahan di atas, + +n Gambar 2. : Jia domino e- rubuh, maa domino e- + dan selanjutnya aan iut rubuh. Sebagai contoh, ita aan membutian proposisi beriut dengan metode indusi matematia. Butian bahwa jumlah n bilangan ganjil positif pertama adalah n 2 Langah penyelesaian. Basis: Untu n=, jumlah satu bilangan ganjil positif pertama adalah 2 =. Hal tersebut benar arena jumlah satu bilangan ganjil positf pertama adalah. 2. Langah indusi: Asumsian pernyataan P(n) benar, yaitu: +3+5+ +(2n-)=n 2 Kita juga harus memperlihatan bahwa P(n+) benar, yaitu +3+5+ +(2n-)+(2n+)=(n+) 2 Hal tersebut dapat ditunjuan sebagai beriut: +3+5+ +(2n-)+(2n+)= [+3+5+ +(2n-)] + (2n + ) = n 2 + 2n + = (n + ) 2 Maalah IF220 Matematia Disrit Sem. I Tahun 204/205
Karena langah basis dan langah indusi telah diperlihatan benar, maa pernyataan tersebut benar, yaitu jumlah n bilangan ganjil positif pertama adalah n 2. III. MENGUBAH DFA MENJADI EKSPRESI REGULER DFA dan espresi reguler mendesripsian bahasa yang sama, yaitu bahasa reguler. Oleh arena itu, ita dapat mengataan bahwa jia L = L(A) untu suatu DFA A, maa terdapat espresi reguler sehingga L = L(R). Berdasaran teorema tersebut, ita aan mencoba untu mengubah DFA menjadi espresi reguler. A. K-Paths Misalan A mempunyai state dengan nomor {,2,,n} untu sebuah bilangan bulat positif n. Dengan mengubah nama state dari DFA tersebut, pembutian dengan indusi aan lebih mudah arena ita dapat menganggap state tersebut sebagai n bilangan bulat positf pertama. Kemudian ita aan membuat sebuah espresi reguler yang menggambaran lintasan yang dapat ditempuh oleh DFA A. Lintasan yang aan ita buat ini dinamaan dengan -paths. K-paths merupaan sebuah lintasan yang dapat dibentu pada graf suatu DFA A yang intermediate statenya tida melebihi. Gambar 3.: DFA A. Untu memahami lebih dalam tentang -paths, mari ita lihat gambar 3.. DFA A terdiri atas 3 state, oleh arena itu, ita dapat membuat -paths dengan = 0 hingga = 3. 0-paths dari state 2 e state 3: R = 0. -paths dari state 2 e state 3: R = 0+. 2-paths dari state 2 e state 3: R = *+0+* Kita aan menggunaan -paths untu mengubah DFA menjadi epresi reguler dengan indusi matematia B. Indusi Dengan K-Paths 0 0 0 3 Kita aan menggunaan notasi Rij sebagai nama dari espresi reguler yang bahasanya adalah himpunan string w, yang pada hal ini w adalah -paths dari state i menuju state j. Beriut adalah definisi indutif untu membangun espresi reguler tersebut: Basis : = 0, yaitu Rij 0. Karena state dimulai dari anga, lintasan yang harus diambil tida boleh memilii intermediate state sama seali. Lintasan yang memenuhi ondisi seperti di atas adalah: 2. Sisi dari simpul (state) e simpul j. 2. Lintasan dengan panjang 0 yang hanya terdiri dari simpul i. Oleh arena itu, ita dapat menyimpulan bahwa pada DFA A dan simbol masuan a terdapat beberapa emunginan sebagai beriut: Jia tida ada fungsi transisi untu simbol a, maa Rij 0 = Ø. Jia ada fungsi transisi untu simbol a, maa Rij 0 = a. Jia ada fungsi transisi untu simbol a, a,, a maa Rij 0 = a + a 2 + + a. Untu asus i = j, lintasan yang dimunginan adalah lintasan dengan panjang 0 dan lintasan yang menuju dirinya sendiri. Lintasan dengan panjang 0 disimbolan oleh ε Langah Indusi: Asumsian bahwa ada lintasan - paths dari state i e state j. Untu hal ini, ada dua asus yang dapat dipertimbangan:. Lintasan tersebut tida melalui state. Pada asus ini, espresi reguler yang mendesripsian lintasan tersebut adalah R ij. 2. Lintasan tersebut melalui state setidanya satu ali. Kita dapat membagi lintasan tersebut menjadi beberapa bagian, seperti yang digambaran pada gambar 3.2. Bagian pertama adalah lintasan dari state i yang langsung menuju pada state. Lintasan ini didesripsian oleh R i Yang edua adalah bagian yang menggambaran lintasan dari state, menuju dirinya sendiri sebanya nol atau lebih. Lintasan ini didesripsian oleh (R )* Bagian etiga merupaan lintasan dari state yang menuju state j. Lintasan ini didesripsian oleh R j Ketiga bagian tersebut sudah mencaup semua lintasan yang dimunginan dari state i menuju state j. Lintasan menuju i Lintasan yang tida melewati Lintasan dari menuju beberapa ali Lintasan dari menuju j j Gambar 3.2: Semua emunginan lintasan yang dapat ditempuh dari state i e state j. Maalah IF220 Matematia Disrit Sem. I Tahun 204/205
Secara singat, untu pergi dari state i e state j, ita secara langsung dapat menuju e state j atau ita dapat pergi e state yang lebih besar dari j, misalan. Pada state ita mungin saja menuju embali e state beberapa ali, lalu setelah itu ita menuju state j. Hal tersebut dapat didesripsian oleh espresi reguler beriut: R ij = R ij + R i (R )* R j Searang, ita aan coba untu mengubah DFA yang ada pada gambar. menjadi espresi reguler. DFA ini menerima input yang setidanya memilii satu 0. Mengapa? Karena untu mencapai state ahir, DFA harus menerima masuan simbol 0 pada saat berada di state awal. Tabel di bawah adalah basis untu membentu espresi reguler. R ε + R 2 0 R 2 Ø R 22 ε + 0 + Tabel 3.: Langah basis, yaitu R ij Selanjutnya, ita aan melauan langah indusi. Espresi yang aan dibagun pada tahap ini adalah R ij () = R ij + R i (R )*R j R 2 () 0 + (ε + )(ε + )*0 *0 R 2 () Ø + Ø(ε + )*(ε + ) Ø R 22 () (ε + 0 + ) + Ø(ε + )0 ε + 0 + Tabel 3.2: Langah indusi tahap, yaitu R ij () Pada tahap ini, ita melauan penyederhanaan terhadap espresi reguler. Penyederhanaan dilauan untu memudahan peerjaan ita, jia tida, espresi yang dihasilan aan sangat panjang dan sulit untu dibaca serta merepotan. Penyederhanaan pada R 2 () dan R 22 () bergantung pada aturan operasi espresi reguler dengan Ø. Untu setiap espresi reguler R:. ØR = RØ = Ø. Ø merupaan annihilator untu onatenasi. Hasil onatenasi dengan Ø selalu menghasilan dirinya sendiri. 2. Ø + R = R + Ø = R. Ø merupaan identitas untu union. Hasil union dengan Ø tida mengubah apapun. Searang, ita aan membangun espresi R ij, dengan = 2, didapat R ij = R ij + R i2 (R 22 )*R 2j Substitusi secara langsung Penyederhanaan () R ε + + (ε + )(ε + )*(ε + ) * Substitusi secara langsung Penyederhanaan R * + *0 + (ε + 0 + )*Ø * *0 + *0 + (ε + 0 + )*(ε R 2 + 0 + ) *0(0 + )* Ø + (ε + 0 + )*(ε + 0 R 2 + )Ø Ø (ε + 0 + ) + (ε + 0 + R 22 )(ε + 0 + )*(ε + 0 + ) (0 + )* Tabel 3.3: Langah indusi tahap 2, yaitu R ij Pada tahap ini, ita sudah membuat semua espresi yang menggambaran semua lintasan yang mungin. Espresi regular tersebut eivalen dengan DFA pada gambar.. Pada asus ini, adalah state awal dan 2 adalah satu satunya state ahir. Oleh arena itu, untu mendefinisian bahasa yang sama dengan DFA tersebut, ita hanya memerluan lintasan dari state awal e state ahir, yaitu R 2. Espresi tersebut adalah *0(0 + )*. Secara intuisi, sangat mudah untu menginterpretasian espresi tersebut. Bahasanya terdiri atas string yang dimulai dengan beberapa simbol diiuti dengan simbol 0, emudian diiuti oleh beberapa gabungan simbol 0 dan. Dengan ata lain, bahasa tersebut terdiri atas string yang setidanya mempunyai satu simbol 0. IV. KESIMPULAN Indusi matematia dapat menyelesaian berbagai macam persoalan matematia. Salah satu penerapannya adalah pada teori automata. Dari pembahasan di atas, dapat disimpulan bahwa DFA dapat diubah menjadi espresi reguler dengan mencari solusi dari R ij () = R ij + R i (R )*R j V. UCAPAN TERIMA KASIH Saya mengucapan terimaasih epada Tuhan Yang Maha Esa arena atas rahmat-nya maalah ini dapat diselesaian. Tida lupa saya mengucapan terimaasih epada Pa Rinaldi Munir dan Bu Harlili atas ilmu dan bimbingannya dalam uliah IF220 Matematia Disrit. Saya juga ingin mengucapan terimaasih epada temanteman atas duungan yang diberian pada penulisan maalah ini.. REFERENSI [] Munir, Rinaldi. 2009 Ditat Kuliah IF 209 Strutur Disrit. Bandung:Program Studi Teni Informatia STEI ITB. [2] J.E. Hopcroft, R. Motwani, J.D. Ullman, Introduction to Automata Theory, Languages, and Computation. Addison Wesley, 200. [3] http://www.cs.man.ac.u/~pjj/farrell/comp3.html. Diases pada 0/2/204 7.44 WIB. Maalah IF220 Matematia Disrit Sem. I Tahun 204/205
PERNYATAAN Dengan ini saya menyataan bahwa maalah yang saya tulis ini adalah tulisan saya sendiri, buan saduran, atau terjemahan dari maalah orang lain, dan buan plagiasi. Bandung, 0 December 204 Husni Munaya -353022 Maalah IF220 Matematia Disrit Sem. I Tahun 204/205