Sorting Microsoft Excel

SORTING ARRAY

 

Bagi sebagian orang, mungkin terlintas pertanyaan “Buat apa kita susah-susah mempelajari atau bahkan menulis program hanya untuk melakukan proses sorting. Bukankah pada MS Excel sudah ada fasilitas sorting yang sangat handal dan cepat?”. Ya… tepat sekali, saya sendiri  masih terus bertanya-tanya, algoritma sorting apa yang dipakai oleh Excel untuk melakukan proses sorting tsb, sehingga bisa melakukannya dengan sangat cepat bahkan untuk data yg banyak sekalipun. Buat saya setidaknya ada beberapa alasan mengapa sorting array ini masih cukup berharga untuk kita pelajari.

  1.  Ketika kita sedang bekerja dengan array, dan apabila elemen-elemen array tersebut belum tersusun baik ascending maupun descending, maka dengan menggunakan Algoritma Sort tertentu, proses eksekusinya bisa lebih cepat daripada menggunakan Excel Worksheet Sorting
  2. Jika jumlah data yang akan di-sort pada worksheet hanya sedikit (kurang dari 1000) proses sorting dengan menggunakan algoritma yang akan kita bahas nanti, dapat dilakukan dalam waktu yang relatif cepat
  3.  Paling tidak, dapat menjadi bahan untuk belajar.

 

Sorting array yg akan kita bicarakan ini, akan dibatasi pada :

  1.  Single Dimesional Array
  2. Sort Ascending,
  3. Text Compare, artinya jika terdapat numeric data pada elemen array yg akan di sort, maka data numeric tsb akan diperlakukan sebagai data text. Saya sengaja membatasi sorting ini hanya untuk data text saja, karena menurut saya…. ini menurut saya lho ya… sorting text sedikit lebih rumit jika dibanding dengan sorting numeric.

 

Ada begitu banyak alrgoritma sort yang sudah dikembangkan oleh para pakar, antara lain, bubble sort, selection sort, insertion sort, heap sort, dll.

 

Pada tulisan ini, Algoritma Sorting yg akan kita bicarakan adalah :

  1. Bubble Sort
  2. Selection Sort
  3. Quick Sort
  4. Merge Sort
  5. Bucket Sort

 

Workbook vbaSortArray terdiri dari 3 Module, modSortArray_1, modSortArray_2, serta modSysInfo.  modSortArray_1 dan modSortArray 2 pada dasarnya adalah sama, yaitu berisi prosedur-prosedur yg sesuai dengan algoritma sort di atas. Bedanya pada modSortArray_2, pada saat program dieksekusi seluruh operasi (instruksi) akan dihitung jumlahnya, sehingga kita bisa mengetahui berapa jumlah operasi/instruksi yang harus dilalui untuk menyelesaikan proses sorting dengan menggunakan algoritma tertentu, sedangkan pada modSortArray_1, tanpa menghitung jumlah operasi. Untuk modSysinfo berisi prosedur yang dapat menghasilkan informasi memory dan prosesor komputer yang dipakai.

 

Pada sheet “Test” kita dapat membandingkan kecepatan proses dari masing-masing algoritma sort. Pada sheet “Test” ini terdapat :

1.     Tombol untuk membangkitkan random text yg terdiri dari 8 karakter yang akan diisi pada kolom A. Banyaknya text sesuai dengan angka yang kita isi pada cell G4. Pada saat tombol ini ditekan, program juga akan menghasilkan text yang sudah terurut Ascending pada kolom B. Proses sortingnya menggunakan Excel Worksheet Sorting. Tujuanya adalah untuk membandingkan hasil sorting dengan algoritma tertentu sudah menghasilkan hasil yang benar atau tidak.

2.    Tombol untuk menjalankan proses sorting, algoritmanya sesuai dengan algoritma yg kita pilih pada cell G6. Selain itu juga, masih ada pilihan apakah proses sortingnya dengan menghitung jumlah operasi atau tidak, pilihannya ada pada cell G8. Hasil sorting akan ditampilkan dikolom C. Sebenarnya hasil tersebut tidak perlu ditampilkan, karena kita kan sedang bekerja dengan array, tetapi karena tujuannya adalah untuk proses pembelajaran dan untuk perbandingan apakah hasilnya sudah benar, maka hasilnya perlu ditampilkan.

3.    Tabel untuk mencatat hasil pengukuran dari proses sorting, jumlah operasi/instruksi yang dilalui untuk proses eksekusi.

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s