METODE PENGURUTAN DATA

Minggu, 30 November 2008 by DEWA BLOGS

Pengurutan (sorting) adalah proses mengatur sekumpulan objek menuruturutan atau susunan tertentu. Urutan objek tersebut dapat menaik (ascending) ataumenurun (descending). Bila N buah objek atau data disimpan di dalam larik L,maka pengurutan menaik berarti menyusun elemen larik sedemikian sehingga:L[1] > L[2] > L[3 > … > L[N]Sedangkan pengurutan menurun berarti menyusun elemen larik sedemikiansehingga:L[1] < L[2] < L[3 < … < L[N]Data yang diurut dapat berupa data bertipe dasar atau tipe terstruktur (record).Jika data bertipe terstruktur, maka harus dispesifikasikan berdasarkan field apadata tersebut diurutkan. Field yang dijadikan dasar pengurutan dikenal sebagaifield kunci.Adanya kebutuhan terhadap proses pengurutan memunculkan bermacammacammetode pengurutan.

Metode tersebut diantaranya adalah:
1). MetodePengurutan Gelembung (Bubble Sort)
2). Metode Pengurutan Pilih (SelectionSort)
3). Metode Pengurutan Sisip (Insertion Sort)
4). Metode Pengurutan Shell(Shell Sort)
5). Heap Sort
6). Quick Sort
7). Merge Sort
8). Radix Sort dan
9).Tree Sort.

Pada tulisan ini, tidak semua metode pengurutan akan dibahas.Tidak ada metode yang terbaik untuk pengurutan. Kebanyakan metodepengurutan sederhana hanya bagus untuk volume data yang kecil tetapi lambatuntuk ukuran data yang besar. Metode pengurutan yang lebih cepat pun (sepertiquick sort dan merge sort) memang bagus untuk mengurutkan data yang banyak,tetapi tidak bagus untuk ukuran data yang sedikit karena memerlukan bebantambahan (overhead) yang boros waktu dan memori.Metode pengurutan dapat diklasifikasikan sebagai berikut:a. Metode pengurutan internal, yaitu metode pengurutan untuk data yangdisimpan di dalam memori computer. Umumnya struktur internal yangdipakai untuk pengurutan internal adalah larik, sehingga pengurutaninternal disebut juga pengurutan larik.b. Metode pengurutan eksternal, yaitu metode pengurutan untuk datayang disimpan di dalam disk storage, disebut juga pengurutan arsip(file), karena struktur eksternal yang dipakai adalah arsip

.1. Metode Pengurutan Gelembung (Bubble Sort)

Metode ini memiliki prinsip pengapungan. Apabila kita menginginkanlarik terurut menaik, maka elemen larik yang berharga paling kecil ‘diapungkan’,artinya diangkat ke atas (atau ke ujung kiri larik) melalui proses pertukaran.Proses pengapungan ini dilakukan sebanyak N-1 langkah dengan N adalah ukuranlarik. Pada akhir setiap langkah ke-I, larik L[1..N] akan terdiri atas dua bagianyaitu bagian yang sudah terurut, yaitu L[1..I] dan bagian yang belum terurutL[I+1..N]. Setelah langkah terakhir, diperoleh larik L[1..N] yang terurut menaik. Pengurutan gelembung merupakan metode pengurutan yang tidak efisien. Hal inidisebabkan oleh banyaknya operasi pertukaran yang dilakukan pada setiaplangkah pengapungan. Untuk nukuran larik yang besar, pengurutan denganmetode ini membutuhkan waktu yang lama. Karena alasan itu, maka metode inijarang digunakan dalam praktek. Namun, kelebihan metode ini adalah padakesederhanaannya dan mudah dipahami

.2. Metode Pengurutan Pilih (Selection Sort)

Metode ini memilih elemen maksimum/minimum dari larik, lalumenempatkan elemen itu pada awal atau akhir larik (elemen terujung).Selanjutnya elemen terujung tersebut ‘diisolasi’ dan tidak disertakan pada prosesselanjutnya. Proses yang sama diulang untuk elemen larik yang tersisa, yaitumemilih elemen maksimum/minimum berikutnya dan mempertukarkannyadengan elemen terujung larik sisa. Dibandingkan dengan metode pengurutan gelembung, metode pengurutan pilihmemiliki kinerja yang lebih baik. Alasannya, operasi pertukaran elemen hanyadilakukan sekali saja dengan demikian lama pengurutannya berkurang

.3. Metode Pengurutan Sisip (Insertion Sort)

Algoritma pengurutan sisip untuk memperoleh elemen larik yang terurutmenaik. Kelemahan metode pengurutan sisip terletak pada banyaknya operasi pergeseranyang diperlukan dalam mencari posisi yang tepat untuk elemen larik. Untuk larikdengan N yang besar, jumlah operasi pergeseran meningkat secara kuadratik,sehingga pengurutan sisip kurang bagus untuk volume data yang besar

.4. Metode Pengurutan Shell (Shell Sort)

Metode shell sort pertama kali diperkenalkan oleh Donald L. Shell tahun1959. Metode ini didasarkan pada penukaran sepasang elemen untuk mencapaikeadaan urut. Dalam hal ini jarak elemen yang akan dibandingkan (kemudianditukarkan) ditentukan (biasanya jarak ini ditentukan dengan cacah data = ndibagi 2). Pada langkah pertama, elemen-elemen yang terpisahkan oleh jarak itudibandingkan dan jika perlu ditukarkan. Kemudian jarak dibagi 2 sehinggabernilai setengah jarak yang semula. Kemudian, pembandingan dan penukaran itudilanjutkan dengan jarak yang baru. Demikian selanjutnya hingga jarak samadengan 1

.5. Metode Merge Sort

Pada metode ini diterapkan pada dua buah larik yang digabungkankemudian kita ingin mengurutkannya. Larik masukan yang mempunyai N elemendianggap N buah larik yang masing-masing tersusun oleh 1 elemen. Untuk setiaplarik, kita lakukan penggabungan (merging) dengan larik di sebelahnya denganmeletakan elemen yang lebih kecil di sebelah kiri kemudian penggabunganditeruskan hingga mendapatkan kembali 1 larik yang utuh.Contoh Program Array dengan C++   

contoh script program java script menggunakan array:
< html >
< head >
< title >Contoh Penggunaan Obyek Array< /title >
< script language=”JavaScript” >
< !–var arr = new Array(3);
arr[0] = “Ahmad”;
arr[1] = “Ali”;
arr[2] = “Eko”;

//contoh pertama
document.write (”1 ==> < br >”);
document.write(arr.join() + “< br / >”);
document.write(arr.join(”.”) + “< br >< br >”);

//contoh kedua
document.write (”2 ==> < br >”);
document.write(arr.reverse() + “< br >< br >”);

//contoh ketigadocument.write (”3 ==>
”);
document.write(arr + “
”);
document.write(arr.slice(1) + “
”);
document.write(arr.pop() + “

”)

//contoh ke empat
document.write (”4 ==>
”);
document.write(arr + “
”);
document.write(arr.shift() + “

”);

//contoh kelima
document.write (”5 ==>
”);
var arr = new Array(5);
arr[0] = “Eko”;
arr[1] = “Ali”;
arr[2] = “Ahmad”;
arr[3] = “Udin”;
arr[4] = “Joko”;
document.write(arr + “< br >”);
arr.splice(2,0,”Priyo”);
document.write(arr + “< br >”);
//–>
< /script >
< /head >
< body >
< /body >
< /html >

Filed under having  

0 komentar:

'http://infintyskins.blogspot.com/'>