Anda di halaman 1dari 11

PRESENTASI

TEKNIK KOMPILASI

KELOMPOK 3
1. Yuvensius Aurelius Uskenat 23119120 (Ketua)
2. Felisitas Bergita W. Tobin 23119099
3.Elisabeth Feronika Fahik 23119103
4. Maria Jelsiani Bhanda 23119104
5.Maria Lidia Bau 23119106
6.Agrianus Erwin Bere 23119111
7.Yane Rouk 23119113
8.Maria Imakulata Fay 23119117
9.Maria Novi 23119121
10. Pius Bernardus Hodimura Losor 2319122
1. Pengertian teknik kompilasi
Kompilasi adalah suatu proses penggabungan serta
menterjemahkan sesuatu (source program) menjadi bentuk
lain.
kompilasi Merupakan Teknik dalam melakukan pembacaan
suatu program yang ditulis dalam bahasa sumber, kemudian
diterjemahkan ke dalam suatu bahasa lain yang disebut
bahasa sasaran.
Dalam melakukan proses penerjemahan tersebut, sudah
barang tentu kompilator akan melaporkan adanya keanehan-
keanehan atau kesalahan yang mungkin ditemukannya.
Proses penerjemahan yang dilakukan oleh kompilator ini
disebut proses kompilasi (compiling).
Latar Belakang
Proses konversi kode sumber suatu aplikasi/program ke bahasa lain sering kali
dilakukan oleh pelaku industri perangkat lunak, karena satu dan lain hal
(misal : integrasi dengan sistem lain, perubahan perangkat keras, minimasi
biaya, perubahan regulasi perusahaan atau perkembangan proses bisnis).
Proses konversi kode juga dapat menjadi alat bantu belajar yang efisien bagi
mahasiswa yang sedang belajar bahasa pemrograman baru, dengan
membandingkan bahasa tersebut dengan bahasa pemrograman lain yang telah
dikuasai sebelumnya (dengan catatan kedua bahasa tersebut memiliki banyak
kesamaan). Bahasa C dan Pascal telah dikenal lama didunia pemrograman
komputer dan industri perangkat lunak. Keduanya lahir di era 70-an, saat-saat
penting mulai munculnya generasi UNIX, sistem operasi yang sangat
berpengaruh terhadap teknologi komputer. Pascal sering menjadi alat bantu
dalam perkuliahan ilmu komputer, karena sintaks-nya yang jelas dan mudah
dimengerti, sehingga Pascal telah menjadi alat bantu pemrograman yang
identik dengan dunia pendidikan dan akademi.
Lain hal dengan C, bahasa ini telah menjadi alat bantu yang paling banyak
dipakai dalam industri perangkat lunak [HIP92]. Bahasa C dirancang dekat
dengan mesin, sehingga memiliki beberapa kelebihan seperti cepat, efisien
dan tangguh. Namun demikian, C tidak serumit dan sesulit bahasa rakitan
(Assembly), karena C sangat ekspresif dan permisif [STR87]. Karena alasan
itulah, bahasa C seringkali dipakai untuk membangun software-software
sistem, seperti sistem operasi, basis data, server, kompilator, dll. Namun
seringkali bahasa C dianggap sulit dimengerti, dan otomatis sulit dipelajari,
berbeda dengan Pascal, yang sebagian besar orang menganggapnya mudah
dipelajari. Celah ini nampaknya sangat bagus untuk dieksplorasi, adanya gap
antara kebutuhan mahasiswa untuk belajar bahasa C dan hambatan yang
telah diungkapkan diatas, bahwa bahasa C terkenal sulit dimengerti dan
dipelajari. Terkadang untuk mempelajari sesuatu, seseorang membutuhkan
suatu
Perkembangan Dan Kondisi Terkini
Sejarah perkembangan suatu kompilator dimulai pada saat
ditemukannya komputer yaitu awal tahun 1950. Sejak itu
teknik dan cara pembentukan suatu kompilator telah
berkembang dengan sangat pesat dan dapat dilakukan
dengan mudah. Demikian pula program bantu (tools)
untuk membuat suatu kompilator sudah dapat diperoleh
sehingga mempercepat pembentukan suatu kompilator.
Kompilator pertama yang dibuat adalah kompilator untuk
bahasa FORTRAN yang pada saat itu dikembangkan oleh
sejumlah tenaga ahli. Dengan adanya program bantu dan
tata cara pembentukan yang sistematis dan tertata dengan
baik serta pendefinisian struktur bahasa dengan cermat,
maka suatu kompilator untuk bahasa yang terstruktur
seperti PASCAL atau C dapat dikembangkan.
Proses kompilasi dari suatu kompilator pada dasarnya dapat
dibagi menajdai 2, yaitu bagian analisis dan bagian sintesis.
Tahap analisis program yang ditulis dalam bahasa sumber
dibagi dan dipecah ke dalam beberapa bagian yang
kemudian akan dipresentasikan ke dalam suatu bentuk
antara dari program sumber. Operasi-operasi yang dilakukan
oleh program sumber ditentukan dan dicatat dalam suatu
struktur pohon (tree) yang disebut dengan nama pohon
sintaks (sintax tree). Dalam hal ini setiap nodal pada tree
tersebut menyatakan suatu operasi, sedangkan anak dari
nodal (tititk) tersebut memberikan argumen yang
diperlukan
7 Tahapan teknik kompilasi
Proses kompilasi dikelompokan ke dalam dua
kelompok besar yaitu :
1. Tahap Analisa (Front-end) :Menganalisis source code
dan memecahnya menjadi bagian-bagian dasarnya.
Menghasilkan kode level menengah dari source code
input yang ada.
2. Tahap Sintesa (Back-end) : membangun program
sasaran yang diinginkan dari bentuk antara.
Tahap-tahap yang harus dilalui pada saat mengkompilasi program, yaitu:
Analisa Leksikal (scanner)
Berfungsi memecah teks program sumber menjadi bagian-bagian kecil yang
mempunyai satu arti yang disebut token, seperti : konstanta, nama variabel,
keyword, operator.
Analisa Sintaks (perser)                    
Berfungsi mengambil program sumber (sudah dalam bentuk barisan token)
dan menentukan kedudukan masing-masing token berdasarkan aturan
sintaksnya dan memeriksa kebenaran dan urutan kemunculan token.
 
