Algoritma Bubble Sort disebut juga sebagai Sinking Sort. Mengapa demikian?

Berikut ini adalah pertanyaan dari qed pada mata pelajaran TI untuk jenjang Sekolah Dasar

Algoritma Bubble Sort disebut juga sebagai Sinking Sort.
Mengapa demikian? Jelaskan!

Jawaban dan Penjelasan

Berikut ini adalah pilihan jawaban terbaik dari pertanyaan diatas.

Jawaban dan Penjelasan:

Untuk menjelaskan mengapa algoritma bubble sort disebut juga sebagai sinking sort, kita gunakan prinsip kesetimbangan, yaitu “yang kecil naik dan yang besar turun”.

Kita bayangkan bahwa data direpresentasikan dalam bentuk susunan elemen data (seperti stack), di mana jenis pengurutan adalah menaik dari atas hingga paling bawah.

Dengan bubble sort, pada iterasi tertentu, jika suatu elemen data bernilai lebih dari elemen lain yang berada di bawahnya, maka terjadi pertukaran. Elemen yang lebih kecil naik 1 tingkat, dan elemen yang lebih besar turun 1 tingkat.

Anggap saja elemen terkecil berada pada posisi paling bawah dari susunan data belum terurut, dan elemen terbesar berada pada posisi paling atas dari susunan data tersebut. Maka, elemen terkecil akan naik secara bertahap hingga mencapai puncak susunan data terurut. Hal ini bisa dianalogikan dengan gelembung udara dalam air (bubble), yang akan naik hingga ke permukaan.

Sebaliknya, elemen terbesar akan turun secara bertahap hingga mencapai dasar (posisi terbawah) dari susunan data terurut. Hal ini dapat dianalogikan dengan sebuah batu (bukan batu apung) yang dimasukkan ke air. Batu tersebut akan turun (tenggelam, atau sinking) hingga dasar.

Jadi, dengan jenis pengurutan seperti disebutkan di atas, algoritma ini disebut bubble sort dengan memandang elemen terkecil; disebut sinking sort dengan memandang elemen terbesar.

Ilustrasi

Data belum terurut:

\large\text{$\begin{aligned}\boxed{\begin{array}{c}5\\3\\4\\2\\1\end{array}}\end{aligned}$}

Tahapan bubble/sinking sort:

  • “Tenggelamnya“ 5
    \large\text{$\begin{aligned}&\boxed{\begin{array}{c}\boxed{5}\\3\\4\\2\\1\end{array}}\to \boxed{\begin{array}{c}3\\\boxed{5}\\4\\2\\1\end{array}}\to\boxed{\begin{array}{c}3\\4\\\boxed{5}\\2\\1\end{array}}\to\boxed{\begin{array}{c}3\\4\\2\\\boxed{5}\\1\end{array}}\to\boxed{\begin{array}{c}3\\4\\2\\1\\\boxed{5}\end{array}}\end{aligned}$}
  • “Tenggelamnya“ 4
    \large\text{$\begin{aligned}\to\:&\boxed{\begin{array}{c}\boxed{3}\\4\\2\\1\\5\end{array}}\to\boxed{\begin{array}{c}3\\\boxed{4}\\2\\1\\5\end{array}}\to\boxed{\begin{array}{c}3\\2\\\boxed{4}\\1\\5\end{array}}\to\boxed{\begin{array}{c}3\\2\\1\\\boxed{4}\\5\end{array}}\end{aligned}$}
  • ”Tenggelamnya“ 3
    \large\text{$\begin{aligned}\to\:&\boxed{\begin{array}{c}\boxed{3}\\2\\1\\4\\5\end{array}}\to\boxed{\begin{array}{c}2\\\boxed{3}\\1\\4\\5\end{array}}\to\boxed{\begin{array}{c}2\\1\\\boxed{3}\\4\\5\end{array}}\end{aligned}$}
  • ”Tenggelamnya“ 2
    \large\text{$\begin{aligned}\to\:&\boxed{\begin{array}{c}\boxed{2}\\1\\3\\4\\5\end{array}}\to\boxed{\begin{array}{c}1\\\boxed{2}\\3\\4\\5\end{array}}\end{aligned}$}
  • Data terurut.
    \large\text{$\begin{aligned}\to\:&\boxed{\begin{array}{c}\bf1\\\bf2\\\bf3\\\bf4\\\bf5\end{array}}\end{aligned}$}

Semoga dengan pertanyaan yang sudah terjawab oleh henriyulianto dapat membantu memudahkan mengerjakan soal, tugas dan PR sekolah kalian.

Apabila terdapat kesalahan dalam mengerjakan soal, silahkan koreksi jawaban dengan mengirimkan email ke yomemimo.com melalui halaman Contact

Last Update: Sat, 29 Oct 22