Advertisement here

Cara Membuat Program Bubble Sort, Insertion sort Dan Selection Sort Menggunakan C++ (DEV)

Hy Semua bertemu lagi dengan Diah. Diah harap kalian semua baik baik saja. nah kali ini Diah akan membuat codingan pengurutan dengan algoritma Bubble Sort, Insertion Sort & Selection Sort...
berikut ini Diah Akan share pengertian masing-masing dan gabungan coding dari ketiganya..


Macam Macam Sort

1. Bubble Sort
Metode/algoritma pengurutan dengan dengan cara mengambil 2 data dan melakukan penukaran data dengan tepat disebelahnya secara terus menerus sampai bisa dipastikan dalam satu iterasi tertentu tidak ada lagi perubahan. Jika tidak ada perubahan berarti data sudah terurut.



2. Insertion sort
Data dicek satu per satu mulai dari yang kedua sampai dengan yang terakhir. Apabila ditemukan data yang lebih kecil daripada data sebelumnya, maka data tersebut disisipkan pada posisi yang sesuai. Akan lebih mudah apabila membayangkan pengurutan kartu. Pertama-tama anda meletakkan kartu-kartu tersebut di atas meja, kemudian melihatnya dari kiri ke kanan. Apabila kartu di sebelah kanan lebih kecil daripada kartu di sebelahkiri, maka ambil kartu tersebut dan sisipkan di tempat yang sesuai.


3. Selection Sort
Mencari elemen yang tepat untuk diletakkan di posisi yang telah diketahui, dan meletakkannya di posisi tersebut setelah data tersebut ditemukan, Selection Sort Membandingkan elemen yang sekarang dengan elemen yang berikutnya sampai dengan elemen yang terakhir. Jika ditemukan elemen lain yang lebih kecil dari elemen sekarang maka dicatat posisinya dan kemudian ditukar.




#include<time.h>
#include<iostream>
#include<conio.h>
#include<windows.h>
using namespace std;
int main() {
 int pil;
cout<< "Nama   :<<endl;
cout<< "Nim     :<<endl;
cout<< "Kelas   :<<endl;
cout<<"  "<<endl;
cout << "<============== Program Sorting (Bubble, Insertion, Selection) ===============>"<<endl<<endl;
cout << "1. Bubble sort" <<endl;
cout << "2. Insertion sort" <<endl;
cout << "3. Selection sort" <<endl<<endl;
cout << "<======================================>"<<endl<<endl;
cout << "Masukan pilihan anda = "; cin >> pil;
switch(pil) {


 ////////////////////////////////////

 ////  Buble start /////////////

 ////////////////////////



 case 1:
 system("cls");
 cout << endl;
 cout << "Bubble sort"<<endl;
 cout << "=============="<<endl;
 int t1,t2;
    int hold;
 int array[5];
 cout<<"Masukan 5 angka :"<<endl;
 for(int i=0; i<5; i++) {
  cout << "  angka ke " <<i+1 <<" = ";cin>>array[i];
 }
 cout<<endl;
 cout<<endl;
 t1=GetTickCount();
 cout<<"Sebelum di sortir = ";
 for(int j=0; j<5; j++) {
 cout<<array[j];
 cout<<"  ";
 }
cout<<endl;
 cout <<endl<< "Urutan program"<<endl;
 for(int i=0; i<4; i++) {
  for(int j=0; j<4; j++) {
   if(array[j]<array[j+1]) {
    hold=array[j];
    array[j]=array[j+1];
    array[j+1]=hold;
    for(int i=0; i<5; i++) {
  cout<<array[i]<<"  ";
  }
  cout<<endl;
   }
  }
 }
cout<<endl;
 cout<<"Setelah di sortir = ";
 for(int i=0; i<5; i++) {
  cout<<array[i]<<"  ";
 }
    cout<<endl;
 t2=GetTickCount();
 cout << endl <<"Lama proses = " << (int)(t2 - t1) << " ms";
 cout<<endl;
 break;

//////////////////////////////////////////////////////////

///////    Insertion start               /////////

////////////////////////////////////////////////

 case 2:
 system("cls");
 cout << "Insertion sort";
 cout <<endl<<"============="<<endl;
 cout<<endl;
 int t3,t4;
 int Key;
 int array1[5];
 cout<<"Masukan 5 angka : "<<endl;
for(int i=0; i<5; i++)  {
 cout << "  angka ke " <<i+1 <<" = ";cin>>array1[i];
}
cout<<endl;
t3=GetTickCount();
cout<<"Angka sebelum di sortir = ";
for(int j=0; j<5; j++) {
 cout<<array1[j]<<"  ";
}
cout<<endl;
cout<<endl<< "Data proses "<<endl;
for(int j=1 ; j < 5 ; j++) {
 Key = array1[j];           
 int i = j-1;               
 while(i >= 0 && array1[i] < Key) {
  array1[i + 1] = array1[i];
  i = i - 1;
 }
 array1[i + 1] = Key;
 for(int l=0; l<5; l++) {
  cout<<array1[l]<<"  ";
 }
 cout<<endl;
}
cout<<endl<<"Angka setelah disortir = ";
for(int i=0; i<5; i++) {
 cout<<array1[i]<<"  ";
}
t4=GetTickCount();
cout << endl<<endl <<"Lama proses = " << (int)(t4 - t3) << " ms";
 cout<<endl;


 break;

////////////////////////////////////////////////////////

//////////////   Selection start /////////////////////

/////////////////////////////////////


 case 3:
 system("cls");
 cout << "Selection sort";
 cout <<endl<< "================="<<endl<<endl;
 int t5,t6;
 int arr[5];
int mini,temp;


cout<<"masukan 5 angka ="<<endl;


for(int i=0; i<5; i++) {
 cout << "  angka ke " <<i+1 <<" = ";cin>>arr[i];
}

t5=GetTickCount();
cout<<endl;
cout<<"Angka sebelum di sortir = ";

for(int j=0; j<5; j++) {
 cout<<arr[j]<<"  ";
}

for(int r1=0;r1<4;r1++) {
 mini=r1;
 for(int r2=r1+1; r2<5; r2++)
   if(arr[r2]>arr[mini])
   mini=r2;
    if(mini !=r1) {
     temp=arr[r1];
     arr[r1]=arr[mini];
     arr[mini]=temp;
    }
}
cout<<endl;
cout<<endl;
cout<<"Setelah di sortir = ";
for(int q=0; q<5; q++) {
 cout<<arr[q]<< "  " ;
}
t6=GetTickCount();
cout << endl<<endl <<"Lama proses = " << (int)(t6 - t5) << " ms";
 cout<<endl;
 break;

//////////////////////////////////////////

//////           PILIHAN TIDAK ADA   /////////

//////////////////////////////////////////

 default:
 system("cls");
 cout << "Pilihan tidak ada";
 break;

 getch();
}

Hasil :






jika ada salah-salah Dea minta maaf, Dea juga masih belajar dan disini Dea cuma menyalurkan apa yang Dea dapet selama masa belajar.. sekalian share siapa tau bisa membantu menyelesaikan apa yang jadi persoalan temen-temen...

Next Post Previous Post
Advertisement here
Advertisement here
Advertisement here
Advertisement here