Dasar Pemrograman VB

download Dasar Pemrograman VB

of 80

Transcript of Dasar Pemrograman VB

  • 8/6/2019 Dasar Pemrograman VB

    1/80

    Bahasa pemrograman VB.NET Hendra, S.T.

    INDOPROG 1

    Bahasa Pemrograman VB.Net

    Oleh : Hendra, ST.

    Buku ini membahas tentang bahasa pemrograman Visual Basic .Net, dan ditujukankepada siapa saja yang serius untuk mempelajari bahasa pemrograman VB.Net. Untukmemfokuskan pada bahasa VB.Net, buku ini akan menggunakan pendekatan program

    Console, sehingga fokus pembelajaran lebih terfokus kepada bahasa itu sendiri.

    Untuk mempelajari buku ini anda tidak perlu menginstalasi Visual Studio .Net, tetapianda cukup menginstalasi .Net Framework yang dapat didownload secara gratis dari

    website Microsoft.

    Semua contoh dan latihan dibuku ini dapat dikompilasi langsung dari Dos prompt denganmenggunakan kompiler Visual Basic yang langsung tersedia setelah anda menginstalasi.Net Framework.

  • 8/6/2019 Dasar Pemrograman VB

    2/80

    Bahasa pemrograman VB.NET Hendra, S.T.

    INDOPROG 2

    Dasar program Visual Basic

    Program VB.NET anda yang pertama.

    Sebagaimana tradisi dari proses belajar pemrograman komputer adalah membuat sebuahprogram Hello World yang memiliki struktur yang paling sederhana sehingga kita denganmudah dapat melihat struktur dasar program dari bahasa pemrograman tersebut.

    Module Hello

    Sub Main()

    System.Console.WriteLine("Hello World !")

    End Sub

    End Module

    Ketiklah program diatas dengan text editor (notepad pada Windows ataupun edit pada

    Dos Prompt), dan kemudian simpan dengan nama hello.vb (anda wajib menyimpannyadengan ekstension .vb).

    Proses Kompilasi

    Agar program yang kita buat diatas dapat dijalankan oleh komputer, maka diperlukansuatu kompiler untuk menterjemahkan perintah-perintah yang telah kita buat menjadiinstruksi yang dapat dikenali oleh sistem komputer.

    Kompiler Visual Basic dapat diperoleh dengan melakukan instalasi Microsoft .NETframework sdk v1.1.

    Sesaat setelah instalasi .NET framework, maka kompiler VB telah tersedia padakomputer anda, dan proses kompilasi dapat dilakukan dengan :

    1. Mengatur path environment pada Command Promptpath=%path%;c:\windows\microsoft.net\framework\v1.1.4322

    2. Selanjutnya anda dapat mengkompilasi program anda dengan perintah :Vbc .vb

    Pada saat kompilasi, anda wajib menulis lengkap nama file dan ekstension

    Contoh :

    vbc hello.vb

    Microsoft (R) Visual Basic .NET Compiler version 7.10.3052.4

  • 8/6/2019 Dasar Pemrograman VB

    3/80

    Bahasa pemrograman VB.NET Hendra, S.T.

    INDOPROG 3

    for Microsoft (R) .NET Framework version 1.1.4322.573

    Copyright (C) Microsoft Corporation 1987-2002. All rights reserved.

    Jika proses kompilasi tidak menampilkan adanya kesalahan, maka akan terbentuk suatuhello.exe yang dapat dijalankan langsung pada Command Prompt.

    Sesuatu hal yang perlu anda pahami adalah file hello.exe hanya dapat dijalankan padakomputer yang sudah terinstalasi Microsoft .NET framework.

    Kemudian suatu hal yang perlu anda ketahui adalah file hello.exe bukanlah berisi binariyang merupakan kode mesin, melainkan merupakan binari yang berisi IntermediateLanguage (IL) yang pada saat dijalankan akan dikompilasi menjadi bahasa mesin olehkompiler Just In Time (JIT) yang terdapat pada Common Language Runtime (CLR) yangmerupakan salah satu komponen dari .NET framework.

    Struktur program Visual Basic

    Sebagai bahasa yang telah dirancang kembali dari awal, suatu program Visual Basicmemiliki urutan berikut yang merupakan struktur dari program:

    1. Option statements2. Imports statements3. Main procedure

    Option Statements

    Perintah Option akan menentukan aturan dasar penanganan kode dalam program pada

    saat kompilasi.Option Explicit

    Option Explicit On/Off, menentukan apakah variabel-varibel yang digunakan dalamprogram harus dideklarasikan terlebih dahulu atau tidak (defaultnya adalah On).

    Contoh :

    Option Explicit Off

    Module Modmain

    Sub Main()a = 100000

    End Sub

    End Module

    Yang jika di kompilasi tidak menyebabkan kesalahan walaupun variabel a tidak pernahdideklarasikan.

    Option Explicit On

  • 8/6/2019 Dasar Pemrograman VB

    4/80

    Bahasa pemrograman VB.NET Hendra, S.T.

    INDOPROG 4

    Module Modmain

    Sub Main()

    a = 100000

    End Sub

    End ModuleYang jika dikompilasi akan menyebabkan kesalahan sebagai berikut :

    Microsoft (R) Visual Basic .NET Compiler version 7.10.3052.4

    for Microsoft (R) .NET Framework version 1.1.4322.573

    Copyright (C) Microsoft Corporation 1987-2002. All rights reserved.

    D:\BELAJA~1\coba.vb(5) : error BC30451: Name 'a' is not declared.

    a = 100000

    Agar terhindar dari kesalahan maka variabel a harus dideklarasikan terlebih dahulu sesuaidengan setting Option Explicit On.

    Option Explicit On

    Module Modmain

    Sub Main()

    Dim a As Integer

    a = 100000

    End Sub

    End Module

    Option Strict

    Option Strict On/Off, menentukan apakah kompiler memperbolehkan konversi nilaiimplicit yang berpotensi menyebabkan kehilangan data (default adalah Off), misalnyakita memasukan nilai dari suatu variabel dengan tipe data yang lebih lebar ke variabeldengan tipe data yang lebih sempit (lihat pada kolom nominal storage allocation padatabel tipe data).

    Contoh :

    Option Explicit On

    Option Strict OnModule Hello

    Sub Main()

    Dim a As Integer

    Dim b As Short

    a = 100000

    b = a

    End Sub

    End Module

  • 8/6/2019 Dasar Pemrograman VB

    5/80

    Bahasa pemrograman VB.NET Hendra, S.T.

    INDOPROG 5

    Yang jika dikompilasi akan menyebabkan pesan kesalahan berikut ini karena variabel byang bertipe short (16 bit), tidak dimungkinkan menampung nilai dari tipe integer (32bit), yang memiliki potensi kehilangan data pada saat runtime, sehingga pemakaianOption Strict On akan menampilkan pesan kesalahan pada saat kompilasi.

    Microsoft (R) Visual Basic .NET Compiler version 7.10.3052.4

    for Microsoft (R) .NET Framework version 1.1.4322.573

    Copyright (C) Microsoft Corporation 1987-2002. All rights reserved.

    D:\BELAJA~1\coba.vb(8) : error BC30512: Option Strict On disallows

    implicit conversions from 'Integer' to 'Short'.

    b = a

    ~

    Sebaliknya jika digunakan Option Strict Off:

    Option Explicit On

    Option Strict OffModule Hello

    Sub Main()

    Dim a As Integer

    Dim b As Short

    a = 100000

    b = a

    End Sub

    End Module

    Maka pada saat kompilasi tidak terjadi kesalahan, tetapi pada saat runtime akanmenimbulkan runtime error (System.OverflowException), karena variabel a yang bertipeshort hanya memiliki jangkauan daya tampung dari -32767 s/d 32768.

  • 8/6/2019 Dasar Pemrograman VB

    6/80

    Bahasa pemrograman VB.NET Hendra, S.T.

    INDOPROG 6

    Option Compare

    Perintah Option Compare Binary/Text akan menentukan bagaimana bertipe data stringakan dibandingkan antara satu dengan lainnya (default adalah Binary).

    Adapun aturan perbandingan pada masing-masing setting adalah sebagai berikut :

    Pada Option Compare Binary : A < B < E < Z < a < b < e < z < < < < < <

    Pada Option Compare Text : (A=a) < (= ) < (B=b) < (E=e) < (= ) < ( = )< (Z=z)

    Contoh :

    Option Compare Binary

    Module Hello

    Sub Main()

    Dim a,b As String

    a = "ABC"

    b = "abc"System.Console.WriteLine(a = b) 'False

    End Sub

    End Module

    Yang jika dijalankan akan menghasilkan False, karena perbandingan data berdasarkannilai biner dari masing-masing data string (lihat aturan untuk Binary).

  • 8/6/2019 Dasar Pemrograman VB

    7/80

    Bahasa pemrograman VB.NET Hendra, S.T.

    INDOPROG 7

    Tetapi jika :

    Option Compare Text

    Module Hello

    Sub Main()

    Dim a,b As String

    a = "ABC"b = "abc"

    System.Console.WriteLine(a = b) 'True

    End Sub

    End Module

    Yang jika dijalankan akan menghasikan True, karena sebagai text-nya "ABC" dianggapsama dengan "abc" tanpa melihat huruf besar atau kecil (lihat aturan untuk Text).

    Imports Statements

    Perintah Imports berfungsi memudahkan pengetikan tanpa harus mengetik nama class

    didalam namespace yang di import.

    Contoh :

    Module Hello

    Sub Main()

    System.Console.WriteLine("Hello World !")

    End Sub

    End Module

    Yang setelah adanya Imports System penulisan Console.WriteLine menjadi sebagaiberikut.

    Imports System

    Module Hello

    Sub Main()

    Console.WriteLine("Hello World !")

    End Sub

    End Module

    Dalam hal ini kita tidak perlu lagi mengetik System.Console.WriteLine, tapi cukupConsole.WriteLine, karena kita telah melakukan Imports System.

    Main Procedure

    Procedure Main merupakan titik awal dari program anda merupakan procedure yangpertama kali dieksekusi ketika anda menjalankan kode anda. Jadi apa yang ingin andajalankan pertama kali pada program anda ditempatkan pada procedure main ini. Adaempat cara penulisan Main, yaitu sebagai Sub atau Function yang memiliki parameteratau tidak.

  • 8/6/2019 Dasar Pemrograman VB

    8/80

    Bahasa pemrograman VB.NET Hendra, S.T.

    INDOPROG 8

    Sub Main() Sub Main(ByVal CmdArgs() As String) Function Main() As Integer Function Main(ByVal CmdArgs() As String) As Integer

    Bentuk procedure yang paling sering digunakan adalah Sub Main() seperti pada contohyang sudah-sudah.

    Contoh Sub Main dengan parameter :

    Imports System

    Module Hello

    Sub Main(ByVal CmdArgs() As String)

    Dim i As Integer

    Console.WriteLine("Jumlah Parameter :" & CmdArgs.Length())

    For i = 0 to CmdArgs.Length()-1

    Console.WriteLine("Parameter :" & i.ToString() & "adalah :"

    & CmdArgs(i))

    NextEnd Sub

    End Module

    Yang kalau dieksekusi dengan

    Coba Hello World

    Jumlah Parameter :2

    Parameter :0 adalah :Hello

    Parameter :1 adalah :World

    Dalam hal ini kita menjalankan program Coba.exe pada command prompt dengan

    mengirim dua parameter yaitu kata Hello dan World yang dianggap sebagai array bertipestring.

    Catatan :Index Array dimulai dari 0, sehingga pada contoh diatas looping dimulai dari 0 s/dCmdArgs.Length()-1.

    Program yang menggunakan parameter jarang digunakan pada lingkungan Windows, dansering digunakan pada program di lingkungan Console.

    Pemberian komentarJika kita hari ini membuat program, dan pada saat yang sama semua logika serta rumusandapat kita ingat dengan baik, tetapi bagaimana kalau kita membaca kembali programyang pernah kita buat untuk 3 bulan yang lalu, apakah anda masih mengingatnya ?Bagaimana kita membuat program kita mudah di pahami kembali ? Tentu saja denganmemberikan keterangan secukupnya.

  • 8/6/2019 Dasar Pemrograman VB

    9/80

    Bahasa pemrograman VB.NET Hendra, S.T.

    INDOPROG 9

    Pada Visual Basic pembuatan keterangan dapat menggunakan simbol ' (petik tunggal)maupun keyword REM.

    Contoh :' Ini adalah keterangan

    REM Ini adalah keterangan

    Type Data

    Sebagaimana bahasa pemrograman lainnya, Visual Basic menyediakan berbagai typedata yang dapat digunakan oleh pemrogram sesuai dengan konteks pemakaiannya. Typedata pada Visual Basic dibagi atas dua kelompok besar yaitu Value Type (Tipe dataprimitif) dan Reference (String, Array dan Objek).

    Berikut ini adalah tabel tipe data pada VB disertai dengan alokasi storage yangdibutuhkan serta jangkauan nilai yang dapat ditampung oleh masing-masing tipe.

    Visual Basictype

    Common languageruntime type

    structure

    Nominalstorage

    allocation

    Value range

    Boolean System.Boolean 2 bytes True or False.

    Byte System.Byte 1 byte 0 through 255 (unsigned).

    Char System.Char 2 bytes 0 through 65535 (unsigned).

    Date System.DateTime 8 bytes 0:00:00 on January 1, 0001 through 11:59:59PM on December 31, 9999.

    Decimal System.Decimal 16 bytes 0 through +/-79,228,162,514,264,337,593,543,950,335 withno decimal point;0 through +/-7.9228162514264337593543950335 with 28

    places to the right of the decimal; smallestnonzero number is+/-0.0000000000000000000000000001 (+/-1E-28).

    Double(double-precisionfloating-point)

    System.Double 8 bytes -1.79769313486231570E+308 through-4.94065645841246544E-324 for negativevalues; 4.94065645841246544E-324 through1.79769313486231570E+308 for positivevalues.

    Integer System.Int32 4 bytes -2,147,483,648 through 2,147,483,647.

    Long(long integer)

    System.Int64 8 bytes -9,223,372,036,854,775,808 through9,223,372,036,854,775,807.

    Object System.Object (class) 4 bytes Any type can be stored in a variable of typeObject.

    Short System.Int16 2 bytes -32,768 through 32,767.

    Single(single-precisionfloating-point)

    System.Single 4 bytes -3.4028235E+38 through -1.401298E-45 fornegative values; 1.401298E-45 through3.4028235E+38 for positive values.

    String(variable-length)

    System.String (class) Depends onimplementingplatform

    0 to approximately 2 billion Unicode characters.

    User-DefinedType

    (inherits fromSystem.ValueType)

    Depends onimplementingplatform

    Each member of the structure has a rangedetermined by its data type and independent ofthe ranges of the other members.

  • 8/6/2019 Dasar Pemrograman VB

    10/80

    Bahasa pemrograman VB.NET Hendra, S.T.

    INDOPROG 10

    (structure)

    Walaupun dewasa ini, memori dan media penyimpanan data tidak menjadi masalahseperti pada awal kelahiran komputer, tetapi hendaklah programmer bijaksana dalampemakaian type data berkaitan dengan perfomance yang dihasilkan.

    Deklarasi Variabel

    Pemrogram yang baik tentu saja menggunakan pendekatan yang terstruktur dalampengembangan program, salah satu ciri dari program yang terstruktur adalahmendeklarasikan semua variabel yang digunakan dalam program.

    Pada Visual Basic printah Dim digunakan untuk mendeklarasikan variabel danmemberikan nilai awal kepadanya.

    Contoh :Dim Harga, Jumlah As Single

    Dim Kuantitas As Integer = 10

    Dim Lanjutkan As Boolean = True

    Dim Keterangan As String = "Visual Studio .NET"

    Catatan :

    Pada Visual Basic pemakaian variabel harus dideklarasikan terlebih dahulu, jika tidakanda akan mendapatkan kesalahan kompiler, karena default setting Explicit pada VisualBasic adalah Option Explicit On.

    Kemudian Jika anda tidak memberikan nilai awal pada suatu variabel padadideklarasikan, maka nilai berikut akan diberikan sebagai nilai awal variabel tersebut :

    0 untuk semua tipe data numerik (termasuk Byte). Binary 0 untuk Char. Nothing untuk semua tipe reference (termasuk Object, String, dan semua array). False untuk Boolean. 12:00 AM pada 1 Januari 1 untuk Date.

    Sesuatu hal yang perlu anda perhatikan adalah daya tampung variabel berdasarkan tipe

    yang ditentukan, jika anda memasukan nilai diluar dari daya tampung variabel, suatukesalahan overflow exception akan terjadi.

    Konversi Tipe

    Konversi Tipe pada Visual Basic dapat dilakukan secara Implicit maupun Explicit,konversi secara Implicit dilakukan tanpa menggunakan fungsi bantu casting tertentuseperti Cbool, Cbyte, Cchar, Cdate, Cdec, CDbl, Cint, CLng, Cobj, Cshort, CSng, CStr.

  • 8/6/2019 Dasar Pemrograman VB

    11/80

    Bahasa pemrograman VB.NET Hendra, S.T.

    INDOPROG 11

    Contoh :

    Module Test

    Sub Main()

    Dim intValue As Integer = 123Dim longValue As Long = intValue

    Console.WriteLine(intValue & " = " & longValue)

    End Sub

    End Module

    Sedangkan secara Explicit dilakukan dengan menggunakan fungsi bantu casting.

    Module Test

    Sub Main()Dim longValue As Long = 134

    Dim intValue As Integer = CInt(longValue)

    Console.WriteLine(longValue & " = " & intValue)

    End Sub

    End Module

    Pada konversi secara Implicit, setting Option Strict akan mempengaruhi apakah konversidari tipe yang lebih lebar ke tipe yang lebih sempit (Misalnya dari Integer 32 bit ke Short16 bit) diperbolehkan oleh kompiler atau tidak.

    Contoh berikut akan melakukan konversi dari Integer 32 bit ke Short 16 bit.

    OptionStrictOn

    OptionExplicitOn

    Imports System

    PublicModule ModKali

    Sub Main()

    Dim i, j AsByte

    Dim a AsInteger = 40000

    Dim b AsShort

    b = a

    Console.WriteLine(b)

    EndSubEndModule

    Yang kalau dikompilasi akan menghasilkan error sebagai berikutMicrosoft (R) Visual Basic .NET Compiler version 7.10.3052.4

    for Microsoft (R) .NET Framework version 1.1.4322.573

    Copyright (C) Microsoft Corporation 1987-2002. All rights reserved.

    D:\BELAJA~1\kali.vb(10) : error BC30512: Option Strict On disallows

  • 8/6/2019 Dasar Pemrograman VB

    12/80

    Bahasa pemrograman VB.NET Hendra, S.T.

    INDOPROG 12

    implicit conversions from 'Integer' to 'Short'.

    b = a

    ~

    Hal tersebut dapat diperbaiki dengan menggunakan fungsi ToInt16 yang terdapat pada

    System.Convert yang artinya konversi memang dikehendaki oleh programmer

    Contoh :

    OptionStrictOn

    OptionExplicitOn

    Imports System

    PublicModule ModKali

    Sub Main()

    Dim i, j AsByte

    Dim a AsInteger = 40000

    Dim b AsShort

    b = System.Convert.ToInt16(a)Console.WriteLine(b)

    EndSub

    EndModule

    Tetapi karena nilai 40000 tidak dapat ditampung oleh type data short, maka akanmenghasilkan error pada saat runtime : System.OverflowException.

    Konversi data secara Explicit dapat juga memanfaatkan fungsi bantu casting yangterdapat pada Objek System Convert sebagai berikut :

    Function Purpose

    ToBoolean Converts a value to a Boolean (True or False).

    ToByte Converts a value to an 8-bit Byte in the range 0 to 255.

    ToChar Converts a value to a 2-byte Unicode character.

    ToDateTime Converts a value to a DateTime object.

    ToDecimal Converts a value to a 12-byte Decimal.

    ToDouble Converts a value to an 8-byte Double.

    ToInt16 Converts a value to a 2-byte Short.

    ToInt32 Converts a value to a 4-byte Integer.

    ToInt64 Converts a value to an 8-byte Integer.

    ToSByte Converts a value to an 8-bit signed value in the range 128 to 127.

    ToSingle Converts a value to a 4-byte Single.

    ToString Converts a value to its String representation.

    ToUInt16 Converts a value to a 2-byte unsigned Short in the range 0 to 65,535.

    ToUInt32 Converts a value to a 4-byte unsigned Integer in the range 0 to 4,294,967,295.ToUInt64 Converts a value to an 8-byte unsigned long Integer in the range 0 to

    18,446,744,073,709,551,615.

    Catatan :Berdasarkan uji coba yang dilakukan fungsi bantu konversi tipe seperti Cint, Cdate,CSng,CDbl, Cdec dan kadang-kadang fungsi bantu konversi memiliki unjuk kerja yanglebih baik seperti yang ditunjukan oleh tabel berikut ini adalah hasil konversi denganInteger.Pars, Convert.ToInt32, dibandingkan dengan CInt

  • 8/6/2019 Dasar Pemrograman VB

    13/80

    Bahasa pemrograman VB.NET Hendra, S.T.

    INDOPROG 13

    String Integer.Parse Convert.ToInt32 Cint

    "12,500" Error Error 12500

    "12" 12 12 12

    "12500" 12500 12500 12500

    "12500.00" Error Error 12500

    "$12,500.00" Error Error 12500

    "$12,500.10" Error Error 12500

    "&HFF" (VB syntax for the hex value FF) 255 Error Error

    Operator

    Berdasarkan pengalaman pemrograman, pemakaian operator tidak dapat dilepaskan daripekerjaan pemrograman, adapun operator pada Visual Basic adalah sebagai berikut :

    Operator aritmatika : *,/,\, ^, Mod, +, dan Operator relasi : =, , , =

    Catatan :

    Pada tipe data string, prilaku perbandingan sangat dipengaruhi oleh setting dari OptionCompare. (default adalah Option Compare Binary)

    Pada Option Compare Binary : A < B < E < Z < a < b < e < z < < < < < < Pada Option Compare Text : (A=a) < (= ) < (B=b) < (E=e) < (= ) < ( = ) < (Z=z)

    Operator logika And, AndAlso, Or, OrElse, and Xor

    Catatan :

    Jika operand pertama pada suatu operasi AndAlso adalah False, maka hasilekspresi tersebut adalah False. Sebaliknya, suatu operasi logika And dilakukanterhadap kedua operand.

    Jika operand pertama dari operasi OrElse adalah True, maka hasil ekspresiadalah True. Sebaliknya, suatu operasi logika Or akan dilakukan terhadap keduaoperand.

    Operator pengabungan : &

    Operator bit shift : >

    Contoh :Dim Pattern As Short = 192 ' Bit pattern is 0000 0000 1100 0000.Dim Result1, Result2, Result3, Result4, Result5 As Short

  • 8/6/2019 Dasar Pemrograman VB

    14/80

    Bahasa pemrograman VB.NET Hendra, S.T.

    INDOPROG 14

    Result1 = Pattern > 0 ' Result is 2560 (0000 1010 0000 0000).Result2 = Pattern >> 4 ' Result is 160 (0000 0000 1010 0000).Result3 = Pattern >> 10 ' Result is 2 (0000 0000 0000 0010).Result4 = Pattern >> 18 ' Result is 640 (0000 0010 1000 0000).Result5 = Pattern >> -1 ' Result is 0 (shifted 15 places to right).

    Operator bit shift bekerja pada tingkat bit, yang artinya jika 192 pada tipe data short(desimal/basis sepuluh) maka representasinya dalam bentuk biner adalah 0000 0000 11000000 (16 bit).

    Kemudian hal lain yang perlu diketahui adalah bit mask untuk masing-masing tipe dataadalah berbeda, berikut ini adalah tabel bitmask :

    LeftOperand Type SizeMask

    Byte 7 (&H7)Short 15 (&HF)Integer 31 (&H1F)Long 63 (&H3F)

    Perhatikan kembali contoh diatas

    Dim Pattern As Short = 2560 ' Bit pattern is 0000 1010 0000 0000.

    Perintah shift right 18 untuk tipe Short akan menghasilkan operasi yang sama denganshift right 2 ( hasil operasi 18 And 15 = 2).

    Result4 = Pattern >> 18 ' Result is 640 (0000 0010 1000 0000).

    Operator perbandingan Like, dengan aturan sebagai berikut :

    Karakter ? mewakili satu karakter sembarang. Karakter * mewakili tidak ada karakter atau sekumpulan karakter sembarang. Karakter # mewakili satu sembarang digit (09). Suatu daftar karakter dalam kurung siku ([ab ]) mewakili salah satu karakter

    dalam daftar tersebut. Suatu daftar dari karakter dalam kurung siku dan diawali dengan suatu tanda !([!ab ]) mewakili satu karakter yang tidak ada dalam daftar tersebut.

    Contoh :

    Dim myCheck As Boolean

    myCheck = "F" Like "F" Does "F" match "F"? Returns True.

    myCheck = "F" Like "f" Does "F" match "f"? Returns False.

    myCheck = "F" Like "FFF" Does "F" match "FFF"? Returns False.

  • 8/6/2019 Dasar Pemrograman VB

    15/80

    Bahasa pemrograman VB.NET Hendra, S.T.

    INDOPROG 15

    myCheck = "aBBBa" Like "a*a" Does "aBBBa" have a "a" at the beginning, an "a"at the end, and any number of characters inbetween? Returns True.

    myCheck = "F" Like "[A-Z]" Does "F" occur in the set of characters from A toZ? Returns True.

    myCheck = "F" Like "[!A-Z]" Does "F" NOT occur in the set of characters from Ato Z? Returns False.

    myCheck = "a2a" Like "a#a" Does "a2a" begin and end with an "a" and have anysingle-digit number inbetween? Returns True.

    myCheck = "aM5b" Like "a[L-P]#[!c-e]" Does "aM5b" fit the following pattern: Begins with"a", has and character from the set L through P,followed byb any single-digit number, and finallycontains any character excluded from the characterset c through e. Returns True.

    myCheck = "BAT123khg" Like "B?T*" Does "BAT123khg" fit the following pattern: Beginswith "B", followed by any single character, followedby a "T" and finally zero or more characters of anytype. Returns True

    myCheck = "CAT123khg" Like "B?T*" Does "CAT123khg" fit the following pattern: Beginswith "B", followed by any single character, followedby a "T" and finally zero or more characters of anytype. Returns False.

    Operator assignment : =, ^=, *=, /=, \=, +=, -=, =, &=

    Contoh :

    Dim a As Integer = 2Dim b As Integer = 3a += b // akan menghasilkan 5 pada variabel a, atau sama dengan a = a+b

    Catatan :Sesuatu hal yang penting bagi programmer pemula adalah memahami urutan operasi darioperator, pada Visual Basic menggunakan urutan operasi berikut ini :

    Operator Aritmatika dan PengabunganExponentiation (^)Unary negation ()Multiplication and division (*, /)Integer division (\)Modulus arithmetic (Mod)Addition and subtraction (+, ), string concatenation (+)String concatenation (&)Arithmetic bit shift ()

    Operator PerbandinganAll comparison operators (=, , =, Like, Is, TypeOf...Is)

    Operator Logika dan BitwiseNegation (Not)Conjunction (And, AndAlso)Disjunction (Or, OrElse, Xor)

  • 8/6/2019 Dasar Pemrograman VB

    16/80

    Bahasa pemrograman VB.NET Hendra, S.T.

    INDOPROG 16

    Contoh :Dim A, B, C, D, E, F, G As Double

    A = 3.0

    B = 6.0

    C = 4.0

    D = 2.0

    E = 1.0F = A + B - C / D * E

    ' The previous line sets F to 7.0. Because of natural operator

    ' precedence, it is exactly equivalent to the following line:

    F = (A + B) - ((C / D) * E)

    ' The following line overrides the natural operator precedence:

    G = A + (B - C) / (D * E)

    ' The previous line sets G to 4.0.

    Dengan memahami urutan operasi akan sangat membantu untuk menghindari kesalahandalam penulisan rumus yang dapat menyebabkan logika error.

    Konstanta pada VB.NET

    Pemakaian konstanta sangat membantu dalam pengembangan program yang terstruktur,dengan adanya konstanta, pemeliharaan program menjadi lebih sederhana, dan biasanyakonstanta dideklarasikan pada awal program, sehingga jika terjadi perubahan besaranpada konstanta, kita cukup mengubahnya pada awal program tanpa harus memeriksakoding seperti yang harus dilakukan kalau kita tidak menggunakan fasilitas konstanta.

    Const GRAVITASI As Single = 9.8

    Catatan :

    Sebaiknya konstanta diketik semuanya huruf besar untuk memudahkan pembedaan antaravariabel dengan konstanta, dan penamaan konstanta hendaknya disesuaikan dengankonteks yang diwakili oleh konstanta tersebut.

    Enumerated pada VB.NET

    Pemakaian enumerated type akan sangat membantu dalam pekerjaan pemrogramansehingga menjadi lebih mudah ditulis, dibaca, dan dimaintain dari pada menggunakantipe data primitif.

    Public Enum InterfaceColorsMistyRose = &HE1E4FF&SlateGray = &H908070&DodgerBlue = &HFF901E&DeepSkyBlue = &HFFBF00&SpringGreen = &H7FFF00&ForestGreen = &H228B22&Goldenrod = &H20A5DA&

  • 8/6/2019 Dasar Pemrograman VB

    17/80

    Bahasa pemrograman VB.NET Hendra, S.T.

    INDOPROG 17

    Firebrick = &H2222B2&End Enum

    Perintah input Output Console

    Salah satu bentuk program yang dapat dikembangkan dengan menggunakan Visual Basicadalah program Console. Program Console adalah program yang menggunakan basis tekspada lingkungan Command Prompt (bentuk ini tidak tersedia pada Visual Basic versisebelumnya).

    Program Console adalah salah satu fasilitas yang sangat memudahkan bagi pemula yangingin mempelajari bahasa Visual Basic dengan baik, karena program Consolemenggunakan perintah I/O yang cukup sederhana dan bersih dari perintah input outputyang rumit sehingga kita dapat lebih terfokus.

    System.Console.Write(ekspresi)System.Console.WriteLine(ekspresi)Variabel = System.Console.ReadLine()

    Jika anda melakukan imports namespace system, maka penulisan dapat disingkat menjadi

    Console.Write(ekspresi)Console.WriteLine(ekspresi)Variabel = Console.ReadLine()

    Catatan :

    Perbedaan antara Write dengan WriteLine adalah pada WriteLine pencetakan akandiakhiri dengan suatu Carriage Return.

    Format pada WriteLine

    Visual Basic telah melengkapi berbagai fasilitas format yang sangat berguna untukmelakukan pencetakan data, terutama data type numerik yang kadang-kadang perludiformat sedemikian rupa untuk memudahkan pembacaan.

    Format pencetakan pada WriteLine dapat menggunakan place holder {x}, dimana xadalah nomor urutan dari parameter berikutnya yang dihitung mulai dari 0 (nol)..

    Contoh :

    Console.WriteLine("The number is {0}", 3 + 7)Console.WriteLine("The result of {0} + {1} = {2}", 3, 7, 3+7)Console.WriteLine("See decimals {0, 12:f1}", 0.123456789)Console.WriteLine("See decimals {0, 12:f9}", 0.123456789)Console.WriteLine("The value is {0, 0:000.00}", 0.123456789)Console.WriteLine("The value is {0, 0:###.##}", 1234.56789)

  • 8/6/2019 Dasar Pemrograman VB

    18/80

    Bahasa pemrograman VB.NET Hendra, S.T.

    INDOPROG 18

    Masing-masing akan menghasilkan

    The number is 10The result of 3 + 7 = 10See decimal 0.1See decimal 0.123456789The value is 001.23The value is 1234.57

    Contoh Format String :

    Format Culture Data type Value Output

    C en-US Double 12345.6789 $12,345.68

    C de-DE Double 12345.678 12.345,68 DM

    D en-US Int32 12345 12345

    D8 en-US Int32 12345 00012345

    E en-US Double 12345.6789 1.234568E+004

    E10 en-US Double 12345.6789 1.2345678900E+004

    E fr-FR Double 12345.6789 1,234568E+004

    e4 en-US Double 12345.6789 1.2346e+004

    F en-US Double 12345.6789 12345.68

    F es-ES Double 12345.6789 12345,68

    F0 en-US Double 12345.6789 123456

    F6 en-US Double 12345.6789 12345.678900

    G en-US Double 12345.6789 12345.6789

    G7 en-US Double 12345.6789 12345.68

    G en-US Double 0.0000023 2.3E-6

    G en-US Double 0.0023 0.0023

    G2 en-US Double 1234 1.2E3

    G en-US Double Math.PI 3.14159265358979

    N en-US Double 12345.6789 12,345.68

    N sv-SE Double 12345.6789 12 345,68

    N4 en-US Double 123456789 123,456,789.0000P en-US Double .126 12.60 %

    r en-US Double Math.PI 3.141592653589793

    x en-US Int32 0x2c45e 2c45e

    X en-US Int32 0x2c45e 2C45E

    X8 en-US Int32 0x2c45e 0002C45E

    x en-US Int32 123456789 75bcd15

    Latihan :

    1. Buatlah program untuk menghitung luas persegi panjang.Jawab :

    OptionExplicitOn

    PublicModule modmain

    Sub Main()

    Dim Panjang As System.Int32

    Dim Lebar As System.Int32

    Dim Luas As System.Int64

    System.Console.Write("Masukkan Panjang :")

  • 8/6/2019 Dasar Pemrograman VB

    19/80

    Bahasa pemrograman VB.NET Hendra, S.T.

    INDOPROG 19

    Panjang = System.Console.ReadLine()

    System.Console.Write("Masukan Lebar :")

    Lebar = System.Console.ReadLine()

    Luas = Panjang*Lebar

    System.Console.WriteLine("Luas Persegi Panjang adalah :" &

    Luas.ToString())

    EndSub

    EndModule

    atau

    OptionExplicitOn

    Imports System

    PublicModule modmain

    Sub Main()

    Dim Panjang AsInteger

    Dim Lebar AsInteger

    Dim Luas AsLong

    Console.Write("Masukkan Panjang :")

    Panjang = Console.ReadLine()

    Console.Write("Masukan Lebar :")

    Lebar = Console.ReadLine()

    Luas = Panjang*Lebar

    Console.WriteLine("Luas Persegi Panjang adalah :" & Luas.ToString())

    EndSub

    EndModule

    Simpan dengan nama file persegi.vb

    Set path=%path%;c:\windows\microsoft.net\framework\v1.1.4322

    VBC persegi.vb

    Microsoft (R) Visual Basic .NET Compiler version 7.10.3052.4

    for Microsoft (R) .NET Framework version 1.1.4322.573

    Copyright (C) Microsoft Corporation 1987-2002. All rights reserved.

    Persegi

    2. Buatlah program untuk menghitung luas lingkaran dengan pemakaiankonstanta.

    OptionExplicitOn

    Imports System

    PublicModule lingkaran

    Const PI AsSingle = 3.14

    Sub Main()

    Dim R AsSingle

    Dim Luas AsDouble

  • 8/6/2019 Dasar Pemrograman VB

    20/80

    Bahasa pemrograman VB.NET Hendra, S.T.

    INDOPROG 20

    Console.Write("Masukkan Jari-jari :")

    R = Console.ReadLine()

    Luas = PI * R^2

    Console.WriteLine("Luas : {0, 10:f2}",Luas)'10 tempat 2 desimal

    EndSub

    EndModule

  • 8/6/2019 Dasar Pemrograman VB

    21/80

    Bahasa pemrograman VB.NET Hendra, S.T.

    INDOPROG 21

    Struktur Keputusan dan Perulangan

    Perintah If...Then...Else

    Salah satu tujuan pemrograman komputer adalah mengambil tugas rutin manusia untukdalam mengambil keputusan-keputusan yang dapat diprogram. Misalnya seorang Dosendalam menentukan Grade (A,B,C,D, atau E) nilai akhir mahasiswa dengan kondisisebagai berikut :

    Jika Nilai >= 85 KemudianCetak "A"

    Jika tidak dan Jika Nilai >= 70 KemudianCetak "B"

    Jika tidak dan Jika Nilai >= 60 KemudianCetak "C"

    Jika tidak dan Jika Nilai >= 25 KemudianCetak "D"Jika tidak

    Cetak "E"Akhir dari keputusan

    Logika keputusan diatas dapat diprogram pada Visual Basic dengan menggunakan syntaxpenulisan sebagai berikut :

    Ifcondition [ Then ]

    [ statements ]

    [ ElseIfelseifcondition [ Then ]

    [ elseifstatements ] ]

    [ Else

    [ elsestatements ] ]

    End If

    Contoh :

    OptionExplicitOn

    Imports System

    Module ModIf

    Sub Main()

    Dim Nilai AsSingle

    Console.Write("Masukkan Nilai Akhir :")

    Nilai = Console.ReadLine()

    If Nilai >= 85 Then

    Console.WriteLine("A")

    ElseIf Nilai >= 70 Then

    Console.WriteLine("B")

    ElseIf Nilai >= 60 Then

    Console.WriteLine("C")

    ElseIf Nilai >= 25 Then

    Console.WriteLine("D")

  • 8/6/2019 Dasar Pemrograman VB

    22/80

    Bahasa pemrograman VB.NET Hendra, S.T.

    INDOPROG 22

    Else

    Console.WriteLine("E")

    EndIf

    EndSub

    EndModule

    Perintah Select...Case

    Jika statement If melakukan pemilihan berdasarkan kondisi, maka perintah Selectmelakukan pemilihan berdasarkan nilai ekspresi dengan syntax sebagai berikut :

    Select [ Case ] testexpression

    [ Caseexpressionlist

    [ statements ] ]

    [ Case Else

    [ elsestatements ] ]

    End Select

    Contoh :OptionExplicitOn

    Imports System

    Module ModHari

    Sub Main()

    Dim Hari AsByte

    Console.Write("Masukkan No Hari :")

    Hari = Console.ReadLine()

    SelectCase Hari

    Case 1

    Console.WriteLine("Senin")

    Case 2

    Console.WriteLine("Selasa")

    Case 3

    Console.WriteLine("Rabu")

    Case 4

    Console.WriteLine("Kamis")

    Case 5

    Console.WriteLine("Jumat")

    Case 6

    Console.WriteLine("Sabtu")

    Case 7

    Console.WriteLine("Minggu")

    CaseElse

    Console.WriteLine("No Hari tidak sah")

    EndSelect

    EndSubEndModule

    Contoh Lain :

    OptionExplicitOn

    Imports System

    Module ModHari

    Sub Main()

  • 8/6/2019 Dasar Pemrograman VB

    23/80

    Bahasa pemrograman VB.NET Hendra, S.T.

    INDOPROG 23

    Dim Angka AsInteger

    Console.Write("Masukkan Angka 1 s/d 9 :")

    Angka = Console.ReadLine()

    SelectCase Angka

    CaseIs < 1

    Console.WriteLine("Terlalu kecil")

    Case 1 To 5

    Console.WriteLine("Berada antara 1 dan 5")

    Case 6,7,8,9

    Console.WriteLine("Berada antara 6 dan 9")

    CaseElse

    Console.WriteLine("Terlalu besar")

    EndSelect

    EndSub

    EndModule

    Perintah For...Next

    Salah satu keunggulan komputer dibandingkan dengan manusia adalah dapatmengerjakan sesuatu secara berulang-ulang tanpa mengalami penurunan kualitas

    terhadap hasil kerja.

    Salah satu perintah perulangan di Visual Basic ada ForNext Statements yangmerupakan perulangan dengan menggunakan sistem counter dengan menggunakansyntax sebagai berikut :

    Forcounter[Asdatatype ] =startToend[ Stepstep ]

    [ statements ]

    [ Exit For ]

    [ statements ]

    Next [ counter]

    Contoh :

    Dim I As IntegerFor I = 1 To 100 'Defaultnya Step 1

    Console.WriteLine(I)Next I

    Atau

    For I As Integer = 1 To 100 'Defaultnya Step 1Console.WriteLine(I)

    Next I

    Akan mencetak daftar bilangan 1 s/d 100

    Catatan :Dari segi looping pemakaian :

    Dim I As Integer

  • 8/6/2019 Dasar Pemrograman VB

    24/80

    Bahasa pemrograman VB.NET Hendra, S.T.

    INDOPROG 24

    For I = 1 To 100 'Defaultnya Step 1Console.WriteLine(I)

    Next I

    Tidak berbeda dengan

    For I As Integer = 1 To 100 'Defaultnya Step 1Console.WriteLine(I)

    Next I

    Tapi jika ditinjau dari lingkup pemakaian variabel, maka variabel I pada contoh pertamaadalah variabel local Sub Main, sedangkan variabel I pada contoh kedua adalah variablelocal untuk blok looping.

    Contoh :

    Dim I As IntegerFor I = 1 To 100 'Defaultnya Step 1Console.WriteLine(I)

    Next IConsole.WriteLine(I) 'Akan tercetak 101

    Sedangkan

    For I As Integer = 1 To 100 'Defaultnya Step 1Console.WriteLine(I)

    Next I

    Console.WriteLine(I) 'Terjadi error pada saat kompilasiDimana pesan error adalah error BC30451: Name I is not declared.

    Dim I As IntegerFor I = 1 To 100 Step 2

    Console.WriteLine(I)Next I

    Akan mencetak daftar bilangan ganjil 1 s/d 99

    Catatan : Step tidak selamanya harus berupa bilangan bulat, tetapi juga dapat berupabilangan floating point.

    For I As Single = 1 To 10 Step 0.1Console.WriteLine(I)

    Next I

    Akan mencetak daftar bilangan 1, 1.1, 1.2, 1.3, ,10

  • 8/6/2019 Dasar Pemrograman VB

    25/80

    Bahasa pemrograman VB.NET Hendra, S.T.

    INDOPROG 25

    Bagaimana dengan perulangan dari besar ke kecil ?Perulangan dari besar ke kecil dapat dilakukan dengan menentukan nilai Step negatif.

    Contoh :

    For I As Integer = 100 To 1 Step -1Console.WriteLine(I)Next I

    Akan mencetak daftar bilangan 100, 99. 98, , 1

    Dapatkah anda menerangkan fungsi dan contoh pemakaian Exit For ?Exit For merupakan perintah keluar dari looping tanpa bersyarat, artinya kalau perintahExit For ditemukan maka proses program dilanjutkan ke perintah dibawah Next.

    Adapun contoh pemakaian Exit For adalah misalnya kita ingin membuat password

    dengan jumlah kesempatan coba sebanyak 3 kali.OptionExplicitOn

    Imports System

    Module ModPass

    Sub Main()

    Dim I AsInteger

    Dim Pass AsString

    For I = 1 To 3 Step 1

    Console.Write("Password :")

    Pass = Console.ReadLine()

    If Pass.ToUpper() ="INDOPROG" Then 'Jika Password Benar

    ExitFor 'Keluar dari Looping

    EndIf

    Next I

    If I > 3 Then

    Console.WriteLine("Proses Login Gagal !")

    Else

    Console.WriteLine("Welcome !")

    EndIf

    EndSub

    EndModule

    Perintah Do...Loop

    Jika perintah For Next melakukan looping berdasarkan counter, maka perintah Do

    Loop melakukan looping berdasarkan kondisi, adapun tata cara penulisannya adalahsebagai berikut :

    Do {While | Until} condition

    [ statements ]

    [ Exit Do ]

    [ statements ]

    Loop

  • 8/6/2019 Dasar Pemrograman VB

    26/80

    Bahasa pemrograman VB.NET Hendra, S.T.

    INDOPROG 26

    Atau

    Do

    [ statements ]

    [ Exit Do ]

    [ statements ]

    Loop { While | Until} condition

    Perbedaan antara kedua struktur perulangan diatas adalah posisi pemeriksaan kondisiyang akan diuji, pada struktur yang pertama pengujian kondisi dilakukan sebelumstatements dikerjakan, sedangkan pada struktur yang kedua pengujuan dilakukan setelahstatement dikerjakan.

    Sebagaimana dengan Exit For, perintah Exit Do akan mengakhiri Looping tanpabersyarat, yang artinya jika perintah Exit Do ditemukan, maka proses Looping akansegera dihentikan dan dilanjutkan ke Statement dibawah Loop.

    Contoh :

    OptionExplicitOn

    Imports System

    Module DoLoop

    Sub Main()

    Dim Dat() AsInteger

    Dim Jd,DTemp AsInteger

    Jd = 0

    Do

    Console.Write("Data Ke-{0} :", Jd+1)

    DTemp = Console.ReadLine()If DTemp 0 Then

    ReDimPreserve Dat(Jd)

    Dat(Jd) = DTemp

    Jd+=1

    EndIf

    LoopUntil DTemp = 0 'Ulangi sampai Dtemp diisi 0

    For I AsInteger = 0 To Jd-1

    Console.WriteLine("Data Ke-{0} adalah {1}",I+1, Dat(I))

    Next I

    EndSub

    EndModule

    Pada contoh diatas, mula-mula kita mendeklarasikan suatu array tanpa diikuti denganukuran, kemudian proses akan dilanjutkan dengan pembacaan data ke variabel Dtemp,dab jika nilai Dtemp bukan 0 (nol), maka ukuran array akan dialokasi ulang denganperintah ReDim Preserve yang akan mempertahankan isi array, dan pembacaan data akanterus diulang sampai Dtemp diisi dengan 0 (nol).

  • 8/6/2019 Dasar Pemrograman VB

    27/80

    Bahasa pemrograman VB.NET Hendra, S.T.

    INDOPROG 27

    Selain struktur DoLoop, juga tersedia perintah perulangan dengan tata cara penulisansebagai berikut.

    Whilecondition

    [ statements ]

    End While

    Pada prinsipnya struktur While End While sama dengan Do While Loop.

    Perintah For Each...Next

    Perintah For EachNext digunakan untuk melakukan iterasi berdasarkan collectiontertentu, misalnya kita ingin mencetak semua elemen dalam suatu array, penulisandengan perintah For Each dapat dilakukan sebagai berikut :

    ForEachelement [Asdatatype ] Ingroup

    [ statements ]

    [ Exit For ][ statements ]

    Next [ element]

    Contoh :

    OptionExplicitOn

    Imports System

    Module DoLoop

    Sub Main()

    Dim Dat() AsInteger

    Dim Jd,DTemp AsInteger

    Jd = 0

    Do

    Console.Write("Data Ke-{0} :", Jd+1)

    DTemp = Console.ReadLine()

    If DTemp 0 Then

    ReDimPreserve Dat(Jd)

    Dat(Jd) = DTemp

    Jd+=1

    EndIf

    LoopUntil DTemp = 0

    ForEach Data AsIntegerIn Dat

    Console.WriteLine("Data pada array {0}", Data)Next

    EndSub

    EndModule

    Array pada Visual Basic merupakan collection pada System.Array, sehingga pemakaianperintah For Each akan mendapatkan elemen 0 s/d element terakhir dari array.

  • 8/6/2019 Dasar Pemrograman VB

    28/80

    Bahasa pemrograman VB.NET Hendra, S.T.

    INDOPROG 28

    Latihan :

    1. Buatlah program mencetak tabel perkalian 1x1 = 1 s/d 10 x 10 = 100OptionExplicitOn

    Imports System

    PublicModule ModKali

    Sub Main()

    Dim i, j AsByte

    For i = 1 To 10

    For j = 1 to 10

    Console.WriteLine("{0,3} x {1,3} = {2,3}",i,j,i*j)

    Next j

    Next i

    EndSub

    EndModule.

    2. Buatlah program untuk konversi data desimal ke binary dengan pemakaianoperator bit shift

    OptionExplicitOn

    Imports System

    Module ModBiner

    Sub Main()

    Dim D AsInteger

    Dim I AsShort

    Console.Write("Bilangan Desimal :")D = Console.ReadLine()

    For I = 15 to 0 Step -1

    If ((D >> I) And 1) = 1 Then

    Console.Write(1)

    Else

    Console.Write(0)

    EndIf

    Next

    EndSub

    EndModule

    3. Buatlah program yang menentukan bilangan bulat yang dimasukanpemakai Genap atau Ganjil.4. Buatlah program yang menentukan tahun yang dimasukan pemakaitermasuk tahun Kabisat atau bukan.

    5. Buatlah program yang mencetak barisan bilangan fibonacci sesuai denganjumlah suku yang ditentukan oleh pemakai.

    6. Buatlah program yang menentukan bilangan bulat yang dimasukanpemakai Prima atau bukan.

  • 8/6/2019 Dasar Pemrograman VB

    29/80

    Bahasa pemrograman VB.NET Hendra, S.T.

    INDOPROG 29

    7. Buatlah program yang dapat mencetak faktor prima dari suatu bilanganbulat (Contoh 100 = 2 x 2 x 5 x 5)

  • 8/6/2019 Dasar Pemrograman VB

    30/80

  • 8/6/2019 Dasar Pemrograman VB

    31/80

    Bahasa pemrograman VB.NET Hendra, S.T.

    INDOPROG 31

    Private b As Integer(,) = { { 0, 1 }, { 2, 3 }, { 4, 5 }, { 6, 7 }, {

    8, 9 } }

    Sama dengan deklarasi berikut:

    Private b(4, 1) As Integer

    Dan diikuti dengan pemberian nilai berikut :

    b(0, 0) = 0 : b(0, 1) = 1

    b(1, 0) = 2 : b(1, 1) = 3

    b(2, 0) = 4 : b(2, 1) = 5

    b(3, 0) = 6 : b(3, 1) = 7

    b(4, 0) = 8 : b(4, 1) = 9

    Member pada Class Array

    Setiap array pada Visual Basic mewarisi member yang terdefinisi pada Class Array,

    adapun beberapa member tersebut adalah sebagai berikut ini :

    Length Mendapatkan jumlah elemen dalam Array (Integer 32-bit)

    LongLength Mendapatkan jumlah elemen dalam Array (Integer 64-bit)

    Rank Mendapatkan jumlah dimensi dalam Array

    Contoh :OptionExplicitOn

    Imports System

    Imports Microsoft.VisualBasic

    PublicModule ModArr

    Public Arr(3,3) AsInteger

    Sub Main()

    Console.WriteLine(Arr.Length()) '16

    Console.WriteLine(Arr.LongLength()) '16

    Console.WriteLine(Arr.Rank()) '2

    EndSub

    EndModule

    GetLength Mendapatkan jumlah elemen dalam Array pada dimensi

    tertentu (Integer 32-bit)

    GetLongLength Mendapatkan jumlah elemen dalam Array pada dimensi

    tertentu (Integer 64-bit)

    Contoh :OptionExplicitOn

    Imports System

    Imports Microsoft.VisualBasic

    PublicModule ModArr

  • 8/6/2019 Dasar Pemrograman VB

    32/80

    Bahasa pemrograman VB.NET Hendra, S.T.

    INDOPROG 32

    Public Arr(3,3) AsInteger

    Sub Main()

    Console.WriteLine(Arr.GetLength(0)) '4

    Console.WriteLine(Arr.GetLongLength(0)) '4

    EndSub

    EndModule

    GetLowerBound Mendapatkan nilai index batas bawah Array pada dimensi

    tertentu.

    GetUpperBound Mendapatkan nilai index batas atas Array pada dimensi

    tertentu.

    Contoh :OptionExplicitOn

    Imports System

    Imports Microsoft.VisualBasicPublicModule ModArr

    Public Arr(3,3) AsInteger

    Sub Main()

    Console.WriteLine(Arr.GetLowerBound(0)) '0

    Console.WriteLine(Arr.GetUpperBound(0)) '3

    EndSub

    EndModule

    IndexOf Mendapatkan index paling awal dari nilai tertentu pada Array 1

    dimensi.

    LastIndexOf Mendapatkan index paling akhir dari nilai tertentu pada Array 1dimensi.

    Contoh :OptionExplicitOn

    Imports System

    Imports Microsoft.VisualBasic

    PublicModule ModArr

    Public Arr() AsInteger = {0,1,2,3,4,3,2,1,0}

    Sub Main()

    Console.WriteLine(Array.IndexOf(Arr,3)) '3

    Console.WriteLine(Array.LastIndexOf(Arr,3)) '5

    EndSub

    EndModule

    Reverse Membalik urutan element dalam suatu Array 1 dimensi.

    OptionExplicitOn

  • 8/6/2019 Dasar Pemrograman VB

    33/80

    Bahasa pemrograman VB.NET Hendra, S.T.

    INDOPROG 33

    Imports System

    Imports Microsoft.VisualBasic

    PublicModule ModArr

    Public Arr() AsInteger = {0,1,2,3,4}

    Sub Main()

    Dim I AsInteger

    For I = Arr.GetLowerBound(0) To Arr.GetUpperBound(0)

    Console.Write(Arr(I)) '01234

    Next I

    Console.WriteLine()

    Array.Reverse(Arr,0,4)

    For I = Arr.GetLowerBound(0) To Arr.GetUpperBound(0)

    Console.Write(Arr(I)) '43210

    Next I

    EndSub

    EndModule

    Sort Mengurut elemen dalam suatu Array 1 dimensi.

    Contoh :OptionExplicitOn

    Imports System

    Imports Microsoft.VisualBasic

    PublicModule ModArr

    Public Arr() AsInteger = {0,4,3,1,2}

    Sub Main()

    Dim I AsInteger

    For I = Arr.GetLowerBound(0) To Arr.GetUpperBound(0)

    Console.Write(Arr(I)) '04312

    Next IConsole.WriteLine()

    Array.Sort(Arr,0,4)

    For I = Arr.GetLowerBound(0) To Arr.GetUpperBound(0)

    Console.Write(Arr(I)) '01234

    Next I

    EndSub

    EndModule

    BinarySearch Mencari Nilai tertentu pada suatu Array dengan algoritma

    Binary Search.

    OptionExplicitOn

    Imports System

    Imports Microsoft.VisualBasic

    PublicModule ModArr

    Public Arr() AsInteger = {0,4,3,1,2}

    Sub Main()

    Dim Nilai = 3

  • 8/6/2019 Dasar Pemrograman VB

    34/80

    Bahasa pemrograman VB.NET Hendra, S.T.

    INDOPROG 34

    Array.Sort(Arr,0,4)

    Console.WriteLine(Array.BinarySearch(Arr,Nilai)) '2

    EndSub

    EndModule

    Perintah Visual Basic untuk Array

    Visual Basic menyediakan berbagai perintah khusus untuk pengolahan string sebagaiberikut ::

    Perintah ReDim

    Perintah ReDim digunakan untuk mendefinisi ulang jumlah elemen pada Array denganatau tanpa mempertahankan data array sebelumnya.

    ReDim [ Preserve] name(boundlist)

    PreserveSifatnya optional, jika digunakan maka data pada array tersebut akandipertahankan pada array ukuran baru

    Contoh :

    Pada contoh berikut menggunakan perintah ReDim untuk mengalokasi ualang ukuranvariabel array.

    Dim I, MyArray() As Integer ' Declare variable and array variable.

    ReDim MyArray(5) ' Allocate 6 elements.

    For I = 0 To UBound(MyArray)

    MyArray(I) = I ' Initialize array.

    Next I

    Perintah berikut mengubah ukuran array tanpa mempertahankan isi elemennya..

    ReDim MyArray(10) ' Resize to 11 elements.

    For I = 0 To UBound(MyArray)

    MyArray(I) = I ' Initialize array.

    Next I

    Perintah berikut mengubah ukuran dari array dengan mempertahankan isi elementnya.

    ReDim Preserve MyArray(15) ' Resize to 16 elements.

    Contoh berikut mengalokasi ulang array sesuai dengan data yang dimasukan pemakai :

    OptionExplicitOn

    Imports System

    Module DoLoop

  • 8/6/2019 Dasar Pemrograman VB

    35/80

    Bahasa pemrograman VB.NET Hendra, S.T.

    INDOPROG 35

    Sub Main()

    Dim Dat() AsInteger

    Dim Jd,DTemp AsInteger

    Jd = 0

    Do

    Console.Write("Data Ke-{0} :", Jd+1)

    DTemp = Console.ReadLine()

    If DTemp 0 Then

    ReDimPreserve Dat(Jd)

    Dat(Jd) = DTemp

    Jd+=1

    EndIf

    LoopUntil DTemp = 0 'Ulangi sampai Dtemp diisi 0

    For I AsInteger = 0 To Jd-1

    Console.WriteLine("Data Ke-{0} adalah {1}",I+1, Dat(I))

    Next I

    EndSub

    EndModule

    Perintah Erase

    Perintah Erase digunakan untuk membebaskan array dan memory yang digunakanelemennya, dengan tata cara penulisan sebagai berikut :

    Erasearraylist

    Catatan

    Perintah Erase akan memberikan nilai Nothing ke variabel array.

    Contoh

    Pada contoh berikut menggunakan perintah Erase untuk membebaskan memori dua array(1000 dan 100 tempat elemen yang bersesuaian). Kemudian menggunakan perintahReDim untuk memberikan ukuran baru untuk ketiga dimensi dari array.

    Dim Int3DArray(9, 9, 9), Int2DArray(9, 9) As Integer

    ' ...

    Erase Int3DArray, Int2DArray

    ' ...ReDim Int3DArray(4, 4, 9)

    Module Array pada Namespace Microsoft.VisualBasic

  • 8/6/2019 Dasar Pemrograman VB

    36/80

    Bahasa pemrograman VB.NET Hendra, S.T.

    INDOPROG 36

    Pengolahan data array dapat juga menggunakan beberapa fungsi bantu yang berkaitandengan array yang tersedia pada Namespace Microsoft.VisualBasic, berikut ini adalahbeberapa fungsi bantu tersebut :

    Fungsi IsArray

    Mengembalikan nilai Boolean yang menunjukan apakah suatu variabel menunjuk padasuatu array.

    Pada contoh ini fungsi IsArray memeriksa apakah variabel-variabel mengacu pada suatuarray.

    Dim MyArray(4), YourArray(3) As Integer ' Declare array variables.

    Dim MyString As String

    Dim MyCheck As Boolean

    MyCheck = IsArray(MyArray) ' Returns True.

    MyCheck = IsArray(YourArray) ' Returns True.

    MyCheck = IsArray(MyString) ' Returns False.

    LBound Function

    Mengembalikan index terendah untuk dimensi tertentu dari suatu array

    Pada contoh berikut menggunakan fungsi LBound untuk mendapatkan index terendahsuatu dimensi dari array.

    Dim Lowest, MyArray(10, 15, 20), AnyArray(6) as Integer

    Lowest = LBound(MyArray, 1) ' Returns 0.

    Lowest = LBound(MyArray, 3) ' Returns 0.

    Lowest = LBound(AnyArray) ' Returns 0.

    Suatu Exception/Error akan terjadi kalau kondisi berikut ini ditemukan :

    Exception type Error number Condition

    ArgumentNullException 9 Array is Nothing.RankException 9 Rank< 1 orRankis greater

    than the rank ofArray.

    Fungsi UBound

    Mengembalikan index yang terbesar dari suatu dimensi pada array.

    Pada contoh berikut menggunakan fungsi Ubound untuk menentukan index yang terbesardari suatu dimensi pada array.

    Dim Highest, MyArray(10, 15, 20), AnyArray(6) as Integer

  • 8/6/2019 Dasar Pemrograman VB

    37/80

    Bahasa pemrograman VB.NET Hendra, S.T.

    INDOPROG 37

    Highest = UBound(MyArray, 1) ' Returns 10.

    Highest = UBound(MyArray, 3) ' Returns 20.

    Highest = UBound(AnyArray) ' Returns 6.

    Catatan :Untuk memanfaatkan fungsi IsArray, Lbound dan Ubound anda perlu mencantumkan

    Imports Microsoft.VisualBasic

    Pada awal program

    Latihan :

    1. Buatlah program yang menbaca sejumlah data dari pemakain, dan menampilkankembali dalam keadaan berurut dari kecil ke besar, nilai total, rata-rata, nilaiterbesar, dan nilai yang terkecil dengan pemanfaatan array.

    2. Perbaiki program diatas untuk menampilkan kembali dalam keadaan berurut daribesar ke kecil.

    3. Tambahkan kemampuan program untuk mencari suatu nilai yang dimasukan danmenampilkan posisinya dalam array.

    4. Buatlah program yang mencetak suatu segitiga Pascal.

  • 8/6/2019 Dasar Pemrograman VB

    38/80

    Bahasa pemrograman VB.NET Hendra, S.T.

    INDOPROG 38

    Fungsi dan Sub

    Perintah Function

    Dalam pembuatan program yang besar, tentu saja harus dikembangkan secara terstruktur

    sehingga program menjadi lebih mudah dikembangkan dan dimaintenance. Salah satuusaha yang dapat dilakukan adalah memecah program menjadi kesatuan logika yanglebih kecil dimana proses yang sama dikelompokan menjadi sub program yang diberinama, dan dapat dipanggil pada saat yang dibutuhkan.

    Pemakaian function digunakan untuk proses maupun rumus yang perlu mengembalikannilai kepada pemanggil, adapun tata cara penulisan function adalah sebagai berikut :

    Functionname[(arglist)] [Astype]

    [ statements]

    [ Exit Function ]

    [ statements]

    End Function

    Contoh :

    OptionExplicitOn

    Imports System

    Imports Microsoft.VisualBasic

    PublicModule GenapGanjil

    Function IsGenap(x AsLong) AsBoolean

    If (x Mod 2) = 0 Then

    ReturnTrue

    Else

    ReturnFalse

    EndIfEndFunction

    REM program utama

    Sub Main()

    Dim bil AsLong

    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)

    EndIf

    EndSub

    EndModule

    Defaultnya parameter pada function dikirim secara ByVal, kadang-kadang kitamenginginkan proses yang dapat mengembalikan lebih dari satu nilai yang mana dapatdipenuhi dengan menggunakan parameter yang dikirim secara ByRef.

  • 8/6/2019 Dasar Pemrograman VB

    39/80

    Bahasa pemrograman VB.NET Hendra, S.T.

    INDOPROG 39

    Misalnya kita ingin menghitung akar persamaan kuadrat dengan menggunakan rumusABC. Yang mana X1 dan X2 yang kemungkinan akar imaginier, dimana function akanmengembalikan suatu nilai true (ada solusi) atau false (tidak ada solusi).

    Contoh :

    OptionExplicitOn

    Imports System

    Imports Microsoft.VisualBasic

    PublicModule AkarKuadrat

    Function CariAkar(A asLong, B asLong ,C AsLong, _

    ByRef X1 assingle ,ByRef X2 assingle) AsBoolean

    Dim D asLong

    D = B^2 - 4*A*C

    If D < 0 Then 'Akar Imaginier

    ReturnFalse 'Tidak ada solusi

    Else

    X1 = (-B + Math.Sqrt(D))/(2*A) 'argumen X1

    X2 = (-B - Math.Sqrt(D))/(2*A) 'argumen X2

    ReturnTrue 'Ada solusiEndIf

    EndFunction

    REM program utama

    Sub Main()

    Dim A,B,C AsLong

    Dim X1,X2 AsSingle

    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")

    EndIf

    EndSub

    EndModule

    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.

    Jika kita perlu melewatkan suatu array sebagai argumen pada function, maka dapatdigunakan keyword ParamArray untuk melewatkan nilai array secara by value, contoh :

  • 8/6/2019 Dasar Pemrograman VB

    40/80

    Bahasa pemrograman VB.NET Hendra, S.T.

    INDOPROG 40

    OptionExplicitOn

    Imports System

    Imports Microsoft.VisualBasic

    PublicModule ModArr

    Function sumArray(ByValParamarray Dat() AsByte)

    Dim Total AsLong = 0

    For I AsInteger = 0 To UBound(Dat)

    Total += Dat(I)

    Next I

    Return Total

    EndFunction

    Dim Digit() AsByte = {0,1,2,3,4,5}

    Sub Main()

    Console.WriteLine(sumArray(Digit))

    EndSub

    EndModule

    Sub Statement

    Pada bagian sebelumnya kita telah membahas tentang function dan pemakaiannya,selanjutnya kita akan melihat Sub yang menyerupai Function, dimana perbedaannyaadalah jika function digunakan untuk proses yang mengembalikan nilai kepadapemanggil, sedangkan Sub cenderung digunakan untuk proses yang tidak mengembalikannilai.

    Subname [(arglist)]

    [ statements]

    [ Exit Sub ]

    [ statements]

    End Sub

    Catatan :Sebagaimana function, sebenarnya sub juga dapat digunakan untuk proses yangmengembalikan nilai melalui argumen yang dikirim secara ByRef.

    Jika Exit Sub digunakan, maka Sub akan kembali ke pemanggil secara tidak bersyarat.

    Contoh :

    OptionExplicitOn

    Imports System

    Imports Microsoft.VisualBasic

    PublicModule ModArrPublic Arr() AsInteger

    Public Jd AsByte

    Sub BacaJd()

    Console.Write("Masukkan Jumlah Data :")

    Jd = Console.ReadLine()

    EndSub

    Sub BacaData()

  • 8/6/2019 Dasar Pemrograman VB

    41/80

    Bahasa pemrograman VB.NET Hendra, S.T.

    INDOPROG 41

    ReDim Arr(Jd-1)

    For I AsByte = 0 To UBound(Arr)

    Console.Write("Data Ke -{0} :",I+1)

    Arr(I) = Console.ReadLine()

    Next I

    EndSub

    Sub CariRataRata()

    Dim Total AsLong = 0

    For I AsByte = 0 To UBound(Arr)

    Total +=Arr(I)

    Next I

    Console.WriteLine("Nilai Rata-rata : {0}",Total/Jd)

    EndSub

    Sub Main()

    BacaJd()

    BacaData()

    CariRataRata()

    EndSub

    EndModule

    Teknik Rekursi pada Visual Basic

    Dalam matematika, kita sering menjumpai formula yang mengandung rekursi, misalnyapada perhitungan nilai faktorial dari suatu bilangan yang dapat diformulasikan sebagaiberikut :

    N! = N x (N-1)!

    Dimana 1! = 1.Sehingga secara pemrograman komputer dapat ditulis sebagai berikut :

    OptionExplicitOn

    Imports System

    PublicModule modFak

    Function Fak(N asByte)

    If (N > 1) Then

    Return N * Fak(N-1)

    Else

    Return 1

    EndIf

    EndFunction

    Sub Main()

    Console.WriteLine("Faktorial dari {0} adalah {1}",5,Fak(5))

    EndSub

    EndModule

    Latihan :

  • 8/6/2019 Dasar Pemrograman VB

    42/80

    Bahasa pemrograman VB.NET Hendra, S.T.

    INDOPROG 42

    1. Buatlah function IsKabisat yang akan mengembalikan nilai True jika tahun yangdikirim sebagai argumen adalah Kabisat, dan False jika sebaliknya.

    2. Buatlah function IsPrima yang akan mendeteksi apakah suatu bilangan yangdiberikan adalah Prima atau tidak.

    3. Dengan pemanfaatan teknik rekursi, buatlah function yang dapat menghitungsuku yang ke n dari barisan fibonacci.4. Buatlah program yang mencetak faktor prima dari suatu bilangan denganpemanfaatan Sub secara rekursi.

  • 8/6/2019 Dasar Pemrograman VB

    43/80

    Bahasa pemrograman VB.NET Hendra, S.T.

    INDOPROG 43

    String

    Variabel string pada Visual Basic disimpan sebagai urutan dari angka 16-bit (2 byte)

    yang memiliki jangkauan dari 0 sampai 65535. Masing-masing angka merupakan suatukarakter tunggal Unicode. Suatu string dapat mengandung sampai dengan 2 Milyar(2^31) karakter Unicode.

    128 kode pertama (0-127) dari Unicode berkaitan dengan huruf dan simbol padakeyboard standard U.S yang mana sama dengan karakter set yang terdefinisi pada ASCII,kemudian 128 karakter berikutnya (128255) merupakan karakter spesial, seperti hurufalphabet Latin, accent, simbol mata uang, dan pecahan. Kemudian karakter sisianyadigunakan untuk berbagai simbol, termasuk karakter teksual didunia, dan simbol teknis,dan metematika.

    Pada dasarnya String pada Visual Basic mengacu pada String Class.Contoh :

    OptionExplicitOn

    Imports System

    PublicModule modStr

    Dim Nama AsString = "Hendra Soewarno"

    Sub Main()

    Console.WriteLine(Nama.ToUpper())

    Console.WriteLine(Nama.ToLower())

    EndSub

    EndModule

    Pada contoh diatas akan mencetak HENDRA SOEWARNO dan hendra soewarno.

    Member pada Class String

    Semua string di Visual Basic memiliki member sebagai berikut yang dapat digunakanuntuk melakukan pengolahan data String.

    Public Properties

    Chars Mendapatkan karakter pada posisi tertentu string.

    Length Mendapatkan jumlah character dalam string

    Contoh :

    OptionExplicitOn

    Imports System

    PublicModule modStr

  • 8/6/2019 Dasar Pemrograman VB

    44/80

    Bahasa pemrograman VB.NET Hendra, S.T.

    INDOPROG 44

    Dim Nama AsString = "Hendra Soewarno"

    Sub Main()

    Console.WriteLine(Nama.Chars(0)) 'Akan mencetak H

    Console.WriteLine(Nama.Chars(1)) 'Akan mencetak e

    Console.WriteLine(Nama.Chars(2)) 'Akan mencetak n

    Console.WriteLine(Nama.Length()) 'Akan mencetak 12

    EndSub

    EndModule

    Public Methods

    PadLeft Mengisi spasi atau karakter lain disebelah kiri string sampai string

    mencapai panjang tertentu.

    PadRight Mengisi spasi atau karakter lain disebelah kanan string sampai

    string mencapai panjang tertentu.

    ToLower Mengembalikan string yang telah diubah ke huruf kecil

    ToUpper Mengembalikan string yang telah diubah ke huruf besar

    Trim Mengembalikan string dengan membuang spasi didepan danbelakang string

    TrimEnd Mengembalikan string dengan membuang spasi dibelakang string

    TrimStart Mengembalikan string dengan membuang spasi didepan string

    Substring Mengembalikan bagian dari string

    Contoh :

    OptionExplicitOn

    Imports System

    PublicModule modStrDim Nama AsString = "Hendra Soewarno"

    Dim Kota AsString = " Medan "

    Sub Main()

    Console.WriteLine(Nama.PadLeft(20,"-")) '-----Hendra Soewarno

    Console.WriteLine(Nama.PadRight(20,"-")) 'Hendra Soewarno-----

    Console.WriteLine(Nama.ToLower()) 'hendra soewarno

    Console.WriteLine(Nama.ToUpper()) 'HENDRA SOEWARNO

    Console.WriteLine(Kota.TrimEnd()) '____Medan

    Console.WriteLine(Kota.TrimStart()) 'Medan_____

  • 8/6/2019 Dasar Pemrograman VB

    45/80

    Bahasa pemrograman VB.NET Hendra, S.T.

    INDOPROG 45

    Console.WriteLine(Kota.Trim()) 'Medan

    Console.WriteLine(Nama.SubString(3,3)) 'dra

    EndSub

    EndModule

    Insert Menyisip string ke dalam string sekarangpada posisi tertentu.

    Remove Menghapus sejumlah karakter dalamstring

    Replace Mengantu sejumlah karakter dengan

    string pada string sekarang

    Contoh :

    OptionExplicitOn

    Imports System

    PublicModule modStr

    Dim Nama AsString = "Santo"Sub Main()

    Console.WriteLine(Nama.Insert(1,"us")) 'Susanto

    Console.WriteLine(Nama.Remove(0,1)) 'anto

    Console.WriteLine(Nama.Replace("o","i")) 'Santi

    EndSub

    EndModule

    IndexOf Mengembalikan posisi awal suatu stringpada string sekarang mulai dari posisi

    tertentu

    IndexOfAny Mengembalikan posisi awal suatu string

    pada string sekarang.

    LastIndexOf Mengembalikan posisi akhir suatu stringpada string sekarang sekarang mulai dariposisi tertentu

    LastIndexOfAny Mengembalikan posisi akhir suatu string

    pada string sekarang.

    StartsWith Mendapatkan apakah string dimulai

    dengan string tertentu.

    EndsWith Mendapatkan apakah string diakhirdengan string tertentu.

    Contoh :

    OptionExplicitOn

    Imports System

    PublicModule modStr

    ' 0 1 2

    ' 012345678901234567890123456

    Dim Nama AsString = "ebook karya Hendra Soewarno"

  • 8/6/2019 Dasar Pemrograman VB

    46/80

    Bahasa pemrograman VB.NET Hendra, S.T.

    INDOPROG 46

    Sub Main()

    Console.WriteLine(Nama.StartsWith("e")) 'True

    Console.WriteLine(Nama.StartsWith("a")) 'False

    Console.WriteLine(Nama.EndsWith("o")) 'True

    Console.WriteLine(Nama.EndsWith("i")) 'False

    EndSub

    EndModule

    OptionExplicitOn

    Imports System

    PublicModule modStr

    ' 0 1 2

    ' 012345678901234567890123456

    Dim Nama AsString = "ebook karya Hendra Soewarno"

    Sub Main()

    Console.WriteLine(Nama.IndexOfAny("e")) '0

    Console.WriteLine(Nama.LastIndexOfAny("e")) '21

    Console.WriteLine(Nama.IndexOf("e",2)) '13

    Console.WriteLine(Nama.LastIndexOf("e",15)) '13

    EndSub

    EndModule

    Module String pada Namespace Microsoft.VisualBasic

    Selain pengolahan data string dengan menggunakan String Member, Visual Basic jugamenyediakan berbagai fungsi bantu yang terdefinisi pada NamespaceMicorosoft.VisualBasic, berikut ini adalah beberapa fungsi bantu yang dapat digunakanuntuk pengolahan data string.

    Asc(x), mengembalikan nilai ASCII dari huruf pertama dalam string x

    AscW(x), mengembalikan nilai ASCII dari huruf pertama dalam string x

    Chr(x), mengembalikan character dari suatu nilai ASCII x

    ChrW(x), , mengembalikan character dari suatu nilai ASCII x

    Contoh :

    OptionExplicitOn

    Imports System

    Imports Microsoft.VisualBasic

    PublicModule modStr

    Sub Main()

    Console.WriteLine(Asc("H")) '72

    Console.WriteLine(AscW("H")) '72

    Console.WriteLine(Chr("72")) 'H

    Console.WriteLine(ChrW("72")) 'H

    EndSub

    EndModule

  • 8/6/2019 Dasar Pemrograman VB

    47/80

  • 8/6/2019 Dasar Pemrograman VB

    48/80

    Bahasa pemrograman VB.NET Hendra, S.T.

    INDOPROG 48

    Lset(x,y), mengembalikan string rapat kiri dengan panjang y dengan menambah spasidibelakang string x.

    Contoh :

    OptionExplicitOn

    Imports System

    Imports Microsoft.VisualBasic

    PublicModule modStr

    Sub Main()

    Dim Nama1 AsString = "Hendra"

    Dim Nama2 AsString = "Soewarno"

    Console.WriteLine(Nama1 & Space(5) & Nama2) 'Hendra Soewarno

    Console.WriteLine(RSet(Nama1,9)) '___Hendra

    Console.WriteLine(LSet(Nama1,9)) 'Hendra___

    EndSub

    EndModule

    Ltrim(x), mengembalikan string dengan menghilangkan spasi didepan string x.

    Rtrim(x), mengembalikan string dengan menghilangkan spasi dibelakang string x.

    Trim(x), mengembalikan string dengan prilaku gabungan Ltrim dan Rtrim.

    StrReverse(x), mengembalikan string yang membalikan karakter dalam string x.

    Contoh :

    OptionExplicitOn

    Imports SystemImports Microsoft.VisualBasic

    PublicModule modStr

    Sub Main()

    Dim Nama AsString = "Susan"

    Console.WriteLine(Nama) 'Susan

    Console.WriteLine(StrReverse(Nama)) 'nasuS

    EndSub

    EndModule

    InStr(y, x, z), mencari dari depan posisi keberadaan substring z dalam string x mulai

    posisi y.InStrRev(x, z, y), mencari dari belakang posisi keberadaan substring z dalam string xmulai posisi y.

    Contoh :

  • 8/6/2019 Dasar Pemrograman VB

    49/80

    Bahasa pemrograman VB.NET Hendra, S.T.

    INDOPROG 49

    OptionExplicitOn

    Imports System

    Imports Microsoft.VisualBasic

    PublicModule modStr

    Sub Main()

    Dim Nama AsString = "Felicia Fortuna"

    Console.WriteLine(InStr(1,Nama,"i")) '4

    Console.WriteLine(InStr(5,Nama,"i")) '6

    Console.WriteLine(InStrRev(Nama,"F",10)) '9

    Console.WriteLine(InStrRev(Nama,"F",7)) '1

    EndSub

    EndModule

    StrDup(y, x), mengembalikan string yang merupakan duplikasi character x sebanyak y.

    StrComp(x,y,z), mengembalikan nilai -1, 0, atau 1 yang merupakan perbandingan antarastring x dengan string y, dengan metode z, dimana -1 (x < y), 0 (x =y), dan 1 (x > y), danmetode z adalah CompareMethod.Text dan CompareMethod.Binary.

    Contoh :

    OptionExplicitOn

    Imports System

    Imports Microsoft.VisualBasic

    PublicModule modStr

    Sub Main()

    Dim Nama1 AsString = "felicia"

    Dim Nama2 AsString = "FELICIA"

    Console.WriteLine(StrDup(10,"-")) '----------

    Console.WriteLine(StrComp(Nama1,Nama2,CompareMethod.Text)) '0

    Console.WriteLine(StrComp(Nama1,Nama2,CompareMethod.Binary)) '1EndSub

    EndModule

    Catatan :

    Pada metode Binary, perbandingan dilakukan berdasarkan nilai ASCII, dimana ASCIIhuruf kecil > dari huruf besar, contoh A = 65, dan a = 97.

    Split(x,y), mengembalikan array string yang merupakan hasil pemisahan dari string xdengan delimeter y

    OptionExplicitOn

    Imports System

    Imports Microsoft.VisualBasic

    PublicModule modStr

    Sub Main()

    Dim Nama AsString = "Felicia Fortuna"

    Dim aNama() AsString = Split(Nama," ")

    Console.WriteLine(aNama(0)) 'Felicia

  • 8/6/2019 Dasar Pemrograman VB

    50/80

    Bahasa pemrograman VB.NET Hendra, S.T.

    INDOPROG 50

    Console.WriteLine(aNama(1)) 'Fortuna

    EndSub

    EndModule

    Join(x,y), mengembalikan string yang merupakan hasil gabungan array string x dengan

    delimeter y

    OptionExplicitOn

    Imports System

    Imports Microsoft.VisualBasic

    PublicModule modStr

    Sub Main()

    Dim aNama() AsString = {"Felicia","Fortuna"}

    Console.WriteLine(Join(aNama,", ")) 'Felicia, Fortuna

    EndSub

    EndModule

    Replace(x,y,z,[1],[2],[3]), mengembalikan string yang merupakan pengantian string ydengan z dalam string x mulai posisi [1] sampai sejumlah karakter [2], dengan metodeperbandingan [3].

    Contoh :

    OptionExplicitOn

    Imports System

    Imports Microsoft.VisualBasic

    PublicModule modStr

    Sub Main()

    Dim Nama AsString = "Hendra"

    Console.WriteLine(Replace(Nama,"a","o")) 'Hendro

    EndSub

    EndModule

    StrConv(x,y), menghasilkan string yang merupakan hasil konversi dengan metode y daristring x, dimana y (VBStrConv.UpperCase, VBStrConv.LowerCase,VBStrConv.ProperCase)

    Contoh :

    OptionExplicitOnImports System

    Imports Microsoft.VisualBasic

    PublicModule modStr

    Sub Main()

    Dim Nama AsString = "Hendra"

    Console.WriteLine(StrConv(Nama,VbStrConv.UpperCase)) 'HENDRA

    Console.WriteLine(StrConv(Nama,VbStrConv.LowerCase)) 'hendra

    Console.WriteLine(StrConv(Nama,VbStrConv.ProperCase)) 'Hendra

    EndSub

  • 8/6/2019 Dasar Pemrograman VB

    51/80

    Bahasa pemrograman VB.NET Hendra, S.T.

    INDOPROG 51

    EndModule

    FormatDateTime(x,y), menghasilkan string hasil konversi date x dengan format sesuaidengan setting pada komputer, dimana y (DateFormat.GeneralDate,DateFormat.LongDate, DateFormat.ShortDate, DateFormat.LongTime,DateFormat.ShortTime)

    Contoh :

    OptionExplicitOn

    Imports System

    Imports Microsoft.VisualBasic

    PublicModule modStr

    Sub Main()

    Console.WriteLine(FormatDateTime(Now,DateFormat.LongDate))

    'Sunday, May 22, 2005

    EndSub

    EndModule

    FormatCurrency(x,y), menghasilan string yang merupakan format currency dari angka xdengan jumlah desimal y.

    FormatPercent(x,y), menghasilkan string yang merupakan format percent dari angka xdengan jumlah desimal y.

    FormatNumber(x,y), menghasilkan string yang merupakan format angka dari angka xdengan jumlah desimal y.

    Contoh :OptionExplicitOn

    Imports System

    Imports Microsoft.VisualBasic

    PublicModule modStr

    Sub Main()

    Dim Angka AsDecimal = 100000

    Dim PPN AsSingle = 0.1

    Console.WriteLine(FormatCurrency(Angka,2)) '$100,000.00

    Console.WriteLine(FormatNumber(Angka,2)) '100,000.00

    Console.WriteLine(FormatPercent(PPN,2)) '10.00%

    EndSub

    EndModule

    Format(x,y), menghasilkan string yang merupakan format dari argumen x dengan formaty, dengan format yang dapat dilihat pada lampiran 1.

    Contoh :

  • 8/6/2019 Dasar Pemrograman VB

    52/80

    Bahasa pemrograman VB.NET Hendra, S.T.

    INDOPROG 52

    OptionExplicitOn

    Imports System

    Imports Microsoft.VisualBasic

    PublicModule modStr

    Sub Main()

    Console.WriteLine(Format(10000,"#,##0.00")) '10,000.00

    Console.WriteLine(Format(Now,"dd/MM/yyyy HH:MM:SS")) '22-05-2005

    20:15:01

    EndSub

    EndModule

    Filter(x,y,[1],[2]), menghasilkan array yang berisi string dari array string x yang manaelemen yang mengandung substring y, dengan ketentuan [1] (true=contain, false =exclude), dengan compare method [2].

    Contoh :

    OptionExplicitOnImports System

    Imports Microsoft.VisualBasic

    PublicModule modStr

    Sub Main()

    Dim aNama1() AsString = {"Hendra","Susan","Felicia Fortuna"}

    Dim aNama2() AsString =

    Filter(aNama1,"r",true,CompareMethod.Binary)

    ForEach A AsStringIn aNama2

    Console.WriteLine(A) 'Hendra & Felicia Fortuna

    Next

    EndSub

    EndModule

    Latihan :

    1. Buatlah program yang dapat menghasilkan terbilang dari suatu bilangan, contoh123,456,789 (Seratus dua puluh tiga juta empat ratus lima puluh enam ribu tujuhratus delapan puluh sembilan).

  • 8/6/2019 Dasar Pemrograman VB

    53/80

  • 8/6/2019 Dasar Pemrograman VB

    54/80

    Bahasa pemrograman VB.NET Hendra, S.T.

    INDOPROG 54

    Sub Main()

    Dim Tanggal AsDate = NewDate(2005,5,30,8,29,40,900)

    Console.WriteLine(Tanggal.Date()) '30-05-2005

    Console.WriteLine(Tanggal.TimeOfDay()) '08:29:40.9000000

    Console.WriteLine(Tanggal.Day()) '30

    Console.WriteLine(Tanggal.Month()) '5

    Console.WriteLine(Tanggal.Year()) '2005

    Console.WriteLine(Tanggal.Hour()) '8

    Console.WriteLine(Tanggal.Minute()) '29

    Console.WriteLine(Tanggal.Second()) '40

    Console.WriteLine(Tanggal.MilliSecond()) '900

    Console.WriteLine(Tanggal.DayOfWeek()) '1

    Console.WriteLine(Tanggal.DayOfYear()) '150

    Console.WriteLine(Tanggal.Ticks()) '632530385809000000

    Console.WriteLine(DateTime.Now()) '30-05-2005 08:30:29 PM

    Console.WriteLine(Tanggal.Today()) '30-05-2005

    Console.WriteLine(Tanggal.UTCNow()) '30-05-2005 1:37:20 PM

    EndSub

    EndModule

    Visual Basic menyediakan berbagai fungsi bantu yang merupakan member darinamespace Microsoft.VisualBasic

    AddDays Menambah sejumlah hari (+/-) ke instance.

    AddMonths Menambah sejumlah bulan (+/-) ke instance

    AddYears Menambah sejumlah tahun (+/-) ke instance

    AddHours Menambah sejumlah jam (+/-) ke instanace

    AddMinutes Menambah sejumkah menit (+/-) ke instance

    AddSeconds Menambah sejumlah detik (+/-) ke instance

    AddMilliseconds Menambah sejumlah millidetik (+/-) ke instance

    OptionExplicitOn

    Imports System

    PublicModule ModDate

    Sub Main()

    Dim Tanggal AsDate = NewDate(2005,5,30,8,29,40,900)

    Console.WriteLine(Tanggal.AddDays(-10)) '20-5-2005 8:29:40.900

    EndSub

    EndModule

    Parse Mengkonversi string dalam bentuk tanggal dan waktu keDateTime.

    OptionExplicitOn

    Imports System

    PublicModule ModDate

    Sub Main()

    Dim Str AsString = "30-5-2005 08:30:50.900"

  • 8/6/2019 Dasar Pemrograman VB

    55/80

    Bahasa pemrograman VB.NET Hendra, S.T.

    INDOPROG 55

    Dim Tanggal AsDate

    Tanggal = DateTime.Parse(Str)

    Console.WriteLine(Tanggal)

    EndSub

    EndModule

    Compare Membandingkan dua instance dari DateTime dammengembalikan ( < 0 jika tanggal1 < tanggal2, = 0 jika

    tanggal1 = tanggal2, dan > 0 jika tanggal1 > tanggal2)

    DaysInMonth Mengembalikan jumlah hari dalam tahun dan bulan tertentu.

    IsLeapYear Mengembalikan indikasi apakah tahun yang diberikan kabisat

    OptionExplicitOn

    Imports System

    PublicModule ModDate

    Sub Main()

    Dim Tanggal1 AsDate = NewDate(2005,5,30)Dim Tanggal2 AsDate = NewDate(2005,5,31)

    Console.WriteLine(DateTime.Compare(Tanggal1,Tanggal2)) '-1

    Console.WriteLine(DateTime.DaysInMonth(2005,5)) '31

    Console.WriteLine(DateTime.IsLeapYear(2005)) 'False

    EndSub

    EndModule

    Subtract Menghasilkan selisih antara suatu datetime dengan instance

    OptionExplicitOn

    Imports System

    PublicModule ModDate

    Sub Main()

    Dim Tanggal1 AsDate = NewDate(2005,5,30)

    Dim Tanggal2 AsDate = NewDate(2005,5,31)

    Console.WriteLine(Tanggal1.Subtract(Tanggal2)) '-1 00:00:00

    EndSub

    EndModule

    ToLocalTime Konversi Instance ke LocalTime

    ToLongDateString Konversi Instance ke String dengan format settingLongDateString

    ToLongTimeString Konversi Instance ke String dengan format setting LongTime

    ToShortDateStringKonversi Instance ke String dengan format setting ShortDate

    ToShortTimeStringKonversi Instance ke String dengan format setting ShortTime

    ToString Konversi Instance ke String

    ToUniversalTime Konversi Instance ke UTC

  • 8/6/2019 Dasar Pemrograman VB

    56/80

    Bahasa pemrograman VB.NET Hendra, S.T.

    INDOPROG 56

    Module Date pada Namespace Microsoft.VisualBasic

    DateSerial(year,month,day), mengembalikan data tanggal sesuai dengan tahun, bulan danhari yang ditentukan.

    TimeSerial(hour, minute, second), mengembalikan waktu sesuai dengan jam, menit dandetik.

    Now(), mengembalikan tanggal dan waktu komputer.

    Today(), mengembalikan tanggal komputer.

    TimeOfDay(), mengembalikan tanggal komputer dalam bentuk string.

    Timer(), mengembalikan data bertipe double yang menunjukan jumlah detik sejak tengahmalam.

    DateString(), mengembalikan tanggal komputer dengan format MM-dd-yyyy dalambentuk string.

    TimeString(), mengembalikan waktu komputer

    DateValue(string), mengembalikan tanggal dari hasil konversi string tanggal.

    Day(DateTime), mengembalikan bagian hari dari data tanggal

    Month(DateTime), mengembalikan bagian bulan dari data tanggal

    Year(DateTime), mengembalikan bagian tahun dari data tanggal

    Hour(DateTime), mengembalikan bagian jam dari data tanggal

    Minute(DateTime), mengembalikan bagian menit dari data tanggal

    Second(DateTime), mengembalikan bagian detik dari data tanggal

    Weekday(DateTime, DayofWeek), mengembalikan nomor hari dalam minggu dariDateTime (1 = minggu, 7 = sabtu).

    WeekdayName(WeekDay, Abbrev), mengembalikan nama hari berdasarkan nomor hari.(Abbrev = True, singkatan)

  • 8/6/2019 Dasar Pemrograman VB

    57/80

    Bahasa pemrograman VB.NET Hendra, S.T.

    INDOPROG 57

    DateAdd(Interval, Number, DateValue), mengembalikan tanggal dari hasil penjumlahanDateValue terhadap Number dalam arti interval tertentu

    Enumeration value String Unit of time interval to add

    DateInterval.Day d Day; truncated to integral value

    DateInterval.DayOfYear y Day; truncated to integral valueDateInterval.Hour h Hour; rounded to nearest millisecond

    DateInterval.Minute n Minute; rounded to nearest millisecond

    DateInterval.Month m Month; truncated to integral value

    DateInterval.Quarter q Quarter; truncated to integral value

    DateInterval.Second s Second; rounded to nearest millisecond

    DateInterval.Weekday w Day; truncated to integral value

    DateInterval.WeekOfYear ww Week; truncated to integral value

    DateInterval.Year yyyy Year; truncated to integral value

    DateDiff(Interval, Date1, Date2), menghasilkan selisih antara Date2 terhadap Date1berdasarkan interval tertentu. Returns a Long value specifying the number of timeintervals between two Date values.

    DatePart(Interval, DateValue), mengembalikan nilai Integer yang berkaitan denganinterval dari DataValue

    Catatan :

    Visual Basic .NET telah mengantikan Date dan Time dengan Today dan TimeOfDay,kemudian fungsi Date$ dan Time$ dengan DateString dan TimeString.

  • 8/6/2019 Dasar Pemrograman VB

    58/80

    Bahasa pemrograman VB.NET Hendra, S.T.

    INDOPROG 58

    Structure pada Visual Basic

    Visual Basic menyedia perintah Structure untuk pembentukan tipe data terstruktur,

    misalnya kita akan mengolah data ujian mahasiswa dengan tabel sebagai berikut :Nim Nama Tugas Mid Semester

    Dimana dapat ditulis sebagai struktur berikut ini :

    Structure Ujian

    Public Nim As String

    Public Nama As String

    Public Tugas, Mid, Semester As SingleEnd Structure

    Catatan :Sebagaimana telah dinyatakan sebelumnya bahwa secara default string pada Visual Basicadalah variable length, dan untuk membentuk string dengan fixed length kitamembutuhkan vbFixedStringAttribute Class, dimana pada awal deklarasi string kitamencantumkan

    Salah satu keunggulan pada Structure di Visual Basic adalah kita dapat menambahkankoding kedalamnya untuk membuat metoda dan property, contoh misalnya kita akan

    menambah property Rata-rata untuk menghitung nilai rata-rata Tugas, Mid dan Semester,sehingga deklarasi Structure dapat ditulis menjadi :

    OptionExplicitOn

    Imports System

    Imports Microsoft.VisualBasic

    PublicModule ModStruct

    Structure Ujian

    Public Nim AsString

    Public Nama AsString

    Public Tugas,Mid,Semester AsSingle

    PublicReadOnlyProperty RataRata() AsSingle

    GetReturn (Tugas+Mid+Semester)/3

    EndGet

    EndProperty

    EndStructure

    Dim DaftarUjian As Ujian

    Sub Main()

    DaftarUjian.Nim = "920403024"

  • 8/6/2019 Dasar Pemrograman VB

    59/80

    Bahasa pemrograman VB.NET Hendra, S.T.

    INDOPROG 59

    DaftarUjian.Nama = "Hendra Soewarno"

    DaftarUjian.Tugas = 90

    DaftarUjian.Mid = 90

    DaftarUjian.Semester = 90

    Console.WriteLine(DaftarUjian.RataRata)

    EndSub

    EndModule

    Contoh program membaca data ke array structure dan mencetak kembali :

    OptionExplicitOn

    Imports System

    Imports Microsoft.VisualBasic

    PublicModule ModStruct

    Structure Ujian

    Public Nim AsString

    Public Nama AsString

    Public Tugas,Mid,Semester AsSingle

    PublicReadOnlyProperty RataRata() AsSingle

    Get

    Return (Tugas+Mid+Semester)/3

    EndGet

    EndProperty

    EndStructure

    Dim Jd AsInteger = 0

    Dim DaftarUjian() As Ujian

    PrivateSub BacaData

    Dim Nim AsString

    Do

    Console.WriteLine("Record ke {0}",Jd+1)Console.Write("Nim : ")

    Nim = Console.ReadLine()

    If Nim.Trim.Length > 0

    ReDimPreserve DaftarUjian(Jd)

    DaftarUjian(jd).Nim = Nim

    Console.Write("Nama : ")

    DaftarUjian(jd).Nama = Console.ReadLine()

    Console.Write("Tugas : ")

    DaftarUjian(jd).Tugas = Console.ReadLine()

    Console.Write("Mid : ")

    DaftarUjian(jd).Mid = Console.ReadLine()

    Console.Write("Semester : ")

    DaftarUjian(jd).Semester = Console.ReadLine()

    Jd = Jd + 1

    EndIf

    LoopUntil Len(Trim(Nim)) = 0

    EndSub

    PrivateSub CetakData()

    Dim Record As Ujian

    Console.WriteLine("Daftar Ujian Mahasiswa")

    Console.WriteLineConsole.WriteLine("Nim Nama T M S R ")

  • 8/6/2019 Dasar Pemrograman VB

    60/80

    Bahasa pemrograman VB.NET Hendra, S.T.

    INDOPROG 60

    Console.WriteLine("----------------------------------------------------------------------")

    ForEach Record In DaftarUjian

    Console.WriteLine("{0} {1} {2,6:f2} {3,6:f2} {4,6:f2}

    {5,6:f2}", _

    Record.Nim.PadRight(10), _

    Record.Nama.PadRight(30), _

    Record.Tugas, _

    Record.Mid, _Record.Semester, _

    Record.RataRata)

    Next

    EndSub

    Sub Main()

    Call BacaData

    Call CetakData

    EndSub

    EndModule

    Latihan :

    1. Kembangkan program diatas untuk mencetak Daftar Ujian Mahasiswa, dimanaditampilkan nilai rata-rata diikuti dengan nilai Huruf (A, B, C, D, atau E), sertatampilkan jumlah yang Lulus (C Keatas), dan Rata-rata kelas, serta NIMmahasiswa peringkat pertama, dengan pendekatan terstruktur.

    Catatan : Kategori nilai Huruf dicetak dengan membuat Properti NilaiHuruf padaStructure Ujian.

  • 8/6/2019 Dasar Pemrograman VB

    61/80

  • 8/6/2019 Dasar Pemrograman VB

    62/80

    Bahasa pemrograman VB.NET Hendra, S.T.

    INDOPROG 62

    Encrypted The file or directory is encrypted. For a file, this means that alldata in the file is encrypted. For a directory, this means thatencryption is the default for newly created files and directories.

    16384

    Hidden The file is hidden, and thus is not included in an ordinary

    directory listing.

    2

    Normal The file is normal and has no other attributes set. This attribute isvalid only if used alone.

    128

    NotContentIndexed The file will not be indexed by the operating system's contentindexing service.

    8192

    Offline The file is offline. The data of the file is not immediately available. 4096

    ReadOnly The file is read-only. 1

    ReparsePoint The file contains a reparse point, which is a block of user-defineddata associated with a file or a directory.

    1024

    SparseFile The file is a sparse file. Sparse files are typically large files whose

    data are mostly zeros.

    512

    System The file is a system file. The file is part of the operating system oris used exclusively by the operating system.

    4

    Temporary The file is temporary. File systems attempt to keep all of the datain memory for quicker access rather than flushing the data backto mass storage. A temporary file should be deleted by the

    application as soon as it is no longer needed.

    256

    File.GetCreationTime(namafile), mendapatkan tanggal dan waktu pembuatan fileFile.GetLastAccessTime(namafile), mendapatkan tanggal dan waktu file terakhir kalidiakses.File.GetLastWriteTime(namafile), mendapatkan tanggal dan waktu file terakhir kaliditulisi.File.SetCreationTime(namafile, waktu)File.SetLastAccessTime(namafile, waktu)File.SetLastWriteTime(namafile,waktu)

    Pengolahan Text File

    Pengolahan text file secara Stream dapat menggunakan StreamWriter dan StreamReaderdengan metode berikut ini :

    File.CreateText(namafile), membuat file baru sebagai streamwriter, selanjutnya kitadapat menggunakan metoda Write maupun WriteLine pada streamwriter untukmelakukan penulisan ke file.

  • 8/6/2019 Dasar Pemrograman VB

    63/80

    Bahasa pemrograman VB.NET Hendra, S.T.

    INDOPROG 63

    File.OpenText(namafile), membuka file yang telah ada sebagai streamreader, danselanjutnya kita dapat menggunakan metoda Read, ReadLine, kemudian untukmemeriksa keberadaan data untuk dibaca dapat menggunalan fungsi PeekFile.AppendText(namafile), membuka file yang telah ada untuk streamwrite.

    Contoh :OptionExplicitOn

    Imports System

    Imports System.IO

    PublicModule ModTextFile

    Sub Main()

    Dim sw As StreamWriter = File.CreateText("c:\belajar.txt")

    sw.WriteLine("Buku Belajar Vb.net")

    sw.Flush()

    sw.Close()

    Dim sr As StreamReader = File.OpenText("c:\belajar.txt")

    DoWhile sr.Peek() >= 0

    Console.WriteLine(sr.ReadLine())

    Loop

    sr.Close()

    sw = File.AppendText("C:\belajar.txt")

    sw.WriteLine("Oleh : Hendra Soewarno")

    sw.Flush()

    sw.Close()

    sr = File.OpenText("c:\belajar.txt")

    DoWhile sr.Peek() >= 0

    Console.WriteLine(sr.ReadLine())

    Loopsr.Close()

    EndSub

    EndModule

    Pengolahan File Binary

    Pengolahan BinaryFile secara Stream dapat menggunakan FileStream dengan metodeberikut ini :

    File.Create(namafile), membuat file baru sebagai filestream, anda dapat menggunakanmetode Write, WriteByte pada filestream untuk melakukan penulisan ke file.

    File.OpenRead(namafile), membuka file yang telah ada sebagai filestream, anda dapatmenggunakan metoda Read, ReadByte pada filestream untuk melakukan pembacaan darifile.

    File.OpenWrite(