Anda di halaman 1dari 13

MAKALAH

TEORI BAHASA DAN OTOMATA


“EKUIVALENSI NFA KE DFA”

Nama Kelompok 8 :
Rafi Budi Sulistio 1
Fadia Safitri 191011401466
Mohhammad Pandu Bismoko 191011402287

TEKNIK INFORMATIKA
FAKULTAS TEKNIK
UNIVERSITAS PAMULANG
Jl. Raya Puspiptek, Buaran, Kec. Pamulang, Kota Tangerang Selatan,
Banten 15310
KATA PENGANTAR

Puja dan puji syukur penulis panjatkan atas kehadirat Allah yang
Maha Esa, karena berkat rahmat-Nya penulis dapat menyelesaikan
makalah ini yang berjudul“Ekuivalensi NFA ke DFA”.
Makalah ini dibuat dengan tujuan memenuhi tugas dari Bapak Joko Suwarno
S.Kom., M.Kom. selaku dosen Teori Bahasa dan Otomata. Sesuai dengan tugas
yang diberikan, makalah bertema “Ekuivalensi NFA ke DFA” yang membahas
segala isinya.
Penulis menyadari bahwa makalah ini jauh dari sempurna, oleh karena itu
penulis mengharapkan kritik dan saran dari Bapak serta rekan-rekan
sekalian sehingga penulisdapat memperbaiki kesalahan-kesalahan dalam
makalah ini dan menyempurnakannyasehingga menjadi sumber ilmu yang
bermanfaat bagi kita semua.
Akhir kata penulis ucapkan terima kasih dan Semoga makalah ini dapat
memenuhitugas yang diberikan dan dapat menjadi acuan untuk
menghasilkan makalah yang lebihbaik lagi.
DAFTAR ISI

KATA PENGANTAR...................................................................................................i
DAFTAR
ISI.......................................................................................................... ii
BAB I PENDAHULUAN..................................................................................... 1
A. Latar Belakang ...................................................................................................1
B.Rumusan Masalah...............................................................................................1
C.Tujuan Penulis................................................................................................... 1
BAB II PEMBAHASAN...................................................................................... 2
A.Pengertian NFA (Non-deterministic Finite Automata).......................................2
B.Pengertian DFA (Deterministic Finite Automata)...............................................2
C.Perbedaan NFA ke DFA ..................................................................................... 3
D.Ekuivalensi NFA ke DFA................................................................................... 5
E. Konversi NFA ke DFA yang Ekuivalen.............................................................6
F.Contoh Soal.........................................................................................................7
BAB III
PENUTUP...................................................................................................10
A.Kesimpulan.......................................................................................................10
B.Saran.................................................................................................................
10
DAFTAR
PUSTAKA................................................................................................ 11i
BAB I
PENDAHULUAN

1.1 Latar Belakang

Dalam hierarki kelas-kelas bahasa menurut Chomsky, kelas bahasa yang


paling sederhana adalah kelas bahasa reguler (regular languages). Bahasa reguler
dapat dengan tepat dideskripsikan dengan menggunakan finite automata (FA);
dengan kata lain bahasa yang dapat diterima oleh suatu finite automata adalah
bahasa reguler.

Finite automata merupakan mesin abstrak yang berupa sistem model


matematika dengan masukan dan keluaran diskrit yang dapat mengenali bahasa
paling sederhana (bahasa reguler) dan dapat diimplementasikan secara nyata di
mana sistem dapat berada di salah satu dari sejumlah berhingga konfigurasi
internal disebut state. Banyak model perangkat keras dan perangkat lunak yang
menggunakan finite automata sebagai penerapannya. Beberapa contoh penerapan
finite automata dalam perangat keras dan perangkat lunak adalah dalam
perancangan dan pemantauan perilaku rangkaian digital, scanning dokumen teks
dalam halaman web guna menemukan kesamaan kata, frase dan bentuk lain
(Hopcroft et al., 2007).

Terdapat dua jenis finite automata, yaitu deterministik finite automata


