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