Penerjemah bahasa pemrograman dibedakan menjadi 3 (tiga) macam, yaitu assembler, kompiler, dan interpreter
2) Bahasa assembly Bahasa asembly adalah bahasa pemrograman yang menggunakan bahasa rakitan. Bahasa assembly kebanyakan digunakan untuk pengendalian hardware yang diwujudkan dalam kependekan katakata sebagai pengganti kode-kode biner, misalnya JNZ (jump non zero) yang artinya lompatlah jika tidak sama dengan nol. Kelanjutan dari bahasa assembly adalah sebuah program yang berguna untuk mengambil informasi yang dituliskan oleh seorang programmer dalam bahasa assembly serta menerjemahkannya ke dalam sebuah program yang dapat dieksekusi oleh komputer, program ini dinamakan assembler. Output assembler harus diproses oleh linker untuk menghasilkan program akhir.
Setelah memahami konsep diartikel sebelumnya, mari dilanjutkan dengan memahami 2 jenis penerjemah atau transalator dalam bahasa pemrograman. Perlu dipahami, bahwa program yang ditulis dalam bahasa C sebenarnya tidak serta merta langsung dimengerti oleh komputer, karena komputer hanya mengenal satu bahasa, yaitu mesin. Bahasa mesin merupakan suatu bahasa yang hanya mengenal kode 1 dan 0. Supaya kode program yang telah ditulis dapat dimengerti oleh komputer, maka perlu diterjemahkan menjadi bahasa mesin tersebut. Proses penerjemah ini dapat dilakukan oleh program yang sering disebut dengan translator. Dalam lingkup pemrograman, ada dua jenis translator yang dapat digunakan, diantaranya Untuk lebih memahami mengenai kedua point diatas, mari dikupas satu persatu dimulai dari point yang pertama IntrepeterIntrepeter ini menerjemahkan instruksi selama program dimintak untuk dieksekusi. Jika seorang programmer menjalankan program yang telah ditulis, maka awalnya kode program tersebut akan diterjemahkan oleh intrepeter (perbaris) menjadi bahasa mesin supaya dimengerti oleh komputer. Setelah komputer memahami program yang telah diterjemahkan tersebut, selanjutnya komputer akan memproses hingga mendapatkan keluaran yang dihasilkan. Atau bila divisualisasikan kedalam gambar akan menjadi seperti berikut ini KompilerBerbeda dengan intrepeter diatas, kompiler menerjemahkan instruksi menjadi source code(secara keseluruhan). Setelah semua instruksi diterjemahkan dan dimengerti oleh komputer, baru akan dijalankan. Proses penerjemahan inilah yang disebut dengan kompiler. Setelah kompilasi selesai dilakukan, kompiler tidak diperlukan sebab sesudah kompilasi akan terbentuk program yang siap dijalankan. Atau bila divisualisasikan kedalam gambar akan menjadi seperti berikut ini Setelah memahami konsep ini, selanjutkan akan dibahas mengenai kelebihan dan kelemahan intepreter dan kompiler. Stay tuned! Dalam ilmu komputer, penerjemah atau lebih dikenal dengan interpreter merupakan perangkat lunak yang berfungsi melakukan eksekusi sejumlah instruksi yang ditulis dalam suatu bahasa pemrograman, sebuah penerjemah dapat berarti:
Perl, Python, Ruby, dan MATLAB merupakan beberapa contoh perangkat lunak penerjemah bertipe 2, sementara Java termasuk dalam kategori tipe 3, tetapi dalam beberapa kasus Java dapat digolongkan pula ke dalam kategori tipe 2.
Meskipun penerjemahan dan kompilasi merupakan dua jenis mekanisme implementasi pada sebuah bahasa pemrograman, keduanya tidak berarti memiliki perbedaan secara signifikan. Hal ini disebabkan cara kerja sebuah penerjemah dalam banyak hal adalah sama seperti halnya yang dilakukan oleh kompiler. Penggunaan istilah "bahasa pemrograman terjemahan" dan "bahasa pemrograman kompilatif" umumnya digunakan sebatas untuk membedakan implementasi dari bahasa tersebut menggunakan model penerjemahan atau kompilatif.
Artikel bertopik perangkat lunak ini adalah sebuah rintisan. Anda dapat membantu Wikipedia dengan mengembangkannya. Bahasa mesin atau kode mesin 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. Penerjemahan kode pada bahasa pemrograman interpretatif atau bahasa skrip umumnya tidak termasuk dalam kriteria tersebut karena umumnya bahasa skrip menerjemahkan kode sumber menjadi P-Code, kode penjembatan antara kode sumber dan kode mesin. Meski demikian, umumnya bahasa skrip populer yang ada saat ini telah menambahkan kompiler JIT (Just In Time) integratif yang secara hibrida mengkompilasi instruksi-instruksi P-Code yang paling sering dieksekusi menjadi kode mesin.
Setiap prosesor ataupun keluarga prosesor memiliki sejumlah set instruksi kode mesin. Instruksi ini merupakan pola bilangan biner yang merepresentasikan perintah-perintah yang dikenali oleh prosesor tersebut. Karenanya sejumlah prosesor spesifik memiliki sejumlah set instruksi spesifik yang hanya dikenali pada prosesor tersebut, sebagai contoh fitur MMX dalam prosesor X86, atau 3DNow dalam keluarga prosesor AMD. Pola instruksi ini biasanya merupakan serialisasi dari sejumlah bilangan biner yang digabungkan hingga membentuk opcode untuk melakukan pemindahan (MOV), lompatan (JMP), operasi aritmetika, penyimpanan (PUSH), ataupun pengambilan nilai (POP), dan lain-lain. Contoh serialisasi tersebut misalnya; kode biner atas instruksi pemindahan adalah 10110 diikuti dengan 3-bit pengenal atas register yang akan digunakan, sedangkan pengenal atas register prosesor AL adalah 000. Dengan demikian perintah untuk memindahkan sebuah nilai ke dalam register prosesor AL adalah 10110000, atau B0 dalam bilangan heksadesimal. Sebuah program pada dasarnya adalah sejumlah set instruksi yang disimpan dalam sejumlah berkas yang dieksekusi oleh prosesor. Alur kontrol yang terdapat pada program merupakan representasi dari serangkaian instruksi lompatan dalam bahasa mesin yang umumnya diawali dengan suatu operasi aritmatis ataupun operasi logikal. Bahasa rakitan adalah bahasa pemrograman tingkat rendah yang menggunakan simbol-simbol (mnemonics) sebagai representasi dari instruksi kode mesin dengan tujuan agar lebih mudah dipahami oleh manusia sehingga memungkinkan sebuah program komputer dibuat secara lebih mudah.
|