Anda di halaman 1dari 8

PENGERTIAN KOMPILATOR, INTERPRETER, DAN ASSEMBLER

Dalam dunia computer kompilator (compiler) diartikan sebagai penterjemah ke bahasa


assembly yang kemudian diterjemahkan lagi menjadi kode objek sehingga perintah-perintahnya
akan dikenali oleh mesin (computer). Dengan adanya penterjemah ini, computer akan merespon
perintah user (pengguna).
Yang akan diterjemahkan adalah kode program dalam bahasa pemrograman, tetapi tidak semua
bahasa pemrograman dapat dikompilasi dalam kompilator tertenu, yang berarti kompilator hanya
akan mengenali bahasa-bahasa tertentu saja sesuai dengan apa yang telah dibuat oleh sang
pencipta kompilator tersebut. kompilator ( compiler) biasa digunakan sebagai penterjemah untuk
bahasa tingkat tinggi. Kompilator ini sangat diperlukan untuk mengeksekusi perintah-perintah
dalam bahasa pemrograman, karena bahasa yang langsung dapat dikenali oleh komputer adalah
bahasa mesin atau sering siebut dengan bahasa tingkat rendah (low Level language) jadi jika
menggunakan bahas pemrograman tingkat tinggi yang saat ini banyak
berkembang maka sangat dibutuhkan kompilator

Interpreter merupakan kata berbahasa Inggris dengan kata dasar interpret yakni berarti
mengartikan. Tambahan artikel -er membuatnya bermakna penerjemah. Interpreter sendiri
adalah suatu program khusus yang digunakan untuk mengeksekusi atau melakukan instruksi yang
ditulis dalam bahasa pemprograman tertentu. Kode-kode bahasa tersebut tidak dalam bentuk
bahasa mesin melainkan berupa source code murni. Nah, tugas interpreter adalah mengartikan
source code berisi bahasa pemprograman tersebut sehingga instruksinya dapat dimengerti dan
dapat dijalankan oleh komputer.

Berdasarkan jenisnya, interpreter dibedakan menjadi 3 jenis yakni:


1. Interpreter yang mengeksekusi langsung source code.

2. Mengartikan source code dan merepresentasikannya dalam bentuk tertentu (kode)


tingkat intermediate secara efisien dan langsung mengeksekusinya.

3. Secara eksplisit mengeksekusi kode yang telah tersimpan dan dibuat oleh
kompiler sebagai bagian dari sistem interpretasi. Maksudnya saat interpreter mengartikan
suatu script / kode dia akan membentuk kode-kode dalam bahasa mesin melalui kompiler
khusus dan menjalankan hasil kompilasi tersebut.

Perl, Python, MATLAB, dan Ruby adalah contoh pemprograman yang menggunakan
interpreter tipe 2 sedangkan UCSD Pascal dan JAVAmenggunakan tipe 3: Source program
dikompilasi terlebih dahulu dan disimpan sebagai kode mesin yang independen dan kemudian
dihubungkan saat runtime dan dieksekusi oleh interpreter atau kompiler (untuk sistem JIT).
Beberapa sistem semacam Smalltalk, BASIC dan lainnya ada juga yang menggunakan
kombinasi 2 dan 3.

Interpretasi dan kompilasi adalah dua cara mengimplementasikan bahasa pemprograman.


Namun keduanya memiliki sedikit perbedaan. Kebanyakan sistem interpreting juga melakukan
beberapa pekerjaan seperti yang dilakukan kompiler diantaranya translasi. Perbedaannya
hanyalah pada hasil yang mereka keluarkan.

pengertian Assembler adalah mungkin telah berada pada daftar posting yang telah
dipublis pada situs ini, namun mungkin anda belum menuliskan kata kunci yang tepat,
bila belum menemukan yang sesuai dengan pengertian assembler adalah, Anda dapat
melakukan pencarian dengan kata kunci yang lain, pada search di situs kafeilmu ini,
atau dengan melihat daftar post berikut ini yang mungkin mempunyai materi yang
diinginkan.

http://blestanor.blogspot.com/2011/11/pengertian-kompilator-interpreter-dan.html

23 nov jam 11:31

