Mata kuliah Teknik Kompilasi merupakan salah satu mata kuliah inti dalam program studi Informatika, Teknik Komputer, maupun Sistem Informasi. Mata kuliah ini mempelajari bagaimana sebuah bahasa pemrograman tingkat tinggi diterjemahkan menjadi bahasa mesin yang dapat dieksekusi oleh komputer. Oleh karena itu, UTS Teknik Kompilasi sering dianggap cukup menantang karena menuntut pemahaman konsep, bukan sekadar hafalan.
Melalui kumpulan contoh soal UTS Teknik Kompilasi lengkap dengan pembahasan, mahasiswa dapat memahami pola soal, memperdalam konsep dasar, serta meningkatkan kesiapan menghadapi ujian tengah semester. Artikel ini disusun untuk membantu mahasiswa berlatih secara mandiri dengan berbagai tipe soal yang sering muncul dalam UTS.
Baca juga : Contoh Soal UKG Modul B Disertai Jawaban dan Tips Mengerjakan
Pengertian Teknik Kompilasi
Teknik kompilasi adalah cabang ilmu komputer yang mempelajari proses penerjemahan bahasa pemrograman tingkat tinggi menjadi bahasa tingkat rendah atau bahasa mesin. Proses ini dilakukan oleh sebuah perangkat lunak yang disebut compiler.
Compiler bertugas menganalisis kode sumber (source code), mendeteksi kesalahan, dan menghasilkan kode target yang dapat dijalankan. Dalam prosesnya, compiler melalui beberapa tahapan penting yang sering menjadi materi ujian.
Tujuan Mempelajari Teknik Kompilasi
Pembelajaran teknik kompilasi bertujuan agar mahasiswa mampu:
- Memahami proses kerja compiler
- Menjelaskan tahapan-tahapan kompilasi
- Menganalisis struktur bahasa pemrograman
- Memahami peran lexer, parser, dan semantic analyzer
- Mengaplikasikan konsep kompilasi dalam pengembangan bahasa
Tujuan ini menjadi dasar penyusunan soal UTS Teknik Kompilasi.
Tahapan dalam Teknik Kompilasi
Secara umum, tahapan teknik kompilasi terdiri atas:
1. Analisis Leksikal (Lexical Analysis)
Tahap ini bertugas memecah kode sumber menjadi unit-unit terkecil yang disebut token.
2. Analisis Sintaksis (Syntax Analysis)
Tahap ini memeriksa apakah susunan token sesuai dengan aturan tata bahasa (grammar).
3. Analisis Semantik (Semantic Analysis)
Tahap ini memeriksa makna dari pernyataan program, seperti kesesuaian tipe data.
4. Intermediate Code Generation
Menghasilkan kode perantara yang lebih mudah dioptimasi.
5. Code Optimization
Mengoptimalkan kode agar lebih efisien.
6. Code Generation
Menghasilkan kode target (assembly atau machine code).
Tahapan-tahapan ini hampir selalu menjadi fokus utama dalam soal UTS.
Kumpulan Contoh Soal UTS Teknik Kompilasi (Pilihan Ganda)
Soal 1
Tahapan dalam teknik kompilasi yang bertugas memecah source code menjadi token disebut …
A. Syntax analysis
B. Semantic analysis
C. Lexical analysis
D. Code generation
Jawaban: C
Pembahasan:
Lexical analysis bertugas mengidentifikasi token seperti keyword, identifier, operator, dan literal dari source code.
Soal 2
Hasil keluaran utama dari lexical analyzer adalah …
A. Parse tree
B. Token stream
C. Intermediate code
D. Machine code
Jawaban: B
Pembahasan:
Lexical analyzer menghasilkan aliran token (token stream) yang akan diproses pada tahap berikutnya.
Soal 3
Tahapan yang bertugas memeriksa kesesuaian struktur kalimat program dengan grammar disebut …
A. Lexical analysis
B. Syntax analysis
C. Semantic analysis
D. Code optimization
Jawaban: B
Pembahasan:
Syntax analysis memeriksa apakah susunan token sesuai dengan aturan tata bahasa pemrograman.
Soal 4
Struktur data yang dihasilkan oleh syntax analyzer umumnya berupa …
A. Symbol table
B. Token list
C. Parse tree
D. Object code
Jawaban: C
Pembahasan:
Parse tree menggambarkan struktur sintaksis program berdasarkan grammar.
Contoh Soal UTS Teknik Kompilasi tentang Analisis Semantik
Soal 5
Kesalahan penggunaan tipe data dalam program akan terdeteksi pada tahap …
A. Lexical analysis
B. Syntax analysis
C. Semantic analysis
D. Code generation
Jawaban: C
Pembahasan:
Semantic analysis memeriksa makna program, termasuk kecocokan tipe data dan deklarasi variabel.
Soal 6
Tabel yang menyimpan informasi tentang identifier disebut …
A. Token table
B. Symbol table
C. Parse table
D. Grammar table
Jawaban: B
Pembahasan:
Symbol table menyimpan informasi seperti nama variabel, tipe data, scope, dan alamat memori.
Contoh Soal UTS Teknik Kompilasi tentang Grammar dan Parser
Soal 7
Grammar yang digunakan untuk mendefinisikan struktur bahasa pemrograman disebut …
A. Regular grammar
B. Context-free grammar
C. Context-sensitive grammar
D. Unrestricted grammar
Jawaban: B
Pembahasan:
Sebagian besar bahasa pemrograman didefinisikan menggunakan context-free grammar (CFG).
Soal 8
Parser yang membangun parse tree dari bawah ke atas disebut …
A. Top-down parser
B. Recursive descent parser
C. Bottom-up parser
D. Predictive parser
Jawaban: C
Pembahasan:
Bottom-up parser bekerja dengan membangun parse tree dari daun menuju akar.
Contoh Soal UTS Teknik Kompilasi tentang Error Handling
Soal 9
Kesalahan penulisan keyword biasanya terdeteksi pada tahap …
A. Semantic analysis
B. Syntax analysis
C. Lexical analysis
D. Code optimization
Jawaban: C
Pembahasan:
Kesalahan pada token seperti keyword akan terdeteksi saat lexical analysis.
Soal 10
Kesalahan struktur pernyataan if tanpa kurung yang benar akan terdeteksi pada tahap …
A. Lexical analysis
B. Syntax analysis
C. Semantic analysis
D. Code generation
Jawaban: B
Pembahasan:
Kesalahan struktur program akan terdeteksi pada syntax analysis.
Contoh Soal UTS Teknik Kompilasi (Isian Singkat)
Soal 11
Sebutkan dua tugas utama lexical analyzer!
Jawaban:
Mengidentifikasi token dan menghapus karakter yang tidak diperlukan seperti spasi dan komentar.
Soal 12
Apa fungsi utama symbol table dalam compiler?
Jawaban:
Menyimpan informasi tentang identifier yang digunakan dalam program.
Contoh Soal UTS Teknik Kompilasi (Uraian)
Soal 13
Jelaskan perbedaan antara lexical analysis dan syntax analysis!
Pembahasan:
Lexical analysis memecah source code menjadi token, sedangkan syntax analysis memeriksa susunan token sesuai grammar bahasa pemrograman.
Soal 14
Jelaskan peran semantic analysis dalam proses kompilasi!
Pembahasan:
Semantic analysis memastikan bahwa program memiliki makna yang benar, seperti kesesuaian tipe data, deklarasi variabel, dan penggunaan identifier.
Contoh Soal UTS Teknik Kompilasi HOTS
Soal 15
Jika sebuah program lolos lexical dan syntax analysis tetapi menghasilkan error tipe data, pada tahap manakah kesalahan tersebut seharusnya terdeteksi? Jelaskan alasannya!
Pembahasan:
Kesalahan tersebut seharusnya terdeteksi pada tahap semantic analysis karena berkaitan dengan makna dan tipe data dalam program.
Kesalahan Umum Mahasiswa dalam UTS Teknik Kompilasi
Beberapa kesalahan yang sering dilakukan mahasiswa antara lain:
- Menghafal definisi tanpa memahami konsep
- Bingung membedakan tugas tiap tahap kompilasi
- Tidak memahami hubungan lexer, parser, dan semantic analyzer
- Kurang latihan soal analisis
- Tidak memahami alur kerja compiler secara utuh
Kesalahan ini dapat diminimalkan dengan latihan soal yang konsisten dan pemahaman konsep dasar.
Strategi Efektif Mempersiapkan UTS Teknik Kompilasi
Beberapa strategi yang dapat diterapkan mahasiswa:
- Memahami alur kompilasi secara menyeluruh
- Membuat ringkasan tahapan kompilasi
- Melatih diri dengan contoh soal UTS
- Memahami istilah teknis secara konseptual
- Berdiskusi dan mempraktikkan contoh sederhana
Dengan strategi yang tepat, mata kuliah Teknik Kompilasi dapat dipahami dengan lebih mudah dan sistematis.
Penulis : Lina wati


Post Comment