Procedure, Function dan Module
PROCEDURE, FUNCTION DAN MODULE
Sejauh ini, anda
telah menuliskan sub procedure yang dibuat secara otomatis pada saat
menggunakan event . Sub procedure merupakan blok kode yang mempunyai nama dan
berisi perintah yang dapat dipanggil suatu waktu. Artinya, hanya sekali dibuat
yang kemudian di panggil berkali-kali sesuai dengan kebutuhan
.
Bentuk Umum :
[Private|Public]
Sub subname[(argumentlist)]
Statements
End
sub
Sub Procedure
dapat dipanggil dengan perintah :
[call]
subname[(argumentlist)]
Keterangan :
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.
Secara default,
argument dimasukkan melalui nilai (by value) dapat menggunakan kata kunci ByVal
dan ByRef untuk By Reference.
Syntaks argument
:
[ByVal|ByRef]
variabelname as type
Contoh :
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)
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]
Statements{
Functionname=expression | {return
expression}
End
function
Keterangan :
-
Perbedaan
antara fungsi dengan procedure hanyalah pada pengembalian nilai saja (return
value). Sebagai contoh :
Menggunakan
argument berupa nilai (by value) dan reference (by reference)
-
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
Pemanggilan
fungsi
ifcekData()=true then
HitungRef(textAwal.text)
else
messageBox.Show(“Data yang
dimasukkan bukan angka”,”Kesalahan data”, MessageBoxButtons.OK,
MessageBoxIcons.Error)
endif
Modul (Module)
Modul merupakan
bagian yang sengaja dipisahkan untuk memudahkan pemrograman.Dalam module dapat
dimasukkan procedure dan fungsi dan kemudian digunakan oleh beberapa form.
-
Umumnya
modul dideklarasikan secara public (public) agar dapat digunakan di dalam kode
dimanapun
-
Modul
dapat diisi dengan main procedure yang akan dijalankan pertama kali saat
program dimulai
-
Modul
merupakan salah satu argumentasi code reuse
yang bertujuan agar program lebih efesien.
Sintaks
pembuatan modul sebagai berikut :
Module moduleName
Statement
End module
Contoh :
Module Module
Public intResponce, RoleId, Msg As Integer
Public Username, Password, Nama As String
End Module
Contoh Program Procedure dan Function
Object
|
Properties
|
Nilai
|
Form1
|
Name
Text
|
Form1
Barang
|
Label1
|
Text
|
Kode Barang
|
Label2
|
Text
|
Nama Barang
|
Label3
|
Text
|
Satuan
|
Label4
|
Text
|
Harga
|
Label5
|
Text
|
Jumlah
|
Label6
|
Text
|
Total Harga
|
TexBox1
|
Name
|
TxtKode
|
TexBox2
|
Name
|
TxtNamaBrg
|
TexBox3
|
Name
|
TxtSatuan
|
TexBox4
|
Name
|
TxtHarga
|
TexBox5
|
Name
|
TxtJumlah
|
TexBox6
|
Name
|
TxtTotalBayar
|
Button1
|
Name
Text
|
BtnHitung
Hitung
|
Button2
|
Name
Text
|
BtnClear
Clear
|
Button3
|
Name
Text
|
BtnClose
Close
|
Public Class Form1
Sub
Bersih()
TxtKode.Text = ""
TxtNamaBrg.Text = ""
TxtSatuan.Text = ""
TxtJumlah.Text = ""
TxtHarga.Text = ""
TxtTotalBayar.Text = ""
TxtKode.Focus()
TxtTotalBayar.Enabled = False
End Sub
Private Function Hitung()
Dim
JumlahBarang, HargaBarang, TotalBayar As Integer
JumlahBarang = TxtJumlah.Text
HargaBarang = TxtHarga.Text
TotalBayar = JumlahBarang * HargaBarang
TxtTotalBayar.Text = TotalBayar
Return
TotalBayar
End Function
Sub
CekDataKosong()
If
TxtKode.Text = "" Then
MessageBox.Show("Kode Barang harus diisi", "Konfirmasi", MessageBoxButtons.OK,
MessageBoxIcon.Warning)
TxtKode.Focus()
ElseIf
TxtNamaBrg.Text = "" Then
MessageBox.Show("Nama Barang harus diisi", "Konfirmasi", MessageBoxButtons.OK,
MessageBoxIcon.Warning)
TxtNamaBrg.Focus()
ElseIf
TxtSatuan.Text = "" Then
MessageBox.Show("Satuan Barang harus diisi", "Konfirmasi", MessageBoxButtons.OK,
MessageBoxIcon.Warning)
TxtSatuan.Focus()
ElseIf
TxtJumlah.Text = "" Then
MessageBox.Show("Harga Barang harus diisi", "Konfirmasi", MessageBoxButtons.OK,
MessageBoxIcon.Warning)
TxtJumlah.Focus()
ElseIf
TxtSatuan.Text = "" Then
MessageBox.Show("Harga Satuan harus diisi", "Konfirmasi", MessageBoxButtons.OK,
MessageBoxIcon.Warning)
TxtSatuan.Focus()
Else
Call
Hitung()
End If
End Sub
Private Sub Form1_Load(ByVal
sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load
Call
Bersih()
End Sub
Private Sub BtnClear_Click(ByVal
sender As System.Object, ByVal e As
System.EventArgs) Handles BtnClear.Click
Call
Bersih()
End Sub
Private Sub BtnHitung_Click(ByVal
sender As System.Object, ByVal e As
System.EventArgs) Handles BtnHitung.Click
Call
CekDataKosong()
End Sub
Private Sub BtnClose_Click(ByVal
sender As System.Object, ByVal e As
System.EventArgs) Handles BtnClose.Click
Dim
Tutup As String
Tutup = MessageBox.Show("Yakin tutup form ini ?", "Konfirmasi", MessageBoxButtons.YesNo,
MessageBoxIcon.Question)
If
Tutup = MsgBoxResult.Yes Then
End
Else
Exit
Sub
End If
End Sub
End Class
Gambar 1.1 Tampilan Desain Program
Gambar 1.2 Tampilan Hasil Program
Gambar 1.3 Tampilan Bersih
Komentar
Posting Komentar