Terdapat banyak metode atau cara mengurutkan data, disini akan dibuat fungsi untuk pengurutan sederhana (kalau tidak salah biasanya disebut buble sort). Kode fungsinya adalah sebagai berikut:
---------------------------------------------------------------------------------
Function SortAsc(Data())
Dim Tmp, i, j, N As Integer
N = UBound(Data)
For i = 1 To N + 1
For j = (i + 1) To N
If Data(j) <= Data(i) Then
Tmp = Data(i)
Data(i) = Data(j)
Data(j) = Tmp
End If
Next j
Next i
End Function
---------------------------------------------------------------------------------
Fungsi tersebut digunakan untuk mengurutkan data dari bilangan terkecil ke yang terbesar
Contoh penggunaaan:
Dim Data()
Data=Array(8,3,5,5,6,7,9,3,8,9)
Call SortAsc(Data)
Hasilnya isi array Data() sudah terurutkan. Cara menampilkan, cukup sederhana, contohnya:
Dim i as Integer
For i=1 to ubound(Data)
Debug.Print Data(i)
Next i
Bagaimana kalau kita ingin mengurutkan secara Descending (terurut dari nilai yang terbesar)?
Anda bisa merubah nama fungsinya menjadi SortDesc(Data())
Kemudian ubahlah tanda operator "<=" menjadi ">=" hanya itu saja, dan siap dipakai.
Mudahkan,.... Selamat mencoba :)
---------------------------------------------------------------------------------
Function SortAsc(Data())
Dim Tmp, i, j, N As Integer
N = UBound(Data)
For i = 1 To N + 1
For j = (i + 1) To N
If Data(j) <= Data(i) Then
Tmp = Data(i)
Data(i) = Data(j)
Data(j) = Tmp
End If
Next j
Next i
End Function
---------------------------------------------------------------------------------
Fungsi tersebut digunakan untuk mengurutkan data dari bilangan terkecil ke yang terbesar
Contoh penggunaaan:
Dim Data()
Data=Array(8,3,5,5,6,7,9,3,8,9)
Call SortAsc(Data)
Hasilnya isi array Data() sudah terurutkan. Cara menampilkan, cukup sederhana, contohnya:
Dim i as Integer
For i=1 to ubound(Data)
Debug.Print Data(i)
Next i
Bagaimana kalau kita ingin mengurutkan secara Descending (terurut dari nilai yang terbesar)?
Anda bisa merubah nama fungsinya menjadi SortDesc(Data())
Kemudian ubahlah tanda operator "<=" menjadi ">=" hanya itu saja, dan siap dipakai.
Mudahkan,.... Selamat mencoba :)
itu codingnya di tarok dmn?
BalasHapusdi datagridnya atau di form active nya? mksih
bisa diantara prosedur/event dalam form atau dibuatkan sebuah modul atau class modul.
Hapusprasyarat yang harus diketahui yaitu cara membuat array menggunakan dim namavarArray() untuk input data, dan menampilkan data dari array itu sendiri.
Hapuscara menampilkan data bisa menggunakan Grid (dan teman-temannya) atau menggunakan form saja.