otomata dan pengantar kompilasi - laporan tugas uts

Download Otomata Dan Pengantar Kompilasi - Laporan Tugas UTS

If you can't read please download the document

Post on 03-Jul-2015

2.792 views

Category:

Documents

15 download

Embed Size (px)

DESCRIPTION

Laporan Tugas UTS OPK TIF UWKS 09/10

TRANSCRIPT

OTOMATA dan PENGANTAR KOMPILASI

Nama Kelompok :1. 2. 3.

Rico Andry

(B/09120006)

Tara braja (B/09120020) Erfan R S (B/09120073)

BAB IPertanyaan : Carilah artikel melalui koran / internet mengenai mesin automaton? Jawaban: Ini merupakan deskripsi informasi dari automata : Sebuah robot seharusnya dijalankan pada beberapa urutan yang diberikan atau string masukan dalam langkah waktu diskrit. Pada setiap langkah waktu, robot mendapat satu masukan yang diambil dari satu set simbol/huruf yang disebut alphabet. Pada waktu, simbol sejauh diumpankan ke otomat sebagai bentuk masukan suatu finite simbol, yang disebut kata. Sebuah robot berisi satu set hingga negara. Pada setiap langkah saat otomat membaca simbol, melompat atau transit ke negara berikutnya tergantung pada keadaan saat ini dan simbol dibaca. Fungsi lebih dari keadaan saat ini. Simbol input disebut dengan fungsi transisi. Kata robot membaca masukan satu simbol demi satu urutan dan transit dari negara ke negara sesuai dengan fungsi transisi, sampai kata dibaca sepenuhnya. Setelah kata masukan dibaca, otomat dikatakan telah berhenti dan keadaan dimana robot telah berhenti disebut keadaan akhir. Tergantung pada keadaan akhir, dikatakan bahwa otomat baik menerima atau menolak kata masukan. Ada bagian dari negara bagian otomat, yang didefinisikan sebagai satu set negara penerima. Jika keadaan akhir adalah menerima negara, maka otomat menerima kata. Jika tidak, kata ditolak. Himpunan semua kata diterima oleh robot ini disebut bahasa diakui oleh otomat tersebut. Dalam definisi formal, automaton robot diwakili secara resmi oleh 5-tuple Q [], , , dimana:

-

Q adalah himpunan terhingga negara adalah himpunan terbatas dari simbol, yang disebut alfabet dari otomat tersebut. adalah fungsi transisi, yaitu , : Q x = Q F adalah seperangkat negara Q yang disebut menerima negara

Masukan kata Sebuah robot membaca hingga string simbol a1, a 2, a 3,... ,a n dimana i , yang disebut kata masukan. Set semua kata dilambangkan dengan *.

Menjalankan Sebuah run robot pada kata w input = a1, a2, ..., n * , merupakan urutan negara-negara q0, q1, q3,....,qn, Dimana q1 Q seperti yang q0 adalah negara mulai dan qi = (qi-1,i) untuk 0 i n. Dengan kata, pada awalnya robot berada pada negara awal q 0 dan kemudian automaton membaca simbol dari kata input secara berurutan. Ketika robot membaca simbol ai maka itu melompat ke negara i q= (a i-1,i). q n dikatakan sebagai keadaan akhir yang dijalankan.

Menerima kata Sebuah kata w * diterima oleh otomat jika n q F. Diakui bahasa Sebuah robot dapat mengenali bahasa formal. Bahasa diakui L oleh robot adalah himpunan semua kata yang diterima oleh otomat tersebut.

Dikenali bahasa Ini bahasa dikenali adalah set dari bahasa yang diakui oleh beberapa otomat. Untuk definisi di atas, otomata bahasa dikenali adalah bahasa reguler. Untuk definisi yang berbeda dari automata, bahasa yang dikenali berbeda.

Variansi dalam definisi automata Automata didefinisikan untuk belajar mesin berguna dalam formalisme matematis. Jadi, definisi robot terbuka untuk variasi sesuai dengan mesin dunia nyata yang kita ingin model menggunakan robot tersebut. Orang-orang telah mempelajari banyak variasi automata. Di atas, standar varian paling dijelaskan, yang disebut otomat hingga deterministik. Berikut ini adalah beberapa variasi populer dalam definisi komponen yang berbeda dari automata. Input -

Hingga input : Sebuah robot yang hanya menerima hingga urutan kata-kata. Infinite menyatakan : sebuah robot yang mungkin tidak memiliki jumlah yang

Definisi pendahuluan di atas menggambarkan automata dengan nomor hingga negara. terbatas dari negara, atau bahkan dapat dihitung sejumlah negara. Sebuah contoh, hingga otomat kuantum atau otomat topologi memiliki tak terhingga ta terhitung negara,

-

Memori Stack: sebuah otomat juga dapat mengandung beberapa memori

tambahan dalam bentuk stack dimana simbol dapat didorong dan muncul. Semacam ini disebut otomat push down. Fungsi transisi

-

Deterministik: Untuk kondisi saat ini diberikan dan simbol input, jika robot

hanya dapat melompat ke satu dan hanya satu negara maka itu adalah otomat deterministik. Sebuah robot yang setelah membaca sebuah simbol input, dapat melompat ke salah satu dari sejumlah negara, seperti yang dilisensi oleh hubungan transisi. Perhatikan bahwa fungsi transisi istilah digantikan oleh hubungan transisi: otomat nondeterministik memutuskan untuk melompat ke salah satu pilihan yang diizinkan Alternatif : gagasan ini sangat mirip dengan robot pohon , tetapi orthogonal. robot seperti ini disebut otomat nondeterministic, Robot mungkin menjalankan beberapa salinan terhadap membaca simbol berikutnya yang sama. Automata seperti ini disebut bolak otomat. Kondisi Penerimaan harus memenuhi semua berjalan salinan tersebut untuk menerima input. Penerimaan kondisi Penerimaan kata-kata hingga: Sama seperti yang dijelaskan dalam definisi Penerimaan kata-kata yang tak terbatas: omega robot tidak dapat memiliki

informal diatas. negara akhir, seperti kata-kata yang tidak terbatas tidak pernah berakhir. Sebaliknya, penerimaan dari kata tersebut telah ditetapkan dengan melihat urutan yang tidak terbatas negara-negara yang dikunjungi selama menjalankan. Penerimaan Probabilistik: sebuah robot tidak perlu benar-benar menerima atau menolak masukan. Ini mungkin menerima input dengan beberapa probabilitas antara nol dan satu. Misalnya robot kuantum terbatas, robot geometrik, automaton metrik memiliki penerimaan probabilistik. Kombinasi yang berbeda dari berbagai variansi di atas menghasilkan banyak otomata. Aplikasi Kebanyakan implementasi robot yang digunakan untuk membuat perangkat lunak mengakui tertentu bahasa, contoh umum adalah compiler dan mesin ekspresi reguler. Kelas automata

Automata Deterministik finite automata (DFA) Non deterministic hingga otomata(NFA)

Bahasa yang dikenali Reguler bahasa Reguler bahasa

Non deterministic hingga automata dengan e Reguler bahasa transisi (FND e atau e- NFA) Pushdown automata (PDA) Bebas konteks bahasa Linear bounded automata (LBA) Mesin turing Jangka waktu automata Konteks bahasa Rekursif enumerable bahasa -

Mesin Pengenal Bahasa Untuk setiap kelas bahasa Chomsky, terdapat sebuah mesin pengenal bahasa. Masing-masing mesin tersebut adalah : Kelas Bahasa Unrestricted Grammar (UG) Context Sensitive Grammar (CSG) Context Free Gammar (CFG) Regular Grammar, RG Mesin Pengenal Bahasa Mesin Turing (Turing Machine), TM Linear Bounded Automata, LBA Pushdown Automata, PDA Finite State Automata, FSA

BAB IIPertanyaan : Diketahui REA = ab (a+b)*1) Rancang mesin FA-nya ?

2) Buat program FA tersebut 3) Uji coba program (min 5 string rejected dan accepted)

Jawaban: = {a,b} S = {A,B,C,D,E) S= {A} L= {ab,aba,abaa..,abab,...}

NFA:

a a D

A

a

B

b

C b

b

a b E

( {A} , a) ( {A} , b) ( {B} , a) ( {B} , b) ( { }, a) = { } ( { }, b) = { } ( {C}, a) DFA :

= {B} ={} ={} = {C}

( {C}, b) ( {D}, a) ( {D}, b) ( {E}, a) = {E}

= {E} = {D} = {E} = {D}

( {E}, b)

= {D}

a A a B b C a D

a a,b b {}

b b E b a

Accepted String 1 : ab String 3 = abab

1) S : {A}

3) S= {A} = ( (C,a), b)

= (A,ab) = ( (A,a),b) = ( (A,a),b) = ( B,b) = ( (B,b)) = ( (B,b)) C Final stateString 2 : aba 2) S : {A} = (A,aba) = ( (A,a),ba) = ( (A,a),ba) = ( B,ba) = ( (B,b,a)) = ( (B,b,a)) = ( C,a) = ( (C,a)) = ( (C,a))

= ( A, abab) = ( (A,a), bab)

= ( (C,a), b)

= ( D, b)= ( (D,b))

= ( (A,a), bab) = ( B, bab)= ( (B,b), ab)

= ( (D,b)) E Final state

= ( (B,b), ab) = ( C, ab)String 4 : abb 4) S= {A} = ( A, abb) = ( (A,a), bb) = ( (A,a), bb) = ( B, bb) = ( (B,b), b) = ( (B,b), b) = (C, b) = ( (C,b)) = ( (C,b)) E Final state

D Final stateString 5 : abaa 5. S : {A}

= (A,abaa) = ( (A,a),baa) = ( (A,a),baa) = ( B,baa) = ( (B,b),aa)) = ( (B,b),aa)) = ( C,aa)) = ( (C,a),aa)) = ( (C,a),aa)) = ( D,a)) = ( (D,a)) = ( (D,a)) D Final state

Non acceptedString 1 : aa 1) S : {A} String 3 = b 3) S= {A} = ( A, b) = ( (A,b))

= (A,aa) = ( (A,a),a) = ( (A,a),a) = ( B,a) = ( ( B,a)) = ( ( B,a)) {} Final stateString 2 : aaa 2) S : {A} = (A,aaa) = ( (A,a),aa) = ( (A,a),aa) = ( B,aa) = ( (B,a,a))

= ( (A,b)) {} Final state

String 4 : aab 4) S= {A} = ( A, aab) = ( (A,a), ab) = ( (A,a), ab) = ( B, ab) = ( (B,a), b) = ( { }, b) = ( ( { },b)) = ( ( { },b)) { } Final state

= ( (B,a),a)) = ( { },a) = ( ( {},a)) = ( ( {},a))

= ( (B,a), b)

{ } Final state

String 5 : bab 5. S : {A}

= (A,bab) = ( (A,b),ab) = ( (A,b),ab)

= ( { },ab) = ( ( { },a),b)) = ( ( { },a),b)) = ( { },b)) = ( ({ },b)) = ( ( { },b)) { } Final state

Flowchart Program DFA Bab 2

MULAI

A

Ea sc v lua i

C =a ?

ya

state= B

tidak

Integer A=0;B=1;C=2; D=3;E=4;F=5

Char c Uji.CharAt(i) =

F ya Ea sc v lua i

tidak

C=b ?

ya

state= F

E lua i s te va s ta

C =a ?

ya

State F =

tidak

B oolean final_s tate = { e,false,true,true fals , true e} ,fals

State A ? =

C =b ?

ya

state= C

C

tidak tidak ya F State B ? = Ea sc v lua i tidak ya tidak State C ? = C =a ? ya state= D

S tringUji; Integ s er tate

Input Uji tidak

F

tidak

C =b ?

ya

state E =

State= ? D

ya

E lua i c va s

C =a ?

ya

state= D

S te 0 ta =

tidak

tidak