Teori Bahasa

Download Report

Transcript Teori Bahasa

Teori
Bahasa
Yenni astuti, S.T., M.Eng
[email protected]
Outline
• Elemen – Elemen Bahasa.
• Bahasa dan Tata Bahasa.
• Penggabungan Bahasa.
Tata
Bahasa
Alfabet
Himpunan
terhingga dari
token-token
Himpunan
aturan yang
berlaku
Semantik
Bahasa
Himpunan
aturan yang
didefinisikan
Token, Alfabet, dan String
Huruf, angka, simbol
Himpunan terhingga dari
token-token
Deretan elemen yang
berasal dari anggota alfabet
Panjang String
• Panjang string : banyaknya token
yang membentuk string.
• Dinotasikan dengan cardinal number.
• Contoh : string “otomata” memiliki
panjang string 7.
Himpunan String – 1
Himpunan string yang mempunyai
panjang satu atau lebih dinotasikan
dengan +
Himpunan String - 2
+
 
{} = *
Bahasa & Tata Bahasa
• Terminal dan Nonterminal
• Aturan Produksi
• Kelas – kelas Tata Bahasa
• Bentuk Sentenensial dan Jenis Bahasa
Terminal & Nonterminal
• Terminal : setiap anggota dari alfabet.
• Nonterminal : himpunan string yang
bukan elemen alfabet.
Aturan Produksi &
Tata Bahasa
Bentuk umum :
xy
• x, y = string dalam himpunan terminal
dan nonterminal
• x≠
2 Sifat Penting Tata Bahasa
1. Simbol Terminal dan Simbol
Nonterminal adalah disjoint .
2. Setiap aturan produksi harus memuat
paling sedikit satu simbol
nonterminal pada anggota bagian
kiri.
Tata Bahasa terdiri dari 4 Tupel
G = (N, , P, S)
• N : himpunan simbol nonterminal
•  : himpunan simbol terminal (alfabet)
• P : himpunan aturan produksi
• S : simbol awal anggota dari N
Kelas Tata Bahasa
Menurut Noam Chomsky
Tipe-3
Tipe-2
Tipe-1
Tipe-0
Kelas Tata Bahasa
Kelas
Grammar
Language
Otomaton
Turing-
Turing Machine
recognizable
(TM)
Context-
Context-
Linear-bounded
sensitive
sensitive
(LBA)
Tipe-0 Unrestricted
Tipe-1
Tipe-2 Context-Free Context Free
Pushdown
Tipe-3 Regular
Finite
Regular
Langkah Penurunan
• Aturan produksi x → y
• Pada string wxz,
langkah penurunan wxz  wyz
• Satu atau lebih langkah penurunan
diberi simbol +
Ketentuan Penurunan
1. Penurunan memerlukan simbol
nonterminal awal.
2. Penurunan dapat berhenti ketika
tercapai suatu string yang hanya
memuat simbol terminal
Bentuk Sentenensial
string wxz dan wyz disebut dengan
bentuk sentenensial
Sentence
merupakan bentuk sentenensial yang
hanya terdiri dari simbol terminal.
Grammar dan Bahasa
Diberikan suatu grammar:
G = {N, , P, S}
Maka Language dari grammar tersebut:
L(G) = {x | x *, dan S +x}
Context-Sensitive Grammar
Aturan produksi:
x→y
Dengan x, y  (N  )*
Syarat:
1. x memuat paling sedikit satu anggota N.
2. |x| ≤ |y| artinya y tidak boleh empty.
Contoh Context-Sensitive Grammar
G1 = ({S, B, C}, {a, b, c}, P, S)
P:
1. S → aSBC
2. S → abC
3. CB → BC
4. bB → bb
string yang dihasilkan
5. bC → bc
oleh grammar :
6. cC → cc
aabbcc
Context-Free Grammar
Aturan produksi:
X→y
Dengan x  N, y  (N  )*
:: y dapat berupa empty (himpunan kosong).
Setiap CFG dengan aturan produksi x → 
bukan merupakan Context-Sensitive
Grammar
Contoh CFG
G2 = ({E, T, F}, {+, *, (, ), d}, P, E)
P:
1. E → E + T
2. E → T
3. T → T*F
4. T → F
string yang dihasilkan
5. F → (E)
oleh grammar :
6. F → d
d+d
Regular Grammar
Aturan produksi:
A → aB atau A → a atau S → 
Dengan A,B  N, a  
Contoh Regular Grammar
Aturan Produksi :
1. S → dB
7.
B → dB
2. S → +A
8.
B → H
3. S → -A
9.
B→d
4. S → G
10. G → dH
5. A → dB
11. H → dH
6. A → G
12. H → d
string yang dihasilkan oleh grammar : ddddd
Penggabungan Bahasa
(Concatenating Language)
Operasi penggabungan string
(concatenation) dapat digunakan untuk
menggabungkan dua bahasa.
Definisi – 1
• Concatenation dua bahasa A dan B,
yang dinotasikan dengan AB, adalah
bahasa yang terdiri dari semua string
dalam bentuk ab,
• dengan a  A, dan b  b
Definisi – 2
• Union (gabungan) dua bahasa A dan
B, yang dinotasikan dengan A  B,
adalah bahasa yang terdiri dari semua
anggota A atau anggota B.
Definisi – 3
• Suatu bahasa adalah REGULAR jika
ada finite state automata yang dapat
menerima bahasa tersebut.