Automata Hingga Deterministik AHD By Kustanto S T
Automata Hingga Deterministik (AHD) By Kustanto, S. T. , M. Eng. 12/6/2020 Materi ke 3 Teori Bahasa & Automata 1
Komponen sebuah Kompilator Program Subjek Program Objek ANALISIS Penganalisis Leksikal (Scanner) Penganalisis Sintaks (Parser) SINTESIS Penganalisis Semantik Pembentuk Kode Pengoptimal Kode TABEL 12/6/2020 Materi ke 3 Teori Bahasa & Automata 2
Proses kompilasi dikelompokkan menjadi : Analisa : program sumber dibagi-bagi dan dibentuk menjadi bentuk antara (intermediate presentation) Sintesa : membangun program sasaran yang diinginkan dari bentuk antara 12/6/2020 Materi ke 3 Teori Bahasa & Automata 3
Token 12/6/2020 Materi ke 3 Teori Bahasa & Automata 4
Scanning termasuk ke dalam analisis lexical, yaitu proses untuk mengidentifikasi satuan terkecil dari Bahasa, yang disebut Token / Terminal / Daun (identifier, keyword, label, operator aritmetika dan assignment, operator relasional, tanda baca, dsb) Aspek dalam Scanner : n n 12/6/2020 Bagaimana bentuk dan penyajian Token. Metode yang digunakan Grammar Regular dan Ekspresi Regular Pengenalan Token. Metode yang digunakan Automata Hingga, dengan penyajian menggunakan Diagram Transisi Materi ke 3 Teori Bahasa & Automata 5
Scanning (cont. ) Scanner berinteraksi dengan Parser, dengan cara : n Scanner mengolah Program Source secara terpisah sebagai satu fase, dimana token disimpan dalam sebuah tabel sebelum Parser bekerja n 12/6/2020 Scanner berinteraksi denga Parser, dimana scanner dipanggil oleh parser bila token dalam program source diperlukan Materi ke 3 Teori Bahasa & Automata 6
Automata Hingga (AH) Automata Hinga (AH) / Finite state Automaton (FA) adalah suatu struktur abstrak yang didefinisikan, terdiri dari : 1. 2. 3. 4. 5. Himpunan Hingga A berisi simbol Input Himpunan Hingga S berisi State (internal state) Himpunan Hingga Z berisi simbol output Sebuah fungsi f: S x Z S, disebut fungsi next state Sebuah fungsi g: S x A Z, disebut fungsi output AH berhubungan dengan Regular Grammar Jenis AH : 1. 2. 3. 12/6/2020 AH Determinstik (AHD) AH Non Deterministik (AHN) AHN dengan transisi untai hampa Materi ke 3 Teori Bahasa & Automata 7
Automata Hingga Deterministik (AHD) Automata Hinga Deterministik (AHD) didefinisikan dengan 5 tupel 1. 2. 3. 4. 5. Himpunan Hingga internal state (S) Himpunan Hingga simbol input (V) Sebuah fungsi f: S x V S ; merupakan fungsi next state State awal (q 0 S) Himpunan hingga state penerima S AHD sering digambarkan dengan cara : n n 12/6/2020 Table Transisi State Transisi Digraph Materi ke 3 Teori Bahasa & Automata 8
Automata Hingga Deterministik (AHD) (cont. ) Contoh : Diketahui AHD dengan 2 simbol input dan 3 state, 1. 2. 3. 4. 5. V = { a, b} S = { q 0, q 1, q 2) T = {q 0, q 1} state penerima q 0 sebagai state awal Fungsi next state didefinisikan f: (S, V) input a b q 0 q 1 q 0 q 2 q 2 f 12/6/2020 Materi ke 3 Teori Bahasa & Automata 9
Automata Hingga Deterministik (AHD) a b q 0 b q 1 a Periksalah string berikut : 1. aba q 0 q 1 q 0 (cont. ) a q 2 b (diterima) 2. aabbaa q 0 q 1 q 2 (ditolak, state penerima yang ditentukan adalah q 0 dan q 1, bukan q 2) 12/6/2020 Materi ke 3 Teori Bahasa & Automata 10
Automata Hingga Deterministik (AHD) (cont. ) Contoh : Identifikasi Integer String Grammar : <integer> : : = <digit> | <integer><digit> d Start d Integer delimeters OUT d d START INTEGER - INTEGER OUT input state OUT 12/6/2020 Materi ke 3 Teori Bahasa & Automata (Accept) 11
Automata Hingga Deterministik (AHD) (cont. ) Contoh : Identifikasi Identifier String <identifier> : : = <letter>|<identifier><digit> <letter> Start <letter> <digit> Identifier <digit> Error 12/6/2020 Materi ke 3 Teori Bahasa & Automata 12
Parsing adalah konsturksi atau pembentukan Pohon Sintaks untuk suatu kalimat (ekspresi) Bila terdapat lebih dari satu pohon sintaks untuk sebuah grammar maka dikatakan grammar tersebut Ambiguous. Dua cara melakukan validitas sintaks dengan parsing : n TOP DOWN Parsing : melakukan derivasi string dari NT n BOTTOM UP Parsing : melakukan reduksi simbol ke NT 12/6/2020 Materi ke 3 Teori Bahasa & Automata 13
Parsing Top Down Jika adalah input string, maka derivasi dari Top Down Parse dapat ditunjukkan sebagai berikut : S … … … Parse Tree untuk Top Down Parsing selalu dimulai dari sebelah kiri 1 2 t 12/6/2020 NT 11 S NT 12 ……. NT 1 n 3 NT 21 Materi ke 3 Teori Bahasa & Automata 14
Parsing Top Down (cont. ) Contoh : Parsing Top Down untuk identifier x 2 Derivasinya : <identifier><digit> <letter><digit> x 2 a. <identifier> b <identifier> c <identifier> <digit> <identifier> e <identifier> <digit> <letter> 12/6/2020 d <identifier> <letter> x x Materi ke 3 Teori Bahasa & Automata 2 15
Parsing Top Down (cont. ) Contoh : ekspresi a + b * c grammar : E : : = T + E | T T : : = V * E | V V : : = <id> Prediction Sentential Form E T+E T V V <id> E T T V*T V <id> T V V <id> T+E V+E <id>+T <id>+V*T <id>+<id>*V <id>+<id>*<id> 12/6/2020 Materi ke 3 Teori Bahasa & Automata E T + E V id T V id * T V id 16
Parsing Bottom Up membangun pohon sintaks melalui urutan simbol yang direduksi, atau dimulai dengan sebuah string hingga mencapai simbol start Grammar Contoh : diketahui identifier x 2, dengan parsing bottom up menjadi : <identifier> <letter> x 2 a 12/6/2020 x <letter><digit> <letter> 2 x <identifier> 2 x 2 <letter><digit> x 2 <letter>2 <identifier><digit> <identifier> b c Materi ke 3 Teori Bahasa & Automata d e 17
Relasi Preseden dan Pemakaiannya Teknik parsing pada metode Bottom-Up dilakukan dengan mencari berulang-ulang, handle (leftmost simple phrase) u dari bentuk sentensial saat itu dan mereduksinya menjadi suatu nonterminal U dnegan memakai reduksi U u Jadi tujuan utamanya adalah mencari Handle dari sebuah bentuk sentensial yaitu simple phrase terkiri (leftmost) dari bentuk sentensial tersebut. Masalah tersebut diselesaikan dengan Grammar Preseden 12/6/2020 Materi ke 3 Teori Bahasa & Automata 18
Relasi Preseden dan Pemakaiannya (cont. ) Misal, R dan S berada dalam suatu grammar G. Beberapa bentuk sentensial dapat dibentuk dari simbol R dan G tersebut (…RG…. . ). Ada tiga kemungkinan yang timbul dalam handle yang dibuat dari R dan S. R adalah bagian dari suatu handle tapi S tidak (R S) n dikatakan R > S (R memiliki Preseden atas S). n R harus merupakan ekor dari beberapa produksi U …R. n Karena handle berada di kiri S, maka S harus merupakan terminal U …. . ………. . R S…. handle 12/6/2020 Materi ke 3 Teori Bahasa & Automata 19
Relasi Preseden dan Pemakaiannya (cont. ) R dan S keduanya adalah bagian dalam suatu handle (R S) n dikatakan R dan S memiliki Preseden yang sama, dan harus U direduksi secara bersamaan waktu n Harus ada suatu produksi U …RS. . . … RS. . …. handle 3. S adalah bagian dari suatu handel, tetapi R tidak (S R) n dikatakan R < S n S merupakan kepala dari beberapa produksi U S…. . U …R S ………. . 12/6/2020 ……. Materi ke 3 Teori Bahasa & Automata handle 20
Relasi Preseden dan Pemakaiannya (cont. ) Contoh : Diketahui, Grammar dengan simbol Start Z dan produksi : Z b. Mb M (L | a L Ma) Berikut ini akan ditunjukkan bentuk sentensial, pohon sintaks, handel dari relasi yang dapat diturunkan dari produksi. Bentuk sentensial : bab Pohon Sintaks : b Z M b Handel : a Relasi yang diberikan Pohon : b a a b a 12/6/2020 Materi ke 3 Teori Bahasa & Automata 21
Relasi Preseden dan Pemakaiannya (cont. ) Bentuk sentensial : b(Lb Z Pohon Sintaks : b M b ( Ø Handel : (L Relasi yang diberikan Pohon : b ( ( L L b L Bentuk sentensial : b(Ma)b Pohon Sintaks : Z b 12/6/2020 M b ( L M a Handel : Ma) Relasi yang diberikan Pohon : b ( ( L L b ) Materi ke 3 Teori Bahasa & Automata 22
Questions ? End of Session 12/6/2020 23 Materi ke 3 Teori Bahasa & Automata
- Slides: 23