Finite State Automata

Artikel kali ini merupakan lanjutan pembahasan dari series artikel Teori Bahasa dan Automata, dimana sebelumnya kita telah membahas mengenai Hirarki Chomsky dan Aturan Produksi.

TBO-Finite-State-Automata

Apa itu FSA?

  • FSA adalah mesin abstrak berupa sistem model matematika dengan masukan dan keluaran diskrit yang dapat mengenali bahasa paling sederhana
  • mekanisme kerja FSA dapat diterapkan pada analisis leksikal, text editor, protocol dan komunikasi jaringan

contoh analisis leksikal:

  • analisis leksikan adalah salah satu bagian dari proses penerjemahan
  • code yang dituliskan akan dianalisis seperti yang mana variabel, operator, keyword

Arti bentuk symbol pada graf transisi FSA

Mesin Automata Pengecek Angka Ganjil

Keterangan gambar:

  • Initial state ditandai dengan busur tanpa asal
  • Lingkaran menyatakan state
  • Label pada lingkaran adalah nama state, yaitu EVEN dan ODD
  • Busur adalah transisi / arah perpindahan state
  • Label pada busur adalah simbol input, yaitu 0 dan 1
  • Lingkaran ganda menyatakan final state, yaitu ODD

Pernyataan Final State Automata secara Formal

FSA dapat dinyatakan dalam 5 tupel atau M=(Q, Σ, δ, q0, F) dimana:

  • Q adalah Himpunan state atau kedudukan
  • Σ (dibaca: sigma) adalah Himpunan symbol input / masukan / abjad
    • Jika pada contoh sebelumnya, terdapat input / simbol yaitu 0 dan 1
  • δ (dibaca: delta) adalah Fungsi transisi
  • q0 (atau bisa juga S) adalah State awal q0. dimana q0 Q
  • F adalah Himpunan State akhir (final) F ⊆ Q

Catatan:

  • Jumlah state akhir bisa lebih dari satu

Contoh:

Mesin Automata Pengecek Angka Ganjil
  • Q = {ODD, EVEN}
  • Σ = {0, 1}
  • q0 = EVEN
  • F = {ODD}
  • δ (Transisi):
    • δ(EVEN, 0) = EVEN State EVEN menerima inputan 0 ke EVEN
    • δ(EVEN, 1) = ODD
    • δ(ODD, 0) = ODD
    • δ(ODD, 1) = EVEN

catatan: Final state F = {ODD} berupa himpunan karena final state dapat berjumlah lebih dari satu

Jadi aturan ini menyesuaikan model mesinnya

Contoh ketika mesin digunakan:

  • Ketika mendapat input 1101, maka urutan state yang terjadi adalah EVEN1ODD1EVEN0EVEN1ODD
  • berakhir dengan state ODD, maka 1011 diterima mesin
  • Karena diterima maka dapat diketahui bahwa jumlah bit 1 nya adalah ganjil

Contoh Lain:

  • Ketika mendapat input 101, maka urutan state yang terjadi adalah EVEN1ODD0ODD1EVEN
  • berakhir dengan state EVEN, maka 101 ditolak mesin
  • Karena ditolak maka dapat diketahui nilai bit nya genap

Berdasarkan pendefinisian kemampuan merubah statenya, FSA dikelompokkan kedalam 2 jenis, yaitu:

  • Deterministic FSA
  • Non Deterministic FSA

Kesimpulan

Apabila kita lihat kembali ilustrasi pada contoh sebelumnya, maka bisa kita simpulkan pada Mesin Automata tersebut bahwa

  • jika 1 nya ada genap berarti genap, contoh (0110 -> output Genap)
  • jika 1 nya ada ganjil maka hasilnya akan ganjil, contoh (1011 -> output Ganjil)
  • Mengapa demikian? karena apabila kita lihat graf nya terdapat simbol 0 dan 1 dimana simbol 0 selalu mengarah ke state itu sendiri. Sedangkan simbol 1 akan menyebabkan pergantian state (transisi)
  • Jadi 0 tidak terlalu berpengaruh

Referensi:

Artikel ini merupakan hasil resume dari video PAKKODING (web, youtube).

Video berjudul: #4 Teori Bahasa & Otomata – Finite State Automata

Terima kasih banyak ke pada PAKKODING atas materi yang disampaikan serta cara penyampaiannya yang mudah dipahami.

Share ke temen temen lainnya

Leave a Reply

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *