Program Algoritma Bubble Sort Bahasa C++

Program Algoritma Bubble Sort Bahasa C++ – Hallo sobat kopi coding, pada postingan kali ini kita akan mempelajari cara membuat program algoritma bubble sort di bahasa pemograman C++.

Program Algoritma Bubble Sort Bahasa C++

Bubble Sort adalah salah satu algoritma pengurutan dimana melakukan penukaran data dengan sebelahnya secara berulang-ulang sampai semua terurut dengan benar. Untuk mengetahui proses pengurutan ada dibagian kesimpulan.

Pada contoh bubble sort kali ini kita mencoba untuk mengurutkan 10 bilangan yang secara acak, dengan angka yang akan diurutkan sebagai berikut: 10, 50, 20, 30, 15, 25, 12, 40, 45, 1.

Langsung aja yuk kita lihat source code algoritma bubble sort di bahasa C++..

Program Algoritma Bubble Sort Bahasa C++

Source Code :

#include <iostream>

using namespace std;

void bubbleSort(int arr[], int n){
  int i, j, tmp;
  for (i = 0; i < n; i++){
    for (j = 0; j < n - i - 1; j++){
      if (arr[j] > arr[j + 1]){
        tmp = arr[j];
        arr[j] = arr[j + 1];
        arr[j + 1] = tmp;
      }
    }
  }
}

int main(){
  int array[100], n, i, j;
  cout << "Masukkan banyak elemen: ";
  cin >> n;
  cout << "Masukkan nilai: \n";
  for (i = 0; i < n; i++){
    cin >> array[i];
  }
  bubbleSort(array, n);
  cout << "Hasil pengurutan sebagai berikut:\n";
  for (i = 0; i < n; i++){
    cout << array[i] << " ";
  }
  cout << "\n";
}

 

Simpan source code dengan nama file bubblesort.cpp, tetapi sesuaikan aja dengan nama file yang dinginkan dan jangan lupa harus berektensi .cpp

Penjelasan :

Penjelasan source algoritma bubble sort di bahasa C++ setiap barisnya :

  • baris 5 : mendeklarasikan fungsi void bubbleSort dengan menerima inputan arr dan n yang bertipe integer.
  • baris 6 : mendeklarasikan variable i dan j untuk perulangan dan tmp untuk variable penukaran sementara.
  • baris 7-8 : melakukakan perulangan sebanyak n dan perulangan sebanyak nilai variable n dikurang i dan dikurang satu.
  • baris 9-13 : cek kondisi jika nilai variable arr pada index ke j lebih besar dari nilai varible arr pada index ke j+1 maka melakukan penukaran nilai variable
  • baris 19 : mendeklarasi variable array, n, i dan j bertipe integer.
  • baris 20-21 : melakukan input nilai dari user untuk variable n yang digunakan sebagai jumlah data.
  • baris 22-25 : melakukan input nilai dari user untuk variable array dari setiap data.
  • baris 26 : memanggil fungsi bubbleSort dengan memasukkan variable array dan n.
  • baris 27-31 : menampilkan hasil pengurutan bubbleSort.

Compile & Run :

Untuk cara melakukan compile dan run source codenya sebagai berikut:

$ g++ -o bubblesort bubblesort.cpp
$ ./bubblesort

berikut hasil screenshot dari compile dan run source codenya:

Gambar Program Algoritma Bubble Sort di Bahasa C++
Gambar Program Algoritma Bubble Sort di Bahasa C++

Contoh Inputan

Masukkan banyak elemen: 10
Masukkan nilai:
10
50
20
30
15
25
12
40
45
1

Contoh Keluaran :

Hasil pengurutan sebagai berikut:
1 10 12 15 20 25 30 40 45 50

Kesimpulan :

Dari hasil program, source code algoritma bubble sort tersebut berhasil dapat dijalankan tanpa ada error dan menampilkan hasil pengurutan yang sesuai. berikut ada langkah-langkah proses pengurutan yang dilakukan program:

Proses sorting array [10, 50, 20, 30, 15, 25, 12, 40, 45, 1]

