• Tidak ada hasil yang ditemukan

TEORI BAHASA DAN AUTOMATA

N/A
N/A
Protected

Academic year: 2022

Membagikan "TEORI BAHASA DAN AUTOMATA"

Copied!
11
0
0

Teks penuh

(1)

MODUL V

TEORI BAHASA DAN AUTOMATA

Tujuan :

Mahasiswa memahami NFA dengan e-move, dapat malakukan ekivalensi ke NFA tanpa e-move dan operasi gabungan/konkatenasi.

Materi :

 NFA dengan e-move

 Ekivalensi NFA dengan e-move dan NFA tanpa e-move

 Gabungan dan Konkatenasi

(2)

NON-DETERMINISTIC FINITE AUTOMATA DENGAN -MOVE

Non-deterministic Finite Automata dengan -move ( NFA -move )

Disini kita mempunyai jenis otomata baru yang disebut Non-deterministic Finite Automata dengan -move( disini bisa dianggap sebagai empty). Pada Non- deterministic Finite Automata dengan -move (transisi ), diperbolehkan merubah state tanpa membaca input. Disebut dengan transisi  karena tidak bergantung pada suatu inout ketika melakukan transisi. Contohnya bisa dilihat pada gambar1

Gambar 1. Mesin NFA dengan -move

Penjelasan gambar 1

 dari q0 tanpa membaca input dapat berpindah ke q1

 dari q1 tanpa membaca input dapat berpindah ke q2

 dari q4 tanpa membaca input dapat berpindah ke q1

Salah satu kegunaan dari transisi  ini memudahkan kita untuk mengkombinasikan finite state automata.

-closure untuk NFA -move

.

Sekarang kita akan menambah suatu pengertian baru yang disebut -closure.

-closure adalah himpunan state-state yang dapat dicapai dari suatu state tanpa membaca input. Misalkan saja -closure(q0) = himpunan-himpunan state-state yang

q0 q1

q4

q3

q2

b

b a

(3)

dapat dicapai dari state q0 tanpa membaca input. Maka dengan melihat gambar - closure (q0)= q0,q1,q2, artinya dari state q0 tanpa membaca input dapat mencapai state q0, q1, dan q2. -closure untuk state lainnya bisa dilihat sebagai berikut:

-closure (q1) = q1,q2

-closure (q2) = q2

-closure (q3) = q3

-closure (q4) = q1,q2,q4

Contoh lain kita lihat pada gambar 2.

Gambar 2 Mesin NFA dengan -move

Dari gambar 2 kita ketahui -closure untuk setiap state adalah:

-closure (q0) = q0,q1,q3

-closure (q1) = q1,q3

-closure (q2) =q2,q4

-closure (q3) = q3

-closure (q4) = q4

* Perhatikan : pada suatu state yang tidak memiliki transisi , maka -closurenya adalah state itu sendiri.

q1 q2

q0

q3 q4

b

a

(4)

Ekivalensi NFA -move ke NFA tanpa -move

Dari sebuah Non-deterministic Finite Automata dengan -move dapat kita peroleh Non- deterministic Finite Automata tanpa -move yang ekivalen. (Dalam buku ini sebutan NFA saja mengacu pada NFA tanpa -move). Contohnya bila kita punya NFA , seperti pada gambar 3.

Gambar 3. NFA -move

Gambar 4 adalah NFA tanpa -move yang ekivalen dengan NFA -move pada Gbr. 3

Gambar 4. NFA -move

q1 q2

q0

q3

b a

q1 q2

q0

b a

q3

b a

(5)

Perhatikan bahwa Non-deterministic Finite Automata -move semula menerima bahasa yang membuat string ’b’, selanjutnya kita lihat bahwa Non-deterministic Finite Automata tanpa -move pada gambar juga mampu menerima bahasa yang memuat string ‘b’. Maka kita dapat menyatakan bahwa kedua mesin tersebut ekivalen, karena mampu menerima bahasa yang sama.

Tentu saja bila gambarnya tidak sesederhana itu, kita perlu melakukan beberapa tahapan untuk mendapatkan perubahan dari Non-deterministic Finite Automata - move ke Non- deterministic Finite Automata tanpa -move. Caranya secara umum adalah sebagai berikut:

