Monday, June 6, 2011

Sorting Method & Contoh

Assalamu'alaikum... :)


I feel really messed up. Ha-ha. Dan tiba-tiba terpikir buat post entry. Sambil belajar. Or is that the other way around? Whatever. :)

Dari semester pertama belum begitu paham soal Sorting method. Ups. Yap. Okay, mungkin saya agak lambat. Satu-satunya latihan yang aku lakuin pake Sorting itu di semester 1, soal dari Pak Endang. Remember this? ;)


But I'm not talking about it now. Kita bahas Sorting aja dulu deh... -____-)

Jujur waktu ini ditulis aku  belum paham sepenuhnya soal Sorting. Baru berhasil beberapa kali but still can't grasp it all. Let's learn alright? :D

Hm... So there are 5 kinds of Sorting Method here...
  1. Selection Sort
  2. Bubble Sort
  3. Merge Sort
  4. Quick Sort
  5. Insertion Sort
Selection Sort, cari bilangan terkecil lalu tukar dengan bilangan pertama dari data tersebut (select yang terkecil).
Bubble Sort, bandingkan data ke-n dengan data sebelumnya (n-1), jika lebih kecil maka tukar (like a bubble, mereka naik ke atas, ke atas dan ke atas lagi).
Merge Sort, mengelompokkan deret bilangan ke dalam 2 bagian, 4 bagian, 8 bagian dst, lalu urutkan secara langsung (merge data yang bersebelahan jadi satu bagian).
Quick Sort, dengan menentukan batas bawah (Lower Bound i=1) dan batas atas (Upper Bound i=n), posisinya ditukar jika LB>UB.
Insertion Sort, pengecekkan dimulai dari data ke-2 (mis. i=1), bandingkan data i dengan i-1, jika lebih kecil data i disisipkan ke depan. dst... (insert atau sisipkan ke awal)

Gitu bukan ya...? :D


Aku coba descending sort di sini. Di urut dari yang terbesar terlebih dahulu. Fungsi sort nya bisa dilihat di void sort(). Dimulai dari data terakhir (j=n;) sampai j=i, dimana i adalah data ke dua (i=2), jadi sampai j=2. Bandingkan,
jika data[j] lebih besar dari data sebelumnya (data[j-1]) maka tukar posisinya. Caranya, kita buat variable bantu temp.
Kita pindahkan dulu data[j] ke temp (temp=data[j]),
Lalu pindahkan data[j-1] ke data[j] (data[j]=data[j-1]),
Lalu pindahkan data yang disimpan di temp tadi ke data[j-1] (data[j-1]=temp).
See, jadi dituker-tuker... :D

Itu aja ya...?
Eh itu aja... Beneran deh... :)
Contoh outputnya kayak gini...


Kalau mau pake ascending sort, dari yang terkecil ke yang lebih besar, tinggal diubah rumus if-nya
Descending : if (data[j]>data[j-1])
Ascending : if (data[j]<data[j-1])


Can you tell what kind of Sorting method I use?
Hahaha. Awalnya bingung, jadi yang aku pake sorting apa ya...? Liat lagi pengertian masing-masing jenis sorting.
Sorting ini dilakukan dengan membandingkan data n dengan data n-1, jika sesuai syarat if, maka ditukar. So... it's Bubble Sort, right?

Kayaknya Sorting yang lain pun gak terlalu rumit... *sok tau* *ngarep*
Kita coba next time... :)

Thanks for accompanying me... :D

1 comments:

arch_sangga said...

nice, thx

Post a Comment