la tbo pert 4

Upload: erna-junita

Post on 18-Jul-2015

321 views

Category:

Documents


3 download

TRANSCRIPT

LAPORAN AKHIR PRAKTIKUM

Mata Praktikum Praktikum Ke Materi Tanggal Nama NPM Kelas Ketua Asisten Nama Asisten Paraf

: TBO :4 : Rangkuman Pertemuan 1 s/d 4 : 3 April 2012 : Erna Junita : 56409553 : 3 IA 16 : Findi ayu : :

Jumlah Lembar

: Lembar

LABORATORIUM INFORMATIKA UNIVERSITAS GUNADARMA 2012

Automata Hingga Deteministik (AHD) dan Automata Hingga NonDeterministik (AHN)AHD : transisi stata AH akibat pembacaan sebuah simbol bersifat tertentu. M(AHD) : K VT K AHN : transisi stata AH akibat pembacaan sebuah simbol bersifat tak tentu. M(AHN) : K V 2K 1. Automata Hingga Deterministik (AHD) Berikut ini sebuah contoh AHD F(K, V , M, S, Z), dimana :

Ilustrasi graf untuk AHD F adalah sebagai berikut : Lambang stata awal adalah node dengan anak panah. Lambang stata awal adalah node ganda.

Contoh kalimat AHD yang diterima : Misalnya abaaba M(q0,abaaba) M(q0,baaba) M(q1,aaba) M(q0,aba) M(q0,ba) M(q1,a) q0 Tracing berakhir di q0 (stata penerima) kalimat abaaba diterima Keterangannya : Pertama kita lihat M(q0,abaaba), lihat yang diberi garis bawah. Pada table q0,a akan menghasilkan q0. Maka pada produksi selanjutnya akan menjadi M(q0,baaba) dan string abaaba akan berkurang 1 karakter dari depan yaitu menjadi baaba. Kedua kita lihat M(q0,baaba), lihat yang diberi garis bawah. Pada table q0,b akan menghasilkan q1. Maka pada produksi selanjutnya akan menjadi

M(q1,aaba) dan string baaba akan berkurang 1 karakter dari depan yaitu menjadi aaba. Ketiga kita lihat M(q1,aaba), lihat yang diberi garis bawah. Pada table q1,a akan menghasilkan q0. Maka pada produksi selanjutnya akan menjadi M(q0,aba) dan string aaba akan berkurang 1 karakter dari depan yaitu menjadi aba. Keempat kita lihat M(q0,aba), lihat yang diberi garis bawah. Pada table q0,a akan menghasilkan q0. Maka pada produksi selanjutnya akan menjadi M(q0,ba) dan string aba akan berkurang 1 karakter dari depan yaitu menjadi ba. Kelima kita lihat M(q0,ba), lihat yang diberi garis bawah. Pada table q0,b akan menghasilkan q1. Maka pada produksi selanjutnya akan menjadi M(q1,a) dan string ba akan berkurang 1 karakter dari depan yaitu menjadi a. Keenam kita lihat M(q1,a), lihat yang diberi garis bawah. Pada table q1,a akan menghasilkan q0. Disini tracing telah selesai dan berakhir pada q0(stata penerima), maka string abaaba diterima.

Contoh kalimat AHD yang tidak diterima : Misalnya abbaba M(q0,abbaba) M(q0,bbaba) M(q1,baba) M(q2,aba) M(q2,ba) M(q2,a) q2 Tracing berakhir di q2 (bukan stata penerima) kalimat abbaba ditolak

2. Automata Hingga NonDeterministik (AHN) Berikut ini sebuah contoh AHN F(K, VT, M, S, Z), dimana :

Ilustrasi graf untuk AHN F adalah sebagai berikut :

Contoh kalimat AHN yang diterima : Syarat : salah satu tracing-nya berakhir di stata penerima, atau himpunan stata setelah membaca string tersebut mengandung stata penerima Misalnya aaccbb M(q0,aaccbb) M(q0,accbb) U M(q1,accbb) { M(q0,ccbb) U M(q1,ccbb)} U { M(q1,ccbb) U M(q4,ccbb)} { { M(q0,cbb) U M(q3,cbb) } U M(q1,cbb) } U M(q1,cbb) U { { { M(q0,bb) U M(q3,bb) } U { M(q3,bb) U M(q4,bb) } } U M(q1,bb) } U M(q1,bb) { { { {M(q0,b) U M(q2,b)} U M(q3,b) } U M(q3,b) U } U M(q1,b) } U M(q1,b) { { { { q0,q2 U q2,q4 } U q3} U q3} U q1} U q1 { q0,q2,q2,q4,q3,q3,q1,q1} Himpunan stata mengandung q4 (stata penerima) kalimat aaccbb diterima

