BAB III CFG DAN PARSING

dokumen-dokumen yang mirip
BAB VI METODE PARSING

Teori Komputasi 11/23/2016. Bab 6: Context-Free Grammar & Parsing. Context-Free Grammar. Context-Free Grammar

BAB V CONTEXT FREE GRAMMAR DAN PUSH DOWN AUTOMATA

SINTAKS. Sintaks dari bahasa pemrograman di defenisikan dengan 2 kumpulan aturan, yaitu:

SINTAKS. Sintaks dari bahasa pemrograman di defenisikan dengan 2 kumpulan aturan, yaitu:

Parsing dapat dilakukan dengan cara : Penurunan terkiri (leftmost derivation) : simbol variable yang paling kiri diturunkan (tuntas) dahulu

Parsing. A -> a as baa B -> b bs abb

SATUAN ACARA PERKULIAHAN MATA KULIAH : TEORI BAHASA DAN AUTOMATA (TBA) KODE / SKS : KK / 3 SKS

BAB IV ANALISA SINTAKS

SATUAN ACARA PERKULIAHAN (SAP) Semester Penempatan

21/11/2016. Pohon Sintaks. Syntax?? Proses Penurunan. Analisis Syntax (Parser) Metode Parsing ANALISIS SINTAKS TEKNIK KOMPILASI

Analisis Sintaksis (syntactic analyzer atau parser)

Teknik Kompiler 6. oleh: antonius rachmat c, s.kom

GARIS-GARIS BESAR PROGRAM PENGAJARAN (GBPP)

IMPLEMENTASI PENGGUNAAN SISTEM APLIKASI WEB PDF PARSER UNTUK MENAMPILKAN INFORMASI ISI DOKUMEN

TEORI BAHASA DAN AUTOMATA

ALGORITMA PEMROGRAMAN 1C SINTAKS

SATUAN ACARA PERKULIAHAN (SAP)

BAB II SINTAKS 2.1. SINTAKS

Komponen sebuah Kompilator

SATUAN ACARA PERKULIAHAN STMIK UBUDIYAH INDONESIA SEMESTER GENAP TAHUN AKADEMIK 2013/2014

KONSEP GRAMMAR DAN BAHASA

anggota alfabet dinamakan simbol terminal atau token.

Teknik Kompiler 7. oleh: antonius rachmat c, s.kom

IAH IAAH I H HAAH xaah I A b x2ah x23h I A 3 x23b H 2

GRAMMAR AND LANGUAGE

TEORI BAHASA DAN OTOMATA [TBO]

POHON PENURUNAN Context Free Grammar

Teori Bahasa Formal dan Automata

SATUAN ACARA PERKULIAHAN (SAP) Semester Penempatan

TEORI BAHASA DAN AUTOMATA

Dasar Teori Bahasa & Grammar

BAB I PENDAHULUAN. memiliki tata bahasa dan aturan yang lebih luas dan luwes, sehingga tidak

TEORI BAHASA & OPERASI MATEMATIS (2)

Bahasa adalah kumpulan kalimat. Kalimat adalah rangkaian kata. Kata adalah komponen terkecil kalimat yang tidak bisa dipisahkan lagi.

BAB I TEORI BAHASA DAN AUTOMATA

GARIS-GARIS BESAR PROGRAM PENGAJARAN (GBPP)

Lecture Notes Teori Bahasa dan Automata

RENCANA PEMBELAJARAN SEMESTER

Penyederhanaan Tata Bahasa Bebas Konteks dalam Bentuk Normal Chomsky Menggunakan PHP

TEORI BAHASA DAN OTOMATA [TBO]

BAB I PENDAHULUAN 1-1

SILABUS MATAKULIAH. Indikator Pokok Bahasan/Materi Aktifitas Pembelajaran

BAB II TINJAUAN PUSTAKA. Bahasa menurut kamus Websters adalah the body of words and methods of

IF-UTAMA 1. Definisi. Grammar. Definisi

TEORI BAHASA DAN AUTOMATA

Pemodelan CNF Parser dengan Memanfaatkan Pohon Biner

Contents.

Tata Bahasa Kelas Tata Bahasa. Konsep Bahasa (1)

Memiliki kelemahan terlalu panjang jalannya padahal berujung pada S a, produksi D A juga menyebabkan kerumitan.

