Kamis, 04 Juni 2015

Sorting (Selection Sort & Insertion Sort)



Sorting

Sorting merupakan proses pengurutan data, dimana data yang sebelumnya tersusun secara acak sehingga menjadi teratur dan tersusun.

Ada 2 jenis sorting, yaitu :
Ascending ( Naik ) :
contoh: Data Acak : 2 6 8 1 3 30 11, jika di ascending akan menjadi 1 2 3 6 8 11 30
Descending ( Turun ) :
contoh: Data Acak : 2 6 8 1 3 30 11, jika di descending akan menjadi 30 11 8 6 3 2 1

  • Selection Sort
Selection sort adalah pengurutan dengan cara mencari data yang terkecil kemudian menukarkannya dengan data yang digunakan sebagai acuan (pivot). Ide dasarnya adalah melakukan beberapa kali pass untuk melakukan penyeleksian elemen struktur data. 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.

  • Proses pengurutan Selection Sort :
langkah pertama dicari data terkecil dari data pertama sampai data terakhir. Kemudian data terkecil ditukar dengan data pertama. Dengan demikian, data pertama sekarang mempunyai nilai paling kecil dibanding data yang lain. Langkah kedua, data terkecil kita cari mulai dari data kedua sampai terakhir. Data terkecil yang kita peroleh ditukar dengan data kedua dan demikian seterusnya sampai semua elemen dalam keadaan terurutkan.

Algoritma Selection Sort





Contoh Program Selection Sort :




Hasil Eksekusi Program :







  • Insertion Sort
Metode pengurutan Insertion dilakukan dengan cara data dicek satu per satu mulai dari yang kedua sampai dengan yang terakhir. Apabila ditemukan data yang lebih kecil daripada data sebelumnya, maka data tersebut disisipkan pada posisi yang sesuai. Akan lebih mudah apabila membayangkan pengurutan kartu. Pertama-tama anda meletakkan kartu-kartu tersebut di atas meja, kemudian melihatnya dari kiri ke kanan. Apabila kartu di sebelah kanan lebih kecil daripada kartu di sebelah kiri, maka ambil kartu tersebut dan sisipkan di tempat yang sesuai. Dalam pengurutan data, metode ini dipakai bertujuan untuk menjadikan bagian sisi kiri array terurutkan sampai dengan seluruh array diurutkan.

Algoritma Insertion Sort




Contoh Program Insertion Sort :









Hasil Eksekusi Program :









Sumber referensi :
Buku Pemrograman C# Abdul Kadir
Algorithms in C++ by Robert Sedgewick


0 komentar:

Posting Komentar