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

dokumen-dokumen yang mirip
TATA BAHASA BEBAS KONTEKS (CONTEXT FREE GRAMMAR)

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

Tujuan Penyederhanaan

TEORI BAHASA DAN OTOMATA [TBO]

Penyederhanaan Tata Bahasa Bebas Konteks. Kuliah Online : TBA [2012/2013]

PENYEDERHANAAN Context Free Grammar

TEORI BAHASA DAN AUTOMATA

Tata Bahasa Bebas Konteks

Analisis Sintaksis (syntactic analyzer atau parser)

IF-UTAMA 1. Definisi. Grammar. Definisi

Ekspresi Reguler Definisi. Notasi Ekspresi Regular. Contoh Ekspresi Reguler [2]

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

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

POHON PENURUNAN Context Free Grammar

TEORI BAHASA DAN OTOMATA [TBO]

Teori Bahasa Formal dan Automata

Lecture Notes Teori Bahasa dan Automata

Dasar Teori Bahasa & Grammar

TEORI BAHASA & OPERASI MATEMATIS (2)

DIKTAT TEORI BAHASA DAN OTOMATA

Teori Bahasa Formal dan Automata

Teori Bahasa dan Otomata 1

BAB I PENDAHULUAN 1-1

KONSEP GRAMMAR DAN BAHASA

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

BAB I TEORI BAHASA DAN AUTOMATA

Pendahuluan [6] FINITE STATE AUTOMATA. Hubungan RE & FSA [5] Finite State Diagram [6] 4/27/2011 IF-UTAMA 1

Language Is Cool. The Chomsky Hierarchy. Normal Forms. Chomsky Normal Form (CNF) & Greibach Normal Form (GNF) Teori Bahasa & Otomata - Danang Junaedi

Pemodelan CNF Parser dengan Memanfaatkan Pohon Biner

ALGORITMA PEMROGRAMAN 1C SINTAKS

TEORI BAHASA DAN OTOMATA [TBO]

Tata Bahasa Kelas Tata Bahasa. Konsep Bahasa (1)

Overview. Pendahuluan. Pendahuluan. Pendahuluan. Pendahuluan. Pendahuluan

Penyederhanaan Tata Bahasa Bebas Konteks dalam Bentuk Normal Chomsky Menggunakan PHP

anggota alfabet dinamakan simbol terminal atau token.

TEORI BAHASA DAN OTOMATA

GRAMMAR AND LANGUAGE

TEORI BAHASA DAN AUTOMATA

Turing and State Machines. Mesin Turing. Turing Machine. Turing Machines 4/14/2011 IF_UTAMA 1

BAB IV ANALISA SINTAKS

TEKNIK KOMPILASI Konsep & Notasi Bahasa

Contents.

TEORI BAHASA DAN AUTOMATA

BAB II SINTAKS 2.1. SINTAKS

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

MODUL 12: BENTUK-BENTUK SEDERHANA DAN BENTUK-BENTUK NORMAL

Outline. Struktur Data & Algoritme (Data Structures & Algorithms) Pengantar. Definisi. 2-3 Trees

TEORI BAHASA DAN OTOMATA

TEORI BAHASA DAN OTOMATA

PENDAHULUAN Teori Bahasa

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

BAB V CONTEXT FREE GRAMMAR DAN PUSH DOWN AUTOMATA

Pendahuluan. Push Down Atomata. Perbedaan FA dan PDA [7] 4/25/2012 IF-UTAMA 1. Grammar-machine equivalence [3] Latar belakang munculnya konsep PDA

Hirarki Comsky. Unrestricted. Context Sensitive Context free Regular

