Pohon penurunan Pertemuan 9 8 1 Tata Bahasa
Pohon penurunan Pertemuan 9
8. 1. Tata Bahasa Bebas Konteks Bila pada tata bahasa reguler terdapat pembatasan pada ruas kanan atau hasil produksinya, maka pada tata bahasa konteks (context free grammer), selanjutnya kita sebut CFG, tidak terdapat pembatasan hasil produksinya. Seperti halnya pada tata bahasa reguler, sebuah CFG adalah suaatu cara yang menunjukkan bagaimana menghasilkan untai-untai dalam sebuah bahasa.
Pada saat menurunkan suatu string, simbol-simbol variabel akan mewakili bagian-bagian yang belm terturunkan dari string tersbut. Pada tata bahasa reguler : bagian yang belum terturunkan tsb selalu terjadi pada suatu ujung. Pada tata bahasa bebas konteks: bisa terdapat lebih banyak bagian yang belum terturunkan dan bisa terjadi dimana saja. Ketika penurunan itu telah lengkap, semua bagian yang belum terturunkan telah diganti oleh string (yang mungkin sja kosong) dari himpunan simbol terminal.
8. 2. Parsing Sebuah pohon (tree) adalah suatu graph terhubung tida sirkuler, yang memiliki satu simpul (node) / vertex yang disebut akar (root) dan dari situ memiliki lintasan ke setiap simpul. Pohon penurunan (derivation tree/parse tree) berguna untuk menggambarkan bagaimana memperoleh suatu string (untai) dengan cara menurunkan simbol-simbol variabel menjadi simbol-simbol terminal. Setiap simbol variabel akan diturunkan menjadi terminal, sampai tidak ada yag belum tergantikan
Misalnya, terdapat tata bahasa bebas konteks dengan aturan produksi sbb: S AB A a B b akan kita gambarkan pohon penurunan untuk memperoleh untai: ‘aabbb’ S A a B A a b B b
Proses penurunan atau parsing bisa dilakukan dengan cara sbb: Penurunan terkiri (leftmost derivation): simbol variabel terkiri yang diperluas terlebih dahulu. Penurunan terkanan (rightmost derivation): simbol variabel terkanan yang diperluas terlebih dahulu.
Misal, terdapat tata bahasa bebas konteks: S a. AS |a A Sb. A ba Untuk memperoleh untai ‘aabbaa’ dari tata bahasa bebas konteks diatas adalah: Dengan penurunan terkiri: S a. AS a. Sb. AS aabbaa Dengan penurunan terkanan: S a. Aa a. Sbbaa aabbaa
S A a S b A b a a Gambar 8. 2. Pohon Penurunan untuk untai ‘aabbaa’
8. 3. Ambiguitas/kedwiartian terjadi bila terdapat lebih dari satu pohon penurunan yang berbeda untuk memperoleh suatu untai. Misalkan terdapat tata bahasa bebas konteks sb: S A B A a B a Untuk memperoleh untai ‘a’ bisa terdapat dua cara penurunan, yaitu: S A a S B a
Contoh lain, terdapat tata bahasa konteks: S Sb. S Sc. S a Coba anda tentukan cara untuk menurunkan untai ‘abaca’. Dan buatkanlah pohon penurunannya.
Latihan Soal
1. Ciri-ciri sebuah pohon adalah: …. kecuali: a. simpul d. vertex b. akar e. berarah c. tidak sirkuler 2. Proses yang digunakan untuk menggambarkan bagaimana memperoleh suatu string (untai) dengan cara menurunkan simbol-simbol variabel menjadi simbol terminal adalah: a. derivation tree d. ekspresi reguler b. ambiguitas e. ekspresi bebas konteks c. grammar
2. Proses yang digunakan untuk menggambarkan bagaimana memperoleh suatu string (untai) dengan cara menurunkan simbol-simbol variabel menjadi simbol terminal adalah: a. derivation tree d. ekspresi reguler b. ambiguitas e. ekspresi bebas konteks c. grammar 3. Proses penuruna sering juga disebut: a. tree d. ambiguitas b. vertex e. root c. parsing
3. Proses penuruna sering juga disebut: a. tree d. ambiguitas b. vertex e. root c. parsing 4. Bila terjadi lebih dari satu pohon penurunan dalam memperoleh sebuah untai, disebut dengan: a. tree d. ambiguitas b. vertex e. root c. parsing
4. Bila terjadi lebih dari satu pohon penurunan dalam memperoleh sebuah untai, disebut dengan: a. tree d. ambiguitas b. vertex e. root c. parsing 5. Yang merupakan suatu graph adalah: a. FSA d. tree b. ekspresi reguler e. string (untai c. aturan produksi
5. Yang merupakan suatu graph adalah: a. FSA d. tree b. ekspresi reguler e. string (untai c. aturan produksi 1. Ciri-ciri sebuah pohon adalah: …. kecuali: a. simpul d. vertex b. akar e. berarah c. tidak sirkuler
- Slides: 16