Analisa Semantik
Berfungsi menentukan validitas semantiks/keberartian program sumber.
Biasanya bagian ini digabung dengan Pembangkit kode antara (intermediate
code generator).
Pembangkit Kode Antara
Berfungsi membangkitkan kode antara
 
Code optimization 
Berfungsi mengefisienkan kode antara yang dibentuk
 
Penangan Kesalahan (Error handler)
Berfungsi menangani kesalahan yang berlangsung selama proses kompilasi.
 
Symbol table management
Berfungsi mengelola tabel simbol selama proses kompilasi. Tabel simbol adalah
struktur data yang memuat record untuk tiap identifier dengan atribut-atribut
identifier itu.
 
3. Analisa leksikal dan sintaksis


Leksikal
Analisis leksikal atau scanner bertugas mengidentifikasi semua besaran pembangun
bahasa (leksikal) yang ada pada source code (source code). Scanner menerima
masukan source code berupa serangkaian karakter kemudian memilah-milahnya
menjadi bagian-bagian kecil yang mempunyai satu arti yang disebut token, seperti :
konstanta, nama variabel, keyword, operator. Token-token ini akan menjadi masukan
bagi analisis selanjutnya yaitu analisis sintaksis.
Sintaksis
Analisis sintak lebih sering disebut penguraian (parsing). Tujuan utama dari analisis
sintak adalah memeriksa apakah urutan token-token yang dihasilkan sesuai dengan
tata bahasa dari bahasa yang bersangkutan. Misalnya bahasa C mengenal kalimat:
jumlah++; yang berarti menaikkan harga variabel jumlah dengan angka satu. Tetapi
kalimat di atas akan salah jika dikompilasi dengan kompilator bahasa Pascal, karena
tidak sesuai dengan tata bahasa Pascal.
 
SEKIAN & TERIMA KASIH

Anda mungkin juga menyukai