Anda di halaman 1dari 12

Makalah Teori Bahasa dan Automata

Pengenalan Konsep Teori Bahasa dan Automata


Finite State Automata, Reduksi Finite State Automata
Dosen Pengampu: Dr. Taufiq, S.Pd., M.Pd.

Disusun oleh: kelompok 1

Trisa 2204411657
Milyani 2204411654
Haichal 2204411680
Vionaldo 2204411799

PROGRAM STUDI INFORMATIKA

FAKULTAS TEKNIK KOMPUTER

UNIVERSITAS COKROAMINOTO PALOPO

2022/2023
KATA PENGANTAR

Puji syukur kami panjatkan atas kehadirat Tuhan Yang Maha Esa yang telah memberikan
kesehatan dan rahmat-Nya kepada kami sehingga kami dapat menyelesaikan makalah ini
dengan sebaik-baiknya. Makalah tentang pengenalan konsep teori bahasa dan automata: finite
state automata, reduksi finite state automata ini disusun sebagai salah satu syarat dalam
menyelesaikan tugas mata kuliah Teori Bahasa dan Automata.
Demikian pula kami menyadari bahwa dalam penulisan makalah ini kami
masih banyak kekurangan dan kesalahan baik dalam segi substansi maupun bahasa.
Namun, kami tetap berharap agar makalah ini dapat memberikan manfaat bagi
pembaca.

Oleh karena itu, kritik dan saran dari penulisan makalah ini sangat kami
harapkan dengan harapan sebagai masukan dalam perbaikan dan penyempurnaan
pada makalah kami berikutnya. Untuk itu kami ucapkan terimakasih.

i
DAFTAR ISI
KATA PENGANTAR............................................................................................................................i
DAFTAR ISI..........................................................................................................................................ii
BAB I
PENDAHULUAN..................................................................................................................................1
A. Latar Belakang...........................................................................................................................1
B. Rumusan Masalah.....................................................................................................................1
C. Tujuan Masalah.........................................................................................................................1
BAB II
PEMBAHASAN.....................................................................................................................................2
A. Teori Bahasa dan Automata dalam Ilmu Komputer...................................................................2
B. Finite State Automata................................................................................................................2
BAB III
PENUTUP...............................................................................................................................................8
A. KESIMPULAN..............................................................................................................................8
B. SARAN........................................................................................................................................8
DAFTAR PUSTAKA.............................................................................................................................9

ii
BAB I

PENDAHULUAN

A. Latar Belakang
Teori bahasa dan otomata merupakan bagian dari teori komputasi pada ilmu
komputer. Beberapa teori komputasi datang dari bahasa dan rekayasa sistem,
terutama yang berbasiskan matematika. Dalam hal ini penekanannya adalah pada
pemecahan masalah. Melalui contoh-contoh ilustrasi-masalah dapat dikenali latar
belakang dari suatu konsep dan hubungannya dengan definis dan teorema yang
ada. Secara teoritis ilmu komputer diawali dari sejumlah berbeda disiplin ilmu;
ahli biologi mempelajari neural network, insinyur elektro mengembangkan
switching sebagai tools untuk mendesain perangkat keras, matematikawan bekerja
berdasarkan logika, dan ahli bahasa menyelidiki tata bahasa untuk bahasa alami
(natural language) Finite state automata dan ekspresi reguler awal dikembangkan
berdasarkan pemikiran neural network dan switching circuit. Finite state automata
merupakan tools yang sangat berguna dalam perancangan suatu penganalisa
leksikal (lexical analyzer) yang berguna dalam mengelompokkan karakter-karakter
kedalam token-token sebagai unit terkecil dalam mengenali pola. Jadi apa
sesungguhnya teori bahasa tersebut? Teori bahasa merupakan suatu gagasan
mendasar dalam komputasi yang menjadi tools untuk mengenali persoalan.
Gagasan dasar tersebut dimodel dengan suatu simbol-simbol yang
merepresentasikan juga suatu fungsi dari komputer digital. Teori bahasa pada
awalnya lebih diarahkan untuk mengenali suatu tata bahasa dan dapat
mendefinisikan spesifikasi formal dari tata bahasa tersebut. Sehingga pada
akhirnya dapat didefinisikan langkah-langkah algoritmik dalam pemrosesan tata
bahasa.

B. Rumusan Masalah
1. Teori Bahasa Dan Otomata Dalam Ilmu Computer?
2. Finite State Automata?
3. Reduksi Finite State Automata?

C. Tujuan Masalah
1. Mengetahui Teori Bahasa Dan Otomata Dalam Ilmu Computer.
2. Mengetahui Finite State Automata.
3. Mengetahui Reduksi Finite State Automata.

