Algoritma dan Contoh Program Selection Sort C++ Menaik dan Menurun

Program metode selection sort c++ ini merupakan kombinasi antara sorting dan searching. Jadi setiap proses akan dicari elemen-elemen yang belum diurutkan yang memiliki nilai terkecil atau terbesar akan dipertukarkan ke posisi yang tepat di dalam array. Begitulah pengertian singkat dari program sorting metode selection setelah memahami pengertiannya maka langsung loncat ke algoritmanya dibawah.

Algoritma Selection Sort C++ :


Program selection sort c++ ini berfungsi untuk mengurutkan data dengan menggunakan metode tersebut. Pada awalnya select sort ini dibuat sebagai fungsi void SelectionSort (int Array[], const int Size) yang digunakan untuk proses pengurutan data.

Masuk fungsi main, deklarasikan variabel
int NumList[8] = {12,34,32,25,75,42,22,10};

Tampilkan judul dan data sebelum diurutkan. Kemudian panggil fungsi SelectionSort(NumList, 8);untuk mengurutkan data.

for(int iii = 0; iii<8; iii++)
   cout<<setw(3)<<NumList[iii]<<endl<<endl;

Setelah data diurutkan, kemudian tampilkan data yang sudah diurutkan dengan menggunakan syntax di atas.

Penjelasan syntax yang berada di dalam fungsi void SelectionSort(int Array[], const int Size) :

int i, j, kecil,temp;
for(i=0; i<Size;i++) //size = 8
{
   kecil = i;
   for(j=i+1; j<Size; j++ )
   {
               if (Array[kecil]>Array[j])
               {
                           kecil = j;
               }
   }

   temp = Array[i];

   Array[i] = Array[kecil];

   Array[kecil] = temp;

}

        Misalkan, untuk i = 0

for(i = 0; i < 8; i++)
{
   kecil = 0;
   for(j = i+1; j<8;j++)
   {
       if(array[0]>array[1])…(X)

       Increment j dan ulang!

       if(array[0]>array[2])…(X)

       Increment j dan ulang!

       if(array[0]>array[3])…(X)

       Increment j dan ulang!

       if(array[0]>array[4])…(X)

       Increment j dan ulang!

       if(array[0]>array[5])…(X)

       Increment j dan ulang!

       if(array[0]>array[6])…(X)

       Increment j dan ulang!

       if(array[0]>array[7]) //kondisi sesuai
       {
               kecil = 7;
       }
   }
   //pertukaran nilai

   temp = 12;
   array[0] = 10 ;
   array[7] = 12;
}

Urutan menjadi 10,34,32,25,75,42,22,12. Untuk proses pengurutan akan diulang terus sampai data benar-benar urut.

Begitulah cara kerja Selection sort, yaitu dengan menyeleksi data dan menukarkan data pada tempat yang seharusnya. mengurutkan dengan membandingkan elemen yang sekarang dengan elemen yang berikutnya sampai dengan elemen yang terakhir.

Contoh Program Selection Sort C++ 

#include <iostream>
#include <conio.h>
#include <stdio.h>
using namespace std;

int main() {

system ("color a");
cout<<"==================================================================="<<endl;
cout<<"\n\t\tPENYUSUN"<<endl;
cout<<"\n=  NAMA\t : AHMAD MAULANA\t\t "<<endl;
cout<<"=  NAMA\t : RENDIE CAHYA SUKESTA\t\t "<<endl;
    cout<<"=  NAMA\t : NASIRUDIN AHMAD\t\t "<<endl;
    cout<<"=  NAMA\t : MUHAMMAD ELANG HARDIFAL\t "<<endl;
    cout<<"=  NAMA\t : FATAHILLAH PERMADI PRATAMA\t "<<endl;
    cout<<"=  JURUSAN\t : TEKNIK INFORMATIKA"<<endl;
    cout<<"=  KELAS\t : 03 TPLE 027"<<endl;
    cout<<"\n==================================================================="<<endl;
int i, j, iMin;
int n, Urut;
int Tmp, code;
int Arr[100];
do {

printf("=====================================\n");
printf("| Pilihan Program Sorting |\n");
printf("=====================================\n");
printf("| 1. Selection Sorting (Menaik) |\n");
printf("| 2. Selection Sorting (Menurun) |\n");
printf("| 3. Keluar . . . |\n");
printf("=====================================\n\n");
printf("Masukan Pilihan Anda : ");
scanf("%d", &code);
switch (code) {

case 1 :
printf("\nInputkan banyak data yang akan diurutkan : ");
scanf("%i", &n);
Urut = 1;
for(i = 0; i < n; i++) {
printf("Masukan data ke %i : ", i + 1);
scanf("%i", &Arr[i]);
}
for(i = 0; i < n - 1; i++) {
iMin = i;
for(j = Urut; j < n; j++) {
if(Arr[j] < Arr[iMin]) {
iMin = j;
if(Arr[i] != Arr[iMin]) {
Tmp = Arr[i];
if(Arr[i] > Arr[iMin]) {
Arr[i] = Arr[iMin];
Arr[iMin] = Tmp;
}
}
}
}
Urut = Urut + 1;
}
printf("\nSetelah Pengurutan\n");
for(i = 0; i < n; i++) {
printf("Elemen ke %i : %i\n", i + 1, Arr[i]);
}
getch();
break;


case 2 :
printf("\nInputkan banyak data yang akan diurutkan : ");
scanf("%i", &n);
Urut = 1;
for(i = 0; i < n; i++) {
printf("Masukan data ke %i : ", i + 1);
scanf("%i", &Arr[i]);
}
for(i = 0; i < n - 1; i++) {
iMin = i;
for(j = Urut; j < n; j++) {
if(Arr[j] > Arr[iMin]) {
iMin = j;
if(Arr[i] != Arr[iMin]) {
Tmp = Arr[i];
if(Arr[i] < Arr[iMin]) {
Arr[i] = Arr[iMin];
Arr[iMin] = Tmp;
}
}
}
}
Urut = Urut + 1;
}
printf("\nSetelah Pengurutan\n");
for(i = 0; i < n; i++) {
printf("Elemen ke %i : %i\n", i + 1, Arr[i]);
}
getch();
break;


default : {
printf("\nSilahkan Tekan Enter Untuk Keluar . . . "); }}

} while(code >=1 && code <= 2);
getch();
}

Output Program Selection Sort C++:

Algoritma Program Sorting Metode Selection Sort C++ Pengertian dan Contohnya

No comments for "Algoritma dan Contoh Program Selection Sort C++ Menaik dan Menurun"