Translator adalah suatu program atau metode dimana program tersebut mengambil input sebuah program lain yang ditulis pada suatu bahasa program (source language) ke bahasa lain (object on target language). Macam – macam translator antara lain : interpreter, compiler, dan assembler. Apa sih pengertian dari interpreter, compiler, dan assembler beserta perbedaan nya ??? OK saya akan mencoba menjelaskan nya :) A. Pengertian CompilerCompiler adalah program sistem yang digunakan sebagai alat bantu dalam pemrogaman.Perangkat lunak yang melakukan proses penterjemahan code (yang dibuat programmer) ke dalam bahasa mesin. Hasil dari terjemahan ini adalah bahasa mesin. Pada beberapa compiler, output berupa bahasa mesin dilaksanakan dengan proses assembler yang berbeda. B. Pengertian Interpreter Interpreter adalah perangkat lunak yang mampu mengeksekusi code program (yang di tulis programmer) lalu menerjemahkan nya ke dalam bahasa mesin, sehingga mesin melakukan instruksi yang diminta oleh programmer tersebut. Perintah (code) yang dibuat programmer tersebut dieksekusi baris demi baris, sambil mengikuti logika yang terdapat pada code tersebut. Interpreter tidak membangkitkan object code, hasil transaksi nya hanya dalam bentuk internal. Contoh bahasa pemrograman yang menggunakan interpreter adalah PHP, ASP, Perl, dll. Biasanya di dalam bahasa pemrograman berbasis web. Perbedaan antara Compiler dengan Interpreter :
C. Pengertian Assembler Bahasa assembly adalah sebuah program yang terdiri dari instruksi-instruksi yang menggantikan kode-kode biner dari bahasa mesin dengan “mnemonik” yang mudah diingat. Misalnya sebuah instruksi penambahan dalam bahasa mesin dengan kode “10110011” yang dalam bahasa assembly dapat dibuat dalam instruksi mnemonik ADD, sehingga mudah diingat dibandingkan dengan angka 0 dan 1, dalam setiap instruksi membutuhkan suatu operand baik berupa data langsung maupun suatu lokasi memori yang menyimpan data yang bersangkutan. Bahasa assembly sering juga disebut kode sumber atau kode simbolik yang tidak dapat dijalankan oleh prosesor, sedangkan assembler adalah suatu program yang dapat menerjemahkan program bahasa assembly ke program bahasa mesin. bahasa mesin adalah kumpulan kode biner yang merupakan instruksi yang bisa dijalankan oleh komputer. Program bahasa mesin sering disebut sebagai kode objek. Mungkin cukup sekian, semoga bermanfaat. Jangan lupa titik koma :)
Assembler vs Interpreter Secara umum, kompiler adalah program komputer yang membaca program yang ditulis dalam satu bahasa, yang disebut bahasa sumber, dan menerjemahkannya ke bahasa lain, yang disebut bahasa target. Secara tradisional, bahasa sumber adalah bahasa tingkat tinggi seperti C ++ dan bahasa target adalah bahasa tingkat rendah seperti bahasa Majelis. Namun, ada kompiler yang dapat mengonversi program sumber yang ditulis dalam bahasa Assembly dan mengubahnya menjadi kode mesin atau kode objek. Perakit adalah alat seperti itu. Di sisi lain, Penerjemah adalah alat yang mengeksekusi instruksi yang ditulis dalam beberapa bahasa pemrograman. Interpreter dapat secara langsung mengeksekusi kode sumber tingkat tinggi atau menerjemahkannya ke kode perantara dan kemudian menafsirkannya atau mengeksekusi kode yang sudah dikompilasi. Apa itu Assembler? Assembler adalah perangkat lunak atau alat yang menerjemahkan bahasa Assembly ke kode mesin. Jadi, assembler adalah jenis kompiler dan kode sumbernya ditulis dalam bahasa Assembly. Assembly adalah bahasa yang dapat dibaca manusia tetapi biasanya memiliki hubungan satu lawan satu dengan kode mesin yang sesuai. Oleh karena itu assembler dikatakan melakukan terjemahan isomorfik (pemetaan satu ke satu). Perakit tingkat lanjut menyediakan fitur tambahan yang mendukung pengembangan program dan proses debugging. Misalnya, jenis perakit yang disebut perakit makro menyediakan fasilitas makro. Apa itu Penerjemah? Interpreter adalah program komputer atau alat yang mengeksekusi instruksi pemrograman. Seorang juru bahasa dapat mengeksekusi kode sumber secara langsung atau mengubah sumber menjadi kode perantara dan mengeksekusi secara langsung atau mengeksekusi kode yang sudah dikompilasi yang dihasilkan oleh kompiler (beberapa sistem interpreter menyertakan kompiler untuk tugas ini). Bahasa seperti Perl, Python, MATLAB dan Ruby adalah contoh bahasa pemrograman yang menggunakan kode perantara. UCSD Pascal mengartikan kode yang sudah dikompilasi. Bahasa seperti Java, BASIC dan Samlltalk pertama-tama mengkompilasi sumber ke kode perantara yang disebut bytecode dan kemudian menafsirkannya. Apa perbedaan antara Assembler dan Interpreter? Assembler dapat dianggap sebagai jenis kompiler khusus, yang hanya menerjemahkan bahasa Assembly ke kode mesin. Penerjemah adalah alat yang menjalankan instruksi yang ditulis dalam beberapa bahasa. Sistem juru bahasa dapat menyertakan kompiler untuk pra-kompilasi kode sebelum interpretasi, tetapi seorang juru bahasa tidak dapat disebut tipe khusus dari kompiler. Assembler menghasilkan kode objek, yang mungkin harus ditautkan menggunakan program tautan agar dapat dijalankan pada mesin, tetapi sebagian besar penerjemah dapat menyelesaikan eksekusi program sendiri. Assembler biasanya akan melakukan terjemahan satu ke satu, tetapi ini tidak berlaku untuk sebagian besar penerjemah. Karena bahasa Assembly memiliki pemetaan satu ke satu dengan kode mesin, assembler dapat digunakan untuk menghasilkan kode yang berjalan sangat efisien untuk acara-acara di mana kinerja sangat penting (untuk mesin grafis misalnya, sistem tertanam dengan sumber daya perangkat keras yang terbatas dibandingkan dengan komputer pribadi seperti gelombang mikro, mesin cuci, dll.). Di sisi lain, interpreter digunakan ketika Anda membutuhkan portabilitas tinggi. Misalnya, bytecode Java yang sama dapat dijalankan pada platform yang berbeda dengan menggunakan interpreter yang sesuai (JVM).
Assembler vs Compiler Secara umum, kompiler adalah program komputer yang membaca program yang ditulis dalam satu bahasa, yang disebut bahasa sumber, dan menerjemahkannya ke bahasa lain, yang disebut bahasa target. Secara tradisional, bahasa sumber adalah bahasa tingkat tinggi seperti C ++ dan bahasa target adalah bahasa tingkat rendah seperti bahasa Majelis. Namun, ada kompiler yang dapat mengonversi program sumber yang ditulis dalam bahasa Assembly dan mengubahnya menjadi kode mesin atau kode objek. Perakit adalah alat seperti itu. Jadi, baik assembler dan compiler pada akhirnya menghasilkan kode yang dapat langsung dieksekusi pada mesin. Apa itu Kompiler? Compiler adalah program komputer yang membaca program yang ditulis dalam satu bahasa, yang disebut bahasa sumber, dan menerjemahkannya ke bahasa lain, yang disebut bahasa target. Paling sering, bahasa sumber adalah bahasa tingkat tinggi dan bahasa target adalah bahasa tingkat rendah. Jadi, secara umum kompiler dapat dilihat sebagai penerjemah yang menerjemahkan dari satu bahasa ke bahasa lain. Selain itu, kompiler melakukan beberapa optimasi kode. Kompiler tipikal terdiri dari beberapa komponen utama. Komponen pertama adalah pemindai (juga dikenal sebagai penganalisa leksikal). Pemindai membaca program dan mengubahnya menjadi serangkaian token. Komponen kedua adalah parser. Ini mengubah string token ke pohon parse (atau pohon sintaksis abstrak), yang menangkap struktur sintaksis program. Komponen selanjutnya adalah rutinitas semantik yang menginterpretasikan semantik dari struktur sintaksis. Optimasi kode dan pembuatan kode akhir mengikuti ini. Apa itu Assembler? Assembler adalah perangkat lunak atau alat yang menerjemahkan bahasa Assembly ke kode mesin. Jadi, assembler adalah jenis kompiler dan kode sumbernya ditulis dalam bahasa Assembly. Assembly adalah bahasa yang dapat dibaca manusia tetapi biasanya memiliki hubungan satu lawan satu dengan kode mesin yang sesuai. Oleh karena itu assembler dikatakan melakukan terjemahan isomorfik (pemetaan satu ke satu). Perakit tingkat lanjut menyediakan fitur tambahan yang mendukung pengembangan program dan proses debugging. Misalnya, jenis perakit yang disebut perakit makro menyediakan fasilitas makro. Apa perbedaan antara Assembler dan Compiler? Compiler adalah program komputer yang membaca program yang ditulis dalam satu bahasa dan menerjemahkannya ke bahasa lain, sedangkan assembler dapat dianggap sebagai jenis kompiler khusus yang menerjemahkan hanya bahasa Assembly ke kode mesin. Compiler biasanya menghasilkan kode yang dapat dieksekusi mesin langsung dari bahasa tingkat tinggi, tetapi assembler menghasilkan kode objek yang mungkin harus ditautkan menggunakan program linker agar dapat dijalankan pada mesin. Karena bahasa Assembly memiliki pemetaan satu ke satu dengan kode mesin, assembler dapat digunakan untuk menghasilkan kode yang berjalan sangat efisien untuk acara-acara di mana kinerja sangat penting (untuk mesin grafis misalnya, sistem tertanam dengan sumber daya perangkat keras yang terbatas dibandingkan dengan komputer pribadi seperti gelombang mikro, mesin cuci, dll.). |