Anda di halaman 1dari 10

BAHASA REGULAR YANG DIDEFINISIKAN DETERMINISTIC FINITE AUTOMATA (DFA)

Andi Faizal 110155201069 Jurusan Teknik Informatika Fakultas Teknik Universitas Maritim Raja Ali Haji Tanjungpinang Kepulauan Riau T.A 2014

Abstrak

Deterministic Finite Automata ( DFA ) is one kind of Finite Automata ( FA ) which is useful as an identifier Regular Languages . The key characteristic of this DFA is not allowed to read one or more than one transition to one input symbol contains a string of characters / alphabet , the same . In other words, for the same input symbol DFA can not mentransisikannya to several different states . If used to represent the transition table DFA transition function , then each entry in the transition table is a single state ( finite ) and may move to another state based on the input and the transition function . Consequently , the DFA easier to determine whether an input string is accepted , because there is only at most one path from the initial state . Direction of movement ( head ) of the initial state to the final state can only go forward alone ( to the right ) . If the path is assumed as the input symbol ' ribbon ' , then after reading the symbols on the tape , the tape head position will advance to the next symbol in other words automatic. DFA can not remember , DFA can only read or remember the current state .

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 satu simbol masukan berisi string berupa karakter/abjad, yang sama. Dengan kata lain 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 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 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 atau mengingat state terkini.

Kata kunci: DFA, FA, bahasa regular

I. Pendahuluan Menurut Noam Chomsky tata bahasa formal diklasifikasikan kedalam 4 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 tata bahasa sensitive context (tata bahasa jenis 1), serta yang keempat kelas tata bahasa unrestricted (tata bahasa jenis 0). Kelas tata bahasa regular yang menjadi fokus 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 Nondeterministic Finite Automata II. Bahasa Regular Salah satu alasan memulai studi teori (NFA). Perbedaan yang mendasar dari DFA melalui bahasa adalah dan NFA ini adalah DFA untuk satu simbol komputasi masukan hanya bisa mentransisikan ke satu pendekatannya yang menuntun cara alami state, sedangkan NFA untuk satu simbol untuk permulaan. Dimulai dari bahasa masukan dapat mentransisikannya ke satu sederhana, kemudian mempertimbangkan atau lebih state yang berbeda. Jadi, dapat kebutuhan-kebutuhan bahasa yang lebih disimpulkan semua DFA merupakan rumit dan ampuh. Bahasa formal dapat bagian dari NFA. NFA dan DFA dapat digambarkan dalam bentuk diagram transisi yang berupa graf berarah. Berikut contoh dari diagram NFA dan DFA : dipandang sebagai entitas abstrak, yaitu sekumpulan string-string simbol alphabet tertentu. Namun, bahasa juga dapat Gambar 2. NFA Gambar 1. DFA

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 berhingga

dapat

dispesifikasikan

secara

digunakan karena sifat-sifat dan properti- mudah dengan ekspresi regular. propertinya yang telah sangat diketahui dan Ekspresi regular adalah rumus yang

telah ditemukan algortima yang efisien untuk berbentuk bagus (well-formed formula) pada pengoahannya. Bahasa regular pada dasarnya operasi gabungan (union, dilambangkan

sangat baik jika diekspresikan menggunakan dengan +), penyambungan (concatenation, ekspresi regular. dilambangkan dengan simbol satu

bersebelahan dengan simbol berikutnya, xy), 2.1. Himpunan regular Bahasa disebut regular jika himpunan dan Kleene closure (dilambangkan dengan *). Bila VT adalah alphabet berhingga.

string di bahasa itu adalah himpunan regular. Ekpresi regular pada VT dan himpunan Kelas bahasa adalah sekumpulan bahasa regular yang dilambangkannya didefinisikan yaitu himpunan dari himpunan-himpunan sebagai berikut: string. Bila VT adalah alphabet berhingga. 1. Definisi himpunan regular pada VT secara rekursif adalah sebagai berikut: 1. (himpunan kosong) adalah himpunan regular pada VT. 2. { e } adalah himpunan regular pada VT. 3. { a } adalah himpunan regular pada VT. 4. 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 3. a pada VN adalah ekspresi regular yang menunjukkan himpunan regular { a }. 4. Jika p dan q adalah ekspresi regular yang menunjukkan himpunan regular P dan Q, maka: (p+q) adalah ekspresi regular yang menunjukkan P U Q. (pq) (p)* adalah ekpresi regular yang 2. adalah ekspresi regular yang

