Anda di halaman 1dari 3

Pengurutan data

SORTING / PENGURUTAN DATA


SORTING Adalah Proses menyusun kumpulan data yang
seragam dengan aturan urut menaik (ascending), atau urut
menurun (descending)
Sorting Berdasarkan perbandingan
(comparison-based sorting).
- pengurutan seleksi (selection sort)
- pengurutan sisip (insertion sort)
- pengurutan gabung (merge sort)
- pengurutan cepat (quick sort)
- pengurutan himpun (heap sort)
- pengurutan gelembung (bubble sort)
- pengurutan shell (shell sort)
- pengurutan pohon (tree sort)
Sorting Berdasarkan prioritas antrian
(priority queue sorting method).
- pengurutan seleksi (selection sort)
- pengurutan himpun (heap sort)
Sorting Berdasarkan penyisipan dan penjagaan terurut (insert
and keep sorted method).
- pengurutan sisip (insertion sort)
- pengurutan pohon (tree sort)
Sorting Berdasarkan pembagian dan penguasaan (devide and
conquer method).
- pengurutan cepat (quick sort)
- pengurutan gabung (merge sort)
Berdasarkan pengurutan berkurang menurun (diminishing
increment sort method).
- pengurutan shell (shell sort)

Berikut saya akan mengulasnya satu-satu


1. Shell sort
Shell sort disebut juga dengan metode pertambahan
menurun (diminishing increment). Metode ini dikembangkan
oleh Donald L. Shell pada tahun 1959, sehingga sering disebut
dengan Metode Shell Sort. Metode ini mengurutkan data
dengan cara membandingkan suatu data dengan data lain
yang memiliki jarak tertentu, kemudian dilakukan penukaran
bila
diperlukan.
Shell Sort merupakan salah satu algoritma pengurutan yang
lebih handal dibandingkan Selection Sort dan Bubble Sort.
Kehandalannya yaitu: Membagi deret data menjadi dua
bagian. Masing-masing bagian diurutkan menggunakan Bubble
Sort. Tidak menggunakan iterasi melainkan increment.
Perulangan diakukan sesuai nilai increment.
Proses pengurutan dengan Shell sort dapat disimulasikan
sebagai berikut:
Pertama menentukan jarak mula-mula dari data yang akan
dibandingkan, yaitu N/2. Data pertama dibandingkan dengan
data dengan jarak N/2. Apabila data pertama lebih besar dari
data ke N/2 tersebut maka kedua data tersebut ditukar.
Kemudian data kedua dibandingkan dengan jarak yang sama
yaitu N/2. Demikian seterusnya sampai seluruh data
dibandingkan sehingga semua data ke-j selalu lebih kecil
daripada data ke-(j + N/2).
Pada proses berikutnya, digunakan jarak (N/2) / 2 atau N/4.
Data pertama dibandingkan dengan data dengan jarak N/4.
Apabila data pertama lebih besar dari data ke N/4 tersebut
maka kedua data tersebut ditukar. Kemudian data kedua
dibandingkan dengan jarak yang sama yaitu N/4. Demikianlah
seterusnya hingga seluruh data dibandingkan sehingga semua
data ke-j lebih kecil dari data ke-(j + N/4).
Pada proses berikutnya, digunakan jarak (N/4) / 2 atau N/8.
Demikian seterusnya sampai jarak yang digunakan adalah 1.

<?php
function char_to_dec($a) {
$i=ord($a) ;
if ($i>90 && $i<=122) {
return ($i-96) ;
} else if ($i>=65 && $i<=96) {
} else if

Anda mungkin juga menyukai