Pengertian Compiler
Compiler merupakan sebuah program komputer yang dapat mengubah program komputer yang dibuat dalam bahasa pemrograman tertentu menjadi bahasa pemrograman lain.Compiler atau dalam bahasa Indonesia disebut kompilator memiliki kemampuan untuk menggabungkan beberapa bahasa program kemudian disusun kembali menjadi berkas atau file executable yang bisa diproses oleh prosesor.
Compiler dapat mengkonversi source code yang dibuat dalam natural language processing atau yang dibuat oleh programmer menjadi bahasa mesin agar dapat teridentifikasi oleh komputer.Source code dan data diproses pada waktu yang berbeda. Semula menggunakan bahasa tingkat tinggi akan mengubah menjadi bahasa mesin atau assembly.
Compilating merupakan proses mengeksekusi pada waktu kode menunjukkan sinyal tinggi dan rendah biner dalam unit logika aritmatika prosesor.
Compiler memiliki 2 jenis yang digunakan oleh pengembangan web,yakni :
- Cross Compiler : memiliki kemampuan untuk membuat kode platform yang berbeda selain platform yang dijalankan,ketika mesin satu sedang diproses maka pada saat transfer data akan terkompilasi pada mesin yang berbeda.
- Source to Source Compiler : disebut juga Trans Compiler merupakan compiler yang dapat mengartikan source code yang tersusun dalam satu bahasa pemrograman menjadi source code yang disusun ulang ke bahasa pemrograman lain.
Faktor-faktor yang mempengaruhi kualitas kompilator atau compiler adalah kecepatan waktu proses kompilasi,mutu program objek dan integrated development environment.Waktu proses kompilasi dipengaruhi oleh algoritma kompilator yang berfungsi untuk menuliskan program dan program khusus yang menghasilkan kompilator seperti turbo basic yang menggunakan bahasa lain.
Pada mutu program objek ditentukan dengan kecepatan eksekusi dan ukuran program objek seperti perbandingan turbo pascal 5 dan turbo pascal 6 sedangkan integrated development environment atau IDE merupakan beberapa fasilitas yang dimiliki oleh kompilator seperti testing,editing dan debugging.
Fungsi Compiler
- Mendeteksi kesalahan dalam source code.
- Menganalisis semua bahasa pemrograman.
- Mengkompilasi data-data atau program secara terpisah.
- Memanajemen ruang penyimpanan seluruh code dan variabel.
- Membuat tabel simbol untuk dapat membangun program target.
- Mengartikan kode sumber menjadi kode objek sesuai dengan jenis mesin yang digunakan.
- Memperbaiki struktur tata bahasa pada program sumber dan membaginya menjadi beberapa bagian.
Fase Pada Compiler
Fase compiler terbagi 2 fase,antara lain :
1.Fase analisis
Source code pada fase representasi,antara lai:
- Lexical analyzer berfungsi untuk membagi program dalam bentuk token.
- Intermediate code generator yaitu generator berfungsi untuk menghasilkan kode abstrak.
- Semantic analyzer berfungsi untuk memeriksa semantik statis dari setiap konstruksi.
- Syntax analyzer berfungsi mengidentifikasi bahasa pemrograman menggunakan sintaks bahasa
2.Fase sintesis
Pada fase sintesis terdiri dari 2 fase,antara lain :
- Code optimizer berfungsi menghasilkan kode program lebih kecil dan cepat prosesnya.
- Code generator berfungsi menghasilkan kode melalui sekumpulan kode untuk pengembangan software.Fase ini menjadi fase terakhir dalam compiler.
Manfaat Dari Compiler
Ada beberapa manfaat compiler,yakni :
- Problem solving dalam kinerja bahasa.
- Mengenal lebih dalam mengenai bahasa semantik.
- Teknik compiler dapat digunakan untuk program lain.
- Mempermudah pembuatan file pada hardware.
- Proses eksekusi compiler dapat dilakukan dengan cepat.
- Mengkoneksikan file ke dalam format yang dapat dijalankan.
- Mempermudah pemeriksaan kesalahan sintaks dan tipe data.
- Memberi kemudahan developer untuk membuat struktur internal dalam memori.
- Dapat mengartikan semua bahasa pemrograman menjadi bahasa pemrograman lain.
- Pengguna tidak perlu menjalankan program pada mesin yang sama dengan yang sedang dijalankan.
- Memverifikasi seluruh program sehingga kesalahan sintaks atau semantik dapat dihindari.
Contoh Dari Compiler
1.C++
C++ merupakan bahasa pemrograman dari evolusi bahasa C. C++ sering disebut sebagai bahasa pemrograman prosedural yang berorientasi pada objek.C++ banyak digunakan oleh developer untuk mengembangkan game,software dan lain sebagainya.
2.Fortran
Fortran (formula translation) merupakan salah satu bahasa pemrograman yang dapat mendukung penulisan bentuk perhitungan seperti bilangan kompleks,namun fortran memiliki kelemahan yakni pada source code sulit dimengerti sebab menggunakan bahasa pemrograman tingkat tinggi.
3.Pascal
Pascal merupakan salah satu bahasa pemrograman dengan cara penulisan menggunakan algoritma structure english,imperatif dan prosedural.Pascal menjadi bahasa pemrograman yang menerapkan struktur dan prosedur programming yang baik.Salah satu kelebihan pascal yakni memiliki bahasa sederhana yang lebih mudah dipahami manusia.
4.Visual Basic
Visual Basic (VB) merupakan bahasa pemrograman yang tidak biasa atau bisa disebut sebagai advance karena VB memiliki kelebihan yakni mudah menulis program pada sistem operasi windows.VB dirumuskan dengan integrated development environment yang mampu menyederhanakan kode dan mengoreksi kesalahan maupun perbaikan.
Perbedaan Compiler Dan Interpreter
Definisi
- Compiler : merupakan sebuah program komputer yang dapat mengubah program komputer yang dibuat dalam bahasa pemrograman tertentu menjadi bahasa pemrograman lain.
- Interpreter : merupakan sebuah program yang dapat mengartikan instruksi dalam bahasa tingkat tinggi menjadi bahasa yang lebih sederhana.
Command
- Seluruh perintah dalam compiler dapat diartikan sekaligus dan proses pengujian membutuhkan waktu relatif lebih lama.
- Pada Interpreter perintah hanya diartikan secara baris per baris dan proses pengujian program relatif lebih cepat dan bisa langsung diuji sekalipun masih ditemui beberapa kesalahan dalam penulisan bahasa pemrograman.
Linker
- Pada compiler : membutuhkan linker untuk menggabungkan kode objek dengan berbagai macam library untuk menghasilkan suatu kode yang bisa dijalankan oleh mesin.
- Pada interpreter : tidak membutuhkan linker untuk menggabungkan kode objek.
Program Code
- Pada compiler : kode program dapat dirahasiakan karena program dijalankan yang dalam bentuk kode mesin.Bahasa pemrograman yang menggunakan compiler adalah Visual Basic,Fortran,Cobol,Pascal dan C
- Pada interpreter : kode program tidak dapat dirahasiakan dan bahasa pemrograman yang digunakan yaitu PHP,ASP dan Perl.
Nah,itulah penjelasan artikel tentang Compiler serta sampai pada perbedaannya dengan Interpreter.
semoga bermanfaat !