Anda di halaman 1dari 53

PENGANTAR VB.

NET
Dot NET Framework

Di luar beragamnya definisi .NET Framework, .NET Framework merupakan “Man


Behind The Gun” dari VB.NET sehingga kita perlu megetahui jeroan dari teknologi yang
ada di dalamnya.
Microsoft .NET adalah software yang menghubungkan informasi, orang, system
dan device! Perangkat yang menjangkau client, server dan tool pengembang.
Microsoft .NET disusun oleh:

• Dot NET Framework, digunakan untuk membangun dan menjalankan semua


macam softwere termasuk aplikasi berbasis Web, aplikasi smart client, dan
layanan web XML (Extensible Markup Language). Menyediakan komponen
untuk berbagai data melalui Network menggunakan komponen platform protocol
independent seperti XML, SOAP, dan HTTP.

• Tool – tool pengembang seperti Microsoft VisualStudio .NET yang penyediaan


IDE (Integrated Development Enveronment! lingkungan pengembangan
terintegrasi) untuk memaksimalkan produktivitas pengembangan
menggunakan .NET Framework.

• Serangkaian server termasuk Microsoft Windows Servwr 2003, Microsoft SQL


Server dan Micosoft BizTalk Server yang terintegrasi, untuk menjalankan,
mengoprasikan dan mengelola services Web dan aplikasi berbasis Web.

• Softwere client seperti Windows XP, windows CE dan Windows Office XP yang
membantu pengembangan untuk menyebarkan dan mengelola aplikasinya.

.NET Platform merupakan satu set kumpulan teknologi yang memungkinkan


teknologi Internet ditransformasikan ke dalam platform distributed computing dengan
skalabilitas dan kompatibilitas tinggi. Secara teknikal, .NET Platform menyediakan
konsep pemrograman dengan library dan modul-modul baru yang konsisten, terlepas
dari jenis bahasa pemrograman yang digunakan.
.NET Platform menyediakan hal-hal berikut bagi para developer :
1) Language independent, dengan programming model yang konsisten di semua
tier aplikasi yang dibangun.
2) Interoperability dan kompatibilitas antar aplikasi.
3) Kemudahan migrasi dari teknologi yang ada saat ini.
4) Dukungan penuh terhadap berbagai teknologi standar yang digunakan dalam
platform internet, antara lain HTTP, XML, SOAP dan HTML.
Teknologi inti .NET secara umum terdiri dari 4 area pokok :

1) .NET Framework
.NET Framework adalah teknologi inti yang menyediakan berbagai library untuk
digunakan oleh aplikasi di atasnya. Komponen inti .NET Framework adalah
Common Language Runtime (CLR) yang menyediakan run time environment
untuk aplikasi yang dibangun menggunakan Visual Studio .NET, terlepas dari
jenis bahasa pemrogramannya.

Dengan adanya CLR tersebut, programmer dapat menikmati consistent object


model dalam mengakses berbagai komponen library. Dengan demikian
penggunaan bahasa pemrograman dalam dunia .NET adalah lebih ke masalah
selera atau taste, dan bukan pada kelebihan maupun kekurangan masing-
masing bahasa. Mengapa ? Karena semua bahasa pemrograman yang
mensupport .NET mengakses library yang sama di dalam .NET Framework,
dengan object model yang konsisten, dengan run time file yang sama. Bahasa
adalah sekedar skin atau theme, bukan senjata sakti.

Apakah .NET Framework?

Dot NET Framework adalah linkungan untuk membangun, deploying


menyebarkan, dan menjalankan services Web dan aplikasi lainnya.
Dot NET Framework disusun oleh dua komponen utama, yaitu Common
Language Runtime (runtime bahasa umum) dan .NET Framework Class Library
(pustaka class .NET Framework.
Definisi di atas saya ambil dari penjelasan Microsoft dalam FAQ(Frequently
Asked Questions) mengenai .NET Framework. Secara sederhana .NET Framework
adlah platform tunggal dimana semua orang dapat platform tunggal dimana semua
orang dapat mengembangkan aplikasi menggunakan suatu system yang mirip
dengan JVM(Java Virtual Machine). Hanya berbeda dengan java, tidak ada
penghalang dengan bahasa .NET sehingga aplikasi dapat dikembangkan
menggunakan bahasa: VB, C++, C#, J# dan 20 bahasa-bahasa pemrograman
lainnya yang kompatibel dengan .NET Framework.
Tujuan dari .NET Framework adalah:
• Menyediakan lingkungan pemrograman berorientasi objek, apakah kode
objek disimpan dan dijalankan secara lokal, dijalankan secara lokal tetapi
disebarkan melalui internet atau dijalankan secara remote (dijalankan dari
suatu tempat).
• Menyediakan lingkungan untuk menjalankan suatu kode yang meminimalkan
konflik saat software deployment disebarkan dan versioning /tentang versi.
• Menyediakan lingkungan untuk menjalakan suatu kode yang menjamin
keamanan saat kode dijalankan, termasuk kode yang dibuat oleh pihak yang
tidak diketahui atau pihak ketiga yang setengah dipercaya.
• Menyediakan lingkungan untuk menjalankan suatu kode yang dapat
mengeliminasi masalah performa dari lingkungan scripted dan interpreted.
• Membuat pengembang memiliki pengalaman yang konsisten dalam berbagai
tipe aplikasi berbasis Windows dan aplikasi berbasis Web.

Definisi lainnya, .NET Framework bisa juga diartikan sebagai serangkaian


teknologi yang :
• Mempersatukan aplikasi Web yang sekarang masi terisolasi.
• Membuat informasi tersedia di setiap saat dan di setiap tempat.
• Menyederhanakan pengembangan dan penyebaran aplikasi.

Common Language Runtime (CLR)


Common language runtime/CLR/runtime bahasa umum (runtime) merupakan
dasar dari .NET Framework. Runtime adalah engine yang menjalankan aplikasi
>NET Framework. Runtime menyediakan sejumlah service/layanan, seperti berikut
ini:
• Mengelola kode (loading dan menjalankan)
• Isolasi memori aplikasi
• Verifikasi untuk kemanan type
• Konversi dari IL (Intermediate Language) ke kode native/asli.
• Akses metadata (informasi yang dipercaya)
• Mengelola memori pada objek managed/terkelola
• Mengelola keamanan kode akses
• Menangani eksepsi (kejadian yang tidak diharapkan yang muncul saat
kode dieksekusi) termasuk eksepsi lintas bahasa
• Inperoperation di antara managed code, objek COM(Component Object
Model)
• Otomatisasi layout objek
• Mendukung layanan pengembang (profiling, debugging dan sebagainya)

Konsep pengelolaan kode merupakan prinsip dari runtime. Kode yang menjadi
target dari runtime disebut managed code/kode terkelola, sedangkan kode yang
tidak menjadi target runtime disebut unmanaged code/kode yang tidak terkelola.
VB.NET akan menjalankan managed code apabila dalam system computer tersebut
terdapat CLR atau dengan kata lain pemakai tidak dapat menjalankan aplikasi
VB.NET tanpa menginstall CLR terlebih dahulu.
CLR “mengetahui” apa yang akan dilakukan pada data khusus (disebut
metadata) yang berada dalam aplikasi. Metadata berisi peta dimana menemukan
class, kapan memanggil class dan kapan mengatur batas isi runtime, menghasilkan
native code/kode asli, mengatur keamanan, menentukan class manayang
menggunakan metode dan memanggil class jika dibutuhkan. CLR juga menentukan
kapan suatu objek digunakan dan dilepas. Semua itu disebut managed code.

2) .NET Building Block Services


