1. CFG & CFL
• STIKOM Artha Buana
• Teknik Informatika
• 2014
Ir. Ahmad Haidaroh, M.Kom.
2. Sentensial
• Turunan (derivation) yang masih memiliki
variabel (non-terminal) disebut dengan
bentuk sentensial.
• Contoh:
S Ab
A adalah Non Terminal
3. Contoh Sentensial
• Dari aturan produksi (P):
S A1 | 0B
A 0
B 1
• S A1 merupakan bentuk sentensial dari P.
• S 0B merupakan bentuk sentensial dari P.
• Karena A dan B bukanlah Non Terminal
5. Contoh Sentens
• Dari aturan produksi (P):
S A1 | 0B
A 0
B 1
• S A1 01 merupakan sentens dari P.
• S 0B 01 merupakan sentens dari P.
6. Pohon Penurunan (ParseTree)
• Turunan dapat juga dinyatakan
dalam bentuk tree/pohon.
• Sebagai root adalah simbol awal (S).
root
nodenode
7. Pohon Penurunan (ParseTree)
• Turunan dapat juga dinyatakan
dalam bentuk tree/pohon.
• Sebagai root adalah simbol awal (S).
• Node dapat berupa terminal atau
variabel.
S
nodenode
8. Pohon Penurunan (ParseTree)
• Turunan dapat juga dinyatakan
dalam bentuk tree/pohon.
• Sebagai root adalah simbol awal (S).
• Node dapat berupa terminal atau
variabel.
• Variabel harus diturunkan
sampai membentuk terminal.
S
aA
9. Pohon Penurunan (ParseTree)
• Turunan dapat juga dinyatakan
dalam bentuk tree/pohon.
• Sebagai root adalah simbol awal (S).
• Node dapat berupa terminal atau
variabel.
• Variabel harus diturunkan
sampai membentuk terminal.
S
aA
a
10. Contoh:
G = ({S, A}, {a,b}, P, S)
P adalah:
S aAS
S a
A SbA
A SS
A ba
Salah satu turunannya adalah aabbaa, buktikan
dengan parse tree!
13. Latihan No.1
Diketahui suatu CFG,
G = ({S}, {a,b}, P, S)
dengan P:
S aSb
S aSbb
S
a. Buatlah bentuk sentens dari aabbb!
b. Gambarkan parse tree untuk aabb!
14. Latihan No.2
Diketahui aturan produksi suatu CFG,
S 0A | 1B
A 0AA | 1S | 1
B 1BB | 0S | 0
a. Tuliskan quadruple dari CFG ini!
b. Buatlah derivation dari 001101 (LM dan RM)
c. Gambarkan parse tree untuk masing-masing
derivation tersebut (LM dan RM)!
15. Latihan No.3
Diketahui aturan produksi suatu CFG,
S AB | CD
A 0A1 | 01
B 2B | 2
C 0C | 0
D 1D2 | 12
a. Tuliskan quadruple dari CFG ini!
b. Buatlah derivation dari 012 (LM dan RM)
c. Gambarkan parse tree untuk masing-masing
derivation tersebut (LM dan RM)!
16. Diketahui grammar G = {I H | IH | IA, H a|b|c|...|z, A 0|1|2|...|9}
dengan I adalah simbol awal.
Latihan No.4
Berikut ini kedua cara analisa sintaks untuk kalimat x23b.
I IH
IAH
IAAH
HAAH
xAAH
x2AH
x23H
x23b
cara 1 (Derivasi) cara 2 (Parsing)
17. Latihan No.5
Diketahui grammar G = {S SOS|A , O *|+, A 0|1|2|...|9}
Kalimat : 2*3+7 mempunyai dua pohon sintaks berikut :
Sebuah kalimat yang mempunyai lebih dari satu pohon
sintaks disebut kalimat ambigu
S SOS
A
O *
+
A 0
1
2
3
…..
18. Diketahui Grammar {S → S + S | S * S | angka,
angka → 0 |1 |2 |3 |… |9}
Latihan No.6
kalimat ambigu
S S + S
S * S
angka
Angka 0
1
2
3
…..
19. Latihan No.6
• Karena hasil keduanya tidak sama maka tidak
dapat diimplementasikan pada pelajaran
matematika.
• Untuk menyempurnakannya maka diberi tanda
kurung = UNAMBIGOUS
S → (S + S) | (S * S) | angka
angka → 0 |1 |2 |3 …….| 9
20. Contoh
• CFG
S → a S | S a | a
bentuk tree dari kata aaa
Ambiguous
24. Contoh Implementasi
Diberikan Rule Grammar sebagai berikut
1. S → x
2. S → y
3. S → z
4. S → S + S
5. S → S - S
6. S → S * S
7. S → S / S
8. S → (S)
Diberikan string ( x + y ) * x – z * y / ( x + x )
25. Contoh Implementasi
( x + y ) * x – z * y / ( x + x )
1. S → x
2. S → y
3. S → z
4. S → S + S
5. S → S - S
6. S → S * S
7. S → S / S
8. S → (S)
Rules