Penghilangan Rekursif Kiri

dokumen-dokumen yang mirip
MODUL XIII TEORI BAHASA DAN AUTOMATA

BENTUK NORMAL GREIBACH

TEORI BAHASA DAN OTOMATA [TBO]

TEORI BAHASA DAN OTOMATA

TEORI BAHASA DAN AUTOMATA

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

TEORI BAHASA DAN OTOMATA

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

PENYEDERHANAAN Context Free Grammar

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

TEORI BAHASA DAN OTOMATA [TBO]

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

Tujuan Penyederhanaan

TEORI BAHASA DAN AUTOMATA

DIKTAT TEORI BAHASA DAN OTOMATA

PEMBUATAN LAPORAN PEMBUKUAN SIMPAN PINJAM

TATA BAHASA BEBAS KONTEKS (CONTEXT FREE GRAMMAR)

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

Lecture Notes Teori Bahasa dan Automata

Tata Bahasa Bebas Konteks

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

RIWAYAT HIDUP. : Nurdiyana Abdullah Tempat / Tanggal Lahir : Malaysia / 11 Oktober 1985

DAFTAR ISI HALAMAN SAMPUL...

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

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

BAB IV PENGUJIAN DAN ANALISIS

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

Kemampuan Menggunakan Kalimat Efektif Dalam Mengungkapkan Pengalaman Oleh Siswa Kelas VII SMP TPI Al-Hasanah Pematang Bandar

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

Prestasi itu diraih bukan didapat!!! SOLUSI SOAL

II. M A T R I K S ... A... Contoh II.1 : Macam-macam ukuran matriks 2 A. 1 3 Matrik A berukuran 3 x 1. Matriks B berukuran 1 x 3

LAMPIRAN. Poliklinik Ibu Hamil Rumah Sakit Umum Pusat Haji Adam Malik, Medan Tahun 2011.

Aplikasi Pengubah Bentuk Normal Chomsky Menjadi Bentuk Normal Greibach dengan Metode Substitusi

DAFTAR RIWAYAT HIDUP

anggota alfabet dinamakan simbol terminal atau token.

LAPORAN PRAKTIKUM KIMIA ORGANIK PERCOBAAN REAKSI ESTERIFIKASI DISUSUN OLEH :

2. Tentukan persamaan garis yang melalui titik P (x 1,y 1,z 1 ) dan R (x 2,y 2,z 2 ) seperti yang ditunjukkan pada gambar. Z P Q R

LEMBAR AKTIVITAS SISWA DIMENSI TIGA (WAJIB)

Studi Zona Nilai Tanah di Sekitar Lokasi Pembangunan Pelabuhan Internasional Kalimireng

BAB V CONTEXT FREE GRAMMAR DAN PUSH DOWN AUTOMATA

UNDANG-UNDANG REPUBLIK INDONESIA NOMOR 25 TAHUN 1964 TENTANG PERUBAHAN DAN TAMBAHAN ATURAN BEA MATERAI 1921 PRESIDEN REPUBLIK INDONESIA,

Teori Bahasa Formal dan Automata

KONSEP GRAMMAR DAN BAHASA

GRAMMAR AND LANGUAGE

A. KUBUS Definisi Kubus adalah bangun ruang yang dibatasi enam sisi berbentuk persegi yang kongruen.

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

Contents.

BAB 10. DESAIN RANGKAIAN BERURUT

Matriks. Modul 1 PENDAHULUAN

TEORI BAHASA & OPERASI MATEMATIS (2)

Matematika Teknik Dasar-2 4 Aljabar Vektor-1. Sebrian Mirdeklis Beselly Putra Teknik Pengairan Universitas Brawijaya

DATA MAHASISWA. : Nabila Balqish binti Azahar Tempat / Tarikh Lahir : Kg Kok Keli, Kelantan / 12 Juni 1988

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 III CFG DAN PARSING

PENERAPAN FAKTOR PRIMA DALAM MENYELESAIKAN BENTUK ALJABAR (Andi Syamsuddin*)

BAB 2 LANDASAN TEORI. 2.1 Matrix Rotasi 3D dengan Representasi Euler

UNDANG-UNDANG REPUBLIK INDONESIA NOMOR 25 TAHUN 1964 TENTANG PERUBAHAN DAN TAMBAHAN ORDONANSI ATURAN BEA METERAI 1921 PRESIDEN REPUBLIK INDONESIA,

