Assalamu'alaikum...
  
 
 
  
   
    Sorting (pengurutan)
   
   merupakan algoritma untuk melakukan pengurutan data berdasarkan kategori tertentu.
  
 
 Beberapa metode sorting antara lain adalah:
- Quick Sort
 - Shell Sort
 - Selection Sort
 - Insert Sort
 - Merge Sort
 
   Kali ini akan dibahas mengenai contoh program sorting data dengan Bubble Sort.
  
  
   Bubble Sort merupakan algoritma sorting data yang paling sederhana. Mari lihat gambaran dari algoritma ini.
  
  
       
        for
       
       i =
       
        0
       
       to n-
       
        1
       
       
        do
       
      
      
       
        for
       
       j = i+
       
        1
       
       to n
       
        do
       
      
      
       
        if
       
       
        data
       
       [i] >
       
        data
       
       [j] then
      
      
       temp =
       
        data
       
       [i]
      
      
       
        data
       
       [i]=
       
        data
       
       [j]
      
      
       
        data
       
       [j]=temp
      
      
       endif
      
      
       endfor
      
      
       endfor
      
      contohnya ada 5 data yang tersimpan dalam array dan cba perhatikan bagaimana algoritma ini bekerja.
  data[5] = {10,40,20,12,15};
 
 
  Langkah penyelesaian :
 
 - Langkah pertama membadingkan data[0] dengan data[1]. Jika data[0] lebih besar maka pindahkan nilai data[0] ke data[1] dan sebaliknya.
 - data[0] terus dibandingkan dengan data-data selanjutnya yaitu data[2],data[3] dan data[4] hingga data[0] terisi oleh nilai paling kecil.
 - Setelah data[0] selesai dibandingkan dengan semua data maka selanjutnya membandingkan data[1] dengan data[2], data[3], dan data[4] seperti proses sebelumnya hingga data[1] terisi oleh nilai terkecil kedua.
 - Begitu seterusnya hingga data menjadi terurut.
 
  Ilustrasi :
 
 
  
   Tahap 1
  
 
 
 
 
  
   Tahap 3
  
 
 
 
  Tahap 4
 
 
 
  
   Tahap 5
  
 
 
 
  Setelah memahami mengenai algoritma bubble sort selanjutnya coba perhatikan contoh program berikut ini :
 
 
    
     #include
    
    
     <iostream>
    
   
   
    
     using
    
    
     namespace
    
    
     std
    
    ;
   
   
    
     void
    
    
     bubbleSort
    
    (
    
     int
    
    
     data
    
    [],
    
     int
    
    
     n
    
    ){
   
   
    
     int
    
    temp;
   
   
    
     for
    
    (
    
     int
    
    i =
    
     0
    
    ; i < n-
    
     1
    
    ; i++)
   
   
    {
   
   
    
     for
    
    (
    
     int
    
    j = i+
    
     1
    
    ; j < n; j++)
   
   
    {
   
   
    
     if
    
    (
    
     data
    
    [i]>
    
     data
    
    [j])
   
   
    {
   
   
    temp =
    
     data
    
    [i];
   
   
    
     data
    
    [i]=
    
     data
    
    [j];
   
   
    
     data
    
    [j]=temp;
   
   
    }
   
   
    }
   
   
    }
   
   
    }
   
   
    
     int
    
    
     main
    
    (){
   
   
    
     int
    
    length;
   
   
    cout<<
    
     "Input jumlah elemen array : "
    
    ;
   
   
    
    
    cin>>length;
   
   
    
     int
    
    
     data
    
    [length];
   
   
    
     for
    
    (
    
     int
    
    i =
    
     0
    
    ; i < length; i++)
   
   
    {
   
   
    cout<<
    
     "Nilai elemen ke-"
    
    <<i<<
    
     " = "
    
    ;
   
   
    
    
    
    
    cin>>
    
     data
    
    [i];
   
   
    }cout<<endl;
   
   
    cout<<
    
     "Data belum terurut : "
    
    <<endl;
   
   
    
     for
    
    (
    
     int
    
    i =
    
     0
    
    ; i < length; i++)
   
   
    {
   
   
    cout<<
    
     data
    
    [i]<<
    
     " "
    
    ;
   
   
    }cout<<endl;
   
   
    
     bubbleSort
    
    (data,length);
   
   
    cout<<
    
     "Data sudah terurut : "
    
    <<endl;
   
   
    
     for
    
    (
    
     int
    
    i =
    
     0
    
    ; i < length; i++)
   
   
    {
   
   
    cout<<
    
     data
    
    [i]<<
    
     " "
    
    ;
   
   
    }cout<<endl;
   
   
    }
   
   
  
   Hasil output:
  
 
 
       
      | 
    
| Output bubble sort | 
  Nah bagaimana mudah dipahami bukan?
 
 
  Jika sobat punya studi kasus mengenai mengurutkan data didalam
  
   struct
  
  atau
  
   array string
  
  boleh komen dibawah ya, agar dapat dibahas pada postingan-postingan selanjutnya :)
 
 
  Semoga bermanfaat. Terimakasih