Perbedaan Antara Parameter ByRef dan ByVal di VB6/VBNET


Perbedan antara ByRef dan ByVal secara sederhana adalah :

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.
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(ByRef a As Integer, ByVal b As Integer)
a = 100
b = 200
End Sub

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Call djie_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 :

Pertama deklarasi variable a dan b dengan default value = 0
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)
Fungsi tersebut mengubah nilai a menjadi 100 dan b menjadi 200
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

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

Zoemalang's community

ujung malang adalah Sebuah desa yang hilang terganti dengan ujung harapan

YoYo Games Blog Feed

Ujung malang adalah Sebuah desa yang hilang terganti dengan ujung harapan

Dealer Termurah

Menjual Segala Jenis Motor Baru Di Indonesia Cash Maupun Kredit

%d blogger menyukai ini: