LAPORAN PRAKTIKUM 1 TEKNIK KOMPILASI

dokumen-dokumen yang mirip
Compiler & Interpreter

Pengenalan Pemrograman

Pendahuluan. Tujuan Pembelajaran :

Pengenalan Pemrograman Komputer (Software)

Pendahuluan. Kuliah online : Tekkom [2013/VI]

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

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

Proses Kompilasi. Otomata dan Pengantar Kompulasi Pertemuan 3

PEMROGRAMAN BERORIENTASI OBJEK. Pendahuluan. Budhi Irawan, S.Si, MT

BAB I PENDAHULUAN. komputer adalah teknik komando/instruksi untuk memerintahkan. komputer. Bahasa pemrograman ini merupakan suatu himpunan dari

PENGANTAR TEKNIK KOMPILASI

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

MATERI II KOMPUTER (SOFTWARE)

DASAR PEMROGRAMAN. PENGANTAR BAHASA C ( Sejarah, Struktur Pemrograman, Tipe Data, Operator ) Djoko Soerjanto, M.Kom

TEKNIK KOMPILASI. Oleh. Hartono

Tahap pengembangan program

LANGUAGES AND TRANSLATOR

P3 Pengantar Pemrograman C

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

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

P - 3 Bab 2 : Pengantar Pemrograman C

PENDAHULUAN PEMROGRAMAN KOMPUTER. Mengapa Belajar Pemrograman Komputer?

1 - Bahasa Pemrograman

Pengantar Teknologi Informasi. Software Komputer

Algoritma dan Struktur Data

ALGORITMA DAN PEMROGRAMAN #2

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

Al Khowarizmi. Sumber : Istilah algoritma berasal dari nama seorang pengarang berkebangsaan Arab

BAB II KEGIATAN PEMBELAJARAN

Pemrograman dan Bahasa Pemrograman

1.1. Sejarah Bahasa C

Laboratorium Dasar Teknik Elektro - Sekolah Teknik Elektro dan Informatika ITB

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

Fungsi Bahasa pemrograman adalah sebagai media untuk menyusun dan memahami serta sebagai alat komunikasi antara pemrogram dengan computer.

Algoritma Pemrograman I

Mengapa Belajar Pemrograman Komputer?

PEMROGRAMAN DAN METODE NUMERIK Semester 2/ 2 sks/ MFF 1024

Pemrograman Java. Compiler. Interpreter

Kualitas bahasa pemrograman: Ekspresivitas : secara jelas menggambarkan algoritma yang dibuat oleh programmer

IT132. Ramos Somya, S.Kom.

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

Fase-fase proses sebuah kompilasi

A. Pemahaman Awal. Oleh : Fiftin Noviyanto

Bab 1. Pengenalan Pemrograman C

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

Programming Language Bahasa Pemrograman

Pendahuluan. Komputasi Nuklir. 29 Oktober Komputasi Nuklir Pendahuluan 29 Oktober / 41

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

Implementasi OOP Pada Perangkat Lunak Pemrograman

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

Modul 1. A. Bagian-Bagian Utama Delphi. Menu Utama. Toolbar / Speedbar ( kiri Delphi 5, kanan Delphi 7) Component Palette

1. Algoritma & Pemrograman

Asal Mula Software Komputer

Dasar Pemrograman. Nisa ul Hafidhoh

MODUL PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEK (JAVA) PERTEMUAN 1 PENGENALAN LINGKUNGAN PEMROGRAMAN JAVA

BUKU PETUNJUK PRAKTIKUM DASAR ALGORITMA DAN PEMROGRAMAN

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

Bahasa Pemrograman. Secara umum terdapat 4 kelompok Bahasa Pemrograman yaitu:

BAB I PENDAHULUAN. 1.1 Latar Belakang

Pemrograman Berbasis Objek. Politeknik Elektronika Negeri Surabaya

Pengenalan Algoritma & Pemrograman

Kenalan Dulu sama Visual Basic 6.0

UNIVERSITAS GUNADARMA

Lampiran A : PENGENALAN LINGKUNGAN VISUAL C++

Modul Praktikum Sistem Operasi PERTEMUAN KE-VI

BAHASA PEMROGRAMAN. Merupakan prosedur/tata cara penulisan program.

PENGENALAN DASAR PEMROGRAMAN

Aris Tri Jaka H. Algoritma dan Dasar Pemrograman

TUGAS 1 Aplikasi Web Dinamis Lanjut Composer dan Github

KEGIATAN BELAJAR 3 PEMPROGRAMAN DASAR

