Lompat ke konten Lompat ke sidebar Lompat ke footer

Selection Sort di C++: Pengertian, Cara Kerja, dan Contoh Program

Sorting adalah salah satu operasi paling dasar dalam dunia pemrograman. Terdapat berbagai algoritma sorting, tetapi salah satu yang paling sederhana dan mudah dipahami adalah "Selection Sort". Dalam artikel ini, kita akan membahas secara mendalam tentang Selection Sort di C++, mulai dari pengertian, cara kerja, hingga contoh programnya.
Selection Sort di C++
Selection Sort di C++

Pengertian Selection Sort

Selection Sort adalah sebuah algoritma pengurutan data yang bekerja dengan cara memilih elemen dengan nilai paling kecil (atau besar, tergantung kebutuhan) dari sebuah array dan menukarnya dengan elemen pertama. Kemudian, algoritma ini akan berlanjut ke sub-array berikutnya dan melakukan hal yang sama.

Cara Kerja Selection Sort

Selection Sort di C++ bekerja dengan iterasi melalui setiap elemen dalam array:
  1. Langkah Pertama: Temukan elemen minimum di array dan tukarkan dengan elemen pertama. 
  2. Langkah Kedua: Temukan elemen minimum dalam sub-array yang tersisa (mengabaikan elemen yang sudah diurutkan) dan tukarkan dengan elemen kedua.
  3. Langkah Ketiga: Ulangi proses ini untuk setiap elemen dalam array.


Contoh Program Selection Sort di C++

Memahami teori saja tidak cukup, selanjutnya mari kita coba memahami bagaimana implementasi Selection Sort di C++ melalui sebuah contoh kode program.
#include <iostream>
using namespace std;

void selectionSort(int arr[], int n) {
    for (int i = 0; i < n-1; i++) {
        int minIndex = i;
        for (int j = i+1; j < n; j++) {
            if (arr[j] < arr[minIndex]) {
                minIndex = j;
            }
        }
        swap(arr[minIndex], arr[i]);
    }
}

int main() {
    int arr[] = {29, 10, 14, 37, 13};
    int n = sizeof(arr) / sizeof(arr[0]);
    selectionSort(arr, n);
    for (int i = 0; i < n; i++) {
        cout << arr[i] << " ";
    }
    return 0;
}
Output
10 13 14 29 37 

Penjelasan Program

Pendahuluan Libraries: Pertama-tama, kita memasukkan pustaka standar C++ untuk operasi input-output dengan menggunakan #include <iostream>. Kemudian, kita menggunakan ruang nama standar dengan using namespace std;.

Fungsi selectionSort: Fungsi ini mengambil array arr dan ukurannya n sebagai argumen.
  • for (int i = 0; i < n-1; i++): Loop ini iterates dari elemen pertama hingga elemen kedua terakhir dalam array.
    • int minIndex = i;: Di sini, kita mengasumsikan elemen di index i adalah elemen minimum.
  • for (int j = i+1; j < n; j++): Loop ini akan membandingkan elemen di minIndex dengan elemen-elemen yang tersisa dalam array (yaitu dari i+1 hingga n-1).
    • if (arr[j] < arr[minIndex]): Jika elemen di j lebih kecil dari elemen di minIndex, minIndex diperbarui.
  • swap(arr[minIndex], arr[i]);: Setelah menemukan elemen minimum dalam array, kita menukarnya dengan elemen di index i.

Fungsi main: Ini adalah titik awal eksekusi program.
  • Di sini, kita mendefinisikan sebuah array arr dengan elemen [29, 10, 14, 37, 13] dan ukuran n dihitung menggunakan sizeof(arr) / sizeof(arr[0]).
  • Kemudian, kita memanggil fungsi selectionSort(arr, n); untuk mengurutkan array.
  • Akhirnya, sebuah loop for digunakan untuk mencetak array yang telah diurutkan.

Kelebihan dan Kekurangan Selection Sort

Kelebihan Selection Sort:
  • Mudah diimplementasikan.
  • Efisien untuk array kecil.
Kekurangan Selection Sort:
  • Tidak efisien untuk array besar.
  • Tidak stabil; yaitu, dua objek dengan nilai sama mungkin kehilangan urutan relatifnya.


Selection Sort di C++ adalah salah satu algoritma sorting yang mudah diimplementasikan dan dipahami, tetapi kurang efisien untuk data set besar. Meskipun demikian, memahami Selection Sort bisa menjadi batu loncatan yang baik untuk memahami algoritma sorting yang lebih kompleks.

Daftar Pustaka
  • Cormen, T. H., Leiserson, C. E., Rivest, R. L., & Stein, C. (2021). Introduction to Algorithms (4th ed.). The MIT Press.
  • Stroustrup, B. (2020). The C++ Programming Language (5th ed.). Pearson.
  • Sedgewick, R., & Wayne, K. (2019). Algorithms (4th ed.). Addison-Wesley.

Sekian pembahasan terkait Selection Sort di C++. Semoga artikel ini bermanfaat dan menambah pengetahuan Anda tentang algoritma sorting ini.

MateriDosen.Com

Posting Komentar untuk "Selection Sort di C++: Pengertian, Cara Kerja, dan Contoh Program"