1. PENDAHULUAN
Teori Bahasa
Teori bahasa membicarakan tentang bahasa formal (formal language),
terutama untuk perancangan kompilator (compiler) dan pemroses naskah (text
processor).
Bahasa formal adalah kumpulan kalimat.
Semua kalimat dalam sebuah bahasa dibangkitkan oleh sebuah tata bahasa
(grammar).
Otomata (Automata)
Adalah mesin abstrak yang dapat mengenali (recognize), menerima (accept) atau
membangkitkan (generate) sebuah kalimat dalam bahasa tertentu.
2. KONSEP DASAR
String adalah deretan terbatas (finite) simbol-simbol.
String hampa adalah string dengan nol buah simbol
Dalam grammmar, dikenal simbol-simbol, yaitu :
1. Simbol terminal (token)
Adalah symbol-simbol yang dilambangkan dengan huruf kecil, dan
symbol-simbol tersebut sudah tidak dapat diturunkan lagi
Contoh: a, b, c
Contoh:
b. Derivasi kalimat terpendek 1 (semua aturan produksi terlibat, tetapi tidak ada
looping):
S ⇒aAa (1)
⇒aAaa (2)
⇒aba (3)
c. Derivasi kalimat umum (semua aturan produksi terlibat dan ada looping):
S ⇒aAa (1)
⇒aAaa (2)
⇒aAaaa (2)
⇒aAaaaa (2)
…….
⇒aAan (2)
n
⇒aba (3)
Dari pola kedua buah kalimat dapat disimpulkan L(G) = {aban n≥1}
c. Derivasi umum:
S ⇒Ab (1)
⇒Bcb (2)
⇒Cbcb (3)
⇒Cabcb (4)
⇒Caabcb (4)
⇒Caaabcb (4)
……….
⇒aaaabcb (5)
Dari pola kedua buah kalimat dapat disimpulkan L(G) = {an bcb n≥1}
3. G dengan Q = {1. S→A, 2. A→aB, 3. B→C, 4. C→bD, 5. D→A,
6. D→E, 7. E→F, 8. F→bG}
Penyelesaian:
a. Derivasi kalimat terpendek:
S ⇒A (1)
⇒aB (2)
⇒aC (3)
⇒abD (4)
⇒abE (6)
⇒abF (7)
⇒abbG (8)
Latihan soal :
Dari aturan produksi dibawah ini cari derivasi kalimat terpendek dan derivasi kalimat
umum untuk menentukan grammar dari masing-masing kalimat:
Merupakan model matematika yang dapat menerima input dan mengeluarkan output
Memiliki state yang berhingga banyaknya dan dapat berpindah dari satu state ke state
lainnya berdasar input dan fungsi transisi
Contoh 1:
a b a
q0 q1 q2 q3
b
c
q4
q5
δ a b c
q0 q1 ø ø
q1 ø q2 ø
q2 q3 q4 q5
q3 ø ø ø
q4 ø ø ø
q5 ø ø ø
Contoh 2:
Q = {genap, ganjil}
∑ = {0,1}
S = genap
F = ganjil
δ 0 1
Genap genap ganjil
Ganjil ganjil genap
Atau:
δ(genap,0) = genap
δ(genap,1) = ganjil
δ(ganjil,0) = ganjil
δ(ganjil,1) = genap
Jenis FSA:
1. Deterministic State Automata (DFA)
2. Non Determinictic State Automata (NFA)
DETERMINISTIC STATE AUTOMATA (DFA)
Dari suatu state ada tepat satu state berikutnya untuk setiap symbol masukan yang
diterima.
Contoh 1:
Δ a b
q0 q0 q1
q1 q1 q2
q2 q1 q2
δ (q0, a) = q0
δ (q0, b) = q1
δ (q1, a) = q1
δ (q1, b) =q2
δ (q2, a) = q1
δ (q2, b) = q2
contoh 2:
δ 0 1
q0 q2 q1
q1 q3 q0
q2 q0 q3
q3 q1 q2
δ(q0,0) = q2
δ(q0,1) = q1
δ(q1,0) = q3
δ(q1,1) =q0
δ(q2,0) = q0
δ(q2,1) = q3
δ(q3,0) = q1
δ(q3,1) = q2
Latihan soal
1. Gambarkan mesin automata berdasarkan digram fungsi transisi berikut :
Q = {q0, q1,q2,q3, q4 }
∑ = {a,b}
S = q0
F = {q0, q1, q2}
δ 0 1
q0 q0 q1
q1 q0 q2
q2 q0 q3
q3 q3 q4