29
Apr
09

Bubble Sort Algorithm, hmmm…..

Heum… dapet TP alpro tapi belum dikerjain, eh, TP sisop muncul dan harus dikumpulin lebih awal…

Sabar ya para praktikan-praktikan yang budiman… :mrgreen: Kuliah tu nggak seru kalo nggak gini.

Well, kali ini aku mau posting mengenai bubble sort dan kebetulan juga aku nemu video ilustrasinya.

Bubble sort adalah:
a simple sorting algorithm. It works by repeatedly stepping through the list to be sorted, comparing two items at a time and swapping them if they are in the wrong order. The pass through the list is repeated until no swaps are needed, which indicates that the list is sorted. The algorithm gets its name from the way smaller elements “bubble” to the top of the list. Because it only uses comparisons to operate on elements, it is a comparison sort.
–copy paste dari wiki– hehehe
Intinya sih bubble sort itu salah satu metode yang simpel untuk sorting. Dikatakan simpel karena emang simpel, maksudnya g ruwet, mudah dipahami, gampang dicerna, dan tidak semena-mena.:D.

Wew, terlihat begitu banyak pesona yang dimiliki oleh bubble sort ini, tapi jangan keburu-buru jatuh cinta pada pandangan pertama, cz ternyata bubble sort ini memiliki kekurangan juga. Emang sih dia simpel, tapi dia itu makan buanyak memori dan lama pengerjaannya jika yang disorting itu bilangannya banyak (banyak dalam konteks ini tu diatas 50000 angka). Tuh kan…! makanya jangan suka jatuh cinta cuma gara-gara kesan pertama, ati-ati dikadalin… Anyway, daripada semakin nggak nyambung, yuks kita liat grafiknya yang aku dapet dari sini. Here you are…

bubble

Tuh kan, diliat dari grafiknya aja, udah kliatan bahwa si bubble sort itu nggak baik untuk sorting yang jumlah angkanya banyak. Grafiknya yang menjulang dari bawah ke atas seperti gambar talinya balon yang sedang dipegang anak kecil (inget, gambar tali, jadi anak kecil dan balonnya tidak kelihatan). Oleh karena itulah, seorang ilmuwan asal Kota Kediri, Sir Alex Issac Alessandro Rizal Volta Avif Khan menyimpulkan bahwa nama bubble sort diambil dari bentuknya yang mirip tali balon. Tapi, karena cara dia menyimpulkan hal tersebut terlalu picik, ngawur, dan tidak bisa dipertanggungjawaban, maka pernyataan aneh tersebut dia tarik kembali :mrgreen: .

Seperti apa ilustrasinya? udah aku cariin, tapi pastikan kamu udah nginstall flashplayer ;)

Bubble itu mengecek satu per satu angka yang ada di array, lalu dibandingin. Jika kondisinya tepat, maka terjadi proses swapping. Ini pseudocodenya. Tapi inget, ini pseudocode. Biasanya indeks suatu array dari psudocode itu dimulai dari 1, bukan 0 yang seperti pada java.
BUBBLESORT(A)
1 for i - 1 to length[A]
2    do  for j - length[A] downto i + 1
3          do  if A[j] < A[j-1]
4                 then swap ( A[j] , A[j-1] )

Jadi, jelas terlihat bahwa bubble sort adalah suatu algoritma yang simpel abis, secara, cuman 4 baris doank gituuu…

Yang perlu diinget, pseudocode dari bubble sort nggak cuma yang aku tulis di atas, ada bermacam-macam. Ada yang ngeceknya dari depan, ada yang dari belakang.

Video yang ada di atas adalah ilustrasi dari bubble sort yang pengecekannya dari belakang. Jadi, coba cermati deh, mana orang yang bener2 swap dan mana yang cuma ngecek tingginya doank. Cz keduanya mirip. Pseudocode di atas juga ngecek dari belakang, cuma bedanya dengan video itu adalah, setiap iterasi sorting di video tersebut dicek mpe depan, sedangkan pada pseudocode tidak sampe depan, cz emang lebih efisien.

jadi, pseudocode di atas tidak identik dengan ilustrasi videonya, tapi memiliki cara yang nyaris sama dan cukup menjelaskan apa bubble sort itu.

Kalo yang pengen pseudocode dari bubble sort yang ngeceknya dari depan, check this out

procedure bubbleSort( A : list of sortable items ) defined as:
  do
    swapped := false
    for each i in 0 to length(A) - 2 inclusive do:
      if A[ i ] > A[ i + 1 ] then
        swap( A[ i ], A[ i + 1 ] )
        swapped := true
      end if
    end for
  while swapped
end procedure

0 Responses to “Bubble Sort Algorithm, hmmm…..”



  1. No Comments Yet

Leave a Reply




my nationality

writer


struggling for whole happiness "Muhamad Rizal Avif Khan"

Calendar

April 2009
M T W T F S S
« Mar   May »
 12345
6789101112
13141516171819
20212223242526
27282930