Langsung ke konten utama

PROCEDURE, FUNCTION DAN MODULE

PROCEDURE, FUNCTION DAN MODULE

POKOK BAHASAN:
1.      Procedure
2.      Function
3.      Module

2.1 Procedure

       Sub procedure (Procedure) sebaiknya menggunakan kata kerja (verb). Pemanggilan procedure yang masih dalam satu kelas (class) atau modul (module) dapat dilakukan dengan kata kunci Me. Procedure dapat menerima argument melalui nilai (by value) atau juga reference (by reference). Jika menggunakan by value, nilai pada argument tidak berubah. .Sedangkan jika menggunakan by reference, nilai argument yang digunakan dapat berubah sesuai dengan perintah dalam procedure.
Bentuk Umum :
     [Private|Public] Sub subname[(argumentlist)]
 Statements 
End sub
     Sub Procedure dapat dipanggil dengan perintah : 
[call] subname[(argumentlist)]
1. Procedure dengan argument di passing sebagai value 
Sub HitungVal(byVal as Decimal) 
A+=1 
textAkhir.text=a 
end sub
2. Procedure dengan argument di passing sebagai value 
Sub HitungRef(byRef as Decimal) 
A+=1 
textAkhir.text=a 
end sub 
3. Pemanggilan procedure 
HitungVal(textAwal.Text)

2.2 Function (Fungsi)

Fungsi mempunyai banyak kemiripan dengan sub procedure. Bedanya, fungsi selalu mengembalikan nilai (return value) 
Sintaks fungsi dituliskan sebagai berikut : 
[Private|Public] function functionname[(argumentlist)] [As type] 
Statement 
Functionname==expression | {return expression} 
End function 
Keterangan : 
1.      Perbedaan antara fungsi dengan procedure hanyalah pada pengembalian nilai saja (return value). Sebagai contoh : 
Menggunakan argument berupa nilai (by value) dan reference (by reference)
2.      Pengembalian nilai dapat dilakukan dengan menggunakan operator assignment “=” pada fungsi atau biasanya dengan perintah return.

Contoh : 
Private Function cekData() as Boolean 
if IsNumeric(TextAwal.text) then  return true 
else 
return false 
endif
 end function

2.3 Module

Module merupakan bagian yang sengaja dipisahkan untuk memudahkan pemrograman. Dalam module dapat dimasukkan procedure dan fungsi dan kemudian digunakan oleh beberapa form. 
1.      Umumnya modul dideklarasikan secara public (public) agar dapat digunakan di dalam kode dimanapun 
2.      Modul dapat diisi dengan main procedure yang akan dijalankan pertama kali saat program dimulai 
3.      Modul merupakan salah satu argumentasi code reuse yang bertujuan agar program lebih efesien.
Sintaks pembuatan module sebagai berikut : 
Module moduleName 
Statement 
End Module 
Contoh: 
Module Module 
Public intResponce, RoleId, Msg As Integer 
Public Username, Password, Nama As String 
End Module

2.4 Soal Latihan

1.      Listing Source
Public Class Form1
    Sub Bersih()
        txtkodebrg.Text = ""
        txtnamabarang.Text = ""
        txtsatuan.Text = ""
        txthrgsatuan.Text = ""
        txtjumlah.Text = ""
        txttotal.Text = ""
        txtkodebrg.Focus()
        txttotal.Enabled = False

    End Sub
    Private Sub ProcedureFunction_load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        Call Bersih()
    End Sub
    Private Sub bclear_Click(sender As Object, e As EventArgs) Handles bclear.Click
        Call Bersih()
    End Sub
    Private Function Hitung()
        Dim jumlah, hrgsatuan, total As Integer
        jumlah = txtjumlah.Text
        hrgsatuan = txthrgsatuan.Text
        total = jumlah * hrgsatuan
        txttotal.Text = total
        Return total
    End Function
    Sub cekdatakosong()
        If txtkodebrg.Text = "" Then
            MessageBox.Show("Kode Barang harus diisi", "konfirmasi", MessageBoxButtons.OK, MessageBoxIcon.Warning)
            txtkodebrg.Focus()
        ElseIf txtnamabarang.Text = "" Then
            MessageBox.Show("Kode Barang harus diisi", "konfirmasi", MessageBoxButtons.OK, MessageBoxIcon.Warning)
            txtnamabarang.Focus()
        ElseIf txtsatuan.Text = "" Then
            MessageBox.Show("Kode Barang harus diisi", "konfirmasi", MessageBoxButtons.OK, MessageBoxIcon.Warning)
            txtsatuan.Focus()
        ElseIf txthrgsatuan.Text = "" Then
            MessageBox.Show("Kode Barang harus diisi", "konfirmasi", MessageBoxButtons.OK, MessageBoxIcon.Warning)
            txthrgsatuan.Focus()
        ElseIf txtjumlah.Text = "" Then
            MessageBox.Show("Kode Barang harus diisi", "konfirmasi", MessageBoxButtons.OK, MessageBoxIcon.Warning)
            txtjumlah.Focus()
        Else
            Call Hitung()
        End If
    End Sub

    Private Sub bhitung_Click(sender As Object, e As EventArgs) Handles bhitung.Click
        Call cekdatakosong()
    End Sub

    Private Sub bexit_Click(sender As Object, e As EventArgs) Handles bexit.Click
        Dim Tutup As String
        Tutup = MessageBox.Show("Yakin tutup from ini ?", "Komfirmasi",
                            MessageBoxButtons.YesNo, MessageBoxIcon.Question)
        If Tutup = MsgBoxResult.Yes Then
            End
        Else
            Exit Sub
        End If
    End Sub
End Class
Output

2.      Output


Komentar