1. Definisi Compiler
Biasanya dipakai untuk menggenerate program yang akan dibuat. Misalnya sebuah
source code di vsual basic akan dijadikan sebuah software aplikasi atau program….maka
source code tersebut harus di-compile sedemikian rupa agar jadi sebuah aplikasi ato
software dengan sebuah compiler…
CIRI – CIRI PROGRAM COMPILER
Ciri-cirinya :
1) Dapat memodifikasi Caption program sehingga menjadi nama lain. Misalnya sebuah
program dicopy biasa dari komputer satu ke komputer lain maka captionnya akan
sama…catatan bukan nama apliaksi or .exe nya yang diubah…tapi judul program yang
ada di atas apliaksi tersebut.
2) Dapat mengganti gambar dari aplikasi tersebut. Misalnya gambar A.jpg diletakkan
dalam sebuah program. Kalau dicopy secara biasa, otomatis gambar A.jpg akan ter-copy
juga ke program tersebut. Tetapi bila dicompile…maka gambar dapat berubah.
FUNGSI PROGRAM COMPILER
Fungsi dari program compiler ini adalah :
1) Mengubah caption, sehingga jika suatu program dikunci oleh virus seperti regedit,
msconfig, ms Dos shell dan lain – lain dapat tetap dijalankan, karena fungsi dari
compiler tersebut merubah caption program. Biasanya virus mendeteksi dari caption
program tersebut untuk menendang atau mematikan program dalamkode pertahanan
virus. 2) Buat seneng- seneng and nambah program ajah….hahahahahhahaha
CARA KERJA COMPILER SEDERHANA
cara kerjanya sangat mudah, seperti yang disebutkan bahwa compiler disini adalah
sangat sederhana sekalai. Sehingga masih menggunakan fasilitas dari VB berupa modul
COPYFILE. Jadi bukan dicompiler secara murni, jadi Algoritma nya :
1) Program Dijalankan
2) Program akan mengecek apakah file yang diperlukan untuk compiler ada…disini saya
memakai aplikasi rdfce.ext
3) Setelah menemukan file rdfce.ext maka program akan menjalankan modul COPYFILE
untuk menyalin isi dari text dan gambar
4) Kemudian program akan mencompile aplikasi dan mengeluarkan file output sesuai
dengan
nama file…kalau disini defaultnya test.exe
2. Compiler Construction
Teknik kompilasi telah lama diberikan di lingkungan pendidikan tinggi bidang komputer
di Indonesia. Pembahasan dalam mata kuliah ini biasanya berkisar pada teori automata,
teori kompilasi, teori grammar. Praktek teknik kompilasi pun telah diberikan di
lingkungan laboratorium, walau biasanya masih terbatas pada demonstrasi hal teori,
ataupun sekedar pengenalan kompiler yang ada atau banyak digunakan. Beberapa
universitas telah mulai memperkenalkan penggunaan perangkat pembangun kompiler.

Telah banyak mahasiswa menggunakan dan memanfaatkan compiler/interpreter, tapi


saat ini masih belum banyak muncul nama programmer Indonesia yang terlibat dalam
proyek pembuatan compiler/interpreter. Mungkin hanya KILANG nya Prof. Dali S Naga
(BASIC Indonesia), yang sempat terdengar, sayang sekarang sudah tidak ada jejaknya.
Mungkin merilis KILANG dalam bentuk GPL seperti BWBASIC, adalah suatu langkah
menarik untuk terus mengembangkan KILANG ini lebih lanjut.

Memang ada sekelompok programmer Indonesia yang sempat akan merilis bahasa
pemrograman “BATAK” tetapi hingga saat ini belum terdengar kembali. Bahasa
pemrograman, JAVA, BALI, MADURA, hanyalah namanya saja yang berbau Indoensia,
tapi sedikit atau malah tidak ada keterlibatan pengembang dari Indonesia.

Tentu saja akan timbul pertanyaan “apa yang salah dalam pengajaran kompilasi ???”
(INGAT SAYA TIDAK INGIN MENDISKREDITKAN SIAPAPUN DALAM
PERNYATAAN INI). Hanya mencoba mencari langkah perbaikan yang mungkin bisa
diterapkan.

Walaupun sedikit sekali atau nyaris tidak ada “lowongan pekerjaan” yang membutuhkan
kemampuan mengembangkan compiler ini (silahkan baca di koran ataupun majalah),
bukan berarti pengetahuan itu sama sekali tak dibutuhkan dalam dunia pemrograman
sehari-hari. Pada dasarnya pengetahuan pembuatan kompiler (compiler construction)
ini merupakan pengetahuan dasar komputasi yang sangat baik sekali. Pengetahuan ini
dimanfaatkan pada beragam aplikasi nantinya. Misal teknik parsing, pengenalan pola
teks, optimasi kode dan lain sebagainya. Bahkan suatu database engine pun di bagian
“front end” selalu menggunakan parsing ini. Pengetahuan tentang kompilasi akan dapat
memberikan landasan bagi programmer untuk menyusun program yang efektif dan
efisien.

