1. Perhatikan tata bahasa G1 = ({S}, {+, e}, P, S) dengan produksi P sebagai berikut:
S→S+S|e
tata bahasa G1 tersebut adalah tata bahasa
a. Type-3 c. type-1
b. Type-2 d. type-0
2. Salah satu kata (string/untai/kalimat) anggota bahasa yang dibentuk dari tata bahasa
G1 pada soal no.1 adalah:
a. ee + ee b. e + e + e c. a dan b benar d. a dan b salah
3. Kata yang bukan merupakan anggota bahasa yang dibentuk oleh tata bahasa G1 pada
soal no.1 adalah
a. ee + ee b. e + e + e c. a dan b benar d. a dan b salah
4. Salah satu bentuk sentensial dari tata bahasa G1 pada soal no.1 adalah
a. e + S + S b. SS + SS c. S → e d. ee + ee
6. Derivasi untuk kata e + e + e dari tata bahasa G1 pada soal no.1 adalah
a. S ➔ S + S ➔ S + S + S ➔ e + S + S ➔ e + e + S ➔ e + e + e
b. S ➔ S + S ➔ e + S ➔ e + S + S ➔ e + e + S ➔ e + e + e
c. S ➔ S + S ➔ S + S + S ➔ S + S + e ➔ S + e + e ➔ e + e + e
d. a, b, dan c benar semua
7. Pohon derivasi untuk kata e + e + e dari tata bahasa G1 pada soal no.1 adalah
a. S b. S
S + S S + S
S + S e e S + S
e e e e
1 of 15
c. a dan b salah
d. a dan b benar
8. Berdasarkan jawaban pada soal no.7, maka tata bahasa G1 pada soal no.1 adalah
a. Tata bahasa bentuk normal Chomsky
b. Tata bahasa yang tidak ambigous
c. Tata bahasa yang mempunyai unit-production
d. Tata bahasa yang ambigous
9. Perhatikan tata bahasa G2 = ({S, A, B, C}, {a, b}, P, S) dengan P sebagai berikut:
S → aS | SS | bA
A → BB
B → CC | ab | aAbC
C→
Variabel yang nullable dari tata bahasa G2 tersebut adalah
a. {S, A, B, C} c. {A, B, C}
b. { C} d. { }
10. Tata bahasa G3 yang ekivalen dengan G2 pada soal no.9 yang tidak mengandung
produksi hampa adalah
a. G3 = ({S, A, B}, {a,b}, P’, S} dengan P’ = { S → aS | SS | bA , A → BB,
B→ab|aAb }
b. G3 = ({S, B}, {a,b}, P’, S} dengan P’ = { S → aS | SS , B→ ab }
c. G3 = ({S, A, B}, {a,b}, P’, S} dengan P’ = { S → aS | SS | bA | b, A → BB | B,
B→ ab | aAb }
d. G3 = ({S}, {a,b}, P’, S} dengan P’ = { S → aS | SS }
11. Tata bahasa G4 yang ekivalen dengan G2 pada soal no.9 yang tidak mengandung
produksi hampa dan produksi unit (unit production) adalah
a. G4 = ({S, A, B}, {a,b}, P’, S} dengan P’ = { S → aS | SS | bA , A → BB,
B→ab|aAb }
b. G4 = ({S, B}, {a,b}, P’, S} dengan P’ = { S → aS | SS , B→ ab }
c. G4 = ({S}, {a,b}, P’, S} dengan P’ = { S → aS | SS }
d. G4 = ({S, A, B}, {a,b}, P’, S} dengan P’ = { S → aS | SS | bA | b, A → BB | ab |
aAb, B→ ab | aAb }
12. Tata bahasa G5 dalam bentuk normal Chomsky yang ekivalen dengan G2 pada soal
no.9 adalah
a. G5 = ({S, A, B, D, E}, {a,b}, P’, S} dengan P’ = { S → DS | SS | EA , A → BB,
B→DE|DF , D → a , E → b, F → AE }
b. G5 = ({S, B, D, E}, {a,b}, P’, S} dengan P’ = { S → DS | SS , B→ DE, D → a ,
E→ b}
c. G5 = ({S, D}, {a,b}, P’, S} dengan P’ = { S → DS | SS , D → a}
2 of 15
d. G5 = ({S, A, B, D, E, F}, {a,b}, P’, S} dengan P’ = { S → DS | SS | EA | b, A →
BB | DE | DF, B→ DE | DF, D → a , E → b , F → AE }
13. Jika variabel tidak-berguna (useless) adalah variabel yang tidak aktif (live) maupun
tidak dapat dicapai dari simbol awal, maka tata-bahasa G6 yang tidak mengandung
variabel yang tidak-berguna yang ekivalen dengan G2 pada soal no.9 adalah
a. G6 = ({S, A, B}, {a,b}, P’, S} dengan P’ = { S → aS | SS | bA , A → BB,
B→ab|aAb }
b. G6 mewakili bahasa B(G6) =
c. G6 = G2
d. G6 = S, B}, {a,b}, P’, S} dengan P’ = { S → aS | SS | ab }
14. Perhatikan pushdown automata (PDA) P = ({q0, q1}, {a, b}, { a, b, Z}, q0, Z, F,
{q0}} dengan F sebagai berikut
F(q0, a, Z) = (q1, aZ)
F(q1, a, a ) = (q1, a a )
F(q1, b, a ) = (q1, )
F(q1, , Z) = (q0, Z)
Konfigurasi yang benar setelah konfigurasi awal untuk string/kata/kalimat ab jika
diinputkan pada pushdown automata P adalah:
a. (q0, ab, Z) |- (q1, b, Z)
b. (q0, ab, Z) |- (q1, b, aZ)
c. (q0, ab, Z) |- (q1, b, a)
d. (q0, ab, Z) |- (q1, b, Za)
15. Konfigurasi yang benar setelah konfigurasi (q1, b, aZ) pada PDA P pada soal no.14
adalah
a. (q1, , aZ) c. (q1, , )
b. (q1, , Z) d. (q1, , bZ)
17. Urutan konfigurasi yang benar untuk string aabb jika diinputkan ke mesin pushdown
automata P pada soal no.14 adalah
a. (q0, aabb, Z) |- (q1, abb, aZ) |- (q1, bb, aZ) |- (q1, b, )
b. (q0, aabb, Z) |- (q1, abb, aZ) |- (q1, bb, aZ) |- (q1, bb, Z) |- (q0, bb, Z)
c. (q0, aabb, Z) |- (q1, abb, aZ) |- (q1, bb, aaZ) |- (q1, b, aZ) |- (q1, , Z) |- (q0, ,
Z)
d. (q0, aabb, Z) |- (q1, abb, Z) |- (q1, bb, a) |- (q1, b, )
3 of 15
18. String aabb, oleh PDA P pada soal no.14
a. PDA P tidak dapat memtuskan (looping)
b. ditolak
c. diterima dalam keadaan stack kosong
d. diterima dalam keadaan berhenti di state penerima
19. String berikut yang diterima oleh PDA P pada soal no.14 adalah
a. abab c. bb
b. aa d. a
20. String berikut yang ditolak (tidak diterima) oleh PDA P pada soal no.14 adalah
a. aabb c. ab
b. abab d. a
21. Perhatikan mesin Turing T = ({0,1, 2, 3}, {a, b}, {a, b}, 0, , 3) dengan sebagaima
diagram transisi berikut: (catatan: adalah tape symbol untuk blank)
a/a, R
22. Berdasarkan mesin Turing T pada soal no.21, maka string baaab
a. ditolak
b. diterima
c. tidak di kenal
d. menyebabkan T loop terus menerus
24. Pushdown automata (PDA) P1 yang ekivalen dengan (mengenal bahasa yang dibentuk
oleh) tata bahasa G1 = ({S}, {+, e}, , S) dengan produksi berikut: {S → S + S | e }
adalah
a. P1 = ({q}, {+, e} , { Z, +, e}, , q, Z) dengan sebagai berikut:
(q, e, Z) = {(q, eZ)}
4 of 15
(q, +, +) = {(q, +)}
(q, e, e) = {(q, )}
untuk yang lainnya
b. P1 = ({q}, {+, e} , { S, +, e}, , q, S) dengan sebagai berikut:
(q, e, S) = {(q, eS)}
(q, +, +) = {(q, +)}
(q, e, e) = {(q, e)}
untuk yang lainnya
c. P1 = ({q}, {+, e} , { S, +, e}, , q, S) dengan sebagai berikut:
(q, , S) = {(q, S + S), (q, e)}
(q, +, +) = {(q, )}
(q, e, e) = {(q, )}
untuk yang lainnya
d. P1 = ({q}, {+, e} , { S, +, e}, , q, S) dengan sebagai berikut:
(q, e, S) = {(q, eS), (q, )}
(q, +, +) = {(q, +)}
(q, e, e) = {(q, )}
untuk yang lainnya
25. Perhatikan bahasa B(G1) yang dibentuk dari tata bahasa G1 = ({S}, {+, e}, , S)
dengan produksi sebagai berikut: {S → S + S | e}
Pernyataan berikut yang benar mengenai bahasa B(G1) adalah
a. pasti terdapat pushdown automata yang dapat mengenalnya
b. pasti terdapat linear-bounded automaton yang dapat mengenalnya
c. pasti terdapat mesin Turing yang dapat mengenalnya
d. a, b, dan c benar semuanya
27. Misalkan G dan G1 masing-masing adalah Context Free Grammar dengan produksi :
S→ S+S S*S (S) a
dan
S→ S+T T ; T→ T*F F ; F→ (S) a
5 of 15
c. maka bahasa(G) ≥ bahasa(G1)
d. maka bahasa(G) ≤ bahasa(G1)
6 of 15
34. Finite state automata merupakan tool yang sangat berguna dalam perancangan
salah satu bagian kompilator. Bagian kompilator yang dimaksud adalah
a. lexical analyzer (scanner)
b. parser (syntax analysis)
c. semantic
d. intermediate code generation
35. Push down automata merupakan tool yang banyak memberikan bantuan pada
perancangan bagian penting dari kompilator. Bagian kompilator yang dimaksud
adalah
a. lexical analyzer (scanner)
b. parser
c. semantic
d. intermediate code generation
36. Aturan produksi → pada grammar untuk bahasa Context sensitive dibatasi
oleh aturan ≤ . Pada tahapan kompilasi, batasan ini biasanya digunakan
dalam proses analisis :
a. lexical analyzer (scanner)
b. parser (syntax analysis)
c. semantic
d. code generation
37. Berikut, yang termasuk dalam tahapan sintesis dalam proses kompilasi adalah
a. lexical analyzer (scanner)
b. parser (syntax analysis)
c. semantic
d. code generation
39. Mesin automata dapat dipakai untuk menghasilkan bahasa yang aturannya
ditentukan oleh aturan bahasa itu sendiri. Mesin automata berikut menghasilkan
bahasa :
7 of 15
w h a
e t
a. {what, when }
b. {what}
c. {when}
d. {whe, wha}
40. Bahasa bebas konteks (Context free) menjadi dasar dalam pembentukan suatu
parser (proses analisis sintaks). Bagian sintaks dalam suatu kompilator
kebanyakan didefinisikan dalam tata bahasa bebas konteks, yang didefinisikan
secara formal dengan notasi :
a. Backus Normal Form
b. Chomsky Normal Form
c. Greibach Normal Form
d. Floyd Normal Form
43. Jika ekspresi regular R = (ab)(ab)(ab), maka R menunjukkan bahasa yang terdiri
dari string-string dengan panjang
a. genap
b. satu
c. dua
8 of 15
d. tiga
45. String abab termasuk dalam bahasa yang dibangun oleh ekspresi regular
a. a(ba)*b
b. (abab)*
c. (ab)*
d. a,b dan c semuanya benar
47. Jika S adalah simbol start, maka himpunan produksi {S→aB, B→bSb }
ekivalen dengan ekspresi regular :
a. a(ba)*b
b. (abab)*
c. (ab)*
d. abab
48. Jika S adalah simbol start, maka himpunan produksi {S→ ABa, A→a}
menghasilkan bahasa
a. {a}
b. {ab}
c. { an n ≥ 0 }
d. { (ab)n n ≥ 0 }
49. Jika S adalah simbol start, maka himpunan produksi {S→A, A→B, B→C ,C→ D,
D→ Aa} menghasilkan bahasa
a. {a}
9 of 15
b. {b}
c. { an n ≥ 0 }
d. { (c)n n ≥ 0 }
Jawab : a
50. Tata bahasa bebas konteks : {S→aSa Abd Bde, A→Ada, B→BBB a } dapat
disederhanakan dengan menhilangkan produksi useless. Setelah disederhanakan
dengan menghapus produksi useless, tata bahasa bebas konteks tersebut menjadi :
a. {S→aSa Bde, B→BBB a}
b. {S→aSa , B→BBB a}
c. {S→aSa Abd Bde, A→Ada, B→a}
d. {S→aSa , A→Ada, B→ a}
51. Suatu tata bahasa bebas konteks (CFG) dapat dibuat menjadi bentuk normal
Chomsky dengan syarat bahwa tata bahasa bebas konteks memenuhi semua
berikut ini, kecuali :
a. tidak memiliki produksi useless
b. tidak memiliki produksi unit
c. tidak memiliki produksi
d. tidak memiliki produksi recursive
53. Suatu tata bahasa bebas konteks (CFG) dikatakan dalam bentuk normal Greibach,
jika setiap aturan produksinya berada dalam bentuk :
a. A→ a a : symbol terminal ; : rangkaian simbol variabel (V*)
b. A→ a
c. A→ aa
d. A→ aa
10 of 15
55. Tata bahasa bebas konteks (CFG) dapat diubah ke dalam bentuk normal Greibach
dengan semua syarat berikut, kecuali:
a. sudah dalam bentuk normal Chomsky
b. tidak bersifat rekursif kiri
c. tidak menghasilkan
d. tidak bersifat rekursif kanan
a b
Q1 (Q2,a,R) (Q2,b,R) (Q3, ,R)
Q2 (Q1,a,L) (Q1,b,L) (Q3, ,L)
Q3 - - -
11 of 15
60. Bahasa adalah
A. Kumpulan kalimat
B. Kumpulan tata bahasa
C. Barisan Kalimat
D. Barisan kata
66. Untuk membangkitkan bahasa dari grammar tipe 3 (Regular Grammar) diperlukan
model automata yang tepat yaitu :
A. Turing Machine
B. Linear Bounded Automata
C. Push Down Automata
D. Finite Automata
12 of 15
67. Model Automata yang bisa untuk membangun Bahasa dari sebarang tipe grammar
adalah ?
A. Turing Machine
B. Linear Bounded Automata
C. Push Down Automata
D. Finite Automata
13 of 15
C. babab
D. aaaaa
A. a b
a b
S B C
B.
a b
S B C
a
C.
a b
S a B b C
b
D. Betul semua
14 of 15
77. Diketahui grammar G’
Vn = { X, Y,Z } ; Vt = { 0,1 } ; X : symbol start
P = { X→0Y, Y→1Z, Y→1,Z→0Y}
Grammar G’ tersebut menghasilkan bahasa :
A. { 0m1n m,n 1 }
B. { 0n1n n 1 }
C. { (01)n n 1 }
D. { 1m0n m,n 1 }
78. Berikut kata/untai mana yang dapat dihasilkan oleh grammar G’ soal no.77?
A. 000111
B. 010101
C. 101010
D. 000000
15 of 15