Jumat, 17 April 2020

TATA BAHASA BEBAS KONTEKS (POHON PENURUNAN)

Teori Bahasa dan Automata
Tata Bahasa Bebas Konteks (Pohon Penurunan)

Tata bahasa bebas konteks adalah suatu cara yang bagaimana menunjukkan bagaimana menghasilkan untai – untai dalam sebuah bahasa.

Parsing
Pohon (tree) adalah suatu graph terhubung tidak sirkuler, yang memiliki satu simpul (node) yang disebut akar 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 yang belum tergantikan.
Proses penurunan atau parsing bisa dilakukan dengan cara :
1.        Penurunan terkiri (leftmost derivation): simbol variabel terkiri yang diperluas terlebih dahulu.
2.        Penurunan terkanan (right derivation): simbol variabel terkanan yang diperluas terlebuh dahulu.
Misal, aturan produksi :
 aAS | a
 SbA | ba
Untuk memperoleh untai “aabbaa” :
Simbol () dibaca menurunkan
·           Dengan penurunan terkiri :
 S  aA aSbAS  aabA aabbaS  aabbaa
·           Dengan penurunan terkanan :
 S  aA aA aSbAa  aSbbaa  aabbaa
Meskipun proses penurunan berbeda, namun akan tetap memiliki pohon penurunan yang sama.
Pohon Penurunan



Contoh 1
Buatlah pohon penurunan dari himpunan produksi dibawah ini untuk membangkitkan string dengan susunan“bbabaaba” :
 AA
 AAA | a | bA| Ab
Penyelesaian :
Untuk memperoleh untai “bbabaaba” dari tata bahasa bebas konteks diatas (simbol ‘’ dibaca menurunkan) :
·           Dengan penurunan terkiri :
 S  A AAAA  bAAAA  bbAAAA  bbaAAA  bbabAAA  bbabaA bbabaaA    bbabaabA  bbabaaba
·           Dengan penurunan terkanan :
 S  AA  Ab Aba  AAAba  AAaba  AbAaba  Abaaba  bAbaaba  bbAbaaba  bbabaaba
Meskipun proses penurunan berbeda, namun akan tetap memiliki pohon penurunan yang sama.
Pohon Penurunan





Contoh 2
Buatlah pohon penurunan dari himpunan produksi dibawah ini untuk membangkitkan string dengan susunan “baabaab”
 AB
 Aa | bB
 a | Sb
Penyelesaian :
Untuk memperoleh untai “baabaab” dari tata bahasa bebas konteks diatas (simbol ‘=>’ dibaca menurunkan) :
·           Dengan penurunan terkiri :
 S  A AaB  bBaB  baa baaS baaABb  baabBBb  baabaBb  baabaab
·           Dengan penurunan terkanan :
 S  AB  AS AAB AAab  AbBab  Abaab  Aabaab  bBabaab   baabaab
Meskipun proses penurunan berbeda, namun akan tetap memiliki pohon penurunan yang sama.
Pohon Penurunan




Contoh 3
Buatlah pohon penurunan dari himpunan produksi dibawah untuk membangkitkan string dengan susunan “bbaaaabb” :
 Ba | Ab
 Sa | Aab| a
 Sb| Bba| b
Penyelesaian :
Untuk memperoleh untai “bbaaaabb” dari tata bahasa bebas konteks diatas (simbol ‘=>’ dibaca menurunkan) :
·           Dengan penurunan terkiri :
 S  Ab Aabb Saabb Baaabb Bbaaaabb bbaaaabb
·           Dengan penurunan terkanan :
 S  Ab Aabb Saabb Baaabb Bbaaaabb bbaaaabb
Pohon Penurunan






Ambiguitas
Terjadi bila terdapat lebih dari satu pohon penurunan yang berbeda utuk memperoleh suatu untai.
Misal terdapat tata bahasa bebas konteks :
 SbS | ScS | a
Untuk memperoleh untai ‘abaca’
Pohon Penurunan
Cara pertama :
 SbS  SbScS  SbSca  Sbaca  abaca




Cara kedua :
 ScS  SbScS  abScS  abacS  abaca




Contoh soal
Aturan produksi :
 AB | C
 aAb | ab
 cBd | cd
 aCd | aDd
 bDc | bc
Untuk memperoleh untai ‘aabbccdd’
Pohon Penurunan
Cara pertama :
 A aAbA  aabbA  aabbcB aabbccdd




Cara kedua :
 C  aC aaDdd  aabDcdd  aabbccdd





Berikut video penjelasan tentang Tata Bahasa Bebas Konteks (Pohon Penurunan) : 



Semoga artikel dan video ini dapat membantu dalam mengerjakan soal-soal tentang Tata Bahasa Bebas Konteks (Pohon Penurunan). Mohon maaf bila ada kesalahan dalam penulisan dan ucapan. Karena kesalahan hanya milik manusia dan kebenaran hanya milik Allah swt. Terima kasih☺️

Daftar Pustaka : 
Materi 6 Tata Bahasa Bebas Konteks (Pohon Penurunan) Dosen  pengampu Teori Bahasa dan Automata : Garno, M.Kom Fakultas Ilmu Komputer Universitas Singaperbangsa Karawang. 
Apranolo.tif.uad.ac.id. Tata Bahasa Bebas Konteks diakses melalui 
http://apranolo.tif.uad.ac.id/wp-content/uploads/2014/12/TBA_TID_Kelompok-7_TATA-BAHASA-BEBAS-KONTEKS.pdf
Kelasqta.files.wordpress.com. Teori Bahasa dan Automata Pohon Penurunan Context Free Grammar diakses melalui https://kelasqta.files.wordpress.com/2013/01/chapter-10-tbo.pdf

Tidak ada komentar:

Posting Komentar