TEKNIK KOMPILASI PENDAHULUAN OLEH NUR FAHMI LUKMI SEMESTER

  • Slides: 16
Download presentation
TEKNIK KOMPILASI PENDAHULUAN OLEH : NUR FAHMI LUKMI SEMESTER V 2 COPYRIGHT@2011 PERTEMUAN

TEKNIK KOMPILASI PENDAHULUAN OLEH : NUR FAHMI LUKMI SEMESTER V 2 COPYRIGHT@2011 PERTEMUAN

PENDAHULUAN � APA ITU KOMPILER? “Kompiler adalah program yang menerjemahkan bahasa pemrograman (PASCAL, C,

PENDAHULUAN � APA ITU KOMPILER? “Kompiler adalah program yang menerjemahkan bahasa pemrograman (PASCAL, C, PL/I, FORTRAN, JAVA, COBOL) ke dalam bahasa mesin. ” SEMESTER V 2 COPYRIGHT@2011 PERTEMUAN

Bahasa Mesin Bahasa mesin adalah bahasa asli yang digunakan oleh mesin komputer. Bahasa mesin

Bahasa Mesin Bahasa mesin adalah bahasa asli yang digunakan oleh mesin komputer. Bahasa mesin berupa deretan bit, hingga membentuk numerik biner atau diringkas menjadi Heksadesimal. Contoh: Untuk mesin IBM/370 0001100000110101 biner 1835 Heksadesimal SEMESTER V 2 COPYRIGHT@2011 PERTEMUAN

Bahasa Assembly Bahasa assembly dapat dikatakan sebagai bahasa pemrograman pertama, karena telah berbentuk string

Bahasa Assembly Bahasa assembly dapat dikatakan sebagai bahasa pemrograman pertama, karena telah berbentuk string dan lebih mudah dimengerti manusia. String tersebut biasa disebut mnemonic. Contoh: LR 3, 5 Copy isi general register 5 ke general register 3 SEMESTER V 2 COPYRIGHT@2011 PERTEMUAN

Bahasa Tingkat Tinggi Bahasa pemrograman tingkat tinggi (High Level Language) merupakan bahasa pemrograman yang

Bahasa Tingkat Tinggi Bahasa pemrograman tingkat tinggi (High Level Language) merupakan bahasa pemrograman yang mendekati bahasa manusia, sehingga lebih mudah dimengerti. Seperti PASCAL, C, PL/I, FORTRAN, JAVA, COBOL. Selain itu satu perintah dalam bahasa tingkat tinggi dapat diterjemahkan beberapa baris dalam bahasa yang lebih rendah tingkatannya. SEMESTER V 2 COPYRIGHT@2011 PERTEMUAN

Contoh : Bahasa Pascal X: = Y + Z; Diterjemahkan kedalam bahasa Assembly (yang

Contoh : Bahasa Pascal X: = Y + Z; Diterjemahkan kedalam bahasa Assembly (yang lebih rendah tingkatanya) untuk mesin IMB/370 menjadi: L 3, Y Load Y ke register 3 A 3, Z Add Z ST 3, X Simpan hasilnya ke X. SEMESTER V 2 COPYRIGHT@2011 PERTEMUAN

Istilah-Istilah Penting Source Language: Bahasa (tingkat tinggi) yang menjadi masukan bagi kompiler. Source Code:

Istilah-Istilah Penting Source Language: Bahasa (tingkat tinggi) yang menjadi masukan bagi kompiler. Source Code: Program dalam bahasa sumber (bahasa tingkat tinggi) yang akan dikompilasi. Object Language: Bahasa yang digunakan oleh program hasil kompilasi (object code). Bahasa ini digolongkan kedalam bahasa mesin. Object Code: Program hasil keluaran dari kompiler. SEMESTER V 2 COPYRIGHT@2011 PERTEMUAN

Lanjutan Object File/Module: Hasil kompiler biasanya disimpan dalam bentuk file di piranti penyimpanan. File

Lanjutan Object File/Module: Hasil kompiler biasanya disimpan dalam bentuk file di piranti penyimpanan. File ini berakhiran. OBJ. Target Machine: Komputer yang digunakan untuk menjalankan program hasil kompiler. Cross Compiler: Kompiler yang digunakan untuk menghasilkan Object Code yang dijalankan pada jenis komuter yang berbeda. SEMESTER V 2 COPYRIGHT@2011 PERTEMUAN

Kompiler dan Interpreter Program penerjemah dari bahasa assembly ke bahasa mesin adalah Assembler. Sedangkan

Kompiler dan Interpreter Program penerjemah dari bahasa assembly ke bahasa mesin adalah Assembler. Sedangkan kompiler menerjemahkan bahasa tingkat tinggi ke dalam bahasa assembly. Interpreter tidak menerjemahkan semua baris perintah dalam suatu program, tetapi hanya menganalisis kemudian langsung mengeksekusi tiap baris perintah. SEMESTER V 2 COPYRIGHT@2011 PERTEMUAN

Skematis Proses Kompilasi SEMESTER V 2 COPYRIGHT@2011 PERTEMUAN

Skematis Proses Kompilasi SEMESTER V 2 COPYRIGHT@2011 PERTEMUAN

Tahapan Kompiler � Lexycal Analysis � Syntactic Analysis � Intermediate Code Generation � Optimization

Tahapan Kompiler � Lexycal Analysis � Syntactic Analysis � Intermediate Code Generation � Optimization � Object Code Generatio Tahapan diatas biasanya tidak dilakukan sekaligus, tetapi masih dibagi menurut beberapa term atau disebut pass. SEMESTER V 2 COPYRIGHT@2011 PERTEMUAN

Kompiler dengan 4 pass SEMESTER V 2 COPYRIGHT@2011 PERTEMUAN

Kompiler dengan 4 pass SEMESTER V 2 COPYRIGHT@2011 PERTEMUAN

Pass, Front End, Back End Proses kompilasi dibuat beberapa pass yang isinya adalah membaca

Pass, Front End, Back End Proses kompilasi dibuat beberapa pass yang isinya adalah membaca program dari suatu versi dan ditulis menjadi versi yang baru. Alasan menggunakan beberapa pass adalah: o Menyimpan pertanyaan-pertanyaan yang belum terjawab dari awal. o Keterbatasan memori. SEMESTER V 2 COPYRIGHT@2011 PERTEMUAN

Lanjutan Tiga tahap pertama dari proses kompilasi, yaitu Lexical Analysis, Parsing (Syntax analysis), da

Lanjutan Tiga tahap pertama dari proses kompilasi, yaitu Lexical Analysis, Parsing (Syntax analysis), da Intermediate code generation di sebut Font-end. Dan dua tahap terakhir, yaitu optimisasi dan object code generation di sebut Back-end. SEMESTER V 2 COPYRIGHT@2011 PERTEMUAN

Menulis Kompiler pertama ditulis dengan bahasa assembly. Langkah-langkah prosesnya adalah: Langkah-langkah menggunakan kompiler: SEMESTER

Menulis Kompiler pertama ditulis dengan bahasa assembly. Langkah-langkah prosesnya adalah: Langkah-langkah menggunakan kompiler: SEMESTER V 2 COPYRIGHT@2011 PERTEMUAN

SEKIAN…. . SEMESTER V 2 COPYRIGHT@2011 PERTEMUAN

SEKIAN…. . SEMESTER V 2 COPYRIGHT@2011 PERTEMUAN