Pengertian Selection Sort serta Contoh Implementasinya kedalam koding

Selection sort adalah suatu metode pengurutan yang membandingkan elemen yang sekarang dengan elemen berikut sampai ke elemen yang terakhir. Jika ditemukan elemen lain yang lebih kecil dari elemen sekarang maka dicatat posisinya dan langsung ditukar.
Misalkan ada data-data sebagai berikut :
5
34
32
1
Daftar bilangan diatas masih belum urut dari kecil ke besar. Kita ingin melakukan pengurutan dari yang terkecil sampai yang terbesar dari 3 data tersebut.
Langkah pertama , membandingkan satu persatu sampai dengan yang terkakhir. Langkah-langkahnya sebagai berikut :
Langkah pertama :
Pembanding                            Posisi
5<34                                        1
5<32                                        1
5<1                                          4
Tukar data pada posisi 1 dengan data posisi 4
Hasil sementara : 1, 34,32,5
Langkah Kedua :
Pembanding                            Posisi
34>32                                      3
32<5                                        4
Tukar data pada posisi 2 dengan data posisi 4
Hasil akhir : 1, 5, 32, 34
Proses pengurutan data di atas memerlukan 2 kali perulangan.
Contoh Implementasi kodingnya:

---------------------------------------------------------------------------------------------------------------

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

using namespace std;

int data[100];
int n;

void tukar(int a, int b)
{
    int t;
   t=data[b];
   data[b]=data[a];
   data[a]=t;
}

int main()
{
    //Pendeklarasian variabel
    int i,j,temp;

    cout<<"Menetukan Jumlah Indeks Array Maksimal 100"<<endl;
    cout<<"=========================================="<<endl;
    cout<<"Masukan Jumlah Data Array: ";
    cin>>n;
    cout<<endl;

    cout<<"Menginputkan Nilai Kedalam Indeks Array"<<endl;
    cout<<"======================================="<<endl;
    for(i=0;i<n;i++)
    {
        cout<<"Masukan Nilai Untuk Indeks ke- "<<i<<" : ";
        cin>>data[i];
    }
    cout<<endl;

    cout<<"Menampilkan Nilai Array Sebelum Di Urutkan"<<endl;
    cout<<"=========================================="<<endl;
    for(i=0;i<n;i++)
    {
        cout<<"Indeks ke-"<<i<<" : "<<data[i]<<endl;
    }
    cout<<endl;
    cout<<"Menampilkan Nilai Setelah Di Urutkan!!"<<endl;
    cout<<"======================================"<<endl;

   for(i=0;i<n-1;i++)
   {
       temp=i;
      for(j=i+1;j<n;j++)
      {
          if(data[j]<data[temp])temp=j;
      }
      if(temp!=i)
      {
          tukar(temp,i);
      }
   }
   for(int i=0;i<n;i++)
   {
       cout<<"Indeks ke-"<<i<<" : "<<data[i]<<endl;
   }
 getch();
 return 0;
}

---------------------------------------------------------------------------------------------------------------

 Jika Di Compile maka akan tampak seperti gambar di bawah ini:
Sumber  : Buku Konsep dan Implementasi Struktur Data dengan C++
Oleh      : Lamhot Sitorus dan David J.M Sembiring
Penerbit : Andi
 
terimakasih

Komentar

Posting Komentar

Postingan populer dari blog ini

Pengertian Quick Sort beserta coding dalam c++

Pengertian Buble Sort beserta coding dalam c++