NIM : 21120110027
Prodi : Sistem Informasi (Malam) Smt_4
Jawaban Teknik Kompilasi
Halaman 1
1. Automata disini adalah NFA (Nondeterministic Finite Automaton) karena memiliki lebih
dari satu transisi keluar dari satu state untuk simbol yang sama. Dalam hal ini, state q0
memiliki dua transisi keluar untuk simbol 0 dan state q1 memiliki dua transisi keluar untuk
simbol 1.
3. Berikut adalah representasi NFA-ε (Nondeterministic Finite Automaton with ε-moves)
yang memenuhi kondisi L(M) = L(r) dengan r = a*b+ab*:
Halaman 2
1. Berikut merupakan bahasa non reguler kecuali
a. L = {a2,a3,a5,…}
b. L = {10,11,101,111,1011,1101,10001,…}
c. L = {anbn| n ≥ 0}
d. L = {a2,a5,a8…}
Halaman 3
2. Diberikan ekspresi reguler : misalkan
r = ( b + ab * a )* ab *b ( a + b )*
Tuliskan dalam bahasa reguler dan tentukan dfa yang menerima bahasa reguler tersebut!
Untuk menulis ekspresi tersebut dalam bahasa reguler, kita perlu menguraikan setiap
bagian ekspresi dan mengubahnya menjadi operator reguler yang sesuai. Berikut adalah
penjabaran langkah demi langkah:
( b + ab * a ) -> Bagian ini akan menerima semua string yang mengandung b atau
string yang diawali dengan ab diikuti oleh nol atau lebih a (a*), diikuti oleh a. Dalam
bahasa reguler, dapat ditulis sebagai: (b + ab*a).
ab * b -> Bagian ini akan menerima semua string yang diawali dengan ab, diikuti oleh
nol atau lebih b (b*). Dalam bahasa reguler, dapat ditulis sebagai: ab*b.
( a + b )* -> Bagian ini akan menerima semua string yang terdiri dari nol atau lebih a
atau b. Dalam bahasa reguler, dapat ditulis sebagai: (a + b)*.
Setelah menguraikan ekspresi menjadi bagian-bagian yang lebih sederhana, kita dapat
menggabungkannya untuk membentuk bahasa reguler keseluruhan:
r = ( b + ab * a )* ab b ( a + b )
= (b + aba)(abb)(a + b)*
DFA:
(q1, a) -> q2
(q1, b) -> q1
(q2, a) -> q2
(q2, b) -> q3
(q3, a) -> q4
(q3, b) -> q1
(q4, a) -> q5
(q4, b) -> q6
(q5, a) -> q5
(q5, b) -> q6
(q6, a) -> q7
(q6, b) -> q1