Wednesday 10 April 2013

mengenal interpreter dan compiler

kita seringkali mendengar kata ini oke sedikit coba membahasnya dalam bahasa sederhana

interpreter dan compiler sama - sama mempunyai tujuan mengubah kode asal menjadi kode mesin untuk dijalankan di mesin

compiler : mengubah sourcecode menjadi bahasa mesin baru dieksekusi , proses compile  kode   secara keseluruhan dan sekali saja,tidak butuh sourcecode hanya butuh hasil compile

hasil compile (bahasa mesin/file executable ) -> di eksekusi
interpreter : mengubah bahasa sourcecode secara baris demi baris baru dieksekusi,butuh kode sumber/sourcecode

sourcecode ->di interpretasi kebahasa mesin/file executable -> dieksekusi

Compiler  compiler

Interpreter

Interpreterkedua gambar diambil dari http://www.engineersgarage.com/contribution/difference-between-compiler-and-interpreter

contoh nyata :
Compiler :  tiap kita memprogram java harus dicompile terlebih dahulu baru dijalankan , lakukan perintah javac (perintah untuk mengcompile di java ) baru lakukan perintah java (perintah untuk menjalankan program )

Interpreter : tiap kota memprogram di php kita langsung menjalankan perintah php ke mesin tanpa harus di compile

sedikit perbedaan dari http://rob13y.wordpress.com/2010/03/26/perbedaan-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. 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.

semoga berguna :)

No comments:

blog ini ditujukan pada smua orang yang mempunyai penghargaan tertinggi terhadap sesuatu yang mereka cinta dan sayangi