Bubble sort
(metode gelembung) adalah metode 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.
Berikut contoh coding bubble sort pada java, menggunakan eclipse :
//* ABDUL HAMID *//
public class UASBubbleSort {
public static void main(String[] args) {
//membuat array int yang akan diurutkan
menggunakan algoritma bubble sort
int intArray[] = new int[]{5,90,35,45,150,3};
//print array sebelum diurutkan menggunakan algoritma
bubble sort
System.out.println("Nilai Sebelum diurutkan");
for(int i=0; i < intArray.length; i++){
System.out.print(intArray[i] + " ");}
//sort array menggunakan bubble sort
bubbleSort(intArray);
System.out.println("");
//print array sesudah diurutkan menggunakan algoritma
bubble sort
System.out.println("Nilai Sesudah diurutkan");
for(int i=0; i < intArray.length; i++){
System.out.print(intArray[i] + " ");}}
private static void bubbleSort(int[] intArray) {
/* Dalam bubble sort, dasarnya kita akan melintasi
dari array pertama
* Untuk
array_length - 1 posisi dan membandingkan elemen dengan
yang berikutnya.
* Elemen bertukar
tempat (swap) dengan elemen berikutnya jika elemen
berikutnya lebih besar.
* Langkah Bubble
sort adalah sebagai berikut.
* 1. Membandingkan
array [0] & array [1]
* 2. Jika array
[0]> array [1] swap.
* 3. Bandingkan
array [1] & array [2]
* 4. Jika array
[1]> array [2] swap.
* 5. Bandingkan
array [n-1] & array [n]
* 6. jika [n-1]>
array [n] kemudian swap.
* Setelah langkah
ini kita akan memiliki elemen terbesar
di indeks terakhir.
* mengulangi langkah
yang sama untuk array [1] untuk array [n-1]*/
int n = intArray.length;
int temp = 0;
for(int i=0; i < n; i++){
for(int j=1; j < (n-i); j++){
if(intArray[j-1] > intArray[j]){
//menukar tempat (swap) elemen!
temp = intArray[j-1];
intArray[j-1] = intArray[j];
intArray[j] = temp; }}}}}
Output :
Nilai
Sebelum diurutkan
5
90 35 45 150 3
Nilai
Sesudah diurutkan
3
5 35 45 90 150
Screen
Shoot Program pada saat dijalankan di eclipse
0 komentar:
Posting Komentar