Dfa Jurnal Automata

  • Upload
    egi

  • View
    36

  • Download
    11

Embed Size (px)

DESCRIPTION

Untuk Mahasiswa jurusan TI(Tehnik Informatika) materi ini cukup penting..

Citation preview

Bahasa Regular yang Didefinisikan Deterministic Finite Automata (DFA)Boby Satria1, Ermawati2, Ferniawan3, Jhonny Roberto Saragih4, Miftahul Ghifrah5,Syahril Hasbi6 Jurusan Teknik Informatika, Fakultas Sains & Teknologi, Universitas Sultan Syarif Kasim Jl. Soebrantas Km. 15 Simpangbaru Tampan, PekanbaruE-mail : [email protected], [email protected], [email protected], [email protected], [email protected], [email protected] Finite Automata (DFA) adalah salah satu jenis dari Finite Automata(FA) yang berguna sebagai pengenal Bahasa Regular. Karakteristik kunci dari DFAini adalah tidak membolehkan membaca satu atau lebih dari satu transisi untuk satu simbol masukan berisi string berupa karakter/abjad, yang sama. Dengan kata lain untuk masukan simbol yang sama DFA tidak bisa mentransisikannya ke beberapastate yang berbeda. Jika digunakan tabel transisi untuk merepresentasikan fungsitransisi DFA, maka masing-masing isian di tabel transisi adalah satu state tunggal (berhingga) dan dapat berpindah ke state lain berdasarkan input dan fungsi transisi. Konsekuensinya, pada DFA lebih mudah menentukan apakah suatu string masukan diterima, karena hanya terdapat paling banyak satu jalur dari state awal. Arah pergerakan (head) dari state awal hingga state akhir hanya bisa maju saja (ke kanan). Jika jalur simbol masukan dimisalkan sebagai pita, maka setelah membacasatu simbol pada pita, kepala pita akan maju ke posisi simbol berikutnya dengankata lain bersifat otomatis. DFA tidak bisa mengingat, DFA hanya bisa membaca atau mengingat state terkini.Kata kunci: DFA, FA, bahasa regular1.TIF 2411 - TEORI BAHASA & OTOMATAI. Pendahuluan Menurut Noam Chomsky tata bahasa formal diklasifikasikan kedalam4 kelas yang pertama kelas tata bahasa regular (tata bahasa jenis ke-3), kedua kelas tata bahasa bebas free context (tata bahasa jenis ke-2), ketiga kelas tatabahasa sensitive context (tata bahasa jenis 1), serta yang keempat kelas tata bahasa unrestricted (tata bahasa jenis 0). Kelas tata bahasa regular yang menjadifokus dalam pembuatan makalah ini dapat dikenali dengan mesin pengenal bahasa regular atau dalam istilahnya disebut dengan Finite Automata (FA). FA sendiri terbagi atas 2 macam yaitu Deterministic Finite Automata (DFA) dan NondeterministicFinite Automata (NFA). Perbedaan yang mendasar dari DFA dan NFA ini adalah DFA untuk satu simbol masukan hanya bisa mentransisikan ke satu state, sedangkan NFAuntuk satu simbol masukan dapat mentransisikannya ke satu atau lebih state yangberbeda. Jadi, dapat disimpulkan semua DFA merupakan bagian dari NFA. NFA dan DFA dapat digambarkan dalam bentuk diagram transisi yang berupa graf berarah. Berikut contoh dari diagram NFA dan DFA :Salah satu alasan memulai studi teori komputasi melalui bahasa adalah pendekatannya yang menuntun cara alami untuk permulaan. Dimulai dari bahasa sederhana, kemudian mempertimbangkan kebutuhan-kebutuhan bahasa yang lebih rumit dan ampuh. Bahasa formal dapat dipandang sebagai entitas abstrak, yaitu sekumpulan string-string simbol alphabet tertentu. Namun, bahasa juga dapat dipandang sebagai entitas-entitas abstrak yang dapat dikenali atau dibangkitkan melalui suatu mesin komputasi. Bahasa regular merupakan bahasa yang paling sederhana. Bahasa disebut bahasa regular jika himpunan string di bahasa itu adalah himpunan regular. Bahasa regular ini merupakan bahasa yang sangat banyak digunakan karena sifat-sifat dan propertipropertinya yang telah sangat diketahui dan telah ditemukan algortima yang efisien untuk pengoahannya. Bahasa regular pada dasarnya sangat baik jika diekspresikan menggunakan ekspresi regular.II.1.Himpunan regular Bahasa disebut regular jika himpunan string di bahasa ituadalah himpunan regular. Kelas bahasa adalah sekumpulan bahasa yaitu himpunan dari himpunan-himpunan string. Bila VT adalah alphabet berhingga. Definisi himpunan regular pada VT secara rekursif adalah sebagai berikut:1. 2. 3. 4.Gambar 1. DFA5. (himpunan kosong) adalah himpunan regular pada VT. { e } adalah himpunan regularpada VT. { a } adalah himpunan regular pada VT. Jika P dan Q adalah himpunan regular pada VT , maka begitu juga P U Q, PQ, P*. Dengan kata lain VT dapat diperoleh dari sejumlah berhingga operasi gabungan, penyambungan, atau closure. Tidakada selain itu yang merupakan himpunan regular.Gambar 2. NFAII. Bahasa RegularTIF 2411 - TEORI BAHASA & OTOMATAII.2.Ekspresi Regular Ekspresi regular berguna karena memungkinkan menpesifikasikan bahasa regular yang kompleks secara formal, ringkas dan tepat.Bahasa regular yang tidak berhingga dapat dispesifikasikan secara mudah dengan ekspresi regular. Ekspresi regular adalah rumus yang berbentuk bagus (well-formedformula) pada operasi gabungan (union, dilambangkan dengan +), penyambungan (concatenation, dilambangkan dengan simbol satu bersebelahan dengan simbol berikutnya, xy), dan Kleene closure (dilambangkan dengan *). Bila VT adalah alphabet berhingga. Ekpresi regular pada VT dan himpunan regular yang dilambangkannya didefinisikan sebagai berikut: 1. adalah ekspresi regular yang menunjukkan himpunan regular . 2. adalah kspr si r gular yang m nunjukkan himpunan r gular . 3. a pada VN adalah kspr si r gular yang m nunjukkan himpunan r gular { a }. 4. Jika p danq adalah kspr si r gular yang m nunjukkan himpunan r gular P dan Q, maka:(p+q) adalah kspr si r gular yang m nunjukkan P U Q.(pq) adalah kpr si r gular yang m nunjukkan PQ.(p)* adalah kpr si r gular yang m nunjukkan P*. 5. Tidak adayang s lain itu yang m rupakan kspr si r gular. Bahasa pada alphab t V adalahbahasa r gular jika t rdapat suatu kspr si r gular pada V yang b rkor spod nsid ngan bahasa itu.kat gori/j nis m mori yang p rlu digunakan ol h mod l komputasi. Yang dimaksud mod l komputasi dalam hal ini adalah m sin abstrak bukan m sin fisik. M skipun dmikian, d skripsi m sin abstrak yang dibuat dimaksudkan agar m madai untuk dapatdiimpl m ntasikan s cara nyata. M nd skripsikan pros s dalam artian m m riksa string dan k mudian m mutuskan apakah string t rmasuk bahasa, m nuntun agar tidakm mbuat k putusan sampai akhir string t lah dit mukan.III.1.D skripsi Finit AutomataFinit automata adalah mod l mat matika sist m d ngan masukan dan k luaran diskrit. Sist m dapat b rada di salah satu dari s jumlah b rhingga konfigurasi int rnal yang dis but s bagai, stat . Stat sist m m rupakan ringkasan informasi yangb rkaitan d ngan masukanmasukan s b lumnya yang dip rlukan untuk m n ntukan p rilaku sist m pada masukanmasukan b rikutnya. FA sangat cocok untuk m mod lkan sist m d ngan jumlah stat yang b rhingga. Contoh misalnya:sist md nganstatb rhinggaIII. Finit Automata (FA) Finit Automata (FA) m rupakan m sin yang dapat m ng nali bahasa r gular s kaligus m rupakan mod l komputasi. Pada saat m ng nali bahasa, g rakan sapuan dari kiri k kanan akan t rbatasi. Batasan ini k lihatan s mbarangan, tapi m mbantu m mp rj las informasi apa yang harus diingat (informasi mng nai awal string yang t lah t rlihat) dan m mungkinkan m ngklasifikasi bahasa-bahasa b rdasarkan s b rapa banyak p rlu m ngingat masing-masing langkah dalamm ng nali bahasa. P rb daannya t rl tak padaTIF 2411 - TEORI BAHASA & OTOMATASist m l vator V nding Machin (m sin minuman kal ng) Traffic Light r gulator (P ngatur lampu lalu lintas) Sirkit switching di comput r dan t l komunikasiProtokol komunikasiL xival analyz r N uron n tsSist m comput r Komput risasi adalah upaya manusia m mbuat sist m diskrit. Sist m diskrit dinamis sangat bagus dimod lkan FA. P rilaku FA dimod lkan d ngan Finit Stat Diagram (FSD) atau Stat Transition Diagram. P ngguna FA t lah sangat int nsif dit rima r kayasa p rangkatlunak dalam tahap analisis, p rancangan, maupun p ngujian, bahkan Stat Transition Diagram padaori ntasi obj k m mp rol h p rhatian cukup dominan. T ori m ng nai FA m rupakansarana yang ampuh agar dapat m lakukan p ng lolaan string yang fisi n dan fl ksib l. FA adalah r cogniz r yang paling s d rhana. Pada mod l r cogniz r, r cogniz r m mbaca string s bagai masukan dan m ng luarkan YA, jika string t rs but t rmasuk di dalam bahasa dan , bila string masukan tidak t rmasuk dalam bahasa.stat adalah s kaligus s bagai acc pt d stat . T rdapat fungsi transisi stat (stat transition function) yaitu dib rikan stat saat itu (curr nt stat ) dan simbol masukan saat itu (curr nt input symbol), fungsi m mb rikan/m nyatakan s muastat b rikutnya yang dimungkinkan. S mua k mungkinan transisi dipandang dijalankan s cara parar l. Bila t rdapat transisi yang m nuju/sampai stat akhir, b rarti string masukan dit rima automata t rs but.III.2.FinitStat Automata/Acc ptor (FSA)D finisi formal dari DFA dapat did finisikan S tiap j nis automata m mpunyai k unikan dalam 5-tupl (Q , , , q0 , F) imana : yang membuatnya berbea fungsinyaengan automata yang lain. Berikut ini akan ibahas Q : himpunan berhingga status sifat-sifat FSA : : himpunan berhingga simbol masukanMemory infinite-nya aalahnull, atau (alfabet) tiak aa memory sementara.Hanya berisi satu memory masukan : fungsi transisi berupa tape berisi string masukan an q0 : status awal, initial state sejumlah kenali berhingga.hea hanya bergerak satu arah atau tiakF : himpunan final state apat munur. FA aalah sebuah mesin, engan sebuah hea Mempunyai sejumlah berhingga status, baca an kotak kenali state berhingga. Mesin setiap saat FSA beraa paa status membaca memori masukan berupa tape, satutertentu Spesifikasi FA engan menefinsikan karakter tiap saat (ari kiri ke kanan). Paa mesin terapat sejumlah state berhingga, perubahan properti-propertiberikut: state terjai paa mesin ketika sebuah karakterMemiliki finite numberof state atau satu berikutnya ibaca sesuai engan fungsi . himpunan state kenali berhingga. Ketika FA mulai membaca tape, FA selaluSimbol-simbol masukan yangalam suatu konisi yang isebut state awal ibolehkan/iijinkan. Memiliki state sebagai state mula (initial (initial state) atau q0 an berakhir ketika beraaalam konisi yang isebut state akhir (final state). Memiliki himpunan state akhir (set of state). Bila FA membaca tape sementara hea final state), yaitu state-state yang telah sampai paa akhir tape an konisi yang menanai iterimanyamasukan itemuinya aalah state akhir, berarti string yang terapat paa tape ikatakan iterima FA. (accepte state).Mesin menerima input simbol yang Dengankata lain string-string tersebut merupakan milik bahasa bila iterima FA bahasaitu. atang secara sekuensial.Mesin akan bertransisi ari state satu ke state yang lain sesuai input. Mesin mungkin saja menerima string kosong (), jika ini t rjadi maka initialTIF 2411 - TEORI BAHASA & OTOMATAsimbol dari pita dan b rg s r maju. Untuk s tiap simbol, DFSA akan b rpindah status s suai d ngan fungsi . Proses akan berakhir bila simbol masukan paa pita suah habis, bila paa akhir proses icapai status akhir maka string masukan iterima (ikenali sebagai string ari bahasa regular), an bila tiak maka string masukan itolak (tiak ikenali). IV.1.Algoritma DFAGambar 3. Moel FAIII.3.Finite State Diagram (FSD)Berikut aalah mekanisme kerja DFA bila FSD igunakan untuk menggambarkan kerjainyatakan secara algoritma. Paa asarnya, FA. FSD juga biasa isebut ngan Statealgoritma menyatakan bahwa saat menerima satu Transition Diagram. karakter yang seang ibaca, maka DFA akan Lingkaran menyatakan state, lingkaran yang segeratahu apa yang perlu ilakukan karena bergaris tunggal berarti state sementara memang paling banyak hanya satu transisi yang seangkan lingkaran bergaris tanaberarti state imungkinkan. Bila terapat transisi yang apat akhir. Lingkaran iberi label sesuai engan nama ilakukan, maka DFA segera melakukan transisi itu. Sementara bila tiak aa transisi yang state mereka. mungkin ilakukan berartistring bukan termasuk Anak panah menyatakan transisi yang terjai. string yangikenali DFA. Sementara itu bila Label yang terapat i anak panah menyatakan string yang ibaca telah habis, maka bila DFA simbol yang membuat transisi ari satu state ke memasuki state yang termasuk alam state akhir, state lain. Satu anak panah ibei label start untuk berarti string termasuk paa string yang ikenali menyatakan awal mula transisi ilakukan. DFA. Sebaliknya, bila DFA beraa i state yang bukan state akhir berarti string tiak termasuk string yang ikenali DFA. IV. Deterministic Finite Automata (DFA)Deterministic finite Automata aalah 5 tupel M=(Q,VT ,,qo,F), imana: 1. Q aalahhimpunan state yang berhingga. 2. VN aalah himpunan berhingga simbol/karaktermasukan yang iijinkan. 3. aalah pemetaan ari Q X VT ke p(Q) yang menyatakan perilaku kenali keaaan berhingga, sering isebut fungsi transisi state. 4. qo alam Q aalah keaaan mula ari kenali keaaan berhingga, an 5. FQ aalah himpunan keaaan akhir. DFA hanya mempunyai paling banyak satu transisi paa masingmasing state paa sembarang masukan. Jika igunakan tabel transisi untuk merepresentasikan fungsi transisi DFA, maka masingmasing isian i table transisi aalahsatu state tunggal. Konsekuensinya, paa DFA lebih muah menentukan apakah suatu string masukan iterima karena hanya terapat paling banyak satu jalur ari state awal.Algoritma DFA Masukan: String masukan X yang iakhiri engan karakter akhir string (eos). DFA D imulai ari state So an himpunan state F yang apat iterima Keluaran: Jawaban YA jika D menerima x Jawaban TIDAK jika D menerima x Algoritma:Fungsi-fungsi:Mula-mula DFSA akan beraa paa status q0, kepala pita paa simbol pertama paapita, selanjutnya kepala pita akan membaca simbolTIF 2411 - TEORI BAHASA & OTOMATAFungsi move(s, c) member state imana terapat transisi ari state s paa karakter abababaa iterima masukan c. aaaabab iterima Fungsi nextchar() mengirim karakter erikutnya ari string masukan x. aaabbaba itolak Langkah-langkah algoritma: s so c next char() while c eos s move(s, c) c nextchar() if s in F then returnYA else return TIDAKii) (q0, aaaabab) (q0,aaabab) i) (q0,abababaa) (q0,bababaa) (q1,ababaa) (q0,babaa) (q1,abaa) (q0,baa) (q1,aa) (q0,a) q0 Tracing berq0 (state AKHIR) kalimat abababaa iterima(q0,aabab) (q0,abab) (q0,bab) (q1,ab) (q0,b) q1 Tracing berakhir i q1 (staHIR) kalimat aaaababa iterimaIV.2.Contoh DFA Yang EkivalenQ = {q0, q1, q2} iberikan alam tabel berikut :iii) (q0, aaabbaba) (q0, aabbaba) (q0,= {a, b} S = q0 F = {q0, q1} q0 q1 q2a q0 q0 q2b q1 q2 q2abbaba) (q0, bbaba) (q1,bbaba) (q2,baba) (q2,aba) (q2,ba) (q2,a) q2 Tir i q2 (bukan state AKHIR) kalimat aaabbaba itolakV. Penutup Finite Automata biasanya mengacu paa Deterministic Finite Automata (DFA). Deterministic Finite Automata (DFA) aalah finite automata engan aturan-aturan yang sangat Gambar 4. Diagram Contoh 4.2 ketat. Yaitu tiak memungkinkan satu simbol menimbulkan transisi ke lebih ari satu state an tiak memungkinkantransisi spontan atau Kalimat yang iterima oleh DFA : a, b, aa, ab, transisi-. FA j nis lain yaitu Nond t rministic ba, aba, bab, abab, baba. Finit Automata (NFA). S mua DFA m rupakan bagian dari NFA. K dua FA t rs but mampu Kalimat yang dittolak ol h DFA : bb, abb, abba. m ng nali himpunan r gular s cara pr sisi. DFAini m n rima s mua kalimat yang D ngan d mikian, k dua FA t rs but dapat t rsusun dari simbol a dan b yang tidak m ngandung substring bb.TIF 2411 - TEORI BAHASA & OTOMATAm ng nali string-string yang ditunjukkan d ngan kspr si r gular s cara t pat. DFA dapat m nuntun r cogniz r l bih c pat dibanding NFA. L bih mudah m mbangun NFA dibanding DFA untuk suatu bahasa, namun l bih mudah m ngimpl m ntasikan DFA dibanding NFA. VI. Daftar Pustaka Hariyanto, Bambang, 2004, T ori Bahasa, Otomata,dan Komputasi s rta t rapannya, Informatika Bandung, Bandung. Hopcroft J.E, danJ.D Ullman, 1979, Introduction to Automata Th ory, Languag s and Computation, Addison-W sl y Publishing Company, R ading, Massachus tts. Dra. Harlili M.Sc, Ir.Hany S. Dulimarta Ph.D, Ir. Rinaldi Munir M.T., 2001, T ori Bahasa Formal, D part m n T knik Informatika ITB, Bandung. D.K ll y, 1999, Otomata dan BahasaBahasa Formal, Pranhallindo.TIF 2411 - TEORI BAHASA & OTOMATA