Teori Komputasi 10/15/2015. Bab 1: Pendahuluan. Teori Komputasi dan Teknik Kompilasi. Teori Komputasi dan Teknik Kompilasi

dokumen-dokumen yang mirip
Pendahuluan. Kuliah online : Tekkom [2013/VI]

TEKNIK KOMPILASI (TEKKOM) ISTIQOMAH, S.KOM /SEMESTER VI

TEKNIK KOMPILASI Tony Darmanto,ST / Smt V S1 TI / STMIK WIDYA DHARMA/ Hal 1

Compiler & Interpreter

Pendahuluan. Tujuan Pembelajaran :

Teknik Kompilasi II TEKNIK KOMPILASI. Ernastuti & Sulistyo P 1/52. Ernastuti & Sulistyo

PENGANTAR TEKNIK KOMPILASI

MODEL KOMPILATOR FUNGSI UMUM BAGIAN KOMPILATOR. Dosen Pengampu: Utami Dewi Widianti,S.Kom

TEKNIK KOMPILASI. Alamat untuk tugas: Informasi: DADANG MULYANA. dadang mulyana 2013

LANGUAGES AND TRANSLATOR

TEORI BAHASA & OTOMATA (PENGENALAN KOMPILASI) PERTEMUAN VI Y A N I S U G I Y A N I

Fase-fase proses sebuah kompilasi

ALGORITMA DAN PEMROGRAMAN #2

Proses Kompilasi. Otomata dan Pengantar Kompulasi Pertemuan 3

KOMPILASI. Assembler Bahasa Rakitan Bahasa Mesin Compiler (Kompilator) Bahasa Tingkat Tinggi Bahasa tingkat rendah

Alat bantu (tools) dalam pembuatan parser/ analisis sintaksis. Menggunakan simbol persegi panjang untuk non terminal

UNIVERSITAS GUNADARMA

Algoritma dan Struktur Data

TEKNIK KOMPILASI. Firrar Utdirartatmo

Hirarki Comsky. Unrestricted. Context Sensitive Context free Regular

Learning Outcomes. akan mampu : (C3) perancangan compiler yang paling optimal (C4)

Pengayaan Software/Hardware dan Pengantarmukaan

Teknik Kompiler 1. oleh: antonius rachmat c, s.kom

TEKNIK KOMPILASI PERTEMUAN Ke 4 dan 5 Abdul Muis Mappalotteng ANALISIS SEMANTIK

TEKNIK KOMPILASI. Dosen : Dwi Retno Wahyuningsih, S. Kom. Jurusan : Teknik Informatika Semester Genap 2007/2008

Materi Pelajaran : Algoritma Pemrograman. Siswa memahami tentang dasar dasar Algoritma Pemrograman

DASAR KOMPUTER. Assembly Language

Web Site :

Gambar 1. Blok Utama Komputer

SEMANTIK. Sintak mendifinisikan suatu bentuk program yang benar dari suatu bahasa.

BAB I PENGENALAN TEKNIK KOMPILASI

MK. PEMROGRAMAN SISTEM Semester/SKS : 6/3 ASSEMBLER. Jurusan Sistem Komputer-S1 Universitas Gunadarma

BAB V ANALISA SEMANTIK

SINTAKS. Sintaks dari bahasa pemrograman di defenisikan dengan 2 kumpulan aturan, yaitu:

BAB I PENGANTAR Pendahuluan Penyajian 1.1 Latar Belakang 1.2 Algoritma dan Struktur Data

A. Pemahaman Awal. Hardware dan Software(1) Ada beberapa perangkat utama di komputer 20/01/2012

LAPORAN PRAKTIKUM 1 TEKNIK KOMPILASI

Algoritma Pemrograman 2C

Algoritma dan Struktur Data

ALGORITMA PEMROGRAMAN 1C SINTAKS

TEKNIK KOMPILASI. Dosen : Dwi Retno Wahyuningsih, S. Kom. Jurusan : Teknik Informatika Semester Genap 2007/2008

BAB I PENDAHULUAN. 1.1 Latar Belakang

Teknik optimasi. Teknik optimasi kode program Tujuan: menghasilkan kode program yang berukuran lebih kecil dan lebih cepat pada saat dieksekusi.

TEKNIK KOMPILASI. Muhamad Nursalman Ilmu Komputer FPMIPA - UPI

PERTEMUAN BAHASA PEMOGRAMAN DAN FORMAT BILANGAN MIKROKONTROLER

SATUAN ACARA PERKULIAHAN UNIVERSITAS GUNADARMA

MK. PEMROGRAMAN SISTEM Semester/SKS : 6/3 COMPILER. Jurusan Sistem Komputer S1 Universitas Gunadarma

