50 Soal Teori Bahasa (TI) Beserta Jawaban
Kumpulan Soal Pilihan Ganda Materi Teori Bahasa
Soal 1:
Pada teori bahasa komputer, istilah "tokenization" mengacu pada proses apa?
A. Mengubah kode sumber ke dalam bahasa mesin
B. Memisahkan teks menjadi unit-unit yang lebih kecil
C. Menyusun algoritma dengan menggunakan bahasa pemrograman
D. Melakukan enkripsi terhadap data sensitif
Jawaban: B
Soal 2:
Dalam teori bahasa, apakah yang dimaksud dengan "lexeme"?
A. Sebuah kumpulan karakter yang memiliki makna
B. Sebuah aturan sintaksis yang harus diikuti dalam pemrograman
C. Satu instruksi penuh dalam bahasa mesin
D. Sebuah program yang berjalan pada tingkat rendah
Jawaban: A
Soal 3:
Apa fungsi dari "syntax analyzer" dalam teori bahasa?
A. Mengevaluasi ekspresi matematika
B. Menjalankan program pada tingkat rendah
C. Memvalidasi struktur sintaksis program
D. Mengubah program ke dalam bahasa mesin
Jawaban: C
Soal 4:
Pada konteks teori bahasa, apa yang dimaksud dengan "context-free grammar"?
A. Sebuah teknik untuk memvalidasi data input
B. Sebuah aturan untuk menyusun kode sumber
C. Sebuah struktur data yang menyimpan informasi kontekstual
D. Sebuah bentuk representasi formal dari bahasa pemrograman
Jawaban: D
Soal 5:
Dalam teori bahasa, "regular expression" digunakan untuk apa?
A. Memvalidasi sintaks program
B. Menggabungkan beberapa fungsi dalam satu operasi
C. Membagi program menjadi beberapa bagian yang terpisah
D. Mencocokkan dan memanipulasi pola teks
Jawaban: D
Soal 6:
Apa yang dimaksud dengan "language recognition" dalam teori bahasa?
A. Proses untuk menganalisis dan mengerti bahasa manusia
B. Kemampuan komputer untuk memahami bahasa pemrograman
C. Penggunaan algoritma untuk membedakan antara bahasa-bahasa yang berbeda
D. Identifikasi dan pengenalan bahasa tertentu oleh komputer
Jawaban: D
Soal 7:
Manakah dari berikut ini yang bukan merupakan komponen dari "compiler" dalam teori bahasa?
A. Lexical analyzer
B. Syntax analyzer
C. Semantic analyzer
D. Interpreter
Jawaban: D
Soal 8:
Dalam konteks teori bahasa, apa yang dimaksud dengan "grammar rule"?
A. Sebuah aturan yang menentukan urutan operasi dalam pemrograman
B. Sebuah pernyataan yang memerintahkan komputer untuk melakukan tindakan tertentu
C. Sebuah aturan yang menentukan struktur sintaksis dalam bahasa formal
D. Sebuah istilah yang digunakan untuk menggambarkan kesalahan dalam program
Jawaban: C
Soal 9:
Pada teori bahasa, apa yang dimaksud dengan "ambiguous grammar"?
A. Sebuah struktur data yang memiliki banyak kemungkinan interpretasi
B. Sebuah aturan sintaksis yang tidak jelas dan dapat membingungkan compiler
C. Sebuah teknik untuk menghindari kesalahan saat menulis kode program
D. Sebuah metode untuk mengoptimalkan performa program
Jawaban: B
Soal 10:
Apa yang dimaksud dengan "token" dalam teori bahasa?
A. Sebuah unit dasar dalam pemrograman yang memiliki makna
B. Sebuah program yang dijalankan pada tingkat rendah
C. Sebuah algoritma yang digunakan untuk mengolah data
D. Sebuah fungsi dalam bahasa pemrograman
Jawaban: A
Soal 11:
Pada teori bahasa, apa yang dimaksud dengan "parsing"?
A. Proses memecah program menjadi bagian-bagian yang lebih kecil
B. Proses memvalidasi struktur sintaksis program
C. Proses mengubah program ke dalam bahasa mesin
D. Proses mengoptimalkan performa program
Jawaban: B
Soal 12:
Apa yang dimaksud dengan "backus-naur form" (BNF) dalam teori bahasa?
A. Sebuah notasi formal yang digunakan untuk mendefinisikan sintaks bahasa pemrograman
B. Sebuah teknik untuk mengelompokkan data dalam pemrograman
C. Sebuah metode untuk mengurutkan instruksi dalam program
D. Sebuah aturan sintaksis yang harus diikuti dalam pemrograman
Jawaban: A
Soal 13:
Dalam teori bahasa, apa yang dimaksud dengan "context-sensitive grammar"?
A. Sebuah teknik untuk menggabungkan bahasa pemrograman yang berbeda
B. Sebuah aturan yang memvalidasi struktur sintaksis program
C. Sebuah notasi formal yang digunakan untuk mendefinisikan tipe data
D. Sebuah bentuk representasi formal dari bahasa manusia
Jawaban: B
Soal 14:
Apa yang dimaksud dengan "leftmost derivation" dalam teori bahasa?
A. Sebuah metode untuk menghasilkan urutan instruksi dalam program
B. Sebuah aturan yang menentukan urutan operasi dalam pemrograman
C. Sebuah teknik untuk mempercepat proses parsing
D. Sebuah proses yang menghasilkan string terminal dari aturan produksi kiri-ke-kanan
Jawaban: D
Soal 15:
Pada teori bahasa, apa yang dimaksud dengan "finite automaton"?
A. Sebuah alat yang dapat menjalankan program pada tingkat rendah
B. Sebuah aturan sintaksis yang digunakan dalam pemrograman
C. Sebuah model komputasi abstrak yang dapat menerima dan memproses bahasa
D. Sebuah struktur data yang digunakan untuk menyimpan informasi teks
Jawaban: C
Soal 16:
Apa yang dimaksud dengan "Chomsky hierarchy" dalam teori bahasa?
A. Sebuah sistem untuk mengelompokkan bahasa-bahasa formal berdasarkan kompleksitas mereka
B. Sebuah teknik untuk mengoptimalkan program pada tingkat rendah
C. Sebuah metode untuk mengubah program ke dalam bahasa mesin
D. Sebuah aturan sintaksis yang harus diikuti dalam pemrograman
Jawaban: A
Soal 17:
Pada teori bahasa, apa yang dimaksud dengan "regular language"?
A. Sebuah bahasa formal yang dapat diterima oleh mesin Turing
B. Sebuah bahasa pemrograman yang populer dalam pengembangan web
C. Sebuah bahasa pemrograman yang mudah dipahami oleh manusia
D. Sebuah bahasa formal yang dapat diterima oleh automaton berhingga
Jawaban: D
Soal 18:
Apa yang dimaksud dengan "left recursion" dalam teori bahasa?
A. Sebuah aturan yang memungkinkan pemanggilan diri sendiri pada sebuah fungsi
B. Sebuah teknik untuk mengubah program ke dalam bahasa mesin
C. Sebuah metode untuk memecah program menjadi bagian-bagian yang lebih kecil
D. Sebuah kondisi yang terjadi saat aturan produksi memiliki rekursi langsung ke kiri
Jawaban: D
Soal 19:
Dalam teori bahasa, apa yang dimaksud dengan "lookahead"?
A. Sebuah teknik untuk memeriksa token-token berikutnya dalam program
B. Sebuah metode untuk mengurutkan instruksi dalam program
C. Sebuah struktur data yang digunakan untuk menyimpan informasi teks
D. Sebuah aturan sintaksis yang harus diikuti dalam pemrograman
Jawaban: A
Soal 20:
Apa yang dimaksud dengan "parse tree" dalam teori bahasa?
A. Sebuah struktur data yang digunakan untuk menyimpan informasi teks
B. Sebuah algoritma yang digunakan untuk mengolah data
C. Sebuah representasi grafis dari struktur sintaksis program
D. Sebuah teknik untuk memvalidasi sintaks program
Jawaban: C
Soal 21:
Pada teori bahasa, apa yang dimaksud dengan "attribute grammar"?
A. Sebuah metode untuk memvalidasi struktur sintaksis program
B. Sebuah aturan sintaksis yang memungkinkan penambahan atribut pada produksi
C. Sebuah teknik untuk memeriksa token-token berikutnya dalam program
D. Sebuah algoritma yang digunakan untuk mengolah data
Jawaban: B
Soal 22:
Apa yang dimaksud dengan "greedy matching" dalam teori bahasa?
A. Sebuah teknik untuk mencocokkan pola teks yang paling panjang
B. Sebuah metode untuk mengelompokkan data dalam pemrograman
C. Sebuah aturan sintaksis yang harus diikuti dalam pemrograman
D. Sebuah notasi formal yang digunakan untuk mendefinisikan sintaks bahasa pemrograman
Jawaban: A
Soal 23:
Dalam teori bahasa, apa yang dimaksud dengan "pushdown automaton"?
A. Sebuah alat yang dapat menjalankan program pada tingkat rendah
B. Sebuah aturan sintaksis yang memerlukan penumpukan tumpukan
C. Sebuah bahasa formal yang dapat diterima oleh mesin Turing
D. Sebuah teknik untuk mempercepat proses parsing
Jawaban: B
Soal 24:
Pada teori bahasa, apa yang dimaksud dengan "finite-state automaton"?
A. Sebuah bahasa formal yang dapat diterima oleh automaton berhingga
B. Sebuah teknik untuk mengoptimalkan performa program
C. Sebuah aturan sintaksis yang memerlukan penggunaan tanda baca khusus
D. Sebuah metode untuk mengubah program ke dalam bahasa mesin
Jawaban: A
Soal 25:
Apa yang dimaksud dengan "LL(k) parsing" dalam teori bahasa?
A. Sebuah teknik untuk memvalidasi sintaks program
B. Sebuah metode untuk mengubah program ke dalam bahasa mesin
C. Sebuah teknik parsing yang menggunakan lookahead sebanyak k token
D. Sebuah aturan sintaksis yang memerlukan pemanggilan diri sendiri pada sebuah fungsi
Jawaban: C
Soal 26:
Dalam teori bahasa, apa yang dimaksud dengan "shift-reduce parsing"?
A. Sebuah teknik parsing yang melibatkan penundaan reduksi
B. Sebuah metode untuk menggabungkan bahasa pemrograman yang berbeda
C. Sebuah aturan sintaksis yang memerlukan penggunaan tanda baca khusus
D. Sebuah struktur data yang digunakan untuk menyimpan informasi teks
Jawaban: A
Soal 27:
Pada konteks teori bahasa, apa yang dimaksud dengan "left factoring"?
A. Sebuah teknik untuk mengurutkan instruksi dalam program
B. Sebuah metode untuk memecah program menjadi bagian-bagian yang lebih kecil
C. Sebuah aturan sintaksis yang memerlukan penumpukan tumpukan
D. Sebuah teknik yang mengeliminasi ambiguitas dalam aturan produksi
Jawaban: D
Soal 28:
Apa yang dimaksud dengan "finite-state transducer" dalam teori bahasa?
A. Sebuah bahasa pemrograman yang populer dalam pengembangan web
B. Sebuah notasi formal yang digunakan untuk mendefinisikan tipe data
C. Sebuah alat yang dapat menjalankan program pada tingkat rendah
D. Sebuah model komputasi abstrak yang menerima bahasa masukan dan menghasilkan bahasa keluaran
Jawaban: D
Soal 29:
Dalam teori bahasa, apa yang dimaksud dengan "pumping lemma"?
A. Sebuah teknik untuk memvalidasi struktur sintaksis program
B. Sebuah metode untuk memeriksa token-token berikutnya dalam program
C. Sebuah teknik yang digunakan untuk membuktikan bahwa bahasa tidak teratur
D. Sebuah aturan sintaksis yang memerlukan pemanggilan diri sendiri pada sebuah fungsi
Jawaban: C
Soal 30:
Pada teori bahasa, apa yang dimaksud dengan "recursive descent parsing"?
A. Sebuah metode parsing yang mengikuti aturan produksi dari atas ke bawah
B. Sebuah metode untuk mengubah program ke dalam bahasa mesin
C. Sebuah teknik yang mengeliminasi ambiguitas dalam aturan produksi
D. Sebuah struktur data yang digunakan untuk menyimpan informasi teks
Jawaban: A
Soal 31:
Apa yang dimaksud dengan "strong typing" dalam teori bahasa pemrograman?
A. Sebuah metode untuk memvalidasi tipe data dalam program
B. Sebuah teknik untuk mengoptimalkan performa program
C. Sebuah aturan sintaksis yang memerlukan penggunaan tanda baca khusus
D. Sebuah bahasa pemrograman yang mudah dipahami oleh manusia
Jawaban: A
Soal 32:
Dalam konteks teori bahasa, apa yang dimaksud dengan "type inference"?
A. Sebuah teknik untuk mencocokkan pola teks dalam program
B. Sebuah metode untuk mengubah program ke dalam bahasa mesin
C. Sebuah teknik yang memungkinkan deduksi tipe data tanpa harus secara eksplisit dideklarasikan
D. Sebuah struktur data yang digunakan untuk menyimpan informasi teks
Jawaban: C
Soal 33:
Pada teori bahasa, apa yang dimaksud dengan "polymorphism"?
A. Sebuah teknik untuk mengelompokkan data dalam pemrograman
B. Sebuah metode untuk mempercepat proses parsing
C. Sebuah kemampuan untuk memperlakukan objek dengan tipe data yang berbeda secara serupa
D. Sebuah aturan sintaksis yang memerlukan penumpukan tumpukan
Jawaban: C
Soal 34:
Apa yang dimaksud dengan "lexical scope" dalam teori bahasa pemrograman?
A. Sebuah teknik untuk mengelompokkan data dalam pemrograman
B. Sebuah metode untuk mengurutkan instruksi dalam program
C. Sebuah aturan sintaksis yang memerlukan penggunaan tanda baca khusus
D. Sebuah ruang lingkup yang mencakup blok kode di dalamnya dan anak-anaknya
Jawaban: D
Soal 35:
Dalam teori bahasa, apa yang dimaksud dengan "lambda calculus"?
A. Sebuah bahasa pemrograman yang populer dalam pengembangan web
B. Sebuah notasi formal yang digunakan untuk mendefinisikan tipe data
C. Sebuah model komputasi matematis yang mendasari bahasa pemrograman fungsional
D. Sebuah alat yang dapat menjalankan program pada tingkat rendah
Jawaban: C
Soal 36:
Pada konteks teori bahasa, apa yang dimaksud dengan "immutable"?
A. Sebuah metode untuk mengoptimalkan performa program
B. Sebuah aturan sintaksis yang memerlukan penumpukan tumpukan
C. Sebuah sifat yang mengindikasikan bahwa suatu objek tidak dapat diubah setelah dibuat
D. Sebuah teknik parsing yang melibatkan penundaan reduksi
Jawaban: C
Soal 37:
Apa yang dimaksud dengan "garbage collection" dalam teori bahasa pemrograman?
A. Sebuah teknik untuk mencocokkan pola teks dalam program
B. Sebuah metode untuk menggabungkan bahasa pemrograman yang berbeda
C. Sebuah proses otomatis untuk membebaskan memori yang tidak lagi digunakan oleh program
D. Sebuah struktur data yang digunakan untuk menyimpan informasi teks
Jawaban: C
Soal 38:
Dalam teori bahasa pemrograman, apa yang dimaksud dengan "object-oriented programming" (OOP)?
A. Sebuah teknik untuk mengelompokkan data dalam pemrograman
B. Sebuah metode untuk memeriksa token-token berikutnya dalam program
C. Sebuah paradigma pemrograman yang berfokus pada objek dan interaksi antara objek
D. Sebuah aturan sintaksis yang harus diikuti dalam pemrograman
Jawaban: C
Soal 39:
Pada teori bahasa pemrograman, apa yang dimaksud dengan "inheritance"?
A. Sebuah teknik untuk memeriksa tipe data dalam program
B. Sebuah metode untuk mengoptimalkan performa program
C. Sebuah mekanisme yang memungkinkan kelas baru mendapatkan sifat dan perilaku dari kelas yang sudah ada
D. Sebuah struktur data yang digunakan untuk menyimpan informasi teks
Jawaban: C
Soal 40:
Apa yang dimaksud dengan "encapsulation" dalam teori bahasa pemrograman?
A. Sebuah metode untuk mengubah program ke dalam bahasa mesin
B. Sebuah teknik yang memungkinkan penyembunyian detail implementasi suatu objek
C. Sebuah aturan sintaksis yang memerlukan pemanggilan diri sendiri pada sebuah fungsi
D. Sebuah teknik untuk mencocokkan pola teks dalam program
Jawaban: B
Soal 41:
Dalam teori bahasa pemrograman, apa yang dimaksud dengan "polymorphic type"?
A. Sebuah tipe data yang dapat mengandung nilai dari berbagai tipe data yang berbeda
B. Sebuah metode untuk memeriksa tipe data dalam program
C. Sebuah teknik untuk mengoptimalkan performa program
D. Sebuah aturan sintaksis yang memerlukan penggunaan tanda baca khusus
Jawaban: A
Soal 42:
Pada teori bahasa pemrograman, apa yang dimaksud dengan "dynamic typing"?
A. Sebuah teknik untuk mengelompokkan data dalam pemrograman
B. Sebuah metode yang memungkinkan tipe data berubah secara dinamis selama runtime
C. Sebuah aturan sintaksis yang memerlukan penumpukan tumpukan
D. Sebuah teknik yang mempercepat proses parsing
Jawaban: B
Soal 43:
Apa yang dimaksud dengan "concurrency" dalam teori bahasa pemrograman?
A. Sebuah teknik untuk mencocokkan pola teks dalam program
B. Sebuah metode yang memungkinkan eksekusi beberapa tugas secara bersamaan
C. Sebuah aturan sintaksis yang memerlukan pemanggilan diri sendiri pada sebuah fungsi
D. Sebuah struktur data yang digunakan untuk menyimpan informasi teks
Jawaban: B
Soal 44:
Dalam teori bahasa pemrograman, apa yang dimaksud dengan "mutex"?
A. Sebuah metode untuk menggabungkan bahasa pemrograman yang berbeda
B. Sebuah teknik untuk mengoptimalkan performa program
C. Sebuah mekanisme yang digunakan untuk memastikan bahwa hanya satu thread yang dapat mengakses sumber daya pada suatu waktu
D. Sebuah alat yang dapat menjalankan program pada tingkat rendah
Jawaban: C
Soal 45:
Pada konteks teori bahasa, apa yang dimaksud dengan "deadlock"?
A. Sebuah teknik untuk mengelompokkan data dalam pemrograman
B. Sebuah kondisi yang terjadi ketika dua atau lebih thread saling menunggu untuk sumber daya yang sama, sehingga tidak ada yang bisa melanjutkan
C. Sebuah aturan sintaksis yang memerlukan penggunaan tanda baca khusus
D. Sebuah teknik parsing yang melibatkan penundaan reduksi
Jawaban: B
Soal 46:
Apa yang dimaksud dengan "race condition" dalam teori bahasa pemrograman?
A. Sebuah teknik untuk mencocokkan pola teks dalam program
B. Sebuah situasi yang terjadi ketika dua atau lebih thread bersaing untuk mengakses dan memodifikasi suatu sumber daya bersama, sehingga hasil akhir tidak dapat diprediksi
C. Sebuah metode untuk mempercepat proses parsing
D. Sebuah struktur data yang digunakan untuk menyimpan informasi teks
Jawaban: B
Soal 47:
Dalam teori bahasa pemrograman, apa yang dimaksud dengan "atomicity"?
A. Sebuah metode untuk memeriksa tipe data dalam program
B. Sebuah mekanisme yang memastikan bahwa suatu operasi dalam program dapat dieksekusi tanpa gangguan
C. Sebuah teknik untuk mengoptimalkan performa program
D. Sebuah aturan sintaksis yang memerlukan pemanggilan diri sendiri pada sebuah fungsi
Jawaban: B
Soal 48:
Pada teori bahasa pemrograman, apa yang dimaksud dengan "exception handling"?
A. Sebuah teknik yang digunakan untuk mengatasi kesalahan atau kondisi tak terduga dalam program
B. Sebuah metode untuk mengubah program ke dalam bahasa mesin
C. Sebuah teknik untuk mengelompokkan data dalam pemrograman
D. Sebuah aturan sintaksis yang harus diikuti dalam pemrograman
Jawaban: A
Soal 49:
Apa yang dimaksud dengan "reflection" dalam teori bahasa pemrograman?
A. Sebuah teknik untuk mengelompokkan data dalam pemrograman
B. Sebuah mekanisme yang memungkinkan program untuk memeriksa dan memanipulasi struktur internalnya pada waktu runtime
C. Sebuah aturan sintaksis yang memerlukan penggunaan tanda baca khusus
D. Sebuah alat yang dapat menjalankan program pada tingkat rendah
Jawaban: B
Soal 50:
Dalam teori bahasa pemrograman, apa yang dimaksud dengan "garbage collector"?
A. Sebuah teknik untuk mencocokkan pola teks dalam program
B. Sebuah mekanisme yang secara otomatis menghapus objek yang tidak lagi digunakan dalam program untuk membebaskan memori
C. Sebuah struktur data yang digunakan untuk menyimpan informasi teks
D. Sebuah teknik yang mempercepat proses parsing
Jawaban: B