KATA PENGANTAR
Puji dan syukur ke hadirat Tuhan Yang Maha Esa karena atas berkat,
rahmat, dan karunia-Nya sehingga dapat menyelesaikan makalah ini tepat pada
waktu yang diberikan. Makalah ini ditujukan untuk memenuhi tugas pengantar
teknik kompilasi yang berisikan tentang
translator compiler, interpreter dan assembler.
Dalam penyusunan makalah ini
penulis mengucapakan terima kasih kepada semua pihak yang telah membantu dalam
menyelesaian makalah dengan tepat waktu. Dalam pembuatan makalah ini mungkin
masih jauh dari sempurna, oleh karena itu diharapkan kritik dan saran
yang bersifat membangun agar makalah ini dapat menjadi lebih sempurna.
Kelapa
Dua , 11 Juni 2015
Penulis
DAFTAR ISI
KATA PENGANTAR ……………………………………………………………………..1
DAFTAR ISI ……………………………………………………………………………….2
BAB I PENDAHULUAN
I.
LATAR BELAKANG……………………………………………………….. 3
II.
BATASAN
MASALAH……………………………………………………… 4
III.
TUJUAN
MASALAH ………………………………………………………..4
BAB II PEMBAHASAN
1.1
PENGERTIAN COMPILER ,INTREPRETER ,ASSEMBLER ………………..7
1.2
IMPLEMENTASI
COMPILER …………………………………………………11
1.3
LISTING
PROGRAM COMPILER …………………………………………….12
BAB III PENUTUP ……………………………………………………………………..15
DAFTAR ISI …………………………………………………………………………….16
BAB I
PENDAHULUAN
I.
Latar Belakang
Kompilator (Inggris: compiler) adalah sebuah program
komputer yang berguna untuk menerjemahkan program komputer yang ditulis dalam
bahasa pemrograman tertentu menjadi program yang ditulis dalam bahasa
pemrograman lain.Terlepas dari pengertiannya yang demikian relatif luas,
istilah kompilator biasa
digunakan untuk program komputer yang menerjemahkan program yang ditulis dalam bahasa pemrograman tingkat tinggi (semacam bahasa Pascal, C++, BASIC, FORTRAN, Visual Basic, Visual C#, Java, xBase, atau COBOL) menjadi
bahasa mesin, biasanya dengan bahasa Assembly sebagai
perantara.
Bahasa mesin adalah bentuk bahasa terendah pada komputer,
kita dapat berhubungan/komunikasi langsung dengan bagian-bagian yang ada di
dalam komputer seperti bits, register dan sangat primitif. Bahasa mesin adalah tidak lebih dari urutan bit-bit 0 dan
1.
Instruksi dalam bahasa mesin bisa saja dibentuk menjadi
micro-code, semacam prosedur dalam bahasa mesin. Bagaimana
dengan orang yang tidak mengerti bahasa mesin? Bagi user yang
tidak mengerti bahasa mesin akan mengalami masalah. Hal ini disebabkan karena
mereka harus belajar dahulu bahasa mesin, dan akan bergabung pada jenis mesin
komputer yang digunakan. Jika jenis komputer mengalami perubahan maka dapat
dipastikan bahwa user harus mempelajari lagi bahasa mesin dengan jenis komputer yang baru.
Oleh karena itu
manusia berusaha dan menciptakan suatu bahasa yang dapat dimengerti baik oleh
manusia maupun oleh komputer. Bahasa yang demikian ini sering disebut dengan
bahasa tingkat tinggi.
Untuk era sekarang user tidak lagi banyak dipusingkan
mengenai penterjema karena kemudahan-kemudahan yang diberikan oleh bahasa
tingkat tinggi sekarang sangatlah memudahkan dan lebih fleksibel dalam bekerja
pada mesin-mesin komputer yang berbeda.
II. Batasan Masalah
Batasan
Masalah ini menjelaskan tentang :
1.
Pengertian dan model dari
Compiler, Interpreter, dan Assemler
2.
Bagaimana
program ataupun aplikasi dari compiler ,interpreter dan assembler
3.
Implementasi Compiler
III.
Tujuan Makalah
1.
Agar
pembaca bisa mengerti pengertian Compiler, Interpreter, dan Assemler
2. Mengetahui
Penerapan konsep ilmu komputer pada perilaku komputer yaitu algoritma,
arsitektur komputer, pada Compiler adalah merupakan konstruksi inti dari ilmu
komputer
BAB
II
PEMBAHASAN
1.1
PENGERTIAN
ARTI KATA TEKNIK KOMPILASI:
- Teknik adalah suatu metode atau cara
- Kompilasi suatu proses menggabungkan serta menterjemahkan sesuatu (source program) menjadi bentuk lain
- Compile: menterjemahkan sebuah program yang ditulis dalam bahasa pemrograman tingkat tinggi ke bahasa mesin
Translator : Compiler & Interpreter
Translator
Adalah suatu program dimana
mengambil input sebuah program yang ditulis pada satu bahasa program (source
language) ke bahasa lain (The object on
target language).
Jika source language adalah high
level language, seperti cobol, pascal, fortran maka object language adalah
low-level language atau mesin language. Translator seperti ini disebut COMPILER.
Gambar 1.1: proses penterjemah
COMPILER vs
INTERPRETER
- Compiler bisa menangkap berbagai kesalahan dalam 1 program kode sumber secara sekaligus. Kalau Interpreter cuma bisa menangkap beberapa kesalahan pada 1 baris kode sumber pada suatu saat
- Biasanya program yang dihasilkan compiler lebih cepat dari waktu pelaksanaan program dengan interpreter.
- Kalau compiler menghasilkan kode antara (misal object code) dan harus digabungkan / dilink menjadi bentuk yang dapat dijalankan mesin / komputer (executable). Kalau Interpreter biasanya tidak menghasilkan kode antara.
- Kalau hendak menjalankan program hasil kompilasi bisa dilakukan tanpa kode sumber. Kalau interpreter butuh kode sumber.
- Kalau 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.
- Kalau 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.
- Interpreter cocok untuk membuat / menguji coba modul / sub-routine / program-program kecil. Kalau compiler agak repot karena untuk mengubah suatu modul / kode objek kecil, maka harus dilakukan proses linking / penggabungan kembali semua objek dengan library yang diperlukan.
- Pada kompiler bisa dilakukan optimisasi / peningkatan kwalitas 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 / tidak bisa dioptimasikan.
Ada
beberapa definisi dari jenis translator untuk menterjemah agar dikenali oleh
mesin diantaranya:
1. Assembler
Bahasa
assembly adalah sebuah program yang terdiri dari instruksi-instruksi yang
menggantikan kode-kode biner dari bahasa mesin dengan “mnemonik” yang mudah
diingat. Misalnya sebuah instruksi penambahan dalam bahasa mesin dengan kode
“10110011” yang dalam bahasa assembly dapat dibuat dalam instruksi Mnemonik
ADD, sehingga mudah diingat dibandingkan dengan angka 0 dan 1, dalam setiap
instruksi membutuhkan suatu operand baik berupa data langsung maupun suatu
lokasi memori yang menyimpan data yang bersangkutan.
Source code adalah bahasa assembly,
Object code adalah bahasa mesin .
Gambar 1: Penterjemah Assembler
2.
Compiler
Compiler
adalah suatu program yang menerjemahkan bahasa program ( source code) kedalam
bahasa objek (obyek code). Compiler menggabungkan keseluruhan bahasa program,
mengumpulkannya dan kemudian menyusunnya kembali. Contoh program yang
menggunakan compiler adalah Visual Basic, Visual Delvi, dan Pascal.
Source code adalah bahasa tingkat
tinggi, object code adalah bahasa mesin atau bahasa assembly. Source code dan
data diproses berbeda.
Gambar 2: Penterjemah Compiler
3.
Interpreter
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. Java dijalankan
menggunakan interpreter yaitu Java Virtual Machine (JVM). Hal ini menyebabkan
source code Java yang telah dikompilasi menjadi Java bytecodes dapat dijalankan
pada platform yang berbeda-beda.
Interpreter tidak menghasilkan
bentuk object code, tetapi hasil translasinya hanya dalam bentuk internal,
dimana program induk harus selalu ada-berbeda dengan compiler.
Gambar 3 : Penterjemah Interpreter
Pembuatan
compiler
Kompiler yang bagus adalah yang dapat bekerja dengan
baik pada mesin-mesin komputer dan tidak membutuhkan proses yang lama. Ada
berapa cara dalam membuat suatu penterjemah dalam hal ini ,misalnya compiler
akan bahasa yang digunakan untuk membuat compiler pun beragam misalnya :
Bahasa mesin
·
Sangat sukar dan sangat sedikit
kemungkinannya untuk membuat compiler dengan bahasa ini, karena manusia susah
mempelajari bahasa mesin,
·
Sangat tergantung pada mesin,
·
Bahasa Mesin kemungkinan digunakan pada
saat pembuatan Assembler
Assembly
·
Hasil dari program mempunyai Ukuran yang
relatif kecil
·
Sulit dimengerti karena
statement/perintahnya singkat-singkat, butuh usaha yang besar untuk membuat
·
Fasilitas yang dimiliki terbatas
Bahasa Tingkat Tinggi (high level
language)
·
Lebih mudah dipelajari
·
Fasilitas yang dimiliki lebih baik
(banyak)
·
Memiliki ukuran yang relatif besar,
misal membuat compiler pascal dengan menggunakan bahasa C
·
Untuk mesin yang berbeda perlu
dikembangkan tahapan-tahapan tambahan.
·
Misal membuat compiler C pada Dos
bedasarkan compiler C pada unix
Bahasa Tingkat
Tinggi
(pemrograman)
·
Bahasa
yang lebih dikenal oleh manusia, maksudnya adalah statement yang digunakan
menggunakan bahasa yang dipakai oleh manusia (Inggris)
·
Programmudah
untuk dikoreksi dan diperbaiki (debug)
·
Tidak
tergantung pada salah satu jenis mesin komputer
·
Bahasa
tingkat tinggi biasanya masih membutuhkan translator
·
Memberikan
fasilitas yang lebih banyak, seperti struktur kontrol program yang terstruktur,
memiliki blok-blok, serta prosedur dan fungsi-fungsi:
o
Struktur
kontrol seperti:
o
kondisi
(If ...Then...Else),
o
perulangan
(For, While)
o
struktur
blok (begin...End, {...})
·
Oleh
karena itu dari bahasa tingkat tinggi ke dalam bahasa mesin dibutuhkan sesuatu
untuk menterjemahkan agar mesin (komputer) mengerti apa yang diinginkan
manusia. Menerjemahkan statement bahasa tingkat tinggi ke dalam bahasa tingkat
rendah dapat dibedakan menjadi dua; melalui interpreter atau compiler yang
fungsinya sama yaitu menerjemahkan.
BootStrap
·
Untuk membangun sesuatu yang besar,
dibangun/dibuat dulu bagian intinya
(niklaus Wirth - saat membuat pascal compiler).
·
PO dibuat dengan assembly, P1 dibuat
dari P0, dan P2 dibuat dari P1, jadi compiler untuk bahasa P dapat dibuat tidak
harus dengan menggunakan assembly secara
keseluruhan.
1.2
Implementasi pada compiler
Pemograman
merupakan suatu proses guna mengimplentasikan algoritma dengan menggunakan
suatu bahasa pemrograman. Agar komputer dapat memahami program yang disusun
dengan suatu bahasa pemrograman, maka dibutuhkan suatu penerjemah, yaitu
interprenter atau compiler .Adapun
penjelasan dari masing-masing proses adalah sebagai berikut:
Saurce code: Source code
(atau disebut juga source) adalah kumpulan pernyataan atau deklarasi bahasa
pemrogramman komputer yang ditulis dan dapat di baca manusia. Source code
memungkinkan programmer untuk berkomunikasi dengan komputer menggunakan
beberapa perintah yang telah terdefinisi.
Compiler: Compiler adalah sebuah program
komputer yang berguna untuk menerjemahkan program komputer yang ditulis dalam
bahasa pemrograman tertentu menjadi program yang ditulis dalam bahasa
pemrograman lain.
EXE (Executable / Application)Tipe file ini merupakan file
yang sering terinfeksi virus dan sebagian besar virus juga berupa exe.
COM file (Command File), bisa berupa Text atau Binary File
yang dijalankan under DOS / MS-DOS. Generasi awal virus sepertinya berupa file
COM ini.
SYS (Device Driver), merupakan file Binary yang digunakan
untuk Driver.
Run: menjalankan
atau memproses (suatu program dari source code sampai ke executable binary).
1.3 Cara Menjalankan Kode Program Pascal (Membuat File exe)
Berikut
ketikkan kode program dibawah ini
Men-compile
Kode Pascal (Membuat File .exe)
Setelah menyimpan file, langkah
selanjutnya adalah men-compile kode program tersebut. Secara sederhana, compile
adalah sebuah proses untuk membuat program executable (file .exe)
berdasarkan kode yang telah dibuat.
Untuk men-compile kode program pascal, pilih menu Compile
-> Compile. Atau gunakan shortcut ALT+F9.Ketika melalukan proses compile, program Free Pascal (atau Turbo Pascal) akan memproses seluruh kode program dan menampilkan error (jika ada) atau menampilkan keterangan “Compile sucessfull: Press any key” jika berhasil.
Menjalankan Kode Program Pascal
(run)
BAB III
PENUTUP
KESIMPULAN
Teknik Kompilasi Merupakan
Teknik dalam melakukan pembacaan suatu program yang ditulis dalam bahasa
sumber, kemudian diterjemahkan ke dalam suatu bahasa lain yang disebut bahasa
sasaran. Dengan
adanya program bantu dan tata cara pembentukan yang sistematis dan tertata dengan
baik serta pendefinisian struktur bahasa yang cermat, maka suatu kompilator
untuk bahasa yang terstruktur seperti PASCAL atau C dapat dikembangkan.
Pemograman
merupakan suatu proses guna mengimplentasikan algoritma dengan menggunakan
suatu bahasa pemrograman. Agar komputer dapat memahami program yang disusun
dengan suatu bahasa pemrograman, maka dibutuhkan suatu penerjemah, yaitu
interprenter atau compiler.
DAFTAR PUSTAKA
JOHAND WILLEM S. TEKNIK KOMPILASI PPT
ERNASTUTI
& SULISTYO.TEKNIK KOMPILASI PDF
HARI
SOETANTO.TEKNIK KOMPILASI ,2004
Tidak ada komentar:
Posting Komentar