1
BAB II

PEMBAHASAN

A. Teori Bahasa dan Automata dalam Ilmu Komputer.


Suatu teori hanya menarik jika dapat membantu dalam mencari solusi
terbaik. Tanpa penerapan timbul pertanyaan, mengapa mempelajari teori?
Teori memberikan konsep dan prinsip yang menolong untuk memahami
perilaku dari suatu persoalan yang berkorelasi dengan teori tersebut. Bidang
ilmu komputer meliputi topik yang luas, dari perancangan mesin sampai
pemrograman. Disamping perbedaan yang ada, terdapat keseragaman
prinsip-prinsip umum yang dipakai. Untuk mempelajari prinsip-prinsip
dasar tersebut, kita mengkonstruksi suatu mesin otomata sebagai model
abstrak dari komputer dan komputasi. Model ini memiliki fungsi-fungsi
yang penting dan umum pada perangkat keras dan perangkat lunak
komputer. Meskipun model tersebut sederhana untuk diterapkan langsung
pada dunia nyata, keuntungan yang diperoleh dari mempelajarinya adalah
memberikan landasan untuk basis dari suatu pengembangan algoritma.
Pendekatan ini, juga diterapkan pada ilmu sains lainnya.

B. Finite State Automata.


Finite state automata atau finite state machine adalah mesin abstrak yang
memiliki lima elemen atau tuple. Kelima elemen tersebut meliputi input,
output, himpunan state, dan relasi output.
Finite State Automata (FSA) berupa sistem model matematika dengan
masukan dan keluaran diskrit yang dapat mengenali bahasa paling sederhana
(bahasa reguler) dan dapat diimplementasikan secara nyata.
FSA dapat menerima input dan mengeluarkan output yang memiliki state
yang berhingga banyaknya. Selain itu, FSA memiliki sekumpulan aturan untuk
berpindah dari satu state ke state lain berdasarkan input dan fungsi transisi yang
diterpakan. Perlu diketahui bahwa system finite state automata hanya dapat
mengingat state terkini karena tidak memiliki tempat penyimpanan/memori.
Finite state automata pada dasarnya digunakan untuk mengenali pola.
Dibutuhkan string simbol sebagai input dan statusnya berubah sesuai dengan
input tersebut. Ketika ditemukan symbol input yang diinginkan, maka terjadi
transisi.pada saat transisi, automata dapat berpindah ke

2
3

keadaan berikutnya atau tetap dalam keadaan yang sama. Finite state automata
memiliki dua status, status terima atau status tolak. Ketika string input berhasil
di proses, dan automata mencapai state akhir,maka statusnya adalah terima,
demikian juga sebaliknya.
Finite state automata dapat didefinisikan dengan persamaan berikut:

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

a. Cara Kerja Finite State Automata

Finite State Automata bekerja dengan cara mesin membaca memori


masukan berupa tape yaitu 1 karakter tiap saat (dari kiri ke kanan)
menggunakan head baca yang dikendalikan oleh kotak kendali state berhingga
dimana pada mesin terdapat sejumlah state berhingga.

Finite Automata selalu dalam kondisi yang disebut state awal (initial state)
pada saat Finite Automata mulai membaca tape. Perubahan state terjadi pada
mesin ketika sebuah karakter berikutnya dibaca.

Ketika head telah sampai pada akhir tape dan kondisi yang ditemui adalah
state akhir, maka string yang terdapat pada tape dikatakan diterima Finite
Automata (String-string merupakan milik bahasa bila diterima Finite
Automata bahasa tersebut).

b. Jenis-jenis Finite State Automata

State Finite Automata dapat dibagi menjadi dua jenis, yaitu:

 Deterministic Finite Automata (DFA)


 Non-deterministic Finite Automata (NFA)

Kedua finite automata di atas mampu mengenali himpunan reguler


secara presisi. Dengan demikian kedua finite automata itu dapat
mengenali string-string yang ditunjukkan dengan ekspresi reguler secara
tepat.

DFA dapat menuntun recognizer(pengenal) lebih cepat dibanding


NDFA. Namun demikian, DFA berukuran lebih besar dibanding NDFA
yang ekivalen dengannya. Lebih mudah membangun NDFA dibanding
4

DFA untuk suatu bahasa, namun lebih mudah mengimplementasikan


DFA dibanding NDFA.

c. Deterministic Finite Automata (DFA)

Dalam Deterministic Finite Automata (DFA), untuk karakter input


tertentu, mesin hanya dapat menuju satu state dan fungsi transisi dipakai
pada setiap state untuk setiap simbol input.