Building block merupakan sekumpulan services yang bersifat programmable,
yang dapat diakses secara offline maupun online. Service tersebut merupakan
modul-modul yang terdapat di suatu komputer, server dalam jaringan, maupun di
suatu server di internet.
Service ini merupakan suatu idealisasi di masa depan, dimana sebuah aplikasi
bersifat terdistribusi dengan modul-modul yang tersimpan di berbagai tempat,
tetapi dapat diintegrasikan membentuk suatu aplikasi. Konsep ini merupakan
arah pengembangan subscription based software, yang saat ini mulai banyak
berkembang dan dikenal sebagai Application Service Provider.
Service tersebut dapat diakses oleh berbagai platform, asalkan platform tersebut
mensupport protokol SOAP, yang merupakan protokol standar dalam
mengakses web service. Peranan XML sebagai media definisi data menjadi
sangat penting dalam hal ini, dan XML juga menjadi pusat perubahan besar
dalam platform .NET. Dalam pelajaran selanjutnya, anda akan melihat bahwa
semua data dalam .NET selalu direpresentasikan dalam bentuk XML.

3) Visual Studio .NET


Visual Studio .NET menyediakan tools bagi para developer untuk membangun
aplikasi yang berjalan di .Net Framework. VS.Net membawa perubahan besar
dalam gaya pemrograman, karena setiap programmer dituntut untuk
memahami .NET object model dan Object Oriented Programming dengan baik,
jika tidak ingin menghasilkan aplikasi dengan performa rendah.
VS.Net juga semakin mempertipis jarak antara Windows Programmer
dengan Web Programmer. Dunia scripting yang akrab bagi programmer web
akan sulit ditemukan dalam .NET, karena pemrograman web sudah bersifat full
object oriented, dengan fasilitas event driven programming sebagaimana
layaknya windows programming. Pemrograman web menjadi lebih mudah dan
menyenangkan bagi para programmer windows, sedangkan anda para veteran
scripting language sudah saatnya untuk beralih ke ASP.NET, yang dapat
diprogram menggunakan VB, C#, C++ maupun Phyton dan COBOL sekalipun.
Microsoft masih menyediakan Jscript.NET bagi anda para pecandu JavaScript
dan JScript, sedangkan versi .Net dari VBScript belum diketahui apakah akan
disediakan atau tidak. Para veteran VB.Script disarankan untuk mempelajari VB,
sehingga dapat menggunakan VB.Net untuk membangun aplikasi web. Bahasa
pemrograman yang terdapat di VS.NET adalah VB.NET, C#, C++ .NET, J#, dan
Jscript .NET. Dalam masa mendatang akan terus ditambah berbagai bahasa
pemrograman lain.

4) .Net Enterprise Server


Bagian ini merupakan sekumpulan server based technology yang digunakan
untuk mendukung teknologi .NET, yang mencakup sistem operasi, database,
messaging, maupun manajemen e-commerce. Teknologi yang disediakan antara
lain adalah Windows 2000 Server, SQL Server, Exchange, ISA Server dan
BiZTalk Server.
Ada beberapa alasan yang menguntungkan bila anda mempelajari .NET :
Multi Language
Arsitektur .NET bersifat terbuka, sehingga memungkinkan berbagai bahasa
pemrograman mengakses CLR dengan mulus. Banyak kalangan menyebut .NET
sebagai “open source” versi Microsoft. Saat ini .NET dapat diprogram menggunakan
Visual Basic.NET, C++.NET, Visual C#, Jscript, dan J#. Berbagai third Party yang
dapat digunakan adalah COBOL, Eiffel, Smalltalk, Perl, Phyton, ML, Pascal, dan
Delphi. Para veteran Pascal mungkin tidak pernah bermimpi membuat aplikasi web
dengan bahasa “kuno” tersebut, tetapi kehadiran .Net Framework merealisasikan hal
tersebut.
Bagan berikut menjelaskan kedudukan bahasa pemrograman terhadap .NET
Framework dengan CLR sebagai intinya.

