7.1 Sub Procedure
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 |
7.2 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
:
1. Perbedaan
antara fungsi dengan procedure hanyalah pada pengembalian nilai saja (return
value). Sebagai contoh : Menggunakan argument berupa nilai (by value) dan
reference (by reference)
2. Pengembalian
nilai dapat dilakukan dengan menggunakan operator assignment “=” pada fungsi
atau biasanya dengan perintah return.
7.3 Modul
(Module)
Modul merupakan bagian yang sengaja dipisahkan untuk
memudahkan pemrograman. Dalam module dapat dimasukkan procedure dan fungsi dan
kemudian digunakan oleh beberapa form.
1. 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
2. Tr-Modul merupakan salah satu
argumentasi code reuse yang bertujuan agar program lebih efesien.
Sintaks
pembuatan modul sebagai berikut :
|
Module moduleName
Statement End module |
PROGRAM :
7.4
Praktikum
7.4.1 Procedure dan Function
a. Design
:
|
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 |
TxtHarga |
|
TexBox6 |
Name |
TxtTot |
|
Button1 |
Name Text |
BtnHitung
Hitung |
|
Button2 |
Name Text |
BtnClear
Clear |
|
Button3 |
Name Text |
BtnExit
Exit |
b. Code
Program :
|
Public Class Form1 Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load Call Bersih() End Sub Sub Bersih() TxtKodeBrg.Text = "" TxtNamaBrg.Text = "" TxtSatuan.Text = "" TxtHarga.Text = "" TxtHrgSatuan.Text = "" TxtTot.Text = "" TxtKodeBrg.Focus() TxtTot.Enabled = False End Sub Private Function Hitung() Dim Harga,
HrgSatuan, Total As Integer Harga = TxtHarga.Text HrgSatuan = TxtHrgSatuan.Text Total = Harga * HrgSatuan TxtTot.Text = Total Return Total End Function 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
TxtHarga.Text = "" Then MessageBox.Show("Harga Barang harus diisi", "Konfirmasi",
MessageBoxButtons.OK, MessageBoxIcon.Warning) TxtHarga.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 Private Sub BtnClear_Click(sender As Object, e As EventArgs) Handles BtnClear.Click Call Bersih() 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 |
c. Hasil
Running :
7.4.2 Function
a. Design
:
|
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 |
a. Code
Program :
|
Public Class Form2 Private Sub Form2_Load(sender As Object, e As EventArgs) Handles MyBase.Load
End Sub 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
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
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
End Sub End Class |








Komentar
Posting Komentar