Langsung ke konten utama

Pengurutan dengan Bubble Short

Proses pengurutan menjadi suatu kebutuhan bagi pemogram untuk menampilkan bermacam-macam algoritma pengurutan. Hingga banyak algoritma pengurutan yang ditemukan, sudah semacam perosalan yang kaya dengan solusi algoritmik.
Apa saja algoritma pengurutan itu ?
  1. Bubble sort
  2. Selection Sort (Max and Min sort )
  3. Insertion sort
  4. Heap sort
  5. Shell sort
  6. Qiuck Sort
  7. Merge Sort
  8. Radix Sort
  9. Tree Sort

Namun yang sering dipakai adalah Bubble sort, selection sort, insertion sort dan shell sort.
Disini saya akan membahas tentang Bubble Sort.

PRINSIP :
Bubble short prinsip kerjanya sama seperti selection short yaitu melakukan pertukaran elemen dalam proses pengurutan sehingga keduanya dinamakanpengurutan dengan pertukaran. Apa bedanya dengan , insertion sort dan shell sort? Dua algoritma ini memiliki prinsip geser dan sisip elemen dalam proses pengurutan.

Mengapa dinamakan Bubble Short atau pengurutan apung ?
Karena diinspirasi oleh gelembung sabun yang berada diatas  permukaan air. Karena berat jenis gelembung sabun lebih ringan daripada berat jenis air, maka gelembung sabun selalu terapung keatas permukaan. Secara umum, benda-benda yang berat akan terbenam dan benda-benda yang ringan akan terapung keatas permukaan.
Maksudnya, apabila kita menginginkan larik tersebut menaik, maka elemen larik yang berharga paling kecil “diapungkan” (diangkat keatas atau keujung kiri larik) melaluiproses pertukaran. Proses pengapungan ini dilakukan n-1 langkah dengan n adalah ukuran larik. Pada akhir setiap langkah ke-i larik [1...n] akan terdiri atas dua bagian yaitu bagian yang sudah terurut, L(i+1..n), seperti gambar dibawah ini:


1                                             i i+1                              n
 



                                                                                                
Setelah langkah terakhir, diperoleh larik  L[1...n] yang terurut menaik.


Gambaran kerja Bubble Short
Misalkan kita akan mengurutkan 5 Elemen dibawah ini secara “menaik”

6
11
12
17
9
  L1       L2       L3        L4        L5

K5 = [L5]<[L4] ? (9<17) Ya è Maka Urutannya jadi 6, 11, 12, 9, 17
K4 = [L4]<[L3] ? (9<12) Ya è Maka Urutannya jadi 6, 11, 9, 12, 17
K3 = [L3]<[L2] ? (9<11) Ya è Maka Urutannya jadi 6, 9, 11, 12, 17
K5 = [L2]<[L1] ? (9<6) Tidak è Maka Urutannya jadi 6, 9, 11, 12, 17


 Pseudocode nya
Deklarasi
I : Integer
K: Integer
Temp : Integer
Algoritma
  For i ç 1 to n – 1 do
  For k ç n downto i + 1 do
If L(k) < L[k-1] then
Temp ç L[k]
L[k] ç L[k-1]
L [ k-1] ç temp
Endif

Contoh Program menggunakan bahasa C
Int i,k,temp;
For (i =1; i <=n – 1; i++)
For (k=n; k>=i+1; k--)
If (L[k] < L[k-1])
{
Temp = L[k];
L[k] = L[k-1];
L[k-1] = temp;
}

 Referensi: 
Algoritma dan Pemograman, Rinaldi Munir 2011

Nama : Mercy Gayatri 
NIM   : 09031181320034

Komentar

Postingan populer dari blog ini

Rekursif (Algoritma dan Pemograman 2)

Rekursif sangat penting dalam pemograman, mengapa dikatakan demikian ? karena rekursif menyediakan teknik menyelesaikan persoalan yang di dalamnya mengandung definisi persoalan itu sendiri. Sayangnya rekursif adalah materi yang sulit dimengerti oleh pemula.  Dalam sebuah rekursi sebenarnya tekandung pengertian sebuah prosedur atau fungsi. Perbedaannya adalah bahwa rekursi bisa memanggil dirinya sendiri, kalau prosedur atau fungsi harus diipanggil melalui pemanggil prosedur atau fungsi. Definisi Rekursif diturunkan secara matematik. Definisi tidak formal menyatakan bahwa sebuah objek dikatakan rekursif jika ia didefinisikan menjadi lebih sederhana dalam terminologi dirinya sendiri. Nicklaus Wirth mendefinisikan sebagai berikut: "An Object is said be Recursive if it Partially Consist or is Defines in Terms of Itself". Sumber lain mendefinisikan Rekursif sebagai salah satu metode dalam dunia matematika dan pemograman dimana definisi sebuah fungsi mengandung fungsi itu ...

Selection Short

Adalah metode penyortiran yang lain.  Ide dasarnya adalah melakukan beberapa kali pencarian data atau penjelajahan data. Metode selection sort adalah perbaikan dari metode bubble sort dengan mengurangi jumlah perbandingan. Selection sort merupakan metode pengurutan dengan mencari nilai data terkecil dimulai dari data posisi 0 hingga posisi N-1. Jika terdapat N data dan data terkoleksi dari urutan 0 sampai dengan N-1. Selama proses, perbandingan dan pengubahan, hanya dilakukan pada indeks perbandingan saja, pertukaran data secara fisik terjadi pada akhir proses. Metode pengurutan ini disebut pengurutan maksimum atau minimum karena didasarkan pada pemilihan elemen maksimum atau minimum tersebut dengan elemen terujung larik (elemen ujung kiri atau elemen ujung kanan). Selanjutnya elemen terujung itu kita "isolasi" dan tidak diikutsertakan pada proses selanjutnya. Karena proses utama dalam pengurutan adalah pemilihan elemen maksimum atau minimum, maka metode ini disebut meto...

Searching (Algoritma dan Pemograman 2)

Dari katanya saja "SEARCHING" yang dalam bahasa Indonesia nya "MENCARI" berarti ini digunakan untuk mencari. Search algoritma ada;ah algoritma yang menerima argument dan mencoba untuk mencari record yang mana key-nya adalah algoritma mengembalikan nilai record, atau pointer ke record. apa itu record ? record adalah tipe data yang terdiri atas kumpulan variabel yang dapat berbeda tipenya. Setiap variabel disebut field.  Dalam Algoritma dan pemograman, ini digunakan untuk mencari data yang sudah diinput pada saat meng-coding, dan pengguna tinggal memerintahkan program untuk mencari data yang ia input. disini saya belajar menggunakan searching dengan array juga, yaitu ketika saya menginput 12 variabel akhiran NIM mahasiswa untuk mengetahui hasil akhir penerimaan anggota BEM fakultas dan NIM tersebut saya masukkan dalam Array. Output programnya adalah user tinggal memasukkan akhiran nim mereka dan akan tahu apakah mereka lolos atau tidak. Lihat di synt...