Wednesday, October 5, 2016

Kisi-kisi Soal UTS dan UAS Teknik Kompilasi Beserta Jawaban

SOAL A
1. Berikut ini yang termasuk contoh produk yang ada untuk pengembangan dan debug bahasa assembly di pasaran saat ini adalah....
a) Delphi
b) Basic
c) C
d) Pascal
e) Turbo Assembler

2. Yang bukan termasuk bahasa pemrograman berdasarkan tingkat ketergantungannya dengan mesin adalah ….
a) Bahasa Mesin
b) Bahasa Assembly
c) Bahasa Tingkat Tinggi
d) Bahasa Specific Problem Oriented
e) Bahasa Virtual

3. Sebuah translator melakukan pengubahan source code ke dalam ….
a) Interpreter
b) Memory
c) File
d) ASM
e) Object code

4. Berikut ini yang termasuk dalam bahasa tingkat tinggi adalah ....
a) Turbo Assembler
b) Assembler
c) Interpreter
d) Oracle
e) Pascal

5. Proses pembentukan sebuah kalimat atau sentensial disebut juga dengan ….
a) Sentensial
b) Kalimat
c) Karakter
d) Terminal
e) Derivasi

6. Sebuah program yang membaca suatu program yang ditulis dalam suatu bahasa sumber (source language) dan menterjemah-kannya ke dalam suatu bahasa sasaran (target language) merupakan pengertian dari ....
a) Compiler
b) Assembler
c) Interpreter
d) Translator
e) Emulator

7. Berikut ini yang bukan termasuk tahapan saat mengkompilasi program dalam tahap analisa (front end) adalah ....
a) Analisa Leksikal
b) Code Optimization
c) Pembangkit Kode Antara
d) Analisa Sintaks
e) Analisa Semantik

8. Membangkitkan kode program target dalam bahasa target yang ekivalen dengan bahasa sumber merupakan fungsi dari ….
a) Code Optimization
b) Code Generator
c) Pembangkit Kode Antara
d) Analisa Sintaks
e) Analisa Semantik

9. String yang merupakan masukan dari analisis Leksikal merupakan pengertian dari ....
a) Keyword
b) Token
c) Lexeme
d) Pattern
e) Identity

10. Berikut ini yang bukan termasuk tugas analisa leksikal adalah ....
a) Mengirimkan token
b) Menangani kesalahan
c) Menangani tabel simbol
d) Menyimpan data
e) Mengenali besaran leksik (identifier, keywords, dan konstanta)

11. Dalam membangun analisa leksikal. Scanner diimplementasikan dengan AHD yang merupakan singkatan dari ....
a) Authentication Hingga Deterministik
b) Authentication High Deterministik
c) Authentication Hingga Derministik
d) Automata High Deterministik
e) Automata Hingga Deterministik

12. Penelusuran sebuah kalimat (atau sentensial) sampai pada simbol awal grammar disebut dengan ….
a) Code Optimization
b) Code Generator
c) Pembangkit Kode Antara
d) Analisa Semantik
e) Analisa Sintaks

13. Diberikan kalimat x sebagai input. Parsing dimulai dari simbol awal S sampai kalimat x nyata (atau tidak nyata jika kalimat x memang tidak bisa diturunkan dari S) dari pembacaan semua leaf dari pohon parsing jika dibaca dari kiri ke kanan merupakan contoh dari metode ....
a) Parsing drill-down
b) Parsing top-up
c) Parsing bottom-up
d) Parsing top-down
e) Parsing bottom-down

14. Diberikan kalimat x sebagai input. Parsing dimulai dari kalimat x yang nyata dari pembacaan semua leaf pohon parsing dari kiri ke kanan sampai tiba di simbol awal S (atau tidak sampai di S jika kalimat x memang tidak bisa diturunkan dari S) merupakan contoh dari metode ....
a) Parsing drill-down
b) Parsing top-up
c) Parsing bottom-up
d) Parsing top-down
e) Parsing bottom-down

15. Suatu bahasa pemrograman yang dirancang untuk menyerupai cara kerja dari suatu bahasa yang lain merupakan pengertian dari ....
a) Emulator
b) Assembler
c) Interpreter
d) Translator
e) Compiler

