Program Buble Sort Menggunakan Acending (Sorting) Dalam Bahasa Java.
Assalamua'alaikum Wr wb.
Hi teman-teman:/ Kembali lagi di blok saya, Pada kesempatan kali ini saya akan membahas tentang SORTING pada bahasa java, Serta kita akan membuat sebuah program sederhana.
Apakah yang di maksud dengan Sorting? Sorting adalah Suatu proses atau rangkaian cara untuk menyusun kembali himpunan dari objek dengan menggunakan aturan tertentu yang sudah di tetapkan.
Di dalam sorting ada 2 cara pengurutan data, yaitu sebagai berikut:
1. Ascending ( Urutan Naik)
Adalah Suatu pengurutan yang dimulai dari data yang paling kecil sampai ke data yang paling besar.
Contoh: 1,3,5,6,7
2. Descending ( Urutan Turun )
Adalah Suatu pengurutan yang dimulai dari data yang paling besar sampai ke data yang paling kecil.
Contoh: 7,6,5,3,1
Ada beberapa metode yang dapat kita lakukan dalam menjalankan Sorting,yaitu:
- Bubble Sort
- Selection Sort
- Insertion Sort
- Merge Sort
- Quick Sort
- Shell Sort
Di dalam menggunakan Sorting di dalam bahasa pemrograman ada beberapa hal yang menguntungkan kita dari pada mengunakan yang lainnya, yaitu sebagai berikut:
- Dapat diimplementasikan dengan simpel
- Sangat efisien untuk data yang berukuran kecil
- Sorting dapat lansung menyortir list data ketika menerima input
- Datanya mudah dicari
- Mempermudah proses pemeriksaaan dan perbabikan data
- Mempermudah saat harus menyisipkan ataupun menggabungkan data
Setelah kita mengetahui apa itu Sorting, Sekarang kita akan membahas tentang Bubble Sort,Apakah itu Buble Sort? Excange Sort atau yang sering kita kenal dengan Bubble Sort adalah salah satu algoritma pengurutan data dengan cara membandingkan sebuah data dengan data yang ada di sebelahnya, kemudian dilakukan pertukaran data jika berada dalam urutan yang salah. Jika tidak ada pertukaran data lagi, berarti data-data tersebut sudah terurut.
Pada saat melakukan pengurutan data menggunakan Buble Sort ada beberapa hal yang harus kita pahami, yaitu sebagai berikut:
- Bandingkan masing-masing item dalam suatu list secara berpasangan.
- Tukar posisi item tersebut jika diperlukan (Asc/Desc)
- Ulangi hingga akhir list, sehingga tidak ada lagi item yang dapat ditukar.
Contoh: Urutkan data 6,8,3,2,4 secara ascending ?
- Proses Pertama
(6 8 3 2 4) menjadi (6 8 3 2 4)
(6 8 3 2 4) menjadi (6 3 8 2 4)
(6 3 8 2 4) menjadi (6 3 2 8 4)
(6 3 2 8 4) menjadi (6 3 2 4 8)
- Proses Kedua
(6 3 2 4 8) menjadi (3 6 4 2 8)
(3 6 2 4 8) menjadi (3 2 4 6 8)
(3 2 6 4 8) menjadi (3 2 4 6 8)
(3 2 4 6 8) menjadi (3 2 4 6 8)
- Proses Ketiga
(3 2 4 6 8) menjadi (2 3 4 6 8)
(2 3 4 6 8) menjadi (2 3 4 6 8)
(2 3 4 6 8) menjadi (2 3 4 6 8)
(2 3 4 6 8) menjadi (2 3 4 6 8)
Berikut ini Sourcode Menggunakan Buble Sort.
import java.util.Scanner;
public class Buble_Short_1{
public static void main (String[]args) {
int a[]={6,5,1,3,2,8,7,4};
int penampung=0;
System.out.println("= = = = = = = = = = = = = = = = = = = = = =");
System.out.println("=======PRPOGRAM MEMBUAT=====");
System.out.println("===========BUBLE SORT==========");
System.out.println("= = = = = = = = = = = = = = = = = = = = = =");
for(int h=0; h<(a.length); h++){
for(int i=0; i<(a.length-1); i++){
if(a[i]>a[i+1]){
penampung=a[i];
a[i]=a[i+1];
a[i+1]=penampung;
}
}
System.out.print(h+1+" = ");
for(int d=0; d<a.length; d++){
System.out.print(a[d]);
}
System.out.println();
}
System.out.print("Data pada array a [] setelah di urutkan = {");
for(int i=0; i<a.length; i++){
System.out.print(a[i]+",");
}
System.out.print("{");
}
}
Penjelasan Sourcode!!!
Langkah pertama kita buat dulu class methodnya. Disini saya beri nama classnya yaitu "Buble_Short_1". Setelah itu kita deklarasikan variabel yang akan kita gunakan, Yang mana saya disini menggunakan variabel "A" yang bertipe data integer yang mana a ini juga termasuk kedalam array berelemen 8. Di dalam array terdapat angka-angka yang tidak terurut dan nantinya akan di urutkan secara otomatis oleh program.
Di dalam program ini saya juga menggunakan varibel pembantu yaitu "penampung" yang bertipe integer yang bernilai 0, varibel ini nantiknya yang akan membantu program untuk melakukan SWAP.
Selain itu saya juga menggunakan perulangan for sebanyak 3 kali, yang mana perulangan for pertama itu bertugas untuk mengulangi proses perulangan yang terjadi didalamnya sampai data itu terurtt. Sedangkan perulangan for yang ke-2 bertujuan untuk membandingkan dua angka yang kemudian ditukar jika indeks berikutnya itu lebih kecil dari indeks sebelumnya karena di dalam program ini kita menggurutkan datanya itu secara Ascending.
Setelah itu kita lakukan perulangan for lagi, yang mana for ke-3 ini berfungsi untuk menampilkan proses yang terjadi di setiap angka yang akan di ulangi sebanyak elemen yang ada di dalam array.
System.out.print("Data pada array a [] setelah di urutkan = {"); Pada bagian ini berfungsi untuk menampilkan hasil program yang sudah terurut.
Berikut ini tampilan hasil Programnya.
Semoga dengan adanya blog ini dapat membantu teman-teman semuanya dalam hal apapun:)
Sekian Terimakasih.
Assalamua'laikum Wr.Wb.
Komentar
Posting Komentar