Proses penerjemahan bahasa pemrograman menjadi bahasa mesin disebut juga

Penerjemah bahasa pemrograman dibedakan menjadi 3 (tiga) macam, yaitu assembler, kompiler, dan interpreter

  1.  Asembler adalah program yang digunakan untuk menerjemahkan kode sumber dalam bahasa rakitan (assembly) ke dalam bahasa mesin.
  2.  Kompiler adalah program penerjemah yang mengonversi semua kode sumber selain dalam bahasa rakitan menjadi kode objek. Hasil berupa kode objek inilah yang dapat dijalankan oleh komputer. Proses untuk melakukan penerjemahan ini biasa disebut kompilasi.
  3.  Intepreter adalah program yang menerjemahkan satu per satu instruksi dalam kode sumber kemudian menjalankan instruksi yang telah diterjemahkan tersebut.


1) Bahasa mesinBahasa mesin termasuk ke dalam bahasa tingkat rendah (low level language) karena sifat dari bahasa mesin lebih berorientasi pada mesin. Bahasa ini hanya akan dipahami oleh komputer itu sendiri. Bahasa ini berupa kode-kode yang terdiri dari sekumpulan angka yang ada di dalam komputer yang biasanya diwakili oleh kode angka 1 (satu) dan 0 (nol). Kode ini merupakan sinyal elektronik yang memberitahu komputer apa yang harus dikerjakan.  Dalam penggunaannya biasanya intruksi dituliskan dalam bentuk bahasa pemrograman yang akan disampaikan ke kompiler, assembler, atau interpreter yang bertugas untuk menerjemahkan bahasa pemrograman tadi ke bahasa mesin. Assembler merupakan sebuah program. Program ini mengambil informasi yang dituliskan oleh programmer dalam bahasa assembly  dan menerjemahkannya ke sebuah program yang dapat dieksekusi komputer. output assembler harus diproses oleh linker untuk menghasilkan program akhir.

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

* Intrepeter * Kompiler

Untuk lebih memahami mengenai kedua point diatas, mari dikupas satu persatu dimulai dari point yang pertama

Intrepeter

Intrepeter 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

Proses penerjemahan bahasa pemrograman menjadi bahasa mesin disebut juga

Gambar 01. Proses Penerjemah pada Interpreter

Kompiler

Berbeda 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

Proses penerjemahan bahasa pemrograman menjadi bahasa mesin disebut juga

Gambar 02. Proses Penerjemah Pada Kompiler

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:

  1. Mengeksekusi kode sumber secara langsung, atau
  2. Menerjemahkannya ke dalam serangkaian p-code kemudian mengeksekusinya, atau
  3. Mengeksekusi kode yang telah dikompilasi sebelumnya oleh kompiler yang merupakan bagian dari sistem penerjemahan.

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.

  • Kompiler
  • P-Code
  • (Inggris) IBM Card Interpreters page at Columbia University
  • (Inggris) Theoretical Foundations For Practical 'Totally Functional Programming' (Chapter 7 especially) Doctoral dissertation tackling the problem of formalising what is an interpreter
 

Artikel bertopik perangkat lunak ini adalah sebuah rintisan. Anda dapat membantu Wikipedia dengan mengembangkannya.

  • l
  • b
  • s

Diperoleh dari "https://id.wikipedia.org/w/index.php?title=Penerjemah_(komputasi)&oldid=18635504"

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.

  • Bahasa rakitan
  • Kompiler
  • P-Code
  • Hennessy, John L. Computer Organization and Design. The Hardware/Software Interface. Morgan Kaufmann Publishers. ISBN 1-55860-281-X.  Parameter |coauthors= yang tidak diketahui mengabaikan (|author= yang disarankan) (bantuan)
  • Tanenbaum, Andrew S. (1990). Structured Computer Organization. Prentice Hall. ISBN 0-13-020435-8. 
  • Brookshear, J. Glenn. Computer Science: An Overview. Addison Wesley. ISBN 0321387015. 

Diperoleh dari "https://id.wikipedia.org/w/index.php?title=Bahasa_mesin&oldid=18635498"