• Tidak ada hasil yang ditemukan

TUGAS MAKALAH TEORI BAHASA & AUTOMATA

N/A
N/A
Protected

Academic year: 2021

Membagikan "TUGAS MAKALAH TEORI BAHASA & AUTOMATA"

Copied!
10
0
0

Teks penuh

(1)

TUGAS MAKALAH TEORI BAHASA & AUTOMATA

Anggota Kelompok

:

1. Aedy Suciawan

(50407040)

2. Afrista Reolny W

(50407042)

3. Arnoldus Billy Jansen (50407161)

4. Endah Nurhayati

(50407318)

5. Danang Panji P

(50407227)

(2)

Definisi

Automata Hingga Automata Hingga merupakan mesin abstrak yang terdiri dari Head

Pembaca dan Kotak Kontrol Stata Hingga. Mesin ini membaca sebuah pita (tape), satu

persatu karakter, dari kiri ke kanan. Perubahan stata terjadi pada mesin jika suatu karakter pita dibaca.

PITA

a a a b b b ^ … …



Read Head

Pada saat Automata Hingga mulai membaca Pita, ia harus selalu mulai dengan berada pada suatu stata, yang ditunjuk sebagai stata awal. Sebuah Automata Hingga Deterministik (AHD) terdiri atas 5 tupel (K, VT, f, q0, Z).

Dimana :

1. K adalah Himpunan Hingga berisi Stata.

2. VT adalah Himpunan Hingga berisi Simbol Input.

3. Sebuah fungsi f : K x VT, dimana K merupakan fungsi next-state.

4. q0 adalah Stata Awal anggota K.

5. Z adalah subset dari K yang berisi Stata Akhir atau Stata Penerima.

Contoh :

VT = (a,b) adalah himpunan simbol input.

K = (q0, q1, q2) adalah himpunan stata. Z = (q0, q1) adalah himpunan stata penerima. q0 adalah stata awal.

(3)

Fungsi Next-State f : K x VT  K didefinisikan sebagai tabel berikut : f a b q0 q1 q2 q0 q1 q0 q2 q2 q2

Automata Hingga Deterministik dapat dinyatakan dalam diagram berupa Graph Berarah. Pada graph berarah tersebut terdapat sebuah simpul sebagai stata awal q0. Lingkaran berlapis dua digunakan untuk menyatakan stata penerima.

Bila f(q0, a) = q0, maka terdapat busur dari q0 ke q0 dengan label a. Graph berarah dari

Automata Hingga Deterministik di atas terlihat pada gambar berikut :

Automata M dikatakan dapat menerima atau mengenal string w jika Stata Akhir merupakan Stata Penerima. Himpunan semua string yang dapat diterima oleh Automata M dinotasikan dengan L (M). Maka dari contoh akan menerima dan menolak untai :

abababaa  diterima aaaabab  diterima aaabbaba  ditolak

Jawab :

i) δ (q0,abababaa)  δ (q0,bababaa)  δ (q1,ababaa)  δ (q0,babaa)  δ (q1,abaa)  δ (q0,baa)  δ (q1,aa)  δ (q0,a)  q0

(4)

ii) δ (q0, aaaabab) δ (q0,aaabab) δ (q0,aabab) 

δ (q0,abab)  δ (q0,bab)  δ (q1,ab)  δ (q0,b)  q1

Tracing berakhir di q1 (state AKHIR) kalimat aaaababa diterima

iii) δ (q0, aaabbaba)  δ (q0, aabbaba)  δ (q0, abbaba) 

δ (q0, bbaba)  δ (q1,bbaba)  δ (q2,baba)  δ (q2,aba)  δ (q2,ba)  δ(q2,a)

q2

Tracing berakhir di q2 (bukan state AKHIR) kalimat aaabbaba ditolak

Kesimpulan : sebuah kalimat diterima oleh DFA di atas jika tracingnya berakhir di salah satu

state AKHIR.

Ada tiga tipe Automata Hingga, yaitu :

1. Automata Hingga Deterministik (AHD) 2. Automata Hingga Non-Deterministik (AHN)

3. Automata Hingga Non-Deterministik dengan transisi hampa

1. AUTOMATA HINGGA DETERMINISTIK (AHD)

AHD dapat dilengkapi dengan fungsi Next-State berikut : a) M(q, ^) = q untuk semua q anggota K

b) M(M(q, t), T), untuk semua t anggota VT dan T anggota VT

Dari definisi pertama, terlihat bahwa sebuah AHD tidak bisa mengubah stata tanpa membaca sebuah karakter masukan. Definisi kedua adalah sebuah definisi yang bersifat rekursif, yang menunjukkan di stata mana AHD berada pada saat di mulai di stata q dengan mendapat input berupa string w = tT.