Putaran ke 1 : [10 50 20 30 15 25 12 40 45 1]
Proses ke 1 [10 50 20 30 15 25 12 40 45 1]
Proses ke 2 [10 20 50 30 15 25 12 40 45 1]
Proses ke 3 [10 20 30 50 15 25 12 40 45 1]
Proses ke 4 [10 20 30 15 50 25 12 40 45 1]
Proses ke 5 [10 20 30 15 25 50 12 40 45 1]
Proses ke 6 [10 20 30 15 25 12 50 40 45 1]
Proses ke 7 [10 20 30 15 25 12 40 50 45 1]
Proses ke 8 [10 20 30 15 25 12 40 45 50 1]
Proses ke 9 [10 20 30 15 25 12 40 45 1 50]

Putaran ke 2 : [10 20 30 15 25 12 40 45 1 50]
Proses ke 1 [10 20 30 15 25 12 40 45 1 50]
Proses ke 2 [10 20 30 15 25 12 40 45 1 50]
Proses ke 3 [10 20 15 30 25 12 40 45 1 50]
Proses ke 4 [10 20 15 25 30 12 40 45 1 50]
Proses ke 5 [10 20 15 25 12 30 40 45 1 50]
Proses ke 6 [10 20 15 25 12 30 40 45 1 50]
Proses ke 7 [10 20 15 25 12 30 40 45 1 50]
Proses ke 8 [10 20 15 25 12 30 40 1 45 50]
Proses ke 9 [10 20 15 25 12 30 40 1 45 50]

Putaran ke 3 : [10 20 15 25 12 30 40 1 45 50]
Proses ke 1 [10 20 15 25 12 30 40 1 45 50]
Proses ke 2 [10 15 20 25 12 30 40 1 45 50]
Proses ke 3 [10 15 20 25 12 30 40 1 45 50]
Proses ke 4 [10 15 20 12 25 30 40 1 45 50]
Proses ke 5 [10 15 20 12 25 30 40 1 45 50]
Proses ke 6 [10 15 20 12 25 30 40 1 45 50]
Proses ke 7 [10 15 20 12 25 30 1 40 45 50]
Proses ke 8 [10 15 20 12 25 30 1 40 45 50]
Proses ke 9 [10 15 20 12 25 30 1 40 45 50]


Putaran ke 4 : [10 15 20 12 25 30 1 40 45 50]
Proses ke 1 [10 15 20 12 25 30 1 40 45 50]
Proses ke 2 [10 15 20 12 25 30 1 40 45 50]
Proses ke 3 [10 15 12 20 25 30 1 40 45 50]
Proses ke 4 [10 15 12 20 25 30 1 40 45 50]
Proses ke 5 [10 15 12 20 25 30 1 40 45 50]
Proses ke 6 [10 15 12 20 25 1 30 40 45 50]
Proses ke 7 [10 15 12 20 25 1 30 40 45 50]
Proses ke 8 [10 15 12 20 25 1 30 40 45 50]
Proses ke 9 [10 15 12 20 25 1 30 40 45 50]


Putaran ke 5 : [10 15 12 20 25 1 30 40 45 50]
Proses ke 1 [10 15 12 20 25 1 30 40 45 50]
Proses ke 2 [10 12 15 20 25 1 30 40 45 50]
Proses ke 3 [10 12 15 20 25 1 30 40 45 50]
Proses ke 4 [10 12 15 20 25 1 30 40 45 50]
Proses ke 5 [10 12 15 20 1 25 30 40 45 50]
Proses ke 6 [10 12 15 20 1 25 30 40 45 50]
Proses ke 7 [10 12 15 20 1 25 30 40 45 50]
Proses ke 8 [10 12 15 20 1 25 30 40 45 50]
Proses ke 9 [10 12 15 20 1 25 30 40 45 50]


