0 penilaian0% menganggap dokumen ini bermanfaat (0 suara)
103 tayangan8 halaman
Dokumen tersebut membahas tentang teknik kompilasi, yang merupakan proses menggabungkan dan menterjemahkan source code menjadi bentuk lain seperti bahasa mesin. Proses kompilasi terdiri atas beberapa tahap seperti analisis leksikal, sintaks, dan semantik untuk menghasilkan kode antara sebelum diubah menjadi kode sasaran. Dokumen juga membahas komponen penting dalam kompilasi seperti compiler dan interpreter beserta per
Dokumen tersebut membahas tentang teknik kompilasi, yang merupakan proses menggabungkan dan menterjemahkan source code menjadi bentuk lain seperti bahasa mesin. Proses kompilasi terdiri atas beberapa tahap seperti analisis leksikal, sintaks, dan semantik untuk menghasilkan kode antara sebelum diubah menjadi kode sasaran. Dokumen juga membahas komponen penting dalam kompilasi seperti compiler dan interpreter beserta per
Hak Cipta:
Attribution Non-Commercial (BY-NC)
Format Tersedia
Unduh sebagai DOCX, PDF, TXT atau baca online dari Scribd
Dokumen tersebut membahas tentang teknik kompilasi, yang merupakan proses menggabungkan dan menterjemahkan source code menjadi bentuk lain seperti bahasa mesin. Proses kompilasi terdiri atas beberapa tahap seperti analisis leksikal, sintaks, dan semantik untuk menghasilkan kode antara sebelum diubah menjadi kode sasaran. Dokumen juga membahas komponen penting dalam kompilasi seperti compiler dan interpreter beserta per
Hak Cipta:
Attribution Non-Commercial (BY-NC)
Format Tersedia
Unduh sebagai DOCX, PDF, TXT atau baca online dari Scribd
1.1. Definisi Teknik Kompilasi Teknik merupakan suatu Metode atau Cara, sedangkan kompilasi adalah suatu proses menggabungkan serta menterjemahkan sesuatu menjadi bentuk lain. Sehingga Teknik kompilasi adalah Metode atau cara menggabungkan dan menterjemahkan sesuatu (yang dalam hal ini adalah source code) menjadi bentuk lain. Dalam teknik kompilasi ini terdapat beberapa komponen yang mendukung dalam proses kompilasi.
1.2. Komponen Dalam Teknik Kompilasi omponen dalam teknik kompilasi ini adalah Translator. Translator adalah suatu program yang mengambil input sebuah program yang ditulis pada satu bahasa program (source language) ke bahasa lain (The object on target language). Yang termasuk ke dalam source language disini adalah seperti Cobol, Pascal, Fortran dan lainnya, sedangkan yang termasuk ke dalam object language adalah low-level language atau bahasa mesin. Dan translator seperti ini disebut dengan Compiler. Selain compiler ada juga interpreter, meskipun berbeda pada proses penterjemahannya tapi Iungsi keduanya sama yaitu menterjemahkan source language menjadi object language.
1.3. Pengelompokan Proses Kompilasi Proses ompilasi dikelompokkan ke dalam dua kelompok besar, yaitu : nalisa : source language dipecah dan dibentuk menjadi intermediate representation. Sintesa : membuat object language dari representation intermediate.
1LkNIk kCMILASI | 1LCkI 8AnASA DAN AU1CMA1A
nurul Al Padl 10109932 |II17k 2
1.4. Bahasa Pemograman da beberapa bahasa yang diproses dalam kompilasi, diantaranya : ahasa Mesin : entuk paling rendah dari bahsa komputer (berupa kode numerik). ahasa ssembly : entuk simbolik dari bahasa mesin (berupa kode : DD, dll). ahasa Problem Oriented : termasuk sebagai bahasa tingkat tinggi (SQL, Myob, dll) ahasa Tingkat Tinggi : memberikan Iungsi kontrol program, kalang, block dan prosedur.
1.5 Teknik Kompilasi Teknik kompilasi adalah Metode atau cara menggabungkan dan menterjemahkan sesuatu (yang dalam hal ini adalah source language) menjadi bentuk lain (object language). Teknik kompilasi ini membuat suatu bahasa menjadi dimengerti baik oleh user maupun komputer. pabila kita analogikan, teknik ini seperti translator bahasa atau penerjemah yang mana menerjemahkan satu bahasa ke bahasa lain agar mempermudah komunikasi. User mungkin harus mempelajari terlebih dahulu bahasa mesin yang hanya dimengerti oleh komputer agar dapat melakukan intruksi atau melakukan suatu prosedur/Iungsi pada komputer apabila tidak ada teknik kompilasi ini. Sehingga sekarang bahasa tingkat tinggi (high-level programming language) dapat dikompilasi ke dalam bahasa tingkat rendah (bahasa mesin) yang hanya dimengerti oleh komputer saja.
Proses kompilasi dapat digambarkan sebagai berikut :
Gbr 1. Proses Teknik Kompilasi 1LkNIk kCMILASI | 1LCkI 8AnASA DAN AU1CMA1A
nurul Al Padl 10109932 |II17k 3
Proses kompilasi dikelompokkan ke dalam dua kelompok besar : 1.1 nalisa : program sumber dipecah-pecah dan dibentuk menjadi bentuk antara (intermediate representation). 2.1 $intesa : membangun program sasaran yang diinginkan dari bentuk antara.
Fase-Iase proses sebuah kompilasi adalah sebagai berikut :
Gbr 2. Fase Proses Kompilasi
Program Sumber (Source Program) :berupa rangkaian karakter yang diinputkan. Penganalisa leksikal Membaca program sumber, karakter demi karakter. Sederetan (satu atau lebih) karakter dikelompokkan menjadi satu kesatuan mengacu kepada pola kesatuan kelompok karakter (token) yang ditentukan dalam bahasa sumber (source language). elompok karakter yang membentuk sebuah token dinamakan lexeme untuk token tersebut. Setiap token yang dihasilkan disimpan di dalam tabel simbol. Sederetan karakter yang tidak mengikuti pola token akan dilaporkan sebagai token tak dikenal (unidentified token). 1LkNIk kCMILASI | 1LCkI 8AnASA DAN AU1CMA1A
nurul Al Padl 10109932 |II17k 4
Contoh : Misalnya pola token untuk identifier I adalah : I huruf(hurufangka)*. Lexeme ab2c dikenali sebagai token sementara lexeme 2abc atau abC tidak dikenal. Penganalisa sintaks : memeriksa kesesuaian pola deretan token dengan aturan sintaks yang ditentukan dalam bahasa sumber. Sederetan token yang tidak mengikuti aturan sintaks akan dilaporkan sebagai kesalahan sintaks (sintax error). Secara logika deretan token yang bersesuaian dengan sintaks tertentu akan dinyatakan sebagai pohon parsing (parse tree). Penganalisa semantik : memeriksa token dan ekspresi dari batasan-batasan yang ditetapkan. atasan-batasan tersebut misalnya : a. panjang maksimum token identifier adalah 8 karakter, b. panjang maksimum ekspresi tunggal adalah 80 karakter, c. nilai bilangan bulat adalah -32768 s/d 32767, d. operasi aritmatika harus melibatkan operan-operan yang bertipe sama. Pembangkit kode antara : membangkitkan kode antara (intermediate code) berdasarkan pohon parsing. Pohon parse selanjutnya diterjemahkan oleh suatu penerjemah yang dinamakan penerfemah berdasarkan sintak (syntax-directed translator). Hasil penerjemahan ini biasanya merupakan perintah tiga alamat (three-address code) yang merupakan representasi program untuk suatu mesin abstrak. Perintah tiga alamat bisa berbentuk quadruples (op, arg1, arg2, result), tripels (op, arg1, arg2). Ekspresi dengan satu argumen dinyatakan dengan menetapkan arg2 dengan - (strip, dash) Pengoptimal kode : melakukan optimasi (penghematan space dan waktu komputasi), jika mungkin, terhadap kode antara. Pembangkit kode : membangkitkan kode dalam bahasa target tertentu (misalnya bahasa mesin).
1LkNIk kCMILASI | 1LCkI 8AnASA DAN AU1CMA1A
nurul Al Padl 10109932 |II17k 3
Dalam proses ompilasi dibutuhkan Translator yang melakukan pengubahan source code / source program ke dalam object code. ategori Translator ada tiga : Compiler Source code yang diubah adalah bahasa tingkat tinggi (high-level programming language) dan Object Code-nya adalah bahasa mesin atau assembly. Source code dan data diproses bersamaan.
Gbr 3. Compiler ssembler Source code yang diubah adalah bahasa ssembly dan Object Code-nya adalah bahasa mesin. Contoh : Turbo ssembler.
Gbr 4. ssembler
1LkNIk kCMILASI | 1LCkI 8AnASA DAN AU1CMA1A
nurul Al Padl 10109932 |II17k 6
Interpreter Source code dan data diproses bersamaan. Tetapi tidak membangkitkan object code. Contoh : SIC, SPSS, DSE III.
Gbr 5. Interpreter Compiler dapat dibuat dengan : a. ahasa Mesin Tingkat kesulitannya tinggi, bahkan hampir mustahil dilakukan. arena manusia sulit mempelajari bahasa mesin. b. ahasa ssembly ahasa ssembly bisa dan biasa digunakan sebagai tahap awal pada proses pembuatan sebuah compiler. Namun Iasilitasnya terbatas. c. ahasa Tingkat Tinggi Proses pembuatan compiler akan lebih mudah, karena mudah dipelajari. Misal membuat compiler Pascal dengan bahasa C. d. ootsrap Pembuatan compiler bertingkat.
Dalam pembuatan compiler ini diperlukan standar atau aturan tata bahasa. Tata bahasa ini berupa sekumpulan variabel-variabel, simbol-simbol terminal dan non- terminal yang dibatasi aturan produksi.
1LkNIk kCMILASI | 1LCkI 8AnASA DAN AU1CMA1A
nurul Al Padl 10109932 |II17k 7
Tahun 1956-1959 Noam Chomsky melakukan penggolongan tingkatan dalam bahasa menjadi empat tipe. Penggolongan tingkatan itu disebut dengan hirarki Chomsky.
Tipe 0 (Unrestricted) Tidak ada batasan pada aturan produksi. Contoh : bc De Tipe 1 (Context Sensitive) Panjang string ruas kiri harus lebih kecil atau sama dengan ruas kanan . Contoh : b DeF CD eF Tipe 2 (Context Free Grammar) Ruas kiri harus tepat satu simbol variabel. Contoh : CdeFg D cDe Tipe 3 (Regular) Ruas kanan hanya memiliki maksimal 1 simbol non-terminal dan diletakkan paling kanan sendiri. Contoh : e eIg eIgH C D
turan produksi digunakan agar penerapan pada pembuatan tata bahasa dikomputer lebih mudah dan menghasilkan suatu penterjemah yang dapat diandalkan. iasanya aturan produksi dinyatakan dalam bentuk u (u menghasilkan ). u merupakan simbul untuk ruas kiri, dan merupakan simbol untuk ruas kanan. Simbol-simbolnya pun bisa berupa terminal dan variabel, dimana variabel (non-terminal) masih bisa diturunkan menjadi simbol lainnya.
1LkNIk kCMILASI | 1LCkI 8AnASA DAN AU1CMA1A
nurul Al Padl 10109932 |II17k 8
iasanya simbol terminal disimbolkan dengan huruI kecil (a, b , c, d, e, dst), sedangkan untuk simbol non-terminal disimbolakn denga huruI besar (, , C, D, E , dst).
Contoh aturan produksi sebagai berikut : T a, T menghasilkan a E T , ab, E menghasil