Algoritma Pengurutan adalah algoritma untuk meletakkan kumpulan elemen data ke dalam urutan tertentu, berdasarkan satu atau beberapa kunci dalam tiap-tiap elemen.
Ada dua macam urutan
yang biasa digunakan dalam proses pengurutan yaitu :
• urut naik (ascending)
yaitu dari data yang mempunyai nilai paling kecil sampai paling besar
• urut turun
(descending) yaitu data yang mempunyai nilai paling besar sampai paling kecil.
Contoh : data bilangan
5, 2, 6 dan 4
dapat diurutkan
naik menjadi 2, 4, 5, 6
atau
diurutkan
turun menjadi 6, 5, 4,
2.
Pada data yang bertipe
char, nilai data dikatakan lebih kecil atau
lebih besar dari yang
lain didasarkan pada urutan relatif (collating sequence) seperti dinyatakan
dalam tabel ASCII
Keuntungan dari data
yang sudah dalam keadaan terurutkan antara lain :
• data mudah dicari
(misalnya dalam buku telepon atau kamus bahasa), mudah untuk dibetulkan,
dihapus, disisipi atau digabungkan. Dalam keadaan terurutkan, kita mudah
melakukan pengecekan apakah ada data yang hilang.
• melakukan kompilasi
program komputer jika tabel-tabel simbol harus dibentuk
• mempercepat proses
pencarian data yang harus dilakukan berulang kali.
Data yang diurutkan
sangat bervariasi, dalam hal jumlah data maupun jenis data yang akan diurutkan.
Beberapa faktor yang berpengaruh
pada efektifitas suatu algoritma pengurutan antara lain:
• banyak data yang
diurutkan
• kapasitas pengingat
apakah mampu menyimpan semua data yang kita miliki
• tempat penyimpanan
data, misalnya piringan, pita atau kartu, atau media penyimpan yang lain.
Pemilihan algoritma
sangat ditentukan oleh struktur data yang digunakan. Metode pengurutan yang
digunakan dapat diklasifikasikan menjadi dua kategori yaitu :
• pengurutan internal,
yaitu pengurutan dengan menggunakan larik (array). Larik tersimpan dalam memori
utama komputer
• pengurutan eksternal,
yaitu pengurutan dengan menggunakan berkas (sequential access file). Berkas
tersimpan dalam pengingat luar, misalnya cakram atau pita magnetis.
Deklarasi Larik
Prosedur Penukaran 2
Bilangan
Deklarasi larik yang
digunakan adalah larik dimensi satu (vektor) dengan elemennya bertipe integer.
#define Max 100;
int Data[Max];
Max adalah banyaknya
elemen vektor.
Anda bisa mengubah nilai
konstanta Max sesuai kebutuhan.
Indeks larik dimulai dari 0.
Data yang sebenarnya
disimpan mulai dari indeks 0.
Selain deklarasi
diatas, proses yang juga selalu digunakan pada algoritma pengurutan adalah
proses menukarkan elemen. Di bawah ini satu prosedur sederhana :
untuk menukarkan nilai
dua buah elemen A dan B.
void Tukar (int *a, int
*b)
{
int temp;
temp = *a;
*a = *b;
*b = temp;
}
Prosedur tukar diatas
akan digunakan pada beberapa prosedur pengurutan yang akan dijelaskan pada postingan berikutnya.
0 komentar:
Posting Komentar