TREE ALGORITMA & STRUKTUR DATA. Materi ASD Fakultas Teknik Elektro & Komputer UKSW ( Download Dari :

MODUL MATA KULIAH TEORI BAHASA DAN OTOMATA DOSEN:

SILABUS MATAKULIAH. Indikator Pokok Bahasan/Materi Aktifitas Pembelajaran

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

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

KONSEP DAN IMPLEMENTASI PARSING DENGAN MENGGUNAKAN METODE BRUTE FORCE

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

BENTUK NORMAL GREIBACH

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

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

MODUL XIII TEORI BAHASA DAN AUTOMATA

BAB III CFG DAN PARSING

Tree (Struktur Data) Nisa ul Hafidhoh, MT

TEORI BAHASA DAN OTOMATA

Penerapan BFS dan DFS pada Pencarian Solusi

TEORI BAHASA & AUTOMATA

Aplikasi Rekursif dalam Analisis Sintaks Program

Teknik Kompilasi. Notasi Bahasa

Pemrograman Algoritma Dan Struktur Data

Aplikasi Penyederhanaan Context Free Grammar

TEORI BAHASA DAN OTOMATA [TBO]

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

Pohon. Bahan Kuliah IF2120 Matematika Diskrit. Program Studi Teknik Informatika ITB. Rinaldi M/IF2120 Matdis 1

Penghilangan Rekursif Kiri

DEFINISI. Pohon adalah graf tak-berarah terhubung yang tidak mengandung sirkuit. pohon pohon bukan pohon bukan pohon 2

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

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

RENCANA PROGRAM KEGIATAN PERKULIAHAN SEMESTER (RPKPS)

SATUAN ACARA PERKULIAHAN (SAP) Semester Penempatan

Soal Pendahuluan Modul 3

Pohon (Tree) Universitas Gunadarma Sistem Informasi 2012/2013

TUGAS MAKALAH INDIVIDUAL. Mata Kuliah : Matematika Diskrit / IF2153 Nama : Dwitiyo Abhirama NIM :

Teori Bahasa Formal dan Automata

Pohon (TREE) Matematika Deskrit. Hasanuddin Sirait, MT 1

Sumarni Adi TEKNIK INFORMATIKA STMIK AMIKOM YOGYAKARTA 2013

STRUKTUR POHON (TREE) Pohon atau Tree adalah salah satu bentuk Graph terhubung yang tidak mengandung sirkuit.

Pohon dan Pohon Biner

Pertemuan 9 STRUKTUR POHON & KUNJUNGAN POHON BINER

3.1. Definisi Syntax Syntax suatu bahasa pemrograman adalah satu himpunan

STRUKTUR POHON & KUNJUNGAN POHON BINER

STRUKTUR POHON (TREE) Pohon atau Tree adalah salah satu bentuk Graph terhubung yang tidak mengandung sirkuit.

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

Minimum Spanning Trees algorithm

MEMBANDINGKAN KEMANGKUSAN ALGORITMA PRIM DAN ALGORITMA KRUSKAL DALAM PEMECAHAN MASALAH POHON MERENTANG MINIMUM

Translasi Context-Free Grammar Menjadi Parsing Tree Berbasis Algoritma Cocke-Younger-Kasami

Studi Algoritma Optimasi dalam Graf Berbobot

Transkripsi:

Penurunan (Derivation) [2] Penurunan (Derivation) Pertemuan : 5 Dosen Pembina : Danang Junaedi IF-UTM 1 Berfungsi untuk menggambarkan atau mengetahui bagaimana memperoleh suatu string dari dari suatu tata bahasa dengan cara menurunkan simbol-simbol variabel menjadi simbol-simbol terminal. Proses penurunan dilakukan dengan cara : Leftmost derivation : simbol variabel paling kiri ang diturunkan terlebih dahulu Rightmost derivation : simbol variabel paling kanan ang diturunkan terlebih dahulu Jenis Penurunan Derivation string / Penurunan tring : dimulai dengan simbol awal dan menggunakan tanda ang menunjukan hasil penurunanna. Derivation tree / Pohon Penurunan, disebut juga derivation (parse) tree : root dari pohon penurunan adalah simbol awal, sedangkan node (daun) dari pohon penurunan adalah simbol-simbol non terminal atau terminal dari tata bahasa tersebut atau kemungkinan simbolε IF-UTM 2 Parse Tree [1] Contoh Penurunan [1] Formall, let G = (, T, P, ) be a CFG, a parse tree for G must be such that: ver verte has a label from T {ε}. The root is labeled. The label of an internal verte is in. If a verte is labeled ε, it must be a leaf and has no sibling. If a verte is labeled and its children are labeled X 1, X 2,..., X k from left to right, then X 1 X 2 X 3 is a production in P. Misalkan diketahui sebuah contet free grammar G 3 dengan aturan produksi sebagai berikut: - () Bagaimana cara menurunkan string (-)? IF-UTM 3 IF-UTM 4 IF-UTM 1

Contoh Penurunan (contd) Kita bisa membuat pohon penurunan sebagai berikut : ( ) - tring (-) diperoleh dengan cara membaca node daun) dari cabang paling bawah kiri ke kanan. CFG G 3 : - () Derivation tring: () ( - ) ( - ) ( - ) ( - ) ( - ) IF-UTM 5 Contoh Penurunan (contd) Leftmost Derivation () ( - ) ( - ) ( - ) ( - ) ( - ) ( ) - Rightmost derivation () ( - ) ( - ) ( - ) ( - ) ( - ) ( - ) ( - ) IF-UTM 6 ( ) - mbiguit [1] ach parse tree has one unique leftmost derivation and one unique rightmost derivation. grammar is ambiguous if some strings in it have more than one parse trees, i.e., it has more than one leftmost derivations (or more than one rightmost derivations). Consider the following grammar G: a b ab string generated b this grammar can have more than one parse trees. Consider the string abb: a b b IF-UTM 7 a b b mbiguit [1] s another eample, consider the following grammar: * () There are 2 leftmost derivations for : IF-UTM 8 IF-UTM 2