(DFA) dan nondeterministik finite automata (NFA). Perbedaan di antara kedua
jenis finite automata tersebut terletak pada kontrol terhadap finite automata
tersebut (Hopcroft et al., 2007). Deterministik finite automata (DFA) bersifat
deterministik, yang berarti bahwa automata tersebut tidak dapat berada di lebih
dari satu state pada saat yang bersamaan, sedangkan non-deterministik finite
automata (NFA) bersifat non-deterministik, yang berarti bahwa 2 automata
tersebut dapat berada di beberapa state pada saat yang bersamaan atau dengan
kata lain NFA dapat menebak di state mana dia berikutnya akan berada (Hopcroft
et al., 2007).

Ada banyak bahasa yang apabila digunakan akan membuat NFA lebih
mudah dibangun dibandingkan jika dibangun menggunakan DFA. Suatu bahasa
yang dibangun menggunakan NFA ternyata tidak lebih powerful dibandingkan
dengan ketika dibangun menggunakan DFA. Setiap bahasa yang dapat
dideskripsikan oleh suatu NFA ternyata dapat pula dideskripsikan oleh satu DFA.
Bukti bahwa DFA dapat melakukan apa saja yang dapat dilakukan NFA
melibatkan suatu konstruksi yang disebut dengan subset construction. Subset
construction adalah prosedur untuk mentransformasikan suatu NFA menjadi DFA
(Hopcroft et al., 2007). Jumlah state yang dimiliki oleh DFA maupun oleh NFA
kurang lebih sama pada kebanyakan kasus tetapi berbeda dalam jumlah transisi
yang dimiliki oleh keduanya. Pada sebagian kecil kasus, untuk membuat suatu
DFA yang mengungkapkan bahasa yang sama dengan suatu NFA dengan jumlah
state n, bisa jadi—dalam kasus terburuk—diperlukan 2n state (Hopcroft et al.,
2007).

Hopcroft et al. (2007) menyatakan bahwa salah satu bentuk perluasan dari
finite automata adalah finite automata dengan transisi epsilon (). NFA yang
memiliki (- NFA) memungkinkan NFA tersebut untuk menerima transisi atau
string kosong. Lebih lanjut efeknya pada NFA adalah memungkinkan terjadinya
transisi spontan tanpa menerima simbol masukan. Seperti halnya sifat non-
deterministik pada finite automata, penambahan transisi ini tidak memperluas
kelas bahasa yang dapat diterima oleh 3 suatu finite automata. Perluasan ini hanya
akan memberikan kemudahan dalam membangun suatu automata.

DFA hasil transformasi dari suatu NFA bukanlah suatu DFA yang
minimal. Untuk suatu DFA, dapat menemukan DFA yang ekuivalen yang
memiliki jumlah state yang lebih sedikit atau sama dengan semua DFA yang
menerima bahasa yang sama (Hopcroft et al., 2007).

Selain itu juga, untuk membantu mahasiswa dan dosen dalam hal
pengujian DFA dan NFA maka dibuatlah sebuah compiler yang dapat
menunjukkan perubahan suatu finite automata dari suatu bentuk representasi ke
bentuk representasi yang lain

1.2 Rumusan Masalah


1. Apa perbedaan DFA dan NFA.
2. Apa ekivalensi DFA dan NFA.
3. Penjelasan Konversi dari NFA ke DFA.
4. Fungsi transisi

1.3 Tujuan Dan Manfaat


1.3.1 Tujuan
1.3.2 Manfaat

BAB 2
PEMBAHASAN

2.1 Non-Determinaistic Finite Automat

Non-deterministik finite automata (NFA) bersifat non-deterministik, yang


berarti bahwa automata tersebut dapat berada di beberapa state pada saat yang
bersamaan atau dengan kata lain NFA dapat menebak di state mana dia berikutnya
akan berada (Hopcroft et al., 2007).Pada Non-Determinaistic Finite Automata
(NFA) dari suatu state bisa terdapat 0,1, atau lebih busur keluar (transisi) berlabel
simbol input yang sama. Non-Determinaistic Finite Automata didefenisikan pula
dengan lima(5) M=(Q , Σ , δ , S , F )dengan arti yang serupa pada Deterministic
Fnite Automata. Disini perbedaan ada padafungsi transisinya, dimana untuk setiap
pasangan state-input, kita bisa memiliki 0 (nol) atau lebih pilihan untuk state
berikutnya.

