Anda di halaman 1dari 3

NAMA : MARLINA SIHOMBING NIM : 091401034

TUGAS : TEKNIK KOMPILASI

1.

Perbedaan compiler dan interpreter Jawab : Compiler adalah program sistem yang digunakan sebagai alat bantu dala, pemrograman. Perangkat lunak yang melakukan proses penterjemahan code (yang diuat programmer) ke dalam bahasa mesin. Hasil dari terjemahan ini adalah bahasa mesin. Pada beberapa compiler, ouput berupa bahasa mesun dilaksanakan dengan proses assembler yang berbeda. Sedangkan Interpreter adalah perangkat lunak yang mampu mengekseskusi code program (yang ditulis oleh programmer) lalu menterjemahkannya ke dalam bahasa mesin , sehingga mesin melakukan instruksi yang diminta oleh program 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. Lebih rincinya, perbedaan antara Compiler dengan Interpreter adalah:
1.

Jika hendak menjalankan program hasil kompilasi dapat dilakukan tanpa butuh kode sumber. Kalau interpreter butuh kode sumber

2.

Jika dengan kompiler, maka pembuatan kode yang bisa dijalankan mesin dilakukan dalam 2 tahap terpisah, yaitu parsing ( pembuatan kode objek ) dan linking ( penggabungan kode objek dengan library ) . Kalau interpreter tidak ada proses terpisah.

3.

JIka compiler membutuhkan linker untuk menggabungkan kode objek dengan berbagai macam library demi menghasilkan suatu kode yang bisa dijalankan oleh mesin. Kalau interpreter tidak butuh linker untuk menggabungkan kode objek dengan berbagai macam library.

4.

Interpreter cocok untuk membuat / menguji coba modul ( sub-routine / program-program kecil ). Maka compiler agak repot karena untuk mengubah suatu modul / kode objek kecil, maka harus dilakukan proses linking / penggabungan kembali semua objek dengan library yang diperlukan.

5.

Pada kompiler bisa dilakukan optimisasi / peningkatan kualitas kode yang bisa dijalankan. Ada yang dioptimasi supaya lebih cepat, ada yang supaya lebih kecil, ada yang dioptimasi untuk sistem dengan banyak processor. Kalau interpreter susah atau bahkan tidak bisa dioptimasikan

6.

Contoh bahasa pemrograman yang menggunakan compiler adalah Visual Basic, Fortran, Cobol, Pascal, C, dlsb. Sedangkan yang menggunakan interpreter yaitu PHP, ASP, Perl, Python

2.

Kenapa Intrepreter meyebabkan signifikan overhead? Jawab:


karena penafsir harus menganalisa setiap pernyataan dalam program setiap kali dijalankan dan kemudian melakukan tindakan yang diinginkan, sedangkan kode dikompilasi hanya melakukan tindakan dalam konteks tetap ditentukan oleh kompilasi

3.

Apa yang dimaksud dengan Just in time compiler dan sebutkan contohnya! Jawab:
Just-In-Time (JIT) kompiler adalah fitur run-time penerjemah, bahwa alih-alih menginterpretasikan bytecode setiap kali sebuah metode yang dipanggil, akan mengkompilasi bytecode ke instruksi kode mesin yang menjalankan mesin, dan kemudian meminta ini kode obyek instead. Idealnya efisiensi menjalankan kode objek akan mengatasi inefisiensi dari mengkompilasi ulang program setiap kali berjalan. Contoh :