TEORI BAHASA DAN OTOMATA PERTEMUAN KE 2
GRAMMAR DAN BAHASA GRAMMAR DAN BAHASA
MATERI MINGGU KE MATERI MINGGU KEGRAMMAR DAN BAHASA GRAMMAR DAN BAHASA
MATERI MINGGU KE MATERI MINGGU KE--22
TATA BAHASA TATA BAHASA
TATA BAHASA TATA BAHASA
, anggota alfabet dinamakan simbol simbo-lsimbol terminal. kalimat-kalimat. Anggota bahasa bisa tak
- Dalam pembicaraan tata bahasa, terminal atau token.
- Kalimat adalah deretan hingga simbo
- Bahasa adalah himpunan kalimat hingga kalimat.
TATA BAHASA TATA BAHASA
TATA BAHASA TATA 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,
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 .
TATA BAHASA TATA BAHASA
TATA BAHASA TATA BAHASA
melambangkan simbol terminal atau non melambangkan string yang tersusun atas misalnya : xyz string yang tersusun atas simbol- simbol non terminal atau campuran
- Huruf besar akhir alfabet melambangkan terminal, misalnya : X, Y, Z.
- Huruf kecil akhir alfabet melambangkan simbol-simbol terminal, misalnya
- Huruf yunani melambangkan string simbol terminal atau simbol-simbol keduanya, misalnya : α, β, dan γ.
TATA BAHASA TATA BAHASA TATA BAHASA TATA BAHASA
Sebuah produksi dilambangkan sebagai sebagai α → β, artinya : dalam sebuah
derivasi dapat dilakukan penggantian penggantian simbol α dengan simbol β.α β
Simbol α dalam produksi berbentuk berbentuk α → β. α disebut ruas kiri produksi
sedangkan simbol β disebut ruas kanan kanan produksi.TATA BAHASA TATA BAHASA
TATA BAHASA TATA BAHASA
(yang tersusun atas simbol-simbol terminal itu). terminate (belum/tidak berakhir), maksudnya derivasi dihasilkan mengandung simbol non terminal.
sebuah kalimat atau sentensial. Sebuah derivasi simbol-simbol terminal atau simbol-simbol non atas simbol-simbol terminal, sehingga kalimat berakhir), maksudnya derivasi berakhir jika sentensial
- Derivasi adalah proses pembentukan sebuah dilambangkan sebagai : α⇒β.
- Sentensial adalah string yang tersusun atas simbol terminal atau campuran keduanya.
- Kalimat adalah string yang tersusun atas merupakan kasus khusus dari sentensial.
- Terminal berasal dari kata terminate (berakhir yang dihasilkan adalah sebuah kalimat (yang
- Non Terminal berasal dari kata not terminate belum/tidak berakhir jika sentensial yang dihasilkan
TATA BAHASA TATA BAHASA TATA BAHASA TATA BAHASA
ATURAN PRODUKSIAturan produksi dinyatakan dalam bentuk α → β
- α menghasilkan atau menurunkan β symbol-symbol untuk ruas kanan
- α symbol-symbol untuk ruas kiri, β symbol terminal dan non terminal dimana non terminal
- Symbol-symbol dapat berupa terminal dapat diturunkan menjadi symbol yang symbol yang lainnya.
disymbolkan dengan huruf kecil (a,b,c, dsb),
- Umumnya symbol terminal disymbolkan sedangkan untuk symbol non terminal disymbolkan disymbolkan dengan huruf besar (A,B,C, dsb)
Contoh: T → a “T menghasilkan menghasilkan a” T → E | E + A “ T menghasilkan menghasilkan E atau T menghasilkan E + A
GRAMMAR GRAMMAR GRAMMAR GRAMMAR
Grammar G didefinisikan sebagai pasangan pasangan 4 tuple : V , V , S, dan Q, dan
T N
dituliskan sebagai G(V , V , S, Q), dimana :
T N
: himpunan simbol-simbol simbol terminal (atau himpunan token - token,
- V
T
atau alfabet) : himpunan simbol-simbol simbol non terminal
- V
N
: simbol awal (atau simbol simbol start)
- S V
N
: himpunan produksi
- Q
Contoh :
G : V = {a}, V = {S}, Q= {S aS aS a}
1 T N
S aS aaS aaa
L(G )={a, aa, aaa, aaaa,…}
1 n
GRAMMAR GRAMMAR GRAMMAR GRAMMAR
Tipe sebuah grammar (atau bahasa) ditentukan dengan
aturan sebagai berikut :A language is said to be type type-i (i = 0, 1, 2, 3) language if it
can be specified by a type type-i grammar but can’t be specified any type-(i+1) grammar grammar.HIRARKI CHOMSKY HIRARKI CHOMSKY HIRARKI CHOMSKY HIRARKI CHOMSKY
Ada 4(empat) kelas pengelompokan suatu suatu bahasa, yang dikenal dengan “Chomsky
Hierarchy”. Hirarki atau tingkatan bahasa bahasa ini dikembangkan oleh Noam Chomsky
pada tahun 1959.Berdasarkan komposisi bentuk ruas kiri dan dan ruas kanan produksinya ( ), Noam Chomsky mengklasifikasikan 4 tipe grammar grammar :
HIRARKI CHOMSKY HIRARKI CHOMSKY HIRARKI CHOMSKY HIRARKI CHOMSKY
1. Grammar tipe ke-0 : Unrestricted Grammar (UG) 0 : Unrestricted Grammar (UG) | V )*, |α|> 0 α, β ∈ (V T N
Ciri : Tidak ada batasan pada aturan produksi produksi Mesin pengenal bahasa disebut : Mesin Turing 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
HIRARKI CHOMSKY HIRARKI CHOMSKY HIRARKI CHOMSKY HIRARKI CHOMSKY
| V )*, 0 < |α α| ≤ |β| α, β ∈ (V T N Ciri : Panjang string ruas kiri harus < (lebih kecil ) atau = (sama dengan) ruas kanan.
Mesin pengenal bahasa disebut : Linear Bounded Bounded Automata (LBA) 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
HIRARKI CHOMSKY HIRARKI CHOMSKY HIRARKI CHOMSKY HIRARKI CHOMSKY
|V |V )* N T N α ∈ V , β ∈ (V
Ciri : Ruas kiri haruslah tepat satu symbol variabel variabel, yaitu simbol non terminal Mesin pengenal bahasa disebut : Push Down Automata (PDA) 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
HIRARKI CHOMSKY HIRARKI CHOMSKY HIRARKI CHOMSKY HIRARKI CHOMSKY
Regular Grammar (RG) Regular Grammar (RG)
4. Grammar tipe ke-3 : , V V } atau , V V }
α ∈ V N , β ∈ {V T T N atau α ∈ V N , β ∈ {V T N T
Ciri :Ruas kiri hanya memiliki maksimal satu symbol non terminal
- Ruas kiri hanya memiliki maksimal satu symbol non terminal
- α adalah simbol nonterminal tunggal simbol non terminal tunggal dan
- maksimal memiliki maksimal satu simbol ditempatkan pada posisi paling kanan.
Mesin pengenal bahasa disebut : Finite State Automata (FSA) 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 | 1B
Contoh Analisa Contoh Analisa Penentuan Penentuan Type Type
Grammar Grammar Grammar Grammar
1. Grammar G dengan Q = {S → aB, B → , B → bB, B → b}.
1
1
terdiri dari sebuah V maka G kemungkinan
- Ruas kiri semua produksinya terdiri
N
1 tipe CFG atau RG.
terdiri dari sebuah V atau string V V maka
- Karena semua ruas kanannya terdiri
T T N G1 adalah RG.
2. Grammar G dengan Q = {S Ba, B Bb, B b}.
2
2
terdiri dari sebuah V maka G kemungkinan
- Ruas kiri semua produksinya terdiri
N
2 tipe CFG atau RG.
kanannya terdiri dari sebuah V atau string
- Selanjutnya karena semua ruas kanannya
T
V V maka G adalah RG
N T
2
Penentuan Penentuan Type Type
Grammar Grammar
→ aB, aAb → aBCb}.3. Grammar G
yang panjangnya lebih dari 1 (yaitu aAb) atau UG pendek atau sama dengan ruas kananya
Contoh Contoh Analisa Analisa
Grammar Grammar
3 dengan Q
3 = {S → aA, S →
- Ruas kirinya mengandung string yang maka G
kemungkinan tipe CSG atau
- karena semua ruas kirinya lebih pendek maka G
3
adalah CSG
4. Grammar G
4 = {aS → ab, SAc
SAc) maka G
4 adalah UG.
3
SAc → bc}
yang panjangnya lebih dari 1 maka G
- Ruas kirinya mengandung string kemungkinan tipe CSG atau UG
- Karena terdapat ruas kirinya yang lebih
4
lebih panjang daripada ruas kananya (yaitu
4 dengan Q
DERIVASI KALIMAT DAN PENENTUAN BAHASA DERIVASI KALIMAT DAN PENENTUAN BAHASA DERIVASI KALIMAT DAN PENENTUAN BAHASA DERIVASI KALIMAT DAN PENENTUAN BAHASA
Tentukan bahasa dari masing-masing gramar gramar berikut : 1. G dengan Q = {1. S aAa, 2. A aAa aAa, 3. A b}.
1
1 Jawab :
Derivasi kalimat terpendek : Derivasi kalimat umum : S aAa (1) S aAa (1)
aba (3) aaAaa (2)
n n
a Aa (2)
n n
a ba (3)
n n Dari pola kedua kalimat disimpulkan : L (G (G ) = {a ba n 1}
1
1
DERIVASI KALIMAT DAN PENENTUAN BAHASA DERIVASI KALIMAT DAN PENENTUAN BAHASA DERIVASI KALIMAT DAN PENENTUAN BAHASA DERIVASI KALIMAT DAN PENENTUAN BAHASA
2. G dengan Q = {1. S aS, 2. S aB aB, 3. B bC, 4. C aC, 5. C a}.2
2 Jawab :
Derivasi kalimat terpendek : Derivasi kalimat umum : S aB (2) S aS aS (1)
abC (3)
n- -1
aba (5) a S (1)
n
a B B (2)
n
a bC bC (3)
n
a baC baC (4)
n m-1
a ba ba C (4)
n m
a ba ba (5)
n m
DERIVASI KALIMAT DAN PENENTUAN BAHASA DERIVASI KALIMAT DAN PENENTUAN BAHASA
3. G
3 dengan Q
3 = {1. S aSBC, 2. S abC cC 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
DERIVASI KALIMAT DAN PENENTUAN BAHASA DERIVASI 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)
Menentukan Grammar Menentukan Grammar Grammar Sebuah Grammar Sebuah Bahasa Bahasa
n1. Tentukan sebuah gramar regular untuk bahasa bahasa L = { a n 1}
1 Jawab :
Q (L ) = {S aSa}
1
1
2. Tentukan sebuah gramar bebas konteks untuk bahasa L : himpunan bilangan
2
bulat non negatif ganjil Jawab : Langkah kunci : digit terakhir bilangan harus harus ganjil.
Buat dua buah himpunan bilangan terpisah terpisah : genap (G) dan ganjil (J) Q (L ) = {S JGSJS, G 02468, J 8, J 13579}
2
2
Menentukan Grammar Menentukan Grammar Grammar Sebuah Grammar Sebuah Bahasa Bahasa
3. Tentukan sebuah gramar bebas konteks untuk bahasa :
L = himpunan semua identifier yang sah sah menurut bahasa pemrograman Pascal
3 dengan batasan : terdiri dari simbol huruf huruf kecil dan angka, panjang identifier boleh lebih dari 8 karakter
Jawab : Langkah kunci : karakter pertama identifier identifier harus huruf.
Buat dua himpunan bilangan terpisah : huruf huruf (H) dan angka (A) Q (L ) = {S HHT, T ATHTHA,
3
3 H abc…, A 012…}
Menentukan Grammar Menentukan Grammar Grammar Sebuah Grammar Sebuah Bahasa Bahasa
4. Tentukan gramar bebas konteks untuk bahasa bahasa
n m
Q (L ) = {a b n,m 1, n m}
4
4 Jawab :
Langkah kunci : sulit untuk mendefinisikan mendefinisikan L (G ) secara langsung. Jalan keluarnya
4
4 adalah dengan mengingat bahwa x y berarti berarti x > y atau x < y. n m n m L = L L , L ={a b n > m 1}, L = {a b b 1 n < m}.
4 A B A B
Q (L ) = {A aAaC, C aCbab}, Q(L ) = = {B BbDb, D aDbab}
A A B
Q (L ) = {S AB, A aAaC, C aCbab ab, B BbDb, D aDbab}
4
4
Menentukan Grammar Menentukan Grammar Grammar Sebuah Grammar Sebuah Bahasa Bahasa
5. Tentukan sebuah gramar bebas konteks untuk bahasa : L = bilangan bulat non negatif genap. Jika Jika bilangan tersebut terdiri dari dua digit
5 atau lebih maka nol tidak boleh muncul muncul sebagai digit pertama.
Jawab : Langkah kunci : Digit terakhir bilangan harus harus genap. Digit pertama tidak boleh nol.
Buat tiga himpunan terpisah : bilangan bilangan genap tanpa nol (G), bilangan genap dengan nol (N), serta bilangan ganjil (J). .
Q (L ) = {S NGAJA, A NNAJA,
5
5 G 2468, N 02468 , J 13579}
TERIMAKASIH TERIMAKASIH Lilis Setyowati