Ada 3 jenis Loop (perulangan) di VB yaitu :
Perulangan dengan For memiliki format :
For a= 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
Post a Comment