Sekali lagi, semua bahasa tersebut mengakses object model yang sama dalam
.NET, sehingga bagi para petualang tersedia kemungkinan untuk berpindah dari satu
bahasa ke bahasa lain dalam satu proyek aplikasi yang sama. .Net menyediakan
integrasi bahasa pemrograman dalam satu peroyek aplikasi. Hal ini membuka
kemungkinan kerjasama tim yang lebih baik, walaupun dalam tim tersebut masing-
masing memiliki keahlian bahasa pemrograman yang berbeda.

No DLL Hell
Anda tahu DLL ? Tentu saja, kalo tidak tentu anda bukan seorang programmer. DLL
merupakan blok atau modul-modul obyek dari sebuah aplikasi. Peranannya sangat
penting, sekaligus memusingkan. Sering terjadi dalam dunia windows, kompatibilitas
dan registrasi DLL di masing-masing Workstation menjadi isu besar dalam
deployment aplikasi.
Strong Typing dan Type Safety
Bila anda pernah menggunakan VB6, pendefinisian tipe data bukanlah sesuatu yang
mutlak wajib dilakukan karena VB akan mendefinisikan primitive data type, suatu
type default untuk masing-masing angka atau karakter yang terdapat dalam variabel.
Hal ini sebenarnya kurang baik karena dapat memboroskan memory dan merupakan
sumber bug. .NET menyediakan strong typing, dimana setiap variabel wajib
didefiniskan scope dan tipe datanya. Demikian pula dengan fasilitas type safety yang
sangat bermanfaat untuk membantu dalam coding pemrograman, terutama fasilitas
intellisense yang membimbing pemrogram dalam menentukan property, method,
maupun function yang akan dipakai.
Cross Platform Possibility
.Net menyimpan dan mengirim data dalam bentuk XML yang merupakan format data
universal di internet. Dengan demikian integrasi data antar platform lebih mudah
dilakukan, selama platform tersebut mendukung XML. Representasi konsep ini
adalah dataset, suatu cache data yang berbentuk XML dan dapat diakses dengan
mudah. Sebuah data dapat diparsing antar tier aplikasi, baik dari database, middle
tier, maupun aplikasi klien dalam format XML. Manipulasi format data dalam bentuk
XML, .txt, maupun .rtf merupakan sesuatu yang menantang para programmer untuk
membuat aplikasi lintas platform.
Code Once, More Application
Interface pemrograman bersifat konsisten, dengan object model yang sama pada
setiap bahasa yang digunakan. Suatu object baik berbentuk class, library, maupun
web services dapat diakses dengan mudah oleh berbagai aplikasi windows maupun
web. Hal ini lebih menghemat waktu para developer, dimana sebuah object dapat
dibuat sekaligus untuk aplikasi Web, Windows, dan bahkan console application
berbasis DOS.

Untuk Apa Belajar VB.NET ?


Mengapa VB ? Jawabannya tergantung anda tentunya. VB6 merupakan bahasa
terpopuler saat ini, dan para pengguna VB klasik akan lebih mudah berpindah ke VB
.NET daripada memilih C++ .NET atau C#. Bila anda memiliki pengalaman dalam
Java, maka C# lebih cocok bagi anda.

Perpindahan ke VB.NET dapat diandaikan sebagai camp militer untuk para veteran
VB6. Mitos selama ini menyebutkan bahwa VB6 merupakan bahasa yang “amburadul”,
tidak jelas struktur obyeknya, mendukung Object Oriented tetapi banci, kompatibilitas
kurang, dan lain sebagainya. Semua hal tersebut Cepat Mahir Visual Basic .NET M.
Choirul Amri 6terjadi sebagai boomerang dari VB6 yang terlalu longgar dalam kaidah
pemrograman, sehingga tidak sulit menemukan programmer VB6 yang belum pernah
membuat property dalam class modul selama karirnya. Di sisi lain kelonggaran tersebut
telah menumbuhkan VB sebagai bahasa yg mudah dipelajari, dan paling populer saat
ini. Sebenarnya selama seorang programmer konsisten dan disiplin dengan kaidah
konsep COM dan OOP, mitos-mitos di atas tidak akan terjadi. VB.NET tampil dengan
wajah yang sama sekali berbeda dari VB6 dalam hal kaidah pemrograman, terutama
dengan fasilitas strong typing dan code safety. Di samping itu, sifat .NET Framework
yang dirancang dengan nuansa OOP juga harus diikuti, sehingga VB.NET dapat
dikatakan sebagi full OOP programming. Hal tersebut mungkin bukanlah barang baru
bagi anda pemakai Java atau C, tetapi merupakan hal baru bagi kebanyakan
programmer VB6. Dengan demikian, mempelajari VB.NET berarti meningkatkan skill
veteran VB klasik, sejajar pemrogram berbasis OOP lainnya.
CONSOLE APLICATION
Console Application : merupakan aplikasi dengan tampilan text mode atau DOS.
Aplikasi jenis ini biasa digunakan sebagai monitoring service atau remote application
dimana sumber daya komputer dan bandwith sangat terbatas. Aplikasi tanpa GUI,
dijalankan dari command prompt/command line.
Ketikkan kode program berikut:

Lalu jalankan dengan menekan tombol atau F5


Maka hasilnya sbb:
Ketikkan kode program berikut:

Sehingga tampilannya sbb:


Ketikkan kode program berikut:

Sehingga tampilannya sbb:


 SELECT CASE
