Anda di halaman 1dari 9

TUGAS TEORI BAHASA DAN AUTOMATA

FINITE STATE AUTOMATA

Nama : Putera Pratama Dwi Anggara


NIM : 213020503050
Kelas : A

FAKULTAS TEKNIK
PROGRAM STUDI TEKNIK INFORMATIKA
UNIVERSITAS PALANGKA RAYA
2022/2023

BAB I
PEMBAHASAN
1.1 Finite State Automata
Finite State Automata (FSA) adalah suatu mesin abstrak yang digunakan untuk
merepresentasikan penyelesaian suatu persoalan dari suatu sistem input dan output diskrit.
Sebagai sebuah mesin maka FSA akan bekerja jika diberikan suatu masukan. Hasil proses
adalah suatu nilai kebenaran diterima atau tidaknya masukan yang diberikan. FSA
memiliki state yang banyaknya berhingga, jika diberikan suatu simbol input maka dapat
terjadi suatu perpindahan dari sebuah state ke state lainnya. Perubahan state tersebut
dinyatakan oleh suatu simbol transisi. Mekanisme FSA tidak memiliki memori sehingga
selalu mendasarkan prosesnya pada posisi state “saat ini”. Misalnya pada mekanisme
kontrol pada sebuah lift, selalu didasari pada posisi lift saat itu pada suatu lantai,
pergerakan ke atas atau ke bawah dan sekumpulan permintaan yang belum terpenuhi.
Finite State Automata merupakan suatu tool yang berguna untuk merancang sistem nyata.
Sebagai contoh pada penyelesaian kasus: seorang petani dengan seekor serigala,
kambing dan seikat rumput berada pada suatu sisi sungai. Tersedianya hanya sebuah
perahu kecil yang hanya dapat dimuati dengan petani tersebut dengan salah satu serigala,
kambing atau rumput. Petani tersebut harus menyeberangkan ketiga bawaannya kesisi lain
sungai. Tetapi jika petani meninggalkan serigala dan kambing pada suatu saat, maka
kambing akan dimakan serigala. Begitu pula jika kambing ditinggalkan dengan rumput,
maka rumput akan dimakan oleh kambing. Mungkinkah ditemukan suatu cara untuk
melintasi sungai tanpa menyebabkan kambing atau rumput dimakan.
Masalah ini dapat dimodelkan dengan memperhatikan mereka yang menempati
setiap sisi sungai. Misalnya kita akan menggunakan kombinasi pada setiap sisi sungai
sebagai keadaan/state yang mungkin. Terdapat 16 kombinasi state untu Petani (P), serigala
(S), kambing (K) dan rumput ( R) yaitu:

Sisi kiri Sisi Simbol


Kanan State
PSKR Ø PSKR – Ø
SR PK SR – PK
SK PR SK – PR
KR PS KR – PS
PSR K PSR – K
PSK R PSK – R
PKR S PKR – S
PK SR PK – SR
PR SK PR – SK
PS KR PS – KR
K PSR K – PSR
R PSK R – PSK
S PKR S – PKR
SKR P SKR – P
P SKR P – SKR
Ø PSKR Ø – PSKR

Dari 16 kombinasi state tersebut, hanya 10 state yang mungkin, yaitu :

Sisi kiri Sisi Simbol


Kanan State
PSKR Ø PSKR – Ø
SR PK SR – PK
PSR K PSR – K
PSK R PSK – R
PKR S PKR – S
PK SR PK – SR
K PSR K – PSR
R PSK R – PSK
S PKR S – PKR
Ø PSKR Ø – PSKR

Berdasarkan kemungkinan state tersebut, dapat digambarkan diagram transisi


dari persoalan tersebut dengan mesin automata, sbb :
PK P

PKSR - Ø SR - PK PSR - K
PKP

PR
PSPS
PR

R - PKS S- PKR

PK
PK PK
PK

PKS - R
PKR - S

PS
PR
PR PS

K - PSR

P
PK - SR

PK PK

Ø - PKSR

Pada diagram diatas, arti bentuk-bentuk adalah sebagai berikut :

 lingkaran merepresentasikan kedudukan (state),


 label pada lingkaran adalah nama state tersebut.
 Busur menyatakan transisi
 Label pada busur adalah masukan / input
 Lingkaran didahului dengan sebuah busur tanpa label adalah state awal
 Lingkaran ganda menyatakan state akhir (final)