mbiguit [1] tudi Kasus [1] Note that a CFL L can be generated b several different grammars, e.g., the language L={a n b m n > m > 0) can be generated b both G 1 and G 2 : G 1 : a b a b a a G 2 : B a a B abb ab CFL L is said to be inherentl ambiguous if all its grammars are ambiguous. If an one of them is unambiguous, L is unambiguous. 1. Consider the grammar of an if-statement: <if> if <cond> then <stat> <if> if <cond> then <stat> else <stat> <cond> P Q <stat> <if> R Consider the following if-statement: if P then if Q then R else This grammar is ambiguous since the above statement can have two parse trees. What are the? 2. Consider the grammar: ab b a a b B b b abb Generate 4 strings from this grammar. Do ou know what language does this CFG represent? IF-UTM 9 IF-UTM 10 Penederhanaan [5] Penederhanaan [5] (contd) Tujuan : Melakukan pembatasan sehingga tidak menghasilkan pohon penurunan ang memiliki kerumitan ang tidak perlu atau aturan produksi ang tidak berarti. : B a a Kelemahan CFG di atas, aturan produksi B tidak berarti karena B tidak memiliki penurunan. Untuk CFG berikut : B B C C D D a Memiliki kelemahan terlalu panjang jalanna padahal berujung pada a, produksi D juga menebabkan kerumitan. uatu CFG dapat disederhanakan dengan melakukan : 1. Penghilangan produksi ε 2. Penghilangan produksi unit 3. Penghilangan produksi useless (tidak berguna) IF-UTM 11 IF-UTM 12 IF-UTM 3

Penghilangan Produksiε [5] Penghilangan Produksiε [5] (contd) Produksiεadalah produksi dalam bentuk α ε tau bisa dianggap sebagai produksi kosong (empt). Penghilangan produksiεdilakukan dengan melakukan penggantian produksi ang memuat variabel ang bisa menuju produksiε, atau biasa disebut nullable. bcd ε nullable serta εsatu-satuna produksi dari, maka variabel bisa ditiadakan Hasil penederhanaan tata bahasa bebas konteks menjadi: bcd bcd bd ε nullable, tapi εbukan satu-satuna produksi dari hasil penederhanaan: bcd bcd bd b Cd d C ε ariabel ang nullable adalah variabel C. Karena penurunan C εmerupakan penurunan satusatuna dari C, maka kita ganti Cd menjadi d Kemudian produksi C εkita hapus. etelah penederhanaan menjadi: b d d IF-UTM 13 IF-UTM 14 Penghilangan Produksi Unit [5] Penghilangan Produksi Unit [5] (contd) Produksi dimana ruas kiri dan kanan aturan produksi hana berupa satu simbol variabel, misalkan: B, C D. Keberadaanna membuat tata bahasa memiliki kerumitan ang tak perlu. Penederhanaan dilakukan dengan melakukan penggantian aturan produksi unit. : b C C D C ef D dd Dilakukan penggantian berturutan mulai dari aturan produksi ang paling dekat menuju ke penurunan terminal-terminal ( dibaca menjadi ): C D => C dd C => dd ef ehingga aturan produksi setelah penederhanaan: b dd ef IF-UTM 15 : a B B C B b C D C ab D b Penggantian ang dilakukan : C D => C b B C => B b ab, karena B b sudah ada, maka cukup dituliskan B ab B => ab b => ab b ehingga aturan produksi setelah penederhanaan: ab b a ab b IF-UTM 16 IF-UTM 4

Penghilangan Produksi Useles [5] Produksi useless didefinisikan sebagai : Produksi ang memuat simbol variabel ang tidak memiliki penurunan ang akan menghasilkan terminal-terminal seluruhna. Produksi ang tidak akan pernah dicapai dengan penurunan apapun dari simbol awal, sehingga produksi itu redundan (berlebih) : aa bd Bde da B BBB a Maka : imbol variabel tidak memiliki penurunan ang menuju terminal, sehingga bisa dihilangkan Konsekuensi : aturan produksi bd tidak memiliki penurunan Penederhanaan menjadi: aa Bde B BBB a IF-UTM 17 Penghilangan Produksi Useles [5] (contd) : a B ab D B b C bb aa Maka : turan produksi D, simbol variabel D tidak memiliki penurunan. turan produksi C bb, Penurunan dari simbol, dengan jalan manapun tidak akan pernah mencapai C imbol variabel tidak memiliki aturan produksi ang menuju terminal Konsekuensi no (3) turan produksi B, simbol variabel tidak memiliki penurunan. Maka produksi ang useless: D C bb aa B Penederhanaanna menjadi: a B ab B b IF-UTM 18 tudi Kasus Referensi Buat penederhanaan untuk aturan-aturan produksi berikut ini : 1.turan Produksi 1 : ab cb db eec B ff C ae D h 2.turan Produksi 2 : Cba D bbc B c ddd C en f C D BC gh 3.turan Produksi 3 : acd CD B B b ε C d ε D ε Berdasarkan ke tiga aturan di atas buat string hasil penurunanna IF-UTM 19 1. http://www.cse.cuhk.edu.hk/~csc3130/ 2. wingll Purba, Otomata dan Bahasa Formal, Graha Ilmu,Yogakarta, 2008 3. Firrar Utdirartatmo, Teori Bahasa Otomata, Graha Ilmu, Yogakarta, 2005 dan 4. Roni Djuliawan, M.T., Diktat & Handout Kuliah Teori Bahasa & Otomata, Teknik Informatika Universitas Widatama, 2003 5. http://idhaclassroom.com/download/teknik- Otomasi-Bahasa-Kompilasi/Bahasa- Kompilasi.pdf IF-UTM 20 IF-UTM 5