LAMPIRAN 1: KISI-KISI KUESIONER SIKAP DALAM PEMBELAJARAN MATEMATIKA

OSN MATEMATIKA SMA Hari 1 Soal 1. Buktikan bahwa untuk sebarang bilangan asli a dan b, bilangan. n = F P B(a, b) + KP K(a, b) a b

LEMBAR AKTIVITAS SISWA MATRIKS

Penyederhanaan Tata Bahasa Bebas Konteks dalam Bentuk Normal Chomsky Menggunakan PHP

LAMPIRAN A FREKUENSI SAMPEL PENELITIAN

Algoritma Cipher Block EZPZ

Prestasi itu diraih bukan didapat!!! SOLUSI SOAL

DIKTAT MATEMATIKA II

Pembahasan OSN Tingkat Provinsi Tahun 2012 Jenjang SMP Bidang Matematika

(Departemen Matematika FMIPA-IPB) Matriks Bogor, / 66

TEOREMA PYTHAGORAS. Contoh Hitunglah nilai kuadrat bilangan-bilangan berikut

Solusi Olimpiade Sains Tingkat Kabupaten/Kota 2015 Bidang Matematika

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

Lampiran A. Diagram Alir Penelitian. Mulai. Penelusuran literatur. Sudah siap. Penurunan solusi soliton DNA model PBD. Aplikasi maple 11 dan MATLAB

Hasil Kali Titik, Hasil Kali Silang, dan Hasil Kali Tripel

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

Matriks biasanya dituliskan menggunakan kurung dan terdiri dari baris dan kolom: A =

BAB III METODE PENELITIAN

BAB III ANALISIS SISTEM

BAB II DASAR TEORI. Gambar 2.1. Proses Enkripsi Dekripsi

7. LAMPIRAN. Lampiran 1. Surat Pernyataan Kerjasama

Assocation Rule. Data Mining

SOAL PERSIAPAN UJIAN NASIONAL TAHUN PELAJARAN 2016 / 2017

MATRIKS A = ; B = ; C = ; D = ( 5 )

Dasar Teori Bahasa & Grammar

UU 25/1964, PERUBAHAN DAN TAMBAHAN ORDONANSI ATURAN BEA METERAI 1921

Soal Babak Penyisihan 7 th OMITS SOAL PILIHAN GANDA

Prestasi itu diraih bukan didapat!!! SOLUSI SOAL

Pembahasan OSN Tingkat Provinsi Tahun 2011 Jenjang SMA Bidang Matematika

Prestasi itu diraih bukan didapat!!! SOLUSI SOAL

Vektor. Vektor. 1. Pengertian Vektor

Rahmad Kartolo Silitonga Dosen Fakultas Keguruan dan Ilmu Pendidikan USI

OLIMPIADE MATEMATIKA SLTP TINGKAT KABUPATEN KOTA 2006

Teori Bahasa & Otomata

SKRIPSI. Diajukan untuk memenuhi syarat guna mencapai gelar. Sarjana Akutansi di Fakultas Ekonomi dan Bisnis. Universitas Katolik Soegijapranata

Bab IV. Pengantar Peluang. Pengantar Peluang. Eksperimen. Aturan Menghitung Kombinasi Permutasi. Keluaran Eksperimen

SISTEM PERSAMAAN LINEAR

DAFTAR ISI. III DASAR TEORI Aspek Teknis Aspek Ekonomi...22

BAB VI METODE PARSING

MODUL 17. BAHASA-BAHASA REKURSIF DAN RECURSIVELY ENUMERABLE

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

Pembahasan OSN Matematika SMA Tahun 2013 Seleksi Tingkat Provinsi. Tutur Widodo. Bagian Pertama : Soal Isian Singkat

MODUL MATEMATIKA KELAS 8 APRIL 2018

Transkripsi:

Penghilangan Rekursif Kiri

Aturan Produksi yang rekursif memiliki ruas kanan (hasil produksi) yang memuat simbol variabel. Aturan Produksi Rekursif Kanan Sebuah aturan produksi dalam bentuk: A A A : Variabel :(VT)* atau kumpulan symbol variabel dan terminal Aturan Produksi Rekursif Kiri Aturan produksi dalam bentuk: A A Contoh: S Sd B Bad

Produksi yang rekursif kanan menyebabkan pohon penurunan tumbuh ke kanan, sebaliknya produksi yang rekursif ke kiri menyebabkan pohon penurunan tumbuh ke kiri. Contoh : tata bahasa bebas konteks dengan aturan produksi: S aac A Ab S a A c A b Pohon penurunan sebuah CFG yang rekursif kiri. A b A b

