Struktur Iterasi

Ada 3 jenis Loop (perulangan) di VB yaitu :
Perulangan dengan For memiliki format :
For a= to
   Statement 
Next a
Perulangan dengan  until yang akan terus berulang bila kondisi bernilai salah dengan pengecekan di akhir.
Do
  Statement
Loop until 
Perulangan dengan until yang akan terus berulang bila kondisi bernilai salah dengan pengecekan di awal
Do  until
  Statement
Loop 
Perulangan dengan while yang akan terus berulang bila kondisi bernilai benar dan akan keluar bila kondisi salah dengan pengecekan dapat di awal atau di akhir.
Do while
statement
Loop

Do
Statement
Loop while

Contoh 11 :
imports System.Console
Module iterasi
                Sub main()
                                Dim Ulang As Integer
                                For Ulang = 1 To 10 Step 1
                                                Write(Ulang)
                                Next
                                Writeline()
                                ulang = 1
                                Do
                                                Write(Ulang)
                                                ulang+=1
                                Loop Until ulang = 10
                                Writeline()
                                ulang = 1
                                Do Until ulang =10
                                                Write(Ulang)
                                                ulang += 1
                                Loop
                                Writeline()
                                ulang = 1
                                Do While ulang <= 10
                                                Write(Ulang)
                                                ulang+= 1
                                Loop
                                Writeline()
                                ulang = 1
                                Do
                                                Write(Ulang)
                                                ulang += 1
                                Loop While ulang <= 10
                End Sub               
End Module
Contoh 12 :
Module Module1
                Sub Main()
                                Dim X As Double
                                For X = 0.0 To 1.0 Step 0.1
                                Console.WriteLine(X)
                                Next
                End Sub
End Module
Contoh 13 :
Module Module1
                Sub Main()
                                Dim I As Double
                                For I = 100 To 0 Step -10
                                                Console.WriteLine(I)
                                Next
                End Sub
End Module
Contoh 14 :
imports System.IO
Module Module1
                Sub Main()
                                Dim Files As String() = Directory.GetFiles(".")
                                Dim Filename As String
                                For Each Filename In Files
                                                Console.WriteLine(Filename)
                                Next
                Console.ReadLine()
                End Sub
End Module

Struktur Array

Array merupakan pengalokasian beberapa ruang memory yang diberi indeks dan mempunyai tipe data sama.
Format
Dim Data_array(jumlah elemen) as Tipe Data
Contoh
Dim Bilangan(5) as Integer

Maka ruang yang didefinisikan
Bilangan(0), Bilangan(1), Bilangan(2), Bilangan(3), Bilangan(4)

Contoh Deklarasi dengan langsung mengisi nilai
Dim bilangan(3) as Integer = {2,3,6}
Dim hari() as  String = {“Senin”,”Selasa”,”Rabu”,”Kamis”}

2.4.1. Array Multi Dimensi
Array Multi dimensi dapat dianalogikan seperti sebuah matrix
Format
Dim dataarray(Sumbuy,SumbuX) as TipeData

Contoh
Dim jimmy(3,5) as Integer
Maka diilustrasikan seperti berikut








Bila hendak menyimpan data di suatu lokasi
Jimmy(1,3) = 5







2.4.2. Array Dinamis
Array dinamis adalah array yang dapat diubah ubah dimensinya
Format
Dim jimmy(5) as Double
Redim Jimmy(10) as double
Perhatikan saat anda mengubah dimensi array maka data yang telah disimpan akan hilang untuk mencegah angka tidak hilang tambahkan kata preserve
Contoh
Redim preserve arr(6)
Contoh 15 :
Module Module1
                Sub Main()
                                Dim Values() As Integer = {100, 200, 300, 400, 500}
                                Dim MyValues(5) As Integer
                                Dim Prices() As Double = {25.5, 4.95, 33.4}
                                Dim I As Integer
                                For I = 0 To 4
                                                Console.Write(Values(I) & " ")
                                Next
                                Console.WriteLine()
                                ' Copy one array to another
                                Values.CopyTo(MyValues, 0)
                                For I = 0 To 4
                                                Console.Write(MyValues(I) & " ")
                                Next
                                Console.WriteLine()
                                Array.Reverse(Values)
                                For I = 0 To 4
                                                Console.Write(Values(I) & " ")
                                Next
                                Console.WriteLine()
                                Console.WriteLine("Array length: " & Values.Length)
                                Console.WriteLine("Array lowerbound: " & _
                                Values.GetLowerBound(0))
                                Console.WriteLine("Array upperbound: " & _
                                Values.GetUpperBound(0))
                                For I = 0 To Prices.GetUpperBound(0)
                                                Console.Write(Prices(I) & " ")
                                Next
                                Console.WriteLine()
                                Console.ReadLine()
                End Sub
End Module

Subrotin dan Function

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 16 :
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
                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.
Contoh 17 :
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
                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 18 :
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.
Daftar Pustaka
  • Hendra ST, e-book Vbnet.PDF
  • Modul FIK
  • Microsoft Studio 2005 Documentation

0 Komentar