Selain itu, pada DFA, perpindahan state null (atau ε) tidak


diperbolehkan, artinya, DFA tidak dapat mengubah state tanpa karakter
input sama sekali.

Deterministic Finite Automata (DFA) terdiri atas 5 tuple, yakni:

{Q, Σ, q, F, δ}

 Q : himpunan semua state


 Σ : himpunan simbol input (simbol yang digunakan oleh
mesin untuk mengambil nilai input)
 q : initial state (state atau keadaan awal dari mesin)
 F : himpunan state akhir
 δ : fungsi transisi, yang didefinisikan δ : Q X Σ --> Q.

Sebagai contoh berikut adalah DFA Σ = {0, 1}yang menerima semua


string yang diakhiri dengan 0.

Satu hal penting yang perlu diperhatikan pada jenis DFA adalah
terdapat banyak kemungkinan pada sebuah pola. Namun secara umum,
DFA dengan jumlah state minimum cenderung lebih baik.

d. Nondeterministic Finite Automata (NFA)

NFA hampir sama seperti DFA, namun yang membedakan adalah


pada beberapa hal berikut:
5

 Diperbolehkan terjadi perpindahan null (or ε), yang berarti NFA


dapat berpindah ke state berikutnya tanpa membaca simbol
input.
 NFA dapat mengirimkan beberapa state untuk input
tertentu.

Pada dasarnya beberapa hal di atas tidak membuat NFA lebih unggul
dari DFA. Jika kita membandingkan keduanya dalam hal kekuatan,
keduanya setara.

Karena fitur tambahan di atas, NFA memiliki fungsi transisi yang


berbeda, selebihnya sama dengan DFA. Fungsi transisi pada NFA dapat
didefinisikan sebagai berikut:

δ: Q X (Σ U ε ) --> 2 ^ Q.

Berikut adalah contoh dari NFA:

Satu hal penting yang perlu diperhatikan pada NFA adalah jika ada
jalur untuk string input yang mengarah ke state akhir, maka string input
diterima. Misalnya, di NFA di atas, ada beberapa jalur untuk string input
"00". Karena salah satu jalur mengarah ke state akhir, "00" diterima oleh
NFA.

C. Reduksi Finite State Automata.


Untuk suatu Bahasa regular, kemungkinan ada sejumlah deterministic finite
automata yang dapat menerimanya. Perbedaannya hanyalah jumlah state yang
dimiliki automata-automata yang saling ekuivalen tersebut. Tujuannya adalah
mengurangi jumlah state dari suatu finite state automata, dengan tidak
mengurangi kemampuannya semula untuk menerima suatu Bahasa.
Ada dua buah istilah baru yang perlu kita ketahui yaitu:
 Distinguishable yang berarti dapat dibedakan.
6

Distinguishable state adalah pasangan state yang dapat dibedakan. Ini adalah
kebalikan dari Indistinguishable state. Dua buah state p dan q dari sebuah FSA dikatakan
distinguishable jika ada string w  ∑* sedemikian sehingga : δ (q, w)  F sedangkan δ
(p, w)  F.

 Indistinguishable yang berarti tidak dapat dibedakan


Indistinguishable state adalah pasangan state yang tidak dapat dibedakan. Untuk state-
state yang indistinguishable pada prinsipnya dapat digabungkan menjadi satu state.
Reduksi jumlah state dapat dilakukan dengan pendekatan tersebut. Dua buah state p dan q
dari sebuah FSA dikatakan indistinguishable jika : δ (q, w)  F begitu pula δ (p, w) 
F dan δ (q, w)  F begitu pula δ (p, w)  F untuk semua w  ∑*.

1) Implementasi reduksi
Implementasi reduksi state dari suatu FSA dapat dilakukan sebagai berikut :
o Hapuslah semua state tidak dapat dicapai dari state awal (useless state) .
o Indentifikasi state-state yang indistinguishable dan gabungkan Secara lebih
detil tahapan-tahapanya adalah sebagai berikut : .
 Hapuslah semua useless state.
 Buatlah semua pasangan state (p, q) yang distinguishable, dimana p 
F - -dan q F. Catat semua pasangan-pasangan state tersebut.
Secara bertahap dilakukan reduksi sebagai berikut :
a) State q5 tidak dapat dicapai dari state awal dengan jalan apapun
(useless state). Hapus state q5
b) Catat state-state distinguishable, yaitu : q4  F sedang q0, q1,
q2,q3 F sehingga pasangan (q0, q4) (q1, q4) (q2, q4) dan (q3,
q4) adalah distinguishable.
c) Pasangan-pasangan state lain yang distinguishable diturunkan
berdasarkan pasangan dari langkah 2, yaitu :
 Untuk pasangan (q0, q1) δ(q0, 0) = q1 dan δ(q1, 0) = q2 
