Senin, 06 Agustus 2018

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
Pemanggilanfungsi
      ifcekData()=true then
            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 = ""
         TxtJumlah.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)
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(“————————“)
‘BagianKamus
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

Tidak ada komentar:

Posting Komentar