Dalam banyak penerapan tata bahasa, rekursif kiri tak diinginkan. Untuk menghindari penurunan yang bisa mengakibatkan loop hilangkan sifat rekursif kiri dari aturan produksi. Aturan produksi yang tidak rekursif kiri CFG mengandung aturan produksi yang rekursif kiri Aturan produksi yang rekursif kiri Lakukan penggantian, munculkan aturan produksi baru dan symbol variabel baru CFG bebas dari aturan produksi yang rekursif kiri

Steps: Pisahkan aturan produksi yang rekursif kiri dan yang tidak. Aturan produksi yang rekursif kiri diberi simbol n setelah variabel: A A 1 A 2 A 3..A n Aturan produksi yang tidak rekursif kiri (termasuk produksi ) diberi simbol m A 1 2 3.. m Lakukan penggantian aturan produksi yang rekursif kiri, menjadi sebagai berikut: A 1 Z 2 Z m Z Z 1 2 3 n Z 1 Z 2 Z 3 Z n Z

Hasil akhir berupa aturan produksi pengganti ditambah dengan aturan produksi semula yang tidak rekursif kiri. Contoh: Lakukanlah penghilangan rekursif kiri untuk tata bahas bebas konteks dibawah: 1. S Sab asc dd ff Sbd 2. S Sab Sb ca A Aa a bd

1. Aturan produksi yang rekursif kiri: S Sab Sbd Untuk symbol S 1 = ab, 2 = bd Aturan produksi yang tidak rekursif kiri: S asc dd ff Untuk symbol S 1 = asc, 2 = dd, 3 = ff

1 = ab, 2 = bd & 1 = asc, 2 = dd, 3 = ff Lakukan penggantian aturan produksi yang rekursif kiri S Sab Sbd, digantikan oleh: S 1 Z 1 2 Z 1 3 Z 1

1 = ab, 2 = bd & 1 = asc, 2 = dd, 3 = ff Lakukan penggantian aturan produksi yang rekursif kiri S Sab Sbd, digantikan oleh: S ascz 1 dd Z 1 ff Z 1 Z 1 1 2 Z 1 1 Z 1 2 Z 1

1 = ab, 2 = bd & 1 = asc, 2 = dd, 3 = ff Lakukan penggantian aturan produksi yang rekursif kiri S Sab Sbd, digantikan oleh: S ascz 1 dd Z 1 ff Z 1 Z 1 ab bd Z 1 ab Z 1 bd Z 1

1 = ab, 2 = bd & 1 = asc, 2 = dd, 3 = ff Lakukan penggantian aturan produksi yang rekursif kiri S Sab Sbd, digantikan oleh: S ascz 1 dd Z 1 ff Z 1 Z 1 ab bd Z 1 ab Z 1 bd Z 1 Hasil akhir setelah penghilangan rekursif kiri adalah: S asc dd ff S ascz 1 dd Z 1 ff Z 1 Z 1 ab bd Z 1 ab Z 1 bd Z 1

2. Aturan produksi yang rekursif kiri: S Sab Sb A Aa Untuk symbol S 1 = ab, 2 = b Untuk symbol A 1 = a Aturan produksi yang tidak rekursif kiri: S ca A a bd Untuk symbol S 1 = ca Untuk symbol A 1 = a, 2 = bd

S 1 = ab, 2 = b & 1 = ca A 1 = a & 1 = a 2 = bd Lakukan penggantian aturan produksi yang rekursif kiri S Sab Sb, digantikan oleh: S 1 Z 1 Z 1 1 2 Z 1 1 Z 1 2 Z 1 A Aa, digantikan oleh: A 1 Z 2 2 Z 2 Z 2 1 Z 2 1 Z 2

S 1 = ab, 2 = b & 1 = ca A 1 = a & 1 = a, 2 = bd Lakukan penggantian aturan produksi yang rekursif kiri S Sab Sb, digantikan oleh: S caz 1 Z 1 ab b Z 1 ab Z 1 bz 1 A Aa, digantikan oleh: A az 2 bdz 2 Z 2 a Z 2 az 2

Hasil akhir setelah penghilangan rekursif kiri adalah: S ca A a bd S caz 1 Z 1 ab b Z 1 ab Z 1 bz 1 A az 2 bdz 2 Z 2 a Z 2 az 2

