• Tidak ada hasil yang ditemukan

LAPORAN PRAKTIKUM 1 TEKNIK KOMPILASI

N/A
N/A
Protected

Academic year: 2021

Membagikan "LAPORAN PRAKTIKUM 1 TEKNIK KOMPILASI"

Copied!
16
0
0

Teks penuh

(1)

LAPORAN PRAKTIKUM 1

TEKNIK KOMPILASI

DI SUSUN OLEH :

ADITYA TUNGGAL PRAKOSO

3201216005

PRODI TEKNIK INFORMATIKA

JURUSAN TEKNIK ELEKTRO

POLITEKNIK NEGERI PONTIANAK

(2)

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 kode-kode singkat (kode-kode mnemonic), contohnya [kode-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.

(3)

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.

(4)

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 / program-program 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.

(5)

E. PROSES KOMPILASI

Contoh Proses Kompilasi Pada Bahasa C :

Program sumber Analisis leksikal Analisis sintaktik Analisis semantik Intermediate code generator Optimasi kode Penghasil kode Program sasaran

(6)

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

(7)

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”.

(8)

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.

(9)

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.

(10)

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.

(11)

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

(12)

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.

(13)

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”.

(14)

5. Tahap pertama dalam kompilasi, adalah proses Pre-Processing, yang akan mengubah file source code awal menjadi file yang akan di expand bersama header-nya. 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.

(15)

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.

(16)

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.

Gambar

Tabel Simbol  Error handler

Referensi

Dokumen terkait

[nama file eksekusi.exe] &lt;ENTER&gt; Perintah untuk melakukan kompilasi pada fle .cpp dan membuat fle objek yang dapat dieksekusi. dengan ekstensi .exe misalnya gcc

Kalau compiler membutuhkan linker untuk menggabungkan kode objek dengan berbagai macam library demi menghasilkan suatu kode yang bisa dijalankan oleh mesin. Kalau interpreter

#define , atau memasukkan isi file‐file yang tertulis  #include  directive ke kode program. Kedua,  compiler  menghasilkan  kode  assembly  untuk  setiap 

Symbolic Link diperlukan bila file tersebut di “link” dengan direktori /file yang berada pada partisi yang berbeda. Tipe file menjadi l (link) dan file tersebut menunjuk ke

Adanya saringan air ini baik pada pintu pemasukan maupun pada pintu pengeluaran, untuk menghindari masuknya ikan liar, terutama ikan predator yang dapat mengganggu

Jika anda ingin merubah Port yang digunakan kita bisa konfigurasi di file sshd_config, caranya masuk ke folder cd /etc/ssh lalu ketikkan nano sshd_config atau

Rangkaian Decoder adalah suatu rangkaian logika yang mengubah suatu kode input biner N-bit menjadi M buah len-len output sedemikian rupa sehingga tiap-tiap len output

Untuk alat-alat utama yang dibutuhkan dalam pengukuran jarak langsung adalah :  Pita ukur, yang terdiri dari pita ukur kan, pita ukur baja, pita ukur fiberglass, pita ukur komposit,