Pengalaman pertama kali kerja di luar lingkungan kampus sebagai seorang coder, Rani dapet pertanyaan dari atasan. "Apa perbedaan Sub dengan Function?"
Sebagai coder pemula tentu saja gundah jawabnya, soalnya biasa cuma pakai event yang ada dalam control aja. Usut-punya usut ternyata balasan nya simple sekali:
"Pada function ada nilai yang dikembalikan sementara pada sub tidak".
Lalu bagaimana dengan event? Event merupakan sub procedure yang dilaksanakan dengan trigger/agresi yang dikerjakan pada control mirip Click, TextChanged, dan lain sebagainya.
# Sub Procedure #
Mari kita bahas mulai dari Sub Procedure. Sub procedure intinya ialah kumpulan code yang diawali dengan Sub dan diakhiri dengan End Sub.Sintaks:
[accessibility] Sub nama_prosedur ( parameter )
statement
End Sub
Keterangan:
Accessibility bisa berbentukPublic, Protected, Friend, Protected Friend, atau Private yang memilih dari bagian mana saja sub tersebut dapat diakses.
nama_prosedur ialah nama sub procedure yang penamaan nya harus sesuai dengan aturan penamaan dalam Visual Basic dan harus diawali dengan karakter atau underscore ( _ ).
parameter dideklarasikan sebagaimana kita mendeklarasikan variable. Sebuah sub procedure mampu memiliki parameter ataupun tidak. Parameter sub prosedur ada dua jenis yaitu ByVal dan ByRef. Pada parameter ByVal nilai cuma berubah pada prosedur tersebut sedangkan diluar mekanisme nilai tersebut tidak akan berganti. Sebaliknya nilai ByRef akan ikut berganti 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 mempunyai 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 yaitu kumpulan code yang diawali dengan Function dan diakhiri dengan End Function. Function menjalankan instruksi diantaranya dan mengembalikan suatu nilai. Artinya sama seperti sub procedure tetapi function mengembalikan nilai.Sintaks:
[ accessibility ] Function nama_function [ paramater ] [As tipe_nilai ]
statement
End Function
Keterangan:
Accessibility mampu berupa Public, Protected, Friend, Protected Friend, atau Private yang memilih dari bab mana saja function tersebut dapat diakses.
nama_function merupakan nama function yang penamaan nya harus sesuai dengan hukum penamaan dalam Visual Basic dan mesti diawali dengan huruf atau underscore ( _ ).
parameter dideklarasikan sebagaimana kita mendeklarasikan variable. Sebuah function mampu memiliki parameter ataupun tidak. Parameter sub prosedur ada dua jenis yaitu ByVal dan ByRef. Pada parameter ByVal nilai hanya berganti pada mekanisme tersebut sedangkan diluar mekanisme nilai tersebut tidak akan berganti. 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 yakni " & 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.
Sumber http://rani-irsan.blogspot.com
EmoticonEmoticon