POLITEKNIK SEKAYU

http://polsky.ac.id/

Selasa, 14 Januari 2014

SELECTION SORT



SELECTION SORT
Pengertian selection sort
  Selection sort merupakan perbaikan dari metode bubble sort dengan mengurangi jumlah perbandingan.
  Selection sort merupakan metode pengurutan dengan mencari nilai data terkecil dan nilai data terbesar dimulai dari data diposisi 0 hingga diposisi N-1.
  Jika terdapat N data dan data terkoleksi dari urutan 0 sampai dengan N-1 maka algoritma pengurutan dengan metode selection sort adalah sebagai berikut :
·         Cari data terkecil dalam interval j = 0 sampai dengan j = N-1
·         Jika pada posisi pos ditemukan data yang terkecil, tukarkan data diposisi pos dengan data di posisi i jika k.
·         Ulangi langkah 1 dan 2 dengan j = j + i sampai dengan j = N-1, dan seterusnya sampai j = N - 1.
  Bila diketahui data awal berupa: 44 55 12 42 94 18 6 67, maka langkah per langkah pengurutan dengan metode selection sort adalah sebagai berikut:

  Kelebihan & kekurangan Selection Sort:
·         Kelebihan:
  1. Algoritma ini sangat rapat dan mudah untuk diimplementasikan.
  2. Operasi pertukarannya hanya dilakukan sekali saja.
  3. Waktu pengurutan dapat lebih ditekan.
  4. Mudah menggabungkannya kembali.
  5. Kompleksitas selection sort relatif lebih kecil.
·         Kekurangan:
  1. Sulit untuk membagi masalah.
CONTOH PROGRAM
#include<stdio.h>
int total,data[10];
void input(){
                printf("masukkan jumlah data=");
                scanf("%d",&total);
                for(int a=0; a<total; a++)
                {
                                printf("masukkan nilai pada index ke %d=",a+1);
                                scanf("%d",&data[a]);
                }
}
void sort(){
                int temp;
                for(int a=0; a<total; a++)
                {
                                for(int b=a+1; b<total; b++)
                                {
                                                if(data[a]>data[b])
                                                {
                                                                temp=data[b];
                                                                data[b]=data[a];
                                                                data[a]=temp;
                                                }
                                }
                }
}
void view(){
                for(int a=0; a<total; a++)
                {
                                printf("%d,",data[a]);
                }
                printf("\n");
}
int main(){
                input();
                printf("sebelum di-sorting\n");
                view();
                sort();
                printf("sesudah disorting\n");
                view();
}
Outputnya 

Tidak ada komentar:

Posting Komentar