×

Contoh Soal UTS Teknik Kompilasi Berdasarkan Materi Lexer, Parser, dan Semantic Analyzer

Mata kuliah Teknik Kompilasi merupakan fondasi penting dalam bidang ilmu komputer, khususnya bagi mahasiswa Informatika, Teknik Komputer, dan Sistem Informasi. Salah satu fokus utama dalam perkuliahan ini adalah pemahaman tentang tahapan analisis dalam compiler, yaitu lexer (lexical analyzer), parser (syntax analyzer), dan semantic analyzer. Ketiga komponen ini hampir selalu menjadi materi inti yang diujikan dalam Ujian Tengah Semester (UTS) Teknik Kompilasi.

Oleh karena itu, memahami contoh soal UTS Teknik Kompilasi berdasarkan materi lexer, parser, dan semantic analyzer sangat penting untuk membantu mahasiswa mengenali pola soal, memperdalam konsep, serta meningkatkan kesiapan menghadapi ujian. Artikel ini menyajikan kumpulan contoh soal lengkap dengan jawaban dan penjelasan konsep yang mudah dipahami.

Baca juga : Contoh Soal Sifat Alir untuk Ulangan dan Ujian Beserta Pembahasannya

Gambaran Umum Tahapan Analisis dalam Teknik Kompilasi

Dalam proses kompilasi, source code yang ditulis programmer akan melewati beberapa tahapan analisis sebelum diterjemahkan menjadi kode mesin. Tiga tahapan awal yang paling krusial adalah:

🔖 Baca juga:
Membaca Cepat dan Tepat: Memahami Teknik Skimming melalui Contoh Soal
  1. Lexical Analysis (Lexer)
  2. Syntax Analysis (Parser)
  3. Semantic Analysis (Semantic Analyzer)

Setiap tahap memiliki fungsi dan peran yang berbeda, namun saling berkaitan satu sama lain. Soal UTS biasanya menguji pemahaman mahasiswa terhadap fungsi masing-masing tahap serta jenis kesalahan yang dapat dideteksi pada setiap tahap tersebut.

Konsep Dasar Lexical Analyzer (Lexer)

Lexical analyzer atau lexer adalah tahap pertama dalam proses kompilasi. Tugas utama lexer adalah membaca source code dan mengubahnya menjadi token-token yang memiliki makna tertentu.

Token-token tersebut meliputi:

  • Keyword (if, while, for)
  • Identifier (nama variabel, fungsi)
  • Operator (+, -, *, /)
  • Literal (angka, string)
  • Delimiter (titik koma, tanda kurung)

Lexer juga bertugas mengabaikan karakter yang tidak diperlukan seperti spasi dan komentar.

Contoh Soal UTS Teknik Kompilasi Materi Lexer

Contoh Soal 1

Tahap lexical analysis bertujuan untuk …

A. Memeriksa kesesuaian struktur program
B. Memeriksa makna program
C. Mengubah source code menjadi token
D. Menghasilkan kode mesin

Jawaban: C

Pembahasan:
Lexical analysis bertugas memecah source code menjadi token-token bermakna yang akan digunakan oleh parser pada tahap berikutnya.

Contoh Soal 2

Yang bukan termasuk tugas lexical analyzer adalah …

A. Menghilangkan spasi dan komentar
B. Mengelompokkan karakter menjadi token
C. Memeriksa kesesuaian grammar
D. Mendeteksi karakter ilegal

Jawaban: C

Pembahasan:
Pemeriksaan grammar merupakan tugas parser, bukan lexical analyzer. Lexer hanya fokus pada pembentukan token.

Contoh Soal 3

Kesalahan yang dapat dideteksi oleh lexer adalah …

A. Variabel belum dideklarasikan
B. Kesalahan tipe data
C. Penggunaan karakter yang tidak dikenali
D. Struktur perulangan salah

Jawaban: C

Pembahasan:
Lexer mampu mendeteksi karakter ilegal atau simbol yang tidak dikenali oleh bahasa pemrograman.

Konsep Dasar Parser (Syntax Analyzer)

Parser atau syntax analyzer merupakan tahap kedua dalam proses kompilasi. Parser menerima token dari lexer dan memeriksa apakah susunan token tersebut sesuai dengan aturan grammar bahasa pemrograman.

Hasil dari proses parsing biasanya berupa:

  • Parse tree
  • Syntax tree

Parser memastikan bahwa struktur program valid secara sintaksis sebelum diproses lebih lanjut.

Contoh Soal UTS Teknik Kompilasi Materi Parser

Contoh Soal 4

Fungsi utama parser dalam proses kompilasi adalah …

A. Mendeteksi kesalahan makna
B. Menghasilkan token
C. Memeriksa struktur program berdasarkan grammar
D. Mengoptimasi kode

Jawaban: C

Pembahasan:
Parser memeriksa apakah rangkaian token sesuai dengan aturan grammar yang telah ditentukan.

Contoh Soal 5

Struktur data yang umumnya dihasilkan oleh parser adalah …

A. Token list
B. Symbol table
C. Parse tree
D. Intermediate code

Jawaban: C

Pembahasan:
Parse tree menggambarkan struktur sintaksis program sesuai dengan grammar bahasa pemrograman.

Contoh Soal 6

Grammar yang digunakan dalam syntax analysis biasanya berupa …

A. Regular grammar
B. Context-free grammar
C. Context-sensitive grammar
D. Machine grammar

