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 ...

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...

Do-Re-Mi-Fa-Sol-La-Si-Do

Do Re Mi Fa Sol La Si Do ... Siapa yang tidak tahu not ini ? Not  ini digunakan untuk membuat alunan musik dan disusun sedemikian rupa hingga menghasilkan musik yang indah dan berirama. Aku ingin mencari arti yang menarik dari not ini. Not dimulai dari Do dan berakhir di Do yang satu oktaf lebih tinggi dari Do pertama,dan diantaranya terdapat 6 not dengan intonasi yang berbeda dan semakin meninggi. Do Re Mi Fa Sol La Si Do...  seperti 7 langkah atau bisa juga disebut 7 jenjang yang diinginkan manusia dalam hidupnya, dan sudah pasti terjadi pada manusia tentunya dengan kehendak yang kuasa. Dimulai dari Do dan berakhir di Do, seperti "Aku diciptakan oleh Tuhan dan sudah dipastikan aku akan kembali kepadanya". Coba anda lantunkan not tersebut tanpa not  ke-7 "Do" pasti terasa ada yang kurang,atau tanpa not ke-1 , atau tanpa not ke-1 dan 7. Akan terasa canggung dan seperti kehilangan tangga  terakhir dalam lantunan itu. Aku harus menerima kenyata...