Pertemuan XI Pengurutan Data

Download Report

Transcript Pertemuan XI Pengurutan Data

Pengurutan Data
Nurdiansah PTIK 09 UNM
1



Proses pengurutan data banyak ditemukan
dalam komputer. Hal itu karena data yang
sudah urut akan lebih cepat untuk dicari.
Untuk membentuk data yang tidak urut
menjadi data yang urut, terdapat berbagai
algoritma yang bisa digunakan
Pengurutan dilakukan terhadap data yang
secara keseluruhan diletakkan dalam memori
ataupun terhadapa data yang tersimpan pada
pengingat eksternal
pada pengurutan data dikenal istilah
ascending (urut naik) dan descending (urut
turun)
Pengantar pengurutan data
Nurdiansah PTIK 09 UNM
2
- Metode bubble sort merupakan metode
sederhana untuk melakukan pengurutan
data, tetapi memiliki kinerja yang kurang
baik untuk data yang besar.
- Pengurutan dilakukan dengan
membandingkan sebuah bilangan dengan
seluruh bilangan yang terletak sesudah
bilangan tersebut.
- Penukaran dilakukan kalau suatu kriteria
dipenuhi
Metode bubble sort
Nurdiansah PTIK 09 UNM
3
SUBRUTIN bubble_sort(L, n)
UNTUK tahap =1 s/d n-1
UNTUK j
0 s/d n-tahap-1
JIKA L[j] > L[j+1] MAKA
// Lakukan penukaran
tmp
L [j]
L[j]
L[j+1]
L[j+1]
tmp
AKHIR-JIKA
AKHIR-UNTUK
AKHIR-UNTUK
AKHIR-SUBRUTIN
Implementasi pengurutan dengan metode bubble-sort baik
dalam bentuk algoritma maupun program
Nurdiansah PTIK 09 UNM
4
#include<stdio.h>
Void tampilkan_larik(int data[], int n)
{
int i;
for (i = 0; i < n; i++)
printf(“%d”, data[i]);
printf(“\n”);
}
Void bubble_sort(int data[], int n)
{
Int tahap, j, tmp;
for (tahap =1; tahap < n ; tahap++)
{
for(j =0; j < n – tahap; j++)
if data[j] > data [j+1]
{
Program
Nurdiansah PTIK 09 UNM
5
}
/* Tukarkan */
tmp = data [j];
data[j] = data[j+1];
data[j+1]= tmp;
}
printf(“hasil tahap %d:”, tahap);
tampilkan_larik(data, n);
}
Int main()
{
Const JUM_DATA =8;
int I;
int data[]={25,57,48,37,12,92,80,33};
bubble_sort(data, JUM_DATA);
/*Hasil Pengurutan*/
printf(“Hasil Pengurutan :\n”);
tampilkan_larik(data, JUM_DATA);
return 0;
}
Cont’…
Nurdiansah PTIK 09 UNM
6
Pengurutan seleksi (selection sort) mempunyai
mekanisme seperti berikut: mula-mula suatu
pununjuk (diberi nama posAwal), yang menunjuk ke
lokasi awal pengurutan data, diatur agar diberi indeks
pertama dalam larik.
 Selanjutnya dicari bilangan terkecil yang terletak
antara posisi sesudah yang ditunjuk oleh posMin.
Lalu tukarkan nilai bilangan terkecil tersebut dengan
nilai yang ditunjuk oleh posAwal.
 Proses seperti itu diulang dari posAwal bernilai 0
hingga n-2, dengan n menyatakan jumlah elemen
dalam larik

Metode pengurutan seleksi
Nurdiansah PTIK 09 UNM
7



Pengurutan dengan penyisipan (insertion
sort) adalah suatu metode yang melakukan
pengurutan dengan cara menyisipkan data
yang belum urut ke dalam data yang telah
diurutkan.
Konsep seperti ini biasa dilakukan pada
permainan kartu
Ketika sebuah kartu baru didapatkan (hasil
pengocokan kartu) kartu akan disisipkan oleh
pemain pada posisi yang tepat sehingga
penambahan kartu tersebut membuat semua
kartu tetap terurutkan
Pengurutan dengan penyisipan
Nurdiansah PTIK 09 UNM
8



Quick sort adalah metode pengurutan data
yang dikemukakan pertama kali oleh C.AR
Hoare pada tahun 1962.
Metode ini menggunakan strategi “pecah
belah” dengan mekanisme seperti berikut:
larik L[p..r] (dengan indeks terkecil adalah p
dan terbesar adalah r) disusun ulang
(dipartisi) menjadi dua buah larik A[p..q]
selalu bernilai lebih kecil daripada setiap
elemen pada A[q+1..r]
Kedua larik tersebut diurutkan secara
rekursif. Dengan sendirinya kombinasi kedua
larik tersebut membentuk larik dengan data
yang telah urut.
Metode Quick Sort
Nurdiansah PTIK 09 UNM
9
The END
Nurdiansah PTIK 09 UNM
10