TATA BAHASA BEBAS KONTEKS (CONTEXT FREE GRAMMAR)



dokumen-dokumen yang mirip
TEORI BAHASA DAN OTOMATA [TBO]

PENYEDERHANAAN Context Free Grammar

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

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

Tujuan Penyederhanaan

Tata Bahasa Bebas Konteks

TEORI BAHASA DAN AUTOMATA

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

POHON PENURUNAN Context Free Grammar

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

TEORI BAHASA DAN OTOMATA [TBO]

TEORI BAHASA DAN OTOMATA

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

TEORI BAHASA DAN OTOMATA

DIKTAT TEORI BAHASA DAN OTOMATA

Lecture Notes Teori Bahasa dan Automata

Analisis Sintaksis (syntactic analyzer atau parser)

TEORI BAHASA DAN OTOMATA [TBO]

Teori Bahasa dan Otomata 1

Teori Bahasa Formal dan Automata

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

TEORI BAHASA & OPERASI MATEMATIS (2)

MODUL XIII TEORI BAHASA DAN AUTOMATA

Dasar Teori Bahasa & Grammar

KONSEP GRAMMAR DAN BAHASA

Penghilangan Rekursif Kiri

Tata Bahasa Kelas Tata Bahasa. Konsep Bahasa (1)

TEORI BAHASA DAN AUTOMATA

TEORI BAHASA DAN OTOMATA

Teori Bahasa Formal dan Automata

BAB V CONTEXT FREE GRAMMAR DAN PUSH DOWN AUTOMATA

BENTUK NORMAL GREIBACH

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

ALGORITMA PEMROGRAMAN 1C SINTAKS

PENDAHULUAN Teori Bahasa

TEORI BAHASA DAN OTOMATA

KONSEP DAN IMPLEMENTASI PARSING DENGAN MENGGUNAKAN METODE BRUTE FORCE

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

anggota alfabet dinamakan simbol terminal atau token.

GRAMMAR AND LANGUAGE

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

Disusun oleh: Rina Dewi Indah Sari, S.Kom

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

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

TEKNIK KOMPILASI Konsep & Notasi Bahasa

BAB I PENDAHULUAN 1-1

Amir Hamzah AKPRIND PRESS 2009

MODUL MATA KULIAH TEORI BAHASA DAN OTOMATA DOSEN:

Teori Himpunan. Matematika Dasar untuk Teori Bahasa Otomata. Operasi pada Himpunan. Himpunan Tanpa Elemen. Notasi. Powerset & Cartesian Product

Penyederhanaan Tata Bahasa Bebas Konteks dalam Bentuk Normal Chomsky Menggunakan PHP

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

TEORI BAHASA & OTOMATA (KONSEP & NOTASI BAHASA) PERTEMUAN IX Y A N I S U G I Y A N I

Contents.

TEORI BAHASA & AUTOMATA

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

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

Hirarki Comsky. Unrestricted. Context Sensitive Context free Regular

Grammar dan Tingkat Bahasa

BAB III CFG DAN PARSING

metodenumerikblog.wordpress.com Retno Tri Vulandari, S.Si, M.Sc

Kodifikasi Peraturan Bank Indonesia. Kelembagaan. Persyaratan dan Tata Cara Pemeriksaan Bank

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

SILABUS MATAKULIAH. Indikator Pokok Bahasan/Materi Aktifitas Pembelajaran

TEORI BAHASA DAN OTOMATA [TBO]

TEORI BAHASA DAN OTOMATA [TBO]

BAB I TEORI BAHASA DAN AUTOMATA

Teori Bahasa & Otomata

IF-UTAMA 1. Definisi. Grammar. Definisi

Teori Bahasa dan Operasi Matematis.

Sebuah bahasa dinyatakan regular jika terdapat finite state automata yang dapat menerimanya. Bahasa-bahasa yang diterima oleh suatu finite state

Tujuan perancangan bhs program

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

BAB IV PENGUJIAN DAN ANALISIS

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

Pemodelan CNF Parser dengan Memanfaatkan Pohon Biner

Sumarni Adi TEKNIK INFORMATIKA STMIK AMIKOM YOGYAKARTA 2013

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

BAB II SINTAKS 2.1. SINTAKS

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

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

BAB IV ANALISA SINTAKS

PENYEDERHANAAN DENGAN KARNAUGH MAP