Contoh kalimat AHN yang tidak diterima : Misalnya aacaab M(q0,aacaab) M(q0,acaab) U M(q1,acaab) { M(q0,caab) U M(q1,caab) } U { M(q1,caab) U M(q4,caab) } { {M(q0,aab) U M(q3,aab)} U M(q1,aab)} U { M(q1,aab) U } { {M(q0,ab) U M(q1,ab) U M(q3,ab)} U {M(q1,ab) U M(q4,ab)}} U { M(q1,ab) U M(q4,ab) } { { {M(q0,b) U M(q1,b)} U {M(q1,b) U M(q4,b)} U M(q3,b)} U { {M(q1,b) U M(q4,b)} U } } U { M(q1,b) U M(q4,b) U }

{ {{q0,q2 U q1} U {q1 U } U q3} U {{q1 U }} } U {q1 U } {q0,q2,q1,q1,q3,q1,q1} Himpunan stata tidak mengandung q4 (stata penerima) kalimat aacaab ditolak.

MESIN TURING

Contoh Pemakaian Mesin Turing untuk 2 Kasus ( 1 crash dan 1 diterima)

Lakukan tracing dengan Mesin Turing untuk string di bawah ini : 1. abcdcd 2. aabddd Tracing dengan string abcdcd (q1, abcdcd) (q2, cbcdcd) (q3, cdcdcd) (q1, cdcdcd) (q4, cdcdcd) crash Keterangannya : Lihat huruf yang digaris bawahi, maksudnya huruf yang digarisbawahi tersebut merupakan jalur yang akan dilalui selanjutnya. Misalnya (a,c,R) , jika jalurnya a maka output yang dikeluarkan c, sedangkan R atau right maka akan lanjut ke jalur atau huruf selanjutnya. - (q1, abcdcd) ---> (a,c,R) Start dari q1 menuju q2. Head = a dan output = c. Kemudian pencarian selanjutnya bergeser ke kanan karena disitu tertulis R (right). - (q2, cbcdcd) ---> (b,d,L) Selanjutnya dari q2 menuju q3. Head = b dan output = d. Kemudian pencarian selanjutnya bergeser ke kiri karena disitu tertulis L (left).

-

-

-

(q3, cdcdcd) ---> (c,c,R) Selanjutnya dari q3 menuju q1. Head = c dan output = c. Kemudian pencarian selanjutnya bergeser ke kanan karena disitu tertulis R (right). (q1, cdcdcd) ---> (d,d,R) Selanjutnya dari q1 menuju q4. Head = d dan output = d. Kemudian pencarian selanjutnya bergeser ke kanan karena disitu tertulis R (right). (q4, cdcdcd) ---> (d,d,R) Selanjutnya dari q4 tidak menuju kemana-mana, karena q4 c tidak menghasilkan ke node selanjutnya. Maka hal ini disebut crash.

Tracing dengan string aabddd (q1, aabddd) (q2, cabddd) (q2, cabddd) (q3, cadddd) (q3, cadddd) (q1, cadddd) (q2, ccdddd) (q3, ccdddd) (q1, ccdddd) (q4, ccdddd) (q4, ccdddd) (q4, ccdddd) (q4, ccdddd) (q5, ccdddd) Diterima, karena berakhir pada q5 dan empty.

Parsing Top Down dan Parsing Bottom Up1. Parsing Top Down Ada 2 kelas metoda parsing top-down, yaitu kelas metoda dengan backup dan kelas metoda tanpa backup. Contoh metoda kelas dengan backup adalah metoda BruteForce, sedangkan contoh metoda kelas tanpa backup adalah metoda recursive descent. Namun disini kita hanya membahas metoda Brute-Force. Metoda Brute-Force Kelas metoda dengan backup, termasuk metoda Brute-Force, adalah kelas metoda parsing yang menggunakan produksi alternatif, jika ada, ketika hasil penggunaan sebuah produksi tidak sesuai dengan simbol input. Penggunaan produksi sesuai dengan nomor urut produksi.

Grammar dan kalimatnya adalah sebagai berikut : G = {S bS | b | aA , A bA | aB , B bB | aS | a} abbabab S Hasil : Input : Sisa : abbabab Penjelasan : Gunakan produk di S ketiga. Masukkan symbol terkanan kalimat sebagai input. S a A Hasil : a Input : a Sisa : bbabab Penjelasan : hasil = input . Gunakan produksi S pertama. S a A b A Hasil : ab Input : ab Sisa : babab Penjelasan : hasil = input . Gunakan produksi A pertama. S a A b b A

A Hasil : abb Input : abb Sisa : abab Penjelasan : hasil = input . Gunakan produksi A pertama.