16. Berikut ini yang bukan pertimbangan yang perlu diperhatikan dalam perancangan sebuah bahasa pemrograman adalah....
a) Kerumitan proses
b) Komunikasi dengan manusia
c) Pencegahan dan deteksi kesalahan
d) Efektifitas pemrograman
e) Machine Independent

17. Berikut ini contoh dari Identifier atau Keyword adalah ….
a) if, else
b) +
c) Saya
d) 10
e) >

18. Jika p adalah sebuah string maka panjang string dinyatakan sebagai ....
a) [ p ]
b) | p |
c) { p }
d) ( p )
e) < p >

19. Jika gambar hasil analisa sintaks adalah
Kisi-kisi Soal UTS dan UAS Teknik Kompilasi Beserta Jawaban

Maka statement dari hasil analisa tersebut adalah ....
a) ( A + B ) * ( C + D )
b) ( A * B ) + ( C + D )
c) ( A + B ) + ( C * D )
d) ( A * B ) * ( C * D )
e) ( A * B ) + ( C * D )

20. String yang tersusun atas simbol-simbol terminal disebut dengan ....
a) Sentensial
b) Kalimat
c) Karakter
d) Terminal
e) Derivasi

21. Memecah teks program sumber menjadi bagian-bagian kecil yang mempunyai satu arti yang disebut token, seperti : konstanta, nama variabel, keyword, operator merupakan fungsi analisa ....
a) Sintaks
b) Semantik
c) Leksikal
d) Code Optimation
e) Code Generator

22. Dalam analisa Leksikal, ketika identifier pada program sumber ditemukan lexical analyzer, identifier dimasukkan ke tabel simbol. Contoh:
position := initial + rate * 60
maka akan diubah menjadi ....
a) position, initial, rate : real
b) id1 := id2 + id3 * 60
c) temp1 := inttoreal(60)
d) Temp1 := id3 * 60.0
e) MULF #60.0, R2

23. Suatu program khusus menanggulangi terjadinya beberapa modul yang terpisah saat melakukan penulisan bahasa sumber menjadi beberapa file ke dalam suatu program baru merupakan pengertian dari....
a) Preprocessor
b) Assembler
c) Interpreter
d) Translator
e) Compiler

24. Berikut ini aturan produksi yang dapat dinyatakan dalam bentuk Notasi BNF (Backus Naur Form), kecuali ....
a) < >
b) =
c) { }
d) [ ]
e) ( )

25. Berikut ini yang merupakan Mesin Pengenal Bahasa dari Kelas Bahasa Context Sensitive Grammar adalah ....
a) Chomsky
b) Finite Automata
c) Linear Bounded Automation
d) Turing Machine
e) Pushdown Automata



SOAL B
1. Berikut ini yang termasuk contoh produk yang ada untuk pengembangan dan debug bahasa assembly di pasaran saat ini adalah....
a) Delphi
b) Basic
c) C
d) Pascal
e) Turbo Assembler

2. Yang bukan termasuk bahasa pemrograman berdasarkan tingkat ketergantungannya dengan mesin adalah ….
a) Bahasa Mesin
b) Bahasa Assembly
c) Bahasa Tingkat Tinggi
d) Bahasa Specific Problem Oriented
e) Bahasa Virtual

3. Sebuah translator melakukan pengubahan source code ke dalam ….
a) Interpreter
b) Memory
c) File
d) ASM
e) Object code

4. Berikut ini yang termasuk dalam bahasa tingkat tinggi adalah ....
a) Turbo Assembler
b) Assembler
c) Interpreter
d) Oracle
e) Pascal

5. Proses pembentukan sebuah kalimat atau sentensial disebut juga dengan ….
a) Sentensial
b) Kalimat
c) Karakter
d) Terminal
e) Derivasi

6. Sebuah program yang membaca suatu program yang ditulis dalam suatu bahasa sumber (source language) dan menterjemah-kannya ke dalam suatu bahasa sasaran (target language) merupakan pengertian dari ....
a) Compiler
b) Assembler
c) Interpreter
d) Translator
e) Emulator

