[Vclass 2] Teknik Kompilasi
V-Class
2 Teknik Kompilasi
Essay
1.
Sebutkan
definisi:
·
Bahasa mesin
atau kode mesin merupakan seperangkat instruksi serta data yang dapat
dieksekusi secara langsung oleh prosesor komputer. Kode mesin merupakan
tingkatan yang paling rendah dari bahasa pemrograman dan biasanya digunakan
sebagai tujuan kompilasi oleh kompiler pada bahasa-bahasa pemrograman lain
dalam tingkatan yang lebih tinggi. Bentuk bahasa mesin yaitu berupa kode biner
contoh: 011001001
·
Bahasa assembly adalah sebuah program yang terdiri dari
instruksi-instruksi yang menggantikan
kode-kode biner dari bahasa mesin dengan “mnemonik” yang mudah diingat.
Misalnya sebuah instruksi penambahan dalam bahasa mesin dengan kode “10110011”
yang dalam bahasa assembly dapat dibuat dalam instruksi mnemonik ADD, sehingga
mudah diingat dibandingkan dengan angka 0 dan 1, dalam setiap instruksi
membutuhkan suatu operand baik berupa data langsung maupun suatu lokasi memori
yang menyimpan data yang bersangkutan. Bahasa assembly sering juga disebut kode
sumber atau kode simbolik yang tidak dapat dijalankan oleh prosesor, sedangkan
assembler adalah suatu program yang dapat menerjemahkan program bahasa assembly
ke program bahasa mesin.
·
Bahasa pemrograman tingkat tinggi adalah sebuah bahasa pemrograman yang jika
dibandingkan dengan bahasa pemrograman tingkat rendah memiliki sifat lebih
mudah digunakan, lebih portabel (mudah diadaptasikan) antar-platform, dan lebih
abstrak. Bahasa-bahasa semacam ini sering melakukan abstraksi terhadap beberapa
operasi CPU, seperti halnya pengaksesan memori. Bahasa pemrograman tingkat
tinggi yang pada umumnya ditulis oleh programmer untuk mengembangkan suatu
program atau aplikasi, karena kemudahannya untuk dibaca.
2.
Jelaskan tentang
·
Compiler
adalah sebuah program komputer yang berguna untuk menerjemahkan program
komputer yang ditulis dalam bahasa pemrograman tertentu menjadi program yang
ditulis dalam bahasa pemrograman lain menjadi bahasa mesin dengan bahasa
assembly sebagai perantara.
·
Interpreter
adalah perangkat lunak yang mampu mengeksekusi code program (yang ditulis oleh
programmer) lalu menterjemahkannya ke dalam bahasa mesin, sehingga mesin
melakukan instruksi yang diminta oleh programmer tersebut. Perintah-perintah
yang dibuat oleh programmer tersebut dieksekusi baris demi baris, sambil
mengikuti logika yang terdapat di dalam kode tersebut. Proses ini sangat
berbeda dengan compiler, dimana pada compiler, hasilnya sudah langsung berupa
satu kesatuan perintah dalam bentuk bahasa mesin, dimana proses penterjemahan
dilaksanakan sebelum program tersebut dieksekusi.
·
Assembler
adalah Sebuah program yang terdiri dari instruksi-instruksi yang menggantikan
kode-kode biner dari bahasa mesin dengan “mnemonik” yang mudah diingat. Bahasa
tersebut sering juga disebut kode sumber atau kode simbolik yang tidak dapat
dijalankan oleh prosesor, sedangkan assembler adalah suatu program yang dapat
menerjemahkan program bahasa assembly ke program bahasa mesin. Bahasa mesin
adalah kumpulan kode biner yang merupakan instruksi yang bisa dijalankan oleh
komputer. Program bahasa mesin sering disebut sebagai kode objek.
3.
Apa yang dimaksud
dengan BootStrap
Gagasan dari Bootstrap adalah kita bisa membangun sesuatu yang besar dengan
lebih dulu membuat bagian intinya. Cara ini diperkenalkan oleh Niklaus Wirth
saat membuat kompilator untuk bahasa Pascal.
Pada gambar di atas, P0 dibangun dengan assembly,
P1 dibangun dengan P0, P2 dibangun dengan P1. Jadi kompilator untuk bahasa P
bisa dibuat tanpa harus secara keseluruhan menggunakan assembly.
4.
Sebutkan definisi
Grammar dan Automata Hingga
Grammar adalah suatu tata bahasa dan Automata Hingga (Finite Automata)
merupakan mesin abstrak yang terdiri dari Head membaca dan kotak kontrol Stata
hingga. Mesin ini membaca sebuah pita (tape), satu persatu karakter, dari kiri
ke kanan. Perubahan stata terjadi pada mesin jika suatu karakter pita dibaca.
Grammar himpunan yang terdiri dari 4 tupel.
G (Vn, Vt, S, P)
Yang dimana :
Vn : Himpunan
Non-terminal
Vt : Himpunan
terminal
S : Simbol Start ϵ
Vn
P : Himpunan
Produksi
5.
Sebutkan 4 jenis
Grammar menurut Chomsky, masing-masing beserta
aturan produksinya.
·
Grammar
tipe-0 : UNRESTRICTED GRAMMAR (UG)
α, β ϵ (VT | VN)*, | α | > 0
·
Grammar tipe-1 : CONTEXT SENSITIVE GRAMMAR (CSG)
α, β ϵ (VT | VN)*, 0 < | α | ≤ | β |
·
Grammar tipe-2 : CONTEXT FREE GRAMMAR (CFG)
α ϵ VN , β ϵ (VT | VN)*
·
Grammar tipe-3 : REGULLAR GRAMMAR (RG)
α ϵ VN , β ϵ {VT , VT VN} atau α ϵ VN , β ϵ {VT
, VN VT }
Pilihan Ganda
1. Yang
dimaksud dengan Diagram State, pada teknik kompilasi adalah
a.
Digunakan untuk mendapatkan token, mempermudah
melakukan analisis lexical
b.
Digunakan untuk mendapatkan token, mempermudah
melakukan analisis syntax
c.
Aturan produksi yang dikenal oleh comsky
d.
Simbol terminal
Jawaban : A
2. Yang
dimaksud dengan TOKEN, pada teknik kompilasi adalah
a.
Digunakan untuk mendapatkan token, mempermudah
melakukan analisis lexical
b.
Digunakan untuk mendapatkan token, mempermudah
melakukan analisis syntax
c.
Alat bantu (tools) dalam pembuatan
parses/analisis sintaksis
d.
Simbol terminal
Jawaban : D
3. Yang
dimaksud dengan Diagram Syntax, pada teknik kompilasi adalah
a.
Digunakan untuk mendapatkan token, mempermudah
melakukan analisis lexical
b.
Digunakan untuk mendapatkan token, mempermudah
melakukan analisis syntax
c.
Alat bantu (tools) dalam pembuatan
parser/analisis sintaksis
d.
Simbol terminal
Jawaban : C
4. Translator
yang Source codenya adalah bahasa assembly dan Object codenya
adalah bahasa mesin, disebut dengan
a.
Assembler
b.
Compiler
c.
Interpreter
d.
Supplier
Jawaban : A
5. Translator
yang Source codenya adalah bahasa tingkat tinggi, object code adalah bahasa
mesin atau bahasa assembly, dimana source code dan data diproses berbeda,
disebut dengan :
a.
Assembler
b.
Compiler
c.
Interpreter
d.
Supplier
Jawaban : B
6. Mengelompokkan
program asal/sumber menjadi token disebut dengan
a.
Scanner
b.
Parser
c.
Lexicer
d.
Interpreter
Jawaban : A
7. Yang
bertugas untuk memeriksa kebenaran dan urutan dari token-token yang terbentuk
oleh scanner, disebut dengan:
a.
Scanner
b.
Parser
c.
Lexicer
d.
Interpreter
Jawaban : B
8. Tugas
dari analysis lexical adalah
a.
Mentransformasikan ke dalam bentuk token-token
b.
Proses pendeteksian token-token
c.
Untuk mengenali makna dari simbol-simbol
d.
Memeriksa variabel sudah dideklarasikan atau
belum
Jawaban : A
9. Tugas
dari Semantics analyser adalah
a.
Mentransformasikan ke dalam bentuk token-token
b.
Proses pendeteksian token-token
c.
Untuk mengenali makna dari simbol-simbol
d.
Memeriksa variabel sudah dideklarasikan atau
belum
Jawaban : D
10. Tugas
dari Syntax analyser adalah
a.
Mentransformasikan ke dalam bentuk token-token
b.
Proses pengelompokan token-token kedalam class
syntax
c.
Untuk mengenali makna dari simbol-simbol
d.
Memeriksa variabel sudah dideklarasikan atau
belum
Jawaban : B
11. Tugas
dari Intermidiate code, adalah
a.
Mentransformasikan ke dalam bentuk token-token
b.
Proses pengelompokan token-token kedalam class
syntax
c.
Memperkecil usaha dalam membuat compilator dari
sejumlah bahasa ke sejumlah mesin
d.
Memeriksa variabel sudah dideklarasikan atau
belum
Jawaban : C
12. Fungsi dari
Tabel simbol, adalah :
a.
Mentransformasikan ke dalam bentuk token-token
b.
Proses pengelompokan token-token kedalam class
syntax
c.
Memperkecil usaha dalam membuat compilator dari
sejumlah bahasa ke sejumlah mesin
d.
Menindak lanjuti untuk perbaikan
Jawaban : D
No Comment to " [Vclass 2] Teknik Kompilasi "