Untuk
mengimplementasikan algoritma Heap sort pada Java, gunakanlah syntax berikut
ini :
Pada syntax tersebut terdapat 3 buah
metode yaitu heapSort(), build_Max_Heap() dan max_Heapfy().
Dimana metode heapSort adalah metode utama yang digunakan untuk melakukan
sorting nilai pada array angka dengan algoritma Heap Sort. Pada baris 10 sampa
33 adalah syntax untuk deklarasi array angka dan memasukkan nilai pada setiap elemen
yang dimiliki array angka, lalu pada baris 36 metode build_Max_Heap()
dipanggil. Fungsi metode ini adalah membangun sebuah Heap tree agar sesuai
dengan kodisi max heap.
Pada baris 86 terdapat for looping
dengan kondisi i = (elements - 1)/2 (index tengah) dan selama i lebih besar
sama dengan 0 maka nilai i akan berkurang 1, dan pada baris 89 metode
max_Heapfy() dipanggil. Fungsi metode max_Heapfy berfungsi untuk menempatkan
nilai pada sebuah index diposisi yang benar agar memenuhi kondisi max heap. Pada
baris 102 dan 103 terdapat deklarasi variabel left dan right dimana kedua
variabel tersebut berisi posisi left dan right child dari node index lalu pada
baris 104 terdapat deklarasi variabel largest yang berisi posisi index yang
memiliki nilai terbesar yang nantinya nilai tersebut akan dipindahkan ke node
index. Dan pada baris 106 sampai 118 terdapat beberapa kondisi if yang
berfungsi untuk membandingkan node mana yang memiliki nilai tertinggi di antara
node index dan left/right child nodenya lalu pada baris 120 terdapat if yang
memiliki kodisi jika largest tidak sama dengan index maka nilai pada node index
dan largest bertukar tempat dan metode max_Heapfy() kembali di panggil sampai
kondisi max heap terpenuhi.
Lalu
kembali ke metode heapSort() di baris 39 terdapat for looping dengan kondisi i =
elements – 1 dan selama i lebih besar dari 0 maka nilai i berkurang 1.
Dan pada baris 41 sampai 43 adalah syntax untuk menukar nilai pada index 0
dengan nilai di index i lalu elements dikurangi 1 disini terlihat nilai
terbesar pada heap tree di index 0 ditukar posisinya dengan nilai pada index i
(index terakhir) disini nilai terbesar sudah berada di index terakhir dan
jumlah elements dikurangi 1 karena posisi nilai terbesar sudah berada di posisi
yang benar lalu pada baris 46 metode max_Heapfy() dipanggil untuk menempatkan
nilai pada index 0 pada posisi yang benar sesuai dengan kondisi max heap dan
proses ini terus berulang selama i lebih besar dari 0 ini menadakan proses ini akan terus berjalan
hingga tersisa 2 index saja yaitu index 0 dan 1. Berikut adalah hasil
implementasi algoritma heap sort menggunakan Java :
Semoga informasi yang saya berikan bisa membantu anda dalam memahami dan mempelajari HeadSort pada Java.
Terima Kasih telah mengunjungi blog saya :)
Komentar
Posting Komentar