Wednesday, 11 August 2010

Ascending dan Descending (2)

Tulisan ini merupakan lanjutan dari:
Ascending dan Descending (1)

Setelah proses Ascending, maka perlu kita tampilkan hasil pengurutan pada senarai (array) nilai agar informasi yang dikandung (selama 9 bulan, hah? ) dapat tersampaikan dengan jelas. Setelah ditampilkan maka kita lanjut ke proses selanjutnya yaitu Descending. Sama seperti Ascending, algoritma yang digunakan tidak jauh berbeda hanya cukup menganti operator pada kondisi if menjadi 'lebih besar' atau '>' yang sebelumnya 'lebih kecil' atau '<'. Maka *sim salabim...* (buset kayanya canggih amat >.<) semua sudah terurut secara Desending. Tapi ini bukan satu-satunya algoritma untuk itu coba perhatikan kode berikut:

...
for(int c=0;c < (MAX_NILAI/2);c++){
    int _temp = nilai[c], d = MAX_NILAI-(c+1);
    nilai[c] = nilai[d];
    nilai[d] = _temp;
}
...
Syarat dari algoritma diatas adalah kita harus terlebih dahulu melakukan pengurutan baik secara Ascending atau Descending. Misal kita Ascendingkan dahulu, lalu untuk mencari Descending cukup menggunakan algoritma diatas. Dan begitu juga sebaliknya Descending dahulu untuk mencari Ascending-nya. Algoritma ini dapat mempercepat proses yang diperlukan, bandingkan dengan sebelumnya yang memerlukan pengulangan bercabang dan kondisi if. Yang perlu diperhatikan adalah jumlah pengulangan yaitu pada 'c < (MAX_NILAI/2)', jangan sampai tidak dibagi 2. Karena nilainya nanti bisa balik lagi seperti semula. Tak perlu aku jelaskan lagi kenapa ini semua bisa terjadi. So.. happy coding and ngurutin!! :D

- krofz

No comments:

Post a Comment

Maaf jika komentar anda lama terbitnya ^__^, penulis berusaha OL sesering mungkin. Komentar anda adalah semangat blog ini, dan juga semangat para blogger lainnya. You can use XHTML tags: <a href="" rel="link"> </a>, <strong> </strong>, <b> </b>, <em> </em>, <i> </i>.

Spesial character use :
&lt; for <
&gt; for >


Use Pastebin.com for alternative to display your code :) .

 

back to top

back to top