Pengertian Kompilator (Compiler)

Tags

Kompilator (Compiler)

Pengertian Compiler

Kompiler (Compiler) adalah sebuah program komputer yang berfungsi untuk menterjemahkan program komputer yang ditulis dalam bahasa pemrograman ternentu menjadi program yang ditulis ke dalam bahasa lain yang mendekati bahasa mesin atau secara langsung ke bahasa mesin.

Di dalam komputer terdiri banyak komponen yang saling berhubungan dan saling membutuhkan satu sama lain. Kompter dapat melakukan sesuatu yaitu dengan berkomunikasi menggunakan bahasa mereka yaitu bahasa mesin, bahasa mesin adalah bahasa yang hanya terdiri dalam bilangan biner yaitu 0 dan 1. Berdasarkan sejarah dari bahasa pemrograman, salah satu alasan dibuatnya bahasa pemrograman tingkat tinggi adalah untuk mempermudah manusia berhubungan dengan komputer, agar manusia dapat memberikan perintah apa yang harus di lakukan oleh komputer tanpa harus berkomunikasi langsung dengan bahasa mesin.

Kompilator adalah perantara dari hubungan manusia dengan komputer, yang memungkinkan kita untuk berkomunikasi dan memberi perintah kepada komputer dengan bahasa yang mudah untuk dimengerti oleh manusia adalah bahasa pemrograman tingkat tinggi salah satunya yaitu C++. Compiler akan menterjemahkan bahasa pemrograman tingkat tinggi ke bahasa lain seperti assembly (hanya untuk perantara) lalu assembler akan menerjemahkan assembly ke bahasa mesin, tapi ada juga yang langsung menterjemahkanya ke bahasa mesin.

Kompilator modern biasanya bukan lagi merupakan sebuah program tunggal melainkan merupakan sebuah rangkaian komunikasi antar program dengan tugas mereka masing-masing. Hal tersebut disebut Arsitektur Kompilator, program-program yang dijelaskan di atas tersebut adalah :
  1. Kompilator, yang menerima kode program yang biasanya merupakan bahasa pemrograman tingkat tinggi dan akan menghasilkan (diterjemahkan ke) bahasa tingkat rendah (Assembly) dari kode program tersebut.
  2. Assembler, yang akan menerima kode assembly dari tahap (program) sebelumnya akan menterjemahkan dan menghasilkan berkas object dalam bahasa mesin.
  3. Linker, yang akan menerima berkas object yang merupakan keluaran dari tahap (program) assembler untuk kemudian diterjemahkan dengan menyatukan berkas object dengan Library Komputer sehingga menghasilkan program yang dapat dieksekusi oleh kita.

Kompilator yang menggunakan arsitektur seperti di atas adalah GCC, Clang dan FreeBASIC.

Kompilator melakukan kompilasi dengan teknik menganalisis kode secara menyeluruh dan biasanya hal ini membutuhkan waktu yang cukup lama, namun saat sudah menjadi program yang biasa di eksekusi program tersebut akan dapat berjalan dengan cepat.

Tapi ada juga teknik interpretasi dengan interpreter yang akan melakukan analisis kode dengan cepat tapi akan terasa lambat saat jalanya program.

Pengertian Assambly, Assembler, Bahasa Mesin

Assembly adalah bahasa mnemonic (kode singkat) yang menggantikan kode-kode biner bahasa mesin. Assembly dibuat untuk memudahkan kita dalam memberi intruksi kepada komputer dengan bahasa yang cukup dapat kita mengerti, seperti halnya perintah kode biner dalam komputer “1011011” yang dalam assembly dapat dibuat dengan intruksi mnemonic “ADD”, sehingga dapat mempermudah programmer dalam memerintah komputer dibandingkan jika kita menggunakan bahasa biner langsung kepada komputer.

Tapi karena bahasa assembly juga sulit dipahami kita biasanya juga harus mengetahui beberapa bahasa biner (bukan hanya biner kadang semua sistem bilangan) agar memaksimalkan kinerja program. Karena masalah itu lalu dibuatlah bahasa pemrograman tingkat tinggi agar mudah untuk dipelajari oleh manusia. Bahasa assembly sering juga disebut sebagai bahasa rakitan.

Assembler adalah suatu program yang digunakan untuk menerjemahkan bahasa assembly ke bahasa mesin.

Bahasa mesin adalah bahasa komputer yang terdiri dari kumpulan intruksi dalam bentuk bilangan biner, yang merupakan bahasa yang hanya dapat dimengerti oleh komputer. Program bahasa mesin sering juga disebut sebagai Kode Object.

Pengertian Linker

Linker adalah program yang dapat menterjemahkan bahasa mesin (kode Object) yang sebelumnya dihasilkan oleh assembler menjadi ke sebuah program jadi yang dapat dijalankan (atau dieksekusi) oleh kita. Penerjemahan tersebut dilakukan dengan menyatukan kode object dengan perputaskaan (pustaka-pustaka) yang ada dalam komputer.

Pengertian Interpreter

Interpreter adalah program yang mampu menterjemahkan code program yang ditulis oleh programmer ke dalam bahasa mesin. berbeda dengan compiler, interpreter akan menterjemahkan dan mengeksekusi baris demi baris perintah yang ditulis oleh programmer. Sedangkan compiler akan bekerja dengan cara menterjemahkan keseluhan kode terlebih dahulu dan menghasilkan berupa kesatuan perintah dalam bahasa mesin. Dan program komputer hanya akan bekerja sesuai sebuah kesatuan peritah yang sudah diterjemahkan di awal.

Bisa dikatakan bahwa interpreter akan menterjemahkan kode dan menghasilkan program secara cepat tetapi kelancaran jalannya program tergantung dengan baris code programmee. Sedangkan compiler akan membutuhkan waktu lama untuk menterjemahkan dan akan menghasilkan program utuh jadi, yang biasanya akan kelancaran jalanya program lebih cepat dari interpreter.


EmoticonEmoticon