Mencari jumlah data dengan nilai tertentu dalam sebuah larik atau tabel tanpa menggunakan perintah SQL. Bagai mana caranya? Sering kita dihadapkan pada masalah mencari jumlah nilai data pada suatu tabel atau array. Misalnya dalam satu tabel terdapat 20 data berupa angka acak dalam rentang [1,10). Jika ada pertanyaan berapa jumlah angka 9 yang ada dalam tabel tersebut?
Pada ilustrasi 1. menggambarkan bilangan acak dalam rentang [1,10). Kita diminta mencari jumlah angka 9 yang muncul.
Untuk menyelesaikan masalah tersebut dalam Visual Basic 6.0 dapat dibuat satu fungsi berikut;
------------------------------------------------------------------------------------------------
Function COUNTIF(Data(), strOperator As String, Nilai As Integer)
Dim i, j, N As Integer
N = UBound(Data)
i = 0
For j = 1 To N
Select Case strOperator
Case "<" If Data(j) < i =" i">"
If Data(j) > Nilai Then
i = i + 1
End If
Case "<=" If Data(j) <= Nilai Then i = i + 1 End If Case ">="
If Data(j) >= Nilai Then
i = i + 1
End If
Case "="
If Data(j) = Nilai Then
i = i + 1
End If
Case "<>"
If Data(j) <> Nilai Then
i = i + 1
End If
Case Else
MsgBox "Invalid operator"
Exit Function
End Select
Next j
COUNTIF = i
End Function
------------------------------------------------------------------------------------------------
Function COUNTIF diatas dibuat lebih flexible, misalkan kita diminta untuk mencari data seperti kasus diatas cara penyelesainnya adalah:
Masukkan Data pada Ilustrasi 1 kedalam ARRAY, atau kita bisa membuat array sendiri dengan data acak.
Membuat array untuk 20 data dengan nilai data dalam rentang [1,10)
-----------------------------------------------------------------------------------------------
Dim Data()
Dim Hasil as Integer
Redim Data(20)
For i=1 to 20
Data(i)=Round(Rnd()*10),0)
next i
'Panggil Fungsi
Hasil=COUNTIF(Data, "=", 9) 'artinya mencari jumlah data yang nilainya sama dengan 9
-----------------------------------------------------------------------------------------------
Operatornya dapat kita sesuaikan dengan kebutuhan, misalnya mencari data yang kurang dari 9 (COUNTIF(DATA, "<",9)), lebih besar dari 9 (COUNTIF(DATA, ">",9)), dst.
mudahkan,... selamat mencoba.
No comments:
Post a Comment
Silahkan memberikan komentar, saran, pertanyaan atau apapun yang penting sesuai dengan etika.