Rabu, 17 Agustus 2011

Membuat Function dengan Jumlah Parameter Dinamis



Bagi mereka yang sering menggunakan function, pasti sudah mengetahui bahwa parameter yang

terdapat di dalam sebuah function biasanya harus sama jumlahnya dengan parameter yang

digunakan saat pemanggilan function tersebut. Contoh: Function DateSerial(Year As Integer,

Month As Integer, Day As Integer) yang memiliki tiga parameter masing-masing Year, Month,

dan Day (masing-masing bertipe Integer), dan ketika function ini dipanggil atau digunakan,

maka jumlah parameternya juga harus 3, misalnya: DateSerial(2008, 11, 20) yang akan

mengembalikan sebuah tanggal 20 November 2008. Pertanyaan selanjutnya adalah: Bisakah di

VB6 membuat function buatan yang meskipun jumlah parameter function sudah ditetapkan tapi

saat pemanggilan function tersebut jumlah parameternya bisa lebih banyak dari jumlah

parameter yang sebenarnya atau tergantung kepada jumlah data tertentu? Penasaran? Segera

temukan jawabannya di sini!
Kode::
'Deskripsi: Membuat fungsi yang salah satu jumlah parameternya
'           bersifat dinamis. Fungsi ini bermanfaat jika Anda ingin
'           memproses/mengolah data atau record yang jumlahnya
'           tidak selalu sama dalam setiap kesempatan. Dalam hal ini
'           Anda bisa menggunakan key ParamArray di parameter
'           yang jumlahnya dinamis tadi, dan menggunakan variabel
'           array dinamis; dalam contoh = arrData(). Dengan cara ini,
'           maka jumlah parameter yang Anda gunakan bisa lebih
'           banyak dari jumlah parameter awal function tersebut.
'Pembuat  : Masino Sinaga (admin@masinosinaga.com)
'Tanggal  : Kamis, 20 November 2008
'Persiapan: 1. Buat satu project standard exe dengan satu form
'           2. Tambahkan di atas form satu control CommandButton
'           3. Copy paste code berikut ke editor form yang bertalian
'-------------------------------------------------------------------

'Ketika Command1 diklik, maka fungsi ParamDinamis akan menghitung
'jumlah semua data yang berada di parameter kedua dan seterusnya
'Bandingkan antara jumlah parameter di awal function yang hanya 2
'dan ketika function ParamDinamis digunakan, maka jumlah parameter
'bisa lebih dari 2.
Private Sub Command1_Click()
  MsgBox ParamDinamis("Hitung1", 1, 2, 3) '<-- Jlh param = 4
  MsgBox ParamDinamis("Hitung2", 1, 2, 3, 4, 5, 6) '<-- Jlh param = 7
  MsgBox ParamDinamis("Hitung3", 5, 3) '<-- Jlh param = 3
End Sub

Private Function ParamDinamis(strA As String, ParamArray arrData()) As String
  Dim i As Integer
  Dim intHasil As Integer
  'Parameter strA hanya untuk membedakan saja bahwa parameter pertama
  'bersifat tetap, sedangkan parameter kedua (arrData()) bersifat
  'dinamis saat function digunakan. Bandingkan dengan jumlah parameter
  'yang sebenarnya yang terdapat di dalam function ParamDinas yang hanya 2
  ParamDinamis = strA
  'Perhatikan bahwa untuk mengambil data satu per satu dari parameter arrData,
  'kita melakukan loop mulai dari elemen terbawah sampai elemen teratas.
  For i = LBound(arrData) To UBound(arrData)
    'Dalam contoh ini, semua data diproses dengan cara dijumlahkan
    intHasil = intHasil + arrData(i)
  Next i
  ParamDinamis = ParamDinamis & " = " & intHasil

Monggo Isi Buku Tamu dibawah Ini

 
Design by Free WordPress Themes | Bloggerized by Lasantha - Premium Blogger Themes | Hot Sonakshi Sinha, Car Price in India