Bismillah...

Translator


Translator (penerjemah) melakukan pengubahan source code / source program (program sumber) ke dalam target code / object code / object program (program objek). 
Source code ditulis dalam bahasa sumber, object code berupa bahasa pemrograman lain / bahasa mesin pada suatu komputer. 
Jadi penerjemah membaca suatu program yang ditulis dalam bahasa sumber dan menerjemahkan bahasa sumber ke dalam suatu bahasa lain. 
Saat melakukan proses penerjemahan, penerjemah akan melaporkan adanya  keanehan/kesalahan yang mungkin diketemukan. 

macam translator

a.  Assembler 
Source code adalah bahasa assembly, object code adalah bahasa mesin 
contoh : Turbo Assembler, Macro Assembler 



b.  Interpreter 
Input berupa source code yaitu bahasa scripting seperti PHP, Basic, Perl, Javascript, ASP, Java bytecode, Basic, Matlab, Matematica, Ruby.
 Interpreter tidak menghasilkan object code.  Hanya menghasilkan translasi internal. Input dapat berasal dari source code maupun dari inputan program dari user.  Source code dan inputan data user diproses pada saat yang bersamaan.
 Pada interpreter, program tidak harus dianalisis seluruhnya dulu, tapi bersamaan dengan jalannya
program.
Keuntungan  : mudah bagi user, debuging cepat
Kekurangan  : eksekusi program lambat, tidak langsung menjadi program  executable. 

c.  Kompilator (Compiler) 
Istilah compiler muncul karena dulu ada program yang menggunakan subrutin-subrutin atau pustaka-pustaka untuk keperluan yang sangat khusus yang dikumpulkan menjadi satu sehingga diistilahkan compiled.
 Input berupa source code program seperti Pascal, C, C++. Object code adalah bahasa assembly.
Source code dan data input diproses pada saat yang berbeda.
Compile time  adalah saat pengubahan dari source code menjadi object code.  Runtime  adalah saat eksekusi object code dan mungkin menerima input data dari user. Output : bahasa assembly. Kemudian oleh linker dihasilkan file EXE.
Kekurangan  : debugging lebih lambat
Keuntungan  : eksekusi program lebih cepat, menghasilkan file executable yang berdiri sendiri.