Disusun Oleh:
Nama:
Kelas: IF51
Teori Bahasa
Teori bahasa membicarakan bahasa formal (formal language). Terutana untuk
kepentingan perancngan kompilator (compiler) dan pemroses naskah (text processor).
1. Bahasa formal adalah kumpulan kalimat
2. Semua kalimat dalam sebuah bahasa dibangkitkan oleh sebuah tatabahasa (grammar)
yang sama.
3. Bahasa manusia bersifat sebaliknya : grammar diciptakan untuk meresmikan kata-kata
yang hidup dimasyarakat, kata-kata yang pembicaraan selanjutnya bahasa formal disebut
bahasa saja
4. Automata adalah mesin abstrak yang mengenali (recognize), menerima (accept), atau
membangkitkan (generate) sebuah kalimat dalam bahasa tertentu.
5. Untuk memodelkan hardware dari computer diperkenalkan otomata, otomata berfungsi
dari computer digital mereima input, menghasilkan output, bisa memiliki penympnangan
sementara dan mampu membuat keputusan dalam mentransfomasikan input ke output
6. Otomata merupakan system yang terdiri atas sejumlah berhingga state, dimana state
menyatkan informasi mengenai input yang lalu dan dapat dianggap sebagai memori
system mesin
7. Input pada mesin otomata dianggap sebagai bahasa yang harus dikenal oleh mesin
selanjutnya mesin otomata membuat keputusan yang mengindikasikan apakah input itu
diterima atau ditolak
1.
Q={q0, q1, q2, q3}
∑={0, 1}
S= q0 1
F=q0 q0 1 q1
₷ fungsi transisinya
₷ (q0,0) =q2 0 0
₷ (q0,1) =q1
₷ (q1,0) =q3
₷ (q1,1) =q0 0 0
₷ (q2,0) =q0 1
q2 q3
₷ (q2,1) =q3 1
₷ (q3,0) =q1
₷ (q3,1) =q2
2.
₷ a b
q0 q1 q2
q1 q2 q0
q2 q2 q2
a
a q1 b
q0 a q2
b b
3.
₷ a B
q0 q0 q1
q1 q0 q2
q2 q0 q3
q3 q0 q2
q1
Q = {q0, q1, q2, q3} a b
∑ = {a, b}
S = q0 a
F = {q0, q1, q2} q0 a b q2
a b
q3
4.
₷ 0 1
q0 q2 q1
q1 q3 q0
q2 q0 q3
q3 q1 q2
LM =1101
= q1, q0, q2, q3 (ditolak)
LM =0101
= q2, q3, q1, q0 (diterima)
LM =1001
= q1, q3, q1, q0 (diterima)
5.
₷ a b
q0 q1 q1
q1 q1 q0
LM =aaa
= q0, q0, q0 (ditolak)
LM =bbbb
=q1, q0, q1, q0 (ditolak)
LM =abbab
=q0, q1, q0, q0, q1 (diterima)
Tugas 4
1. 0,1
q.4
0 0 q.3
q.0
1 1
q.1 0,1
q2
2. 1 0 0 1 0 = Diterima
q.0 q.1
= ditolak
q.0 q.1
0 0,1
4. A. 0 0 1
q.0 q.1
= ditolak
b.10
c.110
0 q1
0
q0 0 1 0,1
q2 1 q4
0 1
1
q3
q1,q2,q3
6. 0 0,1
q0
0,1 q1,q2,q3 1 q4
Q = {q0,q1}
∑ = {0,1}
S = q0
F ={q1}
Note: setiap hasil transisi dianggap menjadi satu state yang baru
₷ 0 1
q0 {q0,q1} {q1}
q1 {q0,q1}
0 {q0,q1}
q0
1
1 {q3}
.
₷ 0 1
q0 {q0,q1} {q1}
q1 - {q0,q1}
{q0,q1} {q0,q1} {q0,q1}
{q0,q1}
.
q0
1
1
{q1}
2.NFA
₷ a B
q0 Ø Ø
∑ = {a,b}
a,b
a,b
q0 Ø
3.NFA
Q = {p,q,r,s}
∑ = {0,1}
S=p
F = {p,s}
₷ 0 1
P {q,s} {q}
Q {r} {q,r}
R {s} {p}
S - {p}
{q,s} {r} {p,q,r}
{q,r} {r,s} {p,q,r}
{p,q,r} {q,r,s} {p,q,r}
{r,s} {s} {p}
{q,r,s} {r,s} {p,q,r}
1
0 0 {r}
{q,s}
p
1 1 {p,q,r}
1
{q,r}
{r,s} 1 0
{q,r,s}
{s} 0
b
q3 q4
2.NFA dengan E-move E
1.
₷ 0
q0 {q0}
q1 Ø
2.
E-Closure
E-Cl (q0) = {q0,q1}
E-Cl (q1) = {q1}
3.E-Closure
₷ (q0,0) = E-Cl(₷ (E-Cl(q0),0)) ₷(q1,0) = E-Cl(₷ (E-Cl(q1),0))
= E-Cl (q0) = E-Cl (Ø)
= {q0,q1} =Ø
₷ 0
q0 {q0,q1}
Q1 Ø
5. 0
q0 0 q1
Penggabungan dan konkatenasi finite stete automata
m1 => rancangan 1
m2 => rancangan 2
m3 => penggabngan/union
m4 => konkatenasi
m1
0
1
Qa0 qA1
m2
1
qB0 qB1
0
0
m3 = penggabungan (m3)
- tambahkan state awal baru pada m3(qs)
hubungkan dengan state dari m1 dan m2
-tambahkan state akhir baru pada m3 (qf)
0
E qA0 1 qA
1
qs 1 E
qf
1
qB0 qB1
E 0 E
m4 = konkatenasi (m4)
-state awal di m1 menjadi state awal di m4
-hubungkan state-state akhir m1 dengan state awal m2
-menentukan state akhir dim2
0 1
1 qB0 1
qA0 qA1 qB1
0
Tugas Ekspresi Regular
1. 0 1 0.1
1 0
q0 q1 q2
ER = 0*11*0(0,1)*
jawab:
0 ER = 0
q0
1 1 ER = 11
q1
1 0,1 ER = 0 (0,1)*
0 q2
q1
2.
0 1 1
1 0 1
q0 q1 q2 q3
0
0
ER = 01*10*11*11*0*
jawab:
0 1 1 0 1 1 ER = 01*10*11*
q2 q3
q0 q1
1
1 ER = 11*
q2 q3
0 ER = 0*
q3 q0
3.
0 0
0 1
1 1 0
1
ER = (0*0)*1*(1*1)*
jawab:
0 ER = (0*0)*
q0 q1
0
1 ER = 1*
q0 q2
1
q2 q1 ER = (1*1)*
1
4.FSA (11+0)*(00+1)*
q0 q2
1 0
1 0 1
q1 q3
0
5.FSA 10+(0+11)0*1
1
q0 q1
1
0
0
1 q2
q3
6.
0
q0
0 1
1 q1
q2
ER = (01*00)*00*
Jawab:
0
q0 1 q1 0 q2 ER = (01*00)*
0
0 0
q2 q0 ER = 00*
7.FSA c*(a∪bc)*
c a
q1
q0
c
b
q2
E 1
q0 q1
Tugas Pohon Penurunan Bahasa Bebas Konteks
A A A A
A A A A b A b A
b
b A b A A b a A A A A
b
a a a b A
a a
A A
b A b A
A A A a
A
a b a
a
2. Untuk tata bahasa bebas konteks berikut?
S aAd | aB
A B|C
B ccd | ddc
accd
Jawab:
a B
c d
c
A B
S
b
A a
A B
B
b
b B a
a
4. Untuk tata bahasa bebas konteks berikut?
S Ba | Ab
A Sa | Aab | a
B Sb | Bba | b
bbaaabb
jawab:
A b
A A b
S a
a
B A
B B a
b b
b B
S
a
B
a
b B B
b b
1. S AB l CA
B BC l AB
A a
C aB l b
S CA
A a
C b
S
C A
b a
2. S aS l A l C
A a S A
B aa A a
C aCb
A a
3. S A
A aA l €
B bA
S
S aAl = S A
A a= A € A
B bA a
S aA a
A a
4. S Aa l B
B A l bb S
A a l bc l B
A
a
S Aa
A a l bc b c
5. S AbaC l BaC l AaC l Aba l aC l Aa l Ba l a
A B l C l BC
B b
C D
D d
6. S Aac l aC l Aa l a S
A C l AB l A l B
B b A C
C d a
B
S AaC l Aa
A B d
b s
B b
C d
7. S AbaC
A Bd
B bl€
C Dl€
D Bca
Simbiol variabel yang nullable adalah
S AbaC
C Dl€
S Aab l aaB
B bbA l €
9. S aS / SS l €
S SS
S SS
10. S a l aA l B l C
A aB l € aA = A €
B Aa
C cCD
D ddd
S a l a l aA l B l c
A aB l €
B Aa
C cCd
D ddd
11. S aB l aaB l bA
A € aB = A €
B bA
B € bA = B €
S a l a l aa l aB l aaB l b l bA
A aB l €
B Aa
C cCD