7. Berikut ini yang bukan termasuk tahapan saat mengkompilasi program dalam tahap analisa (front end) adalah ....
a) Analisa Leksikal
b) Code Optimization
c) Pembangkit Kode Antara
d) Analisa Sintaks
e) Analisa Semantik

8. Membangkitkan kode program target dalam bahasa target yang ekivalen dengan bahasa sumber merupakan fungsi dari ….
a) Code Optimization
b) Code Generator
c) Pembangkit Kode Antara
d) Analisa Sintaks
e) Analisa Semantik

9. String yang merupakan masukan dari analisis Leksikal merupakan pengertian dari ....
a) Keyword
b) Token
c) Lexeme
d) Pattern
e) Identity

10. Berikut ini yang bukan termasuk tugas analisa leksikal adalah ....
a) Mengirimkan token
b) Menangani kesalahan
c) Menangani tabel simbol
d) Menyimpan data
e) Mengenali besaran leksik (identifier, keywords, dan konstanta)

11. Dalam membangun analisa leksikal. Scanner diimplementasikan dengan AHD yang merupakan singkatan dari ....
a) Authentication Hingga Deterministik
b) Authentication High Deterministik
c) Authentication Hingga Derministik
d) Automata High Deterministik
e) Automata Hingga Deterministik

12. Penelusuran sebuah kalimat (atau sentensial) sampai pada simbol awal grammar disebut dengan ….
a) Code Optimization
b) Code Generator
c) Pembangkit Kode Antara
d) Analisa Semantik
e) Analisa Sintaks

13. Diberikan kalimat x sebagai input. Parsing dimulai dari simbol awal S sampai kalimat x nyata (atau tidak nyata jika kalimat x memang tidak bisa diturunkan dari S) dari pembacaan semua leaf dari pohon parsing jika dibaca dari kiri ke kanan merupakan contoh dari metode ....
a) Parsing drill-down
b) Parsing top-up
c) Parsing bottom-up
d) Parsing top-down
e) Parsing bottom-down

14. Diberikan kalimat x sebagai input. Parsing dimulai dari kalimat x yang nyata dari pembacaan semua leaf pohon parsing dari kiri ke kanan sampai tiba di simbol awal S (atau tidak sampai di S jika kalimat x memang tidak bisa diturunkan dari S) merupakan contoh dari metode ....
a) Parsing drill-down
b) Parsing top-up
c) Parsing bottom-up
d) Parsing top-down
e) Parsing bottom-down

15. Suatu bahasa pemrograman yang dirancang untuk menyerupai cara kerja dari suatu bahasa yang lain merupakan pengertian dari ....
a) Emulator
b) Assembler
c) Interpreter
d) Translator
e) Compiler

16. Berikut ini yang bukan pertimbangan yang perlu diperhatikan dalam perancangan sebuah bahasa pemrograman adalah....
a) Kerumitan proses
b) Komunikasi dengan manusia
c) Pencegahan dan deteksi kesalahan
d) Efektifitas pemrograman
e) Machine Independent

17. Berikut ini contoh dari Identifier atau Keyword adalah ….
a) if, else
b) +
c) Saya
d) 10
e) >

18. Jika p adalah sebuah string maka panjang string dinyatakan sebagai ....
a) [ p ]
b) | p |
c) { p }
d) ( p )
e) < p >

19. Jika gambar hasil analisa sintaks adalah

Maka statement dari hasil analisa tersebut adalah ....
a) ( A + B ) * ( C + D )
b) ( A * B ) + ( C + D )
c) ( A + B ) + ( C * D )
d) ( A * B ) * ( C * D )
e) ( A * B ) + ( C * D )

20. String yang tersusun atas simbol-simbol terminal disebut dengan ....
a) Sentensial
b) Kalimat
c) Karakter
d) Terminal
e) Derivasi

21. Memecah teks program sumber menjadi bagian-bagian kecil yang mempunyai satu arti yang disebut token, seperti : konstanta, nama variabel, keyword, operator merupakan fungsi analisa ....
a) Sintaks
b) Semantik
c) Leksikal
d) Code Optimation
e) Code Generator