1. AB = 16 cm, CE = 8 cm, BD = 5 cm, CD = 3 cm. Tentukan panjang EF! 20 PEMBAHASAN : BCD : Lihat ABE : Lihat AFE : Lihat

BAB VI METODE PARSING

RENCANA PROGRAM KEGIATAN PERKULIAHAN SEMESTER (RPKPS)

Simulasi Komputer Untuk Menentukan Kombinasi Perlakuan Dengan Disain Faktorial Setengah Replikasi

TEORI BAHASA DAN AUTOMATA

Aplikasi Rekursif dalam Analisis Sintaks Program

JURUSAN PENDIDIKAN FISIKA FPMIPA UPI 2009

Teori Bahasa dan Otomata

SATUAN ACARA PERKULIAHAN (SAP) Semester Penempatan

POHON CARI BINER (Binary Search Tree)

TEORI BAHASA DAN OTOMATA

TEORI BAHASA DAN AUTOMATA

MODUL 1: PENGANTAR TEORI BAHASA

BAB III METODE PENELITIAN. 3.2 Metode Pengembangan Sistem Aplikasi Penyederhanaan Grammar ini dikembangkan menggunakan

SURAT PERNYATAAN PERSETUJUAN MENJADI RESPONDEN PENELITIAN PERSEPSI APOTEKER TERHADAP KONSELING PASIEN DAN PELAKSANAANNYA DI APOTEK KABUPATEN SUKOHARJO

UNIVERSITAS GUNADARMA

Prestasi itu diraih bukan didapat!!! SOLUSI SOAL

BAHASA REGULER 1. Ekspresi Regular

Transkripsi:

TATA BAHASA BEBAS KONTEKS (CONTEXT FREE GRAMMAR) Oleh: Bagus Adhi Kusuma Teori Bahasa dan Otomata STIMIK AMIKOM Purwokerto Program Studi Teknik Informatika 2013/2014

CFG (Bahasa Bebas Konteks) sebuah tata bahasa dimana tidak terdapat pembatasan pada hasil produksinya Contoh pada aturan produksi : α β batasannya hanyalah ruas kiri (α) adalah sebuah simbol variabel.

CFG (Bahasa Bebas Konteks) contoh aturan produksi yang termasuk CFG: B CDeFg D BcDe

Pohon penurunan (derivation tree/parse tree) untuk menggambarkan simbolsimbol variabel menjadi simbolsimbol terminal setiap simbol variabel akan di turunkan menjadi terminal sampai tidak ada yang belum tergantikan.

CONTOH terdapat CFG dengan aturan produksi sebagai berikut dengan simbol awal S : S A B aab bbb A λ

DERIVATION leftmost derivation Suatu penguraian /penurunan dikatakan leftmost derivation bila setiap tahapan penurunan variabel / non terminal terkiri yang diuraikan. rightmost derivation Apabila setiap tahapan penurunan variabel / non terminal paling kanan yang diuraikan disebut rightmost derivation

CONTOH : G=({A,B,S}, {a,b},s,p} dengan aturan produksi P : S AB A aaa λ B Bb λ Leftmost derivation untuk menghasilkan string aab S => AB => aaab => aab => aabb => aab Righmost derivation untuk menghasilkan string aab S => AB => ABb => aaabb => aaab => aab

CONTOH : G=({A,B,S}, {a,b},s,p} dengan aturan produksi P : S aab A bbb B A λ Leftmost derivation untuk menghasilkan string abbbb S => aab => abbbb => ababb => abbbbbb => abbbbb => abbbb

Righmost derivation untuk menghasilkan string abbbb S => aab => aa => abbb => abab => abbbbb => abbbb

PARSING & KEANGGOTAAN Untuk menentukan apakah string w berada di L(G), dengan cara secara sistematis membangun semua kemungkinan penurunan, dan mencocokkan hasilnya apakah ada yang sama dengan string w. (disebut exhaustive search parsing)

Parsing PROSES PARSING proses pembacaan string dalam bahasa sesuai CFG tertentu, proses ini harus mematuhi aturan produksi dalam CFG tersebut.

CONTOH menentukan apakah string ab berada pada bahasa yang dibentuk oleh grammar dengan aturan produksi: S SS asb bsa λ

Untuk penguraian pertama 1. S => SS 2. S => asb 3. S => bsa 4. S => λ Penguraian pertama tsb membentuk 1a. S => SS => SSS 1b. S => SS => asbs 1c. S => SS => bsas 1d. S => SS => S