Gambar 2.1

2.2 Deterministic Finite Automata

Deterministic Finite Automata merupakan sebuah fungsi yang harus


terdefinisi untuk semuapasangan state-input yang ada didalam Q X ∑.
Deterministik finite automata (DFA) bersifat deterministik, yang berarti bahwa
automata tersebut tidak dapat berada di lebih dari satu state pada saat yang
bersamaan.

Gambar 2.2

2.3.Ekivalensi-Deterministic Automata ke Deterministic Finite Automata


Ada banyak bahasa yang apabila digunakan akan membuat NFA lebih
mudah dibangun dibandingkan jika dibangun menggunakan DFA. Suatu bahasa
yang dibangun menggunakan NFA ternyata tidak lebih powerfull dibandingkan
dengan ketika dibangun menggunakan DFA. Setiap bahasa yang dapat
dideskripsikan oleh suatu NFA ternyata dapat pula dideskripsikan oleh satu DFA.
Bukti bahwa DFA dapat melakukan apa saja yang dapat dilakukan NFA
melibatkan suatu konstruksi yang disebut dengan subset construction. Subset
construction adalah prosedur untuk mentransformasikan suatu NFA menjadi DFA
(Hopcroft et al., 2007).

Jumlah state yang dimiliki oleh DFA maupun oleh NFA kurang lebih
sama pada kebanyakan kasus tetapiberbeda dalam jumlah transisi yang dimiliki
oleh keduanya. Pada sebagian kecil kasus, untuk membuat suatu DFA yang
mengungkapkan bahasa yang sama dengan suatu NFA dengan jumlah state n,
bisa jadidalam kasus terburukdiperlukan 2 state (Hopcroft et al., 2007). Hopcroft
et al. (2007) menyatakan bahwa salah satu bentuk perluasan dari finiteautomata
adalah finite automata dengan transisi epsilon (ǫ). NFA yang memiliki ǫ (ǫ-
NFA)memungkinkan NFA tersebut untuk menerima transisi ǫ atau string
kosong.Lebih lanjut efeknya pada NFA adalah memungkinkan terjadinya transisi
spontan tanpa menerima simbol masukan. Seperti halnya sifat non-deterministik
pada finite automata, penambahan transisi ǫ ini tidak memperluas kelas bahasa
yang dapat diterima oleh suatu finite automata. Perluasan ini hanya akan
memberikan kemudahan dalam membangun suatu automata. DFA hasil
transformasi dari suatu NFA bukanlah suatu DFA yang minimal. Untuk suatu
DFA, dapat menemukan DFA yang ekuivalen yang memiliki jumlah state yang
lebih sedikit atau sama dengan semua DFA yang menerima bahasa yang sama
(Hopcroft et al., 2007).

Selain itu juga, untuk membantu mahasiswa dan dosen dalam hal
pengujian DFA dan NFA maka dibuatlah sebuah compiler yang dapat
menunjukkan perubahan suatu finite automata dari suatu bentuk representasi ke
bentuk representasi yang lain.
Tahapan Pengubahan Non-Determinaistic Finite Automata ke Deterministic Finite
Automata Dari semua mesin Non-deterministic Finite Automata dapat dibuat
mesin Deterministic Finite Automata-nya yang ekivalen (bersesuaian). Ekivalensi
disini artinya mampu menerima bahasa yang sama.

2.3.1 Simulasi NFA oleh DFA

 Cara simulasi NFA oleh DFA adalah dengan membuat state DFA
berkorespondensi dengan set state di NFA.
 DFA yang dibentuk mencatat semua state yang mungkin pada NFA
setelah membaca input tertentu.