Ketikkan kode program berikut:
Sehingga tampilannya sbb:
Ketikkan kode program sbb:

Sehingga tampilannya sbb:

Atau cara lain:


 WHILE
Ketikkan kode program berikut:
Sehingga tampilannya sbb:

 FOR
Ketikkan kode program berikut:
Sehingga tampilannya sbb:
 DO LOOP
Ketikkan kode program berikut:
Sehingga tampilannya sbb:
 STRUCTURE
 TRY-CATCH
Apa yg terjadi bila tidak ada catch??
 INHERITANCE
 POLYMORPHISME
GUI APLICATION
GUI Application : merupakan aplikasi dengan tampilan graphical. Aplikasi jenis ini biasa
digunakan sebagai monitoring service atau remote application dimana sumber daya
komputer dan bandwith sangat terbatas. Aplikasi tanpa GUI, dijalankan dari command
prompt/command line.

Tampilan memulai aplikasi GUI sbb:


Design form sbb:
Double klik pada commandbutton tampil. Ketikkan kode sbb:

Tampilannya menjadi:
Design form sbb:

Lalu ketikkan kode program berikut:


 TEXT LOOPING
Design form sbb:

Klik ganda pada ruang form yg kosong:


Lalu pada Windows Explorer, klik kanan  Add  Add Class  Class
Pada Class yang baru terbentuk ketikkan kode sbb:

 SIMPLE CALCULATOR
Design form sbb:
Lalu pada class, ketikkan kode berikut:
DATA DAN VARIABEL

Penggunaan Variabel
Untuk dapat memakai sebuah variabel maka Kita harus mendeklarasikannya terlebih
dahulu. Dalam bahasa VB6 Kita dapat saja menggunakan sebuah variabel tanpa
membuat deklarasi meskipun hal tersebut tidak direkomendasikan dan sangat tidak
efisien bagi sebuah aplikasi.

Aturan Penamaan Variabel


Pemberian nama variable memiliki batasan-batasan sbb:
• Harus dimulai dengan karakter alfabetis
• Hanya dapat mengandung karakter alfabetis,angka,dan underscore(_)
• Tidak boleh menggunakan spasi
• Tidak melebihi 255 karakter
• Harus unik dalam sebuah ruang lingkup yang sama
• Tidak case sensitive, artinya huruf besar (capital) dengan huruf kecil sama saja.

Deklarasi Variabel
Tujuan pendeklarasian variabel adalah agar komputer mengetahui dengan pasti type
data yang akan
digunakan dalam variabel tersebut serta scopenya. Dengan demikian komputer dapat
langsung
mengeksekusi sebuah variabel tanpa memeriksa lagi type datanya. Sebuah variabel
harus memiliki
nama, type data, scope, dan value. Berikut adalah contoh deklarasi variabel :

Dim sNama As String


Dim dGajiPokok As Decimal
Dim dTunjangan As Decimal
Dim dGajiTotal As Decimal
Dim dPajak As Decimal
sNama = "Anto"
dGajiPokok = 600000
dTunjangan = 150000

Dideklarasikan 5 variabel masing-masing dengan type string (1 variabel) dan decimal (4


variabel).
Selanjutnya pada tiap variabel tersebut masing-masing diisikan nilainya. Pengisian nilai
variabel
tersebut harus sesuai dengan type data yang telah ditetapkan. Misalnya saja Kita tidak
dapat mengisi
variabel dGajiPokok dengan “Anto”, karena variabel tersebut telah didefinisikan
sebagai decimal yang harus berisi angka dan bukan string.
Kita juga dapat mendeklarasikan variabel dan langsung memberikan nilainya pada saat
yang sama
dalam satu baris kode. Teknik ini merupakan feature baru VB .NET.

Dim dGajiPokok As Decimal = 600000


Selain itu Kita juga dapat mendeklarasikan beberapa variabel sekaligus dalam satu baris
dan
mendefinisikan type datanya secara bersamaan.

Dim sUmur, sTinggi, sGaji As Single

Ketiga variabe tersebut memiliki type data sama yaitu Single. Cara ini memudahkan
pendeklarasian
variabel daripada harus mengulang deklarasi dalam tiga baris.

Melakukan Perhitungan
Selanjutnya Kita dapat melakukan perhitungan tertentu dengan menggunakan variabel
tersebut
sebagai komponen formula sebagai berikut :

dGajiTotal = dGajiPokok + dTunjangan


dPajak = 0.1 * dGajiTotal

Segala Sesuatu adalah OBYEK !


Salah satu mantra baru dalam .NET programming adalah cara kita memKitang terhadap
obyek.
Segala sesuatu adalah obyek, begitulah pedoman yang harus Kita pegang. Dalam
teknik VB6 Kita
mengenal konsep Object Oriented Programming (OOP) melalui Class dan konsep COM.
Namun
dalam .NET segala sesuatu merupakan obyek, termasuk variabel juga merupakan
obyek.

Karenanya suatu varabel juga memiliki berbagai sifat yang diwujudkan dalam property,
event, dan
function. Sifat-sifat tersebut dapat diwariskan ke obyek lain, atau suatu variabel dapat
mewarisi sifat
dari obyek di atasnya.
Sebagai contoh Kita dapat melakukan perhitungan besarnya dGajiTotal dan dPajak di
atas dengan
memanfaatkan fasilitas OOP yang terdapat dalam variabel tersebut. Gunakan keyword
untuk
melakukan perhitungan sebagai berikut:

dGajiTotal = dGajiTotal.Add(dGajiPokok, dTunjangan)


dPajak = dGajiTotal.Multiply(0.1, dGajiTotal)

Kita menggunakan function Add dan Multiply sebagai pengganti perhitungan


