Selasa, 23 Juni 2009

SORTING


Sorting adalah proses mengurutkan angka. Ada dua bentuk sorting yaitu secara ascending dan descending. Ascending adalah proses pengurutan angka atau data dari kecil kebesar, sedangkan Descending adalah kebalikan dari ascending yaitu proses pengurutan angka atau data dari besar kekecil. Berikut ini saya akan memberikan contohnya agar lebih jelas yaitu sebagai berikut :
Data yang diacak : 3 1 5 11 9
Ascending : 1 3 5 9 11
Descending : 11 9 5 3 1
Deklarasi array untuk sorting
Deklarasikan secara global :
Int data [100] ;
Int n; // untuk jumlah data

Prosedur Tukar 2 Buah Data :
void tukar (in j, int k)
{
Int tmp;
tmp = data [j];
data [j] = data [k];
data [k] = tmp;
}


Bubble Sort

Bubble sort merupakan metode paling sederhana atau termudah dalam pengurutan data. Knp diberi nama bubble sort itu karena proses pengurutan secara berangsur-angsur bergerak/berpindah ke posisinya yang tepat, seperti gelembung yang keluar dari sebuah gelas bersoda.
Cara kerjanya sbb:
1.Membandingkan sebuah bilangan dengan seluruh bilangan yang terletak setelah
bilangan tersebut.
2.Penukaran terjadi apabila memenuhi kondisi tertentu.

Contoh :


















Algoritma Bubble Sort





Dengan data diatas, maka data akan terurut naik (ascending), untuk urut turun ada bisa ubah pada bagian dibawah ini :



Ubah menjadi :




Exchange Sort

Exchange sort hampri mirip dengan Bubble sort yang berbeda adalah cara membandingkan elemen-elemennya. Exchange sort membandingkan suatu elemen dengan elemen-elemen lainnya dalam
array tersebut, dan melakukan pertukaran elemen jika perlu. Jadi ada elemen yang
selalu menjadi elemen pusat.

Algoritma Exchange Sort




Selection Sort

Selection Sort adalah penggabungan antara Sorting dan Searching. Di Selection Sort setiap proses akan dicari elemen-elemen yang belum diurutkan misalnya mengurutkan data yang memiliki nilai dari yang terkecil atau terbesar yang akan diurutkan secara tepat di array.

Algoritma Selection Sort





Insertion Sort

Pengertian Insertion Sort itu bisa diibaratkan seperti mengurutkan kartu, ambil selemabar demi selembar kartu kemudian sisipkan ke tempat yang seharusnya. Pengurutan dalam dalam Insertion Sort dimulai dari data ke-2 sampai dengan data terakhir, jika ada nilai yang lebih kecil maka aka ditempatkan diposisi yang seharusnya. Pada penyisipan elemen, maka elemen-elemen lain akan bergeser ke belakang.
Algoritma insertion sort pada dasarnya memilah data yang akan diurutkan menjadi
dua bagian, yang belum diurutkan (meja pertama) dan yang sudah diurutkan (meja
kedua). Elemen pertama diambil dari bagian array yang belum diurutkan dan
kemudian diletakkan sesuai posisinya pada bagian lain dari array yang telah
diurutkan. Langkah ini dilakukan secara berulang hingga tidak ada lagi elemen yang
tersisa pada bagian array yang belum

Algoritma Insertion Sort





Quick Sort

Quicksort ditemukan oleh C.A.R Hoare. Seperti pada merge sort, algoritma ini juga
berdasar pada pola divide-and-conquer. Berbeda dengan merge sort, algoritma ini
hanya mengikuti langkah – langkah sebagai berikut :
1. Divide
Memilah rangkaian data menjadi dua sub-rangkaian A[p…q-1] dan A[q+1…r]
dimana setiap elemen A[p…q-1] adalah kurang dari atau sama dengan A[q]
dan setiap elemen pada A[q+1…r] adalah lebih besar atau sama dengan
elemen pada A[q]. A[q] disebut sebagai elemen pivot. Perhitungan pada
elemen q merupakan salah satu bagian dari prosedur pemisahan.
2. Conquer
Mengurutkan elemen pada sub-rangkaian secara rekursif
Pada algoritma quicksort, langkah ”kombinasi” tidak di lakukan karena telah terjadi
pengurutan elemen – elemen pada sub-array

Algoritma Quick Sort





Sumber : Andre Stafian, Rosihan Ari, Jeni-intro2 dll.


Sekian penjelasan saya untuk materi kali ini tentang Sorting. Kalau ada teman-teman yang pengen copy posting saya tentang sorting silahkan tapi jangan disamakan. Tidak lupa saya ucapkan terima kasih pada narasumber.

0 komentar:

Posting Komentar

silahkan tulisakan komentar anda disini....

 

Adi Zone Cyber Blak Magik is Designed by productive dreams for smashing magazine Bloggerized by Ipiet © 2008