
Pengurutan (Sorting) adalah proses mengurutkan data menjadi data yang terurut.
pengurutan data dapat dilakukan dengan urutan menaik (Ascending) dan urutan
menurun (Descending), misalnya jika ada data angka berikut :
[ 3, 7, 2, 1, 5, 4, 6 ]
Maka jika data tersebut diurutkan secara menaik (Ascending) akan menjadi :
[ 1, 2, 3, 4, 5, 6, 7 ]
Dan jika data tersebut diurutkan secara menurun (Descending) akan menjadi :
[ 7, 6, 5, 4, 3, 2, 1 ]
Pengurutan merupakan algoritma lanjutan yang dibuat dengan menggabungkan
beberapa algoritma. Dalam membuat algoritma pengurutan setidaknya diperlukan
perulangan (Looping) dan pengkondisian (IF Statement) untuk membandingkan data
yang satu dengan data yang lainnya, serta diperlukan juga proses pertukaran
data (Swapping) agar data menjadi terurut.
Ada beberapa metode yang dapat digunakan untuk mengurutkan data, yaitu metode
pengurutan gelembung (Bubble Sort), metode pengurutan seleksi (Selection
Sort), dan metode pengurutan penyisipan (Insertion Sort).
1. Metode Pengurutan Gelembung (Bubble Sort)
Metode pengurutan gelembung adalah metode pengurutan data yang menukar dua
buah data secara terus menerus sampai data tersebut menjadi terurut. Berikut
adalah contoh proses pengurutan metode gelembung dan ilustrasinya :
Data Awal :
[3, 7, 2, 1, 5, 4, 6]
Perulangan ke-1
[3, 7, 2, 1, 5, 4, 6]
[3, 7, 2, 1, 5, 4, 6]
[3, 2, 7, 1, 5, 4, 6]
[3, 2, 1, 7, 5, 4, 6]
[3, 2, 1, 5, 7, 4, 6]
[3, 2, 1, 5, 4, 7, 6]
Perulangan ke-2
[3, 2, 1, 5, 4, 6, 7]
[2, 3, 1, 5, 4, 6, 7]
[2, 1, 3, 5, 4, 6, 7]
[2, 1, 3, 5, 4, 6, 7]
[2, 1, 3, 4, 5, 6, 7]
Perulangan ke-3
[2, 1, 3, 4, 5, 6, 7]
[1, 2, 3, 4, 5, 6, 7]
[1, 2, 3, 4, 5, 6, 7]
[1, 2, 3, 4, 5, 6, 7]
Perulangan ke-4
[1, 2, 3, 4, 5, 6, 7]
[1, 2, 3, 4, 5, 6, 7]
[1, 2, 3, 4, 5, 6, 7]
Perulangan ke-5
[1, 2, 3, 4, 5, 6, 7]
[1, 2, 3, 4, 5, 6, 7]
Perulangan ke-6
[1, 2, 3, 4, 5, 6, 7]

2. Metode Pengurutan Seleksi (Selection Sort)
Metode pengurutan seleksi adalah metode pengurutan data yang mencari nilai
terkecil atau terbesar sesuai dengan jenis pengurutannya kemudian menempatkan
data tersebut ke bagian depan atau indeks awal sampai bagain paling akhir.
Berikut adalah contoh proses pengurutan metode seleksi dan ilustrasinya :
Data Awal :
[3, 7, 2, 1, 5, 4, 6]
Perulangan ke-1
Nilai indeks awal : 0
Pertukaran indeks :
0 2 3 3 3 3
Perubahan Data :
[1, 7, 2, 3, 5, 4, 6]
Perulangan ke-2
Nilai indeks awal : 1
Pertukaran indeks :
2 2 2 2 2
Perubahan Data :
[1, 2, 7, 3, 5, 4, 6]
Perulangan ke-3
Nilai indeks awal : 2
Pertukaran indeks :
3 3 3 3
Perubahan Data :
[1, 2, 3, 7, 5, 4, 6]
Perulangan ke-4
Nilai indeks awal : 3
Pertukaran indeks :
4 5 5
Perubahan Data :
[1, 2, 3, 4, 5, 7, 6]
Perulangan ke-5
Nilai indeks awal : 4
Pertukaran indeks :
4 4
Perubahan Data :
[1, 2, 3, 4, 5, 7, 6]
Perulangan ke-6
Nilai indeks awal : 5
Pertukaran indeks :
6
Perubahan Data :
[1, 2, 3, 4, 5, 6, 7]

3. Metode Pengurutan Penyisipan (Insertion Sort)
Metode pengurutan penyisipan adalah metode pengurutan data yang mengambil
sebuah data sisipan pada data yang akan diurutkan dan menggeser/mengganti data
yang lebih besar atau kecil sesuai dengan jenis pengurutannya, yang
dibandingkan dengan data sisipan agar data sisipan berada pada tempat/indeks
yang benar. Berikut adalah contoh proses pengurutan metode penyisipan dan
ilustrasinya :
Data Awal :
[3, 7, 2, 1, 5, 4, 6]
Perulangan ke-1
Data Sisipan : 7
Perubahan Data :
[3, 7, 2, 1, 5, 4, 6]
Perulangan ke-2
Data Sisipan : 2
Perubahan Data :
[3, 7, 7, 1, 5, 4, 6]
[3, 3, 7, 1, 5, 4, 6]
[2, 3, 7, 1, 5, 4, 6]
Perulangan ke-3
Data Sisipan : 1
Perubahan Data :
[2, 3, 7, 7, 5, 4, 6]
[2, 3, 3, 7, 5, 4, 6]
[2, 2, 3, 7, 5, 4, 6]
[1, 2, 3, 7, 5, 4, 6]
Perulangan ke-4
Data Sisipan : 5
Perubahan Data :
[1, 2, 3, 7, 7, 4, 6]
[1, 2, 3, 5, 7, 4, 6]
Perulangan ke-5
Data Sisipan : 4
Perubahan Data :
[1, 2, 3, 5, 7, 7, 6]
[1, 2, 3, 5, 5, 7, 6]
[1, 2, 3, 4, 5, 7, 6]
Perulangan ke-6
Data Sisipan : 6
Perubahan Data :
[1, 2, 3, 4, 5, 7, 7]
[1, 2, 3, 4, 5, 6, 7]