sebelumnya.
Argumen yang digunakan adalah dGajiPokok, dTunjangan dan dGajiTotal.

Menampilkan Hasil Perhitungan


Hasil perhitungan tersebut ditampilkan ke dalam dua buah label sebagai berikut :

Label1.Text = "Gaji Total = " & dGajiTotal.ToString


Label2.Text = "Pajak Kita = " & dPajak.ToString
Keyword ToString yang mengikuti setiap variabel bertujuan untuk mengkonversikan
hasil
perhitungan yang semula bertype decimal menjadi string.
Kita akan melihat bahwa perhitungan yang Kita lakukan dengan cara pertama akan
sama hasilnya
dengan menggunakan cara kedua yang memanfaatkan built in function dalam sebuah
variabel.

Aksesibilitas variabel:
Aksesibilitas variable adalah suatu keadaan dimana variable tersebut dapat diakses.
Beberapa kata kunci yang digunakan untuk mendeklarasikan variable (ataupun elemen-
elemen lain seperti kelas, fungsi, atau prosedur) berdasarkan aksesibilitas adalah
sebagai berikut:
1. Public
Variabel yang dideklarasikan dengan kata kunci Public memiliki ruang lingkup global
yang juga berarti dapat diakses dibagian manapun dalam suatu project, Bahkan
project lain yang memiliki referensi terhadap project trersebut.
2. Protected
Kata kunci Protected mendeklarasikan elemen yang hanya dapat diakses dari
sebuah kelas atau kelas turunannya. Kata kunci ini hanya digunakan pada level
kelas dan hanya untuk mendeklarasikan anggota dari sebuah kelas.
3. Friend
Kata kunci Friend mirip dengan Public, hanya saja ruang lingkupnya hanya dalam
sebuah project. Project yang lain tidak dapat mengaksesnya.
4. Protected Friend
Kata kunci Protected Friend merupakan gabungan dari Protected dan Friend, yang
berarti mendeklarasikan sebuah elemen untuk sebuah kelas atau turunannya dan
hanya dapat diakses dari dalam sebuah project saja.
5. Private
Kata kunci Private digunakan untuk mendeklarasikan elemen yang hanya dapat
diakses dari dalam modul, kelas, atau struktur dimana elemen tersebut
dideklarasikan. KAta kunci ini tidak dapat digunakan dari dalam sebuah prosedur.

Ruang Lingkup dan Type Variabel


Sebuah variabel memiliki ruang lingkup (scope) tertentu, tergantung dengan cara
bagaimana variabel tersebut dideklarasikan. Terdapat 3 macam scope suatu varibel :
1. Procedure level / local scope
2. Module level
3. Variabel Public
Masing-masing scope tersebut dapat dijelaskan sebagai berikut :

Procedure level / local scope


Apabila suatu variabel dideklarasikan dalam suatu prosedur tertentu, maka variabel
tersebut hanya
dapat diakses dan berlaku untuk prosedur tersebut saja. Perhatikan contoh kode
berikut :
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles
Button3.Click
Dim sPesan As String
sPesan = "tes Variabel local"
MessageBox.Show(sPesan, "Variabel local", MessageBoxButtons.OK, _
messageBoxIcon.Information)
End Sub

Variabel sPesan dideklarasikan di dalam prosedur Button3_Click sehingga hanya


berlaku di dalam
prosedur tersebut saja. sPesan tidak dapat diakses dari luar Button3_Click. Apabila Kita
menggunakan variabel yang hanya dipakai dalam suatu prosedur tertentu maka
sebaiknya Kita
menggunakan jenis variabel ini.
Pengertian prosedur di sini menyangkut function, event, dan properti, sehingga tidak
terbatas pada
event saja sebagaimana dicontohkan di atas.
Karena variabel ini scope nya lokal untuk prosedur tertentu saja maka nama variabel
tersebut hanya
berlaku di dalam prosedur dimana variabel tersebut dideklarasikan. Misalkan Kita
memiliki function
bernama A dan memiliki variabel bernama sNama. Kemudian Kita memiliki sebuah
event B dan
memiliki variabel bernama sama yaitu sNama. Kedua variabel tersebut tidak akan saling
berhubungan dan tetap terpisah nilainya karena dideklarasikan secara lokal di dalam
prosedur
masing-masing.

Module Level
Kita dapat membuat suatu variabel yang dapat diakes dari prosedur manapun dalam
suatu file.
Misalkan Kita ingin mendeklarasikan suatu string koneksi yang akan dipakai terus
menerus di
dalam suatu module. Maka Kita harus mendeklarasikan variabel tersebut di bagian
deklarasi module
sebagaimana contoh berikut :
Terlihat ada 6 variabel yang dideklarasikan di bagian Declaration sebuah form bernama
Form1. Selanjutnya variabel yang dideklarasikan di bagian ini akan dipakai untuk
melakukan berbagai perhitungan di tiap prosedur. Kita dapat membuka source code
yang disertakan untuk meneliti lebih jauh bagaimana variabel tersebut dipakai.
Kita harus berhati-hati menggunakan variabel jenis ini, karena nilai suatu variabel akan
terus berubah mengikuti perlakuan di setiap prosedur yang mengaksesnya. Sebaiknya
Kita hanya menggunakannya apabila memang benar-benar diperlukan. Untuk
mempermudah menelusuri error dan maintenance aplikasi Kita dapat menggunakan
variabel dengan scope local.
Variabel jenis ini hanya berlaku untuk module dimana variabel tersebut dideklarasikan.
Variabel ini tidak dapat diakses dari module lain meskipun berada dalam sebuah Project
aplikasi yang sama. Apabila kita membutuhkan variabel yang dapat diakses dari module
lain maka dapat digunakan variabel Public/Global

