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? ;)
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...
- Selection Sort
- Bubble Sort
- Merge Sort
- Quick Sort
- Insertion Sort
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])
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:
nice, thx
Post a Comment