Compiler dan Interpreter adalah sama mempunyai fungsi untuk mengeksekusi kode program (yang dibuat oleh program) kemudian menterjemahkannya ke dalam bahasa mesin, sehingga mesin melakukan instruksi yang diminta oleh oleh programmer tersebut.
Seperti yang kita ketahui, mesin misalnya mesin komputer hanya mengenal bilangan biner yang lebih dikenal dengan bahasa mesin. Contohnya adalah “011001011101”.
Compiler dan intrepreter sendiri adalah penerjemah dari bahasa bahasa tingkat tinggi (misalnya C++, Java, Visual Basic ) ke bahasa tingkat rendah (bahasa mesin).
A. Perbedaan Compiler dan Interpreter secara umum
Compiler adalah perangkat lunak (software) yang berfungsi sebagai penerjemah kode program ke dalam bahasa mesin agar dapat dijalankanoleh mesin dengan mengeksekusi seluruh instruksi dalam program sekaligus.
Jadi jika di dalam program ada error, maka program tersebut sama sekali tidak menghasilkan output. Program hanya menghasilkan output jika keseluruhan kode program telah benar.
Interpreter adalah program sistem yang berfungsi sebagai penerjemah kode program dengan mengeksekusi perintah secara baris per baris dengan mengikuti logika yang terdapat di dalam kode tersebut.
Compiler sendiri bisa diciptakan oleh para programmer atau juga yang masih belajar programming.
Misalnya saya di semester 6 sekarang mendapat matakuliah namanya adalah “Teknik Kompilasi” dengan tujuan dari matakuliah ini bahwa diharapkan mahasiswa dapat menciptakan sebuah compiler sederhana.
B. Perbedaan Compiler dan Interpreter secara keseluruhan:
Jika lebih lanjut, maka perbedaan antara compiler dan interpreter secara keseluruhan adalah sebagai berikut ini:
1. Pada compiler, jika hendak menjalankan program hasil kompilasi dapat dilakukan tanpa butuh kode sumber karena telah menghasilkan .exe, sedangkan kalau interpreter butuh kode sumber.
2. Jika pada compiler, pembuatan kode bisa dijalankan mesih dilakukan dalam 2 tahap terpisah, yaitu parsing (pembuatan kode objek) dan linking (pengabungan kdoe objek dengan library), sedangkan dalam interpreter tidak ada proses terpisah.
3. Compiler membutuhkan linker unuk mengabungkan kode objek dngan berbagai macam library demi menghasilkan suatau kode yang bisa dijalankan oleh mesin, sedangkan interpreter tidak butuk linker untuk mengabungkan kode objek dengan berbagai macam library.
4. Interpreter cocok digunakan untuk membuat/menguji coba modul (sub-routine/ program – program kecil) tetapi dalam compiler agak susah melakukannya kaerna untuk mengubah suatu modul / kode objek kecil, maka harus dilakukan proses linkiing/ penggabungan kembali semua objek dengan library yang diperlukan.
5. Pada compiler bisa dilakukan optimasi /peningkatan kualitas kodde yang bisa dijalankan.
Tujuan optimasi itu sendiri adalah agar lebih cepat, supaya ukuran lebih kecil dan keperluan untuk sistem dengan banyak processor, sedangkan interpreter susah atau bahkan tidak bisa dioptimasi.
Bahasa Pemrograman yang mengunakan Compiler dan Interpreter
1. Menggunakan Compiler:
- Visual Basic (VB)
- Fortran
- Cobol
- Pascal
- C family (C, C++, C#)
2. Menggunakan Interpreter:
- PHP
- ASP
- Perl
- Phyton
Hal yang sulit dalam pembuatan sebuah compiler adalah bagaimana menghasilkan compiler yang menghasilkan kode cepat (atau bagaimana cara menginterpretasi kode dengan cepat). Masalah ini sangat rumit, Anda akan memerlukan pengetahuan algoritma dan struktur data yang kompleks. Teori mengenai graf juga akan diperlukan (masalah analisis alur eksekusi program melibatkan banyak graf). Tapi topik terakhir ini pun sudah bisa diatasi dengan adanya aneka tools di internet.
Saat ini sudah banyak tools yang tersedia untuk memudahkan semua langkah di atas, namun untuk memakai tools-tools tersebut Anda perlu tahu dasar teorinya. Untuk parsing, sudah ada puluhan parser generator (bison, antlr, jflex, dsb). Untuk membuat bahasa yang diinterpretasi memakai bytecode, sudah ada BCEL (bytecode engineering library) untuk Java, Parrot/PIR, NekoVM, dsb. Jika Anda ingin menghasilkan kode native yang sudah dioptimasi, Anda bisa menggunakan LLVM.
Aplikasi
Aplikasi perangkat lunak (bahasa Inggris: software application) adalah suatu subkelas perangkat lunak komputer yang memanfaatkan kemampuan komputer langsung untuk melakukan suatu tugas yang diinginkan pengguna. Biasanya dibandingkan dengan perangkat lunak sistem yang mengintegrasikan berbagai kemampuan komputer, tetapi tidak secara langsung menerapkan kemampuan tersebut untuk mengerjakan suatu tugas yang menguntungkan pengguna. Contoh utama perangkat lunak aplikasi adalah pengolah kata, lembar kerja, dan pemutar media.
Beberapa aplikasi yang digabung bersama menjadi suatu paket kadang disebut sebagai suatu paket atau suite aplikasi (application suite). Contohnya adalah Microsoft Office dan OpenOffice.org, yang menggabungkan suatu aplikasi pengolah kata, lembar kerja, serta beberapa aplikasi lainnya. Aplikasi-aplikasi dalam suatu paket biasanya memiliki antarmuka pengguna yang memiliki kesamaan sehingga memudahkan pengguna untuk mempelajari dan menggunakan tiap aplikasi. Sering kali, mereka memiliki kemampuan untuk saling berinteraksi satu sama lain sehingga menguntungkan pengguna. Contohnya, suatu lembar kerja dapat dibenamkan dalam suatu dokumen pengolah kata walaupun dibuat pada aplikasi lembar kerja yang terpisah.
Demikianlah pembahasan mengenai compiler dan interpreter. Semoga menambah wawasan teman – teman dalam dunia pemrograman dan semoga bermanfaat.
Sumber:
http://www.tifkom.net/2016/02/perbedaan-compiler-dengan-interpreter.html
http://cintaprogramming.com/2009/07/08/tutorial_membuat_interpretercompiler/
https://id.wikipedia.org/wiki/Aplikasi
Tidak ada komentar:
Posting Komentar