Pengertian Selection Sort serta Contoh Implementasinya kedalam koding

by 03.00 0 komentar
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

Simpan Gambar Aja

NIM: 140010297

Nama Dosen: IB KETUT SURYA ARNAWA, S.Kom.
Asisten : Steven Anthony

0 komentar:

Posting Komentar