Dalam pembuatan program yang besar, tentu saja harus
dikembangkan secara terstruktur sehingga program menjadi lebih mudah
dikembangkan dan dimaintenance. Salah satu usaha yang dapat dilakukan adalah
memecah program menjadi kesatuan logika yang lebih kecil dimana proses yang
sama dikelompokan menjadi sub program yang diberi nama, dan dapat dipanggil
pada saat yang dibutuhkan.
Pemakaian function digunakan untuk proses maupun rumus yang
perlu mengembalikan nilai kepada pemanggil, adapun tata cara penulisan function
adalah sebagai berikut :
Function name[(arglist)] [ As type ]
[ statements ]
[ Exit Function ]
[ statements ]
End Function
|
Option
Explicit On
Imports
System
Imports
Microsoft.VisualBasic
Public
Module GenapGanjil
Function IsGenap(x As Long) As Boolean
If (x Mod 2) = 0 Then
Return True
Else
Return False
End If
End Function
REM program utama
Sub Main()
Dim bil As Long
Console.Write("Masukan Bilangan
:")
bil = Console.ReadLine()
If IsGenap(bil) Then
Console.WriteLine("Bilangan
{0} adalah Genap",bil)
Else
Console.WriteLine("Bilangan
{0} adalah Ganjil",bil)
End If
End Sub
End Module |
Misalnya kita ingin menghitung akar persamaan kuadrat dengan menggunakan rumus ABC. Yang mana X1 dan X2 yang kemungkinan akar imaginier, dimana function akan mengembalikan suatu nilai true (ada solusi) atau false (tidak ada solusi).
Contoh :
Option
Explicit On
Imports
System
Imports
Microsoft.VisualBasic
Public
Module AkarKuadrat
Function CariAkar(A as Long, B as Long ,C
As Long, _
ByRef X1 as single ,ByRef X2 as
single) As Boolean
Dim D as Long
D = B^2 - 4*A*C
If D < 0 Then 'Akar Imaginier
Return False 'Tidak ada solusi
Else
X1 = (-B +
Math.Sqrt(D))/(2*A) 'argumen X1
X2 = (-B - Math.Sqrt(D))/(2*A)
'argumen X2
Return True 'Ada solusi
End If
End Function
REM program utama
Sub Main()
Dim A,B,C As Long
Dim X1,X2 As Single
Console.WriteLine("Mencari akar
persamaan kuadrat")
Console.Write("Masukan A
:")
A = Console.ReadLine()
Console.Write("Masukan B
:")
B = Console.ReadLine()
Console.Write("Masukan C
:")
C = Console.ReadLine()
If CariAkar(A,B,C,X1,X2) Then
Console.WriteLine("Akar
X1={0} X2={1}",X1,X2)
Else
Console.WriteLine("Akar
imaginier")
End If
End Sub
End
Module
|
Catatan : Perintah Return digunakan untuk mengembalikan nilai ke pemanggil, dan jika suatu Exit Function digunakan, maka function akan mengembali nilai defaut berupa 0 for Byte, Char, Decimal, Double, Integer, Long, Short, and Single; Nothing for Object, String, and all arrays; False for Boolean; and #1/1/0001 12:00 AM# for Date. |
Option
Explicit On
Imports
System
Imports
Microsoft.VisualBasic
Public
Module ModArr
Function sumArray(ByVal Paramarray Dat()
As Byte)
Dim Total As Long = 0
For I As Integer = 0 To UBound(Dat)
Total += Dat(I)
Next I
Return Total
End Function
Dim Digit() As Byte = {0,1,2,3,4,5}
Sub Main()
Console.WriteLine(sumArray(Digit))
End Sub
End Module
|