Senin, 19 November 2018

Vclass2_TEKNIK KOMPILASI


A. Essay 

1. Sebutkan definisi:
    a.  Bahasa mesin 
jawaban:
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.
    b.  Bahasa assembly
jawaban:
Bahasa pemrograman tingkat rendah. Dalam pemrograman komputer dikenal dua jenis tingkatan bahasa, jenis yang pertama adalah bahasa pemrograman tingkat tinggi (high level language) dan jenis yang kedua adalah bahasa pemrograman tingkat rendah (low level language).
Kelebihan Bahasa Assembly:
1. Ketika di-compile lebih kecil ukuran
2. Lebih efisien/hemat memori
3. Lebih cepat dieksekusi
Kesulitan Bahasa Assembly:
1. Dalam melakukan suatu pekerjaan, baris program relatif lebih panjang dibanding bahasa tingkat tinggi
2. Relatif lebih sulit untuk dipahami terutama jika jumlah baris sudah terlalu banyak
3. Lebih sulit dalam melakukan pekerjaan rumit, misalnya operasi matematis
    c. Bahasa tingkat Tinggi
jawaban:
Bahasa tingkat tinggi akan membuat pemrograman komputer yang kompleks menjadi lebih sederhana, sementara bahasa tingkat rendah cenderung untuk membuat kode yang lebih efisien. Dalam sebuah bahasa tingkat tinggi, elemen-elemen kompleks dapat dipecah ke dalam beberapa elemen yang lebih sederhana, meski masih dapat dianggap kompleks, di mana bahasa tersebut menyediakan abstraksi. Karena alasan ini, kode-kode yang harus berjalan dengan efisien dapat ditulis dalam bahasa pemrograman tingkat rendah, sementara bahasa tingkat tinggi digunakan untuk mempermudah pemrograman. Akan tetapi, dengan bertambah rumitnya arsitektur mikroprosesor modern, kompilator-kompilator bahasa pemrograman tingkat tinggi dapat membuat kode yang lebih efisien dibandingkan dengan para programmer bahasa pemrograman tingkat rendah yang melakukannya secara manual.

2. Jelaskan tentang
    a. Compiler
jawaban:
Suatu program yang menerjemahkan bahasa program ( source code) kedalam bahasa objek (obyek code). Compiler menggabungkan keseluruhan bahasa program, mengumpulkannya dan kemudian menyusunnya kembali.Komplier memerlukan waktu untuk membuat suatu program dapat di eksekusi oleh computer, program yang dieksekusi oleh compiler adalah dapat berjalan lebih cepat disbanding program yang diperoduksi oleh interpreter, disamping itu juga bersifat independen. Contoh program yang menggunakan compiler adalah Visual Basic, Visual Delvi, dan Pascal.
    b. Interpreter
jawaban:
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.

    c. Assembler
jawaban:
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.

3. Apa yang dimaksud dengan BootStrap
 Jawabam;
front-end framework yang solek, bagus dan luar biasa yang mengedapankan tampilan untuk mobile device (Handphone, smartphone dll.) guna mempercepat dan mempermudah pengembangan website. Bootstrap menyediakan HTML, CSS dan Javascript siap pakai dan mudah untuk dikembangkan. Artinya, tampilan web yang dibuat oleh bootstrap akan menyesuaikan ukuran layar dari browser yang kita gunakan baik di desktop, tablet ataupun mobile device. Fitur ini bisa diaktifkan ataupun dinon-aktifkan sesuai dengan keinginan kita sendiri. Sehingga, kita bisa membuat web untuk tampilan desktop saja dan apabila dirender oleh mobile browser maka tampilan dari web yang kita buat tidak bisa beradaptasi sesuai layar. Dengan bootstrap kita juga bisa membangun web dinamis ataupun statis.
4. Sebutkan definisi Grammar dan Automata Hingga
Jawaban:
Grammar  G    didefinisikan sebagai pasangan 4 Tuple : VT, VN, S , Q dan dituliskan sebagai G (VT, VN, S, Q), dimana :
VT           : himpunan simbol terminal (atau himpunan token-token, atau alphabet)
VN           : himpunan simbol-simbol non termnal
S ϵ VN    : simbol awal (atau simbol start)
Q             : himpunan produksi
5.  Sebutkan 4 jenis Grammar  menurut Chomsky, masing-masing beserta  aturan produksinya.
 jawaban:
  1. Grammar tipe-0 : UNRESTRICTED GRAMMAR (UG)
Ciri : α, β ϵ (VT | VN)*, | α | > 0
  1. Grammar tipe-1 : CONTEXT SENSITIVE GRAMMAR (CSG)
Ciri : α, β ϵ (VT | VN)*, 0 < | α | ≤ | β |
  1. Grammar tipe-2 : CONTEXT FREE GRAMMAR (CFG)
Ciri : α ϵ VN , β ϵ (VT | VN)*
  1. Grammar tipe-3 : REGULLAR GRAMMAR (RG)
Ciri : α ϵ VN , β ϵ {VT , VT VN} atau α ϵ VN , β ϵ {VT , VN VT }
Mengingat ketentuan simbol-simbol  maka ciri RG sering ditulis sebagai :
α ϵ VN , β ϵ {a , bC}  atau α ϵ VN , β ϵ {a , Bc}

B. 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 dikenalkan oleh comsky
        d. Simbol terminal
 jawab: A (Digunakan untuk mendapatkan token, mempermudah melakukan analisis lexical)
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 parser/ analisis sintaksis
        d. Simbol terminal
 jawab: D(symbol terminal)
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
 jawab: C(Alat bantu (tools) dalam pembuatan parser/ analisis sintaksis)
4. Translator yang Source codenya adalah bahasa assembly dan Object codenya  adalah bahasa mesin, disebut dengan
    a. Assembler
    b. Compiler
    c. Interpreter
    d. Supplier
 jawab: C(Interpreter)
5. Translator yang Source code nya adalah bahasa tingkat tinggi, object code adalah bahasa mesin atau bahasa assembly,  di mana source code dan data diproses berbeda, disebut dengan :
     a. Assembler
     b. Compiler
     c. Interpreter
     d. Supplier
 jawab: B(Compiler)
6. Memgelompokkan program asal/sumber menjadi token disebut dengan
     a. Scanner
     b. Parser
     c. Lexicer
     d. Interpreter
 jawab: C(Lexicer)


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
jawab: B(Parser)
8. Tugas dari anlysis lexixal 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
 jawab: A(Mentransformasikan ke dalam bentuk token-token)
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
 jawab: C(Untuk mengenali makna dari simbol-simbol)

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
 jawab: B(Proses pengelompokan token-token kedalam class syntax)
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
 jawab: C(Memperkecil usaha dalam membuat compilator dari sejumlah bahasa ke sejumlah mesin)
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
jawab: D(Menindak lanjuti untuk perbaikan)

Tidak ada komentar:

Posting Komentar