Sorting #1 - Metode Bubble Sort - nblognlife

Sorting #1 - Metode Bubble Sort

Contoh Program Sorting - Metode Bubble Sort C++

     Sorting/pengurutan menggunakan metode Bubble SortBubble Sort mengurutkan data dengan cara membandingkan elemen sekarang dengan elemen berikutnya.

Berikut ini program Bubble Sort menggunakan C++: 
/***Pengurutan dengan bubble sort***/
#include <iostream>
using namespace std;
#include <iomanip>
#include <conio.h>

//pendeklarasian variabel
int Numlist[8] = {5, 34, 32, 25,75,42,22,2};

//fungsi utama
int main()
{
      //deklarasi variabel
      int temp;
      //cetak data sebelum diurutkan
      cout<<"============================="<<endl;
      cout<<"PENGURUTAN DENGAN BUBBLE SORT"<<endl;
      cout<<"============================="<<endl;
      cout<<"Data Sebelum diurutkan : \n";
      for(int d = 0; d<8; d++)
      {
            cout<<setw(3)<<Numlist[d];
      }
      cout<<"\n\n";
     
      //proses pengurutan
      for(int i=0; i<7; i++)
            for(int ii=0; ii<7; ii++)
                  if(Numlist[ii] >= Numlist[ii+1])
                  {
                        temp = Numlist[ii];
                        Numlist[ii] = Numlist[ii +1];
                        Numlist[ii+1] = temp;
                  }
     
      //cetak data setelah diurutkan
      cout<<"Data setelah diurutkan : \n";
      for(int iii= 1; iii<8; iii++)
            cout<<setw(3)<<Numlist[iii]<<endl<<endl;
     
      _getch();
      return EXIT_SUCCESS;
}

Algoritma & Penjelasan :
·         Program ini merupakan Program untuk mengurutkan data secara “Bubble Sort”. 
·         int Numlist[8] = {5, 34, 32, 25,75,42,22,2};
Pada awalnya dideklarasikan vaiabel bertipe array yang memiliki 8 buah elemen.
·         Kemudian masuk fungsi main, deklarasikan variabel “int temp”, lalu tampilkan data sebelum diurutkan.
·         Lalu Urutkan data dengan menggunakan syntax :
//proses pengurutan
for(int i=0; i<7; i++)
   for(int ii=0; ii<7; ii++)
          if(Numlist[ii] >= Numlist[ii+1])
          {
                      temp = Numlist[ii];
                      Numlist[ii] = Numlist[ii +1];
                      Numlist[ii+1] = temp;
          }


-          Untuk i = 0
Untuk ii = 2
if (numlist[2] > = Numlist[3]) à if(32>=25)
{
   //tukarkan nilai
   temp          =  32;
   Numlist[2] =  25;
   Numlist[3] = 32;
}
Sekarang Numlist[2] dan Numlist[3] telah dipertukarkan. Dengan mengabaikan indek Numlist yang lain dapat dikatakan antara Numlist[2] dan Numlist[3] sudah urut .
Setelah proses ini selesai maka nilai ii akan diincrement untuk melakukan pengecekan pada elemen selanjutnya. Namun setelah pengulangan pada for(ii)  data tidak bisa  urut langsung, harus dilakukan pengecekan mulai elemen pertama lagi dengan memanfaatkan bantuan dari pengulangan for (i) . Pengecekan dilakukan terus sampai data benar-benar urut.
Inilah alasan kenapa bubble sort merupakan sorting yang memakan waktu yang lebih lama dibandingkan metode sorting lain.
·         for(int iii= 1; iii<8; iii++)
               cout<<setw(3)<<Numlist[iii]<<endl<<endl;
Setelah itu, jika data sudah benar-benar urut maka data ditampilkan pada layar dengan memanfaatkan syntax di atas.

Output
=============================
PENGURUTAN DENGAN BUBBLE SORT
=============================
Data Sebelum diurutkan :
     5 34 32 25 75 42 22 2

Data setelah diurutkan :
5

22

25

32

34

42

75

Macam-macam Algoritma Sorting bisa dilihat di sini -> Algoritma Sorting   
Baca juga : 
Sorting #2 - Metode Selection Sort
Sorting #3 - Metode Insertion Sort

[RS]

Klik Like & Share jika postingan ini bermanfaat
Apa tanggapan Anda?

Berikan tanggapan Anda melalui kolom komentar yang telah disediakan.
- Gunakan bahasa yang sopan;
- Saat menjadikan postingan pada blog ini sebagai referensi, jangan lupa mencantumkan sumbernya (link dari blog ini).

Jika blog ini bermanfaat jangan lupa memberikan 'like' atau 'share' untuk mendapatkan update terbaru.

Terima kasih