Lakukanlah penghilangan rekursif kiri untuk tata bahas bebas konteks dibawah: S Sa aac c A Ab ba

Bentuk Normal Greibach (GNF)

Suatu tata bahasa bebas konteks (CFG) dikatakan dalam bentuk normal Greibach (GNF) jika setiap aturan produksinya ada dalam bentuk: A a a : symbol terminal (tunggal), a T : rangkaian symbol-simbol variabel (V*) Contoh tata bahasa bebas konteks dalam bentuk normal Greibach: S a aab A ab B cs

Untuk dapat diubah ke dalam bentuk normal Greibach, tata bahasa semula harus memenuhi syarat: Sudah dalam bentuk normal Chomsky (CNF) Tidak bersifat rekursif kiri Tidak menghasilkan

Ada 2 cara merubah Tata bahasa bebas konteks menjadi GNF: Substitusi Perkalian Matrix

Steps: Tentukan urutan symbol-simbol variabel A 1, A 2,.. A m Berdasarkan urutan symbol, seluruh aturan produksi yang ruas kanannya diawali dengan symbol variabel dapat dituliskan dalam bentuk A h A i dimana h </> i (rekursif kiri sudah dihilangkan), berupa symbol-simbol variabel. Jika h < i, aturan produksi ini sudah benar (tidak perlu diubah) Jika h > i, aturan produksi belum benar. Ubah A i pada produksi ini dengan ruas kanan produksi dari variabel A i, sehingga diperoleh produksi dalam bentuk: A h A p (dimana h p) h = p, lakukan penghilangan rekursif kiri h < p, aturan produksi sudah benar

Steps - cont d : Lakukan penghilangan rekursif kiri bila A h A p (dimana h = p) Lakukan substitusi mundur mulai dari variabel A m, lalu A m-1, A m-2,.dengan cara ini aturan produksi dalam bentuk A x A y dapat diubah sehingga ruas kanannya dimulai dengan symbol terminal. Variabel baru yg didapat dari penghilangan rekursif kiri diubah dengan cara substusi untuk menjadi GNF

Contoh: Ubahlah Tata bahasa bebas konteks berikut (sudah dalam bentuk CNF) ke dalam GNF! S CA A a d B b C DD D AB Jawab: Tentukan urutan symbol variabel S<A<B<C<D (bebas) Periksa aturan produksi, apakah sudah memenuhi ketentuan urutan variabel: S CA ( sudah memenuhi karena S<C) C DD ( sudah memenuhi karena C<D) D AB ( tidak memenuhi karena D>A)

Lakukan substitusi pada symbol variabel A, aturan produksi menjadi: D AB D ab db Setelah semua aturan produksi memenuhi ketentuan urutan variabel, lakukan substitusi mundur pada aturan produksi yang belum dalam GNF C DD C abd dbd S CA S abda dbda (Lakukan substitusi dari kanan ke kiri berdasarkan urutan variabel) Hasil akhir aturan produksi dalam GNF: S abda dbda A a d B b C abd dbd D ab db

Ubahlah Tata bahasa bebas konteks berikut (sudah dalam bentuk CNF) ke dalam GNF! A BC B CA b C AB a Jawab: Tentukan urutan symbol variabel A<B<C (bebas) Periksa aturan produksi, apakah sudah memenuhi ketentuan urutan variabel: A BC (sudah memenuhi karena A<B) B CA (sudah memenuhi karena B<C) C AB (tidak memenuhi karena C>A)

Lakukan substitusi pada symbol variabel A, aturan produksi menjadi: C AB C BCB C CACB bcb Teradapat Rekursif kiri pada : C CACB, maka lakukan penghilangan rekursif kiri: C CACB bcb a ( 1 = ACB & 1 = bcb, 2 = a) C 1 Z 1 2 Z 1 Z 1 1 Z 1 1 Z 1

Lakukan substitusi pada symbol variabel A, aturan produksi menjadi: C AB C BCB C CACB bcb Teradapat Rekursif kiri pada : C CACB, maka lakukan penghilangan rekursif kiri: C CACB bcb a ( 1 = ACB & 1 = bcb, 2 = a) C bcbz 1 az 1 Z 1 ACB Z 1 ACB Z 1 Variabel C yang sudah dalam bentuk normal Greibach: C bcb Z 1 a Z 1 bcb a