Putaran ke 6 : [10 12 15 20 1 25 30 40 45 50]
Proses ke 1 [10 12 15 20 1 25 30 40 45 50]
Proses ke 2 [10 12 15 20 1 25 30 40 45 50]
Proses ke 3 [10 12 15 20 1 25 30 40 45 50]
Proses ke 4 [10 12 15 1 20 25 30 40 45 50]
Proses ke 5 [10 12 15 1 20 25 30 40 45 50]
Proses ke 6 [10 12 15 1 20 25 30 40 45 50]
Proses ke 7 [10 12 15 1 20 25 30 40 45 50]
Proses ke 8 [10 12 15 1 20 25 30 40 45 50]
Proses ke 9 [10 12 15 1 20 25 30 40 45 50]


Putaran ke 7 : [10 12 15 1 20 25 30 40 45 50]
Proses ke 1 [10 12 15 1 20 25 30 40 45 50]
Proses ke 2 [10 12 15 1 20 25 30 40 45 50]
Proses ke 3 [10 12 1 15 20 25 30 40 45 50]
Proses ke 4 [10 12 1 15 20 25 30 40 45 50]
Proses ke 5 [10 12 1 15 20 25 30 40 45 50]
Proses ke 6 [10 12 1 15 20 25 30 40 45 50]
Proses ke 7 [10 12 1 15 20 25 30 40 45 50]
Proses ke 8 [10 12 1 15 20 25 30 40 45 50]
Proses ke 9 [10 12 1 15 20 25 30 40 45 50]


Putaran ke 8 : [10 12 1 15 20 25 30 40 45 50]
Proses ke 1 [10 12 1 15 20 25 30 40 45 50]
Proses ke 2 [10 1 12 15 20 25 30 40 45 50]
Proses ke 3 [10 1 12 15 20 25 30 40 45 50]
Proses ke 4 [10 1 12 15 20 25 30 40 45 50]
Proses ke 5 [10 1 12 15 20 25 30 40 45 50]
Proses ke 6 [10 1 12 15 20 25 30 40 45 50]
Proses ke 7 [10 1 12 15 20 25 30 40 45 50]
Proses ke 8 [10 1 12 15 20 25 30 40 45 50]
Proses ke 9 [10 1 12 15 20 25 30 40 45 50]


Putaran ke 9 : [10 1 12 15 20 25 30 40 45 50]
Proses ke 1 [1 10 12 15 20 25 30 40 45 50]
Proses ke 2 [1 10 12 15 20 25 30 40 45 50]
Proses ke 3 [1 10 12 15 20 25 30 40 45 50]
Proses ke 4 [1 10 12 15 20 25 30 40 45 50]
Proses ke 5 [1 10 12 15 20 25 30 40 45 50]
Proses ke 6 [1 10 12 15 20 25 30 40 45 50]
Proses ke 7 [1 10 12 15 20 25 30 40 45 50]
Proses ke 8 [1 10 12 15 20 25 30 40 45 50]
Proses ke 9 [1 10 12 15 20 25 30 40 45 50]


Putaran ke 10 : [1 10 12 15 20 25 30 40 45 50]
Proses ke 1 [1 10 12 15 20 25 30 40 45 50]
Proses ke 2 [1 10 12 15 20 25 30 40 45 50]
Proses ke 3 [1 10 12 15 20 25 30 40 45 50]
Proses ke 4 [1 10 12 15 20 25 30 40 45 50]
Proses ke 5 [1 10 12 15 20 25 30 40 45 50]
Proses ke 6 [1 10 12 15 20 25 30 40 45 50]
Proses ke 7 [1 10 12 15 20 25 30 40 45 50]
Proses ke 8 [1 10 12 15 20 25 30 40 45 50]
Proses ke 9 [1 10 12 15 20 25 30 40 45 50]

Dari analisis proses pengurutan diatas terdapat 10 kali putaran dan setiap putaran memiliki 9 proses. Pada saat putaran ke 9 sudah selesai tetapi tetap melakukan putaran sampai ke 10 karena ini yang menjadikan kelemahan algoritma bubble sort yang masih kurang effisien.

Sekian tutorial cara membuat program algoritma bubble sort di bahasa pemograman C++, semoga bermanfaat.

Happy Coding:)

Share Post:
One Comment

Add a Comment

Your email address will not be published. Required fields are marked *