Sebuah string w adalah diterima oleh sebuah F = (K, VT, M, S, Z) jika M(S, W) = p,

(5)

Atau dengan kata lain, string w diterima oleh AHD jika setelah membaca habis semua karakter dari untai, AHD berada pada sebuah Stata Akhir. Himpunan semua untai w anggota VT yang diterima oleh AHD F dinotasikan sebagai L(F).

Gambar berikut merupakan digraph Transisi dari sebuah AHD.

AHD pada contoh ini merupakan sebuah AHD yang menerima untai yang terdiri dari simbol 0 dan 1. AHD tersebut dapat dinyatakan sebagai berikut :

F = ( {S, A, B, C}, {0, 1}, M, S, {S} ) dimana fungsi next state M adalah :

M(S, 0) = B M(S, 1) = A

M(A, 0) = C M(A, 1) = S

M(B, 0) = S M(B, 1) = C

M(C, 0) = A M(C, 1) = B

Fungsi stata berikut dari AHD kadang-kadang lebih mudah disajikan dalam bentuk tabel. Untuk contoh di atas tabel yang terbentuk adalah :

STATA INPUT 0 1 S A B A C S

(6)

B C

S C

A B

Contoh dari string yang diterima AHD di atas adalah 110101 dan contoh string yang tidak dapat diterima adalah 11101. Bagan operasi AHD pada kedua untai di atas adalah sebagai berikut :

Penelusuran string 110101 : Penelusuran string 11101 : M(S, 110101) = M(A, 10101) M(S, 11101) = M(A, 1101) = M(S, 0101) = M(S, 101) = M(B, 101) = M(A, 01) = M(C, 01) = M(C, 1) = M(A, 1) = M(B, ^) = M(S, ^) = B (ditolak) = S (diterima) EQUIVALENSI 2 AHD

Dua buah AHD dikatakan ekuivalen jika keduanya dapat menerima bahasa yang sama. Misalkan kedua AHD tersebut adalah A dan A’. Misalkan pula bahasa yang diterima adalah bahasa L yang dibangun oleh alfabet VT = {a1, a2, a3, ..., an}. Berikut ini algoritma untuk

menguji ekuivalensi dua buah AHD.

a. Berikan nama kepada semua stata masing-masing AHD dengan nama berbeda. Misalkan nama-nama tersebut adalah : S, A1, A2, ..., untuk AHD A, dan : S’, A1’, A2’, ... untuk AHD A’.

b. Buat tabel (n+1) kolom, yaitu kolom-kolom : (v, v’), (va1, va1’,), ..., (va1 , van ’), yaitu

(7)

c. Isikan (S, S’) pada baris pertama kolom (v, v’), di mana S dan S’ masing-masing adalah

stata awal masing-masing AHD.

d. Jika terdapat edge dari S ke A1 dengan a1 dan jika terdapat edge dari S’ ke A1’ juga dengan label a1, isikan pasangan terurut (A1, A1’) sebagai pada baris kolom (va1,

va1’). Lakukan hal yang sama untuk kolom-kolom berikutnya.

e. Perhatikan nilai-nilai pasangan terurut pada baris pertama. Jika terdapat nilai pasangan terurut pada kolom (va1, va1’) s/d (van, van’) yang tidak sama dengan nilai

pasangan terurut (v, v’), tempatkan nilai tersebut pada kolom (v, v’) baris-baris berikutnya. Lakukan hal yang sama seperti yang dilakukan pada langkah (d). Lanjutkan dengan langkah (5).

f. Jika selama proses di atas dihasilkan sebuah nilai pada kolom (v, v’) dengan komponen v merupakan stata penerima sedangkan komponen v’ bukan, atau sebaliknya, maka kedua AHD tersebut tidak ekuivalen. Proses dihentikan.

g. Jika kondisi (f) tidak dipenuhi dan jika tidak ada lagi pasangan terurut baru yang harus ditempatkan pada kolom (v, v’) maka proses dihentikan dan kedua AHD

tersebut ekuivalen.

(8)

2. Ekspressi reguler

 Bahasa disebut reguler jika terdapat FSA (FINITE STATE AUTOMATA) yang dapat menerimanya.

 Bahasa reguler dinyatakan secara sederhana dengan ekspresi reguler/regular expression (RE).

 Contoh penerapan : searching string pada file

 RE -> NFA dengan ε Move -> DFA

Definisi ekspresi reguler :

Jika Σ merupakan himpunan simbol, maka :

1. ∅ , λ , dan a ∈Σ adalah ekspresi reguler dasar