Sekilas Tentang C. Dasar Pemrograman & Algoritma

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

Gambar 1. Blok Utama Komputer

BAB II TINJAUAN PUSTAKA

MODUL 1 DASAR-DASAR PEMROGRAMAN C++

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

Algoritma Pemrograman 2C

PERTEMUAN BAHASA PEMOGRAMAN DAN FORMAT BILANGAN MIKROKONTROLER

Untuk mengimplementasikan sistem ini, diperlukan spesifikasi perangkat keras,

Review C/C++ & Intro to Java. Pemrograman Berorientasi Obyek IT209

BAB 3 MODE AKSES MEMORI, PENGGUNAAN VARIABEL DAN STACK

MODUL 1 INSTALASI PAKET JAVA DAN PROGRAM SEDERHANA

Algoritma dan Struktur Data

BAB I SEKILAS TENTANG C

BAB 1 PENDAHULUAN. Perangkat lunak (software) adalah suatu perangkat komputer yang cara

Konsep Pemrograman Prosedural

TUTORIAL DASAR C++ BELAJAR C++ DARI NOL. Nor Kandir. Lab B201 - Teknik Elektro ITS Surabaya

Bahasa Pemrograman Sejarah singkat C++ Struktur program C++ Yoannita

BAB I PENDAHULUAN A. Latar Belakang B. Tujuan C. Manfaat

Pengenalan Bahasa C++, Algoritma Pemrograman, Integrated Development Equipment (IDE) Visual C++ dan Dasar Dasar Bahasa C++

ORGANISASI KOMPUTER. Pertemuan II KONSEP DASAR KOMPUTER - SOFTWARE -

TUGAS 1 APLIKASI WEB DINAMIS LANJUT MENGENAL COMPOSER DAN GITHUB DISUSUN OLEH: AHMAD DAHLAN AL-ASY ARI( )

BAB 2 LANDASAN TEORI. arti kata ini kemudian dipindahkan kepada mesin itu sendiri. Asal mulanya,

IT234 - Algoritma dan Struktur Data. Ramos Somya

PENGENALAN PROGRAM C++

Review: Algoritme dan Program 12/29/2011. Algoritme dan Pemrograman. Review: Bagaimana memecahkan masalah dengan komputer?????

PEMROGRAMAN BAHASA RAKITAN

Modul 1 Pengenalan Java. Oleh: Mike Yuliana PENS-ITS

BAB I PENGENALAN TEKNIK KOMPILASI

Pertemuan 8: Pengenalan Bahasa Pemrograman Persiapan pembuatan program bahasa C Struktur program bahasa C Tipe Data dan Variabel dalam bahasa C

Transkripsi:

LAPORAN PRAKTIKUM 1 TEKNIK KOMPILASI DI SUSUN OLEH : ADITYA TUNGGAL PRAKOSO 3201216005 PRODI TEKNIK INFORMATIKA JURUSAN TEKNIK ELEKTRO POLITEKNIK NEGERI PONTIANAK TAHUN 2015

BAB 1 TEORI PRAKTIKUM A. BAHASA PEMOGRAMAN Bahasa pemrograman, atau sering diistilahkan juga dengan bahasa komputer atau bahasa pemrograman komputer, adalah instruksi standar untuk memerintah komputer. Bahasa pemrograman ini merupakan suatu himpunan dari aturan sintaks dan semantik yang dipakai untuk mendefinisikan program komputer. Menurut tingkat kedekatannya dengan mesin komputer, bahasa pemrograman terdiri dari: 1. Bahasa Mesin, yaitu memberikan perintah kepada komputer dengan memakai kode bahasa biner, contohnya 01100101100110 2. Bahasa Tingkat Rendah, atau dikenal dengan istilah bahasa rakitan (bah.inggris Assembly), yaitu memberikan perintah kepada komputer dengan memakai kodekode singkat (kode mnemonic), contohnya [kode_mesin MOV], SUB, CMP, JMP, JGE, JL, LOOP, dsb. 3. Bahasa Tingkat Menengah, yaitu bahasa komputer yang memakai campuran instruksi dalam kata-kata bahasa manusia (lihat contoh Bahasa Tingkat Tinggi di bawah) dan instruksi yang bersifat simbolik, contohnya {, },?, <<, >>, &&,, dsb. 4. Bahasa Tingkat Tinggi, yaitu bahasa komputer yang memakai instruksi berasal dari unsur kata-kata bahasa manusia, contohnya begin, end, if, for, while, and, or, dsb. Komputer dapat mengerti bahasa manusia itu diperlukan program compiler atau interpreter. B. COMPILER Kompilator (Inggris: compiler) adalah sebuah program komputer yang berguna untuk menerjemahkan program komputer yang ditulis dalam bahasa pemrograman tertentu menjadi program yang ditulis dalam bahasa pemrograman lain.