1. Buat table transisi Non-deterministic Finite Automata dengan -move semula 2. Tentukan -closure untuk setiap state

3. Carilah setiap fungsi transisi hasil perubahan dari Non-deterministic Finite Automata -move ke Non-deterministic Finite Automata tanpa -move (kita sebut saja sebagai ’) dimana ’ didapatkan dengan rumus:

’(state, input) = _closure ((_closure(state, input))

4. Berdasarkan hasil no (3), kita bisa membuat table transisi dan diagram transisi dari Non-deterministic Finite Automata tanpa -move yang ekivalen dengan Non- deterministic Finite Automata -move tersebut.

5. Jangan lupa menentukan state-state akhir untuk Non-deterministic Finite Automata tanpa -move tersebut, yaitu state-state akhir semula ditambah dengan state-state yang _closure –nya menuju ke salah satu dari state akhir semula. Dalam bahasa formalnya:

F’ = F  q(-closure (q)  F) 

Misal: bila semula F= q0, q3, _closure q1, = q0, q2, maka F’=q0, q1, q3.

Tabel transisi dari NFA - move pada gambar 3.

 a b

q0  

q1 q2 q3

q2  

q3  

(6)

Dari Non-deterministic Finite Automata -move pada gambar kita bisa tentukan - closure untuk setiap state (-closure bisa juga kita singkat sebagai -cl):

_cl (q0) = q0,q1

_cl (q1) = q1

_cl (q2) = q2

_cl (q3) = q3

Kemudian kita cari ’ dengan memanfaatkan table transisi dan -closure yang kita peroleh sebelumnya, sebagai berikut:

’(q0,a) = _closure ((_closure(q0),a))

= _closure ((q0,q1,a))

= _closure (q2)

= q2

’(q0,b) = _closure ((_closure(q0),b))

= _closure ((q0,q1,b))

= _closure (q3)

= q3

’(q1,a) = _closure ((_closure(q1),a))

= _closure ((q1,a))

= _closure (q3)

= q3

’(q1,b) = _closure ((_closure(q1),b))

= _closure ((q1,b))

= _closure (q3)

= q3

’(q2,a) = _closure ((_closure(q2),a))

= _closure ((q2,a))

= _closure ()

= 

(7)

’(q2,b) = _closure ((_closure(q2),b))

= _closure ((q2,b))

= _closure ()

= 

’(q3,a) = _closure ((_closure(q3),a))

= _closure ((q3,a))

= _closure ()

= 

’(q3,b) = _closure ((_closure(q3),b))

= _closure ((q3,b))

= _closure ()

= 

Bisa kita lihat table transisi untuk NFA tanpa -move dari hasil diatas:

 a b

q0 q2 q3

q1 q2 q3

q2  

q3  

Akhirnya kita tentukan himpunan state akhir untuk Non-deterministic Finite Automata tanpa -move ini. Himpunan state akhir semula adalah q3. Karena tidak ada state lain yang -closure-nya memuat q3, maka himpunan state akhir sekarang tetap q3.

Sekarang anda dapat menggambarkan Non-deterministic Finite Automata tanpa -move. Periksalah gambarnya dengan gambar

*Perhatikan karena disini mesin Non-deterministic Finite Automata maka state

 tidak perlu kita munculkan dalam diagram transisi.

Kita coba dengan contoh alin, perhatikan gambar 5.

(8)

Gambar 5. NFA -move

Lihat table transisi untuk NFA -move pada gambar

 a B

q0 q0  q1  q2 q2  q2

Kita tentukan -cl untuk setiap state dari gambar:

_cl (q0) = q0,q1

_cl (q1) = q1

_cl (q2) = q0,q1,q2

Selanjutnya kita tentukan ’ sebagai berikut:

’(q0,a) = _closure ((_closure(q0),a))

= _closure ((q0,q1,a))

= _closure (q0)

= q0,q1

’(q0,b) = _closure ((_closure(q0),b))

= _closure ((q0,q1,b))

= _closure (q2)

= q0,q1,q2

q0 q1

a

b b

q2

(9)

’(q1,a) = _closure ((_closure(q1),a))

= _closure ((q1,a))

= _closure ()

= 

’(q1,b) = _closure ((_closure(q1),b))

= _closure ((q1,b))

= _closure (q2)

= q0,q1,q2

’(q2,a) = _closure ((_closure(q2),a))

= _closure ((q0,q1,q2,a))

= _closure (q0)

= q0,q1

’(q2,b) = _closure ((_closure(q2),b))

= _closure ((q0,q1,q2,b))

= _closure (q2)

= q0,q1,q2

Berdasarkan hasil diatas dapat kita buat table transisi untuk NFA tanpa -move :

 a b

q0 q0,q1 q0,q1,q2

q1  q0,q1,q2

q2 q0,q1 q0,q1,q2

Akhirnya kita tentukan himpunan state akhir untuk Non-deterministic Finite Automata tanpa -move ini. Himpunan state akhir semula adalah q0. Kita lihat _cl (q2) =

q0,q1,q2. Sehingga himpunan state akhir sekarang q0,q2.

Sekarang kita dapat membuat diagram transisi untuk Non-deterministic Finite Automata tanpa -move, yang dapat dilihat pada gambar 6:

(10)

Gambar 6. NFA tanpa -move yang ekivalen dengan Gambar 5.

Contoh lain, perhatikan Non-deterministic Finite Automata -move pada gambar7. Non-deterministic Finite Automata tanpa -move yang ekivalen dengan gambar 7 bisa kita lihat pada gambar 8

Gambar 7. NFA -move

q1

q0 0

q0

b

q1

ab b

b

q2

b b

ab ab

ab

q1 q0

0 0

(11)

Gambar 8. NFA tanpa-move

Misalkan diketahui bahwa Non-deterministic Finite Automata -move semula (gambar7) menerima bahasa dengan ekspresi regular = 0*, maka dapat kita lihat bahwa Non-deterministic Finite Automata tanpa -move ekivalennya juga menerima bahasa yang sama. Perhatikan bahwa dalam menentukan state-state akhir kita juga memperhitungkan transisi-transisi  sebelum state akhir semula.

Gambar

Gambar 1. Mesin NFA dengan -move
Gambar 2 Mesin NFA dengan -move
Gambar 3. NFA -move
Tabel transisi dari NFA - move pada gambar 3.
+3

Referensi

Dokumen terkait

Pertumbuhan riap tinggi semai dengan tingkat penggenangan sebatas leher akar menghasilkan nilai rataan riap tinggi semai paling baik (0,570 cm/minggu) dibandingkan

1) Diharapkan dapat memberikan ilmu dan pengetahuan baru bagi dunia kesehatan bahwa terdapat pengaruh pemberian pakan antioksidan buah mengkudu (Morinda citrifolia)

