PROCEDURE,FUNCTION DAN MODULE
PERTEMUAN KE-1O
PROCEDURE,FUNCTION DAN MODULE
1.
Procedure
(Prosedur)
Sejauhini, andatelahmenuliskan sub procedure yang
dibuatsecaraotomatispadasaatmenggunakanevent . Sub procedure merupakanblokkode
yang mempunyainamadanberisiperintah yang dapatdipanggilsuatuwaktu. Artinya,
hanyasekalidibuat yang kemudian di panggilberkali-kali sesuaidengankebutuhan.
BentukUmum :
[Private|Public] Sub
subname[(argumentlist)]
Statements
End sub
Sub Procedure dapatdipanggildenganperintah :
[call] subname[(argumentlist)]
Keterangan :
Sub procedure (Procedure)
sebaiknyamenggunakan kata kerja (verb)
Pemanggilan procedure yang masihdalamsatukelas
(class) ataumodul (module) dapatdilakukandengan kata kunci Me.
Procedure dapatmenerima argument melaluinilai (by value)
ataujuga reference (by reference).Jikamenggunakan by value, nilaipada argument
tidakberubah.Sedangkanjikamenggunakan by reference, nilai argument yang
digunakandapatberubahsesuaidenganperintahdalam procedure.
Secara default, argument dimasukkanmelaluinilai (by
value) dapatmenggunakan kata kunciByValdanByRefuntuk By Reference.
Syntaksargument :
[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)
2.
Function
(Fungsi)
Fungsimempunyaibanyakkemiripandengan sub procedure.
Bedanya, fungsiselalumengembalikannilai (return value)
Sintaksfungsidituliskansebagaiberikut :
[Private|Public] function
functionname[(argumentlist)] [As type]
Statements{
Functionname=expression
| {return expression}
End function
Keterangan :
-
Perbedaanantarafungsidengan
procedure hanyalahpadapengembaliannilaisaja (return value). Sebagaicontoh :
Menggunakan
argument berupanilai (by value) dan reference (by reference)
-
Pengembaliannilaidapatdilakukandenganmenggunakan
operator assignment “=” padafungsiataubiasanyadenganperintah return.
Contoh :
Private FunctioncekData() as Boolean
if IsNumeric(TextAwal.text) then
return true
else
return false
endif
end function
if IsNumeric(TextAwal.text) then
return true
else
return false
endif
end function
Pemanggilanfungsi
ifcekData()=true then
HitungRef(textAwal.text)
else
messageBox.Show(“Data yang dimasukkanbukanangka”,”Kesalahan data”, MessageBoxButtons.OK,
MessageBoxIcons.Error)
endif
HitungRef(textAwal.text)
else
messageBox.Show(“Data yang dimasukkanbukanangka”,”Kesalahan data”, MessageBoxButtons.OK,
MessageBoxIcons.Error)
endif
|
Procedure
|
Function
|
|
|
Definisi
|
Sebuahkumpulanperintah
(Statement) yang tidakmengembalikannilaibalikterhadappemanggilnya
|
Sebuahkumpulan
Statement yang akanmengembalikansebuahnilaibalikpadapemanggilnya. Nilai yang
dihasilkan Function harusditampungkedalamsebuahvariabel.
|
|
Parameter
|
Bisamenggunakan
parameter danbisajugatidakmenggunakan parameter (Optional).
|
Bisamenggunakan
parameter danbisajugatidakmenggunakan parameter (Optional).
|
|
Deklarasi
|
Menggunakan
keyword “Sub”.
|
Menggunakan
keyword “Function”,
untukmengembalikannilaihasildari
Statement menggunakan keyword “return” ataumenggunakannamadari function
tersebut.
|
Keuntunganmenggunakan procedure dan function adalah:
1. Mengurangiduplikasikode
program
2. Mengatasimasalah yang
kompleksmenjadipotongan-potongan yang lebihsederhana
3. Meningkatkankejelasankode
4. Kode yang mudahdibaca
5. Informasikodebersembunyi
6. Dapatdipakaiberulang
kali
3.
Module (Modul)
Modulmerupakanbagian
yang sengajadipisahkanuntukmemudahkanpemrograman.Dalam module dapatdimasukkan
procedure danfungsidankemudiandigunakanolehbeberapa form.
-
Umumnyamoduldideklarasikansecara
public (public) agar dapatdigunakan di dalamkodedimanapun
-
Moduldapatdiisidengan
main procedure yang akandijalankanpertama kali saat program dimulai
-
Modulmerupakansalahsatuargumentasicode reuse yang bertujuan agar program
lebihefesien.
Sintakspembuatanmodulsebagaiberikut
:
Module
moduleName
Statement
End module
Contoh :
Module Module
Public intResponce, RoleId, Msg As Integer
Public Username, Password, Nama As String
End Module
A.
PRAKTIKUM
1. Procedure
1.
Buatproject baru, dengannamaPrak10.
2.
DesainTampilan
form sepertigambarberikutini :
3.
Tambahkankontrolke
form sepertipadagambardiatasdanaturpropertinyasepertitabelberikut:
|
Object
|
Properties
|
Nilai
|
|
Form1
|
Name
Text
|
Form1
Barang
|
|
Label1
|
Text
|
KodeBarang
|
|
Label2
|
Text
|
NamaBarang
|
|
Label3
|
Text
|
Satuan
|
|
Label4
|
Text
|
Harga
|
|
Label5
|
Text
|
Jumlah
|
|
Label6
|
Text
|
Total
Harga
|
|
TexBox1
|
Name
|
TxtKodeBrg
|
|
TexBox2
|
Name
|
TxtNamaBrg
|
|
TexBox3
|
Name
|
TxtSatuan
|
|
TexBox4
|
Name
|
TxtHrgSatuan
|
|
TexBox5
|
Name
|
TxtJumlah
|
|
TexBox6
|
Name
|
TxtTot
|
|
Button1
|
Name
Text
|
BtnHitung
Hitung
|
|
Button2
|
Name
Text
|
BtnClear
Clear
|
|
Button3
|
Name
Text
|
BtnExit
Exit
|
4.
Klikgandapada
Form, kemudianbuatlah sub procedure Bersihberikutini
:
Sub Bersih()
TxtKodeBrg.Text = ""
TxtNamaBrg.Text = ""
TxtSatuan.Text = ""
TxtHrgSatuan.Text = ""
TxtTot.Text = ""
TxtKodeBrg.Focus()
TxtTot.Enabled = False
EndSub
5.
Panggil
procedure yang andabuatdiatasdengancara, klikgandapada form load ketikkankode
program berikutini :
Call Bersih()
6.
Panggil
procedure yang andabuatdiataspadaBtnCleardengancara,
klikgandapadaBtnClearkemudianketikkankode program berikutini :
Call Bersih()
7.
JalankanaplikasidenganmenekantombolF5 (di keyboard), ataumelalui icon
Start Debugging di toolbar, ataumelalui menu Debug > Start Debuging.
8.
Buatlah
Function Hitung, berikutini :
PrivateFunction Hitung()
DimJumlah, HrgSatuan,
Total AsInteger
Jumlah = TxtJumlah.Text
HrgSatuan =
TxtHrgSatuan.Text
Total = Jumlah
* HrgSatuan
TxtTot.Text =
Total
Return Total
EndFunction
9.
BuatlahProcedure CekDataKosongdansekaligusmemanggilfunction Hitung, berikutini :
Sub CekDataKosong()
If TxtKodeBrg.Text = ""Then
MessageBox.Show("Kode Barang
harus diisi", "Konfirmasi",
MessageBoxButtons.OK, MessageBoxIcon.Warning)
TxtKodeBrg.Focus()
ElseIf TxtNamaBrg.Text = ""Then
MessageBox.Show("Nama Barang
harus diisi", "Konfirmasi",
MessageBoxButtons.OK, MessageBoxIcon.Warning)
TxtNamaBrg.Focus()
ElseIf TxtSatuan.Text = ""Then
MessageBox.Show("Satua
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 TxtHrgSatuan.Text = ""Then
MessageBox.Show("Harga
Satuan Barang harus diisi", "Konfirmasi",
MessageBoxButtons.OK, MessageBoxIcon.Warning)
TxtHrgSatuan.Focus()
Else
Call Hitung()
EndIf
EndSub
10.
Memanggil
procedure CekDataKosongdengancara, klikgandapadatombolBtnHitung:
Call CekDataKosong()
11.
JalankanaplikasidenganmenekantombolF5 (di keyboard), ataumelalui icon
Start Debugging di toolbar, ataumelalui menu Debug > Start Debuging.
12.
KlikgandapadatombolBtnExit,
Kemudianketikkankode program berikutini :
Dim Tutup AsString
Tutup = MessageBox.Show("Yakin tutup form ini ?", "Konfirmasi",
MessageBoxButtons.YesNo,MessageBoxIcon.Question)
MessageBoxButtons.YesNo,MessageBoxIcon.Question)
If TUTUP = MsgBoxResult.Yes Then
End
Else
ExitSub
EndIf
13.
JalankanaplikasidenganmenekantombolF5 (di keyboard), ataumelalui icon
Start Debugging di toolbar, ataumelalui menu Debug > Start Debuging.
14.
SimpanaplikasiAnda.
2.
Function
1.
TambahkanForm baru, dengannamaForm2.
2.
DesainTampilan
form sepertigambarberikutini :
3.
Tambahkankontrolke
form sepertipadagambardiatasdanaturpropertinyasepertitabelberikut:
|
Object
|
Properties
|
Nilai
|
|
Form1
|
Name
Text
|
Form1
Function
|
|
TexBox1
|
Name
|
TxtVar1
|
|
TexBox2
|
Name
|
TxtVar2
|
|
TexBox3
|
Name
|
TxtHasil
|
|
GroupBox1
|
Text
|
Operasi
|
|
RadioButton1
|
Name
Text
|
RdbAkar
AkarKuadrad
|
|
RadioButton2
|
Name
Text
|
RdbPangkat
Pangkat
|
|
RadioButton3
|
Name
Text
|
RdbPembagian
Pembagian
|
|
RadioButton4
|
Name
Text
|
RdbPerkalian
Perkalian
|
|
RadioButton5
|
Name
Text
|
RdbPenjumlahan
Penjumlahan
|
|
RadioButton6
|
Name
Text
|
RdbPengurangan
Pengurangan
|
|
Button1
|
Name
Text
|
BtnHitung
Hitung
|
|
Button2
|
Name
Text
|
BtnExit
Exit
|
4.
Klikkananpada
form, kemudianpilih menu view, kemudianketikdeklarasimasing-masingfungsisebagaiberikutini
:
Function Akar(ByVal a As
Decimal) As String
Return Math.Sqrt(a)
End Function
Function Pangkat(ByVal a As
Decimal, ByVal b As Decimal) As String
Return a ^ b
End Function
Function Pembagian(ByVal a As
Decimal, ByVal b As Decimal) As String
Return a / b
End Function
Function Perkalian(ByVal a As
Decimal, ByVal b As Decimal) As String
Return a * b
End Function
Function Pemjumlahan(ByVal a As
Decimal, ByVal b As Decimal) As String
Return a + b
End Function
Function Pengurangan(ByVal a As
Decimal, ByVal b As Decimal) As String
Return a - b
End Function
5.
KlikgandapadaTombolHitung,
kemudianketikkode program berikutini :
If RdbAkar.Checked = True
Then
TxtHasil.Text =
Akar(TxtVar1.Text)
ElseIf RdbPangkat.Checked =
True Then
TxtHasil.Text =
Pangkat(TxtVar1.Text, TxtVar2.Text)
ElseIf RdbPembagian.Checked
= True Then
TxtHasil.Text = Pembagian(TxtVar1.Text,
TxtVar2.Text)
ElseIf RdbPerkalian.Checked
= True Then
TxtHasil.Text =
Perkalian(TxtVar1.Text, TxtVar2.Text)
ElseIf
RdbPenjumlahan.Checked = True Then
TxtHasil.Text =
Pemjumlahan(TxtVar1.Text, TxtVar2.Text)
ElseIf
RdbPengurangan.Checked = True Then
TxtHasil.Text =
Pengurangan(TxtVar1.Text, TxtVar2.Text)
End If
6.
JalankanaplikasidenganmenekantombolF5 (di keyboard), ataumelalui icon
Start Debugging di toolbar, ataumelalui menu Debug > Start Debuging.
7.
SimpanaplikasiAnda
3.
Module
Membuat module rumusmencariluassegitiga.
1. Menambahkan
module kedalam project
Berinama module tersebutsesuaidengan
yang diinginkan.
2. Mengisi
module dengan variable ataufungsi
3. Tambahkan
form dandesainseperticontohberikutini
Keterangan :
Alas = txt_alas
Tinggi = txt_tinggi
HASIL = txt_hasil
HITUNG = hitung
4.
Tambahkankodepada button “HITUNG”
5. JalankanaplikasidenganmenekantombolF5 (di keyboard), ataumelalui icon
Start Debugging di toolbar, ataumelalui menu Debug > Start Debuging.
6. SimpanaplikasiAnda
Module
Module1
Sub
Main()
‘BagianJudul
Console.WriteLine(“MenghitungLuas_Segitiga”)
Console.WriteLine(“————————“)
‘BagianJudul
Console.WriteLine(“MenghitungLuas_Segitiga”)
Console.WriteLine(“————————“)
‘BagianKamus
Dim A As Integer
Dim T As Integer
Dim luas As Double
Dim A As Integer
Dim T As Integer
Dim luas As Double
‘BagianDeskripsi
Console.Write(“Masukan A = “)
A = Console.ReadLine
Console.Write(“Masukan T = “)
T = Console.ReadLine
luas = (1 / 2 * A * T)
Console.WriteLine(“luas:” &luas)
Console.ReadLine()
End Sub
End Module
Console.Write(“Masukan A = “)
A = Console.ReadLine
Console.Write(“Masukan T = “)
T = Console.ReadLine
luas = (1 / 2 * A * T)
Console.WriteLine(“luas:” &luas)
Console.ReadLine()
End Sub
End Module
Komentar
Posting Komentar