Kamis, 30 Oktober 2008

Metode Pengurutan Data

METODE PENGURUTAN DATA
Pengurutan data dalam struktur data sangat penting untuk data yang beripe data numerik ataupun karakter.Pengurutan dapat dilakukan secara ascending (urut naik) dan descending (urut turun). Pengurutan (Sorting) adalah proses menyusun kembali data yang sebelumnya telah disusun dengan suatu pola tertentu, sehingga tersusun secara teratur menurut aturan tertentu. Beberapa metode pengurutan data sebagai berikut :
1. Bubble Shot, pengurutan berdasarkan perbandingan ( comparison based sorting)
2. Shell sort, pengurutan berkurang menurun (diminishing increment sort method)\
3. Quick sort, Pengurutan berdasarkan pembagian dan penguasaan (devide and conquer method )

Bubble Shot
Merupakan algoritma penyortiran yang dimulai dan berakhir pada sebuah daftar dengan n elemen dan memindahkan seluruhnya, menguji nilai setiap pasangan item yang berdekatan dan menukarkannya jika mereka tidak berada dalam urutan yang tepat.
Metode sorting termudah
Diberi nama “Bubble” karena proses pengurutan secara berangsur-angsur bergerak/berpindah keposisinya yang tepat, seperti gelembung yang keluar dari sebuah gelas bersoda..
Bubble Sort mengurutkan data dengan cara membandingkan elemen sekarang dengan elemen berikutnya.
Pengurutan Ascending : Jika elemen sekarang lebih besar dari elemen berikutnya maka kedua elemen tersebut ditukar.
Pengurutan Descending : Jika elemen sekarang lebih kecil dari elemen berikutnya, maka kedua elemen tersebut ditukar.
Algoritma ini seolah-olah menggeser satu per satu elemen dari kanan ke kiri atau kiri ke kanan, tergantung jenis pengurutannya, asc atau desc. Ketika satu proses telah selesai, maka bubble sort akan mengulangi proses, demikian seterusnya sampai dengan iterasi sebanyak n-1.
Kapan berhentinya? Bubble sort berhenti jika seluruh array telah diperiksa dan tidak ada pertukaran lagi yang bisa dilakukan, serta tercapai perurutan yang telah diinginkan.

Shell sort
Mengurutkan data dengan cara membandingkan suatu data dengan data lain yang memiliki jarak tertentu sehingga dibentuk sub-list, kemudian dilakukan pertukaran jika diperluka. Definisi lain merupakan algoritma yang stau jenis dengan insertion sort, dimana pada setiap nilai i dalam n/i item diurutkan. Pada setiappergantian nilai, i dikurangi sampai 1 sebagai nilai terakhir.

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. Devidi
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

Contoh Scrip

#include

#include

#include

void main()

{

int nilai[5];

int j,i;

float total,rata;

clrscr;

cout<<"Masukkan 7 nilai matakuliah SO mahasiswa :"<

j=1;

for(int i=0;i<7;i++)

{

cout<<"Mahasiswa ke "<<<" nilai kuliah SO : ";

cin>>nilai[i];

total=total+nilai[i];

}

cout<<"Data nilai mahasiswa yang dimasukkan:"<

j=1;

for(int i=0;i<5;i++)

cout<<"Nilai rata rata mahasiswa "<<<": "<<<" rata"<

rata=total/5;

cout<<"rata rata : "<

getch();

}

1 komentar:

o~reen mengatakan...

kasih contoh sorting2nya dong mas...