PENDAHULUAN/PENGENALAN COMPILER
OLEH KELOMPOK 14
SULISTIANA 4611416008
SYEHUDIN 4611416021
DAVID TOPANTO 4611416041
PENDAHULUAN
Keuntungan: Kerugian:
1. Eksekusi cepat, lebih mudah dipelajari 1. Masih sulit dipelajari, program sangat
daripada bahasa mesin Panjang
2. Ukuran relative kecil 2. Fasilitas yang dimiliki terbatas
3. Bahasa tingkat tinggi (High Level Language)/User Oriented
Bahasa ini lebih dekat dengan bahasa manusia. Bahasa ini juga memberikan
banyak sekali fasilitas kemudahan pembuatan program, misalnya: variabel,
tipe data, konstanta, struktur kontrol, loop, fungsi, prosedur dan lain-lain.
Contoh: pascal, basic, C++, dan java.
Bahasa tingkat tinggi memiliki generasi, misalnya generasi ke-3 (pascal,
C/C++) dan generasi ke-4 (delphi, VB, VB.NET, visual foxpro)
Keuntungan: Kerugian:
1. Mudah dipelajari 1. Eksekusi lambat
2. Mendekati permasalahan yang akan 2. Memiliki ukuran yang relative besar
dipecahkan 3. Untuk mesin yang berbeda perlu
3. Kode program pendek dikembangakan tahapan-tahapn
4. Fasilitas yang dimiliki lebih baik dan tambahan
banyak
4. Bahasa yang berorientasi pada masalah spesifik (Specific Problem
Oriented)
Bahasa ini adalah bahasa yang digunakan langsung untuk memecahkan suatu
masalah tertentu. Contoh : SQL untuk aplikasi database, COGO untuk aplikasi
teknik sipil, regex untuk mencocokkan pola pada string tertentu, matlab untuk
matematika, dll. Bahasa problem oriented kadang digolongkan ke dalam
bahasa tingkat tinggi.
PENDAHULUAN/PENGENALAN COMPILER
TRANSLATOR
TRANSLATOR
Suatu program diman mengambil input sebuah program yang ditulis pada satu bahasa
program (source language) ke bahasa lain (the object on target language). Source
code ditulis dalam bahasa sumber, object code berupa bahasa pemrograman lain /
bahasa mesin pada suatu komputer. Jika source jika source language adalah high level
language, seperti cobol, pascal, fortran, dan object language adalah low-level
language atau machine language. Maka translator seperti ini disebut COMPILER.
Jadi penerjemah membaca suatu program yang ditulis dalam bahasa sumber dan
menerjemahkan bahasa sumber ke dalam suatu bahasa lain.
ILUSTRASI TRANSLATOR MENERJEMAHKAN SOURCE
CODE MENJADI OBJECT FILE
Source code adalah bahasa assembly, object code adalah bahasa mesin.
Contoh : Turbo Assembler, Macro Assembler
INTERPRENER
Input berupa source code yaitu bahasa scripting seperti PHP, Basic, Perl, Javascript,
ASP, Java bytecode, Basic, Matlab, Matematica, Ruby.
Interpreter tidak menghasilkan object code. Hanya menghasilkan translasi internal.
Input dapat berasal dari source code maupun dari inputan program dari user. Source
code dan inputan data user diproses pada saat yang bersamaan.
Pada interpreter, program tidak harus dianalisis seluruhnya dulu, tapi bersamaan
dengan jalannya program.
COMPILER
Input berupa source code program seperti Pascal, C, C++. Object code adalah
bahasa assembly. Source code dan data input diproses pada saat yang
berbeda.
Istilah compiler muncul karena dulu ada program yang menggunakan subrutin-
subrutin atau pustaka-pustaka untuk keperluan yang sangat khusus yang
dikumpulkan menjadi satu sehingga diistilahkan compiled.
Beberapa hal yang biasa dilakukan program aplikasi dimana prinsip-prinsip dasar
kompilator dapat dipergunakan diantaranya : pengecekan kesalahan input, pemilahan
data input, transformasi format data, pengolahan perintah/bahasa script, dll. Dengan
memahami cara kerja sebuah kompilator, para pembuat program akan mendapatkan
dasar untuk mempertimbangkan pemilihan kode program.
Compile time adalah saat pengubahan dari source code menjadi object code. Runtime
adalah saat eksekusi object code dan mungkin menerima input data dari user. Output :
bahasa assembly. Kemudian oleh linker dihasilkan file EXE.
BAGAIMANAKAN SUATU COMPILER DIKATAKAN
BAGUS?
Kompiler yang bagus adalah yang dapat bekerja dengan baik pada mesin-
mesin komputer dan tidak membutuhkan proses yang lama.