laporan praktikum bubble sort
DESCRIPTION
berbagi laporan, berbagi tugas, semoga bermanfat. laporan praktikum tentang pembuatan program bubble sort via NetBeans IDE 7.3. cara penginstalan JDK dan install NetBeans IDE 7.3TRANSCRIPT
1
BAB I
PENDAHULUAN
1.1 Latar Belakang
Latar belakang dibuatnya laporan praktikum ini adalah sebagai salah satu syarat penulis
untuk dapat lulus pada mata kuliah Konstruksi Kompiler. Sebagai mahasiswa STITEK
Bontang, pembuatan laporan pratikum ini juga dijadikan sebagai bukti bahwa penulis telah
menyelesaikan pratikum mata kuliah Konstruksi Kompiler. Praktikum telah dilaksanakan di
Lab Teknik Informatika, dipandu oleh dosen pengampu mata kuliah Konstruksi Kompiler
bapak Lapu Tombi Layuk,ST.
Dalam pembuatannya, penulis berharap agar laporan ini dapat memberikan manfaat
kepada orang lain maupun penulis khususnya agar dapat lebih mengerti tentang program
sorting dengan menggunakan bahasa pemrograman Java.
1.2 Tujuan
Tujuan mahasiswa dalam melakukan pratikum Konstruksi Kompiler adalah :
1. Praktikan dapat mengerti teknik sorting bubble sort untuk mengurutkan suatu data.
2. Praktikan diharapkan dapat mengenal jenis-jenis metode sorting, serta mampu
menerapkannya didalam sebuah program sederhana.II
PEMBAHASAN
2.1. Pengertian & Instalasi AppServ (Application Server)
2
BAB II
DASAR TEORI
2.1 Metode Sorting
Sorting bisa didefinisikan sebagai suatu proses pengurutan data yang sebelumnya
disusun secara acak sehingga menjadi tersusun secara teratur menurut suatu aturan tertentu.
Sorting yang kita terapkan menggunakan tipe data array agar pemahaman serta
pengimplementasiannya lebih mudah. Pada umumnya terdapat dua jenis pengurutan :
- Ascending (Naik).
- Descending (Turun).
Contoh :
Data : Array [1..6] of Byte = (22, 10, 15, 3, 8, 2);
Data Acak : 22 10 15 3 8 2
Terurut Ascending : 2 3 8 10 15 22
Terurut Descending : 22 15 10 8 3 2
Untuk melakukan proses pengurutan tersebut dapat digunakan berbagai macam
cara/metode. Beberapa metode yang sudah umum digunakan diantaranya adalah :
1. Pengurutan berdasarkan perbandingan (comparison-based sorting)
Bubble sort, exchange sort
2. Pengurutan berdasarkan prioritas (priority queue sorting method)
Selection sort, heap sort
3. Pengurutan berdasarkan penyisipan dan penjagaan terurut (insert and keep sorted
method)
Insertion sort, tree sort
4. Pengurutan berdasarkan pembagian dan penguasaan (devide and conquer method)
Quick sort, merge sort
5. Pengurutan berkurang menurun (diminishing increment sort method)
Shell sort
3
2.2 Bubble Sort
Diberi nama “Bubble” karena proses pengurutan secara berangsur-angsur
bergerak/berpindah ke posisinya yang tepat, seperti gelembung yang keluar dari sebuah
gelas bersoda. Bubble Sort mengurutkan data dengan cara membandingkan elemen
sekarang dengan elemen berikutnya.
Pengurutan Ascending dilakukan jika elemen sekarang lebih besar dari elemen
berikutnya maka kedua elemen tersebut ditukar. Pengurutan Descending dilakukan jika
elemen sekarang lebih kecil dari elemen berikutnya, maka kedua elemen tersebut ditukar.
Ketika satu proses telah selesai, maka bubble sort akan mengulangi proses, demikian
seterusnya sampai dengan iterasi sebanyak n-1. Bubble sort berhenti jika seluruh array
telah diperiksa dan tidak ada pertukaran lagi yang bisa dilakukan, serta tercapai perurutan
yang telah diinginkan.
Proses Bubble Sort
Data paling akhir dibandingkan dengan data di depannya, jika ternyata lebih kecil atau
besar maka tukar sesuai dengan ketentuan (descending atau ascending). Dan pengecekan
yang sama dilakukan terhadap data yang selanjutnya sampai dengan data yang paling awal.
Di bawah ini adalah gambar proses Bubble sort.
4
Gambar 1 (a)
Gambar 1 (b)
Algoritma bubble dapat dituliskan sebagai berikut (ascending):
1. i = 0
2. selama (i < N-1) kerjakan baris 3 sampai 7
3. j = N – 1
4. Selama (j >= i) kerjakan baris 5 sampai 7
5. Jika (Data[j-1] > Data[j]) maka tukar Data[j-1] dengan Data[j]
6. j = j – 1
7. i = i + 1
5
Gambar 1 (e)
Gambar 1 (c)
Gambar 1 (d)
Gambar 1 (a), (b), (c), (d), dan (e) Proses Kerja Sorting
Algoritma dan Procedure Bubble
Prosedur yang menggunakan metode gelembung:
void BubbleSort()
{
int i, j;
for(i=1; i<Max-1; i++)
for(j=Max-1; j>=i; j--)
if(Data[j-1] > Data[j])
Tukar(&Data[j-1], &Data[j]);
}
Dengan prosedur tersebut, data terurut naik (ascending).
2.3 Sekilas Tentang Java
Java adalah bahasa pemrograman berorientasi objek yang dikembangkan oleh Sun
Microsystems sejak tahun 1991. Bahasa ini dikembangkan dengan model yang mirip
dengan bahasa C++ dan Smalltalk, namun dirancang agar lebih mudah dipakai dan -
platform independent, yaitu dapat dijalankan di berbagai jenis sistem operasi dan arsitektur
komputer. Bahasa ini juga dirancang untuk pemrograman di Internet sehingga dirancang
agar aman dan portabel.
Java pada awalnya dirancang untuk mendukung jaringan komputer. Java dipercaya
sebagai mesin virtual yang aman dan sangat mudah. Java dibendel dengan desain library
yang luas untuk menyediakan abstraksi yang lengkap dari suatu platform. Java adalah
bahasa pemrograman berorientasi objek berjenis statis yang penggunaan syntaxnya mirip
dengan bahasa pemrograman C, tapi tidak kompatibel dengannya. Java didisain dari awal,
dengan tujuan agar mudah digunakan dan dapat diakses oleh khalayak yang lebih luas.
2.3.1 Kelebihan Java
Multiplatform. Kelebihan utama dari Java ialah dapat dijalankan di
beberapa platform / sistem operasi komputer, sesuai dengan prinsip tulis sekali, jalankan di
mana saja. Dengan kelebihan ini pemrogram cukup menulis sebuah program Java dan
6
dikompilasi (diubah, dari bahasa yang dimengerti manusia menjadi bahasa
mesin / bytecode) sekali lalu hasilnya dapat dijalankan di atas beberapa platform tanpa
perubahan. Kelebihan ini memungkinkan sebuah program berbasis java dikerjakan diatas
operating system Linux tetapi dijalankan dengan baik di atas Microsoft Windows. Platform
yang didukung sampai saat ini adalah Microsoft Windows, Linux, Mac OS dan Sun Solaris.
Penyebanya adalah setiap sistem operasi menggunakan programnya sendiri-sendiri (yang
dapat diunduh dari situs Java) untuk meninterpretasikan bytecode tersebut.
OOP (Object Oriented Programming - Pemrogram Berorientasi Objek) Perpustakaan
Kelas Yang Lengkap, Java terkenal dengan kelengkapan library/perpustakaan (kumpulan
program program yang disertakan dalam pemrograman java) yang sangat memudahkan
dalam penggunaan oleh para pemrogram untuk membangun aplikasinya. Kelengkapan
perpustakaan ini ditambah dengan keberadaan komunitas Java yang besar yang terus
menerus membuat perpustakaan-perpustakaan baru untuk melingkupi seluruh kebutuhan
pembangunan aplikasi.
2.3.2 Kekurangan Java
Tulis sekali, jalankan di mana saja - Masih ada beberapa hal yang tidak kompatibel
antara platform satu dengan platform lain. Untuk J2SE, misalnya SWT-AWT bridgeyang
sampai sekarang tidak berfungsi pada Mac OS X.
Mudah didekompilasi. Dekompilasi adalah proses membalikkan dari kode jadi
menjadi kode sumber. Ini dimungkinkan karena kode jadi Java merupakan bytecode yang
menyimpan banyak atribut bahasa tingkat tinggi, seperti nama-nama kelas, metode, dan tipe
data. Hal yang sama juga terjadi pada Microsoft .NET Platform. Dengan demikian,
algoritma yang digunakan program akan lebih sulit disembunyikan dan mudah
dibajak/direverse-engineer.
Penggunaan memori yang banyak. Penggunaan memori untuk program berbasis Java
jauh lebih besar daripada bahasa tingkat tinggi generasi sebelumnya seperti C/C+
+dan Pascal (lebih spesifik lagi, Delphi dan Object Pascal). Biasanya ini bukan merupakan
masalah bagi pihak yang menggunakan teknologi terbaru (karena trend memori terpasang
makin murah), tetapi menjadi masalah bagi mereka yang masih harus berkutat dengan
mesin komputer berumur lebih dari 4 tahun.
7
2.4 Sekilas Tentang NetBeans IDE 7.3
NetBeans IDE adalah sebuah Integrated Development Environment untuk para
pengembang software. Software ini dapat membantu dalam membuat sebuah aplikasi
dimulai dari java, C++, Java Me, Java EE, Java FX, Java SE dan lain sebagainya. Netbeans
sangat membantu bagi para pemrogram yang masih belajar atau takut terjadi kesalahan
pasalnya software ini dapat mendeteksi kesalahan. Netbeans IDE mudah diinstal dan
digunakan langsung di luar kotaknya dan berjalan di banyak platforms termasuk Windows,
Linux, Mac OS X dan Solaris.
Feature yang diberikan NetBeans IDE:
Best Support for Latest Java Technologies
Fast & Smart Code Editing
Easy & Efficient Project Management
Rapid User Interface Development
Write Bug Free Code
Support for Multiple Languages
Cross Platform Support
Rich Set of Community Provided Plugins
Pada praktikum kali ini saya membuat program dengan menggunakan NetBeans IDE
7.3. untuk penginstalan NetBeans IDE 7.3 ini kita perlu menginstal JDK terlebih dahulu,
Setelah itu Install NetBeans IDE 7.3.
2.4.1 Instalasi JDK
Langkah pertama adalah penginstalan JDK. Klik dua kali pada file JDK yang telah kita
download. Selanjutnya program akan mennunggu beberapa saat untuk persiapan
penginstalan.
Jika telah muncul jendela seperti di bawah ini klik “Next”.
8
Gambar 2 (a)
Jika telah muncul jendela seperti di bawah, kita dapat merubah atau memilih letak directori file JDK yang kita buat. Selanjutnya klik Next.
Program mulai melakukan penginstalan.
9
Gambar 2 (b)
Gambar 2 (c)
Penginstalan JDK telah selesai, klik “Close” untuk menutupnya.
2.4.2 Instalasi NetBeans IDE 7.3
Sama seperti sebelumnya, kita hanya perlu membuka file NetBeans yang telah kita
download. Selanjutnya installer akan membutuhkan waktu beberapa detik untuk
mengkonfigurasi dirinya sendiri, lalu setelah itu akan menampilkan selamat datang dan siap
melanjutkan instalasi NetBeans.
Selanjutnya akan muncul seperti di bawah ini.
10
Gambar 2 (d)
Gambar 2 (e)Gambar 2 (a), (b), (c), (d),(e)Proses instalasi JDK
Gambar 3 (a)
Seperti halnya pada instalasi Java SDK atau produk-produk berlisensi lain, installer
NetBeans akan menyodorkan halaman persetujuan antara pembuat software dan anda
sebagai pemakai.
Centanglah pada check-box berlabel I accept the terms in the license agreement sebagai
tanda bahwa anda menyetujui dan berniat selanjutkan instalasi, lalu klik tombol Next.
Selanjutnya, program akan meminta anda untuk memilih salah satu dari pilihan di atas,
pilihlah “I accept the terms in the license agreement. Install Junit”.
11
Gambar 3 (b)
Gambar 3 (c)
Selanjutnya klik tombol Next.
Setelah itu pilihlah tempat lokasi dimana file – file NetBeans akan disimpan. Pilih Browse
untuk merubah lokasi Defaults.
12
Gambar 3 (d)
Gambar 3 (e)
Installer NetBeans akan menampilkan kembali lokasi instalasi yang telah dipilih ditahap
sebelumnya, juga menunjukkan besarnya ruang yang diperlukan. Jika anda sudah yakin,
kliklah Next agar instalasi segera dieksekusi.
Proses instalasi akan berjalan dalam beberapa menit. Makin tinggi spesifikasi PC anda,
akan makin cepat proses instalasinya berlangsung. Sebagai contoh, dengan PC berprosesor
Celeron 3,06 GHz dan RAM 512 MB, masih sempat untuk mengambil cemilan atau
membuat minuman terlebih dahulu.
Installer akan memberitahu anda saat instalasi selesai. Ada dua penawaran yang bisa anda
centang, yang pertama adalah ikut berkontribusi tidak langsung dengan mengijinkan PC
anda mengirim data untuk statistik penggunaan NetBeans ke situs NetBeans.org (ini jika
anda care pada NetBeans), dan penawaran kedua adalah mendaftarkan NetBeans yang baru
saja diinstal agar bisa mendapatkan fasilitas dari NetBeans.
13
Gambar 3 (g)
Gambar 3 (f)
Centanglah penawaran yang anda suka, atau jika tidak pun tombol Finish tetap dapat diklik
untuk menutup kotak dialog instalasi yang sudah selesai.
Memulai NetBeans
Setelah proses instalasi selesai, kita bisa segera menjalankan NetBeans. Defaultnya,
NetBeans bisa dibuka dengan mengklik Start pada Windows XP, lalu pilih Programs, pilih
kelompok menu NetBeans, lalu klik NetBeans IDE.
Gambar 4 Loading memulia NetBeans IDE 7.3
14
Gambar 3 (h) Gambar 3 (a),(b),(c),(d),(e),(f),(g),(h) Proses instalasi NetBeans IDE 7.3
Gambar 5 NetBeans IDE 7.3 telah siap untuk digunakan.
BAB III
METODOLOGI
3.1 Langkah Pembuatan Bubble Sort
Setelah semua aplikasi yang dibutuhkan telah disiapkan, maka langkah selanjutnya
adalah pembuatan project Bubble Sort. Langkah-langkah pembuatannya adalah:
1. Masuk pada halaman java (Netbeans)
2. Pilih “File” "New Project”
3. Pilih categories General, Projects Java Aplication
4. Klik “Next”
5. Project Name tulis Bublesort
6. Beri centang pada “set as main project” dan “create main class”
7. Tulis program dibawah ini
15
8. Save projet dan jalankan.
16
BAB IV
HASIL DAN ANALISIS
4.1 Hasil
Berikut hasil runing dari program yang sudah dibuat.
Gambar 6 Hasil runing program
4.2 Analisis
Dari hasil diketahui bahwa nilai awal yang tadinya tidak berurutan kini tersusun
secara berurutan. Gambaran dari cara kerja Bubblesort tersebut adalah sebagai berikut:
Tabel 1 Cara kerja Bubble sort
17
Iterasi Ke A[1] A[2] A[3] A[4] A[5] A[6]
Awal 22 10 15 3 2 81 10 22 15 3 2 8 10 15 15 3 2 8 10 15 3 22 2 8 10 15 3 2 22 22 10 15 3 2 8 222 10 15 3 2 8 22 10 3 15 2 8 22 10 3 2 15 8 22 10 3 2 8 15 22 10 3 2 8 15 223 3 10 2 8 15 22 3 2 10 8 15 22 3 2 8 10 15 22 3 2 8 10 15 22 3 2 8 10 15 224 2 3 8 10 15 22 2 3 8 10 15 22 2 3 8 10 15 22 2 3 8 10 15 22 2 3 8 10 15 225 2 3 8 10 15 22 2 3 8 10 15 22 2 3 8 10 15 22 2 3 8 10 15 22 2 3 8 10 15 22
Akhir 2 3 8 10 15 22
Dalam melaksanakan tugasnya, bubble sort menyelesaikan Jum Max –1 dari data.
Jika kita lihat dari tabel diatas, pada iterasi keempat data sudah terurut namun proses
belum berhenti, ini terjadi karena bubble sort harus melakukan proses sampai looping
selesai.
18
BAB V
PENUTUP
5.1 Kesimpulan
Metode Bubble Sort sekalipun relatif lebih mudah dilakukan tetapi tidak efisien
dibandingkan dengan metode lain dalam melakukan pengurutan. Mengurutkan data dengan
cara membandingkan masing-masing elemen, kemudian melakukan penukaran bila perlu.
Metode ini mudah dipahami dan diprogram, tetapi bila dibandingkan dengan metode lain
yang ada metode ini merupakan metode yang kurang efisien.
5.2 Saran
Saran saya terhadap pembaca agar laporan ini dapat dijadikan sebagai bahan referensi
untuk menambah ilmu pengetahuan kita.
Kita dapat mencoba mengembangkan program sederhana ini sesuai dengan keinginan
kita tentunya berdasarkan hal-hal yang sudah diketahui. Konsep dasar yang sudah
19
didapatkan diharapkan dapat terus dikembangkan. Selamat mencoba!
DAFTAR PUSTAKA
1. http://lecturer.eepis-its.edu
2. http://www.slideshare.net/ErhanArdianda/algoritma-bubble-sort
3. http://achmatim.net/2010/04/19/algoritma-bubble-sort-untuk-pengurutan-sorting/
4. http://cibatok.host56.com/ecibatok/index.php/isi/view/16-Sekilas-Tentang-Bahasa-
Pemograman-Ban-Java---Berb.html
20