Variabel Public/Global
Cara pendeklarasian variabel jenis ini hampir sama dengan jenis module level dengan
menambahkan kata Public sebagai pengganti keyword Dim. Variabel ini dapat diakses
dari module lain, dan bahkan dapat diakses oleh Project lain selama Project tersebut
membuat reference ke Project dimana variabel tersebut dideklarasikan.
Misalkan Kita memiliki Class yang digunakan untuk membuka dan menutup koneksi
database. Maka Kita dapat mendefinisikan variabel untuk koneksi sebagai Public
sehingga form, Class, maupun Project lain dapat mengakses variabel tersebut dan
melakukan koneksi ke database dengan memanfaatkan Class tersebut.
Pada contoh deklarasi di atas variabel cn dirubah deklarasinya menjadi code berikut :

Public cn As SqlClient.SqlConnection

Kita akan banyak menggunakan variabel jenis ini pada saat mempelajari teknik
reference dalam mengakses berbagai komponen yang terdapat di VB.NET maupun
yang kita buat sendiri.
Type Data Pada Variabel
Setiap variabel harus dideklarasikan type datanya sehingga VB mengalokasikan sumber
daya yang lebih efisien untuk variabel tersebut. Kita harus memahami dengan baik tiap
jenis type data dan kapan type data tertentu digunakan.
Misalnya Kita menggunakan type data String untuk menyimpan nama seseorang, dan
menggunakan Byte untuk menyimpan umurnya. Kita harus memilih type data dengan
ukuran dan akurasi paling efisien dan cocok sesuai tujuan Kita.
Contoh lain bila Kita ingin melakukan kalkulasi dengan presisi tinggi, maka dapat
digunakan type data Double, sedangkan untuk menyimpan umur seseorang yang tidak
mungkin lebih dari 100 tahun maka digunakan type Byte.
Tabel berikut merupakan daftar type data yang dapat Kita gunakan lengkap dengan
ukuran dan scopenya:

Berdasarkan tabel diatas Kita dapat memilih penggunaan type data yang paling sesuai
dengan kebutuhan dalam sebuah variabel.
Prinsip utama yang perlu diperhatikan dalam pemilihan adalah jangan menggunakan
tipe data yang yang ukurannya berlebihan dibanding kebutuhan Kita. Sesuaikan pula
dengan presisi yang dikehendaki dalam aplikasi.

Misalnya untuk membuat variabel yang berisi jumlah anak dalam keluarga, Kita
menggunakan type Integer. Tentunya ini tidak sesuai karena type Integer berukuran 4
byte dalam memori, sedangkan kita tidak memerlukan nilai sampai dengan maksimum
2,147,483,647. Kita dapat menggunakan type data Byte dengan nilai maksimum 255
dan hanya membutuhkan 1 byte memori. Tentunya sesuatu yang wajar apabila jumlah
anak dalam keluarga tidak melebihi angka 255.
Dua contoh perhitungan berikut menampilkan hasil yang berbeda dari suatu perhitungan
yang diakibatkan penggunaan type data berbeda.
Dim sLuas As Single
Dim sPanjang As Single = 7.5689782
Dim sLebar As Single = 9.568972
'Hitung luas dengan tipe data single
sLuas = sPanjang * sLebar
'tampilkan di message box
MessageBox.Show(sLuas.ToString, "Hasil dg Type Single", _
MessageBoxButtons.OK, MessageBoxIcon.Information)

Apabila kode tersebut dieksekusi maka tampil hasil perhitugan sebagai berikut :

Perbedaan tersebut terjadi karena type data Single dan Double memiliki tingkat presisi
yang berbeda.
Contoh tersebut memberikan gambaran kepada Kita bagaimana pemilihan suatu
variabel menjadi sesuatu yang sangat mendasar dalam sebuah aplikasi.

Type Data Untuk Semua


Telah dijelaskan dalam bagian pendahuluan kuliah berseri ini bahwa dalam Visual
Studio .NET terdapat beberapa bahasa yang mendukung pemrograman .NET. Bahasa
tersebut adalah VB, C#, C++, dan J#. Selain itu terdapat pula beberapa third party
language yang juga mendukung pemrograman di lingkungan .NET.
Karena semua bahasa tersebut mengakses .NET Framework yang sama maka tidak
terdapat perbedaan type data dalam tiap-tiap bahasa. Ini berbeda dengan kondisi
sebelumnya dimana type data dalam VB berbeda dengan VC++ dan masing-masing
harus dipertimbangkan kompatibilitasnya.
Kompatibilitas data dan aplikasi dalam .NET lebih terjamin karena menggunakan library
yang sama dengan type data sama pula. Ini merupakan kabar gembira bagi sebuah tim
pengembang aplikasi yang terdiri dari berbagai programmer dengan keahlian bahasa
yang berbeda.

Konversi Variabel
Pada saat tertentu mungkin Kita memerlukan konversi dari satu type data ke type lain.
VB .NET menyediakan fungsi CType untuk mengkonversikan variabel. Contoh berikut
mengkonversikan variabel umur yang semula bertipe String menjadi Single.

Dim sUmur As String = 5.5


Dim bUmur As Single = CType(sUmur, Single)
MessageBox.Show(bUmur, "Hasil Konversi", MessageBoxButtons.OK, _
MessageBoxIcon.Information)

Inti konversi adalah memasukkan obyek yang akan dikonversi sebagai argumen dari
CType dan menentukan variabel tujuan konversinya.

