Makala H
Makala H
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
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
BAB 2
PEMBAHASAN
Gambar 2.1
Gambar 2.2
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.
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.
Langkah 2
Untuk setiap state DFA: {qi, qj, ... , qm}
Buat di NFA:
Lanjutan Langkah 2
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
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.