August 28, 2017

Compiler dan Interpreter

1. Pengertian INTERPRETER, COMPILER dan LINKER

2. Perbedaan INTERPRETER dan COMPILER 

1. Pengertian Interpreter
Interpreter adalah perangkat lunak yang mampu mengeksekusi kode program (yang ditulis oleh programmer) lalu menterjemahkannya ke dalam bahasa mesin. Perintah-perintah kode dieksekusi baris demi baris, sambil mengikuti alur logika yang dibuat oleh programmer 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.

Interpreter atau dalam bahasa Indonesia dikenal sebagai Juru Bahasa, berbeda dengan Translator atau penterjemah dalam segi media yang dipakai untuk menerjemahkan. Interpreter akan menterjemahkan bahasa sumber ke dalam bahasa sasaran secara langsung atau orally sementara translator akan menerjemahkan bahasa sumber ke bahasa sasaran secara tertulis.

Java dijalankan menggunakan interpreter yaitu Java Virtual Machine (JVM). Hal ini menyebabkan source code Java yang telah dikompilasi menjadi Java bytecodes dapat dijalankan pada platform yang berbeda-beda.



Interpreter menerjemahkan kode sumber satu baris seluruh pada suatu waktu.

2. Pengertian Compiler
Compiler adalah suatu program yang melakukan proses translasi dari (high level languange-HLL) HLL ke dalam bahasa mesin di komputer yang menerjemahkan bahasa program dan menerjemahkan kode source sekaligus ( source code) kedalam bahasa objek (obyek code) . Disamping program translasi, compiler juga mempunyai beberapa fungsi penting, seperti diagnostik, 
contohnya kemampuan pendeteksian error/kesalahan. Pelannggaran spesifikasi HLL akan terdeteksi dan diketahui programmer agar segera diperbaiki hingga mempermudah pembentukan machine language equivalent.
Pada beberapa compiler, output berupa bahasa mesin dilaksanakan dengan proses assembler yang berbeda.

Compiler dapat berjalan lebih cepat disbanding program yang diproduksi oleh interpreter, disamping itu juga bersifat independen. Contoh program yang menggunakan compiler adalah Visual Basic, Visual Delvi, dan Pascal dll.

Compiler menggabungkan keseluruhan bahasa program, mengumpulkannya dan kemudian menyusunnya kembali dan memerlukan waktu untuk membuat suatu program dapat di eksekusi oleh computer.

Perbedaan antara Compiler dengan Interpreter :

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. 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.

 5. 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.


Beberapa tahun terakhir ada dua faktor yang menjadi perhatian dalam pengembangan program, yaitu : Protabilitas dan Pemeliharaan program. Seperti diketahui komputer tidak ‘mengenal’ HLL, sehingga diperlukan suatu konversi ke dalam bahasa mesin.

Compiler dan interpreter, Mereka berdua sama seperti mereka mencapai tujuan yang sama, tetapi inheren berbeda tentang bagaimana mereka mencapai tujuan itu. Kode dikompilasi mengambil program (source) ditulis dalam beberapa jenis bahasa pemrograman, dan kemudian akhirnya menerjemahkannya ke dalam kode obyek atau bahasa mesin. Kode dikompilasi melakukan pekerjaan jauh lebih efisien, karena menghasilkan program bahasa mesin lengkap, yang kemudian dapat dieksekusi. 
Penafsir menerjemahkan instruksi satu per satu , dan kemudian mengeksekusi instruksi tersebut segera dalam satu waktu. Compiler sendiri merupakan program komputer yang ditulis biasanya dalam beberapa implementasi bahasa. 
Compiler dan interpreter keduanya apa yang kita sebut penerjemah. Tujuan mereka adalah untuk menerjemahkan kode pemrograman bahasa sumber seperti (C + +, VB, Java, perakitan dan sebagainya) ke dalam bahasa tingkat rendah (bahasa mesin) yang dimengerti oleh komputer.

Tahap Kompilasi:
    Pertama source code (program yang ditulis) dibaca kememori computer).
    Source code tersebut diubah menjadi objek code (bahasa Assembly).
    Objek code di hubungkan dengan liberary yang dibutuhkan untuk membentuk file yang 
    bisa dieksekusi.


3. Pengertian Linker
Linker adalah suatu program yang menterjemahkan program objek (bereksention OBJ) ke bentuk program eksekusi (berekstension EXE atau COM).Sedangkan untuk membuat file object ke bentuk file yang dapat dieksekusi (berekstension.COM atau.EXE) bisa anda gunakan file TLINK.EXE.

Print Friendly and PDF

No comments:

Post a Comment