menunjukkan himpunan regular .

gabungan, penyambungan, atau closure. 5. Tidak ada selain itu yang merupakan himpunan regular.

menunjukkan PQ. adalah ekpresi regular yang menunjukkan P*.

2.2.

Ekspresi Regular Ekspresi regular berguna karena bahasa

5. Tidak

ada

yang

selain

itu

yang

merupakan ekspresi regular. Bahasa pada alphabet V adalah bahasa

memungkinkan

menpesifikasikan

regular yang kompleks secara formal, ringkas regular jika terdapat suatu ekspresi regular dan tepat. Bahasa regular yang tidak pada V yang berkorespodensi dengan bahasa itu.

merupakan III. Finite Automata (FA) berkaitan

ringkasan dengan yang

informasi

yang

masukan-masukan diperlukan untuk

Finite Automata (FA) merupakan mesin sebelumnya yang dapat mengenali bahasa

regular menentukan perilaku sistem pada masukanmasukan berikutnya. FA sangat cocok untuk

sekaligus merupakan model komputasi.

Pada saat mengenali bahasa, gerakan memodelkan sistem dengan jumlah state sapuan dari kiri ke kanan akan terbatasi. yang berhingga. Batasan ini kelihatan sembarangan, tapi Contoh sistem dengan state berhingga

