Benchmarking Compiler & Interpreter Berbasis Bahasa Pemograman

27
Benchmarking Compiler & Interpreter Based Programming Language DI SUSUN OLEH : ADITYA TUNGGAL PRAKOSO 3201216005 PRODI TEKNIK INFORMATIKA JURUSAN TEKNIK ELEKTRO POLITEKNIK NEGERI PONTIANAK TAHUN 2015

Transcript of Benchmarking Compiler & Interpreter Berbasis Bahasa Pemograman

Benchmarking Compiler & Interpreter Based

Programming Language

DI SUSUN OLEH :

ADITYA TUNGGAL PRAKOSO

3201216005

PRODI TEKNIK INFORMATIKA

JURUSAN TEKNIK ELEKTRO

POLITEKNIK NEGERI PONTIANAK

TAHUN 2015

BAB 1

TEORI PRAKTIKUM

A. BENCHMARK

Ada dua defenisi benchmark yaitu :

Sebuah tanda atau objek permanen yang menandai tingkat ketinggian yang berlaku

sebagai titik ukur dalam survei topografi atau pengamatan ombak atau arus.

Dalam referensi lain istilah benchmark diartikan sebagai berikut :

- Sebuah titik ukur darimana pengukuran dapat dilakukan

- Sesuatu yang menjadi standar untuk menilai atau mengukur hal yang lain

- Satu masalah atau test yang menjadi dasar penilaian atau perbandingan (seperti

sebuah perbandingan kinerja sistem komputer)

Sementara wikipedia memperjelas defenisi benchmark dalam kaitannya dengan

komputer yaitu tindakan menjalankan sebuah program komputer, serangkaian program

atau operasi lainnya untuk menilai kinerja relatif sebuah objek, biasanya dengan

menjalankan sejumlah test dan percobaan pada objek tersebut. Benchmarking sering

kali diasosiasikan dengan penilaian kinerja dan karakteristik hardware komputer,

contohnya kinerja floating point sebuah cpu, tetapi ada kondisi-kondisi tertentu dimana

teknik ini juga dapat diterapkan untuk software. Contohnya, benchmark untuk menguji

software compiler atau database management system.

B. SORTING

Sorting adalah sebuah metode untuk pengurutan data, misalnya dari data yang

terbesar ke data yang terkecil. Dengan cara program yang dibuat harus dapat

membandingkan antar data yang di inputkan.

Artinya jika ada deretan data, maka data yang pertama akan membandingkan

dengan data yang kedua. Jika data yang pertama lebih besar dari pada data yang kedua

maka data yang pertama akan bertukar posisi dengan data yang kedua, begitu

seterusnya sampai benar-benar data terurut dari yang terbesar hingga yang terkecil.

Metode sorting sangat banyak dan berkembang ada Bubble sort, Selection Sort,

Insertion sort, Merge sort, Quick sort. Metode-metode ini menggunakan caranya sendiri

untuk membandingkan, memeriksa dan menukar posisi data. Namun tidak semua

metode sorting ini efektif. Karena metode sorting yang paling efektif adalah ketika

metode tersebut dapat melakukan pengurutan data dengan cepat dan tidak memerlukan

banyak memori.

C. METODE BUBBLE SORT

Metode pengurutan gelembung (Bubble Sort) diinspirasikan oleh gelembung

sabun yang berada dipermukaan air. Karena berat jenis gelembung sabun lebih ringan

daripada berat jenis air, maka gelembung sabun selalu terapung ke atas permukaan.

Prinsip di atas dipakai pada pengurutan gelembung.

Bubble sort (metode gelembung) adalah metode/algoritma pengurutan dengan

dengan cara melakukan penukaran data dengan tepat disebelahnya secara terus menerus

sampai bisa dipastikan dalam satu iterasi tertentu tidak ada lagi perubahan. Jika tidak

ada perubahan berarti data sudah terurut. Disebut pengurutan gelembung karena

masing-masing kunci akan dengan lambat menggelembung ke posisinya yang tepat.

Artinya Algoritma ini akan menggeser nilai yang terkecil atau terbesar (sesuai dengan

jenis pengurutan, ascending atau descending) ke posisi ujung dari daftar. Demikian

seterusnya hingga semua daftar dalam keadaan terurut. Proses dasar yang terjadi dalam

algoritma ini adalah proses pertukaran nilai (swapping).

Contoh Penggunaan Metode Bubble Sort :