Jawaban: B

Pembahasan:
Parser umumnya menggunakan context-free grammar (CFG) untuk mendefinisikan struktur bahasa pemrograman.

Contoh Soal 7

Kesalahan berikut yang termasuk syntax error adalah …

A. Penjumlahan integer dan string
B. Variabel belum dideklarasikan
C. Kurung kurawal tidak ditutup
D. Nilai variabel melebihi batas

Jawaban: C

Pembahasan:
Kurung kurawal yang tidak ditutup melanggar aturan struktur bahasa, sehingga termasuk kesalahan sintaks.

Konsep Dasar Semantic Analyzer

Semantic analyzer merupakan tahap ketiga dalam proses kompilasi. Pada tahap ini, compiler memeriksa makna program untuk memastikan bahwa program tidak hanya benar secara sintaks, tetapi juga benar secara semantik.

Beberapa tugas utama semantic analyzer antara lain:

  • Memeriksa kesesuaian tipe data
  • Memastikan variabel telah dideklarasikan
  • Memeriksa scope variabel
  • Mengelola symbol table

Tahap ini sangat bergantung pada symbol table yang berisi informasi tentang identifier.

Contoh Soal UTS Teknik Kompilasi Materi Semantic Analyzer

Contoh Soal 8

Analisis semantik bertujuan untuk …

A. Menghasilkan token
B. Memeriksa kesesuaian grammar
C. Memeriksa makna dan konsistensi program
D. Menghasilkan kode mesin

Jawaban: C

Pembahasan:
Semantic analysis memastikan bahwa program memiliki makna yang benar, seperti penggunaan variabel dan tipe data yang sesuai.

Contoh Soal 9

Manakah yang termasuk kesalahan semantik?

A. Kesalahan ejaan keyword
B. Kurang tanda titik koma
C. Variabel digunakan sebelum dideklarasikan
D. Kesalahan tanda kurung

Jawaban: C

Pembahasan:
Menggunakan variabel sebelum deklarasi merupakan kesalahan makna program, sehingga termasuk semantic error.

Contoh Soal 10

Tahap kompilasi yang paling banyak memanfaatkan symbol table adalah …

A. Lexical analysis
B. Syntax analysis
C. Semantic analysis
D. Code generation

Jawaban: C

Pembahasan:
Semantic analyzer menggunakan symbol table untuk memeriksa deklarasi, tipe data, dan scope identifier.

Soal Integratif Lexer, Parser, dan Semantic Analyzer

Contoh Soal 11

Jika sebuah program memiliki struktur yang benar tetapi menghasilkan operasi antara dua tipe data yang tidak sesuai, maka kesalahan tersebut terdeteksi pada tahap …

A. Lexical analysis
B. Syntax analysis
C. Semantic analysis
D. Code optimization

Jawaban: C

Pembahasan:
Kesalahan tipe data berkaitan dengan makna program, sehingga terdeteksi pada tahap semantic analysis.

Contoh Soal 12

Urutan tahapan analisis yang benar dalam proses kompilasi adalah …

A. Parser → Lexer → Semantic Analyzer
B. Lexer → Parser → Semantic Analyzer
C. Semantic Analyzer → Parser → Lexer
D. Lexer → Semantic Analyzer → Parser

Jawaban: B

Pembahasan:
Tahapan analisis dalam kompilasi dimulai dari lexer, dilanjutkan parser, dan kemudian semantic analyzer.

Contoh Soal 13

Jika compiler menemukan simbol yang tidak dikenali dalam source code, maka proses kompilasi akan berhenti pada tahap …

A. Parsing
B. Semantic checking
C. Lexical analysis
D. Code generation

Jawaban: C

Pembahasan:
Simbol atau karakter ilegal akan terdeteksi oleh lexical analyzer sebelum proses parsing dilakukan.

Pola Soal UTS Teknik Kompilasi yang Sering Muncul

Beberapa pola soal UTS Teknik Kompilasi yang sering muncul berdasarkan materi lexer, parser, dan semantic analyzer antara lain:

  • Identifikasi fungsi masing-masing tahap
  • Penentuan jenis kesalahan berdasarkan kasus
  • Urutan proses kompilasi
  • Perbedaan tugas lexer, parser, dan semantic analyzer
  • Studi kasus potongan kode program

Soal-soal ini menuntut pemahaman konseptual, bukan sekadar hafalan definisi.

Baca juga : Universitas Teknokrat Indonesia Masuk Daftar Kampus Terbaik Nasional 2025 Versi UniRanks

Strategi Belajar Menghadapi UTS Teknik Kompilasi

Agar lebih siap menghadapi UTS Teknik Kompilasi, mahasiswa dapat menerapkan strategi berikut:

  • Memahami alur kompilasi secara menyeluruh
  • Membuat tabel perbandingan lexer, parser, dan semantic analyzer
  • Menghafal contoh kesalahan pada setiap tahap
  • Berlatih mengerjakan soal berbasis kasus
  • Mengaitkan teori dengan ilustrasi potongan kode

Dengan memahami contoh soal UTS Teknik Kompilasi berdasarkan materi lexer, parser, dan semantic analyzer secara mendalam, mahasiswa akan lebih mudah mengidentifikasi jenis soal dan menjawabnya dengan tepat sesuai konsep yang benar.

Penulis : Lina wati

Post Comment