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
if IsNumeric(TextAwal.text) then
return true
else
return false
endif
end function
Pemanggilan
fungsi
if cekData()=true thenHitungRef(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)
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 Judul
Console.WriteLine(“Menghitung Luas_Segitiga”)
Console.WriteLine(“————————“)
‘Bagian
Kamus
Dim A As Integer
Dim T As Integer
Dim luas As Double
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
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