Tahap pengembangan program

ORGANISASI KOMPUTER. Pertemuan II KONSEP DASAR KOMPUTER - SOFTWARE -

SEMANTIK. Int vector[10];

Pengantar Teknologi Informasi. Software Komputer

KOM204 : BAHASA PEMROGRAMAN

ALGORITMA DALAM KAITANNYA DENGAN KOMPUTER

Syntax, Semantic & Grammar. Konsep Bahasa Pemrograman Materi 3 Yudianto Sujana, M.Kom

SINTAKS. Sintaks dari bahasa pemrograman di defenisikan dengan 2 kumpulan aturan, yaitu:

A. Pemahaman Awal. Oleh : Fiftin Noviyanto

Pemrograman dan Bahasa Pemrograman

Programming Language Bahasa Pemrograman

ALGORITMA PEMROGRAMAN 1C SEMANTIKS

PENDAHULUAN PEMROGRAMAN KOMPUTER. Mengapa Belajar Pemrograman Komputer?

Teknik Optimasi. Teknik Kompilasi Dosen: Utami Dewi W.,S.Kom

Teknik Kompiler 11. oleh: antonius rachmat c, s.kom

Dasar Pemrograman. Nisa ul Hafidhoh

PENGANTAR ALGORITMA PEMROGRAMAN

PENGEMBANGAN PROTOTIPE APLIKASI KONVERSI KODE DARI BAHASA C KE PASCAL

1. Algoritma & Pemrograman

Algoritma Pemrograman I

Perjalanan sebuah intruksi

TEKNIK OPTIMASI. Dependensi Optimasi. Optimasi Lokal. Menghasilkan kode program dengan ukuran yang lebih kecil, sehingga lebih cepat eksekusinya.

P3 Pengantar Pemrograman C

Sekilas C DAN C++ DISUSUN OLEH. Sebuah bahasa, yaitu: 1. Bahasaa tingkat tinggi. High. dapat. lunak

Teknik Kompiler 12. oleh: antonius rachmat c, s.kom

Pengenalan Algoritma & Pemrograman

Implementasi OOP Pada Perangkat Lunak Pemrograman

POKOK BAHASAN - 1 ALGORITMA & PEMROGRAMAN

Bahasa Pemrograman Assembler 8051

IT132. Ramos Somya, S.Kom., M.Cs.

Program. Instruksi-instruksi yang diberikan kepada komputer agar dapat melaksanakan tugas-tugas tertentu

Pemrograman Komputer Pendahuluan

Mengapa Belajar Pemrograman Komputer?

Pengenalan Program Java

Teknik Kompilasi. Hari Soetanto Teknik 1

Pengenalan Algoritma

Tujuan. Pengenalan. Pengenalan Pemrograman Komputer. Komponen Dasar pada Komputer : Hardware. Komponen Dasar pada Komputer : Hardware

Zaenal Abidin, S.Si., M.Cs. Riza Arifudin, S.Pd., M.Cs.

PERANCANGAN DAN IMPLEMENTASI INTERPRETER BAHASA X PADA NOKIA 9210i

1.1 Introduction. H. M. Deitel, P. J. Deitel. 2004, Java How to Program, Sixth Edition

PEMROGRAMAN BAHASA RAKITAN

dilakukan oleh bahasa mesin dapat dilakukan oleh C dengan penyusunan program yang lebih sederhana dan mudah. Bahasa C dalam pemakainnya memerlukan

1 - Bahasa Pemrograman

BAB I SEKILAS TENTANG COBOL

BAB 2 TINJAUAN TEORITIS. Sistem berasal dari bahasa Yunani yaitu Systema, yang artinya sekumpulan objek

TEKNIK KOMPILASI. Oleh. Hartono

TUGAS MATA KULIAH TEKNIK KOMPILASI

TEORI BAHASA DAN OTOMATA [TBO]

ALGORITMA, PEMROGRAMAN DAN BAGAN ALIR. Pertemuan Ke-1

PERANCANGAN SISTEM PERBAIKAN ERROR KODE SUMBER PROGRAM OTOMATIS

MODUL PRAKTIKUM PEMROGRAMAN PASCAL. Fight #1 PENGENALAN PASCAL, VARIABEL, TIPE DAN KONSTANTA.

Dasar Pemrograman C++

IT132. Ramos Somya, S.Kom.

Transkripsi:

Teori Komputasi Agenda Teori Komputasi dan Teknik Kompilasi Translator Pembuatan Compiler Mutu Compiler Bab 1: Pendahuluan Fakultas Teknologi dan Desain Program Studi Teknik 1-1 Informatika Teori Komputasi 2 Teori Komputasi dan Teknik Kompilasi Teknik: metode atau cara Komputasi: proses/pengolahan data yang dilakukan oleh komputer. Teknik Komputasi: suatu metode/cara dalam melakukan proses/pengolahan data yang dilakukan oleh komputer. Compile: Teori Komputasi dan Teknik Kompilasi to translate a program written in high-level programming language into machine programming language (low-level programming language). Teknik Kompilasi: suatu metode/cara dalam menggabungkan serta menterjemahkan program sumber (source program) menjadi bentuk lain (machine language).: Teori Komputasi 3 Teori Komputasi 4 1

Translator Translator: suatu program yang mengambil input sebuah program yang ditulis pada satu bahasa pemrograman (source language) ke dalam bahasa lain (the object on target language). Mengapa dalam proses komputasi dibutuhkan translator? 1. bahasa mesin adalah bentuk bahasa yang terendah pada komputer; 2. bahasa mesin tidak lebih dari urutan bit 0 dan 1; 3. instruksi dalam bahasa mesin dapat dibentuk menjadi sebuah microcode; dan 4. user tidak memahami bahasa mesin Jenis Translator 1. Assembler, source code bahasa assembly, object code adalah bahasa mesin. *.asm assembler object code *.exe Teori Komputasi 5 Teori Komputasi 6 Jenis Translator 2. Compiler, source code bahasa high-level, object code adalah bahasa mesin. Source code dan data diproses terpisah. Jenis Translator 3. Interpreter, interpreter tidak menghasilkan bentuk object code, hasil translasinya dalam bentuk internal, dimana source code harus selalu ada. data data interpreter output source code compiler object code execution output object code Teori Komputasi 7 Teori Komputasi 8 2

Pembuatan Compiler Bahasa Mesin sukar; tergantung pada jenis mesin (semakin baik semakin rumit); dan lebih besar kemungkinan digunakan saat pembuatan assembler Assembly hasil program memiliki ukuran yang sangat kecil; sulit dipahami karena perintahnya singkat-singkat; fasilitas terbatas. Teori Komputasi 9 Pembuatan Compiler High-Level Language bahasa yang lebih dikenal dan lebih dapat dipahami oleh manusia karena statement (pernyataan) dibuat dalam bahasa yang mudah dimengerti oleh manusia, yaitu bahasa Inggris; memberikan fasilitas dan kemudahan yang lebih banyak bagi user; program mudah untuk diperbaiki dan dikoreksi (debug); dan tidak bergantung pada salah satu jenis mesin komputer dan masih membutuhkan translator. Bootstrap Untuk membangun sesuatu yang besar maka dibuat dahulu bagian intinya (Niklaus Wirth). Teori Komputasi 10 Pembuatan Compiler Statement yang dibuat oleh manusia pada sebuah bahasa pemrograman (source language) dilihat sebagai barisan bit 0 dan 1 oleh mesin (machine language) Terbagi ke dalam 2 kelompok besar: 1. Analisa (Front End) Melakukan dekomposisi program sumber (source code) menjadi bagian-bagian dasarnya (intermediate representation). 2. Sintesa (Back End) Melakukan pembangkitan dan optimasi program objek Teori Komputasi 11 Teori Komputasi 12 3

Source Code Lexical Analyzer (Scanner) Tahapan Proses Kompilasi Object Code ANALYSIS SYNTHESIS Semantic Syntactic Analyzer Intermmediate Code Code Analyzer Intermmediate Code Generator Optimizer (Parser) Code Generator 1. Scanner Memecah program sumber menjadi besaran leksikal/token Contoh: Perhitungan aritmatika A + B A + B id1 + id2 Tabel Simbol Teori Komputasi 13 Teori Komputasi 14 2. Parser Memeriksa kebenaran dan urutan kemunculan token id1 + id2 Id1 id2 + 3. Semantic Analyzer Analisis yang membangkitkan kode antara (intermmediate form) Id1 id2 + ( +, id1, id2, T1) Teori Komputasi 15 Teori Komputasi 16 4

4. Code Generator Membangkitkan kode objek ( +, id1, id2,t1) 5. Code Optimizer Memperkecil hasil dan mempercepat proses Teori Komputasi 17 Teori Komputasi 18 6. Pembuatan Object Code Menuliskan dalam bahasa assembly MOV T1, id1 ADD T1, id2 Mutu Compiler 1. Kecepatan Waktu Proses Penulisan Algoritma Compiler Kompilator Compiler 2. Mutu Program Object Ditentukan oleh ukuran dan kecepatan eksekusi program object 3. Integrated Environment Fasilitas-fasilitas yang terintegrasi yang dimiliki oleh sebuah compiler Teori Komputasi 19 Teori Komputasi 20 5

Teori Komputasi 1-21 6