Mata Kuliah: Algoritma dan Pemrograman Menggunakan PHP


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:

IndexNilai
075
160
290
370
485

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:

SintaksFungsi
$i = 0Nilai awal perulangan
$i < $jumlahKondisi 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

Leave a Reply

Your email address will not be published. Required fields are marked *