PERSAMAAN KUADRAT. Persamaan. Sistem Persamaan Linear

PENYEDERHANAAN Context Free Grammar

MODUL MATA KULIAH TEORI BAHASA DAN OTOMATA DOSEN:

TEKNIK KOMPILASI. Dosen : Dwi Retno Wahyuningsih, S. Kom. Jurusan : Teknik Informatika Semester Genap 2007/2008

Tata Bahasa Pemrograman

Outline. IKI 40931: Topik Khusus: NLP Kuliah 7: Parsing CFG. Parsing. Contoh parsing. Ruli Manurung. 10 Maret (Bab Jurafsky & Martin)

TATA BAHASA BEBAS KONTEKS (CONTEXT FREE GRAMMAR)

Teknik Informatika PERTEMUAN 2. TEORI BAHASA & OTOMATA Imam Riadi, M.Kom Shofwatul Uyun, M.Kom. Teknik Informatika

RENCANA PROGRAM KEGIATAN PERKULIAHAN SEMESTER (RPKPS)

Penghilangan Rekursif Kiri

TEORI BAHASA DAN OTOMATA [TBO]

Teori Bahasa Formal dan Automata

Penentuan Pola Kalimat Bahasa Inggris Pada Simple Present Tense Menggunakan Metode Bottom Up Parsing

UNIVERSITAS GUNADARMA

Grammar dan Tingkat Bahasa

Teknik Kompilasi. Notasi Bahasa

Teknik Kompilasi II TEKNIK KOMPILASI. Ernastuti & Sulistyo P 1/52. Ernastuti & Sulistyo

Teori Bahasa dan Otomata 1

BAB 1 PENDAHULUAN 1.1. Latar Belakang Masalah

BAB II TINJAUAN PUSTAKA. konsep, fakta, termasuk simbol simbol serta aturan agar mempunyai makna.

Teori Komputasi 11/2/2016. Bab 5: Otomata (Automata) Hingga. Otomata (Automata) Hingga. Otomata (Automata) Hingga

SATUAN ACARA PERKULIAHAN (SAP) MATA KULIAH PENGANTAR TEKNIK KOMPILASI

BAB III AUTOMATA HINGGA NON-DETERMINISTIK DAN EKUIVALENSI AHN AHD - GR

Penerapan BFS dan DFS pada Pencarian Solusi

TEKNIK KOMPILASI Konsep & Notasi Bahasa

Teori Bahasa & Otomata

Mahasiswa memahami bahasa sebagai himpunan dan operasi 2 -nya, cara mendefinisikan bahasa, serta cara mengenali anggota 2 bahasa

TEKNIK KOMPILASI. Dosen : Dwi Retno Wahyuningsih, S. Kom. Jurusan : Teknik Informatika Semester Genap 2007/2008

Tata Bahasa Bebas Konteks

Teknik Kompiler 5. oleh: antonius rachmat c, s.kom, m.cs

Teori Bahasa Formal dan Automata

TEORI BAHASA DAN AUTOMATA

APLIKASI PROGRAM DINAMIS DALAM ALGORITMA COCKE- YOUNGER -KASAMI (CYK)

Fr*snd*mffi. Fakultns tlmu Komputer, l;nivrrsitfls. f&,# d *-B. ,, :..:.4 t:,{;. ${r= st :rir"l, r;t. .j"s*l!&,. '":*& \',?Srlrlfu. :1i-,=-+n 3r: lvqd

PENGANTAR OTOMATA DAN KOMPILASI

MODUL XIII TEORI BAHASA DAN AUTOMATA

TEORI BAHASA DAN OTOMATA [TBO]

MADRASAH ALIYAH AL-MU AWANAH BEKASI SELATAN 2012

Tujuan Penyederhanaan

BAB 1 PENDAHULUAN 1.1 Latar Belakang Masalah

FLOWCHART - LANJUTAN

Pelabelan matriks menggunakan huruf kapital. kolom ke-n. kolom ke-3

Struktur Data. PDE - Struktur Data 1

LEMBAR AKTIVITAS SISWA MATRIKS

TUGAS MAKALAH TEORI BAHASA & AUTOMATA

