1. Pengertian Sorting
Sorting adalah proses mengurutkan data berdasarkan aturan tertentu, misalnya:
- Dari kecil ke besar (Ascending)
- Dari besar ke kecil (Descending)
- Berdasarkan huruf A-Z
- Berdasarkan nilai tertinggi
Contoh data sebelum sorting:
75, 90, 60, 85, 70
Setelah sorting ascending:
60, 70, 75, 85, 90
2. Tujuan Sorting
Sorting digunakan untuk:
- Mempermudah pencarian data
- Membuat laporan lebih rapi
- Menampilkan ranking
- Mengurutkan harga produk
- Mengurutkan nilai siswa
3. Jenis Sorting
A. Ascending
Urutan dari kecil ke besar.
Contoh:
1, 2, 3, 4, 5
B. Descending
Urutan dari besar ke kecil.
Contoh:
5, 4, 3, 2, 1
4. Metode Sorting Populer
A. Bubble Sort
Bubble Sort bekerja dengan cara membandingkan dua data yang berdekatan lalu menukarnya jika salah urut.
Ilustrasi
Data:
5 3 8 1
Langkah:
5 dan 3 ditukar → 3 5 8 1
8 dan 1 ditukar → 3 5 1 8
Dilakukan terus sampai urut.
5. Algoritma Bubble Sort
START
Input data
Bandingkan data ke-1 dan ke-2
Jika lebih besar → tukar
Ulangi sampai semua data urut
END
6. Buatkan Flowchart dari pseudocode di atas !
7. Contoh Program dengan PHP

1. Penjelasan Program
$data = [75, 60, 90, 70, 85];
Penjelasan
Baris ini digunakan untuk membuat array bernama $data.
Isi array:
| Index | Nilai |
|---|---|
| 0 | 75 |
| 1 | 60 |
| 2 | 90 |
| 3 | 70 |
| 4 | 85 |
Jadi data yang akan diurutkan adalah:
75, 60, 90, 70, 85
2. Menghitung Jumlah Data
$jumlah = count($data);
Penjelasan
Fungsi count() digunakan untuk menghitung jumlah isi array.
Karena array memiliki 5 data:
75, 60, 90, 70, 85
Maka:
$jumlah = 5;
3. Perulangan Pertama (Loop Luar)
for ($i = 0; $i < $jumlah; $i++) {
Penjelasan
Perulangan ini digunakan untuk mengulang proses sorting.
Bagian-bagiannya:
| Sintaks | Fungsi |
|---|---|
$i = 0 | Nilai awal perulangan |
$i < $jumlah | Kondisi perulangan |
$i++ | Penambahan nilai setiap perulangan |
Karena jumlah data = 5, maka loop berjalan 5 kali.
4. Perulangan Kedua (Loop Dalam)
for ($j = 0; $j < $jumlah - 1; $j++) {
Penjelasan
Loop ini digunakan untuk membandingkan data satu dengan data berikutnya.
Misalnya:
75 dibandingkan dengan 60
60 dibandingkan dengan 90
90 dibandingkan dengan 70
5. Proses Pengecekan
if ($data[$j] > $data[$j + 1]) {
Penjelasan
Program mengecek:
Apakah data sekarang lebih besar daripada data setelahnya?
Contoh:
75 > 60 → TRUE
Karena benar, maka data ditukar.
6. Proses Pertukaran Data
$temp = $data[$j];
$data[$j] = $data[$j + 1];
$data[$j + 1] = $temp;
Penjelasan
Bagian ini digunakan untuk menukar posisi data.
Ilustrasi
Sebelum ditukar:
75 60
Langkah 1
$temp = $data[$j];
Nilai 75 disimpan sementara ke variabel $temp.
temp = 75
Langkah 2
$data[$j] = $data[$j + 1];
Nilai 60 dipindah ke posisi 75.
Hasil sementara:
60 60
Langkah 3
$data[$j + 1] = $temp;
Nilai temp (75) dipindah ke posisi berikutnya.
Hasil akhir:
60 75
7. Menampilkan Hasil
echo "Hasil Sorting Ascending : <br>";
Penjelasan
Digunakan untuk menampilkan teks ke browser.
Output:
Hasil Sorting Ascending :
8. Menampilkan Isi Array
for ($i = 0; $i < $jumlah; $i++) {
echo $data[$i] . " ";
}
Penjelasan
Loop digunakan untuk menampilkan seluruh isi array setelah diurutkan.
9. Hasil Akhir Sorting
Setelah proses Bubble Sort selesai:
60 70 75 85 90
10. Cara Kerja Bubble Sort
Data Awal
75 60 90 70 85
Perbandingan Pertama
75 > 60 → tukar
Hasil:
60 75 90 70 85
Perbandingan Kedua
75 > 90 → tidak tukar
Perbandingan Ketiga
90 > 70 → tukar
Hasil:
60 75 70 90 85
Perbandingan Keempat
90 > 85 → tukar
Hasil:
60 75 70 85 90
Proses terus diulang sampai semua data urut.
Program tersebut menggunakan algoritma Bubble Sort untuk mengurutkan angka secara ascending.
Konsep utama Bubble Sort:
- Membandingkan dua data berdekatan
- Jika salah urut → ditukar
- Dilakukan berulang sampai data terurut semua
Hasil akhir:
60 70 75 85 90