Ketika seseorang melakukan pemrograman, sebetulnya secara tidak sadar dia akan
melakukan proses penambahan suatu bahasa. Misal pembuatan suatu fungsi (ataupun
prosedur) pada dasarnya merupakan suatu proses “penambahan kosa-kata” dari bahasa
pemrograman tersebut. Dari yang tadinya tidak memiliki fungsi tersebut hingga
akhirnya ditambahkan suatu “vocabulary” untuk melakukan suatu fungsi tersebut.
Untuk itulah pemahaman penyusunan kompiler merupakan suatu dasar yang utama
dalam bidang ilmu komputer.

Kesenjangan Teori dan Praktek


Pada kasus pemahaman teknik kompilasi seringkali mahasiswa memiliki gap antara
pemahaman teori yang mendasari pembuatan kompiler, lalu masalah parsing, scanner
(bukan scanner yang buat men-scan gambar atau photo) serta “bagaimana menulis
compiler/interpreter sesungguhnya (misal BASIC interpreter).
Ketika bicara kompiler, rata-rata pengetahuan mahasiswa/lulusan bersifat umum yaitu
“trampil” menggunakan Integrated Development Environment (IDE) berbasiskan GUI.
Bahkan pengetahuan pemakaian “make”, “autoconf”, pun masih langka dipahami para
mahasiswa (termasuk mahasiswa Univ Gunadarma). Sedangkan ketika mereka bicara
teori, yang terjadi hanyalah “hafalan” teori-teori otomata, parsing, grammar.
Keterkaitan antara keduanya masih belum terjalin dengan mesra.

Sebelum dianggap menyalahkan siapa-siapa termasuk menyalahkan mahasiswa (salah


satu kambing hitam favorit para dosen), saya mencoba menguraikan permasalahan ini.
Ketidak-tertarikan para mahasiswa mempelajari bidang pembuatan kompiler ini
mungkin didasarkan pada pelajaran teknik pembuatan kompiler yang sarat dengan
pemahaman teori (misal automata, grammar, bahasa formal, matematika diskrit dan
sebagainya).

Teori bagi sebagian besar mahasiswa merupakan “momok” bagi para mahasiswa dan
mereka kurang tertarik mempelajarinya, dianggap hanyalah pelengkap untuk lulus
menjadi saja. Mahasiswa kurang betah atau sabar mendengar pelajaran teori. Mungkin
hal ini disebabkan (sengaja saya gunakan kata “mungkin” karena belum pernah
dilakukan survei atau penelitian secara khusus) beberapa hal antara lain :

Para mahasiswa Indonesia tidak tertarik teori, karena merasa tidak ada manfaatnya
pelajaran teori tersebut. Tidak dipungkiri dunia komputer (lapangan pekerjaan) masih
membutuhkan orang-orang dengan “skill praktis” sehingga kebutuhan teori ini tidak
dirasakan ada. Jelas ini menunjukkan seberapa “jauh” yang namanya industri TI di
Indonesia. TI di Indonesia secara umum barulah berkembang pada “menjual produk TI”
ataupun konfigurasi dan perkembangan yang bersifat “kustomisasi luar”.
Rasa ketertarikan terhadap teori ini makin hilang, akibat materi yang diberikan di kelas
terlalu jauh dengan kondisi praktis. Artinya ada “gap” antara teori dengan aplikasi teori
tersebut di dunia nyata dalam bayangan mahasiswa (misal bidang komputer) Sebagai
contoh, mahasiswa komputer mungkin akan tertarik bila tahu bahwa Analisa numeris
itu dimanfaatkan untuk membuat “computer game” Ketimbang kita memberikan
contohnya untuk hal lainnya yang terlalu teori. Begitu juga bila kita terangkan Turing
Machine, atau Automata tanpa keterkaitan dengan praktek sehari-hari akan membuat
mereka hanya menghafal atau malah tidur di kelas.
Kurikulum ataupun materi pelajaran yang memang tidak memberikan jalinan antara
teori dan praktek. Teori berjalan sendiri-sendiri dan praktek begitu pula. Teori tidak
atau kurang mengajak melihat implementasi dari teori tersebut (misal source code nyata
dari teori itu).
Perangkat bantu yang pada tahun sebelumnya sulit diperoleh di Indonesia secara massal
dan murah. Perangkat bantu yang ada sangat menghabiskan waktu bila ingin digunakan
untuk menyusun sistem kompiler sesungguhnya.
Kurang adanya pengajar yang memahami baik teori dan praktek 8-). Banyak pengajar
yang sangat baik pengetahuan teorinya tetapi minim pengetahuan prakteknya. Hal ini
melanda beberapa mata kuliah teori. Begitu juga banyak pengajar yang sudah terlalu
asyik dengan praktek, malas membahas teori.