IF-UTAMA 1. Penurunan (Derivation) [2] Penurunan (Derivation) Contoh Penurunan [1] Parse Tree [1]

BAHASA REGULER 1. Ekspresi Regular

Jurnal Ilmiah Komputer dan Informatika (KOMPUTA) Edisi Volume Bulan20.. ISSN :

KONSEP DAN IMPLEMENTASI PARSING DENGAN MENGGUNAKAN METODE BRUTE FORCE

Transkripsi:

BAB 3 CFG DAN PARSING 32 BAB III CFG DAN PARSING TUJUAN PRAKTIKUM 1) Memahami dan mengerti CFG. 2) Memahami dan mengerti metode parsing. TEORI PENUNJANG 3.1. Pendahuluan Bentuk umum produksi CFG adalah : α β, α V N, β (VN VT )* Analisis sintaks adalah penelusuran sebuah kalimat (atau sentensial) sampai pada symbol awal grammar. Analisis sintaks dapat dilakukan melalui derivasi atau parsing. Penelusuran melalui parsing menghasilkan pohon sintaks. Contoh 1 : Diketahui grammar G 1 = {I H IH IA, H a b c... z, A 0 1 2... 9} dengan I adalah simbol awal. Berikut ini kedua cara analisa sintaks untuk kalimat x23b. Cara 1 (derivasi) : Cara 2 (parsing) : I IH IAH IAAH HAAH xaah x2ah x23h x23b

BAB 3 CFG DAN PARSING 33 Sebuah kalimat dapat saja mempunyai lebih dari satu pohon. Contoh 2 : Diketahui grammar G 2 = {S SOS A, O * +, A 0 1 2... 9} Kalimat : 2*3+7 mempunyai dua pohon sintaks berikut : Sebuah kalimat yang mempunyai lebih dari satu pohon sintaks disebut kalimat ambigu (ambiguous). Grammar yang menghasilkan paling sedikit sebuah kalimat ambigu disebut grammar ambigu. 3.2. Metode Parsing Ada 2 metoda parsing : top-down dan bottom-up. Parsing top-down : Diberikan kalimat x sebagai input. Parsing dimulai dari simbol awal S sampai kalimat x nyata (atau tidak nyata jika kalimat x memang tidak bisa diturunkan dari S) dari pembacaan semua leaf dari pohon parsing jika dibaca dari kiri ke kanan. Parsing bottom-up : Diberikan kalimat x sebagai input. Parsing dimulai dari kalimat x yang nyata dari pembacaan semua leaf pohon parsing dari kiri ke kanan sampai tiba di simbol awal S (atau tidak sampai di S jika kalimat x memang tidak bisa diturunkan dari S).

BAB 3 CFG DAN PARSING 34 3.2.1 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 Brute-Force, sedangkan contoh metoda kelas tanpa backup adalah metoda recursive descent. 3.2.1.1 Metode 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. Contoh 3 : Diberikan grammar G = {S aad ab, A b c, B ccd ddc}. Gunakan metoda Brute- Force untuk melakukan analisis sintaks terhadap kalimat x = accd.

BAB 3 CFG DAN PARSING 35 Metoda Brute-Force tidak dapat menggunakan grammar rekursi kiri, yaitu grammar yang mengandung produksi rekursi kiri (left recursion) : A A. Produksi rekursi kiri akan menyebabkan parsing mengalami looping tak hingga. Contoh 4 : Diberikan grammar G = {S aac, A Ab ε}. Gunakan metoda Brute-Force untuk melakukan analisis sintaks terhadap kalimat x = ac.

BAB 3 CFG DAN PARSING 36 Agar tidak menghasilkan looping tak hingga, grammar rekursi kiri harus ditransformasi. Untuk contoh di atas transformasi berarti merubah produksi A Ab menjadi A ba. 3.2.1.2 Metode Recursive-Descent Kelas metoda tanpa backup, termasuk metoda recursive descent, adalah kelas metoda parsing yang tidak menggunakan produksi alternatif ketika hasil akibat penggunaan sebuah produksi tidak sesuai dengan simbol input. Jika produksi A mempunyai dua buah ruas kanan atau lebih maka produksi yang dipilih untuk digunakan adalah produksi dengan simbol pertama ruas kanannya sama dengan input yang sedang dibaca. Jika tidak ada produksi yang demikian maka dikatakan bahwa parsing tidak dapat dilakukan. Ketentuan produksi yang digunakan metoda recursive descent adalah : Jika terdapat dua atau lebih produksi dengan ruas kiri yang sama maka karakter pertama dari semua ruas kanan produksi tersebut tidak boleh sama. Ketentuan ini tidak melarang adanya produksi yang bersifat rekursi kiri. Contoh 5 : Diketahui grammar G = {S ab A, A a, B b d}. Gunakan metoda recursive descent untuk melakukan analisis sintaks terhadap kalimat x = ac.

