@HerdieselSantoso
Selection Sort
Herdiesel Santoso, S.T., [Link]., [Link]
@HerdieselSantoso
Selection Sort
• Selection Sort adalah algoritma pengurutan sederhana yang bekerja
dengan cara:
• Mencari elemen terkecil (atau terbesar) dari array.
• Menukar elemen tersebut dengan elemen di posisi awal yang belum terurut.
• Mengulangi langkah di atas untuk posisi berikutnya hingga semua data
terurut.
@HerdieselSantoso
Cara Kerja Selection Sort
• Mencari data yang terkecil kemudian menukarkannya dengan
data yang digunakan sebagai acuan.
• Contoh : A = [7, 5, 4, 2] → n = 4 (Indeks dimulai dari 1)
• Iterasi 1 (i = 1) → A = [7, 5, 4, 2]
• min_index = 1 → nilai awal = 7
• Bandingkan A[2] = 5 < A[1] = 7 → min_index = 2 (5)
• Bandingkan A[3] = 4 < A[2] = 5 → min_index = 3 (4)
• Bandingkan A[4] = 2 < A[3] = 4 → min_index = 4 (2)
• Tukar A[1] dengan A[4] → tukar 7 ↔ 2
• Hasil Iterasi 1 : [2, 5, 4, 7]
@HerdieselSantoso
Cara Kerja Selection Sort
• Iterasi 2 (i = 2) → A = [2, 5, 4, 7]
• min_index = 2 → nilai awal = 5
• Bandingkan A[3] = 4 < A[2] = 5 → min_index = 3 (4)
• Bandingkan A[4] = 7 < A[3] = 4 → tidak → min_index = 3 (4)
• Tukar A[2] dengan A[3] → tukar 5 ↔ 4
• Hasil Iterasi 2 : [2, 4, 5, 7]
• Iterasi 3 (i = 3) → A = [2, 4, 5, 7]
• min_index = 3 → nilai awal = 5
• Bandingkan A[4] = 7 < A[3] = 5 → tidak → min_index = 3 (5)
• Tukar A[3] dengan A[3] (tidak ada perubahan)
• Hasil Iterasi 3 : [2, 4, 5, 7]
• Elemen terakhir (A[4]=7) sudah otomatis benar → tidak perlu iterasi.
• Hasil Pengurutan: [2, 4, 5, 7]
@HerdieselSantoso
Cara Kerja Selection Sort
@HerdieselSantoso
Ilustrasi Selection Sort
@HerdieselSantoso
Kerja Algoritma Pengurutan Selection Sort
• Sumber : [Link]
exercises/data-structures-and-algorithms/python-
[Link]
• [Link]
sort
• Visualisasi : [Link]
@HerdieselSantoso
Pseudocode Selection Sort
Mulai • Mulai
Input array A dengan n elemen • A = [7, 5, 4, 2] → n = 4
Untuk i dari 1 sampai n-1 lakukan • i = 1 sampai 3 lakukan
min_index ← i • min_index = 1 (Nilai minimum = 7)
Untuk j dari i+1 sampai n lakukan • j = 1 + 1 = 2 sampai 4 lakukan
Jika A[j] < A[min_index] maka • Jika A[2] = 5 < A[1] = 7 maka
min_index ← j • min_index = 2 (Nilai minimum = 5)
Selesai • Selesai
Selesai • Selesai (Sampai A[4] = 2 < A[3] = 4)
Tukar A[i] dengan A[min_index] • Tukar A[1] dengan A[4] → tukar 7 ↔ 2
Selesai • Selesai
Selesai • Selesai
@HerdieselSantoso
Kode Program Selection Sort