membantu memperjelas informasi apa yang misalnya: harus diingat (informasi mengenai awal string yang telah terlihat) dan memungkinkan mengklasifikasi bahasa-bahasa berdasarkan seberapa banyak perlu mengingat masingmasing langkah dalam mengenali bahasa. Perbedaannya terletak pada kategori/jenis memori yang perlu digunakan oleh model komputasi. Yang dimaksud model komputasi dalam hal ini adalah mesin abstrak bukan mesin fisik. Meskipun demikian, deskripsi mesin abstrak yang dibuat dimaksudkan agar memadai untuk dapat diimplementasikan secara nyata. Sistem elevator Vending Machine (mesin minuman kaleng) Traffic Light regulator lampu lalu lintas) Sirkit switching di computer dan telekomunikasi Protokol komunikasi Lexival analyzer Neuron nets Sistem computer (Pengatur

Komputerisasi adalah upaya manusia membuat sistem diskrit. Sistem sangat bagus diskrit FA.

Mendeskripsikan proses dalam artian dinamis

dimodelkan

memeriksa string dan kemudian memutuskan Perilaku FA dimodelkan dengan Finite State apakah string termasuk bahasa, menuntun Diagram (FSD) atau State Transition

agar tidak membuat keputusan sampai akhir Diagram. Pengguna FA telah sangat intensif string telah ditemukan. diterima rekayasa perangkat lunak dalam tahap 3.1. Deskripsi Finite Automata analisis, perancangan, maupun

pengujian, bahkan State Transition Diagram

Finite automata adalah model matematika pada orientasi objek memperoleh perhatian sistem dengan masukan dan keluaran diskrit. cukup dominan. Sistem dapat berada di salah satu dari Teori mengenai FA merupakan sarana ampuh agar dapat melakukan

sejumlah berhingga konfigurasi internal yang yang disebut sebagai, state. State

sistem pengelolaan string yang efisien dan fleksibel.

FA adalah recognizer yang paling sederhana. Pada model recognizer, recognizer membaca string sebagai masukan dan mengeluarkan YA, jika string tersebut termasuk di dalam bahasa dan , bila string masukan tidak termasuk dalam bahasa. 3.2. Finite (FSA) Setiap keunikan fungsinya jenis yang dengan automata mempunyai berbeda lain. State Automata/Acceptor

menandai

diterimanya

masukan

(accepted state). Mesin menerima input simbol yang datang secara sekuensial. Mesin akan bertransisi dari state satu ke state yang lain sesuai input. Mesin mungkin saja menerima string kosong (), jika ini terjadi maka initial state adalah sekaligus sebagai

accepted state. Terdapat fungsi transisi state (state transition function) yaitu diberikan state saat itu (current state) dan simbol masukan saat itu (current input symbol), fungsi

membuatnya automata

yang

Berikut ini akan dibahas sifat-sifat FSA : Memory infinite-nya adalah null, atau tidak ada memory sementara. Hanya berisi satu memory masukan berupa tape berisi string masukan dan sejumlah kendali berhingga. head hanya bergerak satu arah atau tidak dapat mundur. Mempunyai sejumlah berhingga

memberikan/menyatakan semua state berikutnya Semua yang dimungkinkan. transisi

kemungkinan

dipandang dijalankan secara pararel. Bila terdapat transisi yang

menuju/sampai state akhir, berarti string masukan diterima automata tersebut. Definisi formal dari DFA dapat didefinisikan dalam 5-tuple (Q , , , q0 , F)

status, setiap saat FSA berada pada status tertentu Spesifikasi FA dengan mendefinsikan properti-properti berikut:

Memiliki finite number of state atau dimana : satu himpunan state kendali Q : himpunan berhingga status : himpunan masukan yang berhingga simbol

berhingga. Simbol-simbol

masukan (alfabet) : fungsi transisi

dibolehkan/diijinkan. Memiliki state sebagai state mula (initial state). Memiliki himpunan state akhir (set of

q0 : status awal, initial state F : himpunan final state FA adalah sebuah mesin, dengan sebuah

final state), yaitu state-state yang head baca dan kotak kendali state berhingga.

Mesin membaca memori masukan berupa

Anak panah menyatakan transisi yang

tape, satu karakter tiap saat (dari kiri ke terjadi. Label yang terdapat di anak panah kanan). Pada mesin terdapat sejumlah state menyatakan simbol yang membuat transisi berhingga, perubahan state terjadi pada mesin dari satu state ke state lain. Satu anak panah ketika sebuah karakter berikutnya dibaca dibei label start untuk menyatakan awal mula sesuai dengan fungsi . Ketika FA mulai membaca tape, FA selalu dalam suatu kondisi yang disebut state IV. Deterministic Finite Automata (DFA) awal (initial state) atau q0 dan berakhir Deterministic finite Automata adalah 5 ketika berada dalam kondisi yang disebut tupel M=(Q,VT ,,qo,F), dimana: state akhir (final state). Bila FA membaca tape sementara head telah sampai pada akhir tape dan kondisi yang ditemuinya adalah state akhir, berarti string yang terdapat pada tape dikatakan diterima FA. Dengan kata lain string-string tersebut merupakan milik bahasa bila diterima FA bahasa itu.
1. Q

transisi dilakukan.

adalah

himpunan

state

yang

berhingga.
2. VN

adalah

himpunan

berhingga yang

simbol/karakter diijinkan.

masukan

3. adalah pemetaan dari Q X VT ke

p(Q)

yang

menyatakan

perilaku

kendali keadaan berhingga, sering disebut fungsi transisi state.


4. qo dalam Q adalah keadaan mula dari

kendali keadaan berhingga, dan


5. F

adalah

himpunan

keadaan

akhir. Gambar 3. Model FA DFA hanya mempunyai paling banyak satu transisi pada masing-masing state pada 3.3. Finite State Diagram (FSD) sembarang masukan. Jika digunakan tabel FSD digunakan untuk menggambarkan transisi untuk merepresentasikan fungsi kerja FA. FSD juga biasa disebut dngan transisi DFA, maka masing-masing isian di State-Transition Diagram. table transisi adalah satu state tunggal. Lingkaran menyatakan state, lingkaran Konsekuensinya, pada DFA lebih mudah yang bergaris tunggal berarti state sementara menentukan apakah suatu string masukan sedangkan lingkaran bergaris tanda berarti diterima karena hanya terdapat paling banyak state akhir. Lingkaran diberi label sesuai satu jalur dari state awal. dengan nama state mereka.

Mula-mula DFSA akan berada pada Algoritma DFA status q0, kepala pita pada simbol pertama Masukan: pada pita, selanjutnya kepala pita akan membaca simbol-simbol dari pita String masukan X yang diakhiri dengan

dan karakter akhir string (eos). DFA D dimulai dari state So dan Keluaran: Jawaban YA jika D menerima x Jawaban TIDAK jika D menerima x

bergeser maju. Untuk setiap simbol, DFSA

akan berpindah status sesuai dengan fungsi . himpunan state F yang dapat diterima Proses akan berakhir bila simbol masukan pada pita sudah habis, bila pada akhir proses dicapai status akhir maka string

masukan diterima (dikenali sebagai string Algoritma: dari bahasa regular), dan bila tidak maka string masukan ditolak (tidak dikenali). Fungsi-fungsi: Fungsi move(s, c) member state dimana terdapat transisi dari state s pada karakter 4.1. Algoritma DFA masukan c. Fungsi nextchar() mengirim karakter erikutnya dari string masukan x. s so c next char() while c eos s move(s, c) c nextchar() if s in F then return YA else return TIDAK

Berikut adalah mekanisme kerja DFA bila dinyatakan secara algoritma. Pada dasarnya,

algoritma menyatakan bahwa saat menerima Langkah-langkah algoritma: satu karakter yang sedang dibaca, maka DFA akan segera tahu apa yang perlu dilakukan karena memang paling banyak hanya satu transisi yang dimungkinkan. Bila terdapat transisi yang dapat dilakukan, maka DFA segera melakukan transisi itu. Sementara bila tidak ada transisi yang mungkin dilakukan berarti string bukan termasuk string yang dikenali DFA. Sementara itu bila string yang dibaca telah habis, maka bila DFA memasuki 4.2. Contoh DFA Yang Ekivalen

state yang termasuk dalam state akhir, berarti Q = {q0, q1, q2} string termasuk pada string yang dikenali diberikan dalam tabel berikut : DFA. Sebaliknya, bila DFA berada di state yang bukan state akhir berarti string tidak termasuk string yang dikenali DFA.

= {a, b} S = q0 F = {q0, q1}

q0 q1 q2

a q0 q0 q2

b q1 q2 q2

Tracing berakhir di q1 (state AKHIR) kalimat aaaababa diterima (q0, aaabbaba) (q0, aabbaba)

iii)