Secara formal FSA didefinisikan dengan 5 tuple : M = (Q, ∑, δ, S, F), dimana:
Q : himpunan state/kedudukan
∑ : himpunan simbol input
∂ : fungsi transisi
S : State awal (initial state)
F : himpunan state akhir (Final State)

Untuk kasus petani dengan bawaanya, dapat didefinisikan FSA sebagai


berikut:
Q = { PSKR–Ø, SR–PK, PSR–K, PSK–R, PKR–S, PK–SR, K–PSR,
R–PSK, S–PKR, Ø–PSKR}
∑ = {P, PK, PR, PS }
δ =

P PK PR PS
PSKR – SR - PK - - -
Ø
SR – PK PSR - K PSKR– - -
Ø
PSR – K SR - PK - S- R - PKS
PKR
PSK – R - S - PKR - K - PSR
PKR – S - R - PKS K- -
PSR
PK – SR K - PSR Ø-PSKR
K – PSR PK - SR - PKR - PKS –
S R
R – PSK - PKR - S - PSR - K
S – PKR - PKS - R PSR - -
K
Ø– - PK – SR - -
PSKR

S = PSKR – Ø
F = { Ø – PSKR }
FSA berdasar pada pendefinisian kemampuan berubah state-statenya bisa
dibagi menjadi dua yaitu Deterministic Finite Automata (DFA) dan Non-
deterministic Finite Automata (NFA).

1. Deterministic Finite Automata


Deterministic Finite Automata (DFA) merupakan salah satu finite state
machine dimana hasil dari konversi sebuah NFA ke DFA atau RE ke DFA
mungkin belum yang terbaik (efisien). Jumlah state yang dihasilkan tersebut dapat
diminimilisasikan dengan menggunakan 2 macam metode, yaitu metode partisi
(grouping) atau dengan filling table. Pada artikel ini akan dibahas cara untuk
meminimalkan jumlah state pada DFA dengan menggunakan metode partisi.

Berikut contoh Deterministic Finite Automata:

2. Non-Deterministic Finite Automata


Non-deterministic Finite Automata, selanjutnya disebut sebagai NFA.
Pada NFA, dari suatu state bisa terdapat 0 atau 1 atau lebih busur keluar (transisi)
berlabel simbol input yang sama. Suatu string diterima oleh NFA bila terdapat
suatu urutan transisi sehubungan dengan input string tersebut dari state awal
menuju state akhir. Untuk NFA, maka harus mencoba semua kemungkinan yang
ada sampai terdapat satu yang mencapai state akhir.

Berikut contoh Non-Deterministic Finite Automata:

1.2 Perbedaan DFA dan NFA


Berdasarkan contoh Deterministic Finite Automata (DFA) dan Non
Deterministic Finite Automata (NFA) yang ada di atas, terlihat perbedaan antara
DFA dan NFA yaitu :
 Pada Deterministic Finite Automata, jika suatu state diberi inputan maka
state tersebut akan selalu tepat menuju satu state
 Pada Non Deterministic Finite Automata, jika suatu state diberi inputan
maka mungkin saja bisa menuju ke beberapa state berikutnya. Dapat
dilihat di S0, jika diberi inputan b bisa menuju ke S1 dan S2.
BAB II
KESIMPULAN

Dari penjelasan diatas, dapat kita simpulkan Finite State Automata (FNA)
adalah model matematika yang dapat menerima input dan mengeluarkan output
yang memiliki state yang berhingga banyaknya dan dapat berpindah dari
satu state ke state lainnya berdasarkan input dan fungsi transisi. FSA berdasar
pada pendefinisian kemampuan berubah state-statenya bisa dibagi menjadi dua
yaitu Deterministic Finite Automata (DFA) dan Non-deterministic Finite
Automata (NFA).
DAFTAR PUSTAKA

Alvina Aulia. Teknik Kompilasi: Perbedaan DFA dan NFA.


https://socs.binus.ac.id/2019/12/21/teknik-kompilasi-perbedaan-dfa-dan-
nfa/. Diakses tanggal 8 september 2022.
Heru Tjahjana. Modul III Teori Bahasa dan Automata.
https://repository.dinus.ac.id/docs/ajar/file_2013-03
18_071001_dr.r._heru_tjahjana_s.si_m.si__5883745141.pdf. Diakses
tanggal 8 september 2022
Widyasari. Telaah Teoritis Finite State Automata.
https://media.neliti.com/media/publications/226255-telaah-teoritis-finite-
state-automata-de-8b056b07.pdf. Diakses tanggal 8 september 2022

Anda mungkin juga menyukai