3. C compiler
Bahasa C++ emang ribet!! Pusing sendiri gw ngebaca bukunya… Tapi gpp deh, semua
yang gw tau gw tuangin disini.. Dengan begitu gw rasa gw bisa makin gampang
ngingetnya ahahaha
Cara Meng-Compile
pertama2 elo masuk ke Dev-CPP, abis itu pencet file >> new >> source file. abis itu lo
tulis code dibawah, setelah selesai elo pijit execute >> compile.. tunggu sebentar, abis itu
kalo udah pencet execute >> run… dan selamat! program hello world pertama lo telah
berjalan!
#include // membuat program untuk menampilkan data output ke layar monitor
int main()
// fungsi awal memulai eksekusi program
{
std::cout<< “Selamat Pagi DUNIA!!\n”; //tampilin pesen
system(”pause”); // command dos pause
return 0; // menampilkan bahwa program telah sukses dieksekusi
}
tinggal meng-compile source code tersebut agar menjadi sebuah program “Hello World”
sederhana…
sederhana banget yah?? tapi itu adalah basic awal yang lo (gw jg) mesti ngerti bener.
***Berikut adalah penjelasan source diatas
setiap baris yang diberi tanda dua garis miring (//), adalah komen (comment).
Programmer memasukkan comment dalam program untuk membantu orang lain dalam
memahami program tersebut. Kata2 yang ada didalam comment bakalan di abaikan oleh
compiler. Comment yang dimulai dengan (//) disebut dengan komen-satu-baris (single-
line comment) karena comment itu berakhir di akhir baris. Sedangkan comment dengan
menggunakan lebih dari satu line menggunakan tanda /* dan berakhir dengan */.
#include
Disebut Preprocessor directive, yang merupakan sebuah pesan ke prosesor C++. Baris
yang dimulai dengan # diproses dolo sama prepocessor sebelum di compile. Line ini
ngasih tau preprocessor untuk mengikut sertakan ke dalam program input/output
stream header file (keluar-masuk) atau . File ini harus di ikut sertakan dalam setiap
program agar bisa melakukan input/output..
4. Interpreter dan Compiler

Interpreter
Pada bahasa yang menggunakan interpreter, ada suatu program besar yang mendiami
memori komputer secara terus menerus. Jika dilakukan pengetikan sebaris program,
misalnya suatu pernyataan BASIC, maka interpreter ini akan mengawasi proses
pemasukannya lalu menambahkan baris tersebut kedalam program yang tadi sudah
tersimpan dalam memori.
Ketika menjalankan program tersebut, interpreter akan memeriksa program baris demi
baris dan menterjemahkannya ke dalam bahasa mesin (satu-satunya bahasa yang dapat
dimengerti oleh microprocessor) selanjutnya meminta komputer melaksanakan
terjemahan itu kemudian melakukan proses yang serupa untuk baris program
berikutnya
Bahasa terinterprestasi cocok untuk pengembangan program cepat karena programmer
dapat menulis program dan langsung mengeksekusinya serta melihat hasilnya. namun
demikian bahasa ini memiliki beberapa kelemahan :
proses eksekusinya lamban karena interpreter harus menterjemahkan tiap baris
program kedalam bahasa mesin setiap kali program dieksekusi. Program tetntunya akan
berjalan lebih cepat jika seluruh bagian program diterjemahkan lebih dahulu sebelum
dieksekusi,
harus adanya interpreter dalam memori komputer pada saat ingin menjalankan
program. Contoh untuk kasus ini adalah disertakannya interpreter BASIC dalam PC
8088.
Compiler
Dalam bahasa terkompilasi, keseluruhan program atau sub program diterjemahkan ke
dalam bahasa mesin sekaligus. Proses pengetikan dapat dilakukan dengan menggunakan
pengolah kata, disisi lain terdapat program terpisah yang disebut compiler yang
menterjemahkan berkas sumber ini menjadi berkas lain dalam bentuk bahasa mesin.
Adapula compiler yang menyediakan editor sendiri seperti Turbo C dari Borland.
Dedicated for Light Intermutimedia
Perusahaan Software Pulsa.

http://trihariyono.wordpress.com/2007/10/23/5-artikel-tentang-compiler/

23 nov jam 11:31

Interpreter adalah perangkat lunak yang mampu mengeksekusi code program (yang ditulis oleh
programmer) lalu menterjemahkannya ke dalam bahasa mesin, sehingga mesin melakukan
instruksi yang diminta oleh programmer tersebut. Perintah-perintah yang dibuat oleh programmer
tersebut dieksekusi baris demi baris, sambil mengikuti logika yang terdapat di dalam kode
tersebut. Proses ini sangat berbeda dengan compiler, dimana pada compiler, hasilnya sudah
langsung berupa satu kesatuan perintah dalam bentuk bahasa mesin, dimana proses
penterjemahan dilaksanakan sebelum program tersebut dieksekusi.
advertisement:

Sedangkan Compiler sendiri 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.

Untuk lebih jelas mengenai perbedaan antara Interpreter dengan Compiler, ada baiknya saya
jelaskan lebih terperinci mengenai dua hal ini.
Perbedaan antara Compiler dengan Interpreter :
1. Jika hendak menjalankan program hasil kompilasi dapat dilakukan tanpa butuh kode sumber.
Kalau interpreter butuh kode sumber.
2. Jika dengan kompiler, maka pembuatan kode yang bisa dijalankan mesin dilakukan dalam 2
tahap terpisah, yaitu parsing ( pembuatan kode objek ) dan linking ( penggabungan kode objek
dengan library ) . Kalau interpreter tidak ada proses terpisah.
3. JIka compiler membutuhkan linker untuk menggabungkan kode objek dengan berbagai macam
library demi menghasilkan suatu kode yang bisa dijalankan oleh mesin. Kalau interpreter tidak
butuh linker untuk menggabungkan kode objek dengan berbagai macam library.
4. Interpreter cocok untuk membuat / menguji coba modul ( sub-routine / program-program kecil
). Maka compiler agak repot karena untuk mengubah suatu modul / kode objek kecil, maka harus
dilakukan proses linking / penggabungan kembali semua objek dengan library yang diperlukan.
5. Pada kompiler bisa dilakukan optimisasi / peningkatan kualitas kode yang bisa dijalankan. Ada
yang dioptimasi supaya lebih cepat, ada yang supaya lebih kecil, ada yang dioptimasi untuk sistem
dengan banyak processor. Kalau interpreter susah atau bahkan tidak bisa dioptimasikan.

http://imam2net.web.id/2012/04/compiler-dan-interpreter.html

23 nov 11:32
Penjelasan Proses Compiler Secara
Sederhana(simple language)

Proses dari bentuk diatas program sumber C/C++ (source program, yaitu program yang
ditulis
dalam bahasa C/C++) hingga menjadi program yang executable (dapat dieksekusi secara
langsung) sistem operasi yang dipakai).
COMPILER adalah proses dimana source code diterjemahkan kedalam bahasa mesin atau
object code.
Kode obyek(Object Code) berbentuk kode mesin, oleh karena itu tidak dapat dibaca oleh
pemrogram. Akan tetapi kode ini sendiri juga belum bisa dipahami komputer. Supaya bisa
dimengerti oleh komputer, maka kode obyek bersama-sama dengan kode obyek yang lain
(kalau ada) dan isi file pustaka (library file, yaitu file yang berisi rutin untuk melaksanakan
tugas tertentu.
File ini disediakan oleh pembuat kompiler, biasanya memiliki ekstensi .lib) perlu dikaitkan
(linking) dengan menggunakan linker, membentuk sebuah program
yang executable (program yang dapat dijalankan/dieksekusi secara langsung dalam
lingkungan sistem operasi). Program hasil linker ini disimpan dalam file yang disebut file
executable, yang biasanya berekstensi .exe.

http://arifinsutandi.wordpress.com/2010/10/14/penjelasan-proses-compiler-secara-
sederhanasimple-language/

23 nov jam 11:33

Anda mungkin juga menyukai