Anda di halaman 1dari 8

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, Universi
tas Sultan Syarif Kasim Jl. Soebrantas Km. 15 Simpangbaru Tampan, Pekanbaru
E-mail : super_bee@ymail.com1, rma_cutebgt@yahoo.com2, anakpisces@gmail.com3, ro
berto_cromosom@yahoo.com4, miftahulgifrah@yahoo.com5, ariel.dunk@yahoo.com6
Abstrak
Deterministic Finite Automata (DFA) adalah salah satu jenis dari Finite Automata
(FA) yang berguna sebagai pengenal Bahasa Regular. Karakteristik kunci dari DFA
ini adalah tidak membolehkan membaca satu atau lebih dari satu transisi untuk s
atu simbol masukan berisi string berupa karakter/abjad, yang sama. Dengan kata l
ain untuk masukan simbol yang sama DFA tidak bisa mentransisikannya ke beberapa
state yang berbeda. Jika digunakan tabel transisi untuk merepresentasikan fungsi
transisi DFA, maka masing-masing isian di tabel transisi adalah satu state tung
gal (berhingga) dan dapat berpindah ke state lain berdasarkan input dan fungsi t
ransisi. Konsekuensinya, pada DFA lebih mudah menentukan apakah suatu string mas
ukan diterima, karena hanya terdapat paling banyak satu jalur dari state awal. A
rah pergerakan (head) dari state awal hingga state akhir hanya bisa maju saja (k
e kanan). Jika jalur simbol masukan dimisalkan sebagai ‘pita’, maka setelah membaca
satu simbol pada pita, kepala pita akan maju ke posisi simbol berikutnya dengan
kata lain bersifat otomatis. DFA tidak bisa mengingat, DFA hanya bisa membaca at
au mengingat state terkini.
Kata kunci: DFA, FA, bahasa regular
1.
TIF 2411 - TEORI BAHASA & OTOMATA

NFA dan DF A dapat digambarkan dalam bentuk diagram transisi yang berupa graf berarah. P*. FA sendiri terb agi atas 2 macam yaitu Deterministic Finite Automata (DFA) dan Nondeterministic Finite Automata (NFA). Dimulai dari bahasa sederhana. Dengan kata lain VT dapat dipero leh dari sejumlah berhingga operasi gabungan. ringkas dan tepat. kem udian mempertimbangkan kebutuhan-kebutuhan bahasa yang lebih rumit dan ampuh.TEORI BAHASA & OTOMATA II.Himpunan regular Bahasa disebut regular jika himpunan string di bahasa itu adalah himpunan regular. Ø (himpunan kosong) adalah himpunan regular pada VT. serta yang keempat kelas tata ba hasa unrestricted (tata bahasa jenis 0).I. { a } adalah himpunan regular pada VT. ketiga kelas tata bahasa sensitive context (tata bahasa jenis 1). 3. Gambar 2. 4. { e } adalah himpunan regular pada VT.Ekspresi Regular Ekspresi regular berguna karena memungkinkan menpesifikasi kan bahasa regular yang kompleks secara formal. Bahasa Regular TIF 2411 . Definisi himpuna n regular pada VT secara rekursif adalah sebagai berikut: 1. Tidak ada selain itu yang merupakan himpunan regular. Bahasa regular pada dasarnya sangat baik jika diek spresikan menggunakan ekspresi regular.1. DFA 5. II. Namun. bahasa juga dapat dipandang sebagai entitas -entitas abstrak yang dapat dikenali atau dibangkitkan melalui suatu mesin kompu tasi. kedua k elas tata bahasa bebas free context (tata bahasa jenis ke-2). Beri kut contoh dari diagram NFA dan DFA : Salah satu alasan memulai studi teori komputasi melalui bahasa adalah pendekatan nya yang menuntun cara alami untuk permulaan. Pendahuluan Menurut Noam Chomsky tata bahasa formal diklasifikasikan kedalam 4 kelas yang pertama kelas tata bahasa regular (tata bahasa jenis ke-3). yaitu sekumpulan string-str ing simbol alphabet tertentu. PQ. Jika P dan Q adalah himpunan re gular pada VT . Bahasa disebut baha sa regular jika himpunan string di bahasa itu adalah himpunan regular. sedangkan NFA untuk satu simbol masukan dapat mentransisikannya ke satu atau lebih state yang berbeda. Bahasa regular merupakan bahasa yang paling sederhana. . Gambar 1. Jadi. atau closure. Bila VT adalah alphabet berhingga. penyambungan. Kelas tata bahasa regular yang menjadi fokus dalam pembuatan makalah ini dapat dikenali dengan mesin pengenal bahasa re gular atau dalam istilahnya disebut dengan Finite Automata (FA). Perbedaan yang mendasar dari DFA dan NFA ini adalah DFA u ntuk satu simbol masukan hanya bisa mentransisikan ke satu state. maka begitu juga P U Q. Kelas bahasa adalah sekumpulan bahasa yaitu himpunan da ri himpunan-himpunan string. Bahasa re gular ini merupakan bahasa yang sangat banyak digunakan karena sifat-sifat dan p ropertipropertinya yang telah sangat diketahui dan telah ditemukan algortima yan g efisien untuk pengoahannya.2. 2. NFA II. Ba hasa formal dapat dipandang sebagai entitas abstrak. dapat disimpulkan semua DFA merupakan bagian dari NFA.

