Jumat, 20 September 2019

Procedure, Function dan Module

PROCEDURE, FUNCTION dan MODULE

1.      Procedure

Sub procedure merupakan blokkode 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:
            [public|private]Sub(||)
       …..
            Statment    
       …..
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)
Mari kita buat source code pada procedure:
1.      Buatlah desain form seperti gambar dibawah ini:

2.      Aturlah pengaturan Properties seperti pada table berikut:
NO
OBJEK
PROPERTIES
PENGATURAN
1
Label1
Text
Kode Barang
2
Label2
Text
Nama Barang
3
Label3
Text
Satuan
4
Label4
Text
Harga
5
Label5
Text
Jumlah
6
Label6
Text
Total Harga
7
TextBox1
Name
TextboxKB
8
TextBox2
Name
TextboxNB
9
TextBox3
Name
TextboxS
10
TextBox4
Name
TextboxH
11
TextBox5
Name
TextboxJ
12
TextBox6
Name
TextboxTH
13
Button1
Name
ButtonHITUNG
Text
Hitung
14
Button2
Name
ButtonCLEAR
Text
Clear
15
Button3
Name
ButtonEXIT
Text
Exit























3. Kode program
Double klik pada form, kemudian buatlah sub procedure bersih berikut ini:
Panggil procedure yang anda buat diatas dengan cara, kik ganda pada form load ketik kode program berikut ini:
Panggil procedure yang anda buat diatas pada ButtonCLEAR dengan cara, klik ganda pada button CLEAR kenudian ketik kode program berikut ini;
Klik ganda pada Button EXIT, kemudian ketik kode program berikut ini:
Jalankan aplikasi dengan menekan tombol F5 (di keyboard), atau melalui icon Start Debugging di toolbar, atau melalui menu Debug > Start Debuging. Jika berhasil maka tampilan program akan seperti pada gambar dibawah ini 
 

Berikut adalah contoh program procedure:
Public Class Form1
    Sub Bersih()
        txtkode.Text = ""
        txtnama.Text = ""
        txtsatuan.Text = ""
        txthrgsatuan.Text = ""
        txtjumlah.Text = " "
        txttotal.Text = ""
        txtkode.Focus()
        txttotal.Enabled = False

    End Sub

    Private Sub Barang_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        Call Bersih()
    End Sub

    Private Sub btnclear_Click(sender As Object, e As EventArgs) Handles btnclear.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 txtkode.Text = "" Then
            MessageBox.Show("Kode Barang Harus diisi", "Konfirmasi", MessageBoxButtons.OK, MessageBoxIcon.Warning)
            txtkode.Focus()
        ElseIf txtnama.Text = " " Then
            MessageBox.Show("Nama Barang harus diisi", "Konfirmasi", MessageBoxButtons.OK, MessageBoxIcon.Warning)
            txtnama.Focus()
        ElseIf txtsatuan.Text = "" Then
            MessageBox.Show("Satuan Barang yang harus diisi", "Konfirmasi", MessageBoxButtons.OK, MessageBoxIcon.Warning)
            txtsatuan.Focus()
        ElseIf txthrgsatuan.Text = "" Then
            MessageBox.Show("Harga Satuan yang harus diisi", "konfirmasi", MessageBoxButtons.OK, MessageBoxIcon.Warning)
            txthrgsatuan.Focus()
        ElseIf txtjumlah.Text = "" Then
            MessageBox.Show("Jumlah barang yang harus diisi", "Konfirmasi", MessageBoxButtons.OK, MessageBoxIcon.Warning)
            txtjumlah.Focus()
        Else
            Call Hitung()
        End If
    End Sub

    Private Sub btnhitung_Click(sender As Object, e As EventArgs) Handles btnhitung.Click
        Call CekDataKosong()
    End Sub

    Private Sub btnexit_Click(sender As Object, e As EventArgs) Handles btnexit.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
Hasil run:


Function yaitu Sebuah kumpulan Statement yang akan mengembalikan sebuah nilai balik pada pemanggilnya. Nilai yang dihasilkan Function harus ditampung kedalam sebuah variabel.
Bentuk Umum :
[public|private]Function(||) As 
            …..
            …..
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 Is Numeric(TextAwal.text) then
  return true
 else
  return false
 end if
end function
Pemanggilan fungsi:
if cek Data()=true then
             Hitung Ref(textAwal.text)
            else
             messageBox.Show(“Data yang di masukkan bukan
angka”,”Kesalahan data”,MessageBoxButtons.OK,MessageBoxIcons.Error)
 end if.


Berikut ini merupakan beberapa perbedaan Fungtion dan procedure:

