SlideShare ist ein Scribd-Unternehmen logo
1 von 80
Downloaden Sie, um offline zu lesen
Bahasa pemrograman VB.NET                                                   Hendra, S.T.



            Bahasa Pemrograman VB.Net
                               Oleh : Hendra, ST.



  Buku ini membahas tentang bahasa pemrograman Visual Basic .Net, dan ditujukan
 kepada siapa saja yang serius untuk mempelajari bahasa pemrograman VB.Net. Untuk
 memfokuskan 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, tetapi
  anda cukup menginstalasi .Net Framework yang dapat didownload secara gratis dari
                                 website Microsoft.

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




INDOPROG                                                                                 1
Bahasa pemrograman VB.NET                                                  Hendra, S.T.




Dasar program Visual Basic
Program VB.NET anda yang pertama.
Sebagaimana tradisi dari proses belajar pemrograman komputer adalah membuat sebuah
program Hello World yang memiliki struktur yang paling sederhana sehingga kita dengan
mudah 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 menyimpannya
dengan ekstension .vb).

Proses Kompilasi
Agar program yang kita buat diatas dapat dijalankan oleh komputer, maka diperlukan
suatu kompiler untuk menterjemahkan perintah-perintah yang telah kita buat menjadi
instruksi yang dapat dikenali oleh sistem komputer.

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

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

   1. Mengatur path environment pada Command Prompt

       path=%path%;c:windowsmicrosoft.netframeworkv1.1.4322

   2. Selanjutnya anda dapat mengkompilasi program anda dengan perintah :

       Vbc <nama file>.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



INDOPROG                                                                             2
Bahasa pemrograman VB.NET                                                   Hendra, S.T.


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 suatu
hello.exe yang dapat dijalankan langsung pada Command Prompt.

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

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

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

   1. Option statements
   2. Imports statements
   3. 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 dalam
program 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 pernah
dideklarasikan.

Option Explicit On


INDOPROG                                                                               3
Bahasa pemrograman VB.NET                                                     Hendra, S.T.



Module Modmain
   Sub Main()
       a = 100000
   End Sub

End Module

Yang 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~1coba.vb(5) : error BC30451: Name 'a' is not declared.

           a = 100000

Agar terhindar dari kesalahan maka variabel a harus dideklarasikan terlebih dahulu sesuai
dengan 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 nilai
implicit yang berpotensi menyebabkan kehilangan data (default adalah Off), misalnya
kita memasukan nilai dari suatu variabel dengan tipe data yang lebih lebar ke variabel
dengan tipe data yang lebih sempit (lihat pada kolom nominal storage allocation pada
tabel tipe data).

Contoh :

Option Explicit On
Option Strict On
Module Hello
   Sub Main()
       Dim a As Integer
       Dim b As Short
       a = 100000
       b = a
   End Sub
End Module




INDOPROG                                                                                 4
Bahasa pemrograman VB.NET                                                   Hendra, S.T.


Yang jika dikompilasi akan menyebabkan pesan kesalahan berikut ini karena variabel b
yang bertipe short (16 bit), tidak dimungkinkan menampung nilai dari tipe integer (32
bit), yang memiliki potensi kehilangan data pada saat runtime, sehingga pemakaian
Option 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~1coba.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 Off
Module 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 akan
menimbulkan runtime error (System.OverflowException), karena variabel a yang bertipe
short hanya memiliki jangkauan daya tampung dari -32767 s/d 32768.




INDOPROG                                                                                5
Bahasa pemrograman VB.NET                                                 Hendra, S.T.




Option Compare

Perintah Option Compare Binary/Text akan menentukan bagaimana bertipe data string
akan 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 berdasarkan
nilai biner dari masing-masing data string (lihat aturan untuk Binary).




INDOPROG                                                                             6
Bahasa pemrograman VB.NET                                                   Hendra, S.T.


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" dianggap
sama 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 sebagai
berikut.

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 cukup
Console.WriteLine, karena kita telah melakukan Imports System.

Main Procedure

Procedure Main merupakan titik awal dari program anda – merupakan procedure yang
pertama kali dieksekusi ketika anda menjalankan kode anda. Jadi apa yang ingin anda
jalankan pertama kali pada program anda ditempatkan pada procedure main ini. Ada
empat cara penulisan Main, yaitu sebagai Sub atau Function yang memiliki parameter
atau tidak.




INDOPROG                                                                              7
Bahasa pemrograman VB.NET                                                    Hendra, S.T.


   •   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 contoh
yang 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))
       Next
   End 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 bertipe
string.

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

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


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




INDOPROG                                                                               8
Bahasa pemrograman VB.NET                                                                Hendra, S.T.


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 type
data yang dapat digunakan oleh pemrogram sesuai dengan konteks pemakaiannya. Type
data pada Visual Basic dibagi atas dua kelompok besar yaitu Value Type (Tipe data
primitif) dan Reference (String, Array dan Objek).

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

Visual Basic     Common language          Nominal                      Value range
    type           runtime type           storage
                     structure           allocation
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:59
                                                      PM on December 31, 9999.
Decimal        System.Decimal          16 bytes       0 through +/-
                                                      79,228,162,514,264,337,593,543,950,335 with
                                                      no decimal point;
                                                      0 through +/-
                                                      7.9228162514264337593543950335 with 28
                                                      places to the right of the decimal; smallest
                                                      nonzero number is
                                                      +/-0.0000000000000000000000000001 (+/-
                                                      1E-28).
Double          System.Double          8 bytes        -1.79769313486231570E+308 through
(double-                                              -4.94065645841246544E-324 for negative
precision                                             values; 4.94065645841246544E-324 through
floating-point)                                       1.79769313486231570E+308 for positive
                                                      values.
Integer        System.Int32            4 bytes        -2,147,483,648 through 2,147,483,647.
Long           System.Int64            8 bytes        -9,223,372,036,854,775,808 through
(long integer)                                        9,223,372,036,854,775,807.
Object         System.Object (class)   4 bytes        Any type can be stored in a variable of type
                                                      Object.
Short          System.Int16            2 bytes        -32,768 through 32,767.
Single          System.Single          4 bytes        -3.4028235E+38 through -1.401298E-45 for
(single-                                              negative values; 1.401298E-45 through
precision                                             3.4028235E+38 for positive values.
floating-point)
String         System.String (class)   Depends on     0 to approximately 2 billion Unicode characters.
(variable-                             implementing
length)                                platform
User-          (inherits from          Depends on     Each member of the structure has a range
Defined        System.ValueType)       implementing   determined by its data type and independent of
Type                                   platform       the ranges of the other members.




INDOPROG                                                                                             9
Bahasa pemrograman VB.NET                                                      Hendra, S.T.


(structure)


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


Deklarasi Variabel
Pemrogram yang baik tentu saja menggunakan pendekatan yang terstruktur dalam
pengembangan program, salah satu ciri dari program yang terstruktur adalah
mendeklarasikan semua variabel yang digunakan dalam program.

Pada Visual Basic printah Dim digunakan untuk mendeklarasikan variabel dan
memberikan 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 tidak
anda akan mendapatkan kesalahan kompiler, karena default setting Explicit pada Visual
Basic adalah Option Explicit On.

Kemudian Jika anda tidak memberikan nilai awal pada suatu variabel pada
dideklarasikan, 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, suatu
kesalahan 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 tertentu
seperti Cbool, Cbyte, Cchar, Cdate, Cdec, CDbl, Cint, CLng, Cobj, Cshort, CSng, CStr.


INDOPROG                                                                               10
Bahasa pemrograman VB.NET                                                       Hendra, S.T.




Contoh :

Module Test

   Sub Main()
      Dim intValue As Integer = 123
      Dim 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 konversi
dari tipe yang lebih lebar ke tipe yang lebih sempit (Misalnya dari Integer 32 bit ke Short
16 bit) diperbolehkan oleh kompiler atau tidak.

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

Option Strict On
Option Explicit On

Imports System
Public Module ModKali
   Sub Main()
       Dim i, j As Byte
       Dim a As Integer = 40000
       Dim b As Short
       b = a
       Console.WriteLine(b)
   End Sub
End Module

Yang kalau dikompilasi akan menghasilkan error 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~1kali.vb(10) : error BC30512: Option Strict On disallows



INDOPROG                                                                                11
Bahasa pemrograman VB.NET                                                                  Hendra, S.T.


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 :

Option Strict On
Option Explicit On

Imports System
Public Module ModKali
   Sub Main()
       Dim i, j As Byte
       Dim a As Integer = 40000
       Dim b As Short
       b = System.Convert.ToInt16(a)
       Console.WriteLine(b)
   End Sub
End Module

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


Konversi data secara Explicit dapat juga memanfaatkan fungsi bantu casting yang
terdapat 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 yang
lebih baik seperti yang ditunjukan oleh tabel berikut ini adalah hasil konversi dengan
Integer.Pars, Convert.ToInt32, dibandingkan dengan CInt


INDOPROG                                                                                            12
Bahasa pemrograman VB.NET                                                                 Hendra, S.T.




        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 dari
pekerjaan pemrograman, adapun operator pada Visual Basic adalah sebagai berikut :

Operator aritmatika : *, /, , ^, Mod, +, dan –
Operator relasi : =, <>, <, >, <=, and >=

Catatan :

Pada tipe data string, prilaku perbandingan sangat dipengaruhi oleh setting dari Option
Compare. (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 hasil
          ekspresi tersebut adalah False. Sebaliknya, suatu operasi logika And dilakukan
          terhadap kedua operand.
    •     Jika operand pertama dari operasi OrElse adalah True, maka hasil ekspresi
          adalah True. Sebaliknya, suatu operasi logika Or akan dilakukan terhadap kedua
          operand.


Operator pengabungan : &

Operator bit shift : << dan >>

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



INDOPROG                                                                                             13
Bahasa pemrograman VB.NET                                                                                    Hendra, S.T.


Result1   =   Pattern   <<   0    '   Result   is   192    (0000 0000 1100 0000).
Result2   =   Pattern   <<   4    '   Result   is   3072 (0000 1100 0000 0000).
Result3   =   Pattern   <<   9    '   Result   is   -32768 (1000 0000 0000 0000).
Result4   =   Pattern   <<   17   '   Result   is   384    (0000 0001 1000 0000).
Result5   =   Pattern   <<   -1   '   Result   is   0      (shifted 15 places to left).

Dim Pattern As Short = 2560 ' Bit pattern is 0000 1010 0000 0000.
Dim Result1, Result2, Result3, Result4, Result5 As Short
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 1100
0000 (16 bit).

Kemudian hal lain yang perlu diketahui adalah bit mask untuk masing-masing tipe data
adalah 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 dengan
shift 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 (0–9).
    •     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.




INDOPROG                                                                                                             14
Bahasa pemrograman VB.NET                                                           Hendra, S.T.


myCheck = "aBBBa" Like "a*a"                  Does "aBBBa" have a "a" at the beginning, an "a"
                                              at the end, and any number of characters in
                                              between? Returns True.
myCheck = "F" Like "[A-Z]"                    Does "F" occur in the set of characters from A to
                                              Z? Returns True.
myCheck = "F" Like "[!A-Z]"                   Does "F" NOT occur in the set of characters from A
                                              to Z? Returns False.
myCheck = "a2a" Like "a#a"                    Does "a2a" begin and end with an "a" and have any
                                              single-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 finally
                                              contains any character excluded from the character
                                              set c through e. Returns True.
myCheck = "BAT123khg" Like "B?T*"             Does "BAT123khg" fit the following pattern: Begins
                                              with "B", followed by any single character, followed
                                              by a "T" and finally zero or more characters of any
                                              type. Returns True
myCheck = "CAT123khg" Like "B?T*"             Does "CAT123khg" fit the following pattern: Begins
                                              with "B", followed by any single character, followed
                                              by a "T" and finally zero or more characters of any
                                              type. Returns False.


Operator assignment : =, ^=, *=, /=, =, +=, -=, <<=, >>=, &=

Contoh :

Dim a As Integer = 2
Dim b As Integer = 3
a += 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 dari
operator, pada Visual Basic menggunakan urutan operasi berikut ini :

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

Operator Perbandingan
All comparison operators (=, <>, <, <=, >, >=, Like, Is, TypeOf...Is)

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



INDOPROG                                                                                     15
Bahasa pemrograman VB.NET                                                  Hendra, S.T.


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.0
F = 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 kesalahan
dalam 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 biasanya
konstanta dideklarasikan pada awal program, sehingga jika terjadi perubahan besaran
pada konstanta, kita cukup mengubahnya pada awal program tanpa harus memeriksa
koding 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 antara
variabel dengan konstanta, dan penamaan konstanta hendaknya disesuaikan dengan
konteks yang diwakili oleh konstanta tersebut.


Enumerated pada VB.NET
Pemakaian enumerated type akan sangat membantu dalam pekerjaan pemrograman
sehingga menjadi lebih mudah ditulis, dibaca, dan dimaintain dari pada menggunakan
tipe data primitif.

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


INDOPROG                                                                             16
Bahasa pemrograman VB.NET                                                   Hendra, S.T.


 Firebrick = &H2222B2&
End Enum


Perintah input Output Console

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

Program Console adalah salah satu fasilitas yang sangat memudahkan bagi pemula yang
ingin mempelajari bahasa Visual Basic dengan baik, karena program Console
menggunakan perintah I/O yang cukup sederhana dan bersih dari perintah input output
yang 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 akan
diakhiri dengan suatu Carriage Return.


Format pada WriteLine


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

Format pencetakan pada WriteLine dapat menggunakan place holder {x}, dimana x
adalah 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)



INDOPROG                                                                            17
Bahasa pemrograman VB.NET                                                       Hendra, S.T.



Masing-masing akan menghasilkan
The   number is 10
The   result of 3 + 7 = 10
See   decimal 0.1
See   decimal 0.123456789
The   value is 001.23
The   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.0000
P                 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 :

Option Explicit On
Public Module modmain
   Sub Main()
   Dim Panjang As System.Int32
   Dim Lebar As System.Int32
   Dim Luas As System.Int64
   System.Console.Write("Masukkan Panjang :")



INDOPROG                                                                                18
Bahasa pemrograman VB.NET                                              Hendra, S.T.


   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())
   End Sub
End Module

atau

Option Explicit On
Imports System

Public Module modmain

   Sub Main()
   Dim Panjang As Integer
   Dim Lebar As Integer
   Dim Luas As Long
   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())
   End Sub

End Module

Simpan dengan nama file persegi.vb

Set path=%path%;c:windowsmicrosoft.netframeworkv1.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 pemakaian
             konstanta.

Option Explicit On
Imports System
Public Module lingkaran

Const PI As Single = 3.14

   Sub Main()

   Dim R As Single
   Dim Luas As Double



INDOPROG                                                                        19
Bahasa pemrograman VB.NET                                     Hendra, S.T.



   Console.Write("Masukkan Jari-jari :")
   R = Console.ReadLine()
   Luas = PI * R^2
   Console.WriteLine("Luas : {0, 10:f2}",Luas)'10 tempat 2 desimal

   End Sub
End Module




INDOPROG                                                              20
Bahasa pemrograman VB.NET                                               Hendra, S.T.




Struktur Keputusan dan Perulangan
Perintah If...Then...Else
Salah satu tujuan pemrograman komputer adalah mengambil tugas rutin manusia untuk
dalam mengambil keputusan-keputusan yang dapat diprogram. Misalnya seorang Dosen
dalam menentukan Grade (A,B,C,D, atau E) nilai akhir mahasiswa dengan kondisi
sebagai berikut :

Jika Nilai >= 85 Kemudian
     Cetak "A"
  Jika tidak dan Jika Nilai >= 70 Kemudian
     Cetak "B"
  Jika tidak dan Jika Nilai >= 60 Kemudian
     Cetak "C"
  Jika tidak dan Jika Nilai >= 25 Kemudian
     Cetak "D"
  Jika tidak
     Cetak "E"
Akhir dari keputusan

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

If condition [ Then ]
   [ statements ]
[ ElseIf elseifcondition [ Then ]
   [ elseifstatements ] ]
[ Else
   [ elsestatements ] ]
End If

Contoh :

Option Explicit On
Imports System
Module ModIf
  Sub Main()
      Dim Nilai As Single
      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")



INDOPROG                                                                        21
Bahasa pemrograman VB.NET                                                  Hendra, S.T.


       Else
          Console.WriteLine("E")
      End If
  End Sub
End Module


Perintah Select...Case
Jika statement If melakukan pemilihan berdasarkan kondisi, maka perintah Select
melakukan pemilihan berdasarkan nilai ekspresi dengan syntax sebagai berikut :

Select [ Case ] testexpression
   [ Case expressionlist
      [ statements ] ]
   [ Case Else
      [ elsestatements ] ]
End Select

Contoh :

Option Explicit On
Imports System
Module ModHari
  Sub Main()
    Dim Hari As Byte
    Console.Write("Masukkan No Hari :")
    Hari = Console.ReadLine()
    Select Case 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")
      Case Else
        Console.WriteLine("No Hari tidak sah")
    End Select
  End Sub
End Module

Contoh Lain :

Option Explicit On
Imports System
Module ModHari
  Sub Main()



INDOPROG                                                                           22
Bahasa pemrograman VB.NET                                                Hendra, S.T.


    Dim Angka As Integer
    Console.Write("Masukkan Angka 1 s/d 9 :")
    Angka = Console.ReadLine()
    Select Case Angka
      Case Is < 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")
      Case Else
        Console.WriteLine("Terlalu besar")
    End Select
  End Sub
End Module

Perintah For...Next
Salah satu keunggulan komputer dibandingkan dengan manusia adalah dapat
mengerjakan sesuatu secara berulang-ulang tanpa mengalami penurunan kualitas
terhadap hasil kerja.

Salah satu perintah perulangan di Visual Basic ada For…Next Statements yang
merupakan perulangan dengan menggunakan sistem counter dengan menggunakan
syntax sebagai berikut :

For counter [ As datatype ] = start To end [ Step step ]
   [ statements ]
[ Exit For ]
   [ statements ]
Next [ counter ]

Contoh :

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

Atau

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

Akan mencetak daftar bilangan 1 s/d 100

Catatan :
Dari segi looping pemakaian :

Dim I As Integer


INDOPROG                                                                         23
Bahasa pemrograman VB.NET                                                     Hendra, S.T.


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

Tidak berbeda dengan

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

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

Contoh :

Dim I As Integer
For I = 1 To 100                     'Defaultnya Step 1
   Console.WriteLine(I)
Next I
Console.WriteLine(I)                 'Akan tercetak 101