stat . Sist m dapat b rada di salah satu dari s jumlah b rhingga konfigurasi int rn al yang dis but s bagai. Finit Automata (FA) Finit Automata (FA) m rupakan m sin yang dapat m ng n ali bahasa r gular s kaligus m rupakan mod l komputasi. Yang dimaksud m od l komputasi dalam hal ini adalah m sin abstrak bukan m sin fisik. d skripsi m sin abstrak yang dibuat dimaksudkan agar m madai untuk dapat diimpl m ntasikan s cara nyata. 3. bahkan Stat Transit ion Diagram pada . P rilaku FA dimod lkan d ngan Finit Stat Diagram (FSD) atau Stat T ransition Diagram. Sist m diskrit dinamis sangat bagus dimo d lkan FA. dan Kleene closure (dilambangkan dengan *). Bahasa pada alphab t V adalah bahasa r gular jika t rdapat suatu kspr si r gular pada V yang b rkor spod nsi d ngan bahasa itu. Bila VT adalah alphabet ber hingga. tapi m mbantu m mp rj las informasi apa yang harus diingat (informasi m ng 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 dalam m ng nali bahasa. 5. maka: (p+q ) adalah kspr si r gular yang m nunjukkan P U Q. a pada V N adalah kspr si r gular yang m nunjukkan himpunan r gular { a }. III. maupun p ngujian. xy). P ngguna FA t lah sangat int nsif dit rima r kayasa p rangkat lunak dalam tahap analisis. M nd skripsikan pros s dalam artian m m riksa s tring dan k mudian m mutuskan apakah string t rmasuk bahasa. p rancangan. Ekspresi regular adalah rumus yang berbentuk bagus (well-formed formula) pada operasi gabungan (union. ε adalah kspr si r gular yang m nunjukkan himpunan r gular ε.Bahasa regular yang tidak berhingga dapat dispesifikasikan secara mudah dengan e kspresi regular. 4.D skripsi Finit Automata Finit automata adalah mod l mat matika sist m d ngan masukan dan k luaran diskr it. m nuntun agar tidak m mbuat k putusan sampai akhir string t lah dit mukan. Ekpresi regular pada VT dan himpunan regular yang dilambangkannya didefi nisikan sebagai berikut: 1. FA sangat cocok untuk m mod lkan sis t m d ngan jumlah stat yang b rhingga. Contoh misalnya: sist m d ngan stat b rhingga III. 2. M skipun d mikian. Jika p dan q adalah kspr si r gular yang m nunjukkan himpunan r gular P dan Q.1. Tidak ada yang s lain itu yang m rupakan kspr si r gular. (pq) adalah kpr si r gular ya ng m nunjukkan PQ. Batasan ini k lihatan s mb arangan. Stat sist m m rupakan ringkasan informasi yang b rkaitan d ngan masukanmasukan s b lumnya yang dip rlukan untuk m n ntukan p ri laku sist m pada masukanmasukan b rikutnya. dilambangkan dengan simbol satu bersebelahan dengan simbol berikutn ya. g rakan sapuan dari kiri k kanan akan t rbatasi. dilambangkan dengan +). Pada saat m ng nali baha sa. penyambungan (co ncatenation.TEORI BAHASA & OTOMATA Sist 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 komunikasi Prot okol komunikasi L xival analyz r N uron n ts Sist m comput r Komput risasi adala h upaya manusia m mbuat sist m diskrit. P rb daannya t rl tak pada TIF 2411 . kat gori/j nis m mori yang p rlu digunakan ol h mod l komputasi. (p)* adalah kpr si r gular yang m nunjukkan P*. Ø adalah ekspresi regular yang menunjukkan himpunan re gular Ø.

Ketika FA mulai membaca tape. Berikut ini akan ibahas Q : himpunan berhingga statu s sifat-sifat FSA : ∑ : himpunan berhingga simbol masukan Memory ‘infinite’-nya aalah null. T rdapat fungsi transisi stat (s tat transition function) yaitu dib rikan stat saat itu (curr nt stat ) dan sim bol masukan saat itu (curr nt input symbol). engan sebuah hea  Mempunyai sejumlah berhingga status. T ori m ng nai FA m rupakan sarana yang ampuh agar dapat m lakukan p ng lolaan string yang fisi n dan fl ks ib l. r cogni z r m mbaca string s bagai masukan dan m ng luarkan YA. stat adalah s kaligus s bagai acc pt d stat . ini tial state sejumlah kenali berhingga. atau (alfabet) tiak aa memory sementara. satu tertentu Spesifikasi FA engan menefinsikan karakter tiap saat (ari kiri ke k anan).TEORI BAHASA & OTOMATA . Bila FA membaca tape sementara hea final state). III. perubahan properti-properti berikut: state terjai paa mesin ketika sebuah karakter Memiliki finite number of state atau satu berikutnya ibaca sesuai engan fungsi δ. b rar ti string masukan dit rima automata t rs but. q0 . F) imana : yang membuatnya berbea fungsinya engan automata yang lain.2. fungsi m mb rikan/m nyatakan s mua stat b rikutnya yang dimungkinkan. bila string masukan tidak t rmasuk dalam bahasa. jika ini t r jadi maka initial TIF 2411 . (accepte state). himpunan state kena li berhingga. S mua k mungkinan transisi dipandang dijalan kan s cara parar l. Memiliki himpunan state a khir (set of state). Memiliki stat e sebagai state mula (initial (initial state) atau q0 an berakhir ketika beraa alam konisi yang isebut state akhir (final state).Finit Stat Automata/Acc ptor (FSA) D finisi formal dari DFA dapat did finisikan S tiap j nis automata m mpunyai k u nikan dalam 5-tupl (Q . yaitu sta te-state yang telah sampai paa akhir tape an konisi yang menanai iterimanya masukan itemuinya aalah state akhir. M esin setiap saat FSA beraa paa status membaca memori masukan berupa tape. Paa mesin terapat sejumlah state berhingga. FA selalu Simbol-simbol masukan yang alam suatu konisi yang isebut state awal ibolehkan/iijinkan. hea hanya bergerak satu arah atau tiak F : himpunan final state apat munur. ∑ . baca an kotak kenali state berhingga. Mesin mungkin saja menerima string kosong (ε). FA aalah sebuah mesin. berarti string yang terapat paa tape  ikatakan iterima FA. jika string t rs but t r masuk di dalam bahasa dan . Bila t rdapat transisi yang m nuju/sampai stat akhir.ori ntasi obj k m mp rol h p rhatian cukup dominan. Hanya berisi satu memory masuk an δ : fungsi transisi berupa tape berisi string masukan an q0 : status awal. Mesin akan bertransisi ari state satu ke state y ang lain sesuai input. atang secara sekuensial. Mesin menerima input simbol yang Dengan kata lain string-string tersebut merupakan milik bahasa bila iterima FA bahasa itu. FA adalah r cogniz r yang paling s d rhana. δ . Pada mod l r cogniz r.

Moel FA III. karakter yan g seang ibaca. an 5. Algoritma DFA Masukan: String masukan X yang iakhiri engan karakter akhir stri ng (eos). string yang ikenali DFA. Sementara bila tiak aa transisi yang state mereka.δ. bila paa akhir proses icapai status akhir maka string masukan iteri ma (ikenali sebagai string ari bahasa regular). an bila tiak maka string mas ukan itolak (tiak ikenali). DFA hanya mempunyai paling banyak satu transisi paa masingmasing state paa sembarang masukan. kepala pita paa simbol pertama paa pita.VT . Untuk s tiap simbol. DFA D imulai ari state So an himpunan state F yang apat iterima K eluaran: Jawaban YA jika D menerima x Jawaban TIDAK jika D menerima x Algoritma: Fungsi-fungsi: Mula-mula DFSA akan beraa paa status q0. Paa asarnya.1. selanjutnya kepala pita akan membaca simbolTIF 2411 . 3. mungkin ilakukan berarti string bukan termasuk Anak panah menyatakan transisi yang terjai. maka bila DFA simbol yang membuat transisi ari sa tu state ke memasuki state yang termasuk alam state akhir. Satu ana k panah ibei label start untuk berarti string termasuk paa string yang ikenal i menyatakan awal mula transisi ilakukan.Finite State Diagram (FSD) Berikut aalah mekanisme kerja DFA bila FSD igunakan untuk menggambarkan kerja inyatakan secara algoritma. bila DFA beraa i s tate yang bukan state akhir berarti string tiak termasuk string yang ikenali D FA.TEORI BAHASA & OTOMA TA . Q aalah himpunan state yang berhingga. FSD juga biasa isebut ngan Sta tealgoritma menyatakan bahwa saat menerima satu Transition Diagram.qo. VN aalah himpunan berhingga simbol/karakter masukan yang iijinkan. state lain. IV. Proses akan berakhir bila simbol masukan paa pita su ah habis. Bila terapat transisi yang apat akhir. maka DFA segera melakukan transisi itu . FQ aalah himp unan keaaan akhir. maka masingmasing isian i table transisi aalah satu state tunggal. IV. paa DFA lebih muah menentukan apakah suat u string masukan iterima karena hanya terapat paling banyak satu jalur ari st ate awal. FA. maka DFA akan Lingkaran menyatakan state. DFA. Deterministic Finite Automata (DFA) Deterministic finite Automata aalah 5 tupel M=(Q. qo  alam Q aalah keaaan mula ari kenali keaaan berhingga. Lingkaran  iberi label sesuai engan nama ilakukan.F).Algoritma DFA Gambar 3.simbol dari pita dan b rg s r maju. Jika igunakan tabel transisi untuk merepre sentasikan fungsi transisi DFA. 2. Konsekuensinya. lingkaran yang segera tahu apa yang perlu ilakukan karena bergaris tunggal berarti state sementara m emang paling banyak hanya satu transisi yang seangkan lingkaran bergaris tana berarti state imungkinkan. Sementara itu bila Label yang terapat i anak panah menyatakan st ring yang ibaca telah habis.3. Sebaliknya. imana: 1. DFSA akan b rpindah sta tus s suai d ngan fungsi δ. δ sering isebut fungsi transisi state. 4. δ aalah pemetaan ari Q X VT ke p(Q) yang menyatakan p erilaku kenali keaaan berhingga.

S mua DFA m rupakan bagian dari NFA. Deterministic Finite Automata (DFA) aalah finite automata engan aturan-a turan yang sangat Gambar 4. aaabbaba itolak Langkah-langkah algoritma : s ← so c ← next char() while c ≠ eos s ← move(s. c) member state imana terapat transisi ari state s paa karakt er abababaa iterima masukan c. baba. q1. abab. b} S = q0 F = {q0. bab.bababaa) ⇒ δ (q1.baba) ⇒ δ (q2.bab) ⇒ δ (q1.aa) ⇒ δ (q0. aaaabab iterima Fungsi nextchar() mengirim kara kter erikutnya ari string masukan x.bbaba) ⇒ δ (q2. abb. q2} δ iberikan alam tabel berikut : iii) δ (q0. m ng nali himpunan r gular s cara pr sisi. ab. F A j nis lain yaitu Nond t rministic ba.ababaa) ⇒ δ (q0.abaa) ⇒ δ (q0. abba. Diagram Contoh 4.Contoh DFA Yang Ekivalen Q = {q0.2 ketat.Fungsi move(s. K dua FA t rs but mampu Kalimat yang d ittolak ol h DFA : bb.abababaa) ⇒ δ (q0.ba) ⇒ δ(q2. bbaba) ⇒ δ (q1.aabab) ⇒ δ (q0. Yaitu tiak memungkinkan s atu simbol menimbulkan transisi ke lebih ari satu state an tiak memungkinkan transisi spontan atau Kalimat yang iterima oleh DFA : a.2.aaabab) ⇒δ i) δ (q0.babaa) ⇒ δ (q1.aba) ⇒ δ (q2. Penutup Finite Automata biasanya mengacu paa Deterministic Finite Automata ( DFA). k dua FA t rs but dapat t rsus un dari simbol a dan b yang tidak m ngandung substring bb. TIF 2411 .TEORI BAHASA & OTOMATA . aabbaba) ⇒ δ (q0. ∑= {a. aba. Finit Automata (N FA). aaabbaba) ⇒ δ (q0.ab) ⇒ δ (q0. aa.a) ⇒ q0 Tracing ber q0 (state AKHIR) ⇒ kalimat abababaa iterima (q0. b.a) ⇒q2 T ir i q2 (bukan state AKHIR) ⇒ kalimat aaabbaba itolak V.baa) ⇒ δ (q1. aaaabab) ⇒δ (q0. c) c ← nextchar() if s in F then return “YA” else return “TIDAK” ii) δ (q0. q1} δ q0 q1 q2 a q0 q0 q2 b q1 q2 q2 abbaba) ⇒ δ (q0.b) ⇒ q1 Tracing berakhir i q1 (sta HIR) ⇒ kalimat aaaababa iterima IV. DFA ini m n rima s mua kalimat yang D ngan d mikian. transisi-ε.abab) ⇒ δ (q0.

Bambang. T ori Bahasa Formal. R ading. 1999.E. Otomata dan BahasaBahas a Formal. Dulimarta Ph. Introduction to Automata Th ory.TEORI BAHASA & OTOMATA . 1979..D Ullman. Daftar Pustaka Hariyanto. Bandung. Hany S. TIF 2411 . Harlili M. Otomata. D.Sc. 2004. T ori Bahasa. Ir. Rinaldi Munir M.K ll y. Bandung. Hopcroft J.D. A ddison-W sl y Publishing Company. dan J. D p art m n T knik Informatika ITB. Massachus tts. Languag s and Computation. Informatika Bandung.T. dan Komputasi s rta t rapannya. 2001. Dra. Ir.m ng nali string-string yang ditunjukkan d ngan kspr si r gular s cara t pat. D FA dapat m nuntun r cogniz r l bih c pat dibanding NFA. L bih mudah m mbangun NF A dibanding DFA untuk suatu bahasa. Pranhallindo. namun l bih mudah m ngimpl m ntasikan DFA di banding NFA. VI.