2. jika r dan t masing masing merupakan ekspresi reguler maka komposisi berikut merupakan ekspresi reguler :

Contoh ekspresi reguler

 (0+1)* : himpunan seluruh string yang dapat dibentuk dari simbol ‘0’ dan ‘1’

 (0+1)*00(0+1)* : himpunan string biner yang mengandung paling sedikit satu substring ‘00’

 (0+1)*00 : himpunan string biner yang diakhiri dengan ‘00’

Bahasa Reguler

Apabila r adalah RE, maka L(r) adalah bahasa reguler yang dibentuk menggunakan ekspressi reguler r.

Contoh :

(9)

Jawab :

L(r) = L( (aa)* )

= { λ, aa, aaaa, aaaaaa, ... } = { a2 n | n ≥ 0 }

menyatakan himpunan string a dengan jumlah genap Tentukan bahasa reguler yang dibentuk oleh r=(aa*)(bb)*b Jawab

L(r) = L( (aa)* (bb)*b ) = { a2 n b2 m+1 | n,m ≥ 0 }

Tentukan ekspresi reguler pembentuk bahasa pada Σ = {0,1}, yaitu L(r) = { w ∈ Σ* | w memiliki substring ‘00’ }

Jawab

r = (0+1)*00(0+1)*

Tentukan ekspresi reguler pembentuk bahasa pada Σ = {a,b}, yaitu L(r) = { abnw | n≥ 3 , w ∈ {a , b}+ } ,maka hasilnya : r = abbb(a+b)(a+b)*

Sifat Bahasa Reguler

Tertutup terhadap operasi himpunan sederhana. Jika L1 dan L2 adalah bahasa reguler, maka L1∪L2, L1 ∩L2, L1L2, ~(L1) dan L1 adalah bahasa reguler juga

Tertutup terhadap homomorphic image. Jika L1 adalah bahasa reguler, maka homomorphic image h(L1) adalah bahasa reguler juga. Dimisalkan Σ dan Γ adalah alfabet, maka fungsi homomorphic dinyatakan dengan

h : Σ → Γ

jika w = a1 a2 ... an maka h(w) = h(a1) h(a2 ) ... h(an)

Jika L adalah bahasa pada Σ maka homomorphic image bahasa L adalah h(L)= { h(w) | w∈ L}

Contoh :

Dimisalkan Σ = {a,b} dan Γ = {a,b,c} dan didefinisikan h(a) = ab dan h(b) =bbc homomorphic image bahasa L = {aa,aba } adalah h(L)= { abab, abbbcab}

(10)

Dimisalkan Σ = {a,b} dan Γ = {b,c,d} dan didefinisikan h(a) = dbcc dan h(b) = Banc homomorphic image bahasa L(r) yang dibentuk dari ekspresi reguler r = (a+b*)(aa)* adalah h(L(r)) yang dibentuk dengan ekspresi reguler r = (dbcc + (bdc)*) (dbccdbcc)*

Hubungan RE dan NFA

Setiap RE ada satu NFA dengan ε-move yang ekuivalen

Gambar

Gambar berikut merupakan digraph Transisi dari sebuah AHD.

Referensi

Dokumen terkait

Tuliskan banyaknya, nilai, dan harga satuan dari jenis barang yang dihasilkan selama satu triwulan sesuai dengan satuan standar yang tertulis pada Kolom (4). Nilai produksi dari

1) Dari penelitian dihasilkan sebuah sistem pembelajaran berbasis multimedia bagi pengguna (mahasiswa) untuk mata kuliah teori bahasa otomata pokok bahasan..

digest MD yang dihasilkan dari persamaan 3 berbeda dengan message digest MD’ yang dihasilkan pada proses verifikasi (hal ini karena kunci publik yang digunakan oleh penerima

Mengingat dalam model praktek keperawatan mengandung komponen dasar seperti; adanya keyakinan dan nilai yang mendasari sebuah model, adanya tujuan praktek yang ingin dicapai

Dengan demikian dapat disimpulkan bahwa, belajar sosial (juga dikenal sebagai belajar observasional atau belajar vicarious atau belajar dari model) adalah proses belajar

Komponen-komponen akan teradsorpsi oleh fase diam pada kolom kemudian akan merambat dengan kecepatan berbeda sesuai dengan nilai K d masing-masing komponen sehingga terjadi

Dalam teori standar yang dihasilkan oleh komponen sintaksis merupakan masukan untuk kaidah-kaidah komponen fonologi yang berfungsi memberikan representasi

Dari definisi di atas, dapat dilihat bahwa proses produksi pada hakekatnya adalah proses pengubahan dari bahan atau komponen menjadi produk lain yang mempunyai nilai lebih