GRAMMAR DAN BAHASAGRAMMAR DAN BAHASA
MATERI MINGGU KEMATERI MINGGU KE
GRAMMAR DAN BAHASAGRAMMAR DAN BAHASA
MATERI MINGGU KEMATERI MINGGU KE--22
TATA BAHASATATA BAHASA
• Dalam pembicaraan tata bahasa,terminal atau token.
• Kalimat adalah deretan hingga simbo
• Bahasa adalah himpunan kalimathingga kalimat.
11 Maret 2015 Teori Bahasa dan Otomata
TATA BAHASATATA BAHASA
, anggota alfabet dinamakan simbol
simbo-lsimbol terminal.
kalimat-kalimat. Anggota bahasa bisa tak
Teori Bahasa dan Otomata
22
TATA BAHASATATA BAHASA• Simbol-Simbol Terminal:
huruf kecil awal alfabet, misalnya
simbol operator, misalnya
simbol tanda baca, misalnya
string yang tercetak tebal
• Simbol-Simbol Non Terminal:
huruf besar awal alfabet,
huruf S sebagai sebagai
String yang tercetak miring,
11 Maret 2015 Teori Bahasa dan Otomata
TATA BAHASATATA BAHASA
misalnya : a, b, c
misalnya : +, −, dan ×
misalnya : ( ) ,, dan ;
tebal, misalnya : if, then dan else
Non Terminal:
, misal: A, B, C
simbol awal
miring, misalnya : expr dan stmt.
Teori Bahasa dan Otomata
33
TATA BAHASATATA BAHASA
• Huruf besar akhir alfabet melambangkanterminal, misalnya : X, Y, Z.
• Huruf kecil akhir alfabet melambangkansimbol-simbol terminal, misalnya
• Huruf yunani melambangkan stringsimbol terminal atau simbol-simbolkeduanya, misalnya : α, β, dan γ.
11 Maret 2015 Teori Bahasa dan Otomata
TATA BAHASATATA BAHASA
melambangkan simbol terminal atau non
melambangkan string yang tersusun atasmisalnya : xyz
string yang tersusun atas simbol-simbol non terminal atau campuran
Teori Bahasa dan Otomata
44
TATA BAHASATATA BAHASA
Sebuah produksi dilambangkan sebagaiderivasi dapat dilakukan penggantian
Simbol α dalam produksi berbentuksedangkan simbol β disebut ruas kanan
11 Maret 2015 Teori Bahasa dan Otomata
α
TATA BAHASATATA BAHASA
sebagai α → β, artinya : dalam sebuahpenggantian simbol α dengan simbol β.
berbentuk α → β. α disebut ruas kiri produksikanan produksi.
Teori Bahasa dan Otomata
55
β
TATA BAHASATATA BAHASA• Derivasi adalah proses pembentukan sebuah
dilambangkan sebagai : α⇒β.
• Sentensial adalah string yang tersusun atas simbolterminal atau campuran keduanya.
• Kalimat adalah string yang tersusun atasmerupakan kasus khusus dari sentensial.
• Terminal berasal dari kata terminate (berakhiryang dihasilkan adalah sebuah kalimat (yang
• Non Terminal berasal dari kata not terminatebelum/tidak berakhir jika sentensial yang dihasilkan
11 Maret 2015 Teori Bahasa dan
TATA BAHASATATA BAHASAsebuah kalimat atau sentensial. Sebuah derivasi
simbol-simbol terminal atau simbol-simbol non
atas simbol-simbol terminal, sehingga kalimat
berakhir), maksudnya derivasi berakhir jika sentensial(yang tersusun atas simbol-simbol terminal itu).
terminate (belum/tidak berakhir), maksudnya derivasidihasilkan mengandung simbol non terminal.
dan Otomata
66
TATA BAHASATATA BAHASAATURAN PRODUKSI
Aturan produksi dinyatakan dalam bentuk
• α menghasilkan atau menurunkan β
• α symbol-symbol untuk ruas kiri, β symbol
• Symbol-symbol dapat berupa terminal dapat diturunkan menjadi symbol yang
• Umumnya symbol terminal disymbolkansedangkan untuk symbol non terminal disymbolkandsb)
Contoh:
T → a “T menghasilkan
T → E | E + A “ T menghasilkan
11 Maret 2015 Teori Bahasa dan Otomata
TATA BAHASATATA BAHASA
α → β
symbol-symbol untuk ruas kanan
terminal dan non terminal dimana non terminal symbol yang lainnya.
disymbolkan dengan huruf kecil (a,b,c, dsb), disymbolkan dengan huruf besar (A,B,C,
menghasilkan a”
menghasilkan E atau T menghasilkan E + A
Teori Bahasa dan Otomata
77
GRAMMARGRAMMARGrammar G didefinisikan sebagai pasangandituliskan sebagai G(VT , VN , S, Q), dimana
• VT : himpunan simbol-simbol
atau alfabet)
• VN : himpunan simbol-simbol
• S VN : simbol awal (atau simbol
• Q : himpunan produksi
Contoh :
G1 : VT = {a}, VN = {S}, Q= {S aS
S aS
aaS
aaa
L(G1)={a, aa, aaa, aaaa,…}
L(G1) ={an n ≥ 1}
11 Maret 2015 Teori Bahasa dan Otomata
GRAMMARGRAMMARpasangan 4 tuple : VT , VN , S, dan Q, dan
:
simbol terminal (atau himpunan token - token,
simbol non terminal
simbol start)
aSa}
Teori Bahasa dan Otomata
88
GRAMMARGRAMMAR
Tipe sebuah grammar (atauaturan sebagai berikut :
A language is said to be typecan be specified by a typespecified any type-(i+1) grammar
11 Maret 2015 Teori Bahasa dan Otomata
GRAMMARGRAMMAR
bahasa) ditentukan dengan
type-i (i = 0, 1, 2, 3) language if ittype-i grammar but can’t be
grammar.
Teori Bahasa dan Otomata
99
HIRARKI CHOMSKYHIRARKI CHOMSKYAda 4(empat) kelas pengelompokan suatuHierarchy”. Hirarki atau tingkatan bahasapada tahun 1959.
Berdasarkan komposisi bentuk ruas kiri danChomsky mengklasifikasikan 4 tipe grammar
11 Maret 2015 Teori Bahasa dan Otomata
HIRARKI CHOMSKYHIRARKI CHOMSKYsuatu bahasa, yang dikenal dengan “Chomsky
bahasa ini dikembangkan oleh Noam Chomsky
dan ruas kanan produksinya ( ), Noamgrammar :
Teori Bahasa dan Otomata
1010
HIRARKI CHOMSKYHIRARKI CHOMSKY
1. Grammar tipe ke-0 : Unrestricted Grammar (UG)
Ciri : Tidak ada batasan pada aturan produksi
Mesin pengenal bahasa disebut : Mesin Turing
Contoh :
• Abc → De
• G = (V, T, P, S)
V = {S, A, B, G}
T = {a, b,d}
Q : S aSa
A bdG
AB a
11 Maret 2015 Teori Bahasa dan Otomata
α, β ∈ (VT | VN)*, |α|> 0
HIRARKI CHOMSKYHIRARKI CHOMSKY
0 : Unrestricted Grammar (UG)
produksi
Turing
Teori Bahasa dan Otomata
1111
HIRARKI CHOMSKYHIRARKI CHOMSKY2. Grammar tipe ke-1 : Context Sensitive Grammar (CSG)
Ciri : Panjang string ruas kiri harus < (lebih kecil
Mesin pengenal bahasa disebut : Linear Bounded
Contoh :
G = {V, T, P, S}
V = {S, B, C}
T = {a, b, c}
Q : S aSBC | aBC |
CB BC
aB ab
bB bb
bC bc
cC cc
Keterangan : S , karena S adalah simbolpanjang S = 1 dan panjang = 0
11 Maret 2015 Teori Bahasa dan Otomata
α, β ∈ (VT | VN)*, 0 < |α
HIRARKI CHOMSKYHIRARKI CHOMSKY1 : Context Sensitive Grammar (CSG)
) atau = (sama dengan) ruas kanan.
Bounded Automata (LBA)
simbol awal, maka ini juga memenuhi Walau
Teori Bahasa dan Otomata
1212
α| ≤ |β|
HIRARKI CHOMSKYHIRARKI CHOMSKY3. Grammar tipe ke-2 : Context Free Grammar (CFG)
Ciri : Ruas kiri haruslah tepat satu symbol variabel
Mesin pengenal bahasa disebut : Push Down Automata (PDA)
Contoh :
G = {V, T, P, S}
V = {S, A, B}
T = {a, b}
Q : S aB | bA
A a | aS | bAA
B b | bS | aBB
11 Maret 2015 Teori Bahasa dan Otomata
α ∈ VN, β ∈ (VT|V
HIRARKI CHOMSKYHIRARKI CHOMSKY2 : Context Free Grammar (CFG)
variabel, yaitu simbol non terminal
Push Down Automata (PDA)
Teori Bahasa dan Otomata
1313
|VN)*
HIRARKI CHOMSKYHIRARKI CHOMSKY4. Grammar tipe ke-3 : Regular Grammar (RG)
Ciri : • Ruas kiri hanya memiliki maksimal satu symbol non terminal• α adalah simbol nonterminal tunggal• maksimal memiliki maksimal satu simbol
ditempatkan pada posisi paling kanan.Mesin pengenal bahasa disebut : Finite State Automata (FSA)Contoh :
G = (V, T, P, S)V = {S, A, B}T = {0, 1}Q : S 0A | 1B | 0
A 0A | 0S | 1BB 1B | 1 | 0 |
11 Maret 2015 Teori Bahasa dan Otomata
α ∈ VN, β ∈ {VT, VT VN} atau
HIRARKI CHOMSKYHIRARKI CHOMSKYRegular Grammar (RG)
Ruas kiri hanya memiliki maksimal satu symbol non terminal
simbol non terminal tunggal dan
Finite State Automata (FSA)
Teori Bahasa dan Otomata
1414
atau α ∈ VN, β ∈ {VT, VN VT}
ContohContoh AnalisaAnalisaGrammarGrammar
1. Grammar G1 dengan Q1 = {S → aB, B →
• Ruas kiri semua produksinya terdiritipe CFG atau RG.
• Karena semua ruas kanannya terdiriG1 adalah RG.
2. Grammar G2 dengan Q2 = {S Ba, B
• Ruas kiri semua produksinya terdiritipe CFG atau RG.
• Selanjutnya karena semua ruas kanannyaVN VT maka G2 adalah RG
11 Maret 2015 Teori Bahasa dan Otomata
PenentuanPenentuan Type Type GrammarGrammar
, B → bB, B → b}.
terdiri dari sebuah VN maka G1 kemungkinan
terdiri dari sebuah VT atau string VT VN maka
Bb, B b}.
terdiri dari sebuah VN maka G2 kemungkinan
kanannya terdiri dari sebuah VT atau string
Teori Bahasa dan Otomata
1515
ContohContoh AnalisaAnalisaGrammarGrammar
3. Grammar G3 dengan Q3 = {S → aA, S →
• Ruas kirinya mengandung string yangmaka G3 kemungkinan tipe CSG atau
• karena semua ruas kirinya lebih pendekmaka G3 adalah CSG
4. Grammar G4 dengan Q4 = {aS → ab, SAc
• Ruas kirinya mengandung stringkemungkinan tipe CSG atau UG
• Karena terdapat ruas kirinya yang lebihSAc) maka G4 adalah UG.
11 Maret 2015 Teori Bahasa dan Otomata
PenentuanPenentuan Type Type GrammarGrammar
→ aB, aAb → aBCb}.
yang panjangnya lebih dari 1 (yaitu aAb)atau UG
pendek atau sama dengan ruas kananya
SAc → bc}
yang panjangnya lebih dari 1 maka G4
lebih panjang daripada ruas kananya (yaitu
Teori Bahasa dan Otomata
1616
DERIVASI KALIMAT DAN PENENTUAN BAHASADERIVASI KALIMAT DAN PENENTUAN BAHASA
Tentukan bahasa dari masing-masing gramar
1. G1 dengan Q1 = {1. S aAa, 2. A aAa
Jawab :
Derivasi kalimat terpendek :
S aAa (1)
aba (3)
Dari pola kedua kalimat disimpulkan : L1 (G
11 Maret 2015 Teori Bahasa dan Otomata
DERIVASI KALIMAT DAN PENENTUAN BAHASADERIVASI KALIMAT DAN PENENTUAN BAHASA
gramar berikut :
aAa, 3. A b}.
Derivasi kalimat umum :
S aAa (1)
aaAaa (2)
anAan (2)
anban (3)
(G1) = {anban n 1}
Teori Bahasa dan Otomata
1717
DERIVASI KALIMAT DAN PENENTUAN BAHASADERIVASI KALIMAT DAN PENENTUAN BAHASA
2. G2 dengan Q2 = {1. S aS, 2. S aB
Jawab :
Derivasi kalimat terpendek :
S aB (2) S aS
abC (3)
aba (5) an-
anB
anbC
anbaC
anba
anba
Dari pola kedua kalimat disimpulkan : L (G
11 Maret 2015 Teori Bahasa dan Otomata
DERIVASI KALIMAT DAN PENENTUAN BAHASADERIVASI KALIMAT DAN PENENTUAN BAHASA
aB, 3. B bC, 4. C aC, 5. C a}.
Derivasi kalimat umum :
aS (1)
-1S (1)
B (2)
bC (3)
baC (4)
bam-1C (4)
bam (5)
: L (G2)={ anbam n 1, m1}
Teori Bahasa dan Otomata
1818
DERIVASI KALIMAT DAN PENENTUAN BAHASADERIVASI KALIMAT DAN PENENTUAN BAHASA
3. G3 dengan Q3 = {1. S aSBC, 2. S abCcC cc}.
Jawab :
Derivasi kalimat terpendek 1: Derivasi
S abC (2) S aSBC
abc (4) aaSBCBC
Derivasi kalimat terpendek 2 : aaabCBCBC
S aSBC (1) aaabBCCBC
aabCBC (2) aaabBCBCC
aabBCC (5) aaabBBCCC
aabbCC (3) aaabbBCCC
aabbcC (4) aaabbbCCC
aabbcc (6) aaabbbcCC
aaabbbccC
aaabbbccc
Dari pola ketiga kalimat disimpulkan : L3 (G3) =
11 Maret 2015 Teori Bahasa dan Otomata
DERIVASI KALIMAT DAN PENENTUAN BAHASADERIVASI KALIMAT DAN PENENTUAN BAHASA
abC, 3. bB bb, 4. bC bc, 5. CB BC, 6.
Derivasi kalimat terpendek 3 :
aSBC (1)
aaSBCBC (1)
aaabCBCBC (2)
aaabBCCBC (5)
aaabBCBCC (5)
aaabBBCCC (5)
aaabbBCCC (3)
aaabbbCCC (3)
aaabbbcCC (4)
aaabbbccC (6)
aaabbbccc (6)
= { anbncn n 1}
Teori Bahasa dan Otomata
1919
MenentukanMenentukan Grammar Grammar
1. Tentukan sebuah gramar regular untuk bahasa
Jawab :
Q1 (L1) = {S aSa}
2. Tentukan sebuah gramar bebas konteksbulat non negatif ganjil
Jawab :
Langkah kunci : digit terakhir bilangan harus
Buat dua buah himpunan bilangan terpisah
Q2 (L2) = {S JGSJS, G 02468, J
11 Maret 2015 Teori Bahasa dan Otomata
Grammar Grammar SebuahSebuah BahasaBahasa
bahasa L1 = { an n 1}
untuk bahasa L2 : himpunan bilangan
harus ganjil.
terpisah : genap (G) dan ganjil (J)
8, J 13579}
Teori Bahasa dan Otomata
2020
MenentukanMenentukan Grammar Grammar
3. Tentukan sebuah gramar bebas konteks
L3 = himpunan semua identifier yang sahdengan batasan : terdiri dari simbol hurufboleh lebih dari 8 karakter
Jawab :
Langkah kunci : karakter pertama identifier
Buat dua himpunan bilangan terpisah : huruf
Q3 (L3) = {S HHT, T ATHTHA,
H abc…, A 012…}
11 Maret 2015 Teori Bahasa dan Otomata
Grammar Grammar SebuahSebuah BahasaBahasa
untuk bahasa :
sah menurut bahasa pemrograman Pascalhuruf kecil dan angka, panjang identifier
identifier harus huruf.
huruf (H) dan angka (A)
Teori Bahasa dan Otomata
2121
MenentukanMenentukan Grammar Grammar
4. Tentukan gramar bebas konteks untuk bahasa
Q4 (L4) = {anbmn,m 1, n m}
Jawab :
Langkah kunci : sulit untuk mendefinisikanadalah dengan mengingat bahwa x y berarti
L4 = LA LB , LA ={anbmn > m 1}, LB = {anb
QA(LA) = {A aAaC, C aCbab}, Q(LB) =
Q4 (L4) = {S AB, A aAaC, C aCbab
11 Maret 2015 Teori Bahasa dan Otomata
Grammar Grammar SebuahSebuah BahasaBahasa
bahasa
mendefinisikan L4 (G4) secara langsung. Jalan keluarnyaberarti x > y atau x < y.
bm1 n < m}.
= {B BbDb, D aDbab}
ab, B BbDb, D aDbab}
Teori Bahasa dan Otomata
2222
MenentukanMenentukan Grammar Grammar
5. Tentukan sebuah gramar bebas konteks
L5 = bilangan bulat non negatif genap. Jikaatau lebih maka nol tidak boleh muncul
Jawab :
Langkah kunci : Digit terakhir bilangan harusBuat tiga himpunan terpisah : bilangandengan nol (N), serta bilangan ganjil (J).
Q5 (L5) = {S NGAJA, A NNAJA,
G 2468, N 02468
11 Maret 2015 Teori Bahasa dan Otomata
Grammar Grammar SebuahSebuah BahasaBahasa
untuk bahasa :
Jika bilangan tersebut terdiri dari dua digitmuncul sebagai digit pertama.
harus genap. Digit pertama tidak boleh nol.bilangan genap tanpa nol (G), bilangan genap
.
, J 13579}
Teori Bahasa dan Otomata
2323
11 Maret 2015 Teori Bahasa dan Otomata
TERIMAKASIH
Teori Bahasa dan Otomata
2424
TERIMAKASIHLilis Setyowati