Senin, 16 Mei 2016

Selection Sort

Berikut ini adalah materi dari SEARCING AND SORTING. Program yang dibuat yaitu tentang Sorting Data Secara Manual Dengan Metode Selection Sort

SELECTION SORT


Selection sort adalah mencari elemen yang tepat untuk diletakkan di posisi yang telah diketahui, dan meletakkannya di posisi tersebut setelah data tersebut ditemukan. Dengan kata lain, selection sort adalah membandingkan elemen yang pertama dengan elemen yang berikutnya sampai dengan elemen yang terakhir. Jika ditemukan elemen lain yang lebih kecil dari elemen sekarang maka dicatat posisinya dan kemudian ditukar.

Dalam pengurutan data di dalam struktur data sangat penting. Baik data yang beripe data numerik ataupun karakter. Pengurutan dapat dilakukan secara ascending (urut naik) dan descending (urut turun). Pengurutan (Sorting) adalah proses menyusun kembali data yang sebelumnya telah disusun dengan suatu pola tertentu, sehingga tersusun secara teratur menurut aturan tertentu.
Contoh:
Data Acak    : 5 1 12 -5 16 2 12 14
Ascending    : -5 1 2 5 12 12 14 16
Descending    : 16 14 12 12 5 2 1 -5

Untuk sorting ascending (menaik)
elemen yang paling kecil di antara elemen-elemen yang belum urut,  disimpan indeksnya, kemudian dilakukan pertukaran nilai elemen dengan indeks yang disimpan tersebut dengan elemen yang paling depan yang belum urut.
Sebaliknya, untuk sorting descending (menurun), elemen yang paling besar yang disimpan indeksnya kemudian ditukar.
Selection Sort memiliki kelebihan dalam kesederhanaan algoritmanya dan performanya lebih bagus daripada algoritma lain yang lebih rumit dalam situasi tertentu.
Algoritma ini bekerja sebagai berikut:
1. Mencari nilai minimum (jika ascending) atau maksimum (jika descending) dalam sebuah list
2. Menukarkan nilai ini dengan elemen pertama list
3. Mengulangi langkah di atas untuk sisa list dengan dimulai pada posisi kedua. Secara efisien kita membagi list menjadi dua bagian yaitu bagian yang sudah diurutkan, yang didapat dengan membangun dari kiri ke kanan dan dilakukan pada saat awal, dan bagian list yang elemennya akan diurutkan.

contoh simulasi algoritma selection sort sbb :
jika kita memiliki elemen array sbb :  {5, 1, 12, -5, 16, 2, 12, 14}



Berikut adalah ilustrasi dari konsep selection sort:
5 1 12 -5 16 2 12 14

[5] 1 12 [-5] 16 2 12 14     ---> yang select adalah 5 dan -5, kemudian ditukar 
-5 1 12 5 16 2 12 14          ---> setelah 5 dengan -5 ditukar
-5 1 [12] 5 16 [2] 12 14     ---> select 12 dan 2
-5 1 2 5 16 12 12 14          ---> setelah 12 dengan 2 ditukar
-5 1 2 5 [16] [12] 12 14     ---> select 16 dan 12
-5 1 2 5 12 16 12 14          ---> setelah 16 dengan 12 di tukar
-5 1 2 5 12 [16] [12] 14     ---> select 16 dan 12
-5 1 2 5 12 12 16 14          ---> setelah 16 dengan 12
-5 1 2 5 12 12 [16] [14]     ---> select 16 dan 14
-5 1 2 5 12 12 14 16          ---> setelah 16 dengan 14 ditukar

Berikut ini penjelasan menggunakan 5 kaidah penyusunan algoritma :
1. Mengerti masalah
    mengurutkan deret bilangan secara ascending
2. Menentukan input dan outputnya
    input : 5 1 12 -5 16 2 12 14
    output : -5 1 2 5 12 12 14 16
3. Menyusun algoritma dan flowchart
    hasilnya :
    4. Mengimplementaasikan dengan c++


hasilnya  :

       5. Menguji coba dengan data :
    Setelah diuji coba program nya berjalan.
Sorting Data Secara Manual Dengan Metode Bubble Sort klik disini
Sorting Data Secara Manual Dengan Metode Insertion Sort  klik disini

Alhamdulillah....selamat mencoba gan semoga sukses ^_^

Tidak ada komentar:

Posting Komentar

Refleksi minggu ke 2

Refleksi Pertemuan ke 2 Assalamu'alaikum w. wb., Selamat berjumpa lagi teman-teman, baik saya disini akan menuliskan tentang refl...