Kali ini kami akan membahas metoda metoda sorting dalam bahasa java.
A. Sorting
Sorting
merupakan sebuah proses untuk mengatur item dalam suatu urutan tertentu (menaik
atau menurun). Misalnya untuk mengurutkan bilangan, mengurutkan NIM,
mengurutkan nama, dsb. Operasi Dasar Sorting:
1.
Membandingkan nilai
2. Memindahkan nilai-nilai dalam
daftar ke posisi yang sesuai
Metode-metode Sorting
1. Selection Sort (Pengurutan dengan
Seleksi)
Selection
Sort merupakan cara pengurutan yang mengkombinasikan antara sorting dan
searching. Cara pengurutan dalam Selection Sort:
1. Cari
nilai extrim (minimum atau maximum, pilih salah satu) pada semua elemen array
dan pertukarkan dengan elemen array yang seharusnya(minimum di pertama atau
maksimum di akhir). Lalu elemen array tersebut di isolasi (tidak diganggu
gugat).
2. Kemudian
temukan elemen array bernilai extrim dari array index kedua dari awal jika
minimum atau kedua dari akhir jika maksimum, kemudian pertukarkan dengan elemen
array di posisi (indeks) kedua(dari awal atau dari akhir tergantung penggunaan
maksimum atau minimum). Lalu isolasi elemen array tersebut ditambah elemen
sebelumnya.
3.
Ulangi langkah-langkah di atas untuk elemen array berikutnya hingga elemen
array terakhir.
Contoh
berikut ini menunjukkan cara kerja selection sort pada deretan angka “5 1 4 8
2” yang diurutkan menaik (ascending):
|
5
|
1
|
4
|
8
|
2
|
|
1
|
5
|
4
|
8
|
2
|
|
1
|
2
|
4
|
8
|
5
|
|
1
|
2
|
4
|
8
|
5
|
|
1
|
2
|
4
|
5
|
8
|
|
1
|
2
|
4
|
5
|
8
|
·
Nilai terendah=1, ditukar dengan posisi 1
·
Nilai terendah=2, ditukar dengan posisi 2
·
Nilai terendah=4, posisi tetap
·
Nilai terendah=5, ditukar dengan posisi 4
·
Nilai terendah=8, posisi tetap
·
Selesai
2. Insertion Sort (Pengurutan dengan
Penyisipan)
Insertion
sort adalah sebuah algoritma pengurutan yang membandingkan dua elemen data
pertama, mengurutkannya, kemudian mengecek elemen data berikutnya satu persatu
dan membandingkannya dengan elemen data yang telah diurutkan. Cara pengurutan
dalam Selection Sort:
1.
Membandingkan dua elemen data pertama dan mengurutkannya.
2. 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 ketiga, atau disisipkan
diantara elemen data pertama dan kedua.
3. Mengulang langkah kedua hingga
seluruh elemen data dalam daftar sudah diurutkan.
Contoh berikut ini menunjukkan cara
kerja insertion sort pada deretan angka “5 1 4 8 2” yang diurutkan
menaik (ascending):
|
5
|
1
|
4
|
8
|
2
|
|
1
|
5
|
4
|
8
|
2
|
|
1
|
4
|
5
|
8
|
2
|
|
1
|
4
|
5
|
8
|
2
|
|
1
|
2
|
4
|
5
|
8
|
·
Kondisi awal
·
Pengurutan 2 elemen data
·
Pengurutan 3 elemen data
·
Pengurutan 4 elemen data
·
Pengurutan 5 elemen data-selesai



