Pengalaman pertama kali kerja di luar lingkungan kampus sebagai seorang coder, Rani dapet pertanyaan dari atasan. "Apa perbedaan Sub dengan Function?"
Sebagai coder pemula pastinya bingung jawabnya, soalnya biasa cuma pakai event yang ada dalam control aja. Usut-punya usut ternyata jawaban nya simple sekali:
"Pada function ada nilai yang dikembalikan sementara pada sub tidak".
Lalu bagaimana dengan event? Event merupakan sub procedure yang dijalankan dengan trigger/aksi yang dilakukan pada control seperti Click, TextChanged, dan lain sebagainya.
# Sub Procedure #
Mari kita bahas mulai dari Sub Procedure. Sub procedure intinya merupakan kumpulan code yang diawali dengan Sub dan diakhiri dengan End Sub.Sintaks:
[accessibility] Sub nama_prosedur ( parameter )
statement
End Sub
Keterangan:
Accessibility bisa berupa Public, Protected, Friend, Protected Friend, atau Private yang menentukan dari bagian mana saja sub tersebut dapat diakses.
nama_prosedur merupakan nama sub procedure yang penamaan nya harus sesuai dengan aturan penamaan dalam Visual Basic dan harus diawali dengan huruf atau underscore ( _ ).
parameter dideklarasikan sebagaimana kita mendeklarasikan variable. Sebuah sub procedure bisa memiliki parameter ataupun tidak. Parameter sub prosedur ada dua jenis yaitu ByVal dan ByRef. Pada parameter ByVal nilai hanya berubah pada prosedur tersebut sedangkan diluar prosedur nilai tersebut tidak akan berubah. Sebaliknya nilai ByRef akan ikut berubah di luar sub procedure.
Contoh Penulisan:
Sub Procedure dengan 1 parameter:
Private Sub GantiTeks(ByVal TeksBaru As String)
TextBox1.Text = TeksBaru
End Sub
Sub Procedure dengan 2 parameter:
Public Sub TampilkanPeringatan(ByVal Pesan As String, _
ByVal Judul As String)
MessageBox.Show(Pesan, Judul, MessageBoxButtons.OK, _
MessageBoxIcon.Exclamation)
End Sub
Sub Procedure dengan parameter opsional (boleh diisi boleh tidak tetapi memiliki nilai default):
Private Sub UbahPesan(Optional ByVal Pesan As String = "")
If Pesan = "" Then
MsgBox("Tidak ada pesan")
Else
MsgBox(Pesan)
End If
End Sub
Contoh Pemanggilan Sub Procedure:
Sub Procedure dengan 1 parameter:
UI:
Code:
Private Sub Form1_Load(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles MyBase.Load
Button1.Text = "Choose..."
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles Button1.Click
GantiTeks("Rani")
End Sub
Runtime:
Sub Procedure dengan 2 parameter:
Code:
Private Sub Form1_Load(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles MyBase.Load
Button1.Text = "Choose..."
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles Button1.Click
TampilkanPeringatan("Isi data sesuai format.", "Peringatan")
End Sub
Runtime:
Sub Procedure dengan parameter opsional:
Call UbahPesan()
UbahPesan("Selamat Datang!")
# Function #
Definisi fungsi adalah kumpulan code yang diawali dengan Function dan diakhiri dengan End Function. Function menjalankan kode diantaranya dan mengembalikan sebuah nilai. Artinya sama seperti sub procedure tetapi function mengembalikan nilai.Sintaks:
[ accessibility ] Function nama_function [ paramater ] [As tipe_nilai ]
statement
End Function
Keterangan:
Accessibility bisa berupa Public, Protected, Friend, Protected Friend, atau Private yang menentukan dari bagian mana saja function tersebut dapat diakses.
nama_function merupakan nama function yang penamaan nya harus sesuai dengan aturan penamaan dalam Visual Basic dan harus diawali dengan huruf atau underscore ( _ ).
parameter dideklarasikan sebagaimana kita mendeklarasikan variable. Sebuah function bisa memiliki parameter ataupun tidak. Parameter sub prosedur ada dua jenis yaitu ByVal dan ByRef. Pada parameter ByVal nilai hanya berubah pada prosedur tersebut sedangkan diluar prosedur nilai tersebut tidak akan berubah. Sebaliknya nilai ByRef akan ikut berubah di luar function.
Contoh Penulisan:
Function dengan 1 parameter:
Function BagiDua(ByVal sNilai As Single) As Single
Return sNilai / 2
End Function
Function dengan 2 parameter:
Private Function HasilBagi(ByVal sNilai As Single, ByVal sBagi As Single) As Single
Return sNilai / sBagi
End Function
Function dengan parameter opsional (boleh diisi boleh tidak tetapi memiliki nilai default):
Public Function TampilkanPesan(Optional ByVal IsiPesan As String = "") As String
If IsiPesan = "" Then
Return "Tidak ada pesan"
Else
Return "Isi Pesan adalah " & IsiPesan
End If
End Function
Contoh Pemanggilan Function:
Function dengan 1 parameter:
Private Sub Button1_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles Button1.Click
TextBox1.Text = BagiDua(5)
End Sub
Function dengan 2 parameter:
Private Sub Button1_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles Button1.Click
TextBox1.Text = HasilBagi(7, 2)
End Sub
Function dengan parameter opsional:
Private Sub Button1_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles Button1.Click
TextBox1.Text = TampilkanPesan()
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles Button1.Click
TextBox1.Text = TampilkanPesan("Selamat Datang!")
End Sub
Click here if you like this article.
1 Comments