Contoh diatas menyelesaikan pengurutan dari kanan ke kiri namun hasil akan sama yang

membedakan adalah tergantung cara pengurutan yang dipilih apakah secara ascending

atau descending.

Implementasi Bubble Sort Dalam Bentuk Flowchart :

BAB 2

PEMBAHASAN PRAKTIKUM

A. Membandingkan Proses Looping dengan menggunakan bahasa

pemograman Python, Java, C dan C++

1) Percobaan Looping Menggunakan Bahasa Python

1. Siapkan File Program Looping Python, kode program yang digunakan adalah

sebagai berikut :

Simpan program anda dengan menggunakan ekstensi “.py” pada direktori komputer

anda. Contoh penamaan file : “looptest-py.py”

2. Buka Aplikasi Cygwin, dan pindahkan direktorinya pada tempat anda menyimpan

file program python.

3. Lakukan proses compile pada program python yang telah dibuat.

Hasil dari proses tersebut akan menampilkan perulangan angka sebagai berikut :

4. Lakukan proses benchmarking pada program python tersebut. Proses Benchmarking

bertujuan untuk mengetahui berapa lama waktu yang dibutuhkan oleh komputer

untuk memproses dan mengeksekusi program yang telah dibuat.

Dari hasil tersebut, dapat diketahui bahwa waktu yang dibutuhkan komputer untuk

mengeksekusi program membutuhkan waktu sekitar 3 detik

2) Percobaan Looping Dengan Menggunakan Bahasa Java

1. Siapkan File Program Looping Java, kode program yang digunakan adalah sebagai

berikut :

Simpan program anda dengan menggunakan ekstensi “.java” pada direktori

komputer anda. Penyimpanan nama file harus sesuai dengan nama class yang

digunakan pada kode program. Contoh penamaan file : “LooptestJava.java”

2. Buka Aplikasi Cygwin, dan pindahkan direktorinya pada tempat anda menyimpan

file program java.

3. Lakukan proses compile pada program java yang telah dibuat.

Untuk menjalankan program java yang telah di-compile, ketikan perintah seperti

berikut :

Hasil eksekusi program akan menampilkan perulangan seperti gambar dibawah ini :

4. Lakukan proses benchmarking pada program Java tersebut.

Dari hasil tersebut, dapat diketahui bahwa waktu yang dibutuhkan komputer untuk

mengeksekusi program membutuhkan waktu sekitar 0.6 detik

3) Percobaan Looping Dengan Menggunakan Bahasa C

1. Siapkan File Program Looping Java, kode program yang digunakan adalah sebagai

berikut :

Simpan program anda dengan menggunakan ekstensi “.c” pada direktori komputer

anda. Contoh penamaan file : “looptest-c.c”

2. Buka Aplikasi Cygwin, dan pindahkan direktorinya pada tempat anda menyimpan

file program C.

3. Lakukan proses compile pada program C yang telah dibuat.

Untuk menjalankan program c yang telah di-compile, ketikan perintah seperti

berikut :

Hasil eksekusi program akan menampilkan perulangan seperti gambar dibawah ini :

4. Lakukan proses benchmarking pada program C tersebut.

Dari hasil tersebut, dapat diketahui bahwa waktu yang dibutuhkan komputer untuk

mengeksekusi program membutuhkan waktu sekitar 0.1 detik

4) Percobaan Looping Dengan Menggunakan Bahasa C++

1. Siapkan File Program Looping C++, kode program yang digunakan adalah sebagai

berikut :

Simpan program anda dengan menggunakan ekstensi “.cpp” pada direktori

komputer anda. Contoh penamaan file : “looptest-cpp.cpp”

2. Buka Aplikasi Cygwin, dan pindahkan direktorinya pada tempat anda menyimpan

file program C++.

3. Lakukan proses compile pada program C++ yang telah dibuat.

Untuk menjalankan program C++ yang telah di-compile, ketikan perintah seperti

berikut :

Hasil eksekusi program akan menampilkan perulangan seperti gambar dibawah ini :

4. Lakukan proses benchmarking pada program C++ tersebut.

Dari hasil tersebut, dapat diketahui bahwa waktu yang dibutuhkan komputer untuk

mengeksekusi program membutuhkan waktu sekitar 0.3 detik.

B. Membandingkan Proses Sorting BubbleSort dengan menggunakan

pemograman Python, Java, C++ dan C

1) Percobaan Sorting dengan menggunakan bahasa Python

1. Siapkan File Program Sorting Python, kode program yang digunakan adalah sebagai