belum teridentifikasi δ(q0, 1) = q3 dan δ(q1, 1) = q4  (q3,
q4) distinguishable maka (q0, q1) adalah distinguishable.
 Untuk pasangan (q0, q2) δ(q0, 0) = q1 dan δ(q2, 0) = q1 
belum teridentifikasi δ(q0, 1) = q3 dan δ(q2, 1) = q4  (q3,
q4) distinguishable maka (q0, q2) adalah distinguishable.
 Untuk pasangan (q0, q3) δ(q0, 0) = q1 dan δ(q3, 0) = q2 
belum teridentifikasi δ(q0, 1) = q3 dan δ(q3, 1) = q4  (q3,
q4) distinguishable maka (q0, q3) adalah distinguishable.
 Untuk pasangan (q1, q2) q2 q0 q1 1 0 q4 1 1 0,1 q3 0 0 0 1 q5
0 1 δ(q1, 0) = q2 dan δ(q2, 0) = q1  belum teridentifikasi dan
q1, q2 F δ(q1, 1) = q4 dan δ(q2, 1) = q4  q4  F, maka
(q1,q2) mungkin indistinguishable.
7

 Untuk pasangan (q1, q3) δ(q1, 0) = q2 dan δ(q3, 0) = q2 


belum teridentifikasi dan q2 F δ(q1, 1) = q4 dan δ(q3, 1) =
q4  q4  F, maka (q1,q3) mungkin indistinguishable.
 Untuk pasangan (q2, q3) δ(q2, 0) = q1 dan δ(q3, 0) = q2 
belum teridentifikasi dan q1, q2 F δ(q2, 1) = q4 dan δ(q3, 1)
= q4  q4  F, maka (q1,q2) mungkin indistinguishable.
 Karena berdasarkan relasi-relasi yang ada, tidak dapat
dibuktikan (q1, q2), (q1, q3) dan (q2, q3) distinguishable,
sehingga disimpulkan pasangan-pasangan state tersebut
indistinguishable.
d) Karena q1 indistinguishable dengan q2, q2 indistinguishable
dengan q3, maka dapat disimpulkan q1, q2, q3 saling
indistinguishable dan dapat dijadikan satu state. Berdasarkan
langkah 1 s/d 4, dapat digambarkan DFA yang sudah direduksi
statenya sebagai berikut

Kedua mesin sebelum dan sesudah direduksi akan tetap menerima bahasa yang sama.
BAB III

PENUTUP
A. KESIMPULAN
1) Finite state automata atau finite state machine adalah mesin abstrak yang memiliki
lima elemen atau tuple. Kelima elemen tersebut meliputi input, output, himpunan
state, dan relasi output.
2) Finite state automata dapat didefinisikan dengan persamaan berikut:

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

3) Distinguishable state adalah pasangan state yang dapat dibedakan. Ini adalah
kebalikan dari Indistinguishable state. Dua buah state p dan q dari sebuah FSA
dikatakan distinguishable jika ada string w  ∑* sedemikian sehingga : δ (q, w)  F
sedangkan δ (p, w)  F.
4) Indistinguishable state adalah pasangan state yang tidak dapat dibedakan. Dua buah
state p dan q dari sebuah FSA dikatakan indistinguishable jika : δ (q, w)  F begitu
pula δ (p, w)  F dan δ (q, w)  F begitu pula δ (p, w)  F untuk semua w 
∑*.

B. SARAN
Dengan adanya pembahasan tentang pengenalan konsep teori bahasa dan automata: finite
state automata, reduksi finite state automata ini, diharapkan pembaca dapat memahami lebih
lanjut tentang finite automata, reduksi state automata. Kami sebagai penulis menyadari jika
makalah ini banyak sekali kekurangan yang jauh dari kata sempurna. Tentunya, kami akan
terus memperbaiki makalah dengan mengacu kepada sumber yang bisa
dipertanggungjawabkan nantinya. Oleh sebab itu, kami sangat mengharapkan adanya kritik
serta saran mengenai pembahasan makalah di atas.

8
DAFTAR PUSTAKA

https://www.trivusi.web.id/2022/08/finite-state-automata.html?m=1
file:///C:/Users/LENOVO/Downloads/bab%203_file_2013-03-
26_101056_dr.r._heru_tjahjana_s.si_m.si__%20(1).pdf

Anda mungkin juga menyukai