S a b b A A A

a B Hasil : abba Input : abba Sisa : bab Penjelasan : hasil = input . Gunakan produksi A kedua.

b

B

Hasil : abbab Input : abbab Sisa : ab Penjelasan : hasil = input . Gunakan produksi B pertama.

Hasil : abbaba Input : abbaba Sisa : b Penjelasan : hasil = input . Gunakan produksi B kedua.

b Hasil : abbabab Input : abbabab Sisa : Penjelasan : hasil = input . Gunakan produksi S kedua. SELESAI 2. Parsing Bottom Up Salah satu contoh menarik dari parsing bottom-up adalah parsing pada grammar preseden sederhana (GPS). Sebelum sampai ke parsing tersebut, akan dikemukakan beberapa pengertian dasar serta relasi yang ada pada GPS. Pengertian dasar : Jika dan x keduanya diderivasi dari simbol awal grammar tertentu, maka disebut sentensial jika (V T|V N )*, dan x disebut kalimat jika x (V T )* Misalkan = Q 1 Q 2 adalah sentensial dan A V N : - adalah frase dari sentensial jika : S Q 1 A Q 2 dan A - adalah simple frase dari sentensial jika : S Q 1 A Q 2 dan A - Simple frase terkiri dinamakan handel - Frase, simple frase, dan handel adalah string dengan panjang 0 atau lebih. Grammar dan kalimatnya adalah sebagai berikut : S aBCDe A Abc | aBd | ABE | BCd B Cc | Cd | Ca | Ae Ca|b|c|d|e Kalimatnya adalah : 1) abccdee abccdee Cbccdee CCccdee CBcdee CAee CACe CACC

PUSH DOWN AUTOMATA (PDA)1. PDA Deterministik Diketahui : Q = { q0, q1, q2 }. A = { q2 }. = { a, b, c }. = { a, b, Z0 }. No 1 2 3 4 5 6 7 8 9 10 11 12 Stata q0 q0 q0 q0 q0 q0 q0 q0 q0 q1 q1 q1 Input a b a b a b c c c a b Topstack Z0 Z0 a a b b Z0 a b a b Z0 Hasil { q0, aZ0 } { q0, bZ0 } { q0, aa } { q0, ba } { q0, ab } { q0, bb } { q 1, Z 0 } { q 1, a } { q 1, b } { q 1, } { q 1, } { q 2, }

Ditanyakan : Tentukan apakah ditolak atau diterima untuk string berikut ini : a) acabc b) aca c) abba Jawab : a) acabc ( q0, acabc, Z0 ) ( q0, cabc, aZ0 ) ( q1, abc, aZ0 ) ( q1, bc, Z0 ) ditolak. b) aca ( q0, aca, Z0 ) ( q0, ca, aZ0 ) ( q1, a, aZ0 ) ( q1, , Z0 ) ( q2, , ) diterima. c) abba ( q0, abba, Z0 ) ( q0, bba, aZ0 ) ( q0, ba, baZ0 ) ( q0, a, bbaZ0 ) ( q0, , abbaZ0 ) ditolak. 2. PDA Non Deterministik Diketahui : Q = { q0, q1, q2 }. A = { q2 }. = { a, b, c }. = { a, b, Z0 }.

No 1 2 3 4 5 6 7 8 9 10 11 12

Stata q0 q0 q0 q0 q0 q0 q0 q0 q0 q1 q1 q1

Input a b a b a b a b

Topstack Z0 Z0 a a b b Z0 a b a b Z0

Hasil { q0, aZ0 }, { q1, Z0 } { q0, bZ0 }, { q1, Z0 } { q0, aa }, { q1, a } { q0, ba }, { q1, a } { q0, ab }, { q1, b } { q0, bb }, { q1, b } { q 1, Z 0 } { q 1, a } { q 1, b } { q 1, } { q 1, } { q 2, }

Ditanyakan : Tentukan apakah ditolak atau diterima untuk string berikut ini : a) aba b) baab Jawab : a) aba ( q0, aba, Z0 ) ( q0, ba, aZ0 ) ( q1, ba, Z0 )

( q0, a, baZ0 )

( q1, a, aZ0 )

( q0, , abaZ0 ) ( q1, , baZ0 ) ( q1, , abaZ0 )

( q1, , Z0 ) ( q2, , Z0 ) diterima.

b) baab ( q0, baab, Z0 ) ( q0, aab, bZ0 ) ( q1, aab, Z0 ) ( q0, ab, abZ0 ) ( q1, ab, bZ0 ) ( q0, b, aabZ0 ) ( q1, b, abZ0 ) ( q0, , baabZ0 ) ( q1, , aabZ0 )

( q1, , baabZ0 ) ditolak.