Pembuktian
 Teorema: Jika L adalah himpunan yang diterima oleh NFA maka ada
sebuah DFA yang menerima L
 Misalnya sebuah NFA M = (Q, Σ, q0, δ, A) dan DFA M’ = (Q’, Σ’, q0’, δ’,
A’)
 State pada M’ adalah semua subhimpunan dari himpunan state M, yaitu Q’
= 2Q. M’akan mencatat dalam statenya semua state M yang mungkin pada
waktu tertentu.

Pembuktian (2)
 F’ adalah himpunan semua state di Q’ yang mengandung final state dari
M.

 Elemen Q’ akan dinyatakan sebagai [q1, q2, …, qi] dimana q1, q2, …, qi
ada di Q– [q1, q2, …, qi] adakah satu state dalam DFA yang
berkorespondensi dengan suatu himpunan state di NFA – q0’ = [q0].

Pembuktian (3)

 δ’([q1, q2, …., qi], a) = [p1, p2, …, pj] jika dan hanya jika δ’({q1, q2, ….,
qi}, a) = {p1,p2, …,pj}
 Aplikasi δ’ terhadap elemen [q1, q2, …, qi] dari Q’ dihitung dengan
mengaplikasikan δΣterhadap setiap q1, q2, …, qi dan membuat
gabungannya (unionnya),
 Gabungan tersebut digunakan untuk membuat set state baru p1, p2…pj.
Himpunan baru ini memiliki representasi [p1, p2, …, pj] di Q’, dan
elemen tersebut adalah nilai dari δ’([q1, q2, …., qi], a)

Pembuktian (4)
 Dengan menggunakan induksi, dapat dibuktikan bahwa:
 δ’(q0’, x) = [q1, q2, …, qi] jika dan hanya jika δ(q0, x) = {q1, q2, …, qi}
 Jadi: dapat dibuat sebuah mesin DFA yang menerima bahasa yang sama
dengan yang diterima oleh sebuah mesin NFA.

Prosedur NFA ke DFA

 Prosedur pengubahan sebuah NFA menjadi DFA


 C no N A
Langkah 1
 State awal DFA menjadi State awal NFA
 Dari q0 menjadi {q0}
 Hasil:

Langkah 2
 Untuk setiap state DFA: {qi, qj, ... , qm}
 Buat di NFA:

Lanjutan Langkah 2

 δΣ({qi , q j,..., qm}, a)=Σ{q′i, q′jΣ,..., q′mΣ}


 Ulangi langkah ini untuk semua huruf dalam simbol masukan sampai tidak
ada transisi yang bisa ditambahkan.

Contoh :
 NFA
 DFA

Langkah 3
 Untuk setiap state DFA {qi, qj, .., qm} • Jika ada qj di final state NFA.
 Maka {qi, qj, ...., qm} adalah final state di DFA.

Contoh Langkah 3 :
 NFA

 DFA
CONTOH-CONTOH EKIVALENSI NFA KE DFA

Tabel Transisi NFA

Tabel Transisi DFA


1. Graf Transisi DFA

BAB 3
PENUTUP

3.1. Kesimpulan
Dari pembahasan daiatas dapat disimpulkan bahwa antara NFA ke DFA
terdapat ekuivalensi.Dengan menggunakan tabel transisi kita dapat lebih
mudah menentukan ekuivalensi dari NFA ke DFA atau sebaliknya.

3.2 Saran
Demikian yang dapat kami paparkan mengenai materi yang menjadi
pokok bahasan dalam makalah ini, tentunya masih banyak kekurangan dan
kelemahannya, kerena terbatasnya pengetahuan dan kurangnya rujukan
atau referensi yang ada hubungannya dengan judul makalah ini.

Penulis banyak berharap para pembaca yang budiman dusi memberikan


kritik dan saran yang membangun kepada penulis demi sempurnanya
makalah ini dan dan penulisan makalah di kesempatan – kesempatan
berikutnya. Semoga makalah ini berguna bagi penulis pada khususnya
juga para pembaca yang budiman pada umumnya.

Anda mungkin juga menyukai