Minggu, 07 Juni 2015

SORTING (Selection Sort dan Insertion Sort)

a. Selection Sort

Metode selection sort merupakan perbaikan dari metode bubble sort dengan mengurangi jumlah perbandingan. Selection sort merupakan metode pengurutan dengan mencari nilai data terkecil 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.

Contoh Program Selection Sort  :

#include <iostream.h>
#include <conio.h>
#include <stdio.h>
#include <iomanip.h>

void main()
{
int x[5];
int i;
int temp;
int minindex;
int j;

clrscr();
cout<<" >> SELAMAT DATANG di CONTOH PROGRAM SELECTION SORT <<" <<endl;
cout<<"=======================================================\n"<<endl;
cout<<"masukkan nilai x :\n";
for(i=0; i<5; i++)
{
cout<<"x["<<i<<"] = ";cin>>x[i];
cout<<"\n";
}
cout<<"Data sebelum di sort :";
for(i=0; i<5;i++)
{
cout<<setw(4)<<x[i];
}
for(i=0; i<5-1; i++) //perulangan iterasi
{
minindex=i;
for(j=i+1; j<5; j++) //perulangan membandingkan data
{
if(x[minindex]>x[j])
{
minindex=j;
}
}
temp=x[i];
x[i]=x[minindex];
x[minindex]=temp;
}
cout<<"\n\nData setelah di sort :";
for(i=0; i<5; i++)
{
cout<<setw(4)<<x[i];
}
getch();
}

Tampilan sederhana ketika program selection sort dijalankan :




b. Insertion Sort

Metode penyisipan (Insertion sort) yang bertujuan untuk menjadikan bagian sisi kiri array terurutkan sampai dengan seluruh array berhasil diurutkan. Metode ini mengurutkan bilangan-bilangan yang telah dibaca dan berikutnya secara berulang akan menyisipkan bilangan-bilangan dalam array yang belum terbaca ke sisi kiri array yang telah terurut.


Contoh program insertion sort:

#include <iostream.h>
#include <conio.h>

int data[10],data2[10];
int n;

void tukar(int a, int b)
{
    int t;
    t = data[b];
    data[b] = data[a];
    data[a] = t;
}
void insertion_sort()
{
    int temp,i,j;
    for(i=1;i<=n;i++)
    {
        temp = data[i];
        j = i -1;
        while(data[j]>temp && j>=0)
            {
                data[j+1] = data[j];
                j--;
            }
        data[j+1] = temp;
    }
}
void main()
{
    cout<<">> SELAMAT DATANG di PROGRAM INSERTION SORT <<"<<endl;
    cout<<"=============================================="<<endl;
    cout<<"\n"<<endl;
    cout<<"Masukkan Jumlah Data : ";    cin>>n;
    cout<<"\n"<<endl;
    for(int i=1;i<=n;i++)
    {
        cout<<"Masukkan data ke "<<i<<"   : ";    cin>>data[i];
        data2[i]=data[i];
    }
    insertion_sort();
    cout<<"Data Setelah di Sort : ";
    for(int i=1; i<=n; i++)
    {
        cout<<" "<<data[i];
    }
getch();
}

Tampilan sederhana ketika program insertion sort dijalankan :



DAFTAR PUSTAKA


  • Anonim. 2014. Insertion Sort. Diakses tanggal 05 Juni 2015 pada  http://arna.lecturer.pens.ac.id/Modul_ASD/8.1%20Insertion-Sort.pdf
  • Anonim. 2013. Algoritmaa Selection Sort. Diakses tanggal 05 Juni 2015 pada  http://www.sepertinya.com/algoritma-c-selection-sort-lengkap.html


THANKYOU!!!

Selamat Mencoba :)



Selain materi diatas terdapat juga beberapa materi struktur data, silahkan klik link di bawah ini :

http://tria-swandewi.blogspot.com/2015/06/searching-sequential-search-dan-binarry.html



Tidak ada komentar:

Posting Komentar