Algoritma Sorting
Sorting merupakan proses mengurutkan atau menyusun kembali elemen-elemen dengan urutan tertentu dan proses pengurutan tersebut diimplementasikan ke beberapa macam aplikasi.
biasanya sorting atau algoritma pengurutan pada java sering kita temui pada berbagai aktifitas, seperti pada project atau tugas yang difungsikan untuk mengurutkan Nim, Nama Mahasiswa, Kota dan lainya.
Dalam pemrograman Java terdapat tiga algoritma sorting yang biasa digunakan yakni antara lain:
- Insertion Sort
- Selection sort
- Buble Sort
Insertion Sort
Pengertian Algoritma Insertion Sorting pada java merupakan sebuah algortima pengurutan dengan membandingkan dua elemen data pertama, mengurutkannya, setelah itu baru kemudian mengecek apakah elemen data berikutnya satu satu, kemudian akan dibandingkan lagi dengan elemen data yang sudah diurutkan pada proses sebelumnya.
Cara pengurutan dalam Insertion Sort:
- Membandingkan dua elemen data pertama dan mengurutkannya.
- Mengambil satu elemen data berikutnya dan membandingkannya dengan dua elemen data pertama yang telah terurut, kemudian mengurutkannya. Elemen data ketiga ini bisa diletakkan sebelum elemen data pertama, setelah elemen data kedua, atau disisipkan diantara elemen data pertama dan kedua.
- Mengulang langkah kedua hingga seluruh elemen data dalam daftar sudah diurutkan.
Contoh Source Code Logika Pengurutan Sorting Insertion Sort :
public class insertion
{
public static void main(String args[])
{
int a[]={8,5,9,6,3,4,2,1,7,5};
for(int i=0;i<a.length;i++)
{
int min=a[i];
int j=i;
while((j>0)&&(min<a[j-1]))
{
a[j]=a[j-1];
j--;
}
a[j]=min;
}
// mencetak hasil
for(int h=0;h<a.length;h++)
{
System.out.println(a[h]+",");
}
}
}
|
2. Selection Sort
Algoritma Selection Sort adalah algoritma pengurutan dengan cara mencari nilai elemen yang terbesar atau yang terkecil dari sekumpulan elemen nilai pada sebuah data.
- mencari nilai elemen max atau min (terserah, atau pilih salah satu) pada semua nilai elemen pada array yang seharusnya (minimal pada pertama atau nilai max pada akhir). kemudian elemen array tersebut di tetapkan atau di isolasi dan tidak di ganggu lagi.
- temukan sebuah elemen array yang memilikidi nilai kecil atau besardari index kedua dari elemen awal jika terkecil atau dari akhir jika terbesar, setelah itu tukarkan eleman tersebut dengan elemen array pada posisi (indeks) kedua (dari awal atau dari akhir tergantung penggunaan untuk mencari nilai terkecil atau dari yang terbesar), kemudian isolasi atau tetapkan elemen array tersebut ditambah dengan elemen array yang sebelumnya.
- Lakukan langkah seperti diatas pada elemen berikutnya sampai elemen terakhir.
Contoh Source Code Logika Pengurutan Sorting Selection Sort :
a[]={8,5,9,6,3,4,2,1,7,5};
int i=0;
while(i<a.length-1){
int tmp=i;
for(int j=i+1;j<a.length;j++){
if(a[j]<a[tmp])
tmp=j;
}
int hlp=a[i];
a[i]=a[tmp];
a[tmp]=hlp;
i++;
}
// mencetak hasil
for(int h=0;h<a.length;h++){
System.out.println(a[h]+",");
}
}
}
|
3. Bubble Sort
Algoritma Pengurutan Bubble Sort merupakan metode pengurutan elemen array dengan membandingkan elemen array pertama untuk memperoleh elemen terbesar, Kemudian elemen array tersebut di tempatkan pada posisi paling akhir.
Berikut ini urutan dalam Bubble Sort :
- Lakukan pengulangan (pass) pada array, kemudian tukar elemen yang bersebelahan jika diperlukan (perbandingan nilainya tidak sesuai); jika tidak ada pertukaran nilai maka array sudah terurut.
- Dalam pass pertama, temukan elemen dengan nilai tertinggi (maksimal) dalam array dan tukarkan dengan elemen di sebelah kanannya dan seterusnya sampai dengan mencapai posisinya di ujung array sebelah kanan.
- Kemudian dalam pass kedua, nilai tertinggi kedua dalam array akan ditempatkan dalam posisinya (di sebelah kiri elemen dengan nilai tertinggi/maksimal).
- Teruskan untuk pass ketiga dan seterusnya sampai pass n-1
- Jika sebelum pass n-1 sudah tidak ada pertukaran data maka pertukaran langsung dihentikan.
Contoh Source Code Logika Pengurutan Sorting Bubble Sort :
public class bubble
{
public static void main(String args[])
{
int a[]={8,5,9,6,3,4,2,1,7,5};
for(int i=1;i<a.length;i++)
{
for(int h=0;h<a.length-1;h++)
{
if(a[h+1]<a[h])
{
int tmp=a[h+1];
a[h+1]=a[h];
a[h]=tmp;
}
}
}
// mencetak hasil
for(int h=0;h<a.length;h++)
{
System.out.println(a[h]+",");
}
}
|
3 Komentar untuk "Source Code Algoritma Sorting, Insertion Sort, Selection Sort, Bubble Sort pada java"
mudah dimenegerti....
saya minta codenya ya kak ^^
mantull nih min
Solder uap