Pengurutan(sorting) diartikan sebagai proses penyusunan kembali sekumpulan objek ke dalam urutan tertentu. Tujuan pengurutan adalah mendapatkan kemudahan dalam pencarian anggota dari suatu himpunan, disamping dapat mempercepat mengetahui data terbesar dan data terkecil, misalkan kita ingin mengetahui perolehan nilai tertinggi dan nilai terendah dari hasil ujian. Contoh objek terurutkan adalah daftar isi, daftar pustaka, dan lain-lain.

Selection Sort
Pengurutan Naik (Ascending)
Proses pengurutan dengan menggunakan metode Selection Sort secara terurut naik adalah sebagai berikut:
  • Mencari data terkecil dari data pertama sampai data terakhir, kemudian ditukarkan posisinya dengan data pertama.
  • Mencari data terkecil dari data kedua sampai data terakhir, kemudian ditukarkan posisinya dengan data kedua.
  • Mencari data terkecil dari data ketiga sampai data terakhir, kemudian ditukarkan posisinya dengan data ketiga.
  • Dan seterusnya sampai semua data terurut naik. Apabila terdapat n buah data yang akan diurutkan, maka membutuhkan (n-1) langkah pengurutan, dimana data terakhir yaitu data ke-n tidak perlu diurutkan karena hanya tinggal satu-satunya.
  • Cara pengurutannya: seleksi data yang ada kemudian dilakukan swap (pertukaran posisi).
  • Pada Ascending : seleksi data terkecilkemudian swap.
  • Pada descending : seleksi data terbesarkemudian swap.
Algoritma Selection Sort (Ascending)
  1. Tampung data ke-i
  2. Seleksi data terkecil
  3. Cek apakah data yang ditampung lebih besar dari data hasil seleksi (data terkecil).
  4. Jika pengecekan langkah 3 bernilai “true” :  lakukan pertukaran posisi antara data yang ditampung dengan data terkecil.
  5. Ulangi langkah 1 sampai 4, hingga nilai i sama dengan n.
Ilustrasi Selection Sort:




Contoh Program Selection Sort:
*Source Code dibawah ini di compile menggunakan Code::Blocks

Tampilan Program:

Insertion Sort
Proses yang terjadi pada pengurutan dengan menggunakan metode Insertion Sort dimulai dari data ke-2, kemudian, kemudian disisipkan pada tempat yang sesuai. data pada posisi pertama diandaikan memang sudah pada tempatnya

Cara Pengurutannya:
  • Cara pengurutannya: dimulai dari data ke-2 sampai dengan data terakhir, jika ditemukan data yang lebih kecil, maka akan ditempatkan (diinsert) diposisi yang seharusnya.
  • Ascending : ketika perbandingan ambil data yang paling kecil.
  • Descending : ketika perbandingan ambil data yang paling besar
Algoritma Insertion Sort (Ascending)
  1. Ambil satu data ke-i simpan di temp.
  2. Bandingkan data temp dengan data yang ada disebelah kiri satu per-satu.
  3. Cek apakah data temp lebih kecil dari data sebelah kiri.
  4. Jika langkah nomor 3 bernilai “true” : lakukan pergeseran data satu-persatu kemudian pada posisi yang tepat sisipkan data temp.
  5. Ulangi langkah 1 sampai 4, hingga i sama dengan n
Ilustrasi Insertion Sort


Contoh Program Insertion Sort:
*Source Code dibawah ini di compile menggunakan Code::Blocks

Tampilan Program:

Baca Juga
Pemrograman C++: Variable
Pemrograman C++: Array 1 Dimensi dan 2 Dimensi
Pemrograman C++: Stack
Pemrograman C++: Queue
Pemrograman C++: Sorting
Pemrograman C++: Searching

Referensi:
10 Langkah Belajar Logika dan Algoritma, Menggunakan Bahasa C dan C++ by Ema Utami & Sukrisno
http://entin.lecturer.pens.ac.id/SD%20&%20Algoritma%20PJJ/Bulan%204/Minggu%2013%20Searching.pdf

0 komentar:

Post a Comment

 
UB Mansion © 2013. All Rights Reserved. Powered by Blogger
Top