Algoritma Bubble Sort
Bubble sort bekerja dengan membandingkan setiap pasangan elemen yang berdekatan dalam sebuah list. Jika elemen pertama lebih besar dari elemen kedua, maka kedua elemen tersebut ditukar. Proses ini diulang berulang kali hingga tidak ada lagi pertukaran yang terjadi, yang menandakan bahwa list sudah terurut.
#include <iostream> // Mengimpor pustaka iostream untuk input dan output
using namespace std; // Menggunakan namespace std untuk menghindari penulisan std:: setiap kali
int main() {
int nilai[3]; // Mendeklarasikan array untuk menyimpan 3 nilai
// Meminta input dari pengguna
cout << "Masukkan nilai ke-1: "; // Menampilkan pesan untuk input nilai pertama
cin >> nilai[0]; // Menerima input nilai pertama dari pengguna
cout << "Masukkan nilai ke-2: "; // Menampilkan pesan untuk input nilai kedua
cin >> nilai[1]; // Menerima input nilai kedua dari pengguna
cout << "Masukkan nilai ke-3: "; // Menampilkan pesan untuk input nilai ketiga
cin >> nilai[2]; // Menerima input nilai ketiga dari pengguna
// Algoritma bubble sort
for (int i = 0; i < 3; i++) { // Loop untuk iterasi sebanyak 3 kali
for (int j = 0; j < 2 - i; j++) { // Loop untuk membandingkan elemen
if (nilai[j] > nilai[j+1]) { // Memeriksa apakah elemen saat ini lebih besar dari elemen berikutnya
// Tukar nilai
int temp = nilai[j]; // Menyimpan nilai saat ini dalam variabel sementara
nilai[j] = nilai[j+1]; // Mengganti nilai saat ini dengan nilai berikutnya
nilai[j+1] = temp; // Mengganti nilai berikutnya dengan nilai sementara
}
}
}
// Menampilkan hasil
cout << "Urutan nilai dari terkecil ke terbesar: "; // Menampilkan pesan untuk hasil
for (int i = 0; i < 3; i++) { // Loop untuk menampilkan setiap nilai dalam array
cout << nilai[i] << " "; // Menampilkan nilai saat ini
}
cout << endl; // Menambahkan baris baru setelah menampilkan semua nilai
return 0; // Mengembalikan 0 menandakan program selesai dengan sukses
}
Ringkasan
Kode di atas merupakan implementasi sederhana dari algoritma bubble sort untuk mengurutkan tiga nilai yang dimasukkan oleh pengguna. Meskipun fungsional, ada beberapa aspek yang dapat ditingkatkan untuk meningkatkan kualitas kode.
Gaya Kode
Secara umum, gaya penulisan kode sudah baik. Namun penggunaan komentar dapat ditingkatkan dengan memberikan penjelasan yang lebih mendalam tentang setiap bagian kode, terutama pada bagian algoritma pengurutan.
Struktur Kode
Struktur kode sudah cukup baik, dengan fragmentasi yang jelas antara bagian input, proses sortir, dan output. Namun, sebaiknya fungsi-fungsinya dipisahkan untuk meningkatkan modularitas dan keterbacaan.
Keterbacaan
Kode ini cukup mudah dibaca, tetapi dapat ditingkatkan dengan menggunakan nama variabel yang lebih deskriptif. Misalnya, alih-alih menggunakan nilai
, bisa menggunakan nilaiPengguna
untuk memberikan konteks yang lebih jelas.
Pertunjukan
Algoritma bubble sort yang digunakan di sini tidak efisien untuk jumlah data yang lebih besar. Meskipun tiga nilai ini tidak menjadi masalah, untuk dataset yang lebih besar, algoritma lain seperti quicksort atau mergesort lebih disarankan.
Skalabilitas
Kode ini tidak scalable karena hanya dirancang untuk tiga nilai. Jika ingin mengurutkan lebih banyak nilai, perlu dilakukan modifikasi pada ukuran array dan input logika.
Kesimpulan
Secara keseluruhan, kode ini berfungsi dengan baik untuk tujuan yang dimaksudkan, yaitu mengurutkan tiga nilai. Namun, ada beberapa area yang dapat ditingkatkan, termasuk validasi input, modularitas, dan efisiensi algoritma. Dengan beberapa perbaikan, kode ini dapat menjadi lebih kuat dan lebih mudah untuk dikembangkan di masa depan.
Post a Comment
Post a Comment