Anda di halaman 1dari 4

Pilih satu jawaban yang tepat. Tidak diperkenankan menggunakan kalkulator.

1. Masukan penganalisa sintaks adalah deretan:


a. karakter b. produksi c. token d. representasi antara

2. Kesalahan seperti sintax error akan muncul pada proses:


a. analisa masalah b. analisa sintaks
c. analisa semantik d. analisa leksikal

3. Ekspresi : if a2 < 9 do dalam Pascal mengandung kesalahan:


a. sintaks b. leksikal c. sintaks dan leksikal d. semantik

4 Ekspresi : if a2 < 9 tehn Pascal mengandung kesalahan:


a. sintaks dan leksikal b. leksikal c. sintaks d. semantik

5. Pelanggaran terhadap panjang maksimum ekspresi tunggal yang telah ditetapkan


akan terdeteksi pada fase:
a. analisa leksikal b. analisa sintaks
c. pembangkit kode antara d. analisa semantik

6. Pelanggaran terhadap ketentuan tentang dua tipe operan dalam ekspresi aritmatika
akan terdeteksi pada fase:
a. analisa leksikal b. analisa semantik
c. analisa sintaks d. pembangkit kode antara

7. Bentuk format quadruples adalah:


a. (result, arg1, op, arg2) b. (op, arg1, arg2, result)
c. (result, assign, arg1, op, arg2) d. (arg1, op, arg2, result)

8. Jika sebuah quadruples berbentuk (op, id, temp1, temp2), maka hasil operasi
disimpan dalam variabel:
a. op b. id c. temp2 d. temp1

9. Jika format quadruples adalah (op, arg1, arg2, result) maka ekspresi id := temp
menetapkan simbol - (strip, dash) pada:
a. op b. arg1 c. arg2 d. result

10. Jika format quadruples adalah (op, arg1, arg2, result) maka nilai op untuk ekspresi
id := temp adalah:
a. - (strip, dash) b. operator assignment
c. nilai dari variabel temp d. nilai dari variabel id

11. Tugas pengotimal kode dalam proses kompilasi ekspresi arritmatika adalah:
a. mengoptimalkan hasilnya sampai desimal terkecil
b. mengoptimalkan hasilnya sampai bilangan terkcil yang dikenali komputer
c. jawaban a dan b benar
d. jawaban a dan b salah

12. Quadruples dari ekspresi temp2 := id3 * temp1 adalah:


a. (temp2, id3, *, temp1) b. (*, temp2, id3, temp1)
c. (*, id3, temp1, temp2) d. (id3, temp1, *, temp2)
13. Tiga aspek yang harus diperhatikan dalam merancang sebuah bahasa adalah:
a. spesifikasi leksikal, spesifikasi sintaks, aturan-aturan semantik
b. spesifikasi leksikal, aturan-aturan semantik, aturan-aturan parsing
c. spesifikasi leksikal, spesifikasi sintaks, aturan-aturan parsing
d. spesifikasi leksikal, spesifikasi sintaks, kaidah EYD

14. Dalam deklarasi record posisi sebuah karakter, field posisi kolom (karakter
tersebut merupakan karakter ke berapa dari kiri dalam sebuah baris program
sumber) dideklarasikan sebagai data bertipe:
a. integer b. byte c. word d. longint

15. Dalam deklarasi record posisi sebuah karakter, field posisi kolom (karakter
tersebut merupakan karakter ke berapa dari kiri dalam sebuah baris program
sumber) dideklarasikan sebagai data bertipe byte karena:
a. jumlah karakter dalam satu baris adalah terbatas
b. analogi dengan puisi, satu baris terdiri dari satu atau lebih bait
c. satu baris terdiri dari beberapa bait ekspresi
d. jumlah ekspresi dalam satu baris adalah terbatas

16. Spesifikai token dinyatakan dengan Current_Token(tipe, nilai). Argumen tipe


menyatakan:
a. procedure b. tipe data c. nilai token d. kelompok token

17. Bayangkan sebuah token yang bukan reserve word mengalir melewati parser dan
scanner. Pernyataan yang benar adalah:
a. bagi scanner token tersebut adalah sebuah terminal
b. bagi parser token tersebut adalah sebuah terminal
c. bagi scanner token tersebut adalah sebuah non terminal
d. bagi parser token tersebut adalah sebuah non terminal

18. Sebuah kalimat adalah ambigu jika:


a. dihasilkan oleh grammar yang mengandung beberapa produksi dengan ruas kiri
yang sama sedangkan prefix ruas kanannya sama
b. hanya ada satu pohon sintaks yang dapat dibentuk kalimat tersebut
c. tidak dapat diderivasi dari simbol awal S
d. mengandung produksi dengan ruas kanan produksi terdiri dari lebih dari dua
simbol grammar

19. Produksi berbentuk A  A dikatakan produksi yang bersifat:


