Staffsite STMIK PPKIA Pradnya Paramita

PENGURUTAN REKAMAN
Sistem Berkas – Sesi 12 dan 13

Beberapa metode sorting yang sering
digunakan adalah:
Pengurutan gelembung (Bubble sort)
Pengurutan cepat (Quick sort)
Pengurutan heap/deret (Heap sort)

PENGURUTAN GELEMBUNG (BUBBLE
SORT)
Salah satu prosedur pengurutan paling

sederhana adalah pengurutan gelembung.
Disebut pengurutan gelembung karena
masing-masing kunci akan dengan lambat
meggelembung ke posisi yang tepat.

Bubble Sort
x merupakan suatu array integer di mana n


rekaman pertamanya akan diurutkan sehingga x
[i] ≤ x [j] untuk 1 ≤ i ≤ n.
Gagasan dasar pengurutan gelembung adalah
langkah-langkah melewatkan satu rekaman
melalui rekaman-rekaman lain di dalam berkas.
Masing-masing langkah mengandung proses
untuk membandingkan rekaman pendahulunya,
atau x [i] dengan x [i-1] dan mempertukarkan
kedua rekaman bila urutan mereka tidak tepat,
yaitu bila x[i] < x[i-1]

PENGURUTAN CEPAT (QUICK SORT)
Pengurutan cepat memproses berkas dengan

membagi rekaman-rekaman menjadi beberapa
kelompok kemudian mengurutkannya.
Berkas (atau kelompok) dibagi berdasarkan
perbandingan dengan rekaman pertama dari
berkas.
Semua rekaman dengan kunci lebih kecil dari

kunci pada rekaman pertama diletakkan disebelah
kiri rekaman pembanding, sedangkan rekaman
dengan kunci yang lebih besar diletakkan pada
bagian sebelah kanan rekaman pembanding.

Algoritma pengurutan cepat adalah sebagai
berikut:
Jika terdapat banyak rekaman yang harus

diurutkan, pisahkan rekaman-rekaman tersebut
dalam tiga kelompok (yaitu rekaman-rekaman
dengan kunci rekaman lebih besar dari kunci
rekaman pertama) dengan menggunakan
prosedur “pertukaran_cepat”, yaitu :
Urutkan cepat rekaman-rekaman data yang berada

dalam kelompok pertama menjadi tiga kelompok
Urutkan cepat rekaman-rekaman data yang berada
dalam kelompok ketiga menjadi tiga kelompok


Jika tidak, maka proses berakhir

PENGURUTAN HEAP (HEAP SORT)
Pengurutan heap merupakan algoritma yang menarik

karena sangat sederhana. Nama heap diambil dari
struktur data yang mendasari pengurutan tersebut,
yaitu struktur heap.
Pengurutan heap memanfaatkan keunggulan sifatsifat yang dimiliki oleh pohon biner lengkap, yaitu:
Heap biner atau heap, merupakan pohon biner
lengkap dengan kunci yang disimpan dalam masingmasing titik memiliki nilai lebih kecil atau sama
dengan nilai kunci dari masing-masing anaknya.
Definisi tersebut memberikan indikasi bahwa akar
akan berisi rekaman dengan kunci tertinggi.

Pengurutan dengan HEAP
(Pohon Biner)
Tahap I. Dilakukan dengan menambah

rekaman-demi-rekaman pada pohon biner

sehingga syarat pohon biner lengkap
terpenuhi
Tahap II. Mengurutkan heap dilakukan
dengan cara menukah rekaman akar dengan
rekaman terakhir dalam pohon biner,
kemudian menyusun ulang sehingga pohon
biner menjadi urut

Contoh Heap

Contoh bukan heap

Algoritma pengurutan heap
Proc pengurutan_heap
/* Penyusunan heap */
For i = 2 to n do
geser_keatas
end
/* Urutkan rekaman dan pertahankan heap */
For i = n to 2 do

Tukar(rekaman[1], rekaman[i])
geser_kebawah
end
end pengurutan heap