DATA (SORTING)
AHMAD HUSAEIN, M.KOM
TUJUAN
• Pengurutan data (sorting) didefinisikan sebagai suatu proses untuk menyusun kembali
humpunan obyek menggunakan aturan tertentu.
• Contoh :
– Data bilangan 5, 2, 6 dan 4 dapat diurutkan menjadi
• naik 2, 4, 5, 6
• turun 6, 5, 4, 2.
KEUNTUNGAN DARI DATA YANG SUDAH
DALAM KEADAAN TERURUTKAN
• Data mudah dicari (misalnya dalam buku telepon atau kamus bahasa), mudah untuk dibetulkan,
dihapus, disisipi atau digabungkan. Dalam keadaan terurutkan, kita mudah melakukan
pengeekan apakah ada data yang hilang
• Melakukan komppilasi program komputer jika tabel-tabel simbol harus dibentuk
• Mempercepat proses pencarian data yang harus dilakukan berulang kali.
METODE PENGURUTAN DATA
• Untuk melakukan proses pengurutan tersebut dapat digunakan berbagai macam cara / metoda.
Beberapa metoda diantaranya
• Metode gelembung (bubble sort) sering juga disebut dengan metode penukaran (exchange sort)
adalah metode yang mengurutkan data dengan cara membandingkan masing-masing elemen,
kemudian melakukan penukaran bila perlu.
• Metode ini mudah dipahami dan diprogram, tetapi bila dibandingkan dengan metode lain yang
kita pelajari, metode ini merupakan metode yang paling tidak efisien.
KELEBIHAN BUBBLE SORT
• Ide dasarnya adalah melakukan beberapa kali pass untuk melakukan penyeleksian elemen
struktur data.
• Untuk sorting ascending (menaik), elemen yang paling kecil di
antara elemen-elemen yang belum urut, disimpan indeksnya,
kemudian dilakukan pertukaran nilai elemen dengan indeks yang
disimpan tersebut dengan elemen yang paling depan yang belum
urut.
• Sebaliknya, untuk sorting descending (menurun), elemen yang paling besar yang disimpan
indeksnya kemudian ditukar.
• Selection Sort diakui karena kesederhanaan algoritmanya dan performanya lebih bagus
daripada algoritma lain yang lebih rumit dalam situasi tertentu. Algoritma ini bekerja sebagai
berikut:
– Mencari nilai minimum (jika ascending) atau maksimum (jika descending) dalam sebuah list
– Menukarkan nilai ini dengan elemen pertama list
– Mengulangi langkah di atas untuk sisa list dengan dimulai pada posisi kedua
– Secara efisien kita membagi list menjadi dua bagian yaitu
• bagian yang sudah diurutkan,
• bagian list yang elemennya akan diurutkan.
class Program
{
static void selectSort(int[] arr)
{
int pos_min, temp;
if (pos_min != i)
{
temp = arr[i];
arr[i] = arr[pos_min];
arr[pos_min] = temp;
}
}
Console.WriteLine("==========Hasil Pengurutan===============");
Console.WriteLine(arr[k]);
}
static void Main(string[] args)
{
int[] data=new int[10] {15,8,20,10,17,13,6,5,11,19};
selectSort(data);
Console.ReadKey();
}
}
TERIMA K ASIH