Anda di halaman 1dari 5

FINITE STATE AUTOMATA

Diajukan untuk memenuhi tugas


Mata Kuliah: Natural Languange Processing (NLP)
Dosen Pengampu: Ibu Ria Hari Gusmita

Disusun Oleh:
Wilda Nurjannah (11190910000053)

UNIVERSITAS ISLAM NEGERI JAKARTA


FAKULTAS SAINS DAN TEKNOLOGI
PRODI TEKNIK INFORMATIKA
2022
1. Pengertian

Finite State Automata atau disebut juga FSA merupakan model matematika yang
dapat menerima input dan mengeluarkan output. FSA memiliki state (digambarkan dengan
lingkaran) yang berhingga banyaknya dan dapat berpindah dari satu state ke state lainnya
berdasarkan input dan fungsi transisi. Finite state automata tidak memiliki tempat
penyimpanan/memory, hanya bisa mengingat state terkini.

2. Karakteristik FSA

Setiap FSA memiliki:


a. Himpunan berhingga (finite) status (state)
- Satu buah status sebagai status awal (initial state), biasa dinyatakan q0.
- Beberapa buah status sebagai status akhir (final state).
b. Himpunan berhingga simbol masukan
c. Fungsi transisi: Menentukan status berikutnya dari setiap pasang status dan sebuah
simbol masukan.

3. Bagian-bagian FSA

● Lingkaran menyatakan state


● Initial state ditandai dengan busur tanpa lingkaran sebelumnya
● Label pada lingkaran adalah nama state
● Busur menyatakan transisi/arah perpindahan state
● Label pada busur adalah symbol input
● Lingkaran ganda menyatakan final state

Pada FSA, suatu input dinyatakan diterima apabila input berakhir pada final state. Apabila
input berakhir di state selain itu maka input dinyatakan ditolak.

4. Membaca FSA

Finite State Automata dinyatakan oleh pasangan 5 tuple, yaitu:


M=(Q , Σ , δ , S , F )
Q = himpunan state
Σ = himpunan simbol input
δ = fungsi transisi δ : Q × Σ
S = state awal / initial state , S ∈ Q
F = state akhir, F ⊆ Q

Memakai contoh dari no. 2 maka FSA akan memiliki format sebagai berikut:
Q = {Genap, Ganjil}
Σ = {0,1}
S = Genap
F = {Ganjil }

Jika digambarkan dengan tabel transisi menjadi:

Tabel diatas dapat dibaca:

δ(Genap,0) = Genap (Jika state genap dimasuki input 0 maka akan tetap di state genap)
δ(Genap,1) = Ganjil (Jika state genap dimasuki input 1 maka akan berpindah ke state ganjil)
δ(Ganjil,0) = Ganjil (Jika state ganjil dimasuki input 0 maka akan tetap di state ganjil)
δ(Ganjil,1) = Genap (Jika state ganjil dimasuki input 1 maka akan berpindah ke state genap)

5. Contoh dari FSA


FSA berikut merupakan FSA yang dapat mengecek apakah suatu bilangan merupakan
bilangan ganjil/tidak. Jika mendapat input 1101, maka urutan state yang terjadi adalah?

Jawab:

(Genap, 1) Ganjil (Ganjil, 1) Genap (Genap,0) Genap (Genap,1) Ganjil

1101 jika dikonversi ke decimal merupakan angka 13 yang merupakan bilangan ganjil. (maka
input diterima)
6. Jenis-jenis FSA

a. Deterministic Finite Automata (DFA) :


- dari suatu state ada tepat satu state berikutnya untuk setiap simbol masukan yang
diterima. Deterministik artinya tertentu/sudah tertentu fungsi transisinya.

b. Non-deterministic Finite Automata (NFA) :


- Kemungkinan transisinya bisa lebih dari 1 state
- Perubahan state dapat terjadi secara spontan tanpa input (transisi kosong)
- Karena kemungkinannya bisa banyak, maka selama ada minimal 1 kombinasi
transisinya yang mencapai final state maka input diterima

Contoh dari NFA:

Dari 2 jenis FSA tersebut, kita dapat menarik beberapa perbedaan yakni:

DFA:
- 1 Transisi dari 1 state ke state yang lain (transisi tunggal
- Tidak ada transisi kosong
- String diterima jika berakhir di final state

NFA:
- Multi transisi dari 1 state ke state yang lain
- Boleh terdapat transisi kosong
- String diterima jika setidaknya 1 dari semua kemungkinan transisi berakhir pada
sebuah final state
Soal:
Jelaskan string apa yang tidak dapat dihasilkan oleh mesin finite state di bawah ini?

Dari finite state diatas, string yang tidak dapat dihasilkan oleh mesin finite state adalah string
yang tidak berakhir di final state, karena jika string tersebut berakhir di state selain final state
maka input akan ditolak.

Seperti contoh string ab, aab, aaa….b.


FSA diatas dimulai dari S1 yang dimana jika diberi input a maka akan berpindah S2. namun,
jika S2 diberi input b maka akan kembali ke S1. jika tidak ada tambahan string lain maka
string akan berakhir di S1 dan input akan ditolak.

Contoh lainnya adalah string acd, aacd, aaa….cd. Kumpulan string ini berakhir pada S3 dan
bukan S4 (final state) maka input juga akan ditolak.

Anda mungkin juga menyukai