Anda di halaman 1dari 6

Tugas

Teori Bahasa dan Otomata

Equivalensi NFA ke DFA

Nama : A.Muh.Fadli Rustan

NIM : 1829041042

Kelas: PTIK E 2018

PENDIDIKAN TEKNIK INFORMATIKA DAN KOMPUTER

JURUSAN PENDIDIKAN TEKNIK ELEKTRO

FAKULTAS TEKNIK

UNIVERSITAS NEGERI MAKASSAR

2020
A. Pengertian Deterministic Finite Automata(DFA)
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.

B. Pengertian Non-Determinaistic Finite Automata(NFA)


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 pada fungsi transisinya,
dimana untuk setiap pasangan state-input, kita bisa memiliki 0 (nol) atau lebih pilihan untuk
state berikutnya.

C. Ekuivalensi NFA ke DFA


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
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 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.
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.

Gambar: mesin DFA

D. Contoh Ekuivalensi DFA ke NFA


1. Contoh Kasus Ekuivalensi NFA ke DFA 1

Diberikan NFA untuk menerima string yg diakhiri ab

Pertanyaan :

1. Buat Tabel Transisi NFA

2. Buat Tabel Transisi DFA hasil konversi dari NFA

3. Buat Graf Transisinya

Penyelesaian :

table transmisi NFA dan DFA


Dihasilkan DFA dengan :

Q = {q0, q1, q2, q0q1, q0q2}

n = {a, b}

State awal = q0

State akhir = q2 dan q0q2

Gambar transmisi DFA

Dari hasil graf transisi state q1, q2 dan null tidak bisa dicapai dari status awal, sehingga :

Dihasilkan DFA dengan :

Q = {q0, q0q1, q0q2}

n = {a, b}

State awal = q0

State akhir = q0q2

Hasil akhir sebagai berikut:


2. Contoh Kasus Ekuivalensi NFA ke DFA 2

Buatlah DFA yang ekuivalen dengan NFA disamping!

Pertama buatlah tabel transisinya

Kedua kita buat tupel dari tabel tersbut agar lebih detail:
δ = {q0 , q1}
Ʃ = {0 , 1}
s = q0
f = q1
Lalu kita mulai membuat DFA nya
 Dimulai dari state awal q0
State {q0} bila memperoleh input 0 menjadi state {q0, q1}.
State {q0} bila memperoleh input 1 menjadi state {q1}.

 Selanjutnya dilanjutkan dengan state q1


State {q1} memperoleh input 0 menjadi state ∅
State {q1} bila memperoleh input 1 menjadi state {q0, q1}.
Pada state {q0,q1} awalnya belum mempunyai busur dan pada DFA, sebuah
state harus mempunyai busur sebanyak himpunan inputnya, karena itu kita
tentukan terlebih dahulu arah busurnya dan busurnya ada 2.
δ({q0,q1},0) = {q0,0} ε {q1,0}
= {q0,q1} ε Ø
= {q0,q1}
δ({q0,q1},1) = {q0,1} ε {q1,1}
= {q1} ε {q0,q1}
= {q0,q1}
Jadi arah busur pada state {q0,q1} mengarah ke state itu sendiri.
Kemudian khusus pada state himpunan kosong (Ø) hanya menerima inputan
dari statenya sendiri,jadi busur pada himpunan kosong mengarah ke state
himpunan kosong.

Terakhir untuk menentukan final state pada DFA ini adalah dengan melihat
NFA yang ekuivalen dengan DFA ini yaitu soal awal, Kita ketahui Bahwa final
state adalah q1, jadi pada DFA, final statenya adalah semua state yang ada
hubungannya dengan q1 yaitu {q0,q1} dan {q1}

Anda mungkin juga menyukai