Penguraian 2 membentuk 2a. S => asb => assb 2b. S => asb => aasbb 2c. S => asb => absab 2d. S => asb => ab Penguraian nomor 3 dan 4 tidak perlu dilanjutkan.

AMBIGUITAS Terjadi bila terdapat lebih dari satu pohon penurunan yang berbeda untuk memperoleh suatu string. Paling sedikit ada 2 pohon

Misalkan terdapat tata bahasa sebagai berikut : S SS asb λ Untuk memperoleh untai aabb bisa terdapat dua cara penurunan sebagai berikut :

Penyederhanaan Tata Bahasa Bebas Konteks Tujuan Melakukan pembatasan sehingga tidak menghasilkan pohon penurunan yang memiliki kerumitan yang tidak perlu atau aturan produksi yang tidak berarti.

Contoh 1: S A AB a a Aturan produksi S AB tidak berarti karena B tidak memiliki penurunan

Contoh 2: S A B C D A B C D a A Memiliki kelemahan terlalu panjang jalannya padahal berujung pada S a, produksi D A juga menyebabkan kerumitan.

Cara Penyederhanaan: Penghilangan produksi useless ( tidak berguna ) Penggantian produksi unit Penghilangan produksi ε

Penghilangan Produksi Useless Produksi useless didefinisikan sebagai : Produksi yang memuat symbol variabel yang tidak memiliki penurunan yang akan menghasilkan terminal-terminal seluruhnya. Produksi yang tidak akan pernah dicapai dengan penurunan apapun dari simbol awal, sehingga produksi itu redundan (berlebih/rangkap)

Contoh: S A B asa Abd Bde Ada BBB a Maka simbol variabel A tidak memiliki penurunan yang menuju terminal, sehingga bisa dihilangkan Konsekuensi : aturan produksi S Abd tidak memiliki penurunan

Penyederhanaan menjadi: S B asa Bde BBB a

Penggantian Produksi Unit Produksi dimana ruas kiri dan kanan aturan produksi hanya berupa satu simbol variabel, misalkan: A B, C D. Keberadaannya membuat tata bahasa memiliki kerumitan yang tak perlu. Penyederhanaan dilakukan dengan melakukan penggantian aturan produksi unit

Contoh S Sb S C C D C ef D dd Dilakukan penggantian berturutan mulai dari aturan produksi yang paling dekat menuju ke penurunan terminal-terminal ( => dibaca menjadi ): C D => C dd S C => S dd ef

Sehingga aturan produksi setelah penyederhanaan: S Sb S dd ef C dd C ef D dd

Penghilangan Produksi ε Produksi ε adalah produksi dalam bentuk α ε atau bisa dianggap sebagai produksi kosong ( empty ). Penghilangan produksi ε dilakukan dengan melakukan penggantian produksi yang memuat variabel yang bisa menuju produksi ε, atau biasa disebut nullable

Prinsip penggantiannya bisa dilihat kasus berikut: S bcad A ε A nullable serta A ε satu-satunya produksi dari A, maka variabel A bisa ditiadakan, hasil penyederhanaan tata bahasa bebas konteks menjadi: S bcd

Tetapi bila kasusnya: S bcad A bd ε A nullable, tapi A ε bukan satusatunya produksi dari A, maka hasil penyederhanaan: S bcad bcd A bd

Contoh dalam Tata Bahasa Bebas Konteks S AaCD A CD AB B b ε C d ε D ε V ariabel yang nullable adalah B, C, D. Kemudian dari A CD, maka variabel A juga nulable ( A ε )

Karena D hanya memiliki penurunan D ε, maka kita sederhanakan dulu: S AaCD => S AaC A CD => A C D ε kita hapus Selanjutnya kita lihat variabel B dan C memiliki penurunan ε, meskipun bukan satusatunya penurunan, maka dilakukan penggantian: A AB => A AB A B S AaC => S AaC ac Aa a B ε dan C ε kita hapus

Setelah penyederhanaan: S AaC ac Aa a A C AB A B B b

Latihan Soal 1. Sederhanakan dengan penghilangan produksi useless: S aab c E B A dbe eec B ff C ae D h

Latihan Soal 2. Sederhanakan dengan penghilangan produksi unit: S A S Aa A B B C B b C D C ab D b

Latihan Soal 3. Sederhanakan dengan penghilangan produksi ε: S da Bd A bc A ε B c