Dasar Pemrograman VB.net

Download Dasar Pemrograman VB.net

Post on 10-Aug-2015

19 views

Category:

Documents

0 download

Embed Size (px)

TRANSCRIPT

<p>Bahasa pemrograman VB.NET</p> <p>Hendra, S.T.</p> <p>Bahasa Pemrograman VB.NetOleh : Hendra, ST.</p> <p>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.</p> <p>INDOPROG</p> <p>1</p> <p>Bahasa pemrograman VB.NET</p> <p>Hendra, S.T.</p> <p>Dasar program Visual BasicProgram 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</p> <p>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).</p> <p>Proses KompilasiAgar 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:\windows\microsoft.net\framework\v1.1.4322 2. Selanjutnya anda dapat mengkompilasi program anda dengan perintah : Vbc .vb Pada saat kompilasi, anda wajib menulis lengkap nama file dan ekstension Contoh :vbc hello.vb Microsoft (R) Visual Basic .NET Compiler version 7.10.3052.4</p> <p>INDOPROG</p> <p>2</p> <p>Bahasa pemrograman VB.NET</p> <p>Hendra, S.T.</p> <p>for Microsoft (R) .NET Framework version 1.1.4322.573 Copyright (C) Microsoft Corporation 1987-2002. All rights reserved.</p> <p>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.</p> <p>Struktur program Visual BasicSebagai 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</p> <p>Option StatementsPerintah 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</p> <p>Yang jika di kompilasi tidak menyebabkan kesalahan walaupun variabel a tidak pernah dideklarasikan.Option Explicit On</p> <p>INDOPROG</p> <p>3</p> <p>Bahasa pemrograman VB.NET</p> <p>Hendra, S.T.</p> <p>Module Modmain Sub Main() a = 100000 End Sub End Module</p> <p>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~1\coba.vb(5) : error BC30451: Name 'a' is not declared. a = 100000</p> <p>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</p> <p>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 Option Module Sub Explicit On Strict On Hello Main() Dim a As Integer Dim b As Short a = 100000 b = a End Sub End Module</p> <p>INDOPROG</p> <p>4</p> <p>Bahasa pemrograman VB.NET</p> <p>Hendra, S.T.</p> <p>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~1\coba.vb(8) : error BC30512: Option Strict On disallows implicit conversions from 'Integer' to 'Short'. b = a ~</p> <p>Sebaliknya jika digunakan Option Strict Off:Option Option Module Sub Explicit On Strict Off Hello Main() Dim a As Integer Dim b As Short a = 100000 b = a End Sub End Module</p> <p>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.</p> <p>INDOPROG</p> <p>5</p> <p>Bahasa pemrograman VB.NET</p> <p>Hendra, S.T.</p> <p>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 &lt; B &lt; E &lt; Z &lt; a &lt; b &lt; e &lt; z &lt; &lt; &lt; &lt; &lt; Contoh :Dim Pattern As Short = 192 ' Bit pattern is 0000 0000 1100 0000. Dim Result1, Result2, Result3, Result4, Result5 As Short</p> <p>INDOPROG</p> <p>13</p> <p>Bahasa pemrograman VB.NETResult1 Result2 Result3 Result4 Result5 = = = = = Pattern Pattern Pattern Pattern Pattern &gt; 10 ' Result is 2 (0000 0000 0000 0010). Result4 = Pattern &gt;&gt; 18 ' Result is 640 (0000 0010 1000 0000). Result5 = Pattern &gt;&gt; -1 ' Result is 0 (shifted 15 places to right).</p> <p>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 7 (&amp;H7) Byte 15 (&amp;HF) Short 31 (&amp;H1F) Integer 63 (&amp;H3F) Long Perhatikan kembali contoh diatasDim Pattern As Short = 2560 ' Bit pattern is 0000 1010 0000 0000.</p> <p>Perintah shift right 18 untuk tipe Short akan menghasilkan operasi yang sama dengan shift right 2 ( hasil operasi 18 And 15 = 2).Result4 = Pattern &gt;&gt; 18 ' Result is 640 (0000 0010 1000 0000).</p> <p>Operator perbandingan Like, dengan aturan sebagai berikut : </p> <p>Karakter ? mewakili satu karakter sembarang. Karakter * mewakili tidak ada karakter atau sekumpulan karakter sembarang. Karakter # mewakili satu sembarang digit (09). Suatu daftar karakter dalam kurung siku ([ab ]) mewakili salah satu karakter dalam daftar tersebut. Suatu daftar dari karakter dalam kurung siku dan diawali dengan suatu tanda ! ([!ab ]) mewakili satu karakter yang tidak ada dalam daftar tersebut.</p> <p>Contoh :Dim myCheck As Boolean myCheck = "F" Like "F" myCheck = "F" Like "f" myCheck = "F" Like "FFF" Does "F" match "F"? Returns True. Does "F" match "f"? Returns False. Does "F" match "FFF"? Returns False.</p> <p>INDOPROG</p> <p>14</p> <p>Bahasa pemrograman VB.NET</p> <p>Hendra, S.T.</p> <p>myCheck = "aBBBa" Like "a*a"</p> <p>myCheck = "F" Like "[A-Z]" myCheck = "F" Like "[!A-Z]" myCheck = "a2a" Like "a#a" myCheck = "aM5b" Like "a[L-P]#[!c-e]"</p> <p>myCheck = "BAT123khg" Like "B?T*"</p> <p>myCheck = "CAT123khg" Like "B?T*"</p> <p>Does "aBBBa" have a "a" at the beginning, an "a" at the end, and any number of characters in between? Returns True. Does "F" occur in the set of characters from A to Z? Returns True. Does "F" NOT occur in the set of characters from A to Z? Returns False. Does "a2a" begin and end with an "a" and have any single-digit number inbetween? Returns True. 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. 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 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.</p> <p>Operator assignment : =, ^=, *=, /=, \=, +=, -=, =, &amp;= 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 (&amp;) 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)</p> <p>INDOPROG</p> <p>15</p> <p>Bahasa pemrograman VB.NET</p> <p>Hendra, S.T.</p> <p>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.</p> <p>Dengan memahami urutan operasi akan sangat membantu untuk menghindari kesalahan dalam penulisan rumus yang dapat menyebabkan logika error.</p> <p>Konstanta pada VB.NETPemakaian 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.</p> <p>Enumerated pada VB.NETPemakaian 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 = &amp;HE1E4FF&amp; SlateGray = &amp;H908070&amp; DodgerBlue = &amp;HFF901E&amp; DeepSkyBlue = &amp;HFFBF00&amp; SpringGreen = &amp;H7FFF00&amp; ForestGreen = &amp;H228B22&amp; Goldenrod = &amp;H20A5DA&amp;</p> <p>INDOPROG</p> <p>16</p> <p>Bahasa pemrograman VB.NET</p> <p>Hendra, S.T.</p> <p>Firebrick = &amp;H2222B2&amp; End Enum</p> <p>Perintah input Output ConsoleSalah 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.</p> <p>Format pada WriteLineVisual 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 Console.WriteLine("The Console.WriteLine("See Console.WriteLine("See Console.WriteLine("The Console.WriteLine("The number is {0}", 3 + 7) result of {0} + {1} = {2}", 3, 7, 3+7) decimals {0, 12:f1}", 0.123456789) decimals {0, 12:f9}", 0.123456789) value is {0, 0:000.00}", 0.123456789) value is {0, 0:###.##}", 1234.56789)</p> <p>INDOPROG</p> <p>17</p> <p>Bahasa pemrograman VB.NET</p> <p>Hendra, S.T.</p> <p>Masing-masing akan menghasilkan The The See See The The number is 10 result of 3 + 7 = 10 decimal 0.1 decimal 0.123456789 value is 001.23 value is 1234.57</p> <p>Contoh Format String :Format C C D D8 E E10 E e4 F F F0 F6 G G7 G G G2 G N N N4 P r x X X8 x Culture en-US de-DE en-US en-US en-US en-US fr-FR en-US en-US es-ES en-US en-US en-US en-US en-US en-US en-US en-US en-US sv-SE en-US en-US en-US en-US en-US en-US en-US Data type Double Double Int32 Int32 Double Double Double Double Double Double Double Double Double Double Double Double Double Double Double Double Double Double Double Int32 Int32 Int32 Int32 Value 12345.6789 12345.678 12345 12345 12345.6789 12345.6789 12345.6789 12345.6789 12345.6789 12345.6789 12345.6789 12345.6789 12345.6789 12345.6789 0.0000023 0.0023 1234 Math.PI 12345.6789 12345.6789 123456789 .126 Math.PI 0x2c45e 0x2c45e 0x2c45e 123456789 Output $12,345.68 12.345,68 DM 12345 00012345 1.234568E+004 1.2345678900E+004 1,234568E+004 1.2346e+004 12345.68 12345,68 123456 12345.678900 12345.6789 12345.68 2.3E-6 0.0023 1.2E3 3.14159265358979 12,345.68...</p>