System Namespace
Dalam .NET sekumpulan kelas library yang memiliki fungsi tertentu disebut dengan
namespace. Karena .NET mendukung implementasi konsep OOP maka semua obyek
dalam setiap bahasa merupakan turunan dari Namespace tersebut. Type data yang
telah dijelaskan sebelumnya sebenarnya diturunkan dari System Namespace, yang
merupakan root namespace dalam sistem .NET.
Misalnya type data Decimal, ternyata diturunkan dari System Namespace yaitu
System.Decimal runtime structure. Demikian pula dengan type data yang lain, selalu
diturunkan dari namespace System tersebut.
Dengan demikian Kita memiliki cara lain dalam mendeklarasikan variabel dan
melakukan perhitungan sebagai berikut :

Dim dGaji As System.Decimal = 1000000


Dim sPajak As System.Decimal = 0.1
Dim dGajiTerima As System.Double = dGaji * (1 + sPajak)
MessageBox.Show(dGajiTerima.ToString, "Hasil Hitung", _
MessageBoxButtons.OK)

Mungkin Kita bertanya, mengapa pendeklarasian Decimal tetap dapat dibenarkan


daripada secara lengkap menyebutkan System.Decimal ? Jawabannya adalah karena
VB secara default telah menyertakan namespace System sebagai reference library
dalam setiap Project. Karena reference tersebut telah dibuat maka tidak menjadi
halangan apabila Kita langsung menyebutkan nama type datanya saja. Konsep ini
berlaku untuk semua namespace dalam .NET.
Apabila Kita perhatikan menu Solution Explorer maka terlihat beberapa namespace
telah direferensikan secara default, yaitu System, System.Data, System.Drawing, dan
seterusnya.
Kita dapat menambahkan refrensi tersebut sesuai dengan kebuthan dan jenis library
yang akan diakses. Pada bab-bab selanjutnya Kita akan mempelajari fungsi apa saja
yang tersedia dalam setiap namespace dan bagaimana cara penggunaannya.

Constant
Apabila sebuah variabel selalu memiliki nilai tetap dan tidak berubah-ubah di sepanjang
aplikasi maka lebih baik bila Kita mendefinisikannya sebagai constant. Misalnya dalam
sebuah aplikasi matematika yang memiliki variabel phi, dimana phi bernilai 3.14 yang
digunakan dalam perhitungan luas lingkaran dan volume tabung.
Menetapkan sebuah variabel tetap sebagai constant memiliki keuntungan karena
constant dieksekusi lebih cepat daripada variabel. Ini berarti peningkatan performa
aplikasi yang dibangun.
Deklarasi constant sama dengan deklarasi variabel, dengan menambahkan keyword
Constant di depan nama variabel.

Const phi As single = 3.14


Dim sRadius As single = 20
Dim sKeliling As single
'melakukan perhitungan dengan constant
sKeliling = 2 * phi * sRadius

Semua jenis type data, scope, dan tata cara deklarasi yang berlaku pada variabel
berlaku pula untuk constant. Perbedaanya adalah apabila variabel dapat berubah-ubah
nilainya, sedangkan constant selalu bernilai tetap.
Aplikasi VB.NET Anda Yang Pertama
Pada bagian ini anda akan membuat sebuah aplikasi sederhana menggunakan VB.NET.
Meskipun aplikasi yang dibuat sangat sederhana, penulis berusaha untuk mengenalkan
anda pada berbagai feature baru dan tools dasar VB.NET , sehingga dapat digunakan
sebagai dasar pemrograman yang lebih kompleks.
Skenario yang digunakan dalam bab ini adalah membuat aplikasi sekaligus membahas
pengenalan Integrated Development Environtment (IDE) VB.NET. Aplikasi yang akan
dibuat adalah tanya jawab mengenai makanan favorit, dan aplikasi tersebut akan
memberikan komentar berdasarkan jenis makanan yang diinput user.

1 Membuat Project Baru


Mulailah dengan membuka Visual Studio .NET, maka akan tampil Start Page yang
menampilkan beberapa project terakhir yang anda akses. Pada bagian kiri terdapat
beberapa baris hyperlink yang menghubungkan anda dengan beberapa informasi
penting. Beberapa link memerlukan koneksi internet untuk mengaksesnya, seperti
Online Community dan web Hosting.

Untuk membuat Project baru pilih New Project untuk menampilkan dialog New Project
seperti berikut :
Dalam dialog New Project anda dapat memilih jenis aplikasi yang akan dibuat termasuk
bahasa pemrograman digunakan. Jenis aplikasi yang dapat dibuat adalah :

• Windows Application : adalah aplikasi yang paling umum dibuat, menggunakan


interface
windows. Biasanya Windows Application merupakan interface aplikasi sedangakan logic
aplikasi terdapat di dalam Class Library. Windows Application dapat berisi form, class,
XML file, maupun file VB Script dan Jscript.

• Class Library : merupakan fondasi dasar untuk membuat komponen yang


menjalankan fungsi tertentu. Class merupakan fondasi dasar untuk membentuk obyek
dalam pemrograman berorientasi obyek. Class Library tidak memiliki interface tertentu
seperti form, tetapi dapat diakses oleh aplikasi lain untuk menjalakan berbagai fungsi
yang terdapat di dalamnya. Class Library dapat disamakan dengan teknologi ActiveX
DLL (.dll) dan ActiveX EXE dalam pemrograman VB6.

• Windows Control Library : tidak puas dengan built in control yang disediakan VS
.NET ? Anda dapat berkreasi membuat kontrol sendiri dan memasukkan berbagai fungsi
yang anda inginkan di dalam kontrol tersebut. Fasilitas untuk membuat kontrol tersebut
adalah Windows Control Library. Kontrol ini sama dengan ActiveX Control (.ocx) dalam
pemrograman VB6.