22. Dalam analisa Leksikal, ketika identifier pada program sumber ditemukan lexical analyzer, identifier dimasukkan ke tabel simbol. Contoh:
position := initial + rate * 60
maka akan diubah menjadi ....
a) position, initial, rate : real
b) id1 := id2 + id3 * 60
c) temp1 := inttoreal(60)
d) Temp1 := id3 * 60.0
e) MULF #60.0, R2

23. Suatu program khusus menanggulangi terjadinya beberapa modul yang terpisah saat melakukan penulisan bahasa sumber menjadi beberapa file ke dalam suatu program baru merupakan pengertian dari....
a) Preprocessor
b) Assembler
c) Interpreter
d) Translator
e) Compiler

24. Berikut ini aturan produksi yang dapat dinyatakan dalam bentuk Notasi BNF (Backus Naur Form), kecuali ....
a) < >
b) =
c) { }
d) [ ]
e) ( )

25. Berikut ini yang merupakan Mesin Pengenal Bahasa dari Kelas Bahasa Context Sensitive Grammar adalah ....
a) Chomsky
b) Finite Automata
c) Linear Bounded Automation
d) Turing Machine
e) Pushdown Automata

SOAL C
1. Proses kompilasi dimana program sumber dipecah-pecah dan dibentuk menjadi inter-mediate representation termasuk dalam tahapan kelompok ....
a) Intermediate-code Generation
b) Code Generation
c) Parsing
d) Sintesa
e) Analisa

2. Analisa semantik yang merupakan tahap ketiga dalam proses kompilasi, memanfaatkan pohon sintaks yang dihasilkan pada proses parsing (analisa sintaks) yang kemudian menandakan tahapan analisa telah berakhir. Kemudian dilanjutkan pada tahap ….
a) Analisa Sintaks
b) Analisa Leksikal
c) Optimization
d) Code genetaion
e) Intermediate-code generation

3. Pusat dari tata bahasa yang menspesifikasikan bagaimana suatu tata bahasa melakukan transformasi suatu string ke bentuk lainnya disebut dengan ….
a) Token
b) Sentences
c) Interpreter
d) Lexeme
e) Aturan produksi

4. Sekumpulan dari himpunan variabel-variabel, simbol-simbol terminal, simbol non-terminal, simbol awal yang dibatasi oleh aturan-aturan produksi disebut dengan ....
a) Semantic
b) Syntax
c) Lexeme
d) Token
e) Grammar

5. fahrenheit := 32 + celcius * 1.8
Dari statement tersebut, yang merupakan sebuah identifier adalah ….
a) :=
b) +
c) *
d) 32
e) fahrenheit

6. Jika gambar hasil analisa sintaks adalah

Maka statement dari hasil analisa tersebut adalah ....
a) ( A + B ) * ( C + D )
b) ( A * B ) + ( C + D )
c) ( A + B ) + ( C * D )
d) ( A * B ) * ( C * D )
e) ( A * B ) + ( C * D )

7. Terdapat context free language:   S → aAS | a, A → SbA | ba
Jika proses parsing yang digunakan dengan leftmost derivation, maka hasil yang akan didapatkan adalah ....
a) aSbbaa → aabbaa
b) aabbaS → aabbaa
c) aSbAa → aabbaa
d) aAa → aabbaa
e) aSbbSa → aabbaa

8. 
Berikut ini pernyataan yang merupakan intermediate code dengan triple notation dari statement tersebut di atas yang benar adalah ….

a) +, D, C, B
b) *, D, C
c) :=, D, E
d) +, C, B
e) *, C, B

9. Intermediate code dengan triple notation yang benar dari statement berikut adalah ….
IF X > Y THEN
X := a - b
ELSE
            X := a + b
a) :=, X, b
b) :=, a, b
c) >, X, Y
d) :=, a, X
e) >, a, b

10. Intermediate code dengan quardruples notation yang benar dari statement berikut adalah ….

a) /, B, C, E
b) +, A, C, D
c) *, B, C, D
d) *, D, C, T1
e) +, B, C, T2

11. Terdapat sebuah statement (A+B) * (C+D) yang menghasilkan intermediate code dengan quardruples notation sebagai berikut:
1. +, A, B, T1
2. +, C, D, T2
3. *, T1, T2, T3
Selanjutnya akan masuk tahap code generator yang menerjemahkannya ke dalam bahasa assembly dengan akumulator tunggal (One Address Instruction). Berikut ini yang bukan hasil translasi pada tahap code generator dari statement di atas adalah ....
a) STO T2
b) STO T1
c) ADD D
d) ADD B
e) LDA B

