Selasa, 29 Maret 2011

teknik sorting dan searching dalam algoritma

Sorting bisa didefinisikan sebagai suatu proses pengurutan data yang
sebelumnya disusun secara acak sehingga menjadi tersusun secara teratur menurut
suatu aturan tertentu. Sorting yang kita terapkan menggunakan tipe data array agar
pemahaman serta pengimplementasiannya lebih mudah. Pada umumnya terdapat
dua jenis pengurutan :
- Ascending (Naik).
- Descending (Turun).
Contoh :
Data : Array [1..6] of Byte = (22, 10, 15, 3, 8, 2);
Data Acak : 22 10 15 3 8 2
Terurut Ascending : 2 3 8 10 15 22
Terurut Descending : 22 15 10 8 3 2

Metode Pengurutan Data
- Pengurutan berdasarkan perbandingan (comparison-based sorting)
• Bubble sort, exchange sort
- Pengurutan berdasarkan prioritas (priority queue sorting method)
• Selection sort, heap sort
- Pengurutan berdasarkan penyisipan dan penjagaan terurut (insert and keep
sorted method)
• Insertion sort, tree sort
- Pengurutan berdasarkan pembagian dan penguasaan (devide and conquer
method)
• Quick sort, merge sort
- Pengurutan berkurang menurun (diminishing increment sort method)
• Shell sort

Teknik Searching
Searching merupakan suatu proses pendarian data dari sejumlah data yang
ada. Pencarian data dapat dilakukan pada sejumlah data yang sudah terurut atau
juga pada data yang sama sekali belum terurut. Kita mencoba menggunakan dua
metode pencarian yaitu :
- Pencarian Berurutan (Sequential Searching).
Metode ini merupakan metode paling sederhana, secara garis besar metode
ini bisa dijelaskan sebagai berikut. Dari data yang diketahui, data yang dicari
dibandingkan satu per satu sampai data tersebut ditemukan atau tidak ditemukan.
Pada saat data yang dicari sudah ditemukan, maka proses pencarian langsung
dihentikan. Tetapi jika belum ditemukan, maka pencarian diteruskan sampai
seluruh data dibandingkan.

- Pencarian Biner (Binary Seacrh).
Metode ini digunakan jika sejumlah data telah diurutkan. Jika dibandingkan
dengan metode awal tadi metode ini jauh lebih cepat. Secara garis besar metode
ini bisa dijelaskan sebagai berikut. Urutkan dahulu sejumlah data. Lalu bagi dua
data-data tadi dengan jumlah data yang sama pada masing-masingnya. Kemudian
data dibandingkan dengan data terakhir dari subdata yang pertama. Jika data yang
dicari lebih keci, pencarian dilanjutkan pada sub data pertama dengan terlebih
dahulu membagi dua lagi data-data tersebut dengan jumlah yang sama. Tetapi jika
data yang dicari lebih besar dari data terakhir subdata pertama, berarti data yang
dicari kemungkinan terletak pada subdata yang kedua. Proses diatas dilakukan
berulang sampai data ditemukan atau tidak ditemukan.





0 komentar:

Template by : kendhin x-template.blogspot.com