Terlepas dari pengertiannya yang demikian relatif luas, istilah kompilator biasa digunakan untuk program komputer yang menerjemahkan program yang ditulis dalam bahasa pemrograman tingkat tinggi (semacam bahasa Pascal, C++, BASIC, FORTRAN, Visual Basic, Visual C#, Java, xbase, atau COBOL) menjadi bahasa mesin, biasanya dengan bahasa Assembly sebagai perantara. Kompilator melakukan proses kompilasi dengan cara menganalisis kode sumber secara keseluruhan, sehingga waktu yang dibutuhkan untuk melakukan kompilasi lebih lama, namun hasilnya lebih cepat dalam proses eksekusi daripada program yang dibuat dengan menggunakan teknik interpretasi dengan interpreter. C. INTERPRETER Dalam ilmu komputer, penerjemah atau lebih dikenal dengan interpreter merupakan perangkat lunak yang berfungsi melakukan eksekusi sejumlah instruksi yang ditulis dalam suatu bahasa pemrograman, sebuah penerjemah dapat berarti: 1. Mengeksekusi kode sumber secara langsung, atau 2. Menerjemahkannya ke dalam serangkaian p-code kemudian mengeksekusinya 3. Mengeksekusi kode yang telah dikompilasi sebelumnya oleh kompiler yang merupakan bagian dari sistem penerjemahan. Perl, Python, Ruby, dan MATLAB adalah beberapa contoh perangkat lunak penerjemah bertipe 2, sementara Java termasuk dalam kategori tipe 3, namun dalam beberapa kasus Java dapat digolongkan pula ke dalam kategori tipe 2. Meskipun penerjemahan dan kompilasi merupakan dua jenis mekanisme implementasi pada sebuah bahasa pemrograman, keduanya tidak berarti memiliki perbedaan secara signifikan. Hal ini disebabkan cara kerja sebuah penerjemah dalam banyak hal adalah sama seperti halnya yang dilakukan oleh kompiler. Penggunaan istilah "bahasa pemrograman terjemahan" dan "bahasa pemrograman kompilatif" umumnya digunakan sebatas untuk membedakan implementasi dari bahasa tersebut menggunakan model penerjemahan atau kompilatif.

D. PERBEDAAN COMPILER DAN INTERPRETER 1. Jika hendak menjalankan program hasil kompilasi dapat dilakukan tanpa butuh kode sumber. Kalau interpreter butuh kode sumber. 2. Jika dengan kompiler, maka pembuatan kode yang bisa dijalankan mesin dilakukan dalam 2 tahap terpisah, yaitu parsing ( pembuatan kode objek ) dan linking ( penggabungan kode objek dengan library ). Kalau interpreter tidak ada proses terpisah. 3. Jika compiler membutuhkan linker untuk menggabungkan kode objek dengan berbagai macam library demi menghasilkan suatu kode yang bisa dijalankan oleh mesin. Kalau interpreter tidak butuh linker untuk menggabungkan kode objek dengan berbagai macam library. 4. Interpreter cocok untuk membuat / menguji coba modul ( sub-routine / programprogram kecil ). Maka compiler agak repot karena untuk mengubah suatu modul / kode objek kecil, maka harus dilakukan proses linking / penggabungan kembali semua objek dengan library yang diperlukan. 5. Pada kompiler bisa dilakukan optimisasi / peningkatan kualitas kode yang bisa dijalankan. Ada yang dioptimasi supaya lebih cepat, ada yang supaya lebih kecil, ada yang dioptimasi untuk sistem dengan banyak processor. Kalau interpreter susah atau bahkan tidak bisa dioptimasikan.

E. PROSES KOMPILASI Program sumber Analisis leksikal Analisis sintaktik Analisis semantik Tabel Simbol Error handler Intermediate code generator Optimasi kode Penghasil kode Program sasaran Contoh Proses Kompilasi Pada Bahasa C :

BAB 2 PEMBAHASAN PRAKTIKUM A. Instalasi Cygwin Pada PC 1. Pastikan anda mempunyai file instalasi Cygwin. Jika anda belum mempunyai file instalasinya, silahkan download pada website : https://cygwin.com/install.html Pilih file setup sesuai dengan arsitektur processor anda. Jika sistem anda berjalan pada sistem 32-bit maka download file setup-x86.exe 2. Buka file instalasi yang telah anda download.

3. Setelah tampilan instalasi terbuka, Klik Next untuk melanjutkan proses instalasi. 4. Jika anda belum memiliki package Cygwin yang diperlukan, maka pilih Install From Internet, tetapi jika anda sudah memiliki file package, maka pilih Install from Local Directory. Pada contoh ini, saya menggunakan pilihan Install from Internet.

5. Pilih direktori untuk menyimpan aplikasi Cygwin dan Klik Next untuk melanjutkan proses instalasi. 6. Pilih direktori untuk menyimpan file Package dari Cygwin, dan Klik Next untuk melanjutkan proses instalasi.

7. Pilih Direct Connection untuk koneksi internetnya. 8. Pilih lokasi server download yang diinginkan. Pada contoh ini, saya menggunakan pilihan pertama. Klik Next untuk melanjutkan proses instalasi.

9. Tunggu proses download file hingga selesai. Setelah selesai maka akan keluar tampilan untuk memilih package yang akan di download. Ketik gcc pada kolom Search, dan pilih package gcc-core dan gcc-g++. Klik Next untuk melanjutkan proses instalasi. 10. Proses download package akan berjalan. Silahkan tunggu hingga selesai.

11. Setelah proses download selesai, silahkan buka aplikasi Cygwin pada komputer anda.

B. Proses Kompilasi Source Code File C Pada Aplikasi Cygwin 1. Buka Aplikasi Cygwin pada komputer anda. 2. Untuk memastikan package gcc dan g++ telah terinstal pada cygwin, ketikan perintah seperti gambar dibawah.

3. Untuk memulai proses kompilasi, siapkan sebuah file dengan bahasa c. Contoh program sederhananya dapat dilihat pada gambar dibawah. Simpan file tersebut dengan nama hello.c pada direktori yang anda inginkan. 4. Buka kembali aplikasi Cygwin, dan pindahkan direktorinya pada direktori tempat penyimpanan file yang telah anda buat sebelumnya. Untuk berpindah direktori, gunakan perintah cd dan arahkan pada direktori yang anda inginkan. Untuk melihat isi direktori, gunakan perintah ls.

5. Tahap pertama dalam kompilasi, adalah proses Pre-Processing, yang akan mengubah file source code awal menjadi file yang akan di expand bersama headernya. Untuk memulai proses, silahkan ketikan kode seperti contoh di bawah. Proses ini akan menghasilkan sebuah file baru dengan nama hello.i 6. Tahap kedua adalah mengubah kode yang sudah diproses sebelumnya menjadi kode assembly. Ketikan perintah seperti gambar di bawah. Proses ini akan menghasilkan sebuah file baru dengan nama hello.s 7. Tahap ketiga adalah proses mengubah kode assembly menjadi kode mesin. Perintahnya dapat dilihat pada gambar dibawah. File yang telah dirubah akan menjadi file objek dengan nama hello.o

8. Tahap keempat adalah menghubungkan file objek tadi dengan library yang dibutuhkan untuk menghasilkan file berekstensi.exe. Perintah umumnya adalah : ld -o hello.exe hello.o...libraries..., Namun karena kita tidak mengetahui library yang dibutuhkan maka proses akan berlangsung seperti gambar di bawah ini. 9. Langkah langkah di atas adalah proses untuk mengkompilasi file dengan tahapan tahapan sederhana, untuk melihat hasil file exe secara langsung tanpa mengetikan library code seperti diatas, masukan perintah seperti gambar di bawah. Proses telah selesai, dan hasil dari file hello.c telah berubah menjadi executable file dengan nama hello.exe.

BAB 3 KESIMPULAN PRAKTIKUM Berdasarkan Praktikum yang telah dilakukan, maka di hasilkan kesimpulan sebagai berikut : 1. Proses Kompilasi File C terdiri dari 4 tahapan, yaitu proses PreProcessing, Compiling, Assemble, dan Linking. 2. Proses PreProcessing akan mengubah file source code awal menjadi file yang akan di expand bersama header-nya dan akan menghasilkan file dengan ekstensi.i 3. Proses Compiling akan mengubah file dengan ekstensi.i menjadi kode assembly. 4. Proses Assemble akan mengubah kode assembly menjadi kode mesin dan akan menghasilkan file objek yang berekstensi.o 5. Proses Linking merupakan proses untuk merubah file objek menjadi file.exe dengan menghubungkan file objek tersebut dengan file library yang dibutuhkan.