10/26/2015
1
1-1
Teori Komputasi
Fakultas Teknologi dan Desain Program Studi Teknik Informatika
Bab 4: Grammar dan Bahasa
Agenda.
• Konsep Dasar Grammar dan Bahasa • Grammar dan Klasifikasi Chomsky • Derivasi Kalimat dan Penentuan Bahasa
Grammar dan Bahasa | 2
Konsep Dasar dan Bahasa
• Dalam pembicaraan grammar, anggota alfabet dinamakan simbol terminal atau token.
• Kalimat adalah deretan hingga simbol-simbol terminal. • Bahasa adalah himpunan kalimat-kalimat dan anggota
bahasa bisa tak hingga kalimat.
• Simbol-simbol berikut adalah simbol terminal: • huruf kecil awal alfabet, misalnya: , ,
• simbol operator, misalnya: +, −,dan ×
• simbol tanda baca, misalnya: , ,dan ;
• string yang tercetak tebal, misalnya: , �,dan � .
Grammar dan Bahasa | 3
Konsep Dasar dan Bahasa
• Simbol-simbol berikut adalah simbol non terminal: • huruf besar awal alfabet, misalnya: , , ; • huruf S sebagai simbol awal;
• string yang tercetak miring, misalnya: expr dan stmt. • Huruf besar akhir alfabet melambangkan simbol terminal
atau non terminal, misalnya: , , .
• Huruf kecil akhir alfabet melambangkan string yang tersusun atas simbol-simbol terminal, misalnya: , , .
10/26/2015
2
Konsep Dasar dan Bahasa
• Huruf yunani melambangkan string yang tersusun atas simbol-simbol terminal atau simbol-simbol non terminal atau campuran keduanya, misalnya: , ,dan . • Sebuah produksi dilambangkan sebagai → , artinya:
dalam sebuah derivasi dapat dilakukan penggantian simbol dengan simbol .
• Simbol α dalam produksi berbentuk → disebut ruas kiri produksi sedangkan simbol disebut ruas kanan produksi.
Grammar dan Bahasa | 5
Konsep Dasar dan Bahasa
• Derivasi adalah proses pembentukan sebuah kalimat atau sentensial. Sebuah derivasi dilambangkan sebagai: ⇒ . • Sentensialadalah string yang tersusun atas simbol-simbol
terminal atau simbol-simbol non terminal atau campuran keduanya.
• Kalimat adalah string yang tersusun atas simbol-simbol terminal dan kalimat adalah kasus khusus dari sentensial. • Pengertian terminal (terminate = berakhir) dicapai, jika
sentensial yang dihasilkan adalah sebuah kalimat yang tersusun atas simbol-simbol terminal itu.
Grammar dan Bahasa | 6
Konsep Dasar dan Bahasa
• Pengertian non terminal (not terminate = belum/tidak berakhir), jika sentensial yang dihasilkan masih mengandung simbol non terminal.
• Grammar G didefinisikan sebagai pasangan 4 tuple: VT, VN, S, dan Q, dan dituliskan sebagai G(VT , VN, S, Q), dimana:
VT : himpunan simbol-simbol terminal (atau himpunan
token –token, atau alfabet)
VN : himpunan simbol-simbol non terminal S ∈VN : simbol awal (atau simbol start) Q : himpunan produksi
Grammar dan Bahasa | 7
Grammar dan Klasifikasi Chomsky
• Berdasarkan komposisi bentuk ruas kiri dan ruas kanan produksinya → , Noam Chomsky
mengklasifikasikan 4 tipe grammar:
Grammar dan Bahasa | 8 1 Grammar tipe ke-0: Unrestricted Grammar (UG)
Ciri: , ∈ �� �� ∗, | | > 0
2 Grammar tipe ke-1: Context Sensitive Grammar (CSG)
10/26/2015
3
Grammar dan Klasifikasi Chomsky
Grammar dan Bahasa | 9 3 Grammar tipe ke-2: Contex Free Grammar (CFG)
Ciri: ∈ ��, ∈ ��| �� ∗
4 Grammar tipe ke-3: Regular Grammar (RG)
Ciri: ∈ ��, ∈ {��, ����}, atau
∈ ��, ∈ {��, ���� }
Grammar dan Klasifikasi Chomsky
Analisa Penentuan Type Grammar.
• Contoh:Tentukanlah type grammar G jika G memiliki Q = {S → aB, B → bB, B → b}.
Jawab:
Ruas kiri: Semua produksinya terdiri dari sebuah VN, maka
G kemungkinan tipe CFG atau RG.
Ruas kanan: karena semua produksinya terdiri dari sebuah
VTatau string VTVNmaka G adalah RG.
Grammar dan Bahasa | 10
Grammar dan Klasifikasi Chomsky
•
Latihan 1.
Tentukanlah type grammar G berikut:
1. Grammar G1dengan Q1= {S → Ba, B → Bb, B → b}. 2. Grammar G2dengan Q2= {S → Ba, B → bB, B → b}. 3. Grammar G3dengan Q3= {S → aAb, B → aB}. 4. Grammar G4dengan Q4= {S → aA, S → aB, aAb →
aBCb}.
5. Grammar G5dengan Q5= {aS → ab, SAc → bc}.
Grammar dan Bahasa | 11
Derivasi Kalimat dan Penentuan Bahasa
• Contoh:
Tentukan bahasa dari masing-masing grammar berikut: G dengan Q = {1. S → aAa, 2. A → aAa, 3. A → b}. Jawab:
Derivasi kalimat terpendek: S ⇒aAa (1)
⇒aba (3)
10/26/2015
4
Derivasi Kalimat dan Penentuan Bahasa
Derivasi kalimat umum: S ⇒aAa (1)
⇒aaAaa (2)
⇒...
⇒anAan (2)
⇒anban (3)
Kesimpulan: L(G) = {anban| n ≥ 1}
Grammar dan Bahasa | 13
Derivasi Kalimat dan Penentuan Bahasa
•
Latihan 2.
1. Tentukan derivasi kalimat terpendek dan kalimat umum dari grammar G1dengan Q1= {1. S → aS, 2. S → aB, 3. B → bC, 4. C → aC, 5. C → a}.
2. Tentukan semua derivasi kalimat terpendek dari grammar G2dengan Q2= {1. S → aSBC, 2. S → abC, 3. bB → bb, bC → bc, 5. CB → BC, 6. cC → cc}.
Grammar dan Bahasa | 14
1-15