Algoritma
adalah urutan serangkaian langkah-langkah logis, terperinci dan tepat pada
penyelesaian masalah yang disusun secara sistematis. Masalah-masalah tersebut
dapat berupa apa saja, dengan catatan untuk setiap masalah ada kondisi awal
yang harus dipenuhi sebelum menjalankan suatu algoritma. Mari kita masuk ke bagian pengurutan
(sorting).
Sorting
Dalam perancangan dan menganalisis
pemrograman, ada beberapa metode umum yang wajib dipelajari seorang programmer
dalam melatih pola pikir algoritmanya yakni, Algoritma Sorting. Pada Algoritma
Sorting terdapat banyak metode. Beberapa metode yang saya ketahui adalah:
Bubble Sort, Selection Sort, Insertion Sort, Merge Sort dan masih banyak lagi.
Salah satu bagian penting dari
struktur data adalah proses pengurutan data-data itu sendiri. Data terkadang
akan berada dalam bentuk yang tidak berpola ataupun dengan pola tertentu yang
tidak kita inginkan, namun dalam penggunaanya, kita akan selalu ingin
menggunakan data-data tersebut dalam bentuk yang rapi atau berpola sesuai
dengan yang kita inginkan. Maka dari itu proses sorting adalah proses yang
sangat penting dalam struktur data, terlebih untuk pengurutan data yang bertipe
numerik ataupun karakter.
Sorting adalah proses menyusun kembali data
yang sebelumnya telah disusun dengan suatu pola tertentu ataupun secara acak,
sehingga menjadi tersusun secara teratur menurut aturan tertentu.
Pada umumnya ada 2 macam pengurutan,
yaitu:
Pengurutan secara ascending (urut
naik).
Pengurutan secara descending (urut
turun).
Metode sorting
ini sangat berguna sekali untuk mengurutkan suatu data. Contohnya :
v
Mengurutkan nama-nama dibuku telepon
v
Mengurutkan kata-kata dalam suatu kamus
v
Mengurutkan file-file dalam sebuah directory
v
Mengurutkan indeks sebuah buku
v
Mengurutkan data mutasi dalam sebuah rekening
tabungan
v
Mengurutkan CD di toko musik.
Pada bagian ini kita hanya akan
membahas tentang Pengurutan Gelembung (Bubble sort):
Bubble
Sort
Metode ini merupakan metode yang paling sederhana dan
paling tidak efisien, karena memerlukan waktu yang relatif lebih lama
dibandingkan dengan metode-metode yang lainnya. Konsep dasar dari Bubble
sort ialah membandingkan elemen yang sekarang degan elemen yang berikutnya,
jika elemen sekarang lebih besar (>) dibanding elemen berikutnya (untuk ascending),
maka dilakukan proses penukaran. Proses sorting dapat dimulai dari data
awal atau data akhir.
Contoh dari proses Sorting dengan menggunakan metode
Bubble Sort :
Nah, begitulah
prosesnya. Selanjutnya mari kita lanjutkan ke codingannya :
v
Proses
Ascending
package tugas_alpro;
import java.util.Arrays;
public class ascending {
public static void main(String[] args) {
// Variable
int[] bilangan = {22, 10, 15, 3, 8,
2};
// Tampilkan bilangan
System.out.println("Bilangan
sebelum di sorting Bubble Sort : "+Arrays.toString(bilangan));
// Proses Bubble Sort
System.out.println("\nProses
Bubble Sort secara Ascending:");
for(int a = 0; a < bilangan.length; a++) {
// Tampilkan proses
System.out.println("Proses "+(a+1));
for(int b = 0; b < bilangan.length-1; b++) { if(bilangan[b] > bilangan[b+1]) {
// proses pertukaran bilangan
int temp = bilangan[b];
bilangan[b] = bilangan[b+1];
bilangan[b+1] = temp;
}
// Tampilkan proses pertukaran
System.out.println(Arrays.toString(bilangan));
}
System.out.println();
}
// Tampilkan hasil akhir
System.out.println("Hasil akhir
setelah di sorting: "+Arrays.toString(bilangan));
}
}
v
Descending
package tugas_alpro;
import java.util.Arrays;
public class descending {
public static void main(String[] args) {
// Variable
int[] bilangan = {22, 10, 15, 3, 8, 2};
// Tampilkan bilangan
System.out.println("Bilangan
sebelum di sorting Bubble Sort : "+Arrays.toString(bilangan));
// Proses Bubble Sort
System.out.println("\nProses
Bubble Sort secara Descending:");
for(int a = 0; a < bilangan.length; a++) {
// Tampilkan proses
System.out.println("Proses "+(a+1));
for(int b = 0; b < bilangan.length-1; b++) {
if(bilangan[b] < bilangan[b+1]) {
// proses pertukaranbilangan
int temp = bilangan[b];
bilangan[b] = bilangan[b+1];
bilangan[b+1] = temp;
}
// Tampilkan
proses
System.out.println(Arrays.toString(bilangan));
}
System.out.println();
}
// Tampilkan hasil akhir
System.out.println("Hasil akhir
setelah di sorting: "+Arrays.toString(bilangan));
}
}
v
Result









Tidak ada komentar:
Posting Komentar