Lompat ke konten Lompat ke sidebar Lompat ke footer

Perbedaan Antara Parameter ByRef dan ByVal di VB6/VBNET

Perbedan antara ByRef dan ByVal secara sederhana adalah :
  1. ByRef = Parameter yang dikirimkan adalah object sehingga perubahan Nilai dari object tersebut yang diolah/diubah pada sub/function akan berakibat mengubah juga nilai dari object tersebut secara langsung.
  2. ByVal = Parameter yang dikirimkan adalah Nilai dari sebuah object sehingga anda tidak dapat mengubah Nilai Object tersebut, anda hanya dapat mengolah/mengubah nilai object tersebut di dalam sub/function saja, setelah sub/function tersebut selesai, perubahan nilai object di sub/function tidak akan mengubah nilai object yang sebenarnya.
Biar tidak bingung saya membuat contoh sederhana seperti dibawah ini :

Dim a As Integer = 0
Dim b As Integer = 0

Public Sub djie_test_ubah_nilai(ByRefa As Integer, ByVal b As Integer)
        a = 100
        b = 200
End Sub

Private Sub Form1_Load(ByValsender As System.Object, ByVal e AsSystem.EventArgs) Handles MyBase.Load
  Calldjie_test_sub(a, b)
  MessageBox.Show("Nilai A=" + a.ToString + " : Nilai B=" + b.ToString, "djiesoft Info", MessageBoxButtons.OK, MessageBoxIcon.Information)
End Sub

Penjelasan dari contoh diatas adalah :
  1. Pertama deklarasi variable a dan b dengan default value = 0
  2. Panggil fungsi untuk mengubah nilai, a dikirim dengan ByRef (berarti object a nya yang dikirim) sedangkan b dengan ByVal (berarti nilai b nya yang dikirim yaitu 0)
  3. Fungsi tersebut mengubah nilai a menjadi 100 dan b menjadi 200
  4. Setelah fungsi itu selesai, kita test nilai variable a dan b dengan menampilkannya ke MessageBox dan hasilnya adalah A=100 (Berubah) dan B=0 (tetap)
Semoga setelah anda mengeti perbedaan ini anda dapat mengaplikasikannya dengan benar di coding/sintak anda. Terimakasih

Tags:
contoh program vbnet, apa itu byval, pengertian byref vbnet, bedanya byval dan byref, contoh penerapan byval dan byref

Posting Komentar untuk "Perbedaan Antara Parameter ByRef dan ByVal di VB6/VBNET"