Memahami dan Menulis Pseudocode Algoritma Bubble Sort di C++ dan Python
Bubble sort adalah algoritma pengurutan yang paling sederhana dan mudah dipahami. Algoritma ini bekerja dengan cara membandingkan dua elemen bersebrangan dan menukar posisinya jika elemen pertama lebih besar dari elemen kedua.
Proses ini berulang hingga seluruh elemen terurut dengan benar. Dalam tutorial ini, kita akan membahas bagaimana menulis pseudocode bubble sort di dua bahasa pemrograman populer, yaitu C++ dan Python.
Apa itu Algoritma Bubble Sort?
Algoritma Bubble Sort adalah salah satu metode sorting yang paling sederhana dan mudah dipahami. Metode ini berfungsi untuk mengurutkan suatu data dalam urutan tertentu, baik dalam urutan ascending maupun descending. Dalam pemrograman, algoritma ini sering digunakan sebagai salah satu cara untuk menyelesaikan masalah sorting.
Cara Kerja Algoritma Bubble Sort
Algoritma Bubble Sort bekerja dengan cara membandingkan setiap elemen satu per satu, kemudian menukar posisi elemen tersebut apabila diperlukan. Proses ini dilakukan berulang-ulang hingga elemen-elemen terurut dengan benar.
Berikut adalah pseudocode bubble sort
FOR (int i = 0; i < n-1; i++)
FOR (int j = 0; j < n-i-1; j++)
SWAP (arr[j] > arr[j+1])
SWAP (arr[j], arr[j+1])
Pseudocode ini memiliki dua loop for. Loop pertama i berguna untuk mengulangi proses pengurutan sebanyak n-1 kali, di mana n adalah jumlah elemen dalam array. Loop kedua j berguna untuk membandingkan setiap elemen bersebrangan dan menukar posisinya jika perlu. Proses tukar posisi dilakukan dengan memanggil fungsi swap.
Berikut adalah implementasi dari pseudocode di atas dalam bahasa C++:
#include <iostream>
using namespace std;
void bubbleSort(int arr[], int n)
{
for (int i = 0; i < n-1; i++)
{
for (int j = 0; j < n-i-1; j++)
{
if (arr[j] > arr[j+1])
{
swap(arr[j], arr[j+1]);
}
}
}
}
int main()
{
int arr[] = {64, 34, 25, 12, 22, 11, 90};
int n = sizeof(arr)/sizeof(arr[0]);
bubbleSort(arr, n);
cout << "Array setelah diurutkan: \n";
for (int i=0; i < n; i++)
cout << arr[i] << " ";
return 0;
}
Bubble Sort di Python
Berikut adalah pseudocode bubble sort di Python:
Untuk i dalam rentang(0, n-1):
Untuk j dalam rentang(0, n-i-1):
Jika list[j] > list[j+1]:
list[j], list[j+1] = list[j+1], list[j]
Pseudocode ini memiliki dua loop for. Loop pertama i berguna untuk mengulangi proses pengurutan sebanyak n-1 kali, di mana n adalah jumlah elemen dalam list. Loop kedua j berguna untuk membandingkan setiap elemen bersebrangan dan menukar posisinya jika perlu. Proses tukar posisi dilakukan dengan menggunakan tuple unpacking.
Berikut adalah implementasi dari pseudocode di atas dalam bahasa Python:
def bubbleSort(list):
n = len(list)
for i in range(n):
for j in range(0, n-i-1):
if list[j] > list[j+1]:
list[j], list[j+1] = list[j+1], list[j]
list = [64, 34, 25, 12, 22, 11, 90]
bubbleSort(list)
print("Array setelah diurutkan:")
for i in range(len(list)):
print("%d" %list[i]),
Perbandingan Implementasi Bubble Sort di Python dan C++ Pada dasarnya, implementasi Algoritma Bubble Sort tidak jauh berbeda antara bahasa pemrograman Python dan C++. Hanya saja, terdapat perbedaan dalam sintaks dan penulisan.
Kelebihan dan Kekurangan Algoritma Bubble Sort Kelebihan dari Algoritma Bubble Sort adalah mudah dipahami dan diterapkan, serta cocok digunakan untuk data yang berukuran kecil. Namun, kekurangan dari Algoritma Bubble Sort adalah membutuhkan waktu yang cukup lama jika data yang akan disort cukup besar, sehingga banyak pemrogram yang lebih memilih menggunakan metode sorting yang lain.
Kesimpulan
Dengan demikian, Algoritma Bubble Sort merupakan algoritma sorting yang sederhana dan mudah dipahami. Implementasi Algoritma Bubble Sort dapat dilakukan pada banyak bahasa pemrograman, seperti Python dan C++. Sehingga, jika anda ingin mengurutkan data, Algoritma Bubble Sort merupakan pilihan yang tepat. Namun, perlu diingat bahwa Algoritma Bubble Sort memiliki kompleksitas waktu O(n^2), sehingga tidak dianjurkan untuk mengurutkan data dengan jumlah elemen yang sangat besar.