Pengalaman pertama kali kerja di luar lingkungan kampus selaku seorang coder, Rani dapet pertanyaan dari atasan. "Apa perbedaan Sub dengan Function?" Sebagai coder pemula pastinya resah jawabnya, soalnya biasa hanya 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 dijalankan dengan trigger/agresi yang dilakukan pada control mirip 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_pro sedur ( parameter ) statement End Sub Keterangan: Accessibility mampu berbentukPublic, Protected, Friend, Protected Friend, atau Private yang menentukan dari bab mana saja sub tersebut mampu diakses. nama_prosedur ialah nama sub procedure yang penamaan nya harus sesuai dengan hukum penamaan dalam Visual Basic dan mesti diawali dengan aksara atau underscore ( _ ). parameter dideklarasikan sebagaimana kita mendeklarasikan variable. Sebuah sub procedure mampu mempunyai parameter ataupun tidak. Parameter sub mekanisme ada dua jenis yakni ByVal dan ByRef. Pada parameter ByVal nilai hanya berganti pada prosedur tersebut sedangkan diluar mekanisme 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 namun 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 yakni kumpulan code yang diawali dengan Function dan diakhiri dengan End Function. Function menjalankan aba-aba diantaranya dan mengembalikan sebuah nilai. Artinya sama seperti sub procedure namun 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 menentukan dari bagian mana saja function tersebut dapat diakses. nama_function ialah nama function yang penamaan nya mesti sesuai dengan aturan penamaan dalam Visual Basic dan mesti diawali dengan aksara atau underscore ( _ ). parameter dideklarasikan sebagaimana kita mendeklarasikan variable. Sebuah function bisa mempunyai parameter ataupun tidak. Parameter sub mekanisme ada dua jenis yaitu ByVal dan ByRef. Pada parameter ByVal nilai hanya berganti pada prosedur tersebut sedangkan diluar prosedur nilai tersebut tidak akan berubah. Sebaliknya nilai ByRef akan ikut berganti 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 namun mempunyai 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. Sumber http://rani-irsan.blogspot.com