Anda di halaman 1dari 8

SMK NEGERI 6 PADANG LEMBARAN JOB SHEET 9

Jurusan : Teknik Komputer dan Jaringan Mapel : Program Dasar


Waktu : 4 X 45 Menit Topik : Visual Basic
Kelas : X Judul : Subroutine dan Fungsi
A. Landasan Teori
1. SUBROUNTINE.
Subroutine atau procedure adalah suatu blok program terpisah yang digunakan untuk
mengerjakan suatu pekerjaan tertentu. Kegunaan yang umum dari subroutine adalah
menghemat kode program bila terjadi proses yang sama diulang berkali-kali. Salah satu bentuk
subrountine di dalam visual basic dikenal dengan event dari komponen, penuliasan subrouine di
dalam visual basic dibedakan menjadi 3 macam:
1) Subroutine yang bersifat event dari komponen tertentu (subrountine ini sudah tersedia
dalam library Visual Basic sebagai OOP dalam Visual Basic) dituliskan dengan:
Private Sub Komponen_Event(Input)
<blok program dalam subroutine>
…………………………………………………………………………………
End Sub
2) Subroutine yang bersifat metode private dimana pemanggilan subroutinenya hanya ditulis
dengan nama subroutine (Subroutine ini adalah subroutine yang dibuat sendiri), dituliskan
dengan:
Private Sub Nama_Fungsi(Input)
<blok program dalam subroutine>
…………………………………………………………………………………
End Sub
3) Subroutine yang bukan event atau metode, dimana pemanggilannya menggunakan call
NamaSubroutine, dituliskan dengan:
Sub Komponen_Event(Input)
<blok program dalam subroutine>
…………………………………………………………………………………
End Sub
Pemakaian Subroutine semacam ini banyak ditemui pada pemrograman game
dalam Visual Basic.

Contoh Aplikasi 9.1:


Membuat program untuk menyimpan nama, alamat dan nomor handphone dalam
array saat Form dipanggil,
nama={“Basuki”, ”Widya”, ”Teguh”, “Dian”},
alamat={“Semolowaru Utara Surabaya”, “Semolowaru Elok Surabaya”, “Mulyosari
Selatan Surabaya”, “Kompleks Laguna Surabaya”}, dan
handphone={“081331344000”, ”0315912190”, “0315997878”, “08111562145”} Bila
dipilih tombol alamat akan ditampilkan alamatnya, dan bila dipilih tombol nomor
handphone maka akan ditampilan nomor handphone seperti gambar berikut:

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

Perbedaan Function dan Procedure


Function dia akan mengembalikan suatu nilai pada pemanggilnya, sedangkan Procedure dia
tidak akan mengembalikan nilai apapun pada fungsi pemanggilnya

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:

Object/komponen Property Nilai Model interfacenya


Project1 name Latihan
modul91function
dan prosedur
Form1 caption LOGIN
Frame1 caption
Label1 caption LOGIN
Label2 caption USER NAME
Label3 caption PASSWORD
Command1 caption LOGIN
Command2 caption CANCEL

Created By Bulhadi,S.Pd
Form2 Name frm_KPK
Caption KPK

Label1 Caption Bilangan I


Label2 Caption Bilangan II
Label3 Caption KPK :
Label4 Caption 00 : 00
Label5 Caption Mesin Pencari
Kelipatan
Persekutuan
Terkecil (KPK)
Label6 Caption DD MM YYYY
Text1 name txt_bil1
text Kosong
Text2 name Txt_bil2
text Kosong
Text3 name Lbl_kpk
text Kosong
Timer1
Timer2
Command1 Caption HASIL
Command2 Caption KELUAR
3) Kode program untuk Form1

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

4) Kode program untuk Form2

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

Private Sub cmd_keluar_Click()


End
End Sub

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.

======= SELAMAT BEKERJA =======

Created By Bulhadi,S.Pd

Anda mungkin juga menyukai