12. Pengertian dari LDA C pada sebuah code generator pada saat translasi ke dalam bahasa assembly adalah ….
a) Muat isi C dari akumulator
b) Tambahkan isi akumulator dengan C
c) Tambahkan isi akumulator dengan LDA C
d) Simpan isi akumulator ke C
e) Muat isi C ke akumulator

13. Tahapan terakhir dalam proses kompilasi adalah ....
a) Analisa Semantik
b) Analisa Leksikal
c) Analisa Sintaks
d) Code generation
e) Intermediate-code generation

14. Berikut ini yang merupakan kesalahan yang terjadi pada tahap analisa leksikal adalah ....
a) Tipe data yang salah
b) Operasi aritmatika kekurangan jumlah paranthesis (kurung)
c) Kesalahan pengejaan keyword
d) Parsing yang tidak mendapatkan hasil
e) Variabel belum didefinisikan

15. Ruang lingkup pelaporan kesalahan yang dilakukan oleh sebuah kompilator meliputi, kecuali ....
a) Laporan kesalahan
b) Pesan kesalahan dalam bahasa natural
c) Nama dan atribut identifier
d) Tipe – tipe yang terkait bila type checking
e) Kode kesalahan

16. Recovery yang dilakukan tergantung dari pembuat kompilator sendiri/spesifik, dan tidak terikat pada suatu aturan tertentu termasuk dalam pemulihan kesalahan yang disebut dengan ....
a) Special purpose error recovery
b) Secondary Error Recovery
c) Syntax Directed Recovery
d) Unit deletion
e) Panic mode

17. Berikut ini yang tidak termasuk dalam mekanisme error repair adalah ….
a) Unit deletion
b) Mekanisme Ad Hoc
c) Syntax Directed Repair
d) Context Sensitive Repair
e) Spelling repair

18. Salah satu cara dengan melokalisir kesalahan yaitu dengan maju terus dan mengabaikan teks sampai bertemu delimeter (;) dalam pemulihan kesalahan disebut dengan ....
a) Unit deletion
b) Panic mode
c) Syntax Directed Recovery
d) Secondary Error Recovery
e) Mekanisme Ad Hoc

19. Berikut ini merupakan cara dalam teknik optimasi, kecuali ....
a) Dead code
b) Folding
c) Redundant – Subexpression Elimination
d) Optimasi dalam sebuah iterasi
e) Strength Reduction

20. Mengganti suatu operasi dengan jenis operasi lain yang lebih cepat dieksekusi disebut dengan ....
a) Redundant – Subexpression Elimination
b) Strength Reduction
c) Folding
d) Optimasi dalam sebuah iterasi
e) Derivasi

21. Tabel simbol berisi daftar dan informasi identifier pokok yang terdapat dalam program sumber disebut dengan ....
a) Tabel data
b) Tabel informasi
c) Tabel pokok / utama
d) Tabel semantik
e) Tabel sintaks

22. Berikut ini merupakan elemen pada tabel simbol, kecuali ....
a) No urut identifier
b) String
c) Nama identifier
d) Tipe identifier
e) Field link

23. TabString: array[1..tabmax] of string
Merupakan contoh dari implementasi dari tabel simbol dengan jenis dari ....
a) Tabel String
b) Tabel Array
c) Tabel Real
d) Tabel Display
e) Tabel Blok

24. Berikut ini yang bukan termasuk tahapan saat mengkompilasi program dalam tahap analisa (front end) adalah ....
a) Analisa Leksikal
b) Code Optimization
c) Pembangkit Kode Antara
d) Analisa Sintaks
e) Analisa Semantik

25. Memecah teks program sumber menjadi bagian-bagian kecil yang mempunyai satu arti yang disebut token, seperti : konstanta, nama variabel, keyword, operator merupakan fungsi analisa ....
a) Sintaks
b) Semantik
c) Leksikal
d) Code Optimation
e) Code Generator


No comments:

Post a Comment