Setelah semua aturan produksi memenuhi ketentuan urutan variabel, lakukan substitusi mundur pada aturan produksi yang belum dalam GNF B CA b B bcb Z 1 A a Z 1 A bcba aa b A BC A bcb Z 1 AC a Z 1 AC bcbac aac bc (Lakukan substitusi dari kanan ke kiri berdasarkan urutan variabel) Variabel baru yg didapat dari penghilangan rekursif kiri diubah dengan cara substusi untuk menjadi GNF Z 1 ACB Z 1 bcb Z 1 ACCB a Z 1 ACCB bcbaccb aaccb bccb Z 1 ACB Z 1 Z 1 bcb Z 1 ACCBZ 1 a Z 1 ACCBZ 1 bcbaccbz 1 aaccb Z 1 bccbz 1 Hasil akhir aturan produksi dalam GNF: A bcb Z 1 AC a Z 1 AC bcbac aac bc B bcb Z 1 A a Z 1 A bcba aa b C bcb Z 1 a Z 1 bcb a Z 1 bcb Z 1 ACCB a Z 1 ACCB bcbaccb aaccb bccb Z 1 bcb Z 1 ACCBZ 1 a Z 1 ACCBZ 1 bcbaccbz 1 aaccb Z 1 bccbz 1

Ubahlah Tata bahasa bebas konteks berikut ke dalam GNF (sudah dalam bentuk CNF)! 1. S AS a A a 2. S AA d A SS b

Kumpulan aturan produksi dapat dianggap sebagai sistem persamaan linear. Contoh: A BC B CA b C AB a Dapat dilihat sebagai: A = BC B = CA + b C = AB + a Buat matriks dengan persamaan V = VR + S Dimana (n = banyaknya variable dalam tata bahasa) dan: V = vektor baris 1 x n (berisi simbol2 variabel) R = matriks n x n berisi simbol terminal dan variabel (utk mengganti produksi yg diawali dengan variabel) S = vektor baris 1 x n (berisi simbol terminal utk mengganti produksi yang diawali dengan terminal)

Tentukan V,R dan S. V = [ A B C ] R = 0 0 B C 0 0 0 A 0 A = BC B = CA + b C = AB + a S = [ 0 b a ] Persamaan matriksnya. V = VR + S [ A B C ] = [ A B C ] 0 0 B C 0 0 0 A 0 + [ 0 b a ]

Bentuk Persamaan Matriks Baru V = SQ + S Dimana Q = matriks n x n yang berisi simbol variabel2 baru Q = D E F G H I J K L V = [ A B C ] S = [ 0 b a ] Matriksnya berupa: [ A B C ] = [ 0 b a ] D E F G H I + [ 0 b a ] J K L

Dari hasil perkalian matriks didapat persamaan: A = bg + aj B = bh + ak + b C = bi + al + a persamaan (1)

Bentuk Persamaan Matriks Baru Q= RQ + R Dimana Q = matriks n x n yang berisi simbol variabel2 baru Q = D E F G H I J K L R = 0 0 B C 0 0 0 A 0 Matriksnya berupa: D E F G H I J K L = 0 0 B C 0 0 0 A 0 D E F G H I J K L + 0 0 B C 0 0 0 A 0

Dari hasil perkalian matriks didapat persamaan: D = BJ E = BK F = BL + B G = CD + C H = CE I = CF J = AG K = AH + A L = AI persamaan (2)

Substitusi persamaan (1) ke dalam persamaan (2) D =bhj + akj + bj E = bhk + akk + bk F = bhl + akl + bl + bh + ak + b G = bid + ald + ad + bi + al + a H = bie + ale + ae I = bif + alf + af J = bgg + ajg K = bgh + ajh + bg + aj L = bgi + aji persamaan (3)

Hasil akhir aturan produksi dalam bentuk GNF adalah ( pers1 + pers 3): A = bg + aj B = bh + ak + b C = bi + al + a D =bhj + akj + bj E = bhk + akk + bk F = bhl + akl + bl + bh + ak + b G = bid + ald + ad + bi + al + a H = bie + ale + ae I = bif + alf + af J = bgg + ajg K = bgh + ajh + bg + aj L = bgi + aji

Ubahlah Tata bahasa bebas konteks berikut ke dalam GNF dengan menggunakan perkalian matriks. (sudah dalam bentuk CNF)! 1. S AA d A SS b Buktikan bahwa string yang sama dapat di hasilkan oleh kedua cara