Dari 5 partisipan, 2 orang mengatakan bahwa RA disebabkan karena udara dingin. Hal tersebut terungkap berikut ini. Tapi ya mungkin karena udara dingin mbak). Sub Tema

Pembukuan Perusahaan diselenggarakan dalam mata uang Rupiah. Transaksi-transaksi dalam mata uang asing dibukukan dengan nilai tukar yang berlaku pada tanggal

adalah tanaman penghasil gaharu berkualitas terbaik dengan nilai jual yang tinggi,.. jenis ini termasuk dalam family Thymelleaceae , tumbuh di dataran rendah hingga pegunungan,

” PENGARUH RELIGIUSITAS, PENGETAHUAN, TINGKAT KEUNTUNGAN BAGI HASIL, DAN FATWA MUI TENTANG KEHARAMAN BUNGA BANK TERHADAP KEPUTUSAN NASABAH MENGGUNAKAN PERBANKAN

Data dari penelitian ini adalah register variabel; antara lain field, tenor, dan mode dari dialog-dialog yang digunakan oleh Liz, Stephen, David, dan Felipe di

Kehidupan bermasyarakat merupakan hal yang perlu diamati karena didalamnya selalu mengalami pergeseran, walaupun pada dasarnya manusia tercipta dalam bentuk yang sempurna.