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++.
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++..
#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 source algoritma bubble sort di bahasa C++ setiap barisnya :
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:
Masukkan banyak elemen: 10
Masukkan nilai:
10
50
20
30
15
25
12
40
45
1
Hasil pengurutan sebagai berikut:
1 10 12 15 20 25 30 40 45 50
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:
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:)
View Comments
Keren, mudah dimengerti. sangat sesuai dengan apa yang saya cari. akhirnya data input di main() dapat tersimpan di function dan dapat dipanggil kembali dengan switch case.
Terima kasih atas sharing ilmunya