-->

Memahami Algoritma Pengurutan Bubble Sort dengan Kode C++

Post a Comment
Algoritma pengurutan adalah salah satu konsep dasar dalam ilmu komputer yang digunakan untuk mengurutkan data, baik itu angka, huruf, atau jenis data lainnya, dalam urutan tertentu (ascending atau descending). Salah satu algoritma pengurutan yang sederhana dan mudah dipahami adalah bubble sort.

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 nilaiPenggunauntuk 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.

Related Posts

Post a Comment

Subscribe Our Newsletter