• ASP .NET Web Application : adalah project yang digunakan untuk membuat aplikasi
web. Teknologi yang digunakan adalah ASP .NET yang memiliki berbagai kelebihan
dibandingkan ASP klasik. Perubahan utamanya adalah dapat diprogram menggunakan
berbagai bahasa .NET seperti VB, C++, C# maupun J#. ASP .NET juga menyediakan
berbagai kontrol yang bersifat event drivent programming sehingga lebih menghemat
waktu pembuatan aplikasi.

• ASP .NET Web Service : Web service merupakan salah satu ide utama dalam .NET.
Anda dapat membuat web service dan meletakkannya di web server untuk diakses
berbagai aplikasi. Sebuah web service dapat diakses oleh aplikasi windows, web,
console, maupun mobile device. Web service hampir sama dengan Class Library,
perbedaan utamanya adalah web service tersebut diletakkan di web server sehingga
dapat diakses dengan lebih mudah dan tidak terbatas pada aplikasi berbasis windows
saja.

• Console Application : merupakan aplikasi dengan tampilan text mode atau DOS.
Aplikasi jenis ini biasa digunakan sebagai monitoring service atau remote application
dimana sumber daya komputer dan bandwith sangat terbatas.

• Windows Service : adalah aplikasi yang berjalan sebagai service di windows, yang di
load bersamaan dengan proses start up windows. Aplikasi ini berjalan di background
dan biasanya tidak memiliki interface. Penerapan aplikasi ini misalnya untuk pembuatan
scanning antivirus, server FTP, dan remote server.

• Web Control Library : Hampir sama dengan Windows Control Library tetapi
digunakan untuk aplikasi web.
2 VB .NET IDE
Dalam latihan ini anda akan membuat Windows Application sehingga anda harus
memilih jenis project tersebut. Di bagian bawah jendela New Project terdapat dialog
untuk menentukan letak file aplikasi. VB selalu membuat satu direktori untuk menyimpan
satu project dengan nama sesuai nama project tersebut. Berikan nama Latihan 01 untuk
project anda dan klik OK untuk melanjutkan.

Tampilan Windows Form Designer adalah sebagai berikut :

Gambar di atas menjelaskan garis besar IDE yang biasa digunakan. Di bagian atas
terdapat toolbar yang sudah tidak asing lagi, mencakup berbagai fasilitas editing seperti
cut, copy, paste, dan tombol Start. Di bagian kanan terdapat Solution Explorer yang
menampilkan berbagai obyek dalam aplikasi seperti form, class dan component.
Anda dapat berpindah dari mode View Code ke View Designer atau sebaliknya. View
Code menampilkan coding untuk obyek-obyek dalam aplikasi, sedangkan View
Designer menampilkan representasi fisik obyek tersebut.
Di bawah Solution Explorer terdapat Properties Window yang berisi properti obyek yang
sedang aktif di bagian designer. Anda dapat mengatur properti obyek di bagian ini baik
dari segi tampilan maupun perilaku obyek tersebut dalam aplikasi. Selain menetapkan
properti di bagian ini dapat pula mengeset properti secara run time dengan
menggunakan coding.
Bagian yang sering digunakan adalah Toolbox yang terdapat di sisi kiri, yang pada
gambar di atas sengaja dihide untuk menghemat tempat. Gambar di bawah
menampilkan Toolbox yang berisi berbagai macam obyek untuk ditempatkan di form.

Toolbox Windows Form berisi obyek untuk mendesain form seperti TextBox, Label,
CheckBox, dll.
Kontrol yang mungkin paling sering anda gunakan adalah TextBox, Label, dan Button.
Anda dapat mengklik ganda atau dengan drag-drop untuk meletakkan suatu kontrol ke
form.
3 Memulai Coding
Untuk membuat aplikasi pertama ini letakkan kontrol Label, TextBox, dan Button seperti
gambar berikut :

Selanjutnya ubahlah properti Text dari TexBox menjadi Vote, dengan mengisikan text
tersebut diProperties Window seperti gambar berikut.
Untuk mengisikan kode program di button, klik ganda button yang bertuliskan Vote dan
tuliskan kode berikut :

Kode tersebut akan dieksekusi setiap kali user mengklik Button1 dan VB akan
mengealuasi input dari user yang diletakkan di TextBox1. Event yang ditangkap adalah
Button1_Click yang terjadi setiap kali user mengklik tombol tersebut.
Selanjutnya klik ganda di ruang kosong Form untuk menampilkan Event Form1_Load
dan isikan kode berikut :

Kode tersebut akan mengeset test di Label1 yang semula blank menjadi bertuliskan
"Apa makanan favorit anda ?".
Untuk mengetes program tersebut jalankan dengan menekan tombol F5 atau menekan
toolbar Start.
Masukkan kata “sate” dan tekan tombol Vote. VB akan menampilkan message box
dengan pesan sesuai yang telah anda masukkan di kode program yaitu "Enak, tetapi
kolestrol tinggi".
Masukkan kata “pecel” dan “soto” lalu lihatlah bagaimana aplikasi tersebut bereaksi.
Agar lebih sempurna, ubahlah tetxbox1 menjadi huruf capital.

Sehingga code program nya menjadi:

Bagaimana jika user tidak memasukan input sama sekali dan langsung menekan tombol
Vote ?
Dalam aplikasi lama anda, responnya adalah “No Commnet”. Anda dapat menampilkan
pesan yang lebih bersahabat dengan menambahkan baris kode berikut sebelum struktur
IF…THEN….berakhir, yaitu tepat di bawah variabel bernilai “MIE AYAM”
Sehingga apabila user tidak memasukkan makanan tertentu maka ditampilkan pesan
sebagai berikut :

Beri Nilai