Tujuan Teknik Kompilasi Dipelajari
Teknik Kompilasi
Arti Kata Tenik Kompilasi
- Teknik adalah metode atau cara.
- Kompilasi adalah proses menggabungkan serta menterjemahkan sesuatu (source program) menjadi bentuk lain.
Mengetahui penerapan konsep ilmu komputer pada prilaku komputer yaitu algoritma, arsitektur komputer, struktur data maupun penerapan teori bahasa dan automata
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. 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).
Beranekaragam kompilator yang dapat dibuat antara lain sebagai berikut :
1. Proses Analisis Leksikal (scanner)
Bahasa Sumber seperti bahasa FORTRAN, PASCAL, C dan juga bahasa-bahasa lainnya yang sifat dan pemakaiannya agak spesifik atau khusus, seperti bahasa untuk program DBASE, SPSS dan lain sebagainya.
Bahasa Sasaran dapat berupa bahasa sumber lain seperti C, FORTRAN dan lain sebagainya atau Bahasa Mesin (Machine Language) yang digunakan oleh suatu prosessor mikro atau sumber komputer besar maupunkomputer super
Secara umum proses dalam tahap analis terdiri dari 3 bagian utama, yaitu :1. Proses Analisis Leksikal (scanner)
Berfungsi memecah teks program sumber menjadi bagian-bagian kecil yang mempunyai satu arti yang disebut token, seperti : konstanta, nama variabel, keyword, operator.
2. Proses Analisis Sintaktik (Parser)
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.
3. Proses Analisis Semantik
Berfungsi menentukan validitas semantiks/keberartian program sumber. Biasanya bagian ini digabung dengan Pembangkit kode antara (intermediate code generator).
MENGENAL TRANSLATOR, COMPILER, INTERPRETER
DAN ASSEMBLER
1. TRANSLATOR
Penterjemah atau translator adalah seseorang atau tim yang bertugas dalam menterjemahkan suatu file, data maupun bahasa kedalam format yang diinginkan klien atau perusahaan dimana dia bekerja. Penerjemah terutama bekerja dengan hal hal bisnis, teknis, hukum dan bahan-bahan tertulis ilmiah termasuk surat-surat, laporan, artikel, buku dll.
Pekerjaan mereka menggabungkan:
- Membaca & menterjemahkan dokumen
- Menulis dan mengedit salinan
- Mempersiapkan ringkasan
- Konsultasi klien
- Mengembangkan kontak dan menggunakan program komputer terjemahan.
2. INTERPRETER DAN COMPILER
A. 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.
B. Compiler
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.
C. Bahasa pemrograman yang menggunakan compiler dan interpreter
1. Bahasa pemrograman yang menggunakan compiler
- Visual Basic
- Fortran
- Cobol
- Pascal
- C , dlsb.
2. Bahasa pemrograman yang menggunakan interpreter :
- PHP
- ASP
- Perl
- Python, dlsb.
Contoh Gambar tahapan Compiler dan Interpreter :
3. ASSEMBLER
1. Element dari Bahasa Pemrograman Assembler
Bahasa assembly dikategorikan sebagai bahasa tingkat rendah (low level languange). Ini untuk menggambarkan kekhususannya sebagai bahasa yang berorientasi pada machine dependent. Untuk membandingkan bahasa mesin dan bahasa assembly, kita dapat melihatnya dari tiga karakteristik berikut :
A. Mnemonic operation code.
Sebagai pengganti numeric operation code (opcodes) yang digunakan pada bahasa mesin, digunakankanlah mnemonic code pada bahasa assembly. Selain kemudahan dalam penulisannya dibandingkan dari bahasa mesin juga mendukung pelacakan kesalahan seperti kesalahan penulisan operation code.
B. Symbolic operand specification.
Penamaan simbol diasosiasikan sebagai suatu data atau instruksi. Operand lebih menunjukkan symbolic reference dibandingkan dengan alamat mesin suatu data atau instruksi. Hal ini akan mempermudah pada saat harus dilakukan modifikasi program.
C. Declaration of data/storage area.
Data dapat dinyatakan dalam notasi desimal. Ini dilakukan untuk mencegah konversi secara manual dari konstanta ke dalam representasi internal mesin.
Komentar
Posting Komentar