berikut :

Simpan program anda dengan nama “acak.py” , file ini nantinya akan menghasilkan

file “acak.txt” yang berisi angka random berdasarkan range angka yang telah

ditentukan.

Kode Program yang akan menampilkan angka dan mengurutkannya berdasarkan

algoritma Bubble Sort dapat dilihat pada gambar dibawah :

Simpan file tersebut dengan nama “bubblesort.py” pada direktori komputer anda.

2. Buka Aplikasi Cygwin, dan pindahkan direktorinya pada tempat anda menyimpan

file program Python.

3. Lakukan proses compile pada program Python yang telah dibuat.

Hasil dari proses tersebut akan menampilkan angka acak dan akan diurutkan dari

nilai terkecil hingga nilai terbesar.

4. Lakukan proses benchmarking pada program Python tersebut.

Dari hasil tersebut, dapat diketahui bahwa waktu yang dibutuhkan komputer untuk

mengeksekusi program membutuhkan waktu sekitar 43 detik.

2) Percobaan Sorting dengan menggunakan bahasa Java

1. Siapkan File Program Sorting Java, kode program yang digunakan adalah sebagai

berikut :

Simpan program anda dengan nama “Bubblesort.java” , penamaan file harus sesuai

dengan nama class yang dituliskan pada kode program.

2. Buka Aplikasi Cygwin, dan pindahkan direktorinya pada tempat anda menyimpan

file program Java.

3. Lakukan proses compile pada program Java yang telah dibuat.

Untuk menampilkan hasil program, ketikan perintah berikut :

Hasil dari program akan menampilkan angka acak yang kemudian akan diurutkan

dari nilai terkecil hingga nilai terbesar.

4. Lakukan proses benchmarking pada program Java tersebut.

Dari hasil tersebut, dapat diketahui bahwa waktu yang dibutuhkan komputer untuk

mengeksekusi program membutuhkan waktu sekitar 0.7 detik.

3) Percobaan Sorting dengan menggunakan bahasa C++

1. Siapkan File Program Sorting C++, kode program yang digunakan adalah sebagai

berikut :

Simpan program anda dengan nama “Bubblesort.cpp” pada direktori komputer

anda.

2. Buka Aplikasi Cygwin, dan pindahkan direktorinya pada tempat anda menyimpan

file program C++.

3. Lakukan proses compile pada program C++ yang telah dibuat.

Untuk menampilkan hasil program, ketikan perintah berikut :

Hasil dari program akan menampilkan angka acak yang kemudian akan diurutkan

dari nilai terkecil hingga nilai terbesar.

4. Lakukan proses benchmarking pada program C++ tersebut.

Dari hasil tersebut, dapat diketahui bahwa waktu yang dibutuhkan komputer untuk

mengeksekusi program membutuhkan waktu sekitar 0.6 detik.

4) Percobaan Sorting dengan menggunakan bahasa C

1. Siapkan File Program Sorting C, kode program yang digunakan adalah sebagai

berikut :

Simpan program anda dengan nama “Bubblesort.c” pada direktori komputer anda.

2. Buka Aplikasi Cygwin, dan pindahkan direktorinya pada tempat anda menyimpan

file program C.

3. Lakukan proses compile pada program C yang telah dibuat.

Untuk menampilkan hasil program, ketikan perintah berikut :

Hasil dari program akan menampilkan angka acak yang kemudian akan diurutkan

dari nilai terkecil hingga nilai terbesar.

4. Lakukan proses benchmarking pada program C tersebut.

Dari hasil tersebut, dapat diketahui bahwa waktu yang dibutuhkan komputer untuk

mengeksekusi program membutuhkan waktu sekitar 0.6 detik.

BAB 3

KESIMPULAN PRAKTIKUM

Berdasarkan Praktikum yang telah dilakukan, maka di hasilkan kesimpulan sebagai berikut :

1. Waktu yang dibutuhkan komputer untuk mengeksekusi program berbasis Compiler

seperti Java dan C lebih cepat jika dibandingkan dengan waktu eksekusi program

berbasis Interpreter seperti Python

2. Bahasa Python hanya memerlukan sedikit baris kode dalam penulisannya, namun akan

memakan banyak waktu ketika proses eksekusi programnya.

3. Bahasa C, C++ dan Java memiliki proses penulisan baris program yang cukup rumit

jika dibandingkan dengan Bahasa Python, namun proses eksekusi program akan

berjalan dengan cepat.