Transcript Pertemuan 6

TEORI BAHASA
&
AUTOMATA
Pertemuan 6
CFG / Tata Bahasa Bebas Konteks
Pada tata bahasa bebas konteks tidak terdapat pembatasan
hasil produksinya.
Batasan ruas kiri adalah sebuah simbol variabel.
Contoh :
CFG : B → CDeFg
D → BcDe
Pd bhs regular, bagian yg belum terturunkan tsb selalu terjadi
pd suatu ujung.
Pd bhs bebas konteks/CFG bisa terdapat lebih banyak bagian yg
belum terturunkan itu, dan bisa terjadi dimana saja.
Bhs bebas konteks mjd dasar dlm pembentukan suatu parser /
proses analisis sintaksis.
Tree : suatu graph terhubung tidak sirkuler, yg memiliki
satu simpul (node) / vertex disebut akar (root) dan situ
memiliki lintasan setiap simpul.
 Pohon penurunan berguna untuk menggambarkan
bagaimana memperoleh suatu string (untai) dgn cara
menurunkan simbol2 variabel mjd simbol2 terminal
sampai tdk ada yg belum tergantikan.
Misal : Bhs bebas konteks
S → AB
A → aA | a
B → bB | b

Digambar pohon penurunan utk untai : ‘aabbb’
S
Simbol awal menjadi root.
A
a
B
A
a
b
Setiap kali penurunan dipilih
aturan produksi yg menuju
ke solusi.
B
b
B
b
Proses penurunan / parsing :
 Penurunan terkiri / leftmost
derivation : simbol variabel paling
kiri yg diperluas terlebih dulu.

Penurunan terkanan / rightmost
derivation : simbol variabel
terkanan yg diperluas dulu.
CONTOH :
S → aAS | a
A → SbA | ba
Untuk memperoleh untai :’aabbaa’
 Penurunan terkiri : S → aAS → aSbAS → aabAS → aabbaS
→ aabbaa
 Penurunan terkanan : S → aAS → aAa → aSbAa → aSbbaa
→ aabbaa
S
a
S
A
S b
a
A
b
a
a
LATIHAN :
S → aB | bA
A → a | aS | bAA
B → b | bS | aBB
Utk untai ‘aaabbabbba’
AMBIGUITAS
Terjadi bila terdapat lebih dari 1 pohon penurunan yg
berbeda utk memperolah suatu untai.
Contoh :
S→A|B
A→a
B→a
Utk untai : ‘a’ terdapat 2 cara penurunan :
S→A→a
S→B→a
S → SbS | ScS | a
Utk untai : ‘abaca’ terdapat 2 cara penurunan :
S → SbS → abS → abScS → abacS → abaca
S → ScS → SbScS → abScS → abacS → abaca
S
S
a
b
s
S
S c
a
S
a
S
a
S
c
b
S
a
S
a
LATIHAN :
S → aAd | aB
A→b|c
B → ccd | ddc
Utk memperoleh untai : ‘accd’
Buktikan bahwa tata bahasa bebas konteks berikut ambigu :
S → aB | bA
A → a | aS | bAA
B → b | bS | aBB
Untuk memperoleh untai : ‘aabbab’