Sedangkan

For I As Integer = 1 To 100          'Defaultnya Step 1
   Console.WriteLine(I)
Next I
Console.WriteLine(I)                 'Terjadi error pada saat kompilasi

Dimana pesan error adalah error BC30451: Name I is not declared.

Dim I As Integer
For 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 berupa
bilangan floating point.

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

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



INDOPROG                                                                               24
Bahasa pemrograman VB.NET                                                     Hendra, S.T.




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 -1
   Console.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 perintah
Exit 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.

Option Explicit On
Imports System
Module ModPass
  Sub Main()
      Dim I As Integer
      Dim Pass As String
      For I = 1 To 3 Step 1
           Console.Write("Password :")
           Pass = Console.ReadLine()
           If Pass.ToUpper() ="INDOPROG" Then    'Jika Password Benar
              Exit For                           'Keluar dari Looping
           End If
      Next I
      If I > 3 Then
          Console.WriteLine("Proses Login Gagal !")
      Else
          Console.WriteLine("Welcome !")
      End If
  End Sub
End Module



Perintah Do...Loop
Jika perintah For … Next melakukan looping berdasarkan counter, maka perintah Do …
Loop melakukan looping berdasarkan kondisi, adapun tata cara penulisannya adalah
sebagai berikut :

Do { While | Until } condition
   [ statements ]
[ Exit Do ]
   [ statements ]
Loop



INDOPROG                                                                               25
Bahasa pemrograman VB.NET                                                  Hendra, S.T.


Atau

Do
   [ statements ]
[ Exit Do ]
   [ statements ]
Loop { While | Until }   condition

Perbedaan antara kedua struktur perulangan diatas adalah posisi pemeriksaan kondisi
yang akan diuji, pada struktur yang pertama pengujian kondisi dilakukan sebelum
statements dikerjakan, sedangkan pada struktur yang kedua pengujuan dilakukan setelah
statement dikerjakan.

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

Contoh :

Option Explicit On
Imports System

Module DoLoop
   Sub Main()
       Dim Dat() As Integer
       Dim Jd,DTemp As Integer

           Jd = 0
           Do
              Console.Write("Data Ke-{0} :", Jd+1)
              DTemp = Console.ReadLine()
              If DTemp <> 0 Then
                 ReDim Preserve Dat(Jd)
                 Dat(Jd) = DTemp
                 Jd+=1
              End If
           Loop Until DTemp = 0          'Ulangi sampai Dtemp diisi 0

           For I As Integer = 0 To Jd-1
               Console.WriteLine("Data Ke-{0} adalah {1}",I+1, Dat(I))
           Next I

   End Sub
End Module

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




INDOPROG                                                                            26
Bahasa pemrograman VB.NET                                                   Hendra, S.T.


Selain struktur Do…Loop, juga tersedia perintah perulangan dengan tata cara penulisan
sebagai berikut.
While condition
   [ statements ]
End While

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


Perintah For Each...Next
Perintah For Each…Next digunakan untuk melakukan iterasi berdasarkan collection
tertentu, misalnya kita ingin mencetak semua elemen dalam suatu array, penulisan
dengan perintah For Each dapat dilakukan sebagai berikut :

For Each element [ As datatype ] In group
   [ statements ]
[ Exit For ]
   [ statements ]
Next [ element ]

Contoh :

Option Explicit On
Imports System

Module DoLoop
   Sub Main()
       Dim Dat() As Integer
       Dim Jd,DTemp As Integer

           Jd = 0
           Do
              Console.Write("Data Ke-{0} :", Jd+1)
              DTemp = Console.ReadLine()
              If DTemp <> 0 Then
                 ReDim Preserve Dat(Jd)
                 Dat(Jd) = DTemp
                 Jd+=1
              End If
           Loop Until DTemp = 0

           For Each Data As Integer In Dat
                Console.WriteLine("Data pada array {0}", Data)
           Next

   End Sub
End Module

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



INDOPROG                                                                            27
Bahasa pemrograman VB.NET                                                  Hendra, S.T.


Latihan :

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

Option Explicit On
Imports System
Public Module ModKali

   Sub Main()

   Dim i, j As Byte

   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

   End Sub

End Module.

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

Option Explicit On
Imports System
Module ModBiner
  Sub Main()
      Dim D As Integer
      Dim I As Short
      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)
           End If
      Next
  End Sub
End Module

            3. Buatlah program yang menentukan bilangan bulat yang dimasukan
               pemakai Genap atau Ganjil.
            4. Buatlah program yang menentukan tahun yang dimasukan pemakai
               termasuk tahun Kabisat atau bukan.
            5. Buatlah program yang mencetak barisan bilangan fibonacci sesuai dengan
               jumlah suku yang ditentukan oleh pemakai.
            6. Buatlah program yang menentukan bilangan bulat yang dimasukan
               pemakai Prima atau bukan.



INDOPROG                                                                            28
Bahasa pemrograman VB.NET                                               Hendra, S.T.


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




INDOPROG                                                                           29
Bahasa pemrograman VB.NET                                                     Hendra, S.T.




Array pada Visual Basic
Deklarasi variabel Array
Sebagaimana yang telah disinggung pada bagian 1 bahwa tipe data pada Visual Basic
terbagai atas dua kelompok yaitu Value Type dan Reference.

Suatu array merupakan Reference Type yang mengandung banyak variabel-variabel yang
dapat diakses satu persatu sesuai dengan urutannya dalam array, dimana indexnya
dimulai dari 0. Variabel-variabel yang terkandung dalam array disebut juga elemen dari
array, dan semuanya harus memiliki tipe yang sama. Setiap tipe array mewarisi (inherits)
semua member yang dideklarasikan pada System.Array.

Pada contoh berikut ini mendeklarasikan suatu array integer berdimensi tunggal,
memberi nilai pada masing-masing elemen array, dan mencetak-nya.:

Module Test
   Sub Main()
      Dim arr(5) As Integer
      Dim i As Integer
      For i = 0 To arr.GetUpperBound(0)
         arr(i) = i * i
      Next i
      For i = 0 To arr.GetUpperBound(0)
         Console.WriteLine("arr(" & i & ") = " & arr(i))
      Next i
   End Sub
End Module

Program diatas akan menghasilkan output:

arr(0)   =   0
arr(1)   =   1
arr(2)   =   4
arr(3)   =   9
arr(4)   =   16

Array dapat juga diberi nilai awal pada saat deklarasi dengan penulisan sebagai berikut:

Private a As Integer() = { 0, 2, 4, 6, 8 }

Atau penulisan yang sama adalah dengan :

Private a As Integer() = new Integer() { 0, 2, 4, 6, 8 }

Pada contoh berikut membuat array dua dimensi 5 x 2 :




INDOPROG                                                                              30
Bahasa pemrograman VB.NET                                                        Hendra, S.T.


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 :
Option Explicit On
Imports System
Imports Microsoft.VisualBasic
Public Module ModArr
    Public Arr(3,3) As Integer

       Sub Main()
           Console.WriteLine(Arr.Length())                               '16
           Console.WriteLine(Arr.LongLength())                           '16
           Console.WriteLine(Arr.Rank())                                 '2
       End Sub

End Module



  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 :
Option Explicit On
Imports System
Imports Microsoft.VisualBasic
Public Module ModArr



INDOPROG                                                                                 31
Bahasa pemrograman VB.NET                                                Hendra, S.T.


    Public Arr(3,3) As Integer

    Sub Main()
        Console.WriteLine(Arr.GetLength(0))                    '4
        Console.WriteLine(Arr.GetLongLength(0))                '4
    End Sub

End Module



  GetLowerBound      Mendapatkan nilai index batas bawah Array pada dimensi
                     tertentu.
  GetUpperBound      Mendapatkan nilai index batas atas Array pada dimensi
                     tertentu.


Contoh :
Option Explicit On
Imports System
Imports Microsoft.VisualBasic
Public Module ModArr
    Public Arr(3,3) As Integer

    Sub Main()
        Console.WriteLine(Arr.GetLowerBound(0))                '0
        Console.WriteLine(Arr.GetUpperBound(0))                '3
    End Sub

End Module


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


Contoh :
Option Explicit On
Imports System
Imports Microsoft.VisualBasic
Public Module ModArr
    Public Arr() As Integer = {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
    End Sub

End Module


    Reverse          Membalik urutan element dalam suatu Array 1 dimensi.



Option Explicit On


INDOPROG                                                                         32
Bahasa pemrograman VB.NET                                             Hendra, S.T.


Imports System
Imports Microsoft.VisualBasic
Public Module ModArr
    Public Arr() As Integer = {0,1,2,3,4}

    Sub Main()
        Dim I As Integer
        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
    End Sub

End Module


    Sort           Mengurut elemen dalam suatu Array 1 dimensi.


Contoh :
Option Explicit On
Imports System
Imports Microsoft.VisualBasic
Public Module ModArr
    Public Arr() As Integer = {0,4,3,1,2}

    Sub Main()
        Dim I As Integer
        For I = Arr.GetLowerBound(0) To Arr.GetUpperBound(0)
            Console.Write(Arr(I))                            '04312
        Next I
        Console.WriteLine()
        Array.Sort(Arr,0,4)
        For I = Arr.GetLowerBound(0) To Arr.GetUpperBound(0)
            Console.Write(Arr(I))                            '01234
        Next I
    End Sub

End Module



    BinarySearch   Mencari Nilai tertentu pada suatu Array dengan algoritma
                   Binary Search.

Option Explicit On
Imports System
Imports Microsoft.VisualBasic
Public Module ModArr
    Public Arr() As Integer = {0,4,3,1,2}

    Sub Main()
        Dim Nilai = 3



INDOPROG                                                                      33
Bahasa pemrograman VB.NET                                                    Hendra, S.T.


        Array.Sort(Arr,0,4)
        Console.WriteLine(Array.BinarySearch(Arr,Nilai))                '2
    End Sub

End Module

Perintah Visual Basic untuk Array
Visual Basic menyediakan berbagai perintah khusus untuk pengolahan string sebagai
berikut ::

Perintah ReDim

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

ReDim [ Preserve ] name(boundlist)

Preserve
      Sifatnya optional, jika digunakan maka data pada array tersebut akan
      dipertahankan pada array ukuran baru

Contoh :

Pada contoh berikut menggunakan perintah ReDim untuk mengalokasi ualang ukuran
variabel 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 :

Option Explicit On
Imports System

Module DoLoop


INDOPROG                                                                             34
Bahasa pemrograman VB.NET                                              Hendra, S.T.


   Sub Main()
       Dim Dat() As Integer
       Dim Jd,DTemp As Integer

          Jd = 0
          Do
             Console.Write("Data Ke-{0} :", Jd+1)
             DTemp = Console.ReadLine()
             If DTemp <> 0 Then
                ReDim Preserve Dat(Jd)
                Dat(Jd) = DTemp
                Jd+=1
             End If
          Loop Until DTemp = 0          'Ulangi sampai Dtemp diisi 0

          For I As Integer = 0 To Jd-1
              Console.WriteLine("Data Ke-{0} adalah {1}",I+1, Dat(I))
          Next I

   End Sub
End Module



Perintah Erase

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

Erase arraylist

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 perintah
ReDim 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




INDOPROG                                                                       35
Bahasa pemrograman VB.NET                                                    Hendra, S.T.


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

Fungsi IsArray

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

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

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 terendah
suatu 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 or Rank is greater
                                                           than the rank of Array.

Fungsi UBound

Mengembalikan index yang terbesar dari suatu dimensi pada array.

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

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



INDOPROG                                                                              36
Bahasa pemrograman VB.NET                                                   Hendra, S.T.


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 menampilkan
      kembali dalam keadaan berurut dari kecil ke besar, nilai total, rata-rata, nilai
      terbesar, dan nilai yang terkecil dengan pemanfaatan array.
   2. Perbaiki program diatas untuk menampilkan kembali dalam keadaan berurut dari
      besar ke kecil.
   3. Tambahkan kemampuan program untuk mencari suatu nilai yang dimasukan dan
      menampilkan posisinya dalam array.
   4. Buatlah program yang mencetak suatu segitiga Pascal.




INDOPROG                                                                            37
Bahasa pemrograman VB.NET                                                  Hendra, S.T.



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 satu
usaha yang dapat dilakukan adalah memecah program menjadi kesatuan logika yang
lebih kecil dimana proses yang sama dikelompokan menjadi sub program yang diberi
nama, dan dapat dipanggil pada saat yang dibutuhkan.

Pemakaian function digunakan untuk proses maupun rumus yang perlu mengembalikan
nilai kepada pemanggil, adapun tata cara penulisan function adalah sebagai berikut :
Function name[(arglist)] [ As type ]
   [ statements ]
   [ Exit Function ]
   [ statements ]
End Function

Contoh :

Option Explicit On
Imports System
Imports Microsoft.VisualBasic
Public Module GenapGanjil
    Function IsGenap(x As Long) As Boolean
    If (x Mod 2) = 0 Then
       Return True
    Else
       Return False
    End If
    End Function

    REM program utama
    Sub Main()
        Dim bil As Long
        Console.Write("Masukan Bilangan :")
        bil = Console.ReadLine()
        If IsGenap(bil) Then
            Console.WriteLine("Bilangan {0} adalah Genap",bil)
        Else
            Console.WriteLine("Bilangan {0} adalah Ganjil",bil)
        End If
    End Sub

End Module

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




INDOPROG                                                                           38
Bahasa pemrograman VB.NET                                                 Hendra, S.T.


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

Contoh :

Option Explicit On
Imports System
Imports Microsoft.VisualBasic
Public Module AkarKuadrat
    Function CariAkar(A as Long, B as Long ,C As Long, _
             ByRef X1 as single ,ByRef X2 as single) As Boolean
        Dim D as Long
        D = B^2 - 4*A*C
        If D < 0 Then                        'Akar Imaginier
           Return False                      'Tidak ada solusi
        Else
           X1 = (-B + Math.Sqrt(D))/(2*A)    'argumen X1
           X2 = (-B - Math.Sqrt(D))/(2*A)    'argumen X2
           Return True                       'Ada solusi
        End If
    End Function

    REM program utama
    Sub Main()
        Dim A,B,C As Long
        Dim X1,X2 As Single
        Console.WriteLine("Mencari akar persamaan kuadrat")
        Console.Write("Masukan A :")
        A = Console.ReadLine()
        Console.Write("Masukan B :")
        B = Console.ReadLine()
        Console.Write("Masukan C :")
        C = Console.ReadLine()
        If CariAkar(A,B,C,X1,X2) Then
            Console.WriteLine("Akar X1={0} X2={1}",X1,X2)
        Else
            Console.WriteLine("Akar imaginier")
        End If
    End Sub
End Module

Catatan :

Perintah Return digunakan untuk mengembalikan nilai ke pemanggil, dan jika suatu Exit
Function digunakan, maka function akan mengembali nilai defaut berupa 0 for Byte,
Char, Decimal, Double, Integer, Long, Short, and Single; Nothing for Object, String,
and all arrays; False for Boolean; and #1/1/0001 12:00 AM# for Date.


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



INDOPROG                                                                          39
Bahasa pemrograman VB.NET                                                  Hendra, S.T.


Option Explicit On
Imports System
Imports Microsoft.VisualBasic
Public Module ModArr
    Function sumArray(ByVal Paramarray Dat() As Byte)
        Dim Total As Long = 0
        For I As Integer = 0 To UBound(Dat)
            Total += Dat(I)
        Next I
        Return Total
    End Function

    Dim Digit() As Byte = {0,1,2,3,4,5}
    Sub Main()
        Console.WriteLine(sumArray(Digit))
    End Sub
End Module

Sub Statement
Pada bagian sebelumnya kita telah membahas tentang function dan pemakaiannya,
selanjutnya kita akan melihat Sub yang menyerupai Function, dimana perbedaannya
adalah jika function digunakan untuk proses yang mengembalikan nilai kepada
pemanggil, sedangkan Sub cenderung digunakan untuk proses yang tidak mengembalikan
nilai.

Sub name [(arglist)]
   [ statements ]
   [ Exit Sub ]
   [ statements ]
End Sub

Catatan :

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

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

Contoh :

Option Explicit On
Imports System
Imports Microsoft.VisualBasic
Public Module ModArr
    Public Arr() As Integer
    Public Jd As Byte

     Sub BacaJd()
         Console.Write("Masukkan Jumlah Data :")
         Jd = Console.ReadLine()
     End Sub

     Sub BacaData()


INDOPROG                                                                           40
Bahasa pemrograman VB.NET                                                   Hendra, S.T.


        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

Teknik Rekursi pada Visual Basic

Dalam matematika, kita sering menjumpai formula yang mengandung rekursi, misalnya
pada perhitungan nilai faktorial dari suatu bilangan yang dapat diformulasikan sebagai
berikut :

       N! = N x (N-1)!

       Dimana 1! = 1.

Sehingga secara pemrograman komputer dapat ditulis sebagai berikut :

Option Explicit On
Imports System
Public Module modFak
   Function Fak(N as Byte)
      If (N > 1) Then
         Return N * Fak(N-1)
      Else
         Return 1
      End If
   End Function

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



Latihan :


INDOPROG                                                                            41
Bahasa pemrograman VB.NET                                                Hendra, S.T.


   1. Buatlah function IsKabisat yang akan mengembalikan nilai True jika tahun yang
      dikirim sebagai argumen adalah Kabisat, dan False jika sebaliknya.
   2. Buatlah function IsPrima yang akan mendeteksi apakah suatu bilangan yang
      diberikan adalah Prima atau tidak.
   3. Dengan pemanfaatan teknik rekursi, buatlah function yang dapat menghitung
      suku yang ke n dari barisan fibonacci.
   4. Buatlah program yang mencetak faktor prima dari suatu bilangan dengan
      pemanfaatan Sub secara rekursi.




INDOPROG                                                                         42
Bahasa pemrograman VB.NET                                                  Hendra, S.T.




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 suatu
karakter 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 pada
keyboard standard U.S yang mana sama dengan karakter set yang terdefinisi pada ASCII,
kemudian 128 karakter berikutnya (128–255) merupakan karakter spesial, seperti huruf
alphabet Latin, accent, simbol mata uang, dan pecahan. Kemudian karakter sisianya
digunakan untuk berbagai simbol, termasuk karakter teksual didunia, dan simbol teknis,
dan metematika.

Pada dasarnya String pada Visual Basic mengacu pada String Class.

Contoh :

Option Explicit On
Imports System
Public Module modStr
   Dim Nama As String = "Hendra Soewarno"
   Sub Main()
       Console.WriteLine(Nama.ToUpper())
       Console.WriteLine(Nama.ToLower())
   End Sub

End Module

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 digunakan
untuk melakukan pengolahan data String.

Public Properties

  Chars             Mendapatkan karakter pada posisi tertentu string.
  Length            Mendapatkan jumlah character dalam string


Contoh :

Option Explicit On
Imports System
Public Module modStr


INDOPROG                                                                            43
Bahasa pemrograman VB.NET                                                   Hendra, S.T.


   Dim Nama As String = "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
   End Sub

End Module

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 dan
                 belakang string


  TrimEnd        Mengembalikan string dengan membuang spasi dibelakang string



  TrimStart      Mengembalikan string dengan membuang spasi didepan string



  Substring      Mengembalikan bagian dari string


Contoh :

Option Explicit On
Imports System
Public Module modStr
   Dim Nama As String = "Hendra Soewarno"
   Dim Kota As String = "    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_____



INDOPROG                                                                            44
Bahasa pemrograman VB.NET                                         Hendra, S.T.


       Console.WriteLine(Kota.Trim())            'Medan
       Console.WriteLine(Nama.SubString(3,3))    'dra
   End Sub
End Module



  Insert                            Menyisip string ke dalam string sekarang
                                    pada posisi tertentu.
  Remove                            Menghapus sejumlah karakter dalam
                                    string
  Replace                           Mengantu sejumlah karakter dengan
                                    string pada string sekarang

Contoh :

Option Explicit On
Imports System
Public Module modStr
   Dim Nama As String = "Santo"
   Sub Main()
       Console.WriteLine(Nama.Insert(1,"us"))   'Susanto
       Console.WriteLine(Nama.Remove(0,1))      'anto
       Console.WriteLine(Nama.Replace("o","i")) 'Santi
   End Sub
End Module


  IndexOf                           Mengembalikan posisi awal suatu string
                                    pada string sekarang mulai dari posisi
                                    tertentu

  IndexOfAny                        Mengembalikan posisi awal suatu string
                                    pada string sekarang.


  LastIndexOf                       Mengembalikan posisi akhir suatu string
                                    pada string sekarang sekarang mulai dari
                                    posisi tertentu

  LastIndexOfAny                    Mengembalikan posisi akhir suatu string
                                    pada string sekarang.
  StartsWith                        Mendapatkan apakah string dimulai
                                    dengan string tertentu.
  EndsWith                          Mendapatkan apakah string diakhir
                                    dengan string tertentu.

Contoh :

Option Explicit On
Imports System
Public Module modStr
   '                     0         1         2
   '                     012345678901234567890123456
   Dim Nama As String = "ebook karya Hendra Soewarno"



INDOPROG                                                                  45
Bahasa pemrograman VB.NET                                                  Hendra, S.T.


   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
   End Sub
End Module


Option Explicit On
Imports System
Public Module modStr
   '                     0         1          2
   '                     012345678901234567890123456
   Dim Nama As String = "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
   End Sub
End Module

Module String pada Namespace Microsoft.VisualBasic
Selain pengolahan data string dengan menggunakan String Member, Visual Basic juga
menyediakan berbagai fungsi bantu yang terdefinisi pada Namespace
Micorosoft.VisualBasic, berikut ini adalah beberapa fungsi bantu yang dapat digunakan
untuk 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 :

Option Explicit On
Imports System
Imports Microsoft.VisualBasic
Public Module modStr
   Sub Main()
       Console.WriteLine(Asc("H"))                         '72
       Console.WriteLine(AscW("H"))                        '72
       Console.WriteLine(Chr("72"))                        'H
       Console.WriteLine(ChrW("72"))                       'H
   End Sub

End Module



INDOPROG                                                                           46
Bahasa pemrograman VB.NET                                                     Hendra, S.T.


Len(x), mengembalikan panjang string x dalam karakter.

Lcase(x), mengembalikan string yang telah diubah menjadi huruf kecil.

Ucase(x), mengembalikan string yang telah diubah menjadi huruf besar.

Contoh :

Option Explicit On
Imports System
Imports Microsoft.VisualBasic
Public Module modStr
   Sub Main()
       Dim Nama As String = "Hendra Soewarno"
       Console.WriteLine(Len(Nama))                        '15
       Console.WriteLine(LCase(Nama))                      'hendra soewarno
       Console.WriteLine(UCase(Nama))                      'HENDRA SOEWARNO
   End Sub

End Module

GetChar(x,y), mendapatkan character posisi ke y dalam string x.

Left(x,y), mengembalikan substring dari string x sebanyak y karakter dari depan.

Right(x,y), mengembalikan substring dari string x sebanyak y karakter dari belakang.

Mid(x,y,z) mengembalikan substring dari string x mulai posisi y sebanyak z karakter.

Contoh :

Option Explicit On
Imports System
Imports Microsoft.VisualBasic
Public Module modStr
   Sub Main()
       Dim Nama As String = "Hendra Soewarno"
       Console.WriteLine(GetChar(Nama,1))                  'H
       Console.WriteLine(Left(Nama,6))                     'Hendra
       Console.WriteLine(Right(Nama,8))                    'Soewarno
       Console.WriteLine(Mid(Nama,4,3))                    'dra
   End Sub

End Module

Space(x), mengembalikan string yang terdiri dari spasi sejumlah x karakter.

Rset(x,y), mengembalikan string rapat kanan dengan panjang y dengan menambah spasi
di depan string x.




INDOPROG                                                                               47
Bahasa pemrograman VB.NET                                                     Hendra, S.T.


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

Contoh :

Option Explicit On
Imports System
Imports Microsoft.VisualBasic
Public Module modStr
   Sub Main()
       Dim Nama1 As String = "Hendra"
       Dim Nama2 As String = "Soewarno"
       Console.WriteLine(Nama1 & Space(5) & Nama2) 'Hendra                     Soewarno
       Console.WriteLine(RSet(Nama1,9))            '___Hendra
       Console.WriteLine(LSet(Nama1,9))            'Hendra___
   End Sub

End Module

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 :

Option Explicit On
Imports System
Imports Microsoft.VisualBasic
Public Module modStr
   Sub Main()
       Dim Nama As String = "Susan"
       Console.WriteLine(Nama)                              'Susan
       Console.WriteLine(StrReverse(Nama))                  'nasuS
   End Sub

End Module

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 x
mulai posisi y.

Contoh :




INDOPROG                                                                                48
Bahasa pemrograman VB.NET                                                      Hendra, S.T.


Option Explicit On
Imports System
Imports Microsoft.VisualBasic
Public Module modStr
   Sub Main()
       Dim Nama As String = "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
   End Sub

End Module

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 antara
string x dengan string y, dengan metode z, dimana -1 (x < y), 0 (x =y), dan 1 (x > y), dan
metode z adalah CompareMethod.Text dan CompareMethod.Binary.

Contoh :

Option Explicit On
Imports System
Imports Microsoft.VisualBasic
Public Module modStr
   Sub Main()
       Dim Nama1 As String = "felicia"
       Dim Nama2 As String = "FELICIA"
       Console.WriteLine(StrDup(10,"-"))                    '----------
       Console.WriteLine(StrComp(Nama1,Nama2,CompareMethod.Text))    '0
       Console.WriteLine(StrComp(Nama1,Nama2,CompareMethod.Binary)) '1
   End Sub

End Module

Catatan :

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

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

Option Explicit On
Imports System
Imports Microsoft.VisualBasic
Public Module modStr
   Sub Main()
       Dim Nama As String = "Felicia Fortuna"
       Dim aNama() As String = Split(Nama," ")
       Console.WriteLine(aNama(0))                          'Felicia



INDOPROG                                                                               49
Bahasa pemrograman VB.NET                                                   Hendra, S.T.


       Console.WriteLine(aNama(1))                        'Fortuna
   End Sub

End Module

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

Option Explicit On
Imports System
Imports Microsoft.VisualBasic
Public Module modStr
   Sub Main()
       Dim aNama() As String = {"Felicia","Fortuna"}
       Console.WriteLine(Join(aNama,", "))      'Felicia, Fortuna
   End Sub

End Module

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

Contoh :

Option Explicit On
Imports System
Imports Microsoft.VisualBasic
Public Module modStr
   Sub Main()
       Dim Nama As String = "Hendra"
       Console.WriteLine(Replace(Nama,"a","o")) 'Hendro
   End Sub

End Module

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

Contoh :

Option Explicit On
Imports System
Imports Microsoft.VisualBasic
Public Module modStr
   Sub Main()
       Dim Nama As String = "Hendra"
       Console.WriteLine(StrConv(Nama,VbStrConv.UpperCase)) 'HENDRA
       Console.WriteLine(StrConv(Nama,VbStrConv.LowerCase)) 'hendra
       Console.WriteLine(StrConv(Nama,VbStrConv.ProperCase)) 'Hendra
   End Sub



INDOPROG                                                                            50
Bahasa pemrograman VB.NET                                                  Hendra, S.T.


End Module

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

Contoh :

Option Explicit On
Imports System
Imports Microsoft.VisualBasic
Public Module modStr
   Sub Main()
       Console.WriteLine(FormatDateTime(Now,DateFormat.LongDate))
'Sunday, May 22, 2005
   End Sub

End Module

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

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

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

Contoh :

Option Explicit On
Imports System
Imports Microsoft.VisualBasic
Public Module modStr
   Sub Main()
       Dim Angka As Decimal = 100000
       Dim PPN As Single = 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%
   End Sub

End Module

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

Contoh :



INDOPROG                                                                           51
Bahasa pemrograman VB.NET                                                       Hendra, S.T.


Option Explicit On
Imports System
Imports Microsoft.VisualBasic
Public Module 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
   End Sub

End Module

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

Contoh :

Option Explicit On
Imports System
Imports Microsoft.VisualBasic
Public Module modStr
   Sub Main()
       Dim aNama1() As String = {"Hendra","Susan","Felicia Fortuna"}
       Dim aNama2() As String =
Filter(aNama1,"r",true,CompareMethod.Binary)
       For Each A As String In aNama2
            Console.WriteLine(A)          'Hendra & Felicia Fortuna
       Next
   End Sub

End Module

Latihan :

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




INDOPROG                                                                                   52
Bahasa pemrograman VB.NET                                                    Hendra, S.T.




Tipe data Date
Pada Visual Basic variabel date disimpan sebagai integer IEEE 64-bit (8-byte) yang
mewakili tanggal dengan jangkauan dari 1 Januari tahun 1 sampai dengan 31 Desember
tahun 9999, dan waktu dari 0:00:00 (tengah malam) sampai 23:59:59.

Nilai tanggal harus diapit diantara tanda angka (#) dan diformat dalam M/d/yyyy, sebagai
contoh #5/31/1993#.

Anda dapat memberikan nilai awal pada variabel tipe Date dengan penulisan sebagai
berikut :

Dim Tanggal As Date = New Date(2005, 5, 30, 8, 29, 59, 900)

Dimana akan memberikan nilai Tanggal 30 Mei 2005 Pukul 8:29:59.900 ke variabel
Tanggal.

Member pada Class Date

  Date            Mengambil komponen tanggal dari instance
  TimeOfDay       Mengambil komponen waktu dari instance
  Day             Mengambil nomor hari (1-31) dalam bulan dari instance
  Month           Mengambil komponen bulan (1-12) dari instance
  Year            Mengambil komponen tahun dari instance
  Hour            Mengambil komponen jam (0-23) dari instance
  Minute          Mengambil komponen menit (0-59) dari instance
  Second          Mengambil komponen detik (0-59) dari instance
  Millisecond     Mengambil komponen mili detik (0-999) dari instance
  DayOfWeek       Mengambil nomor hari (0-6) dalam minggu dari instance
  DayOfYear       Mengambil nomor hari (1-366) dalam tahun dari instance
  Ticks           Mengambil jumlah ticks dari instance
    Now           Mendapatkan tanggal dan waktu komputer
    Today         Mendapatkan mendapatkan tanggal komputer
    UtcNow        Mendapatkan tanggal dan wkatu komputer yang telah diknversi
                  menjadi coordinated universal time (UTC).

Contoh :

Option Explicit On
Imports System

Public Module ModDate



INDOPROG                                                                             53
Bahasa pemrograman VB.NET                                               Hendra, S.T.


  Sub Main()
      Dim Tanggal As Date = New Date(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
  End Sub

End Module

Visual Basic menyediakan berbagai fungsi bantu yang merupakan member dari
namespace 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

Option Explicit On
Imports System

Public Module ModDate
  Sub Main()
      Dim Tanggal As Date = New Date(2005,5,30,8,29,40,900)
      Console.WriteLine(Tanggal.AddDays(-10))   '20-5-2005 8:29:40.900
  End Sub
End Module


    Parse            Mengkonversi string dalam bentuk tanggal dan waktu ke
                     DateTime.

Option Explicit On
Imports System

Public Module ModDate
  Sub Main()
      Dim Str As String = "30-5-2005 08:30:50.900"



INDOPROG                                                                        54
Bahasa pemrograman VB.NET                                              Hendra, S.T.


      Dim Tanggal As Date
      Tanggal = DateTime.Parse(Str)
      Console.WriteLine(Tanggal)
  End Sub
End Module



    Compare          Membandingkan dua instance dari DateTime dam
                     mengembalikan ( < 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

Option Explicit On
Imports System

Public Module ModDate
  Sub Main()
      Dim Tanggal1 As Date = New Date(2005,5,30)
      Dim Tanggal2 As Date = New Date(2005,5,31)
      Console.WriteLine(DateTime.Compare(Tanggal1,Tanggal2))            '-1
      Console.WriteLine(DateTime.DaysInMonth(2005,5))                   '31
      Console.WriteLine(DateTime.IsLeapYear(2005))                      'False
  End Sub
End Module


  Subtract           Menghasilkan selisih antara suatu datetime dengan instance

Option Explicit On
Imports System

Public Module ModDate
  Sub Main()
      Dim Tanggal1 As Date = New Date(2005,5,30)
      Dim Tanggal2 As Date = New Date(2005,5,31)
      Console.WriteLine(Tanggal1.Subtract(Tanggal2))               '-1 00:00:00
  End Sub
End Module



  ToLocalTime        Konversi Instance ke LocalTime
  ToLongDateString Konversi Instance ke String dengan format setting
                   LongDateString
  ToLongTimeString Konversi Instance ke String dengan format setting LongTime
  ToShortDateString Konversi Instance ke String dengan format setting ShortDate
  ToShortTimeString Konversi Instance ke String dengan format setting ShortTime
  ToString           Konversi Instance ke String
  ToUniversalTime    Konversi Instance ke UTC




INDOPROG                                                                          55
Bahasa pemrograman VB.NET                                                      Hendra, S.T.




Module Date pada Namespace Microsoft.VisualBasic
DateSerial(year,month,day), mengembalikan data tanggal sesuai dengan tahun, bulan dan
hari yang ditentukan.

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

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 tengah
malam.

DateString(), mengembalikan tanggal komputer dengan format MM-dd-yyyy dalam
bentuk 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 dari
DateTime (1 = minggu, …7 = sabtu).

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




INDOPROG                                                                               56
Bahasa pemrograman VB.NET                                                   Hendra, S.T.


DateAdd(Interval, Number, DateValue), mengembalikan tanggal dari hasil penjumlahan
DateValue 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 value
DateInterval.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 Date1
berdasarkan interval tertentu. Returns a Long value specifying the number of time
intervals between two Date values.

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

Catatan :

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




INDOPROG                                                                             57
Bahasa pemrograman VB.NET                                                   Hendra, S.T.




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
  <VBFixedString(10)> Public Nim As String
  <VBFixedString(30)> Public Nama As String
  Public Tugas, Mid, Semester As Single
End Structure

Catatan :
Sebagaimana telah dinyatakan sebelumnya bahwa secara default string pada Visual Basic
adalah variable length, dan untuk membentuk string dengan fixed length kita
membutuhkan vbFixedStringAttribute Class, dimana pada awal deklarasi string kita
mencantumkan <VBFixedString(ukuran)>

Salah satu keunggulan pada Structure di Visual Basic adalah kita dapat menambahkan
koding 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 :

Option Explicit On
Imports System
Imports Microsoft.VisualBasic
Public Module ModStruct

      Structure Ujian
        <VBFixedString(10)> Public Nim As String
        <VBFixedString(30)> Public Nama As String
        Public Tugas,Mid,Semester As Single
        Public ReadOnly Property RataRata() As Single
           Get
             Return (Tugas+Mid+Semester)/3
           End Get
        End Property
      End Structure

      Dim DaftarUjian As Ujian

      Sub Main()
          DaftarUjian.Nim = "920403024"



INDOPROG                                                                            58
Pemrogaman Visual Basic.NET (Modul 1)
Pemrogaman Visual Basic.NET (Modul 1)
Pemrogaman Visual Basic.NET (Modul 1)
Pemrogaman Visual Basic.NET (Modul 1)
Pemrogaman Visual Basic.NET (Modul 1)
Pemrogaman Visual Basic.NET (Modul 1)
Pemrogaman Visual Basic.NET (Modul 1)
Pemrogaman Visual Basic.NET (Modul 1)
Pemrogaman Visual Basic.NET (Modul 1)
Pemrogaman Visual Basic.NET (Modul 1)
Pemrogaman Visual Basic.NET (Modul 1)
Pemrogaman Visual Basic.NET (Modul 1)
Pemrogaman Visual Basic.NET (Modul 1)
Pemrogaman Visual Basic.NET (Modul 1)
Pemrogaman Visual Basic.NET (Modul 1)
Pemrogaman Visual Basic.NET (Modul 1)
Pemrogaman Visual Basic.NET (Modul 1)
Pemrogaman Visual Basic.NET (Modul 1)
Pemrogaman Visual Basic.NET (Modul 1)
Pemrogaman Visual Basic.NET (Modul 1)
Pemrogaman Visual Basic.NET (Modul 1)
Pemrogaman Visual Basic.NET (Modul 1)

Weitere ähnliche Inhalte

Was ist angesagt?

Materi Pengujian dan Implementasi Sistem.pptx
Materi Pengujian dan Implementasi Sistem.pptxMateri Pengujian dan Implementasi Sistem.pptx
Materi Pengujian dan Implementasi Sistem.pptxRizqiIrawan2
 
1. Kisi kisi soal Sistim Komputer Kelas X Multimedia K 13 Revisi
1. Kisi kisi soal Sistim Komputer Kelas X Multimedia K 13 Revisi1. Kisi kisi soal Sistim Komputer Kelas X Multimedia K 13 Revisi
1. Kisi kisi soal Sistim Komputer Kelas X Multimedia K 13 RevisiSepriano Sepriano
 
[PBO] Pertemuan 11 - GUI Java Desktop
[PBO] Pertemuan 11 - GUI Java Desktop[PBO] Pertemuan 11 - GUI Java Desktop
[PBO] Pertemuan 11 - GUI Java Desktoprizki adam kurniawan
 
Jawaban uas Analisa dan Perancangan Sistem
Jawaban uas Analisa dan Perancangan SistemJawaban uas Analisa dan Perancangan Sistem
Jawaban uas Analisa dan Perancangan Sistemlonklonk
 
Pertemuan 4 alert dan toast
Pertemuan 4 alert dan toastPertemuan 4 alert dan toast
Pertemuan 4 alert dan toastheriakj
 
Konsep Routing dalam Laravel (Pemrograman Web II)
Konsep Routing dalam Laravel (Pemrograman Web II)Konsep Routing dalam Laravel (Pemrograman Web II)
Konsep Routing dalam Laravel (Pemrograman Web II)I Gede Iwan Sudipa
 
Lembar/Gambar Kerja untuk Pembuatan Prototype Produk Barang/Jasa
Lembar/Gambar Kerja untuk Pembuatan Prototype Produk Barang/Jasa Lembar/Gambar Kerja untuk Pembuatan Prototype Produk Barang/Jasa
Lembar/Gambar Kerja untuk Pembuatan Prototype Produk Barang/Jasa Aisyah Safitri Hayati
 
MODUL PELATIHAN MICROSOFT OFFICE WORD DAN EXCEL TINGKAT SMK
MODUL PELATIHAN MICROSOFT OFFICE WORD DAN EXCEL TINGKAT SMKMODUL PELATIHAN MICROSOFT OFFICE WORD DAN EXCEL TINGKAT SMK
MODUL PELATIHAN MICROSOFT OFFICE WORD DAN EXCEL TINGKAT SMKmulyaditenjo
 
Modul visual-foxpro-release-6
Modul visual-foxpro-release-6Modul visual-foxpro-release-6
Modul visual-foxpro-release-6C Thea
 
Belajar perulangan di delphi 7
Belajar perulangan di delphi 7Belajar perulangan di delphi 7
Belajar perulangan di delphi 7Elan Mailiyanto
 
Soal essay basis data xi
Soal essay basis data xiSoal essay basis data xi
Soal essay basis data xitia irma
 
Bagaimana Cara Membuat Portofolio Untuk Software QA
Bagaimana Cara Membuat Portofolio Untuk Software QABagaimana Cara Membuat Portofolio Untuk Software QA
Bagaimana Cara Membuat Portofolio Untuk Software QAFachrul Choliluddin
 
Manajemen Resiko (Tugas RPL)
 Manajemen Resiko (Tugas RPL)  Manajemen Resiko (Tugas RPL)
Manajemen Resiko (Tugas RPL) viiasilviaa
 
Part 4 - Form dan Objek Kontrol (Lanjutan)
Part 4 - Form dan Objek Kontrol (Lanjutan)Part 4 - Form dan Objek Kontrol (Lanjutan)
Part 4 - Form dan Objek Kontrol (Lanjutan)Rolly Yesputra
 
Pertemuan 6 tabview
Pertemuan 6 tabviewPertemuan 6 tabview
Pertemuan 6 tabviewheriakj
 
8. media komunikasi jaringan komputer
8. media komunikasi jaringan komputer8. media komunikasi jaringan komputer
8. media komunikasi jaringan komputerMuh Ramadhan
 

Was ist angesagt? (20)

Materi Pengujian dan Implementasi Sistem.pptx
Materi Pengujian dan Implementasi Sistem.pptxMateri Pengujian dan Implementasi Sistem.pptx
Materi Pengujian dan Implementasi Sistem.pptx
 
1. Kisi kisi soal Sistim Komputer Kelas X Multimedia K 13 Revisi
1. Kisi kisi soal Sistim Komputer Kelas X Multimedia K 13 Revisi1. Kisi kisi soal Sistim Komputer Kelas X Multimedia K 13 Revisi
1. Kisi kisi soal Sistim Komputer Kelas X Multimedia K 13 Revisi
 
[PBO] Pertemuan 11 - GUI Java Desktop
[PBO] Pertemuan 11 - GUI Java Desktop[PBO] Pertemuan 11 - GUI Java Desktop
[PBO] Pertemuan 11 - GUI Java Desktop
 
Tes Potensi Akademik
Tes Potensi AkademikTes Potensi Akademik
Tes Potensi Akademik
 
Jawaban uas Analisa dan Perancangan Sistem
Jawaban uas Analisa dan Perancangan SistemJawaban uas Analisa dan Perancangan Sistem
Jawaban uas Analisa dan Perancangan Sistem
 
Pertemuan 4 alert dan toast
Pertemuan 4 alert dan toastPertemuan 4 alert dan toast
Pertemuan 4 alert dan toast
 
Database
DatabaseDatabase
Database
 
Materi : Perangkat keras
Materi : Perangkat kerasMateri : Perangkat keras
Materi : Perangkat keras
 
Konsep Routing dalam Laravel (Pemrograman Web II)
Konsep Routing dalam Laravel (Pemrograman Web II)Konsep Routing dalam Laravel (Pemrograman Web II)
Konsep Routing dalam Laravel (Pemrograman Web II)
 
Lembar/Gambar Kerja untuk Pembuatan Prototype Produk Barang/Jasa
Lembar/Gambar Kerja untuk Pembuatan Prototype Produk Barang/Jasa Lembar/Gambar Kerja untuk Pembuatan Prototype Produk Barang/Jasa
Lembar/Gambar Kerja untuk Pembuatan Prototype Produk Barang/Jasa
 
Materi 6. perulangan
Materi 6. perulanganMateri 6. perulangan
Materi 6. perulangan
 
MODUL PELATIHAN MICROSOFT OFFICE WORD DAN EXCEL TINGKAT SMK
MODUL PELATIHAN MICROSOFT OFFICE WORD DAN EXCEL TINGKAT SMKMODUL PELATIHAN MICROSOFT OFFICE WORD DAN EXCEL TINGKAT SMK
MODUL PELATIHAN MICROSOFT OFFICE WORD DAN EXCEL TINGKAT SMK
 
Modul visual-foxpro-release-6
Modul visual-foxpro-release-6Modul visual-foxpro-release-6
Modul visual-foxpro-release-6
 
Belajar perulangan di delphi 7
Belajar perulangan di delphi 7Belajar perulangan di delphi 7
Belajar perulangan di delphi 7
 
Soal essay basis data xi
Soal essay basis data xiSoal essay basis data xi
Soal essay basis data xi
 
Bagaimana Cara Membuat Portofolio Untuk Software QA
Bagaimana Cara Membuat Portofolio Untuk Software QABagaimana Cara Membuat Portofolio Untuk Software QA
Bagaimana Cara Membuat Portofolio Untuk Software QA
 
Manajemen Resiko (Tugas RPL)
 Manajemen Resiko (Tugas RPL)  Manajemen Resiko (Tugas RPL)
Manajemen Resiko (Tugas RPL)
 
Part 4 - Form dan Objek Kontrol (Lanjutan)
Part 4 - Form dan Objek Kontrol (Lanjutan)Part 4 - Form dan Objek Kontrol (Lanjutan)
Part 4 - Form dan Objek Kontrol (Lanjutan)
 
Pertemuan 6 tabview
Pertemuan 6 tabviewPertemuan 6 tabview
Pertemuan 6 tabview
 
8. media komunikasi jaringan komputer
8. media komunikasi jaringan komputer8. media komunikasi jaringan komputer
8. media komunikasi jaringan komputer
 

Ähnlich wie Pemrogaman Visual Basic.NET (Modul 1)

Dasar pemrograman vb.net (1)
Dasar pemrograman vb.net (1)Dasar pemrograman vb.net (1)
Dasar pemrograman vb.net (1)Henry Littleboy
 
Pask 1 14_s16010_sandro
Pask 1 14_s16010_sandroPask 1 14_s16010_sandro
Pask 1 14_s16010_sandroSandroSiagian
 
Modul Pratikum Algoritma dan Pemrograman dalam Bahasa Visual C++ 2010
Modul Pratikum Algoritma dan Pemrograman dalam Bahasa Visual C++ 2010Modul Pratikum Algoritma dan Pemrograman dalam Bahasa Visual C++ 2010
Modul Pratikum Algoritma dan Pemrograman dalam Bahasa Visual C++ 2010eddie Ismantoe
 
Tutorial pembuatan REST Service pada Support System menggunakan Servlet dan GSON
Tutorial pembuatan REST Service pada Support System menggunakan Servlet dan GSONTutorial pembuatan REST Service pada Support System menggunakan Servlet dan GSON
Tutorial pembuatan REST Service pada Support System menggunakan Servlet dan GSONDimas Prawira
 
technik kompilasi
technik kompilasitechnik kompilasi
technik kompilasimastnie
 
Tugas so2 fitriana bakar044
Tugas so2 fitriana bakar044Tugas so2 fitriana bakar044
Tugas so2 fitriana bakar044charis_fit
 
Code Generatorx
Code GeneratorxCode Generatorx
Code Generatorxvalcon24
 
Sekilas tentang c
Sekilas tentang cSekilas tentang c
Sekilas tentang cDyes Wirok
 
pendahuluanv2.ppt
pendahuluanv2.pptpendahuluanv2.ppt
pendahuluanv2.pptKemangKres
 
Composer Explained [PHP Indonesia Meetup]
Composer Explained [PHP Indonesia Meetup]Composer Explained [PHP Indonesia Meetup]
Composer Explained [PHP Indonesia Meetup]Taufan Aditya
 

Ähnlich wie Pemrogaman Visual Basic.NET (Modul 1) (20)

Tutorial VB.Net
Tutorial VB.NetTutorial VB.Net
Tutorial VB.Net
 
Dasar pemrograman vb.net (1)
Dasar pemrograman vb.net (1)Dasar pemrograman vb.net (1)
Dasar pemrograman vb.net (1)
 
Assembly
AssemblyAssembly
Assembly
 
Pask 1 14_s16010_sandro
Pask 1 14_s16010_sandroPask 1 14_s16010_sandro
Pask 1 14_s16010_sandro
 
6 modul avr
6 modul avr6 modul avr
6 modul avr
 
Bab1
Bab1Bab1
Bab1
 
Modul Pratikum Algoritma dan Pemrograman dalam Bahasa Visual C++ 2010
Modul Pratikum Algoritma dan Pemrograman dalam Bahasa Visual C++ 2010Modul Pratikum Algoritma dan Pemrograman dalam Bahasa Visual C++ 2010
Modul Pratikum Algoritma dan Pemrograman dalam Bahasa Visual C++ 2010
 
Laporan p1
Laporan p1Laporan p1
Laporan p1
 
What's about Dev-C++
What's about Dev-C++What's about Dev-C++
What's about Dev-C++
 
Pertemuan I Teori
Pertemuan I TeoriPertemuan I Teori
Pertemuan I Teori
 
C++
C++C++
C++
 
2. CodeBlocks & C++
2. CodeBlocks & C++2. CodeBlocks & C++
2. CodeBlocks & C++
 
Tutorial pembuatan REST Service pada Support System menggunakan Servlet dan GSON
Tutorial pembuatan REST Service pada Support System menggunakan Servlet dan GSONTutorial pembuatan REST Service pada Support System menggunakan Servlet dan GSON
Tutorial pembuatan REST Service pada Support System menggunakan Servlet dan GSON
 
technik kompilasi
technik kompilasitechnik kompilasi
technik kompilasi
 
Tugas so2 fitriana bakar044
Tugas so2 fitriana bakar044Tugas so2 fitriana bakar044
Tugas so2 fitriana bakar044
 
Code Generatorx
Code GeneratorxCode Generatorx
Code Generatorx
 
Sekilas tentang c
Sekilas tentang cSekilas tentang c
Sekilas tentang c
 
pendahuluanv2.ppt
pendahuluanv2.pptpendahuluanv2.ppt
pendahuluanv2.ppt
 
Composer Explained [PHP Indonesia Meetup]
Composer Explained [PHP Indonesia Meetup]Composer Explained [PHP Indonesia Meetup]
Composer Explained [PHP Indonesia Meetup]
 
Modul psb 1 j2 me
Modul psb 1 j2 meModul psb 1 j2 me
Modul psb 1 j2 me
 

Mehr von Materi Kuliah Online

Pengenalan Rekayasa Perangkat Lunak
Pengenalan Rekayasa Perangkat LunakPengenalan Rekayasa Perangkat Lunak
Pengenalan Rekayasa Perangkat LunakMateri Kuliah Online
 
Melangkah dengan Microsoft Windows Server 2003
Melangkah dengan Microsoft Windows Server 2003Melangkah dengan Microsoft Windows Server 2003
Melangkah dengan Microsoft Windows Server 2003Materi Kuliah Online
 
Studi Mengenai Aspek Privasi pada Sistem RFID
Studi Mengenai Aspek Privasi pada Sistem RFIDStudi Mengenai Aspek Privasi pada Sistem RFID
Studi Mengenai Aspek Privasi pada Sistem RFIDMateri Kuliah Online
 
Internet dan Layanan Aplikasi Terdistribusi
Internet dan Layanan Aplikasi TerdistribusiInternet dan Layanan Aplikasi Terdistribusi
Internet dan Layanan Aplikasi TerdistribusiMateri Kuliah Online
 
Aspek Security pada Penerapan m-Commerce di Indonesia
Aspek Security pada Penerapan m-Commerce di IndonesiaAspek Security pada Penerapan m-Commerce di Indonesia
Aspek Security pada Penerapan m-Commerce di IndonesiaMateri Kuliah Online
 
A Comparison of Proximity Authentication Approaches
A Comparison of Proximity Authentication ApproachesA Comparison of Proximity Authentication Approaches
A Comparison of Proximity Authentication ApproachesMateri Kuliah Online
 
Kajian Perkembangan Teknologi Smart Card dari Segi Keamanan
Kajian Perkembangan Teknologi Smart Card dari Segi KeamananKajian Perkembangan Teknologi Smart Card dari Segi Keamanan
Kajian Perkembangan Teknologi Smart Card dari Segi KeamananMateri Kuliah Online
 
Catu Daya dan Rangkaian Penyearah Gelombang
Catu Daya dan Rangkaian Penyearah GelombangCatu Daya dan Rangkaian Penyearah Gelombang
Catu Daya dan Rangkaian Penyearah GelombangMateri Kuliah Online
 
Simulasi Anti Integral Windup dengan Clamp Integrator
Simulasi Anti Integral Windup dengan Clamp IntegratorSimulasi Anti Integral Windup dengan Clamp Integrator
Simulasi Anti Integral Windup dengan Clamp IntegratorMateri Kuliah Online
 
Prinsip-prinsip Asas E-Construction, K-Constructions dan Groupware Technology
Prinsip-prinsip Asas E-Construction, K-Constructions dan Groupware TechnologyPrinsip-prinsip Asas E-Construction, K-Constructions dan Groupware Technology
Prinsip-prinsip Asas E-Construction, K-Constructions dan Groupware TechnologyMateri Kuliah Online
 
Penggunaan DT-51 Untuk Komunikasi Mikrokontroler Melalui Jaringan Telepon
Penggunaan DT-51 Untuk Komunikasi Mikrokontroler Melalui Jaringan TeleponPenggunaan DT-51 Untuk Komunikasi Mikrokontroler Melalui Jaringan Telepon
Penggunaan DT-51 Untuk Komunikasi Mikrokontroler Melalui Jaringan TeleponMateri Kuliah Online
 
Penggunaan DT-Basic Untuk Membaca Nomor Identitas Secara Wireless
Penggunaan DT-Basic Untuk Membaca Nomor Identitas Secara WirelessPenggunaan DT-Basic Untuk Membaca Nomor Identitas Secara Wireless
Penggunaan DT-Basic Untuk Membaca Nomor Identitas Secara WirelessMateri Kuliah Online
 

Mehr von Materi Kuliah Online (20)

Sekilas tentang HaKI
Sekilas tentang HaKISekilas tentang HaKI
Sekilas tentang HaKI
 
Pengenalan Rekayasa Perangkat Lunak
Pengenalan Rekayasa Perangkat LunakPengenalan Rekayasa Perangkat Lunak
Pengenalan Rekayasa Perangkat Lunak
 
Pemodelan Basis Data Lainnya
Pemodelan Basis Data LainnyaPemodelan Basis Data Lainnya
Pemodelan Basis Data Lainnya
 
Arsitektur Sistem Basis Data
Arsitektur Sistem Basis DataArsitektur Sistem Basis Data
Arsitektur Sistem Basis Data
 
Access control-systems
Access control-systemsAccess control-systems
Access control-systems
 
Melangkah dengan Microsoft Windows Server 2003
Melangkah dengan Microsoft Windows Server 2003Melangkah dengan Microsoft Windows Server 2003
Melangkah dengan Microsoft Windows Server 2003
 
Studi Mengenai Aspek Privasi pada Sistem RFID
Studi Mengenai Aspek Privasi pada Sistem RFIDStudi Mengenai Aspek Privasi pada Sistem RFID
Studi Mengenai Aspek Privasi pada Sistem RFID
 
Remote control alarm sepeda motor
Remote control alarm sepeda motorRemote control alarm sepeda motor
Remote control alarm sepeda motor
 
Internet dan Layanan Aplikasi Terdistribusi
Internet dan Layanan Aplikasi TerdistribusiInternet dan Layanan Aplikasi Terdistribusi
Internet dan Layanan Aplikasi Terdistribusi
 
Aspek Security pada Penerapan m-Commerce di Indonesia
Aspek Security pada Penerapan m-Commerce di IndonesiaAspek Security pada Penerapan m-Commerce di Indonesia
Aspek Security pada Penerapan m-Commerce di Indonesia
 
A Comparison of Proximity Authentication Approaches
A Comparison of Proximity Authentication ApproachesA Comparison of Proximity Authentication Approaches
A Comparison of Proximity Authentication Approaches
 
Kajian Perkembangan Teknologi Smart Card dari Segi Keamanan
Kajian Perkembangan Teknologi Smart Card dari Segi KeamananKajian Perkembangan Teknologi Smart Card dari Segi Keamanan
Kajian Perkembangan Teknologi Smart Card dari Segi Keamanan
 
Catu Daya dan Rangkaian Penyearah Gelombang
Catu Daya dan Rangkaian Penyearah GelombangCatu Daya dan Rangkaian Penyearah Gelombang
Catu Daya dan Rangkaian Penyearah Gelombang
 
Dioda dan Catu Daya
Dioda dan Catu DayaDioda dan Catu Daya
Dioda dan Catu Daya
 
Simulasi Anti Integral Windup dengan Clamp Integrator
Simulasi Anti Integral Windup dengan Clamp IntegratorSimulasi Anti Integral Windup dengan Clamp Integrator
Simulasi Anti Integral Windup dengan Clamp Integrator
 
Radio Frequency Identification
Radio Frequency IdentificationRadio Frequency Identification
Radio Frequency Identification
 
Prinsip-prinsip Asas E-Construction, K-Constructions dan Groupware Technology
Prinsip-prinsip Asas E-Construction, K-Constructions dan Groupware TechnologyPrinsip-prinsip Asas E-Construction, K-Constructions dan Groupware Technology
Prinsip-prinsip Asas E-Construction, K-Constructions dan Groupware Technology
 
Penggunaan DT-51 Untuk Komunikasi Mikrokontroler Melalui Jaringan Telepon
Penggunaan DT-51 Untuk Komunikasi Mikrokontroler Melalui Jaringan TeleponPenggunaan DT-51 Untuk Komunikasi Mikrokontroler Melalui Jaringan Telepon
Penggunaan DT-51 Untuk Komunikasi Mikrokontroler Melalui Jaringan Telepon
 
Penggunaan DT-Basic Untuk Membaca Nomor Identitas Secara Wireless
Penggunaan DT-Basic Untuk Membaca Nomor Identitas Secara WirelessPenggunaan DT-Basic Untuk Membaca Nomor Identitas Secara Wireless
Penggunaan DT-Basic Untuk Membaca Nomor Identitas Secara Wireless
 
Interfacing Number Display
Interfacing Number DisplayInterfacing Number Display
Interfacing Number Display
 

Kürzlich hochgeladen

REFLEKSI MANDIRI_Prakarsa Perubahan BAGJA Modul 1.3.pdf
REFLEKSI MANDIRI_Prakarsa Perubahan BAGJA Modul 1.3.pdfREFLEKSI MANDIRI_Prakarsa Perubahan BAGJA Modul 1.3.pdf
REFLEKSI MANDIRI_Prakarsa Perubahan BAGJA Modul 1.3.pdfirwanabidin08
 
Modul Ajar Pendidikan Pancasila Kelas 5 Fase C
Modul Ajar Pendidikan Pancasila Kelas 5 Fase CModul Ajar Pendidikan Pancasila Kelas 5 Fase C
Modul Ajar Pendidikan Pancasila Kelas 5 Fase CAbdiera
 
Prakarsa Perubahan ATAP (Awal - Tantangan - Aksi - Perubahan)
Prakarsa Perubahan ATAP (Awal - Tantangan - Aksi - Perubahan)Prakarsa Perubahan ATAP (Awal - Tantangan - Aksi - Perubahan)
Prakarsa Perubahan ATAP (Awal - Tantangan - Aksi - Perubahan)MustahalMustahal
 
PELAKSANAAN + Link-Link MATERI Training_ "Effective INVENTORY & WAREHOUSING...
PELAKSANAAN  + Link-Link MATERI Training_ "Effective INVENTORY &  WAREHOUSING...PELAKSANAAN  + Link-Link MATERI Training_ "Effective INVENTORY &  WAREHOUSING...
PELAKSANAAN + Link-Link MATERI Training_ "Effective INVENTORY & WAREHOUSING...Kanaidi ken
 
Bab 7 - Perilaku Ekonomi dan Kesejahteraan Sosial.pptx
Bab 7 - Perilaku Ekonomi dan Kesejahteraan Sosial.pptxBab 7 - Perilaku Ekonomi dan Kesejahteraan Sosial.pptx
Bab 7 - Perilaku Ekonomi dan Kesejahteraan Sosial.pptxssuser35630b
 
MODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKA
MODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKAMODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKA
MODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKAAndiCoc
 
PPT AKUNTANSI KEUANGAN MENENGAH DUA.pptx
PPT AKUNTANSI KEUANGAN MENENGAH DUA.pptxPPT AKUNTANSI KEUANGAN MENENGAH DUA.pptx
PPT AKUNTANSI KEUANGAN MENENGAH DUA.pptxssuser8905b3
 
ppt-akhlak-tercela-foya-foya-riya-sumah-takabur-hasad asli.ppt
ppt-akhlak-tercela-foya-foya-riya-sumah-takabur-hasad asli.pptppt-akhlak-tercela-foya-foya-riya-sumah-takabur-hasad asli.ppt
ppt-akhlak-tercela-foya-foya-riya-sumah-takabur-hasad asli.pptAgusRahmat39
 
Modul Ajar Bahasa Indonesia Kelas 4 Fase B
Modul Ajar Bahasa Indonesia Kelas 4 Fase BModul Ajar Bahasa Indonesia Kelas 4 Fase B
Modul Ajar Bahasa Indonesia Kelas 4 Fase BAbdiera
 
PELAKSANAAN + Link2 Materi BimTek _PTK 007 Rev-5 Thn 2023 (PENGADAAN) & Perhi...
PELAKSANAAN + Link2 Materi BimTek _PTK 007 Rev-5 Thn 2023 (PENGADAAN) & Perhi...PELAKSANAAN + Link2 Materi BimTek _PTK 007 Rev-5 Thn 2023 (PENGADAAN) & Perhi...
PELAKSANAAN + Link2 Materi BimTek _PTK 007 Rev-5 Thn 2023 (PENGADAAN) & Perhi...Kanaidi ken
 
LATAR BELAKANG JURNAL DIALOGIS REFLEKTIF.ppt
LATAR BELAKANG JURNAL DIALOGIS REFLEKTIF.pptLATAR BELAKANG JURNAL DIALOGIS REFLEKTIF.ppt
LATAR BELAKANG JURNAL DIALOGIS REFLEKTIF.pptPpsSambirejo
 
MODUL 1 Pembelajaran Kelas Rangkap-compressed.pdf
MODUL 1 Pembelajaran Kelas Rangkap-compressed.pdfMODUL 1 Pembelajaran Kelas Rangkap-compressed.pdf
MODUL 1 Pembelajaran Kelas Rangkap-compressed.pdfNurulHikmah50658
 
Materi Sosiologi Kelas X Bab 1. Ragam Gejala Sosial dalam Masyarakat (Kurikul...
Materi Sosiologi Kelas X Bab 1. Ragam Gejala Sosial dalam Masyarakat (Kurikul...Materi Sosiologi Kelas X Bab 1. Ragam Gejala Sosial dalam Masyarakat (Kurikul...
Materi Sosiologi Kelas X Bab 1. Ragam Gejala Sosial dalam Masyarakat (Kurikul...asepsaefudin2009
 
aksi nyata penyebaran pemahaman merdeka belajar
aksi nyata penyebaran pemahaman merdeka belajaraksi nyata penyebaran pemahaman merdeka belajar
aksi nyata penyebaran pemahaman merdeka belajarHafidRanggasi
 
vIDEO kelayakan berita untuk mahasiswa.ppsx
vIDEO kelayakan berita untuk mahasiswa.ppsxvIDEO kelayakan berita untuk mahasiswa.ppsx
vIDEO kelayakan berita untuk mahasiswa.ppsxsyahrulutama16
 
CAPACITY BUILDING Materi Saat di Lokakarya 7
CAPACITY BUILDING Materi Saat di Lokakarya 7CAPACITY BUILDING Materi Saat di Lokakarya 7
CAPACITY BUILDING Materi Saat di Lokakarya 7IwanSumantri7
 
Keterampilan menyimak kelas bawah tugas UT
Keterampilan menyimak kelas bawah tugas UTKeterampilan menyimak kelas bawah tugas UT
Keterampilan menyimak kelas bawah tugas UTIndraAdm
 
Hiperlipidemiaaaaaaaaaaaaaaaaaaaaaaaaaaa
HiperlipidemiaaaaaaaaaaaaaaaaaaaaaaaaaaaHiperlipidemiaaaaaaaaaaaaaaaaaaaaaaaaaaa
Hiperlipidemiaaaaaaaaaaaaaaaaaaaaaaaaaaafarmasipejatentimur
 
PERAN PERAWAT DALAM PEMERIKSAAN PENUNJANG.pptx
PERAN PERAWAT DALAM PEMERIKSAAN PENUNJANG.pptxPERAN PERAWAT DALAM PEMERIKSAAN PENUNJANG.pptx
PERAN PERAWAT DALAM PEMERIKSAAN PENUNJANG.pptxRizkyPratiwi19
 
PPT Penjumlahan Bersusun Kelas 1 Sekolah Dasar
PPT Penjumlahan Bersusun Kelas 1 Sekolah DasarPPT Penjumlahan Bersusun Kelas 1 Sekolah Dasar
PPT Penjumlahan Bersusun Kelas 1 Sekolah Dasarrenihartanti
 

Kürzlich hochgeladen (20)

REFLEKSI MANDIRI_Prakarsa Perubahan BAGJA Modul 1.3.pdf
REFLEKSI MANDIRI_Prakarsa Perubahan BAGJA Modul 1.3.pdfREFLEKSI MANDIRI_Prakarsa Perubahan BAGJA Modul 1.3.pdf
REFLEKSI MANDIRI_Prakarsa Perubahan BAGJA Modul 1.3.pdf
 
Modul Ajar Pendidikan Pancasila Kelas 5 Fase C
Modul Ajar Pendidikan Pancasila Kelas 5 Fase CModul Ajar Pendidikan Pancasila Kelas 5 Fase C
Modul Ajar Pendidikan Pancasila Kelas 5 Fase C
 
Prakarsa Perubahan ATAP (Awal - Tantangan - Aksi - Perubahan)
Prakarsa Perubahan ATAP (Awal - Tantangan - Aksi - Perubahan)Prakarsa Perubahan ATAP (Awal - Tantangan - Aksi - Perubahan)
Prakarsa Perubahan ATAP (Awal - Tantangan - Aksi - Perubahan)
 
PELAKSANAAN + Link-Link MATERI Training_ "Effective INVENTORY & WAREHOUSING...
PELAKSANAAN  + Link-Link MATERI Training_ "Effective INVENTORY &  WAREHOUSING...PELAKSANAAN  + Link-Link MATERI Training_ "Effective INVENTORY &  WAREHOUSING...
PELAKSANAAN + Link-Link MATERI Training_ "Effective INVENTORY & WAREHOUSING...
 
Bab 7 - Perilaku Ekonomi dan Kesejahteraan Sosial.pptx
Bab 7 - Perilaku Ekonomi dan Kesejahteraan Sosial.pptxBab 7 - Perilaku Ekonomi dan Kesejahteraan Sosial.pptx
Bab 7 - Perilaku Ekonomi dan Kesejahteraan Sosial.pptx
 
MODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKA
MODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKAMODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKA
MODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKA
 
PPT AKUNTANSI KEUANGAN MENENGAH DUA.pptx
PPT AKUNTANSI KEUANGAN MENENGAH DUA.pptxPPT AKUNTANSI KEUANGAN MENENGAH DUA.pptx
PPT AKUNTANSI KEUANGAN MENENGAH DUA.pptx
 
ppt-akhlak-tercela-foya-foya-riya-sumah-takabur-hasad asli.ppt
ppt-akhlak-tercela-foya-foya-riya-sumah-takabur-hasad asli.pptppt-akhlak-tercela-foya-foya-riya-sumah-takabur-hasad asli.ppt
ppt-akhlak-tercela-foya-foya-riya-sumah-takabur-hasad asli.ppt
 
Modul Ajar Bahasa Indonesia Kelas 4 Fase B
Modul Ajar Bahasa Indonesia Kelas 4 Fase BModul Ajar Bahasa Indonesia Kelas 4 Fase B
Modul Ajar Bahasa Indonesia Kelas 4 Fase B
 
PELAKSANAAN + Link2 Materi BimTek _PTK 007 Rev-5 Thn 2023 (PENGADAAN) & Perhi...
PELAKSANAAN + Link2 Materi BimTek _PTK 007 Rev-5 Thn 2023 (PENGADAAN) & Perhi...PELAKSANAAN + Link2 Materi BimTek _PTK 007 Rev-5 Thn 2023 (PENGADAAN) & Perhi...
PELAKSANAAN + Link2 Materi BimTek _PTK 007 Rev-5 Thn 2023 (PENGADAAN) & Perhi...
 
LATAR BELAKANG JURNAL DIALOGIS REFLEKTIF.ppt
LATAR BELAKANG JURNAL DIALOGIS REFLEKTIF.pptLATAR BELAKANG JURNAL DIALOGIS REFLEKTIF.ppt
LATAR BELAKANG JURNAL DIALOGIS REFLEKTIF.ppt
 
MODUL 1 Pembelajaran Kelas Rangkap-compressed.pdf
MODUL 1 Pembelajaran Kelas Rangkap-compressed.pdfMODUL 1 Pembelajaran Kelas Rangkap-compressed.pdf
MODUL 1 Pembelajaran Kelas Rangkap-compressed.pdf
 
Materi Sosiologi Kelas X Bab 1. Ragam Gejala Sosial dalam Masyarakat (Kurikul...
Materi Sosiologi Kelas X Bab 1. Ragam Gejala Sosial dalam Masyarakat (Kurikul...Materi Sosiologi Kelas X Bab 1. Ragam Gejala Sosial dalam Masyarakat (Kurikul...
Materi Sosiologi Kelas X Bab 1. Ragam Gejala Sosial dalam Masyarakat (Kurikul...
 
aksi nyata penyebaran pemahaman merdeka belajar
aksi nyata penyebaran pemahaman merdeka belajaraksi nyata penyebaran pemahaman merdeka belajar
aksi nyata penyebaran pemahaman merdeka belajar
 
vIDEO kelayakan berita untuk mahasiswa.ppsx
vIDEO kelayakan berita untuk mahasiswa.ppsxvIDEO kelayakan berita untuk mahasiswa.ppsx
vIDEO kelayakan berita untuk mahasiswa.ppsx
 
CAPACITY BUILDING Materi Saat di Lokakarya 7
CAPACITY BUILDING Materi Saat di Lokakarya 7CAPACITY BUILDING Materi Saat di Lokakarya 7
CAPACITY BUILDING Materi Saat di Lokakarya 7
 
Keterampilan menyimak kelas bawah tugas UT
Keterampilan menyimak kelas bawah tugas UTKeterampilan menyimak kelas bawah tugas UT
Keterampilan menyimak kelas bawah tugas UT
 
Hiperlipidemiaaaaaaaaaaaaaaaaaaaaaaaaaaa
HiperlipidemiaaaaaaaaaaaaaaaaaaaaaaaaaaaHiperlipidemiaaaaaaaaaaaaaaaaaaaaaaaaaaa
Hiperlipidemiaaaaaaaaaaaaaaaaaaaaaaaaaaa
 
PERAN PERAWAT DALAM PEMERIKSAAN PENUNJANG.pptx
PERAN PERAWAT DALAM PEMERIKSAAN PENUNJANG.pptxPERAN PERAWAT DALAM PEMERIKSAAN PENUNJANG.pptx
PERAN PERAWAT DALAM PEMERIKSAAN PENUNJANG.pptx
 
PPT Penjumlahan Bersusun Kelas 1 Sekolah Dasar
PPT Penjumlahan Bersusun Kelas 1 Sekolah DasarPPT Penjumlahan Bersusun Kelas 1 Sekolah Dasar
PPT Penjumlahan Bersusun Kelas 1 Sekolah Dasar
 

Pemrogaman Visual Basic.NET (Modul 1)

  • 1. Bahasa pemrograman VB.NET Hendra, S.T. Bahasa Pemrograman VB.Net Oleh : Hendra, ST. Buku ini membahas tentang bahasa pemrograman Visual Basic .Net, dan ditujukan kepada siapa saja yang serius untuk mempelajari bahasa pemrograman VB.Net. Untuk memfokuskan 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, tetapi anda cukup menginstalasi .Net Framework yang dapat didownload secara gratis dari website Microsoft. Semua contoh dan latihan dibuku ini dapat dikompilasi langsung dari Dos prompt dengan menggunakan kompiler Visual Basic yang langsung tersedia setelah anda menginstalasi .Net Framework. INDOPROG 1
  • 2. Bahasa pemrograman VB.NET Hendra, S.T. Dasar program Visual Basic Program VB.NET anda yang pertama. Sebagaimana tradisi dari proses belajar pemrograman komputer adalah membuat sebuah program Hello World yang memiliki struktur yang paling sederhana sehingga kita dengan mudah 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 menyimpannya dengan ekstension .vb). Proses Kompilasi Agar program yang kita buat diatas dapat dijalankan oleh komputer, maka diperlukan suatu kompiler untuk menterjemahkan perintah-perintah yang telah kita buat menjadi instruksi yang dapat dikenali oleh sistem komputer. Kompiler Visual Basic dapat diperoleh dengan melakukan instalasi Microsoft .NET framework sdk v1.1. Sesaat setelah instalasi .NET framework, maka kompiler VB telah tersedia pada komputer anda, dan proses kompilasi dapat dilakukan dengan : 1. Mengatur path environment pada Command Prompt path=%path%;c:windowsmicrosoft.netframeworkv1.1.4322 2. Selanjutnya anda dapat mengkompilasi program anda dengan perintah : Vbc <nama file>.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 INDOPROG 2
  • 3. Bahasa pemrograman VB.NET Hendra, S.T. 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 suatu hello.exe yang dapat dijalankan langsung pada Command Prompt. Sesuatu hal yang perlu anda pahami adalah file hello.exe hanya dapat dijalankan pada komputer yang sudah terinstalasi Microsoft .NET framework. Kemudian suatu hal yang perlu anda ketahui adalah file hello.exe bukanlah berisi binari yang merupakan kode mesin, melainkan merupakan binari yang berisi Intermediate Language (IL) yang pada saat dijalankan akan dikompilasi menjadi bahasa mesin oleh kompiler Just In Time (JIT) yang terdapat pada Common Language Runtime (CLR) yang merupakan salah satu komponen dari .NET framework. Struktur program Visual Basic Sebagai bahasa yang telah dirancang kembali dari awal, suatu program Visual Basic memiliki urutan berikut yang merupakan struktur dari program: 1. Option statements 2. Imports statements 3. 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 dalam program 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 pernah dideklarasikan. Option Explicit On INDOPROG 3
  • 4. Bahasa pemrograman VB.NET Hendra, S.T. Module Modmain Sub Main() a = 100000 End Sub End Module Yang 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~1coba.vb(5) : error BC30451: Name 'a' is not declared. a = 100000 Agar terhindar dari kesalahan maka variabel a harus dideklarasikan terlebih dahulu sesuai dengan 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 nilai implicit yang berpotensi menyebabkan kehilangan data (default adalah Off), misalnya kita memasukan nilai dari suatu variabel dengan tipe data yang lebih lebar ke variabel dengan tipe data yang lebih sempit (lihat pada kolom nominal storage allocation pada tabel tipe data). Contoh : Option Explicit On Option Strict On Module Hello Sub Main() Dim a As Integer Dim b As Short a = 100000 b = a End Sub End Module INDOPROG 4
  • 5. Bahasa pemrograman VB.NET Hendra, S.T. Yang jika dikompilasi akan menyebabkan pesan kesalahan berikut ini karena variabel b yang bertipe short (16 bit), tidak dimungkinkan menampung nilai dari tipe integer (32 bit), yang memiliki potensi kehilangan data pada saat runtime, sehingga pemakaian Option 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~1coba.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 Off Module 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 akan menimbulkan runtime error (System.OverflowException), karena variabel a yang bertipe short hanya memiliki jangkauan daya tampung dari -32767 s/d 32768. INDOPROG 5
  • 6. Bahasa pemrograman VB.NET Hendra, S.T. Option Compare Perintah Option Compare Binary/Text akan menentukan bagaimana bertipe data string akan 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 berdasarkan nilai biner dari masing-masing data string (lihat aturan untuk Binary). INDOPROG 6
  • 7. Bahasa pemrograman VB.NET Hendra, S.T. 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" dianggap sama 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 sebagai berikut. 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 cukup Console.WriteLine, karena kita telah melakukan Imports System. Main Procedure Procedure Main merupakan titik awal dari program anda – merupakan procedure yang pertama kali dieksekusi ketika anda menjalankan kode anda. Jadi apa yang ingin anda jalankan pertama kali pada program anda ditempatkan pada procedure main ini. Ada empat cara penulisan Main, yaitu sebagai Sub atau Function yang memiliki parameter atau tidak. INDOPROG 7
  • 8. Bahasa pemrograman VB.NET Hendra, S.T. • 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 contoh yang 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)) Next End 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 bertipe string. Catatan : Index Array dimulai dari 0, sehingga pada contoh diatas looping dimulai dari 0 s/d CmdArgs.Length()-1. Program yang menggunakan parameter jarang digunakan pada lingkungan Windows, dan sering digunakan pada program di lingkungan Console. Pemberian komentar Jika kita hari ini membuat program, dan pada saat yang sama semua logika serta rumusan dapat kita ingat dengan baik, tetapi bagaimana kalau kita membaca kembali program yang pernah kita buat untuk 3 bulan yang lalu, apakah anda masih mengingatnya ? Bagaimana kita membuat program kita mudah di pahami kembali ? Tentu saja dengan memberikan keterangan secukupnya. INDOPROG 8
  • 9. Bahasa pemrograman VB.NET Hendra, S.T. 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 type data yang dapat digunakan oleh pemrogram sesuai dengan konteks pemakaiannya. Type data pada Visual Basic dibagi atas dua kelompok besar yaitu Value Type (Tipe data primitif) dan Reference (String, Array dan Objek). Berikut ini adalah tabel tipe data pada VB disertai dengan alokasi storage yang dibutuhkan serta jangkauan nilai yang dapat ditampung oleh masing-masing tipe. Visual Basic Common language Nominal Value range type runtime type storage structure allocation 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:59 PM on December 31, 9999. Decimal System.Decimal 16 bytes 0 through +/- 79,228,162,514,264,337,593,543,950,335 with no decimal point; 0 through +/- 7.9228162514264337593543950335 with 28 places to the right of the decimal; smallest nonzero number is +/-0.0000000000000000000000000001 (+/- 1E-28). Double System.Double 8 bytes -1.79769313486231570E+308 through (double- -4.94065645841246544E-324 for negative precision values; 4.94065645841246544E-324 through floating-point) 1.79769313486231570E+308 for positive values. Integer System.Int32 4 bytes -2,147,483,648 through 2,147,483,647. Long System.Int64 8 bytes -9,223,372,036,854,775,808 through (long integer) 9,223,372,036,854,775,807. Object System.Object (class) 4 bytes Any type can be stored in a variable of type Object. Short System.Int16 2 bytes -32,768 through 32,767. Single System.Single 4 bytes -3.4028235E+38 through -1.401298E-45 for (single- negative values; 1.401298E-45 through precision 3.4028235E+38 for positive values. floating-point) String System.String (class) Depends on 0 to approximately 2 billion Unicode characters. (variable- implementing length) platform User- (inherits from Depends on Each member of the structure has a range Defined System.ValueType) implementing determined by its data type and independent of Type platform the ranges of the other members. INDOPROG 9
  • 10. Bahasa pemrograman VB.NET Hendra, S.T. (structure) Walaupun dewasa ini, memori dan media penyimpanan data tidak menjadi masalah seperti pada awal kelahiran komputer, tetapi hendaklah programmer bijaksana dalam pemakaian type data berkaitan dengan perfomance yang dihasilkan. Deklarasi Variabel Pemrogram yang baik tentu saja menggunakan pendekatan yang terstruktur dalam pengembangan program, salah satu ciri dari program yang terstruktur adalah mendeklarasikan semua variabel yang digunakan dalam program. Pada Visual Basic printah Dim digunakan untuk mendeklarasikan variabel dan memberikan 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 tidak anda akan mendapatkan kesalahan kompiler, karena default setting Explicit pada Visual Basic adalah Option Explicit On. Kemudian Jika anda tidak memberikan nilai awal pada suatu variabel pada dideklarasikan, 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, suatu kesalahan 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 tertentu seperti Cbool, Cbyte, Cchar, Cdate, Cdec, CDbl, Cint, CLng, Cobj, Cshort, CSng, CStr. INDOPROG 10
  • 11. Bahasa pemrograman VB.NET Hendra, S.T. Contoh : Module Test Sub Main() Dim intValue As Integer = 123 Dim 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 konversi dari tipe yang lebih lebar ke tipe yang lebih sempit (Misalnya dari Integer 32 bit ke Short 16 bit) diperbolehkan oleh kompiler atau tidak. Contoh berikut akan melakukan konversi dari Integer 32 bit ke Short 16 bit. Option Strict On Option Explicit On Imports System Public Module ModKali Sub Main() Dim i, j As Byte Dim a As Integer = 40000 Dim b As Short b = a Console.WriteLine(b) End Sub End Module Yang kalau dikompilasi akan menghasilkan error 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~1kali.vb(10) : error BC30512: Option Strict On disallows INDOPROG 11
  • 12. Bahasa pemrograman VB.NET Hendra, S.T. 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 : Option Strict On Option Explicit On Imports System Public Module ModKali Sub Main() Dim i, j As Byte Dim a As Integer = 40000 Dim b As Short b = System.Convert.ToInt16(a) Console.WriteLine(b) End Sub End Module Tetapi karena nilai 40000 tidak dapat ditampung oleh type data short, maka akan menghasilkan error pada saat runtime : System.OverflowException. Konversi data secara Explicit dapat juga memanfaatkan fungsi bantu casting yang terdapat 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 yang lebih baik seperti yang ditunjukan oleh tabel berikut ini adalah hasil konversi dengan Integer.Pars, Convert.ToInt32, dibandingkan dengan CInt INDOPROG 12
  • 13. Bahasa pemrograman VB.NET Hendra, S.T. 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 dari pekerjaan pemrograman, adapun operator pada Visual Basic adalah sebagai berikut : Operator aritmatika : *, /, , ^, Mod, +, dan – Operator relasi : =, <>, <, >, <=, and >= Catatan : Pada tipe data string, prilaku perbandingan sangat dipengaruhi oleh setting dari Option Compare. (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 hasil ekspresi tersebut adalah False. Sebaliknya, suatu operasi logika And dilakukan terhadap kedua operand. • Jika operand pertama dari operasi OrElse adalah True, maka hasil ekspresi adalah True. Sebaliknya, suatu operasi logika Or akan dilakukan terhadap kedua operand. Operator pengabungan : & Operator bit shift : << dan >> Contoh : Dim Pattern As Short = 192 ' Bit pattern is 0000 0000 1100 0000. Dim Result1, Result2, Result3, Result4, Result5 As Short INDOPROG 13
  • 14. Bahasa pemrograman VB.NET Hendra, S.T. Result1 = Pattern << 0 ' Result is 192 (0000 0000 1100 0000). Result2 = Pattern << 4 ' Result is 3072 (0000 1100 0000 0000). Result3 = Pattern << 9 ' Result is -32768 (1000 0000 0000 0000). Result4 = Pattern << 17 ' Result is 384 (0000 0001 1000 0000). Result5 = Pattern << -1 ' Result is 0 (shifted 15 places to left). Dim Pattern As Short = 2560 ' Bit pattern is 0000 1010 0000 0000. Dim Result1, Result2, Result3, Result4, Result5 As Short 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 1100 0000 (16 bit). Kemudian hal lain yang perlu diketahui adalah bit mask untuk masing-masing tipe data adalah 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 dengan shift 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 (0–9). • 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. INDOPROG 14
  • 15. Bahasa pemrograman VB.NET Hendra, S.T. myCheck = "aBBBa" Like "a*a" Does "aBBBa" have a "a" at the beginning, an "a" at the end, and any number of characters in between? Returns True. myCheck = "F" Like "[A-Z]" Does "F" occur in the set of characters from A to Z? Returns True. myCheck = "F" Like "[!A-Z]" Does "F" NOT occur in the set of characters from A to Z? Returns False. myCheck = "a2a" Like "a#a" Does "a2a" begin and end with an "a" and have any single-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 finally contains any character excluded from the character set c through e. Returns True. myCheck = "BAT123khg" Like "B?T*" Does "BAT123khg" fit the following pattern: Begins with "B", followed by any single character, followed by a "T" and finally zero or more characters of any type. Returns True myCheck = "CAT123khg" Like "B?T*" Does "CAT123khg" fit the following pattern: Begins with "B", followed by any single character, followed by a "T" and finally zero or more characters of any type. Returns False. Operator assignment : =, ^=, *=, /=, =, +=, -=, <<=, >>=, &= Contoh : Dim a As Integer = 2 Dim b As Integer = 3 a += 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 dari operator, pada Visual Basic menggunakan urutan operasi berikut ini : Operator Aritmatika dan Pengabungan Exponentiation (^) Unary negation (–) Multiplication and division (*, /) Integer division () Modulus arithmetic (Mod) Addition and subtraction (+, –), string concatenation (+) String concatenation (&) Arithmetic bit shift (<<, >>) Operator Perbandingan All comparison operators (=, <>, <, <=, >, >=, Like, Is, TypeOf...Is) Operator Logika dan Bitwise Negation (Not) Conjunction (And, AndAlso) Disjunction (Or, OrElse, Xor) INDOPROG 15
  • 16. Bahasa pemrograman VB.NET Hendra, S.T. 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.0 F = 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 kesalahan dalam 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 biasanya konstanta dideklarasikan pada awal program, sehingga jika terjadi perubahan besaran pada konstanta, kita cukup mengubahnya pada awal program tanpa harus memeriksa koding 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 antara variabel dengan konstanta, dan penamaan konstanta hendaknya disesuaikan dengan konteks yang diwakili oleh konstanta tersebut. Enumerated pada VB.NET Pemakaian enumerated type akan sangat membantu dalam pekerjaan pemrograman sehingga menjadi lebih mudah ditulis, dibaca, dan dimaintain dari pada menggunakan tipe data primitif. Public Enum InterfaceColors MistyRose = &HE1E4FF& SlateGray = &H908070& DodgerBlue = &HFF901E& DeepSkyBlue = &HFFBF00& SpringGreen = &H7FFF00& ForestGreen = &H228B22& Goldenrod = &H20A5DA& INDOPROG 16
  • 17. Bahasa pemrograman VB.NET Hendra, S.T. Firebrick = &H2222B2& End Enum Perintah input Output Console Salah satu bentuk program yang dapat dikembangkan dengan menggunakan Visual Basic adalah program Console. Program Console adalah program yang menggunakan basis teks pada lingkungan Command Prompt (bentuk ini tidak tersedia pada Visual Basic versi sebelumnya). Program Console adalah salah satu fasilitas yang sangat memudahkan bagi pemula yang ingin mempelajari bahasa Visual Basic dengan baik, karena program Console menggunakan perintah I/O yang cukup sederhana dan bersih dari perintah input output yang 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 akan diakhiri dengan suatu Carriage Return. Format pada WriteLine Visual Basic telah melengkapi berbagai fasilitas format yang sangat berguna untuk melakukan pencetakan data, terutama data type numerik yang kadang-kadang perlu diformat sedemikian rupa untuk memudahkan pembacaan. Format pencetakan pada WriteLine dapat menggunakan place holder {x}, dimana x adalah 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) INDOPROG 17
  • 18. Bahasa pemrograman VB.NET Hendra, S.T. Masing-masing akan menghasilkan The number is 10 The result of 3 + 7 = 10 See decimal 0.1 See decimal 0.123456789 The value is 001.23 The 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.0000 P 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 : Option Explicit On Public Module modmain Sub Main() Dim Panjang As System.Int32 Dim Lebar As System.Int32 Dim Luas As System.Int64 System.Console.Write("Masukkan Panjang :") INDOPROG 18
  • 19. Bahasa pemrograman VB.NET Hendra, S.T. 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()) End Sub End Module atau Option Explicit On Imports System Public Module modmain Sub Main() Dim Panjang As Integer Dim Lebar As Integer Dim Luas As Long 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()) End Sub End Module Simpan dengan nama file persegi.vb Set path=%path%;c:windowsmicrosoft.netframeworkv1.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 pemakaian konstanta. Option Explicit On Imports System Public Module lingkaran Const PI As Single = 3.14 Sub Main() Dim R As Single Dim Luas As Double INDOPROG 19
  • 20. Bahasa pemrograman VB.NET Hendra, S.T. Console.Write("Masukkan Jari-jari :") R = Console.ReadLine() Luas = PI * R^2 Console.WriteLine("Luas : {0, 10:f2}",Luas)'10 tempat 2 desimal End Sub End Module INDOPROG 20
  • 21. Bahasa pemrograman VB.NET Hendra, S.T. Struktur Keputusan dan Perulangan Perintah If...Then...Else Salah satu tujuan pemrograman komputer adalah mengambil tugas rutin manusia untuk dalam mengambil keputusan-keputusan yang dapat diprogram. Misalnya seorang Dosen dalam menentukan Grade (A,B,C,D, atau E) nilai akhir mahasiswa dengan kondisi sebagai berikut : Jika Nilai >= 85 Kemudian Cetak "A" Jika tidak dan Jika Nilai >= 70 Kemudian Cetak "B" Jika tidak dan Jika Nilai >= 60 Kemudian Cetak "C" Jika tidak dan Jika Nilai >= 25 Kemudian Cetak "D" Jika tidak Cetak "E" Akhir dari keputusan Logika keputusan diatas dapat diprogram pada Visual Basic dengan menggunakan syntax penulisan sebagai berikut : If condition [ Then ] [ statements ] [ ElseIf elseifcondition [ Then ] [ elseifstatements ] ] [ Else [ elsestatements ] ] End If Contoh : Option Explicit On Imports System Module ModIf Sub Main() Dim Nilai As Single 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") INDOPROG 21
  • 22. Bahasa pemrograman VB.NET Hendra, S.T. Else Console.WriteLine("E") End If End Sub End Module Perintah Select...Case Jika statement If melakukan pemilihan berdasarkan kondisi, maka perintah Select melakukan pemilihan berdasarkan nilai ekspresi dengan syntax sebagai berikut : Select [ Case ] testexpression [ Case expressionlist [ statements ] ] [ Case Else [ elsestatements ] ] End Select Contoh : Option Explicit On Imports System Module ModHari Sub Main() Dim Hari As Byte Console.Write("Masukkan No Hari :") Hari = Console.ReadLine() Select Case 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") Case Else Console.WriteLine("No Hari tidak sah") End Select End Sub End Module Contoh Lain : Option Explicit On Imports System Module ModHari Sub Main() INDOPROG 22
  • 23. Bahasa pemrograman VB.NET Hendra, S.T. Dim Angka As Integer Console.Write("Masukkan Angka 1 s/d 9 :") Angka = Console.ReadLine() Select Case Angka Case Is < 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") Case Else Console.WriteLine("Terlalu besar") End Select End Sub End Module Perintah For...Next Salah satu keunggulan komputer dibandingkan dengan manusia adalah dapat mengerjakan sesuatu secara berulang-ulang tanpa mengalami penurunan kualitas terhadap hasil kerja. Salah satu perintah perulangan di Visual Basic ada For…Next Statements yang merupakan perulangan dengan menggunakan sistem counter dengan menggunakan syntax sebagai berikut : For counter [ As datatype ] = start To end [ Step step ] [ statements ] [ Exit For ] [ statements ] Next [ counter ] Contoh : Dim I As Integer For I = 1 To 100 'Defaultnya Step 1 Console.WriteLine(I) Next I Atau For I As Integer = 1 To 100 'Defaultnya Step 1 Console.WriteLine(I) Next I Akan mencetak daftar bilangan 1 s/d 100 Catatan : Dari segi looping pemakaian : Dim I As Integer INDOPROG 23
  • 24. Bahasa pemrograman VB.NET Hendra, S.T. For I = 1 To 100 'Defaultnya Step 1 Console.WriteLine(I) Next I Tidak berbeda dengan For I As Integer = 1 To 100 'Defaultnya Step 1 Console.WriteLine(I) Next I Tapi jika ditinjau dari lingkup pemakaian variabel, maka variabel I pada contoh pertama adalah variabel local Sub Main, sedangkan variabel I pada contoh kedua adalah variable local untuk blok looping. Contoh : Dim I As Integer For I = 1 To 100 'Defaultnya Step 1 Console.WriteLine(I) Next I Console.WriteLine(I) 'Akan tercetak 101 Sedangkan For I As Integer = 1 To 100 'Defaultnya Step 1 Console.WriteLine(I) Next I Console.WriteLine(I) 'Terjadi error pada saat kompilasi Dimana pesan error adalah error BC30451: Name I is not declared. Dim I As Integer For 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 berupa bilangan floating point. For I As Single = 1 To 10 Step 0.1 Console.WriteLine(I) Next I Akan mencetak daftar bilangan 1, 1.1, 1.2, 1.3, …,10 INDOPROG 24
  • 25. Bahasa pemrograman VB.NET Hendra, S.T. 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 -1 Console.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 perintah Exit 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. Option Explicit On Imports System Module ModPass Sub Main() Dim I As Integer Dim Pass As String For I = 1 To 3 Step 1 Console.Write("Password :") Pass = Console.ReadLine() If Pass.ToUpper() ="INDOPROG" Then 'Jika Password Benar Exit For 'Keluar dari Looping End If Next I If I > 3 Then Console.WriteLine("Proses Login Gagal !") Else Console.WriteLine("Welcome !") End If End Sub End Module Perintah Do...Loop Jika perintah For … Next melakukan looping berdasarkan counter, maka perintah Do … Loop melakukan looping berdasarkan kondisi, adapun tata cara penulisannya adalah sebagai berikut : Do { While | Until } condition [ statements ] [ Exit Do ] [ statements ] Loop INDOPROG 25
  • 26. Bahasa pemrograman VB.NET Hendra, S.T. Atau Do [ statements ] [ Exit Do ] [ statements ] Loop { While | Until } condition Perbedaan antara kedua struktur perulangan diatas adalah posisi pemeriksaan kondisi yang akan diuji, pada struktur yang pertama pengujian kondisi dilakukan sebelum statements dikerjakan, sedangkan pada struktur yang kedua pengujuan dilakukan setelah statement dikerjakan. Sebagaimana dengan Exit For, perintah Exit Do akan mengakhiri Looping tanpa bersyarat, yang artinya jika perintah Exit Do ditemukan, maka proses Looping akan segera dihentikan dan dilanjutkan ke Statement dibawah Loop. Contoh : Option Explicit On Imports System Module DoLoop Sub Main() Dim Dat() As Integer Dim Jd,DTemp As Integer Jd = 0 Do Console.Write("Data Ke-{0} :", Jd+1) DTemp = Console.ReadLine() If DTemp <> 0 Then ReDim Preserve Dat(Jd) Dat(Jd) = DTemp Jd+=1 End If Loop Until DTemp = 0 'Ulangi sampai Dtemp diisi 0 For I As Integer = 0 To Jd-1 Console.WriteLine("Data Ke-{0} adalah {1}",I+1, Dat(I)) Next I End Sub End Module Pada contoh diatas, mula-mula kita mendeklarasikan suatu array tanpa diikuti dengan ukuran, kemudian proses akan dilanjutkan dengan pembacaan data ke variabel Dtemp, dab jika nilai Dtemp bukan 0 (nol), maka ukuran array akan dialokasi ulang dengan perintah ReDim Preserve yang akan mempertahankan isi array, dan pembacaan data akan terus diulang sampai Dtemp diisi dengan 0 (nol). INDOPROG 26
  • 27. Bahasa pemrograman VB.NET Hendra, S.T. Selain struktur Do…Loop, juga tersedia perintah perulangan dengan tata cara penulisan sebagai berikut. While condition [ statements ] End While Pada prinsipnya struktur While … End While sama dengan Do While … Loop. Perintah For Each...Next Perintah For Each…Next digunakan untuk melakukan iterasi berdasarkan collection tertentu, misalnya kita ingin mencetak semua elemen dalam suatu array, penulisan dengan perintah For Each dapat dilakukan sebagai berikut : For Each element [ As datatype ] In group [ statements ] [ Exit For ] [ statements ] Next [ element ] Contoh : Option Explicit On Imports System Module DoLoop Sub Main() Dim Dat() As Integer Dim Jd,DTemp As Integer Jd = 0 Do Console.Write("Data Ke-{0} :", Jd+1) DTemp = Console.ReadLine() If DTemp <> 0 Then ReDim Preserve Dat(Jd) Dat(Jd) = DTemp Jd+=1 End If Loop Until DTemp = 0 For Each Data As Integer In Dat Console.WriteLine("Data pada array {0}", Data) Next End Sub End Module Array pada Visual Basic merupakan collection pada System.Array, sehingga pemakaian perintah For Each akan mendapatkan elemen 0 s/d element terakhir dari array. INDOPROG 27
  • 28. Bahasa pemrograman VB.NET Hendra, S.T. Latihan : 1. Buatlah program mencetak tabel perkalian 1x1 = 1 s/d 10 x 10 = 100 Option Explicit On Imports System Public Module ModKali Sub Main() Dim i, j As Byte 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 End Sub End Module. 2. Buatlah program untuk konversi data desimal ke binary dengan pemakaian operator bit shift Option Explicit On Imports System Module ModBiner Sub Main() Dim D As Integer Dim I As Short 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) End If Next End Sub End Module 3. Buatlah program yang menentukan bilangan bulat yang dimasukan pemakai Genap atau Ganjil. 4. Buatlah program yang menentukan tahun yang dimasukan pemakai termasuk tahun Kabisat atau bukan. 5. Buatlah program yang mencetak barisan bilangan fibonacci sesuai dengan jumlah suku yang ditentukan oleh pemakai. 6. Buatlah program yang menentukan bilangan bulat yang dimasukan pemakai Prima atau bukan. INDOPROG 28
  • 29. Bahasa pemrograman VB.NET Hendra, S.T. 7. Buatlah program yang dapat mencetak faktor prima dari suatu bilangan bulat (Contoh 100 = 2 x 2 x 5 x 5) INDOPROG 29
  • 30. Bahasa pemrograman VB.NET Hendra, S.T. Array pada Visual Basic Deklarasi variabel Array Sebagaimana yang telah disinggung pada bagian 1 bahwa tipe data pada Visual Basic terbagai atas dua kelompok yaitu Value Type dan Reference. Suatu array merupakan Reference Type yang mengandung banyak variabel-variabel yang dapat diakses satu persatu sesuai dengan urutannya dalam array, dimana indexnya dimulai dari 0. Variabel-variabel yang terkandung dalam array disebut juga elemen dari array, dan semuanya harus memiliki tipe yang sama. Setiap tipe array mewarisi (inherits) semua member yang dideklarasikan pada System.Array. Pada contoh berikut ini mendeklarasikan suatu array integer berdimensi tunggal, memberi nilai pada masing-masing elemen array, dan mencetak-nya.: Module Test Sub Main() Dim arr(5) As Integer Dim i As Integer For i = 0 To arr.GetUpperBound(0) arr(i) = i * i Next i For i = 0 To arr.GetUpperBound(0) Console.WriteLine("arr(" & i & ") = " & arr(i)) Next i End Sub End Module Program diatas akan menghasilkan output: arr(0) = 0 arr(1) = 1 arr(2) = 4 arr(3) = 9 arr(4) = 16 Array dapat juga diberi nilai awal pada saat deklarasi dengan penulisan sebagai berikut: Private a As Integer() = { 0, 2, 4, 6, 8 } Atau penulisan yang sama adalah dengan : Private a As Integer() = new Integer() { 0, 2, 4, 6, 8 } Pada contoh berikut membuat array dua dimensi 5 x 2 : INDOPROG 30
  • 31. Bahasa pemrograman VB.NET Hendra, S.T. 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 : Option Explicit On Imports System Imports Microsoft.VisualBasic Public Module ModArr Public Arr(3,3) As Integer Sub Main() Console.WriteLine(Arr.Length()) '16 Console.WriteLine(Arr.LongLength()) '16 Console.WriteLine(Arr.Rank()) '2 End Sub End Module 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 : Option Explicit On Imports System Imports Microsoft.VisualBasic Public Module ModArr INDOPROG 31
  • 32. Bahasa pemrograman VB.NET Hendra, S.T. Public Arr(3,3) As Integer Sub Main() Console.WriteLine(Arr.GetLength(0)) '4 Console.WriteLine(Arr.GetLongLength(0)) '4 End Sub End Module GetLowerBound Mendapatkan nilai index batas bawah Array pada dimensi tertentu. GetUpperBound Mendapatkan nilai index batas atas Array pada dimensi tertentu. Contoh : Option Explicit On Imports System Imports Microsoft.VisualBasic Public Module ModArr Public Arr(3,3) As Integer Sub Main() Console.WriteLine(Arr.GetLowerBound(0)) '0 Console.WriteLine(Arr.GetUpperBound(0)) '3 End Sub End Module IndexOf Mendapatkan index paling awal dari nilai tertentu pada Array 1 dimensi. LastIndexOf Mendapatkan index paling akhir dari nilai tertentu pada Array 1 dimensi. Contoh : Option Explicit On Imports System Imports Microsoft.VisualBasic Public Module ModArr Public Arr() As Integer = {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 End Sub End Module Reverse Membalik urutan element dalam suatu Array 1 dimensi. Option Explicit On INDOPROG 32
  • 33. Bahasa pemrograman VB.NET Hendra, S.T. Imports System Imports Microsoft.VisualBasic Public Module ModArr Public Arr() As Integer = {0,1,2,3,4} Sub Main() Dim I As Integer 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 End Sub End Module Sort Mengurut elemen dalam suatu Array 1 dimensi. Contoh : Option Explicit On Imports System Imports Microsoft.VisualBasic Public Module ModArr Public Arr() As Integer = {0,4,3,1,2} Sub Main() Dim I As Integer For I = Arr.GetLowerBound(0) To Arr.GetUpperBound(0) Console.Write(Arr(I)) '04312 Next I Console.WriteLine() Array.Sort(Arr,0,4) For I = Arr.GetLowerBound(0) To Arr.GetUpperBound(0) Console.Write(Arr(I)) '01234 Next I End Sub End Module BinarySearch Mencari Nilai tertentu pada suatu Array dengan algoritma Binary Search. Option Explicit On Imports System Imports Microsoft.VisualBasic Public Module ModArr Public Arr() As Integer = {0,4,3,1,2} Sub Main() Dim Nilai = 3 INDOPROG 33
  • 34. Bahasa pemrograman VB.NET Hendra, S.T. Array.Sort(Arr,0,4) Console.WriteLine(Array.BinarySearch(Arr,Nilai)) '2 End Sub End Module Perintah Visual Basic untuk Array Visual Basic menyediakan berbagai perintah khusus untuk pengolahan string sebagai berikut :: Perintah ReDim Perintah ReDim digunakan untuk mendefinisi ulang jumlah elemen pada Array dengan atau tanpa mempertahankan data array sebelumnya. ReDim [ Preserve ] name(boundlist) Preserve Sifatnya optional, jika digunakan maka data pada array tersebut akan dipertahankan pada array ukuran baru Contoh : Pada contoh berikut menggunakan perintah ReDim untuk mengalokasi ualang ukuran variabel 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 : Option Explicit On Imports System Module DoLoop INDOPROG 34
  • 35. Bahasa pemrograman VB.NET Hendra, S.T. Sub Main() Dim Dat() As Integer Dim Jd,DTemp As Integer Jd = 0 Do Console.Write("Data Ke-{0} :", Jd+1) DTemp = Console.ReadLine() If DTemp <> 0 Then ReDim Preserve Dat(Jd) Dat(Jd) = DTemp Jd+=1 End If Loop Until DTemp = 0 'Ulangi sampai Dtemp diisi 0 For I As Integer = 0 To Jd-1 Console.WriteLine("Data Ke-{0} adalah {1}",I+1, Dat(I)) Next I End Sub End Module Perintah Erase Perintah Erase digunakan untuk membebaskan array dan memory yang digunakan elemennya, dengan tata cara penulisan sebagai berikut : Erase arraylist 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 perintah ReDim 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 INDOPROG 35
  • 36. Bahasa pemrograman VB.NET Hendra, S.T. Pengolahan data array dapat juga menggunakan beberapa fungsi bantu yang berkaitan dengan array yang tersedia pada Namespace Microsoft.VisualBasic, berikut ini adalah beberapa fungsi bantu tersebut : Fungsi IsArray Mengembalikan nilai Boolean yang menunjukan apakah suatu variabel menunjuk pada suatu array. Pada contoh ini fungsi IsArray memeriksa apakah variabel-variabel mengacu pada suatu array. 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 terendah suatu 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 or Rank is greater than the rank of Array. Fungsi UBound Mengembalikan index yang terbesar dari suatu dimensi pada array. Pada contoh berikut menggunakan fungsi Ubound untuk menentukan index yang terbesar dari suatu dimensi pada array. Dim Highest, MyArray(10, 15, 20), AnyArray(6) as Integer INDOPROG 36
  • 37. Bahasa pemrograman VB.NET Hendra, S.T. 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 menampilkan kembali dalam keadaan berurut dari kecil ke besar, nilai total, rata-rata, nilai terbesar, dan nilai yang terkecil dengan pemanfaatan array. 2. Perbaiki program diatas untuk menampilkan kembali dalam keadaan berurut dari besar ke kecil. 3. Tambahkan kemampuan program untuk mencari suatu nilai yang dimasukan dan menampilkan posisinya dalam array. 4. Buatlah program yang mencetak suatu segitiga Pascal. INDOPROG 37
  • 38. Bahasa pemrograman VB.NET Hendra, S.T. 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 satu usaha yang dapat dilakukan adalah memecah program menjadi kesatuan logika yang lebih kecil dimana proses yang sama dikelompokan menjadi sub program yang diberi nama, dan dapat dipanggil pada saat yang dibutuhkan. Pemakaian function digunakan untuk proses maupun rumus yang perlu mengembalikan nilai kepada pemanggil, adapun tata cara penulisan function adalah sebagai berikut : Function name[(arglist)] [ As type ] [ statements ] [ Exit Function ] [ statements ] End Function Contoh : Option Explicit On Imports System Imports Microsoft.VisualBasic Public Module GenapGanjil Function IsGenap(x As Long) As Boolean If (x Mod 2) = 0 Then Return True Else Return False End If End Function REM program utama Sub Main() Dim bil As Long Console.Write("Masukan Bilangan :") bil = Console.ReadLine() If IsGenap(bil) Then Console.WriteLine("Bilangan {0} adalah Genap",bil) Else Console.WriteLine("Bilangan {0} adalah Ganjil",bil) End If End Sub End Module Defaultnya parameter pada function dikirim secara ByVal, kadang-kadang kita menginginkan proses yang dapat mengembalikan lebih dari satu nilai yang mana dapat dipenuhi dengan menggunakan parameter yang dikirim secara ByRef. INDOPROG 38
  • 39. Bahasa pemrograman VB.NET Hendra, S.T. Misalnya kita ingin menghitung akar persamaan kuadrat dengan menggunakan rumus ABC. Yang mana X1 dan X2 yang kemungkinan akar imaginier, dimana function akan mengembalikan suatu nilai true (ada solusi) atau false (tidak ada solusi). Contoh : Option Explicit On Imports System Imports Microsoft.VisualBasic Public Module AkarKuadrat Function CariAkar(A as Long, B as Long ,C As Long, _ ByRef X1 as single ,ByRef X2 as single) As Boolean Dim D as Long D = B^2 - 4*A*C If D < 0 Then 'Akar Imaginier Return False 'Tidak ada solusi Else X1 = (-B + Math.Sqrt(D))/(2*A) 'argumen X1 X2 = (-B - Math.Sqrt(D))/(2*A) 'argumen X2 Return True 'Ada solusi End If End Function REM program utama Sub Main() Dim A,B,C As Long Dim X1,X2 As Single Console.WriteLine("Mencari akar persamaan kuadrat") Console.Write("Masukan A :") A = Console.ReadLine() Console.Write("Masukan B :") B = Console.ReadLine() Console.Write("Masukan C :") C = Console.ReadLine() If CariAkar(A,B,C,X1,X2) Then Console.WriteLine("Akar X1={0} X2={1}",X1,X2) Else Console.WriteLine("Akar imaginier") End If End Sub End Module Catatan : Perintah Return digunakan untuk mengembalikan nilai ke pemanggil, dan jika suatu Exit Function digunakan, maka function akan mengembali nilai defaut berupa 0 for Byte, Char, Decimal, Double, Integer, Long, Short, and Single; Nothing for Object, String, and all arrays; False for Boolean; and #1/1/0001 12:00 AM# for Date. Jika kita perlu melewatkan suatu array sebagai argumen pada function, maka dapat digunakan keyword ParamArray untuk melewatkan nilai array secara by value, contoh : INDOPROG 39
  • 40. Bahasa pemrograman VB.NET Hendra, S.T. Option Explicit On Imports System Imports Microsoft.VisualBasic Public Module ModArr Function sumArray(ByVal Paramarray Dat() As Byte) Dim Total As Long = 0 For I As Integer = 0 To UBound(Dat) Total += Dat(I) Next I Return Total End Function Dim Digit() As Byte = {0,1,2,3,4,5} Sub Main() Console.WriteLine(sumArray(Digit)) End Sub End Module Sub Statement Pada bagian sebelumnya kita telah membahas tentang function dan pemakaiannya, selanjutnya kita akan melihat Sub yang menyerupai Function, dimana perbedaannya adalah jika function digunakan untuk proses yang mengembalikan nilai kepada pemanggil, sedangkan Sub cenderung digunakan untuk proses yang tidak mengembalikan nilai. Sub name [(arglist)] [ statements ] [ Exit Sub ] [ statements ] End Sub Catatan : Sebagaimana function, sebenarnya sub juga dapat digunakan untuk proses yang mengembalikan nilai melalui argumen yang dikirim secara ByRef. Jika Exit Sub digunakan, maka Sub akan kembali ke pemanggil secara tidak bersyarat. Contoh : Option Explicit On Imports System Imports Microsoft.VisualBasic Public Module ModArr Public Arr() As Integer Public Jd As Byte Sub BacaJd() Console.Write("Masukkan Jumlah Data :") Jd = Console.ReadLine() End Sub Sub BacaData() INDOPROG 40
  • 41. Bahasa pemrograman VB.NET Hendra, S.T. 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 Teknik Rekursi pada Visual Basic Dalam matematika, kita sering menjumpai formula yang mengandung rekursi, misalnya pada perhitungan nilai faktorial dari suatu bilangan yang dapat diformulasikan sebagai berikut : N! = N x (N-1)! Dimana 1! = 1. Sehingga secara pemrograman komputer dapat ditulis sebagai berikut : Option Explicit On Imports System Public Module modFak Function Fak(N as Byte) If (N > 1) Then Return N * Fak(N-1) Else Return 1 End If End Function Sub Main() Console.WriteLine("Faktorial dari {0} adalah {1}",5,Fak(5)) End Sub End Module Latihan : INDOPROG 41
  • 42. Bahasa pemrograman VB.NET Hendra, S.T. 1. Buatlah function IsKabisat yang akan mengembalikan nilai True jika tahun yang dikirim sebagai argumen adalah Kabisat, dan False jika sebaliknya. 2. Buatlah function IsPrima yang akan mendeteksi apakah suatu bilangan yang diberikan adalah Prima atau tidak. 3. Dengan pemanfaatan teknik rekursi, buatlah function yang dapat menghitung suku yang ke n dari barisan fibonacci. 4. Buatlah program yang mencetak faktor prima dari suatu bilangan dengan pemanfaatan Sub secara rekursi. INDOPROG 42
  • 43. Bahasa pemrograman VB.NET Hendra, S.T. 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 suatu karakter 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 pada keyboard standard U.S yang mana sama dengan karakter set yang terdefinisi pada ASCII, kemudian 128 karakter berikutnya (128–255) merupakan karakter spesial, seperti huruf alphabet Latin, accent, simbol mata uang, dan pecahan. Kemudian karakter sisianya digunakan untuk berbagai simbol, termasuk karakter teksual didunia, dan simbol teknis, dan metematika. Pada dasarnya String pada Visual Basic mengacu pada String Class. Contoh : Option Explicit On Imports System Public Module modStr Dim Nama As String = "Hendra Soewarno" Sub Main() Console.WriteLine(Nama.ToUpper()) Console.WriteLine(Nama.ToLower()) End Sub End Module 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 digunakan untuk melakukan pengolahan data String. Public Properties Chars Mendapatkan karakter pada posisi tertentu string. Length Mendapatkan jumlah character dalam string Contoh : Option Explicit On Imports System Public Module modStr INDOPROG 43
  • 44. Bahasa pemrograman VB.NET Hendra, S.T. Dim Nama As String = "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 End Sub End Module 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 dan belakang string TrimEnd Mengembalikan string dengan membuang spasi dibelakang string TrimStart Mengembalikan string dengan membuang spasi didepan string Substring Mengembalikan bagian dari string Contoh : Option Explicit On Imports System Public Module modStr Dim Nama As String = "Hendra Soewarno" Dim Kota As String = " 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_____ INDOPROG 44
  • 45. Bahasa pemrograman VB.NET Hendra, S.T. Console.WriteLine(Kota.Trim()) 'Medan Console.WriteLine(Nama.SubString(3,3)) 'dra End Sub End Module Insert Menyisip string ke dalam string sekarang pada posisi tertentu. Remove Menghapus sejumlah karakter dalam string Replace Mengantu sejumlah karakter dengan string pada string sekarang Contoh : Option Explicit On Imports System Public Module modStr Dim Nama As String = "Santo" Sub Main() Console.WriteLine(Nama.Insert(1,"us")) 'Susanto Console.WriteLine(Nama.Remove(0,1)) 'anto Console.WriteLine(Nama.Replace("o","i")) 'Santi End Sub End Module IndexOf Mengembalikan posisi awal suatu string pada string sekarang mulai dari posisi tertentu IndexOfAny Mengembalikan posisi awal suatu string pada string sekarang. LastIndexOf Mengembalikan posisi akhir suatu string pada string sekarang sekarang mulai dari posisi tertentu LastIndexOfAny Mengembalikan posisi akhir suatu string pada string sekarang. StartsWith Mendapatkan apakah string dimulai dengan string tertentu. EndsWith Mendapatkan apakah string diakhir dengan string tertentu. Contoh : Option Explicit On Imports System Public Module modStr ' 0 1 2 ' 012345678901234567890123456 Dim Nama As String = "ebook karya Hendra Soewarno" INDOPROG 45
  • 46. Bahasa pemrograman VB.NET Hendra, S.T. 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 End Sub End Module Option Explicit On Imports System Public Module modStr ' 0 1 2 ' 012345678901234567890123456 Dim Nama As String = "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 End Sub End Module Module String pada Namespace Microsoft.VisualBasic Selain pengolahan data string dengan menggunakan String Member, Visual Basic juga menyediakan berbagai fungsi bantu yang terdefinisi pada Namespace Micorosoft.VisualBasic, berikut ini adalah beberapa fungsi bantu yang dapat digunakan untuk 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 : Option Explicit On Imports System Imports Microsoft.VisualBasic Public Module modStr Sub Main() Console.WriteLine(Asc("H")) '72 Console.WriteLine(AscW("H")) '72 Console.WriteLine(Chr("72")) 'H Console.WriteLine(ChrW("72")) 'H End Sub End Module INDOPROG 46
  • 47. Bahasa pemrograman VB.NET Hendra, S.T. Len(x), mengembalikan panjang string x dalam karakter. Lcase(x), mengembalikan string yang telah diubah menjadi huruf kecil. Ucase(x), mengembalikan string yang telah diubah menjadi huruf besar. Contoh : Option Explicit On Imports System Imports Microsoft.VisualBasic Public Module modStr Sub Main() Dim Nama As String = "Hendra Soewarno" Console.WriteLine(Len(Nama)) '15 Console.WriteLine(LCase(Nama)) 'hendra soewarno Console.WriteLine(UCase(Nama)) 'HENDRA SOEWARNO End Sub End Module GetChar(x,y), mendapatkan character posisi ke y dalam string x. Left(x,y), mengembalikan substring dari string x sebanyak y karakter dari depan. Right(x,y), mengembalikan substring dari string x sebanyak y karakter dari belakang. Mid(x,y,z) mengembalikan substring dari string x mulai posisi y sebanyak z karakter. Contoh : Option Explicit On Imports System Imports Microsoft.VisualBasic Public Module modStr Sub Main() Dim Nama As String = "Hendra Soewarno" Console.WriteLine(GetChar(Nama,1)) 'H Console.WriteLine(Left(Nama,6)) 'Hendra Console.WriteLine(Right(Nama,8)) 'Soewarno Console.WriteLine(Mid(Nama,4,3)) 'dra End Sub End Module Space(x), mengembalikan string yang terdiri dari spasi sejumlah x karakter. Rset(x,y), mengembalikan string rapat kanan dengan panjang y dengan menambah spasi di depan string x. INDOPROG 47
  • 48. Bahasa pemrograman VB.NET Hendra, S.T. Lset(x,y), mengembalikan string rapat kiri dengan panjang y dengan menambah spasi dibelakang string x. Contoh : Option Explicit On Imports System Imports Microsoft.VisualBasic Public Module modStr Sub Main() Dim Nama1 As String = "Hendra" Dim Nama2 As String = "Soewarno" Console.WriteLine(Nama1 & Space(5) & Nama2) 'Hendra Soewarno Console.WriteLine(RSet(Nama1,9)) '___Hendra Console.WriteLine(LSet(Nama1,9)) 'Hendra___ End Sub End Module 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 : Option Explicit On Imports System Imports Microsoft.VisualBasic Public Module modStr Sub Main() Dim Nama As String = "Susan" Console.WriteLine(Nama) 'Susan Console.WriteLine(StrReverse(Nama)) 'nasuS End Sub End Module 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 x mulai posisi y. Contoh : INDOPROG 48
  • 49. Bahasa pemrograman VB.NET Hendra, S.T. Option Explicit On Imports System Imports Microsoft.VisualBasic Public Module modStr Sub Main() Dim Nama As String = "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 End Sub End Module 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 antara string x dengan string y, dengan metode z, dimana -1 (x < y), 0 (x =y), dan 1 (x > y), dan metode z adalah CompareMethod.Text dan CompareMethod.Binary. Contoh : Option Explicit On Imports System Imports Microsoft.VisualBasic Public Module modStr Sub Main() Dim Nama1 As String = "felicia" Dim Nama2 As String = "FELICIA" Console.WriteLine(StrDup(10,"-")) '---------- Console.WriteLine(StrComp(Nama1,Nama2,CompareMethod.Text)) '0 Console.WriteLine(StrComp(Nama1,Nama2,CompareMethod.Binary)) '1 End Sub End Module Catatan : Pada metode Binary, perbandingan dilakukan berdasarkan nilai ASCII, dimana ASCII huruf kecil > dari huruf besar, contoh A = 65, dan a = 97. Split(x,y), mengembalikan array string yang merupakan hasil pemisahan dari string x dengan delimeter y Option Explicit On Imports System Imports Microsoft.VisualBasic Public Module modStr Sub Main() Dim Nama As String = "Felicia Fortuna" Dim aNama() As String = Split(Nama," ") Console.WriteLine(aNama(0)) 'Felicia INDOPROG 49
  • 50. Bahasa pemrograman VB.NET Hendra, S.T. Console.WriteLine(aNama(1)) 'Fortuna End Sub End Module Join(x,y), mengembalikan string yang merupakan hasil gabungan array string x dengan delimeter y Option Explicit On Imports System Imports Microsoft.VisualBasic Public Module modStr Sub Main() Dim aNama() As String = {"Felicia","Fortuna"} Console.WriteLine(Join(aNama,", ")) 'Felicia, Fortuna End Sub End Module Replace(x,y,z,[1],[2],[3]), mengembalikan string yang merupakan pengantian string y dengan z dalam string x mulai posisi [1] sampai sejumlah karakter [2], dengan metode perbandingan [3]. Contoh : Option Explicit On Imports System Imports Microsoft.VisualBasic Public Module modStr Sub Main() Dim Nama As String = "Hendra" Console.WriteLine(Replace(Nama,"a","o")) 'Hendro End Sub End Module StrConv(x,y), menghasilkan string yang merupakan hasil konversi dengan metode y dari string x, dimana y (VBStrConv.UpperCase, VBStrConv.LowerCase, VBStrConv.ProperCase) Contoh : Option Explicit On Imports System Imports Microsoft.VisualBasic Public Module modStr Sub Main() Dim Nama As String = "Hendra" Console.WriteLine(StrConv(Nama,VbStrConv.UpperCase)) 'HENDRA Console.WriteLine(StrConv(Nama,VbStrConv.LowerCase)) 'hendra Console.WriteLine(StrConv(Nama,VbStrConv.ProperCase)) 'Hendra End Sub INDOPROG 50
  • 51. Bahasa pemrograman VB.NET Hendra, S.T. End Module FormatDateTime(x,y), menghasilkan string hasil konversi date x dengan format sesuai dengan setting pada komputer, dimana y (DateFormat.GeneralDate, DateFormat.LongDate, DateFormat.ShortDate, DateFormat.LongTime, DateFormat.ShortTime) Contoh : Option Explicit On Imports System Imports Microsoft.VisualBasic Public Module modStr Sub Main() Console.WriteLine(FormatDateTime(Now,DateFormat.LongDate)) 'Sunday, May 22, 2005 End Sub End Module FormatCurrency(x,y), menghasilan string yang merupakan format currency dari angka x dengan jumlah desimal y. FormatPercent(x,y), menghasilkan string yang merupakan format percent dari angka x dengan jumlah desimal y. FormatNumber(x,y), menghasilkan string yang merupakan format angka dari angka x dengan jumlah desimal y. Contoh : Option Explicit On Imports System Imports Microsoft.VisualBasic Public Module modStr Sub Main() Dim Angka As Decimal = 100000 Dim PPN As Single = 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% End Sub End Module Format(x,y), menghasilkan string yang merupakan format dari argumen x dengan format y, dengan format yang dapat dilihat pada lampiran 1. Contoh : INDOPROG 51
  • 52. Bahasa pemrograman VB.NET Hendra, S.T. Option Explicit On Imports System Imports Microsoft.VisualBasic Public Module 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 End Sub End Module Filter(x,y,[1],[2]), menghasilkan array yang berisi string dari array string x yang mana elemen yang mengandung substring y, dengan ketentuan [1] (true=contain, false = exclude), dengan compare method [2]. Contoh : Option Explicit On Imports System Imports Microsoft.VisualBasic Public Module modStr Sub Main() Dim aNama1() As String = {"Hendra","Susan","Felicia Fortuna"} Dim aNama2() As String = Filter(aNama1,"r",true,CompareMethod.Binary) For Each A As String In aNama2 Console.WriteLine(A) 'Hendra & Felicia Fortuna Next End Sub End Module Latihan : 1. Buatlah program yang dapat menghasilkan terbilang dari suatu bilangan, contoh 123,456,789 (Seratus dua puluh tiga juta empat ratus lima puluh enam ribu tujuh ratus delapan puluh sembilan). INDOPROG 52
  • 53. Bahasa pemrograman VB.NET Hendra, S.T. Tipe data Date Pada Visual Basic variabel date disimpan sebagai integer IEEE 64-bit (8-byte) yang mewakili tanggal dengan jangkauan dari 1 Januari tahun 1 sampai dengan 31 Desember tahun 9999, dan waktu dari 0:00:00 (tengah malam) sampai 23:59:59. Nilai tanggal harus diapit diantara tanda angka (#) dan diformat dalam M/d/yyyy, sebagai contoh #5/31/1993#. Anda dapat memberikan nilai awal pada variabel tipe Date dengan penulisan sebagai berikut : Dim Tanggal As Date = New Date(2005, 5, 30, 8, 29, 59, 900) Dimana akan memberikan nilai Tanggal 30 Mei 2005 Pukul 8:29:59.900 ke variabel Tanggal. Member pada Class Date Date Mengambil komponen tanggal dari instance TimeOfDay Mengambil komponen waktu dari instance Day Mengambil nomor hari (1-31) dalam bulan dari instance Month Mengambil komponen bulan (1-12) dari instance Year Mengambil komponen tahun dari instance Hour Mengambil komponen jam (0-23) dari instance Minute Mengambil komponen menit (0-59) dari instance Second Mengambil komponen detik (0-59) dari instance Millisecond Mengambil komponen mili detik (0-999) dari instance DayOfWeek Mengambil nomor hari (0-6) dalam minggu dari instance DayOfYear Mengambil nomor hari (1-366) dalam tahun dari instance Ticks Mengambil jumlah ticks dari instance Now Mendapatkan tanggal dan waktu komputer Today Mendapatkan mendapatkan tanggal komputer UtcNow Mendapatkan tanggal dan wkatu komputer yang telah diknversi menjadi coordinated universal time (UTC). Contoh : Option Explicit On Imports System Public Module ModDate INDOPROG 53
  • 54. Bahasa pemrograman VB.NET Hendra, S.T. Sub Main() Dim Tanggal As Date = New Date(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 End Sub End Module Visual Basic menyediakan berbagai fungsi bantu yang merupakan member dari namespace 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 Option Explicit On Imports System Public Module ModDate Sub Main() Dim Tanggal As Date = New Date(2005,5,30,8,29,40,900) Console.WriteLine(Tanggal.AddDays(-10)) '20-5-2005 8:29:40.900 End Sub End Module Parse Mengkonversi string dalam bentuk tanggal dan waktu ke DateTime. Option Explicit On Imports System Public Module ModDate Sub Main() Dim Str As String = "30-5-2005 08:30:50.900" INDOPROG 54
  • 55. Bahasa pemrograman VB.NET Hendra, S.T. Dim Tanggal As Date Tanggal = DateTime.Parse(Str) Console.WriteLine(Tanggal) End Sub End Module Compare Membandingkan dua instance dari DateTime dam mengembalikan ( < 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 Option Explicit On Imports System Public Module ModDate Sub Main() Dim Tanggal1 As Date = New Date(2005,5,30) Dim Tanggal2 As Date = New Date(2005,5,31) Console.WriteLine(DateTime.Compare(Tanggal1,Tanggal2)) '-1 Console.WriteLine(DateTime.DaysInMonth(2005,5)) '31 Console.WriteLine(DateTime.IsLeapYear(2005)) 'False End Sub End Module Subtract Menghasilkan selisih antara suatu datetime dengan instance Option Explicit On Imports System Public Module ModDate Sub Main() Dim Tanggal1 As Date = New Date(2005,5,30) Dim Tanggal2 As Date = New Date(2005,5,31) Console.WriteLine(Tanggal1.Subtract(Tanggal2)) '-1 00:00:00 End Sub End Module ToLocalTime Konversi Instance ke LocalTime ToLongDateString Konversi Instance ke String dengan format setting LongDateString ToLongTimeString Konversi Instance ke String dengan format setting LongTime ToShortDateString Konversi Instance ke String dengan format setting ShortDate ToShortTimeString Konversi Instance ke String dengan format setting ShortTime ToString Konversi Instance ke String ToUniversalTime Konversi Instance ke UTC INDOPROG 55
  • 56. Bahasa pemrograman VB.NET Hendra, S.T. Module Date pada Namespace Microsoft.VisualBasic DateSerial(year,month,day), mengembalikan data tanggal sesuai dengan tahun, bulan dan hari yang ditentukan. TimeSerial(hour, minute, second), mengembalikan waktu sesuai dengan jam, menit dan detik. 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 tengah malam. DateString(), mengembalikan tanggal komputer dengan format MM-dd-yyyy dalam bentuk 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 dari DateTime (1 = minggu, …7 = sabtu). WeekdayName(WeekDay, Abbrev), mengembalikan nama hari berdasarkan nomor hari. (Abbrev = True, singkatan) INDOPROG 56
  • 57. Bahasa pemrograman VB.NET Hendra, S.T. DateAdd(Interval, Number, DateValue), mengembalikan tanggal dari hasil penjumlahan DateValue 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 value DateInterval.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 Date1 berdasarkan interval tertentu. Returns a Long value specifying the number of time intervals between two Date values. DatePart(Interval, DateValue), mengembalikan nilai Integer yang berkaitan dengan interval dari DataValue Catatan : Visual Basic .NET telah mengantikan Date dan Time dengan Today dan TimeOfDay, kemudian fungsi Date$ dan Time$ dengan DateString dan TimeString. INDOPROG 57
  • 58. Bahasa pemrograman VB.NET Hendra, S.T. 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 <VBFixedString(10)> Public Nim As String <VBFixedString(30)> Public Nama As String Public Tugas, Mid, Semester As Single End Structure Catatan : Sebagaimana telah dinyatakan sebelumnya bahwa secara default string pada Visual Basic adalah variable length, dan untuk membentuk string dengan fixed length kita membutuhkan vbFixedStringAttribute Class, dimana pada awal deklarasi string kita mencantumkan <VBFixedString(ukuran)> Salah satu keunggulan pada Structure di Visual Basic adalah kita dapat menambahkan koding 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 : Option Explicit On Imports System Imports Microsoft.VisualBasic Public Module ModStruct Structure Ujian <VBFixedString(10)> Public Nim As String <VBFixedString(30)> Public Nama As String Public Tugas,Mid,Semester As Single Public ReadOnly Property RataRata() As Single Get Return (Tugas+Mid+Semester)/3 End Get End Property End Structure Dim DaftarUjian As Ujian Sub Main() DaftarUjian.Nim = "920403024" INDOPROG 58