Teori
Dalam membangun program yang
besar dibutuhkan proses pemecahan masalah menjadi logika yang kecil dalam bentuk subrutin. Hal ini dibutuhkan
agar pemeliharaan program lebih mudah dilakukan. Perintah yang dapat digunakan meiliki
format
Function name(arglist) as
datatype
Statement
Exit function
Statement
End function
Contoh
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
‘Main Program
Sub Main()
Dim Bil as Long
Console.Write(“Masukkan 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
Program diatas mengecek apakah
nilai ganjil atau genap yang dimasukkan tergantung hasil modulus di
function. Nilai true dan false untuk
mengarahkan hasil keluaran dari main program
Function berparameter.
Dari contoh pertama adalah
function berparameter dengan hanya menerima input, bila diinginkan ada nilai
yang dikembalikan maka dapat digunakan kata kuci ByRef. Perhatikan contoh berikut untuk menghitung akar akar
persamaan.
Option Explicit On
Imports System
Imports Microsoft .VisualBasic
Public Module akar Kuadrat
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
Return
false
Else
X1
= ( -B + Math.Sqrt(D))/(2*A)
X2
= ( -B - Math.Sqrt(D))/(2*A)
Return
True
End if
End Function
‘Main Program
Sub Main()
Dim A,B,C As Long
Dim X1,X2 as Single
Console.WriteLine(“Mencari akar Persamaan
Kuadrat”)
Console.Write(“Masukkan A: “)
A=Console.Readline()
Console.Write(“Masukkan B : “)
B = Console.Readline()
Console.Write(“Masukkan 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 Imajiner”)
End IF
End sub
End Module
Dari contoh diatas anda
perhatikan nilai x1 dan x2 diambil dari hasil perhitungan di function cari
akar. Nilai true atau false yang
dikembalikan untuk mengarahkan apakah
statement setelah ii atau setelah else yang dijalankan.
Sub Statement
Sub Statement adalah sub rutin
dengan nilai yang tidak dikembalikan. Format sub statement
Sub Nama(arglist)
Statements
Exit sub
Statements
End sub
Contoh
Option Explicit On
Imports System
Imports Microsoft.visualbasic
Public Module ModArr
Public Arr() as Integer
Public Jd As Byte
Sub
BacaJd()
Console.Write(“Masukkan
Jumlah data : ”)
Jd
= Console.Readline()
End
Sub
Sub
BacaData()
Redim
Arr(Jd-1)
For
I as Byte = 0 to Ubound(Arr)
Console.Write(“data
ke – {0} : “, I+1)
Arr(I)
= Console.Readline()
Next
I
End
Sub
Sub
CariRataRata()
Dim
Total as Long = 0
For
I As Byte = 0 to Ubound(Arr)
Total
+= Arr(I)
Next
I
Console.WriteLine(“Nilai
rata Rata : {0}”,Total/JD)
End Sub
Sub Main()
BacaJd()
BacaData()
Cariratarata()
End sub
End module
Program diatas terdiri dari 3
subrutin yaitu menset jumlah data, membaca data dan merata ratakan data. Perintah For I as Byte = 0 to Ubound(Arr)
adalah untuk indeks array dari 0 hingga sejumlah data yang dipesan di sub rutin
bacaID yang digunakan untuk menset array.
Contoh diatas adalah subrutin tidak berparameter. Penggunaan parameter
di sub statement hampir serupa dengan function dimana bila ada nilai hasil yang
dapat dibaca kembali digunakan perintah ByRef.
Rekursi
Rekursi adalah pemanggilan kepada
diri sendiri. Algoritma rekursi sering digunakan untuk perulangan matematik
dimana perulangan tersebut tidak kadang tidak terprediksi.
Contoh rekursi untuk kasus
menghitung faktorial diformulasikan dengan
N! = N x (N-1)!
Dengan 0! = 1
Option Explicit On
Imports System
imports microsoft.visualbasic
Public Module modfak
Function Fak(N as Integer) as integer
IF (N>1) then
Return N * fak(N-1)
Else
Return 1
End If
End Function
Sub Main()
Dim Nilaifak as Integer
Try
Console.Write("Masukkan Nilai
: “)
Nilaifak = Console.Readline()
Console.Writeline(“faktorial dari "
& nilaifak & " adalah : ”
& Fak(Nilaifak))
catch ex as exception
Console.writeline(“Jenis data harus Bulat
“)
End try
End sub
End Module
Fungsi Try catch dan end try adalah untuk menangani error model baru di vb
.net
sumber:
Modul Pratikum
VB .net 2010 / FEBRI DOLIS
HERDIANI, S.KOM
Komentar
Posting Komentar