(q0, abbaba) (q0, bbaba) (q1,bbaba) (q2,baba) (q2,aba) (q2,ba) (q2,a) q2 Tracing berakhir di q2 (bukan state Gambar 4. Diagram Contoh 4.2 AKHIR) kalimat aaabbaba ditolak

Kalimat yang diterima oleh DFA : a, b, aa, ab, ba, aba, bab, abab, baba. Kalimat yang dittolak oleh DFA : bb, abb, abba. DFA ini menerima semua kalimat yang tersusun dari simbol a dan b yang tidak mengandung substring bb. abababaa diterima aaaabab diterima aaabbaba ditolak i) (q0,abababaa) (q0,bababaa) (q1,ababaa) (q0,babaa) (q1,abaa) (q0,baa) (q1,aa) (q0,a) q0 Tracing berakhir di q0 (state AKHIR) kalimat abababaa diterima ii) (q0, aaaabab) (q0,aaabab) (q0,aabab) (q0,abab) (q0,bab) (q1,ab) (q0,b) q1

V. Penutup

Finite Automata biasanya mengacu pada Deterministic Finite Automata (DFA).

Deterministic Finite Automata (DFA) adalah finite automata dengan aturan-aturan yang sangat ketat. Yaitu tidak memungkinkan satu simbol menimbulkan transisi ke lebih dari satu state dan tidak memungkinkan transisi spontan atau transisiNondeterministic Finite Automata (NFA). Semua DFA merupakan bagian dari NFA. Kedua FA tersebut mampu mengenali

himpunan regular secara presisi. Dengan demikian, kedua FA tersebut dapat

mengenali string-string yang ditunjukkan dengan ekspresi regular secara tepat. DFA dapat menuntun recognizer lebih cepat dibanding NFA. Lebih mudah

membangun NFA dibanding DFA untuk suatu bahasa, namun lebih mudah

mengimplementasikan DFA dibanding NFA.

VI. Daftar Pustaka

Hariyanto,

Bambang,

2004,

Teori

Bahasa, Otomata, dan Komputasi serta terapannya, Informatika Bandung, Bandung.

Hopcroft J.E, dan J.D Ullman, 1979, Introduction to Automata Theory, Languages and Computation, Addison-Wesley

Publishing Company, Reading, Massachusetts.

Dra. Harlili

M.Sc,

Ir. Hanye S.

Dulimarta Ph.D, Ir. Rinaldi Munir M.T., 2001, Teori Bahasa Formal, Departemen Teknik Informatika ITB, Bandung.

D.Kelley, 1999, Otomata dan BahasaBahasa Formal, Pranhallindo.

Anda mungkin juga menyukai