Pengurutan dilakukan dibagi dalam n-1 putaran (n adalah
banyaknya data yang akan diurutkan). Pada putaran pertama, dicari data dengan nilai terkecil, kemudian data tersebut diletakkan pada posisi index terkecil. Putaran kedua bertujuan mencari data terkecil kedua dan meletakkannya pada indeks terkecil kedua (jika indekx terkecil adalah m, maka indeks terkecil kedua adalah m+1). Langkah ini akan di ulang sampai n-1 kali.
Pada setiap putaran, proses pencarian data terkecil dilakukan dengan
membandingkan data terakhir dengan data sebelumnya. Jika ternyata data terakhir lebih kecil daripada data sebelumnya, maka data terakhir ditukar dengan data sebelumnya. Selanjutnya perbandingan dilakukan antara data terakhir kedua dengan data sebelumnya. Langkah ini diulang sebanyak n-1 kali. Flowchart Bubble Sort
Pertama, jumlah tahap dinyatakan sebagai (nt), jumlah bilangan sebagai
(nb). Adapun jumlah kali pembandingan dalam suatu tahap dinyatakan sebagai (nb) dikurangi tahap (ke – i) atau (nb – i) dimana I sebagai pencacah tahap dan j sebagai pencacah perbandingan dalam tahap i.
Ada beberapa hal yang perlu di garisbawahi, diantaranya sebagai
berikut :
- Jumlah tahap adalah jumlah bilangan yang akan diurutkan
dikurangi satu (nt = nb-1)
- Banyaknya perbandingan pada setiap tahan adalah jumlah
bilangan dikurang nomor tahap (nb – i).
- Diperlukan dua looping , yaitu looping untuk tahap sebagai loop
luar dan looping untuk melakukan perbandingan dalam suatu tahap sebagai loop dalam. Loop luar dimulai dari 1 sampai dengan jumlah tahap yang ada (for i:=1 to nt) dan loop luar dimulai dari tahap yang bersangkutan sampai dengan jumlah bilangan (for j=: (i + 1) to nb).