BAB 3 CFG DAN PARSING 37 3.2.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, yaitu : 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. Contoh 6 : (1) I I H Hb adalah sentensial dan b adalah simple frase H H (dibandingkan dengan Q1 β Q 2 maka Q1 = H, β = b, dan Q2 = ε) H b Perhatikan : simple frase (b) adalah yang terakhir diturunkan (2) I I H Hb adalah sentensial dan H adalah simple frase I b (dibandingkan dengan Q 1 β Q 2 maka Q1 = ε, β = H, dan Q 2 = b) H b Perhatikan : simple frase (H) adalah yang terakhir diturunkan Sentensial Hb mempunyai dua simple frase (b dan H), sedangkan handelnya adalah H. 3.2.2.1 Relasi Preseden dan Grammar Preseden Sederhana Relasi preseden adalah relasi antara 2 simbol grammar (baik V T maupun V N) dimana paling tidak salah satu simbol tersebut adalah komponen handel. Misalkan S dan R adalah 2 simbol. Ada 3 relasi preseden yang :,, dan

BAB 3 CFG DAN PARSING 38 Gambar 3.1 : Komponen handel selalu menunjuk yang simbol lainnya Contoh 7 : Diketahui grammar dengan G = {Z bmb, M ( L a, L Ma )}. Dari 3 sentensial : bab, b(lb, b(ma)b, tentukan handel dan relasi yang ada. Secara umum : jika A abc adalah sebuah produksi maka : - abc adalah handel dari sentensial yang mengandung string abc - relasi preseden antara a, B, dan c adalah : a B, B c Dengan memperhatikan ruas kanan produksi yang ada serta berbagai sentensial yang dapat diderivasi dari Z maka semua relasi preseden tercantum dalam tabel berikut :

BAB 3 CFG DAN PARSING 39 Tabel 3.1. Tabel Relasi Preseden Grammar G disebut grammar preseden sederhana jika : 1. paling banyak terdapat satu relasi antara setiap dua simbolnya 2. tidak terdapat dua produksi produksi dengan ruas kanan yang sama 3.2.2.2 Parsing Grammar Preseden Sederhana Prosedur parsing : 1. Buat tabel 3 kolom dengan label : sentensial dan relasi, handel, dan ruas kiri produksi. 2. Tuliskan kalimat (atau sentensial) yang diselidiki pada baris pertama kolom pertama. 3. Dengan menggunakan tabel relasi preseden cantumkan relasi preseden antara setiap dua simbol yang bertetangga. 4. Tentukan handel dari sentensial tersebut. Handel adalah string yang dibatasi terakhir dan pertama jika dilakukan penelusuran dari kiri atau yang saling mempunyai relasi. Handel tersebut pastilah merupakan ruas kanan produksi, karena itu tentukan ruas kiri dari handel tersebut. 5. Ganti handel dengan ruas kiri produksinya. GOTO 3. 6. Kalimat yang diselidiki adalah benar dapat diderivasi dari simbol awal jika kolom ruas kiri produksi menghasilkan simbol awal. Contoh 8 : Lakukan parsing atas kalimat x = b(aa)b berdasarkan grammar G di atas.

BAB 3 CFG DAN PARSING 40 Prosedur parsing sampai di simbol awal (Z). Maka kalimat b(aa)b memang dapat diderivasi dari simbol awal Z dengan menggunakan grammar G. LAPORAN PENDAHULUAN 1. Jelaskan tentang CFG! 2. Sebutkan dan jelaskan metode parsing yang kamu ketahui! LAPORAN AKHIR 1. Jelaskan bentuk umum dari produksi CFG! 2. Jelaskan dan beri contoh metode parsing Top-Down dan Bottom-Up!