Wednesday, August 8, 2018


PERTEMUAN 10
PROCEDURE, FUNCTION DAN MODULE


A.    TUJUAN
-       Memahami dan mengenal Procedure, Function dan Modul
-       Dapat membuat aplikasi sederhana dengan menggunakan Procedure, Function dan Modul

B.     PERANGKAT LUNAK (SOFTWARE)
-       Microsoft Visual Basic 2008

C.    DASAR TEORI

1.      Procedure (Prosedur)

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)

1.      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
            if cekData()=true then
                        HitungRef(textAwal.text)
            else
                        messageBox.Show(“Data yang dimasukkan bukan angka”,”Kesalahan data”, MessageBoxButtons.OK, 
                 MessageBoxIcons.Error)
            endif

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

1.      Module (Modul)
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

A.    PRAKTIKUM

1.  Procedure  

    1.      Buat project baru, dengan nama Prak10.
    2.      Desain Tampilan form seperti gambar berikut ini :



      3.      Tambahkan kontrol ke form seperti pada gambar diatas dan atur propertinya seperti tabel berikut:

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
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.      Klik ganda pada Form, kemudian buatlah sub procedure Bersih berikut ini :

        Sub Bersih()
        TxtKodeBrg.Text = ""
        TxtNamaBrg.Text = ""
        TxtSatuan.Text = ""
        TxtJumlah.Text = ""
        TxtHrgSatuan.Text = ""
        TxtTot.Text = ""
        TxtKodeBrg.Focus()
        TxtTot.Enabled = False
        End Sub     

     5.      Panggil procedure yang anda buat diatas dengan cara, klik ganda pada form load ketikkan kode program berikut ini :
        Call Bersih()
      6.      Panggil procedure yang anda buat diatas pada BtnClear dengan cara, klik ganda pada BtnClear kemudian ketikkan kode program berikut ini :

        Call Bersih()

      7.      Jalankan aplikasi dengan menekan tombol F5 (di keyboard), atau melalui icon Start Debugging di toolbar, atau melalui menu Debug > Start Debuging.

      8.      Buatlah Function Hitung, berikut ini :

    Private Function Hitung()
        Dim Jumlah, HrgSatuan, Total As Integer
        Jumlah = TxtJumlah.Text
        HrgSatuan = TxtHrgSatuan.Text
        Total = Jumlah * HrgSatuan
        TxtTot.Text = Total
        Return Total
    End Function



        9.      Buatlah Procedure CekDataKosong dan sekaligus memanggil function Hitung, berikut   ini :
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()
End If
End Sub

       10.      Memanggil procedure CekDataKosong dengan cara, klik ganda pada tombol BtnHitung:

Call CekDataKosong()

        11.      Jalankan aplikasi dengan menekan tombol F5 (di keyboard), atau melalui icon Start Debugging di toolbar, atau melalui menu Debug > Start Debuging.

       12.      Klik ganda pada tombol BtnExit, Kemudian ketikkan kode program berikut ini :

        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
      13.      Jalankan aplikasi dengan menekan tombol F5 (di keyboard), atau melalui icon Start Debugging di toolbar, atau melalui menu Debug > Start Debuging.
      14.      Simpan aplikasi Anda.


2. Function

     1.      Tambahkan Form baru, dengan nama Form2.
     2.      Desain Tampilan form seperti gambar berikut ini :

       3.      Tambahkan kontrol ke form seperti pada gambar diatas dan atur propertinya seperti tabel berikut:
Object
Properties
Nilai
Form1
Name
Text
Form1
Function
TexBox1
Name
TxtVar1
TexBox2
Name
TxtVar2
TexBox3
Name
TxtHasil
GroupBox1
Text
Operasi
RadioButton1
Name
Text
RdbAkar
Akar Kuadrad
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.      Klik kanan pada form, kemudian pilih menu view, kemudian ketik deklarasi masing-masing fungsi sebagai berikut ini :


    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.      Klik ganda pada Tombol Hitung, kemudian ketik kode program berikut ini :

        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
1.      Jalankan aplikasi dengan menekan tombol F5 (di keyboard), atau melalui icon Start Debugging di toolbar, atau melalui menu Debug > Start Debuging.
2.      Simpan aplikasi Anda


3. Module

Membuat module rumus mencari luas segitiga.
1.  Menambahkan module ke dalam project

                          Beri nama module tersebut sesuai dengan yang diinginkan.
2.  Mengisi module dengan variable atau fungsi


3.  Tambahkan form dan desain seperti contoh berikut ini
Keterangan :
Alas = txt_alas
Tinggi = txt_tinggi
HASIL = txt_hasil
HITUNG = hitung

4.  Tambahkan kode pada button “HITUNG”

5. Jalankan aplikasi dengan menekan tombol F5 (di keyboard), atau melalui icon Start Debugging di toolbar, atau melalui menu Debug > Start Debuging.
6.  Simpan aplikasi Anda

Module Module1
Sub Main()
‘Bagian Judul
Console.WriteLine(“Menghitung Luas_Segitiga”)
Console.WriteLine(“————————“)
‘Bagian Kamus
Dim A As Integer
Dim T As Integer
Dim luas As Double
‘Bagian Deskripsi
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

No comments:

Post a Comment