Procedure
Function
Definisi
Sebuah kumpulan perintah (Statement) yang tidak mengembalikan nilai balik terhadap pemanggilnya
Sebuah kumpulan Statement yang akan mengembalikan sebuah nilai balik pada pemanggilnya. Nilai yang dihasilkan Function harus ditampung kedalam sebuah variabel.
Parameter
Bisa menggunakan parameter dan bisa juga tidak menggunakan parameter (Optional).
Bisa menggunakan parameter dan bisa juga tidak menggunakan parameter (Optional).
Deklarasi
Menggunakan keyword “Sub”.
Menggunakan keyword “Function”:
untuk mengembalikan nilai hasil dari Statement menggunakan keyword “return” atau menggunakan nama dari function tersebut.
Keuntungan menggunakan procedure dan function adalah:
1.      Mengurangi duplikasi kode program. 
2.      Mengatasi masalah yang kompleks menjadi potongan-potongan yang lebih sederhana. 
3.      Meningkatkan kejelasan kode. 
4.      Kode yang mudah dibaca. 
5.      Informasi kode bersembunyi. 
6.      Dapat dipakai berulang kali. 
      Agar lebih paham , mari kita lihat contoh kasus function di bawah ini: 
       1.      Buatlah desain form seperti gambar di bawah ini.
        2. Aturlah pengaturan properties seperti pada table berikut:
Object
Properties
Nilai
Form1
Name
Form1
Text
Function
TexBox1
Name
TxtVar1
TexBox2
Name
TxtVar2
TexBox3
Name
TxtHasil
GroupBox1
Text
Operasi
RadioButton1
Name
RdbAkar
Text
Akar Kuadrat
RadioButton2
Name
RdbPangkat
Text
Pangkat
RadioButton3
Name
RdbPembagian
Text
Pembagian
RadioButton4
Name
RdbPerkalian
Text
Perkalian
RadioButton5
Name
RdbPenjumlahan
Text
Penjumlahan
RadioButton6
Name
RdbPengurangan
Text
Pengurangan
Button1
Name
BtnHitung
Text
Hitung
Button2
Name
BtnExit
Text
Exit

   3. Kode program
Klik kanan pada form, kemudian pilih view code , kemudian ketik deklarasi masing-masing fungsi sebagai berikut.
Klik ganda pada button hituung, kemudian ketik kode program berikut ini:

Klik ganda pada buton exit, kemudian ketik kode program berikut ini:

      4. Jalankan aplikasi dengan menekan tombol F5 di keyyboard atau melalui icon start debugging di toolbar, atau kemudian menu start debuging 
Berikut adalah contoh programnya:
Public Class Form1

    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 penjumlahan(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

    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load

    End Sub

    Private Sub btnhitung_Click(sender As Object, e As EventArgs) Handles btnhitung.Click
        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 rdbpenjumlahn.Checked = True Then
            txthasil.Text = penjumlahan(txtvar1.Text, txtvar2.Text)
        ElseIf rdbpengurangan.Checked = True Then
            txthasil.Text = pengurangan(txtvar1.Text, txtvar2.Text)
        End If
    End Sub

    Private Sub btnexit_Click(sender As Object, e As EventArgs) Handles btnexit.Click
        Dim tutup As String
        tutup = MessageBox.Show("Yakin tuup form ini?", "Konfirmasi", MessageBoxButtons.YesNo)
        If tutup = MsgBoxResult.Yes Then
            End
        Else
            Exit Sub
        End If
    End Sub
End Class
5. berikut ini adalah hassil run dari program di atas 
 



3. 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

Agar lebih paham, mari kita lihat contoh kasus modulo di bawah ini:
  1. Pertama-tama kita harus menambahkan module ke dalam project dengan cara klik PROJECT – ADD module, lalu ketik nama file yang ingin anda simpan kemudian klik ok. Lalu ketikan program seperti gambar berikut:
  1. Kemudian buatlah desain form seperti gambar dibawah ini:


3. Aturlah pengaturan properties seperti pada table berikut:
NO
OBJEK
PROPERTIES
PENGATURAN
1
Label1
Text
Alas
2
Label2
Text
Tinggi
3
Label3
Text
Hasil
4
TexBox1
Name
TextboxAlas
5
TexBox2
Name
TextboxTinggi
6
TexBox3
Name
TextboxHasil
7
Button1
Name
ButtonHitung
Text
Hitung
8
Button2
Name
ButtonExit
Text
Exit

       4. Klik ganda pada button hitung, kemudian ketik kode program berikut in

      5. Klik ganda pada button exit , kemudian ketik kode program berikut ini:

  1. Jalanan aplikasi dengan menekan tombol F5 pada keyboard.

  1. Berikut adalah contoh program module:
Module Module1
    Public alas As Integer
    Public tinggi As Integer

    Public Function luas_segitiga(ByVal a As Integer, ByVal b As Integer)
        Return (alas * tinggi) / 2
    End Function

End Module
Public Class Form1

Private Sub btnhitung_Click(sender As Object, e As EventArgs) Handles btnhitung.Click
Try
alas = Me.txtalas.Text
tinggi = Me.txttinggi.Text
Me.txthasil.Text = luas_segitiga(alas, tinggi)
Catch ex As Exception
MsgBox(ex.Message)
MsgBox("Error dalam menghitung, Harap masukan nilai", vbInformation)

End Try
End Sub

Private Sub btnexit_Click(sender As Object, e As EventArgs) Handles btnexit.Click
Dim tutup As String
tutup = MessageBox.Show(" Yakin anda tutup form ini?", "konfirmasi", MessageBoxButtons.YesNo)
If tutup = MsgBoxResult.Yes Then
End
Else
Exit Sub
End If
End Sub
End Class
  1. Berikut adalah hasil run:

















Tidak ada komentar:

Posting Komentar