Minggu, 23 Agustus 2020

Vb.Net: Sub Procedure Dan Function


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