Created By Bulhadi,S.Pd
2. FUNGSI
Sama seperti subroutine, fungsi adalah suatu blok program yang digunakan untuk suatu
pekerjaan tertentu. Beda fungsi dan subroutine adalah subroutine tidak menghasilkan nilai
sedangkan fungsi menghasilkan nilai. Bedanya fungsi mengembalikan nilai sedangkan
Subroutine tidak.
Fungsi sering kali digunakan untuk proses-proses perhitungan. Pernyataan fungsi secara umum
dituliskan dengan:
Output = Fungsi(Input)
Sebagai contoh untuk menyatakan fungsi f dengan input x dan output y dituliskan
dengan y=f(x).
Definisi fungsi di dalam Visual Basic mengikuti aturan fungsi dimana ada input dan
ada output dituliskan dengan:
Private Function NamaFungsi(Input) As Tipe_Data_Output
<Blok di dalam fungsi>
………………………………………………
NamaFungsi=<Nilai yang keluar dari Fungsi>
End Function
B. Contoh Kasus
Soal :
1. Membuatlah program Mesin Pencari KPK ( Kelipatan Persekutuan Terkecil.) dan berikan form
loginnya.
1) Buat project baru. Pada form, isi property [name] dengan form Latihan modul91function
dan prosedur
2) Tambahkan komponen/object dengan nilai property sbb:
Created By Bulhadi,S.Pd
Form2 Name frm_KPK
Caption KPK
Created By Bulhadi,S.Pd
Private Sub Command1_Click()
Dim user As String
Dim pass As String
user = "admin"
pass = "admin1"
If (Text1 = "admin" And Text2 = "admin1")
Then
Call msgbox1
frm_KPK.Show
'menampilkan form2 ketika command Button
diklik'
Unload Me
'menutup form1 ketika form2 terbuka'
Else
Call msgbox2
End If
End Sub
Sub msgbox1()
MsgBox "Login Success!"
End Sub
Sub msgbox2()
MsgBox "Sorry..!! Login Failed. Please try
again" Yang diberi garis lengkung adalah contoh prosedur
End Sub
Private Sub Command2_Click()
Unload Me
End Sub
Dim i As Integer
Dim Bil1 As Double
Dim Bil2 As Double
Dim B1, B2, FPB As Long
Dim Bagi As Long
Dim SisaBagi As Integer
Function hitung_bil1()
Bagi = Fix(B1 / Bil2)
SisaBagi = B1 - (Bagi * Bil2)
B1 = Bil2
Bil2 = SisaBagi
End Function
Function hitung_bil2()
Bagi = Fix(B2 / Bil1)
SisaBagi = B2 - (Bagi * Bil1)
B2 = Bil1
Bil1 = SisaBagi
End Function
Created By Bulhadi,S.Pd
Private Sub cmd_kpk_Click()
Bil1 = Me.txt_bil1.Text
Bil2 = Me.txt_bil2.Text
If (Bil1 Mod 2 = 0 And Bil2 Mod 2 <> 0) Or (Bil1 Mod 2 <> 0 And Bil2 Mod 2 = 0) Then
Me.lbl_kpk.KPK.Caption = Bil1 * Bil2
ElseIf Bil1 Mod 2 = 0 And Bil2 Mod 2 = 0 Then
If Bil1 Mod Bil2 <> 0 And Bil2 Mod Bil1 <> 0 Then
If ((Bil1 * Bil2) Mod 2 = 0) And Bil1 > Bil2 Then
B1 = Bil1
For i = 1 To 10
If Bil2 <> 0 Then
Call hitung_bil1
ElseIf Bil2 = 0 Then
FPB = B1
End If
Next
Me.lbl_kpk.Caption = (Me.txt_bil1.Text * Me.txt_bil2.Text) / FPB
Else
Me.lbl_kpk.Caption = Bil1 * Bil2
End If
ElseIf Bil1 Mod Bil2 = 0 And Bil2 Mod Bil1 <> 0 Then
Me.lbl_kpk.Caption = Bil1
ElseIf Bil1 Mod Bil2 <> 0 And Bil2 Mod Bil1 = 0 Then
Me.lbl_kpk.Caption = Bil2
End If
ElseIf Bil1 Mod 2 <> 0 And Bil2 Mod 2 <> 0 Then
If Bil1 Mod Bil2 <> 0 And Bil2 Mod Bil1 <> 0 Then
Me.lbl_kpk.Caption = Bil1 * Bil2
ElseIf Bil1 Mod Bil2 = 0 And Bil2 Mod Bil1 <> 0 Then
Me.lbl_kpk.Caption = Bil1
ElseIf Bil1 Mod Bil2 <> 0 And Bil2 Mod Bil1 = 0 Then
Me.lbl_kpk.Caption = Bil2
End If
End If
End Sub
Private Sub Form_Load()
Me.txt_bil2.Enabled = False
Me.cmd_kpk.Enabled = False
End Sub
Created By Bulhadi,S.Pd
Pada gambar coding yang diberikan garis lengkung adalah contoh Function
2. Membuatlah program Mesin Pencari KPK ( Kelipatan Persekutuan Terkecil.) dan berikan form
loginnya.
1) Buat project baru. Pada form, isi property [name] dengan form Latihan modul92
menghitung konversi temperatur.
2) Tambahkan komponen/object dengan nilai property sbb:
Object/ Property Nilai
komponen
Project1 name Latihan modul92 menghitung konversi
temperatur.
Form1 caption Menghitung konversi derajat temperatur
Label1 caption Masukan Nilai Temperatur
Frame1 caption Pilih Derajat Temperatur
Frame2 caption Hasil Konversi :
TextBox1 name txtVarTemp
caption
Option1 Name optTemp
Caption Kelvin
index 0
Option2 Name optTemp
Caption Celcius
index 1
Option3 Name optTemp
Caption Reamur
index 2
Option4 Name optTemp
Caption Fahrenheit
index 3
Label2 Caption Temperatur Kelvin
Label3 Caption Temperatur Celcius
Label4 Caption Temperatur Reamur
Created By Bulhadi,S.Pd
Label5 Caption Temperatur Fahrenheit
Text2 name txtkelvin
text Kosong
Text3 name txtcelcius
text n Kosong
Text4 name txtreamur
text Kosong
Text5 name txtfahrenheit
text Kosong
Command1 name cmdHitung
Caption &Hitung
Command2 name cmdTutup
Caption &Tutup
3) Kode program
Private Sub cmdHitung_Click()
Dim sngVarTemp, sngVarKelvin, sngVarCelcius, sngVarReamur, sngVarFahrenheit As Single
sngVarTemp = CSng(txtVarTemp.Text)
Select Case True
Case optTemp(0)
sngVarKelvin = sngVarTemp
sngVarCelcius = sngVarTemp - 273
sngVarReamur = (sngVarTemp - 273) * 4 / 5
sngVarFahrenheit = ((sngVarTemp - 273) * 9 / 5) + 32
Case optTemp(1)
sngVarKelvin = sngVarTemp - 273
sngVarCelcius = sngVarTemp
sngVarReamur = sngVarTemp * 4 / 5
sngVarFahrenheit = (sngVarTemp * 9 / 5) + 32
Case optTemp(2)
sngVarKelvin = (sngVarTemp * 5 / 4) + 273
sngVarCelcius = sngVarTemp * 5 / 4
sngVarReamur = sngVarTemp
sngVarFahrenheit = (sngVarTemp * 9 / 4) + 32
Case optTemp(3)
sngVarKelvin = ((sngVarTemp - 32) * 5 / 9) + 273
sngVarCelcius = (sngVarTemp - 32) * 5 / 9
sngVarReamur = (sngVarTemp - 32) * 4 / 9
sngVarFahrenheit = sngVarTemp
End Select
txtkelvin.Text = CStr(sngVarKelvin)
txtcelcius.Text = CStr(sngVarCelcius)
txtreamur.Text = CStr(sngVarReamur)
txtfahrenheit.Text = CStr(sngVarFahrenheit)
End Sub
Private Sub cmdTutup_Click()
Unload Me
End Sub
Created By Bulhadi,S.Pd
4) Jika di RUN kan seperti gambar berikut
C. Buatlah program aplikasi dengan fariasi warna backgroud , font dan gambar imajinasi siswa serta
serta dengan menambahkan FORM Login Pada kasus menghitung konversi derajat temperatur.
Created By Bulhadi,S.Pd