a. ambivalen b. rekursi kiri immediate c. ambigu d. rekursi kiri

20. Bentuk produksi rekursi kiri immediate adalah:


a. A  B b. A  A c. A  A d. A  B

21. Hasil eliminasi sifat rekrsi kiri dari produksi T  T*FF adalah :
a. T  TR, R *TR b. T  RT, R *TR
c. T  TR, R *TR d. T  TR, R *RT

22. Pada model predictive parser, posisi simbol $ adalah:


a. top of stack b. bottom of stack
d. middle of stack d. somewhere of stack

23. Misalkan A adalah top of stack dan a adalah karakter input yang sedang ditunjuk.
Kesalahan sintaks akan terjadi jika:
a. A  V T , A  a b. A  V T c. A  V N d. A  V N , A = a

24. Pernyataan yang benar tentang tabel parsing M adalah:


a. array 2 dimensi M(A, a) b. A   merupakan isi sel
c. tanda kesalahan merupakan isi sel d. jawaban a, b, dan c benar

25. Misalkan A adalah top of stack dan a adalah karakter input yang sedang ditunjuk.
Misalkan pula A  V N dan isi sel M(A,a) adalah A  UVW, maka:
a. parser akan mengganti A dengan UVW
b. parser akan mengganti A dengan UVW dengan V sebagai top of stack
c. parser akan mengganti A dengan UVW dengan W sebagai top of stack
d. parser akan mengganti A dengan UVW dengan U sebagai top of stack

26. Jika X  Y,   , maka:


a. First()  Follow(Y) b. First() -{}  Follow(Y)
c.   Follow(Y) d.   First(Y)

27. Hubungan antara scanner dan parser adalah:


a. keluaran scanner adalah masukan bagi parser
b. keluaran parser adalah masukan bagi scanner
c. scanner dan parser membutuhkan masukan yang sama
d. scanner dan parser menghasilkan keluaran yang sama

28. Misalkan alfabet scanner adalah L S = {a, b, u, k, p}. Jika scanner tersebut
menghasilkan keluaran {paku, buka, baku, abu, uap} maka alfabet parser adalah:
a. {a, b, u, k, p} b. {paku, buka, baku, abu, uap}
c. {a, b, u, k, p, paku, buka, baku, abu, uap} d. a, b, dan c salah

29. Yang menjadi tugas pembangkit kode adalah:


a. memeriksa keseuaian deretan token
b. membangkitkan kode dalam bahasa tertentu
c. memeriksa program sumber, karakter demi karakter
d. memeriksa tipe variabel atau konstanta

30. Spesifikasi leksikal diimplementasikan dengan menggunakan grammar:


a. unconstrained b. context sensitive c. regular d. context free

31. Spesifikasi sintaks biasanya diimplementasikan dengan menggunakan grammar:


a. unconstrained b. context free c. context sensitive d. regular

32. Fisrt(X) = {X} jika:


a. X  V N b. X  V T d. X =  d. X = simbol awal

33. Follow(T’) dari himpunan produksi berikut:


Q = {E  TE’, E’  +TE, T  FT’, T’  *FT’, F  (E)id}, adalah :
a. {$, )} b. {$, ), *} c. {$, ), +, *} d. {$, ), +}
34. Isi sel M(A,b) pada tabel Parsing Table M akan berisi produksi A   jika:
a.   First() dan b  Follow(A) b.   First(A) dan b  Follow(A)
c.   First() dan b  Follow() d.   First(A) dan b  Follow()

35. Diketahui sebuah grammar : Q = {S  AB, A  a , B  b}. Sel parsing


table yang bernilai ganda akan berisi dua produksi berikut:
a. S  A, S  B b. A  a, A   c. B  b, B   d. a, b, c salah

36. Jika a  First() dan terdapat produksi A  , B  A, C  B, maka:


a. M(A, a) = A   b. M(B, a) = B  A
c. M(C, a) = C  B d. jawaban a, b, dan c benar

37. a  First(X) jika terdapat produksi:


a. X  a b. X  a c. X   dan a  First() d. a, b, dan c benar

38. Agar setiap sel pada parsing table bernilai tunggal maka untuk setiap produksi
berbentuk A   harus bersifat:
a.    and    b.    and   
c. if    then   not() d. if    then   not()

39. Grammar yang tidak menghasilkan nilai ganda pada setiap sel parsing table
disebut grammar LL(1). L pertama dan L kedua adalah singkatan dari :
a. left dan left b. leftmost dan leftmost
c. leftmost dan left d. left dan leftmost

40. Salah satu tujuan Analisis Semantik pada kompiler dua fase adalah:
a. Membentuk intermediate representation
b. Menentukan kesalahan pada saat scanning
c. Mengatur bahasa dalam suatu bahasa pemprograman tertentu
d. Membaca suatu program yang di tulis dalam suatu bahasa sumber

----------oo0oo----------

Anda mungkin juga menyukai