Anda di halaman 1dari 47

Kitab Suci Programmer

VISUAL BASIC
2005

Jasakom

http://www.Jasakom.com/Penerbitan
S'to
Kitab Suci Programmer : Visual Basic 2005

Hak Cipta © 2007 pada penulis

Hak Cipta dilindungi Undang-Undang. Dilarang memperbanyak atau memindahkan


sebagian atau seluruh isi buku ini dalam bentuk apapun, baik secara elektronis maupun
mekanis, termasuk memfotocopy, merekam atau dengan sistem penyimpanan lainnya,
tanpa izin tertulis dari Penulis dan Penerbit.

ISBN : 978-979-1090-05-6

Cetakan pertama : April 2007

Publisher Contact
Jasakom PO Box 6179 JKB
Fax : 021-56957634
Web Site HP : 0888-1911091
http://www.jasakom.com/penerbitan
Cover Design & Idea & Layout
Email S'to
admin@jasakom.com

Ketentuan pidana pasal 72 UU No. 19 tahun 2002

1. Barang siapa dengan sengaja dan tanpa hak melakukan kegiatan sebagaimana dimaksud dalam pasal 2 ayat
(1) atau pasal 49 ayat (1) dan ayat (2) dipidana dengan pidana penjara paling singkat 1 (satu) bulan dan/atau
denda paling sedikit Rp. 1.000.000 (satu juta rupiah) atau pidana penjara paling lama 7 (tujuh) tahun dan/
atau denda paling banyak Rp. 5.000.000.000.00 (lima miliar rupiah).
2. Barang siapa dengan sengaja menyiarkan, memamerkan, mengedarkan, atau menjual kepada umum suatu
Ciptaan atau barang hasil pelanggaran Hak Cipta atau Hak Terkait sebagaimana dimaksud pada ayat (1), dipi-
dana dengan pidana penjara paling lama 5 (lima) tahun dan/atau denda paling banyak Rp. 500.000.000,00
(lima ratus juta rupiah)
Kata Pengantar
Visual Basic merupakan bahasa pemrograman yang sangat populer
dan digunakan oleh jutaan orang didunia ini. Keberhasilan terbesar
bisa dikatakan terjadi ketika Visual Basic mencapai versi 6.

Keberhasilan ini sangat terasa, bahkan sampai detik ini. Ketika saya
jalan-jalan ke toko buku, masih banyak penulis yang menulis tentang
pemrograman Visual Basic 6, padahal versi terbarunya sudah muncul
dan featurenya sangat-sangat pantas untuk menggantikan Visual Basic
6. Visual Basic 2005 bisa dikatakan sebagai Visual Basic 6 killer.

Melalui buku ini, saya mengharapkan bisa menunjukkan kepada Anda


feature dari Visual Basic 2005 dan juga konsep-konsep yang Anda bu-
tuhkan untuk menjadi programmer yang sesungguhnya.

Saya berharap, buku ini bisa menuntun Anda melalui "Jalan yang
benar" untuk memulai programming dengan Visual Basic 2005. Buku
ini sangat jauh dari lengkap dan hanya membahas kulit dari Visual Ba-
sic. Anda tetap membutuhkan referensi lain, baik buku, web site, artikel
serta sumber-sumber lainnya atau Anda bisa menunggu buku saya
selanjutnya mengenai programming ini jika buku ini bisa memuaskan
pembaca tentunya.

Akhir kata, semoga buku ini berguna bagi Anda semua dan juga bagi
nusa, bangsa, negara, dunia dan akhirat, baik surga maupun neraka.
Amin.

S 'to
email : sto@jasakom.com
http://www.jasakom.com/sto
CD Jasakom E-Learning
Daftar Isi
BAB 01. NET .NET .NET 13
Kompabilitas Antar Bahasa 14
Apa itu .NET Framework ? 14
Apa yang ditawarkan oleh .NET Framework 17
Managed dan Unmanaged Code 18
Neraka DLL 19

BAB 02.Visual Basic 2005, Action ! 21


Start Page 22
Program "Apa Kabar" 23
Memulai Project 24
Integrated Development Environment (IDE) 26
Tahap 1-Design 28
Tahap 2-Coding 30
Menyimpan Project, Struktur Direktory dan File 32
Menjalankan Program (Debug Mode) 37
Kompilasi Akhir (Release Mode) dan Mendistribusikan Pro- 39
gram
Melihat "Isi Hati" Program, HACK IT ! 41
Mengenai masalah ini, kamu terlalu melebih-lebihkan S'to 42
Mencegah Hacker Melakukan Disassembly dan Decom- 45
piler

BAB 03.Object, Method, Event dan Property 47


Object 48
Property 49
Events 52
Event Handler 53
Method 59
BAB 04.Feature "Oh Yes" Visual- Studio 2005 61
Snap 62
Code Snippets 62
IntelliSense 65
TODO 67

BAB 05.Structure, Class dan Module 69


Structure 70
Class 73
Membuat Class 73
Anggota Class, Field dan Method 76
Class dengan Constructor 78
Si Tukang Sampah Garbage Collection 80
Anggota Class, Property 81
Class Method Overloading 85
Inherits atau Keturunan 87
Overrides 89
Module 91

Bab 06.Namespace 97
Menggunakan Namespace 98
Perintah imports 101
Global Imports 102
File Assembly Namespace 104

BAB 07.Namesapce My 107


Project : Mendapatkan Informasi Komputer 109
Project : Settings yang mudah dan fleksibel 111
BAB 08.Type Data dan Variable 117
Value dan Reference Type 119
Memilih Type Data yang tepat ? SEPELE ! 122
Deklarasi Variable dan Scope 124
Dim 125
Private 126
Public 128
Semuanya adalah type data 130
Deklarasi Variable Spesial, Enumeration dan Constanta 132
Konstanta 132
Enumeration 133

BAB 09.ARRAY 137


Mengubah ukuran array 138
Menelusuri semua element array 139
Mengurutkan data di dalam array 141
Meng-copy isi array 142

BAB 10.Operator dan Operator 145


Perbandingan baru, AndAlso dan OrElse 147
Membandingkan Object dengan Is dan IsNot 150

BAB 11.Looping dan Execution Flow 153


Percabangan IF 154
Percabangan SELECT CASE 155
Perulangan Do Loop 156
Perulangan FOR NEXT 157
Perulangan FOR EACH 159
BAB 12.Method (Fungsi & Prosedur) 161
Method dengan parameter 163
Parameter Optional 167

BAB 13.Tidur dengan Form 169


Menampilkan Form 170
OK dan Cancel pada Form 174
Ukuran Control yang dinamik dalam Form 175
Komunikasi antar Form 177
Form Bolong 180
Form Semi Transparan 182

Bab PENUTUP. Apa kekurangan buku ini dan 183


kemana setelah ini
BAB 01. NET .NET .NET
BAB 01
. NET .NET .NET

T
IME OUT !! TIME OUT !! Ok, dengan sangat berat hati perlu
Anda ketahui bahwa bahasa pemrograman pengganti telah
hadir. Anda bisa mengganti atau setidaknya harus bersiap-siap
mengganti si tua Visual Basic 6 Anda dengan bahasa pemrograman
Visual Basic terbaru dari Microsoft, Visual Basic 2005. Kenapa saya
mengatakan upgrade dari VB 6 ke VB 2005, bukannya VB.NET 2002
atau VB.NET 2003 ke VB 2005 ? karena VB 6 adalah produk yang
dikeluarkan pada tahun 1998 dan menuai sukses paling besar sampai
sekarang.
Ada banyak alasan kenapa sudah waktunya bagi Anda untuk
mengganti ke versi terbaru ini. Masalah utama yang terjadi bukanlah
karena Microsoft sudah tidak mendukung Visual Basic 6 lagi karena
Visual Basic 6 sudah terbukti handal. Bukan juga karena Visual Basic
2005 sudah mengadopsi OOP secara penuh karena sudah terbukti
banyak yang bertambah bingung dengan adanya OOP.
Pergantian ke Visual Basic 2005 lebih dikarenakan bahasa pemrograman
ini akan membantu Anda membangun aplikasi dengan cara yang
lebih mudah dan cepat dalam hal perancangan layar, integrasi antar
bahasa pemrograman, pembuatan aplikasi internet, aplikasi mobile,
aplikasi dengan teknologi terkini dan lain sebagainya (ya, saya sudah
membuktikannya dan saya bukan staff marketing Microsoft !).
Anda sudah mendengar kabar baiknya, sekarang waktunya untuk
mendengar kabar buruk.

13
Jasakom
BAB 01. NET .NET .NET
Visual Basic 2005 adalah bahasa baru dengan gaya lama. Akibat
dari perubahan yang termasuk revolusioner ini, tahapan belajarpun
menjadi tidak semudah membalikkan telapak tangan. Terdapat banyak
sekali perubahan gaya pemrograman, perubahan type variable sampai
dengan perubahan pola pikir yang akan saya focuskan pada buku ini.

Kompabilitas Antar Bahasa


Jika Anda adalah seorang programmer bahasa Visual Basic, sedangkan
seoarang rekan Anda adalah seorang programmer bahasa C#, rekan
yang lainnya C++, maka sekarang Anda bertiga tidak perlu lagi baku
hantam dengan keyboard untuk menentukan bahasa yang akan
digunakan. Masing-masing pihak bisa tetap menggunakan bahasanya
masing-masing karena kompabilitas antar bahasa sudah tidak menjadi
masalah lagi. Visual Basic bisa menggunakan fungsi yang dibuat
dengan C#, demikian juga sebaliknya.
Dahulu, string di Visual Basic 6 tidaklah sama dengan string di Visual
C++ namun kini tidak lagi. String adalah string. String di Visual Basic,
sama dengan String di C++ sama dengan string di C# dan sama dengan
string yang dikenal oleh semua anggota keluarga Visual Studio 2005.
Kompabilitas dan juga segala persamaan antar bahasa-bahasa yang
saling berbeda ini dikarenakan penggunakan.NET framework. Semua
bahasa akan memanfaatkan .NET Framework ini sehingga Anda
akan merasakan performance yang sama antara program yang dibuat
dengan C++ dan Visual Basic. Jadi tidak ada lagi kebanggaan bagi
pemakai C++ atau keminderan pemakai Visual Basic.

Apa itu .NET Framework ?


Apa sebenarnya .NET Framework itu ? Jika Anda menghubungkan
.NET dengan internet maka itu adalah sebuah kesalahan. Berbagai
definisi tentang .NET Framework membuat saya sendiri bingung
dan supaya Anda tidak bingung saya hanya bisa mengatakan kepada
Anda bahwa saya tidak ingin mendefinisikan .NET Framework ini
(maaf, mengecewakan), namun saya akan menjelaskan apa itu .NET
Framework.
14
Jasakom
BAB 01. NET .NET .NET
Anda tentunya sudah mengetahui bahwa Microsoft Office tidak bisa di
install di atas linux (dalam kondisi normal). Microsoft Office juga tidak
bisa Anda install di atas DOS. Anda hanya bisa menginstall Office
ketika sudah ada sistem operasi Microsoft windows terlebih dahulu.
Jadi bisa dikatakan bahwa Microsoft Office berjalan diatas Microsoft
Windows !
Aplikasi-aplikasi yang Anda buat dengan Visual Studio 2005,
termasuk dengan bahasa Visual Basic 2005 ini, hanya bisa berjalan di
atas .NET Framework. Ketika saya mencoba menjalankan program
Js-eLearning.exe yang dibuat dengan bahasa .NET di sistem operasi
Windows XP (saya menggunakan service pack 2), program tidak akan
bisa dijalankan sama sekali dan akan langsung menampilkan error
tanpa berfikir dua kali.

Gambar 1.1. Error


ketika menjalan-
kan program .NET

File dengan extensi .exe adalah file yang bisa dieksekusi secara
langsung karena berisi bahasa mesin yang memerintahkan CPU untuk
melakukan tugas-tugas tertentu. Ketika Anda menjalankan program
.exe yang dibuat dengan bahasa .NET, mesin menjadi bingung karena
walaupun ber-ektensi .exe, ternyata bahasa didalamnya tidak dipahami
oleh mesin, sehingga komputer akan menampilkan "Application
Error".
Hal ini terjadi karena program .exe yang dibuat dengan bahasa .NET
sebenarnya bukanlah bahasa mesin umum yang dikenal selama
ini. Bahasa mesin (assembly) yang dihasilkan oleh kompiler .NET
dinamakan sebagai "Intermediate Language (IL)". Kenapa dinamakan
sebagai bahasa mesin (Assembly) ? Bukankah assembly artinya bahasa
yang dimengerti oleh mesin ?
IL memang bahasa mesin namun bukan bahasa mesin untuk CPU
nyata, melainkan bahasa mesin untuk CPU Virtual yang diciptakan
oleh Microsoft. Jadi hanya CPU Virtual inilah yang memahami apa
maunya program .exe yang telah dibuat oleh bahasa .NET.
15
Jasakom
BAB 01. NET .NET .NET
CPU Virtual ini diciptakan oleh program .NET Framework. Pada
sistem operasi Windows Vista, .NET Framework versi 3.0 sudah secara
otomatis tersedia namun untuk sistem operasi sebelumnya seperti
Windows XP, 2000, dkk, Anda harus menginstall .NET Framework
ini.
Anda bisa menginstall .NET Framework versi 2.0 dengan
mendownload dan menginstall file dotnetfx.exe yang berukuran 22.4
MB di situs Microsoft http://www.Microsoft.com/downloads/details.
aspx?familyid=0856eacb-4362-4b0d-8edd-aab15c5e04f5&displaylang=
en.
Salah satu tugas dari .NET Framework ini adalah menerjemahkan
perintah-perintah dalam bahasa IL menjadi bahasa assembly murni
yang bisa dijalankan oleh CPU yang sebenarnya. Jika digambarkan,
.NET Framework merupakan sebuah layer yang berada ditengah-
tengah antara aplikasi yang dibuat dengan .NET dan Sistem operasi
windows seperti berikut :

Saat buku ini ditulis, versi


terbaru adalah versi 3.0
yang baru saja di keluarkan.
Saat Anda menginstall
Visual Studio 2005, .NET
Framework (versi 2.0) sudah
secara otomatis akan di
install sehingga Anda tidak
perlu lagi mendownload
dan menginstallnya secara
manual.
Jadi ketika Anda menjalankan sebuah program .exe, .NET Framework
akan secara otomatis menangkap dan memeriksa file .exe tersebut
terlebih dahulu. Apakah file exe biasa atau file .exe yang dibuat oleh .NET
Framework. Apabila file exe biasa, maka file tersebut akan dijalankan
seperti biasanya namun apabila file tersebut dibuat dengan bahasa
.NET, maka .NET framework akan menerjemahkan bahasa yang ada
didalamnya menjadi bahasa mesin murni sebelum melemparkannya
kepada CPU atau Windows untuk dijalankan.

16
Jasakom
BAB 01. NET .NET .NET
Saya tidak paham, kenapa Microsoft tidak membuat extention
yang baru untuk program yang dibuat dengan bahasa .NET dan
tidak menggunakan extention .exe yang sudah ada agar tidak
membingungkan.
Yang perlu Anda perhatikan disini adalah, aplikasi yang Anda bangun
nantinya membutuhkan .NET Framework, karena itu semua komputer
windows XP yang hendak menggunakan aplikasi Anda, harus
menginstall .NET Framework atau aplikasi Anda tidak bisa dijalankan.
Repot memang dan ini adalah kerepotan terbesar dari aplikasi .NET
saat ini.

Apa yang ditawarkan oleh .NET Framework


Anda sudah melihat apa itu .NET Framework dan bagaimana aplikasi-
aplikasi yang dibangun dengan Visual Studio tergantung dengan
.NET Framework. Lalu apa saja kelebihan dari .NET Framework ?
kenapa Microsoft menerapkan .NET Framework ? Berikut beberapa
alasannya:

• Karena kode program akan di tangani terlebih dahulu oleh .NET


Framework sebelum diberikan ke sistem operasi, kode-kode yang
membahayakan sistem operasi secara keseluruhan bisa dicegah.
Dengan konsep semacam ini, diharapkan program-program yang
menyebabkan windows menjadi hang bisa teratasi (kecuali .NET
Framework nya sendiri bermasalah tentunya)
• Kini program Anda tergantung pada .NET Framework, bukan pada
sistem operasi Windows lagi atau CPU Intel. Artinya, dengan kode
yang sama, exe yang sama, program yang sama, bisa dijalankan
dimana saja (linux, windows mobile, solaris, dlsb) asalkan tentu saja
ada .NET Framework disitu. Tampaknya, langkah ini merupakan
perang jangka panjang untuk mematikan Java.
• Dengan adanya .NET Framework, kini Anda bisa menggunakan
bermacam-macam bahasa pemrograman yang berbeda dengan
menghasilkan produk yang sama persis. Langkah ini menyatukan
semua programmer yang mempunyai bahasa pemrograman yang
berbeda-beda.

17
Jasakom
BAB 01. NET .NET .NET
• Andaikan persaingan sistem operasi di masa depan dimenangkan
oleh Linux, Microsoft masih mempunyai senjata pamungkas yang
lain yaitu semua aplikasi dibangun diatas .NET Framework yang di
miliki olehnya.

Managed dan Unmanaged Code


Jika Anda membaca buku-buku dan juga berbagai artikel tentang
pemrograman .NET, Anda akan banyak membaca istilah Managed dan
Unmanaged code. Istilah ini muncul sehubungan dengan penggunaan
.NET Framework sebagai perantara antara program dengan sistem
operasi.
Managed code artinya code atau program yang menggunakan.NET
Framework atau bisa dikatakan code program yang Anda bangun
dengan teknologi .NET. Sebaliknya, unmanaged code adalah kode-
kode program yang dibuat tidak dengan teknologi .NET.
Kenapa dinamakan sebagai manage code, alasannya sangat sederhana.
.NET Framework melakukan banyak sekali pemeriksaan dan
penanganan dalam banyak hal sebelum sebuah code dieksekusi, seperti
pemeriksaan overflow, pemeriksaan security, dan lain sebagainya.

Ketika pertama kali mendapatkan bahwa sebuah source code yang di


copy ke sebuah folder di network yang di-sharing dengan hak akses
penuh ternyata membuat program tersebut tidak bisa dijalankan
membuat team developer yang saya tangani pusing tujuh setengah
keliling. Ternyata, file atau program yang dijalankan dari lokasi
network akan diperlakukan dengan cara yang berbeda oleh security
yang ada di dalam .NET Framework. Rumit dan susah memang
apabila Anda tidak memahami konsepnya.

18
Jasakom
BAB 01. NET .NET .NET
Neraka DLL
Neraka DLL atau DLL Hell, sangat terkenal di kalangan pengguna
Windows. Jika Anda pernah menginstall aplikasi games yang
menyebabkan MS Office Anda menjadi tidak bekerja, atau bahkan
menyebabkan Windows Anda menjadi ngaco, maka salah satu sebabnya
adalah apa yang dinamakan sebagai DLL Hell (neraka DLL).
Fungsi file DLL yang sangat diagung-agungkan adalah penggunaan
bersama. Artinya sebuah file DLL (misalnya komponen.dll) bisa
digunakan oleh beberapa program. Dengan penggunaan bersama ini,
artinya Anda akan menghemat harddisk (karena hanya dibutuhkan
1 file) dan Anda akan menghemat memory (karena hanya 1 file DLL
yang dijalankan walaupun Anda menjalankan beberapa program
sekaligus).
Semuanya tampaknya sangat indah sampai Anda menyadari bahwa
ternyata program yang baru di install, mengganti file DLL yang
digunakan bersama dengan versi yang lebih lama. Pergantian file DLL
dengan versi yang lebih lama ini, sudah tidak perlu dijelaskan lagi
karena sudah pasti akan menyebabkan aplikasi lain yang menggunakan
file DLL ini menjadi error atau menjadi berantakan kerjanya.
Pembaharuan atau update file DLL ke versi yang lebih baru tidak lebih
baik ceritanya. Versi yang lebih baru tidak selalu kompatible dengan
versi yang lebih lama. Anda tentu pernah merasakan bagaimana
Microsoft Office versi lama tidak bisa membuka file Microsoft Office
versi yang baru.
Hal yang sama terjadi disini. Ketika program yang baru di install dengan
entengnya mengganti file DLL ke versi yang lebih baru, program lain
yang membutuhkan DLL versi yang lebih lama tanpa disadari menjadi
bermasalah dan tidak bisa dijalankan.
Terkadang tampak sangat aneh, kenapa pergantian sebuah DLL ke
versi yang lebih baru bisa menimbulkan sebuah masalah. Bukankah
sebuah versi yang lebih baru artinya sebuah perbaikan ? Tidak juga.
Terkadang, sebuah perbaikan ternyata menimbulkan permasalahan
ditempat lain.

19
Jasakom
BAB 01. NET .NET .NET
Selain itu, ada juga program-program yang menggunakan fungsi-
fungsi "undocumented" atau fungsi-fungsi tidak "resmi" di dalam
sebuah DLL. Ketika DLL di upgrade ke versi yang lebih baru, fungsi
"undocumented" ini dihilangkan, akibatnya program yang tergantung
dengan fungsi tersebut menjadi tidak bisa dijalankan lagi.
Kini, Microsoft mencoba mengatasi permasalahan ini dengan teknologi
.NET(http://msdn.Microsoft.com/library/default.asp?url=/library/
en-us/dndotnet/html/dplywithnet.asp). Alasannya, saat ini harddisk
sudah murah dan memory juga sudah murah (apa katamu deh Bill).
Caranya adalah, aplikasi yang Anda bangun dengan .NET akan
menyimpan informasi tentang file-file yang dibutuhkan beserta
versi-versinya. .NET Framework sekarang juga bisa menangani dan
menyimpan file-file dengan nama yang sama namun dengan versi
yang berbeda-beda dalam sebuah komputer.
Dengan demikian, program .NET bisa menggunakan file DLL dengan
versi spesifik sehingga update yang terjadi, tidak akan merusak
atau menimpa file yang sudah terbukti bagus digunakan oleh suatu
aplikasi. Dengan cara seperti ini pula, Anda bisa menghilangkan proses
instalasi aplikasi atau program dan menggunakan cara yang sangat
menyenangkan di jaman DOS dulu.
Anda tinggal mengcopy seluruh direktory program Anda dan
menjalankannya di komputer lain. Cara ini dinamakan sebagai sistem
XCOPY (xcopy adalah perintah di dalam DOS yang akan mengcopy
seluruh file dan direktory dari suatu tempat ke tempat lainnya). Benar-
benar kenangan lama yang kembali bersemi.

20
Jasakom
BAB 02. Visual Basic 2005, Action !
BAB 02
Visual Basic 2005, Action !

P
ada buku ini, saya menggunakan Visual Studio 2005 Profesional
Edition, namun Anda juga bisa menggunakan versi-versi
yang lain dari Visual Studio 2005. Saya tidak tidak membahas
tentang instalasi Visual Studio 2005 ini karena saya yakin bahwa setiap
orang sudah berhak menyandang predikat MCSI (Microsoft Certified
Software Installer) karena mudahnya proses instalasi produk-produk
Microsoft.
Saya juga tidak membahas tentang versi-versi beserta perbedaan
diantara versi-versi Visual Studio karena ingin lebih berkonsentrasi
pada penggunaan Visual Studio ini. Anda bisa melihat berbagai
perbedaan yang ada untuk masing-masing versi Visual Studio dan
juga berbagai informasi lainnya pada situs Microsoft.

21
Jasakom
BAB 02. Visual Basic 2005, Action !
Start Page
Selesai instalasi, jalankan Visual Studio 2005. Anda akan mendapatkan
layar pertama seperti gambar 2.1 di bawah ini :

Gambar 2.1. Halaman Startup Visual Studio 2005

Tampilan awal yang dinamakan "Start Page" ini cukup menarik karena
Anda akan langsung disajikan berita-berita terkini tentang .NET (2)
yang diambil dari situs msdn yang akan diupdate setiap 60 menit.
Tentunya hal ini hanya bisa terjadi apabila Anda sedang terkoneksi ke
Internet.
Untuk merubah ataupun mengetahui sumber informasi dari Start Page
ini, bisa Anda lakukan melalui menu ToolsaOptionsaaktifkan "Show
all settings" aEnvironmentaStartup (Gambar 2.2).

22
Jasakom
BAB 02. Visual Basic 2005, Action !

Gambar 2.2.
Menu options
pada Visual
Studio 2005

Terlihat dari menu Options ini, bahwa halaman startup akan diambil
dari URL http://go.Microsoft.com/fwlink/?linkid=45331&clcid=409.
Jika Anda browse ke situs ini, Anda akan melihat bahwa URL ini
secara otomatis akan membawa Anda ke URL http://msdn.Microsoft.
com/vbasic/rss.xml.
Pada Startup Page ini, Anda juga bisa melihat project-project yang
pernah dibuka atau dibuat sebelumnya pada bagian "Recent Projects"
yang terletak di sebelah kiri atas (1).

Program "Apa Kabar"


Atas alasan cinta pada produk dalam negri, kita akan membuat
program "Apa Kabar" yaitu program yang akan menampilkan sebuah
kata "Apa kabar".
Dengan program yang sederhana ini, Anda akan belajar bagaimana
menggunakan interface Visual Studio, bagaimana melakukan kompilasi
sebuah program, bagaima file-file tersebut disimpan, serta tidak lupa,
saya juga akan menunjukkan bagaimana program yang telah Anda
buat dengan bahasa .NET ini ternyata dengan mudah bisa di-HACK !

23
Jasakom
BAB 02. Visual Basic 2005, Action !
Memulai Project
Untuk memulai membangun aplikasi dengan Visual Studio 2005, klik
menu FileaNew Project atau tekan tombol Ctrl+N. Pada kolom Project
Types, pilih Visual BasicaWindows.
Anda akan diberikan berbagai pilihan template yang terbagi menjadi
4 bagian "Project Types" yaitu Windows, Smart Device, Database dan
Starter Kits. Pada bagian Windows, Anda akan melihat template-
template yang tersedia seperti Windows Application yang akan kita
fokuskan pada buku ini, Class Library, Windows Control, dan lain
sebagainya (gambar 2.3).
Gambar 2.3. Template

Template yang ditampilkan ini diambil dari dua direktory yaitu :


1. C:\Program Files\Microsoft Visual Studio 8\Common7\IDE\
[JenisTemplate]\Visual Basic\1033 yang menyimpan template-
template bawaan dari Visual Studio
2. C:\Documents and Settings\Name\My Documents\Visual Studio
2005\Templates yang menyimpan template yang dibuat sendiri
oleh user (benar, Anda juga bisa membuat template ini).

24
Jasakom
BAB 02. Visual Basic 2005, Action !
[JenisTemplate] adalah direktory dengan nama berdasarkan jenis
templatenya seperti Templates, ProjectTemplates, ItemTemplates dan
SolutionTemplates. Jika Anda penasaran dengan angka 1033 pada
setiap direktory yang digunakan oleh Visual Studio, angka tersebut
sebenarnya menunjukkan versi internasional yang digunakan, dimana
1033 menunjukkan Visual Studio versi bahasa inggris.
Di dalam direktory ini, Anda bisa melihat lagi struktur direktory seperti
Database, SmartDevice, Starter Kits, Windows dan hei… bukankah
struktur direktory ini persis sama dengan pembagian "Project Types"?
Template bertugas menyiapkan environment (lingkungan) yang Anda

Gambar 2.4. Folder Templates


butuhkan untuk membangun sebuah aplikasi. Sebagai contoh, apabila
Anda ingin membuat sebuah aplikasi yang berjalan di dalam modus
text (dikenal dengan program DOS), Anda bisa memilih template
"Console Application". Template ini akan menyiapkan sebuah file
dimana Anda bisa memasukkan kode-kode Anda didalamnya.
Ketika Anda hendak membuat sebuah program Windows seperti
program pada umumnya dengan tampilan GUI yang bagus, Anda
bisa memilih template "Windows Application". Template ini akan
menyiapkan sebuah Form dimana Anda bisa memasukkan berbagai
control dan gambar ke dalamnya.
Anda bisa memilih template "Console Application" kemudian
menambahkan form secara manual kedalamnya, merubah beberapa
setting dan hasilnya adalah sebuah aplikasi windows, bukan console!.
Template hanya "membantu" Anda dalam setup awal dan tidak
menentukan hasil akhir apa yang Anda inginkan sehingga Anda tidak

25
Jasakom
BAB 02. Visual Basic 2005, Action !
perlu terlalu pusing dengan "harus memilih template yang mana" !
Pada buku ini, saya akan selalu menggunakan template "Windows
Application" kecuali dinyatakan lain. Pada form pemilihan template
ini, Anda juga diminta untuk memasukkan nama aplikasi yang
secara default terisi dengan "WindowsApplication1". Anda bisa
mengabaikannya saat ini. Selanjutnya, klik tombol OK untuk memulai
project baru.
Jika Anda orang yang kritis, tentunya Anda akan bertanya "kenapa
hanya diminta untuk memasukkan nama project dan tidak ada lokasi
tempat project tersebut ? disimpan dimanakah project yang kita buat ?"
Visual Studio 2005 menggunakan pendekatan yang berbeda mengenai
hal ini dan saya sangat setuju dengannya.
Jika Anda adalah programmer, tentunya Anda bisa memahami betapa
seringnya kita membuat aplikasi hanya sekedar mencoba beberapa
baris code. Setelah selesai mencoba, code-code tersebut sudah tidak
lagi dibutuhkan dan Anda bisa menghapus file-file yang tercipta di
dalam harddisk. Berapa kali Anda melakukan hal semacam ini ? saya
sangat-sangat sering melakukannya.
Kini Anda tidak perlu lagi berpusing ria selalu memberikan nama
untuk program yang hanya untuk coba-coba ini. Visual Studio secara
default, akan menyimpan semua file-file yang Anda buat ke folder
sementara (folder temporary) yang berada di C:\Documents and
Settings\[Nama User, contoh S'to]\Local Settings\Application Data\
Temporary Projects.
Setelah Anda memutuskan untuk benar-benar menyimpan project
yang sedang Anda bangun ini, barulah Visual Studio akan menanyakan
kepada Anda nama program dan lokasi dimana Anda hendak
menyimpannya. Saya akan membahasnya lebih lanjut pada bab ini.

Integrated Development Environment (IDE)


Tampilan berikutnya yang akan Anda dapatkan adalah tampilan
utama yang dinamakan sebagai IDE atau Integrated Development
Environment, yaitu suatu interface "terpadu".

26
Jasakom
BAB 02. Visual Basic 2005, Action !
Bagi Anda pemakai VB 6, tentunya tidak akan terlalu asing dengan
tampilan IDE semacam ini. Namun tidak terlalu asing tidak berarti
Anda bisa menggunakan IDE ini tanpa masalah.

Gambar 2.5. IDE

IDE di design dengan fleksibilitas yang sangat tinggi, dimana Anda


bisa merubah tampilan ini sesuai dengan kesukaan Anda. Saking
fleksibelnya, banyak yang akhirnya membuat tampilan ini menjadi
berantakan dan tidak mampu lagi mengembalikannya.
Ketika mau mencari sesuatu menjadi bingung sendiri. Hanya ada satu
jurus maut yang bisa saya sampaikan, yaitu mereset tampilan ini ke
tampilan default dengan memilih menu "WindowaReset Window
Layout".

27
Jasakom
BAB 02. Visual Basic 2005, Action !
Membutuhkan terlalu banyak halaman hanya untuk membicarakan
tentang auto hide, dock dan lain sebagainya. Untuk itu, fasilitas ini
akan saya demokan dalam bentuk video yang terdapat di dalam CD E-
Learning yang disertakan bersama buku ini sehingga Anda tidak perlu
membayangkan tentang apa yang saya bicarakan.
Membuat program dengan Visual Basic bisa dibagi menjadi 2 tahap yaitu
tahap design dan tahap coding. Pada tahap design, Anda menggambar
bentuk atau tampilan program misalnya dengan menambahkan tombol
yang bisa diklik, menambahkan menu, menambahkan gambar dan lain
sebagainya tanpa perlu menggunakan coding.
Tahapan berikutnya adalah tahapan coding dimana Anda akan
memberikan code, tentang apa yang harus dikerjakan oleh program
apabila tombol yang Anda design tadi diklik, apa yang harus
dikerjakan oleh program apabila menu yang Anda design dipilih dan
lain sebagainya.

Tahap 1-Design
Pada tahapan design ini, Anda "menggambar" bentuk atau tampilan
untuk program yang akan Anda buat. Umumnya proses "menggambar"
ini dilakukan dengan mengklik dan drag control-control yang ada di
dalam Toolbox ke dalam Form.
Walaupun Anda bisa juga melakukan langkah ini melalui coding,
namun hal ini sangat jarang dilakukan kecuali untuk kasus-kasus
tertentu misalnya Anda membuat program yang bisa menampilkan
button dengan jumlah yang tidak terbatas. Untuk contoh kali ini, klik
tombol Button pada Toolbox, tahan dan geser ke form Anda (1).
Selanjutnya, Anda bisa menentukan karakteristik dari sebuah object
atau Button dalam contoh ini melalui "Properties windows". Pada
properties windows, Anda bisa merubah karakteristik dari sebuah
button seperti tulisan diatas control tersebut (properti text), bentuk
tulisan yang digunakan (properties font), warna tombol (properti
backcolor dan forecolor), nama (properties name) dan lain sebagainya.
(Gambar 2.6)

28
Jasakom
BAB 02. Visual Basic 2005, Action !

Gambar 2.6. Design Form


Tentu saja, setiap object yang berbeda akan mempunyai karakteristik
yang berbeda pula. Misalnya, karakteristik sebuah button tentu akan
berbeda jauh dengan karakteristik sebuah form. Anda tidak bisa
menutup sebuah button seperti Anda menutup sebuah form dengan
mengklik gambar X yang berada di pojok atas sebelah kanan.
Untuk program pertama ini, properties yang akan kita ganti hanyalah
tulisan di atas control button yang secara default diberikan text
"Button1" menjadi "Klik saya" (2). Untuk itu, gantilah tulisan ini melalui
properties windows pada properties text (saya akan menjelaskan
tentang object dan properties pada bagian khusus)
Untuk program pertama ini, design yang Anda lakukan cukup sampai
disini. Anda sudah mempunyai sebuah form. Anda sudah mempunyai
sebuah tombol di dalam form. Tombol Anda telah diberikan sebuah
text dengan nama "Klik saya".
Namun, apa yang akan dilakukan oleh program ketika Anda mengklik
tombol tersebut ? Saatnya Anda masuk ke tahapan berikutnya yaitu
tahapan coding yang akan menentukan apa yang akan dilakukan oleh
program ketika tombol "Klik saya" di klik oleh user.
29
Jasakom
BAB 02. Visual Basic 2005, Action !
Tahap 2-Coding
Anda bisa membayangkan layar design yang sudah Anda lihat
sebenarnya masih ada sebuah halaman coding yang berada di
belakangnya, halaman yang tidak terlihat saat ini. Pada halaman inilah
Anda memasukkan code-code tentang apa yang harus dilakukan oleh
program.

Gambar 2.7. Form Coding dibalik form Design

Untuk masuk ke modus coding, terdapat 2 cara yang bisa digunakan


yaitu dengan meng-double klik suatu object atau dengan mengklik
tombol "View Code" pada Solution Explorer (2).
Jika Anda menggunakan cara pertama, secara otomatis Visual Studio
akan menciptakan sebuah method event handler default dari object
tersebut. Untuk button, event handler defaultnya adalah event click
yaitu sebuah event yang terjadi ketika sebuah tombol di klik baik

30
Jasakom
BAB 02. Visual Basic 2005, Action !
dengan mouse maupun keyboard. Event handler default dari sebuah
form adalah event load yang dijalankan ketika sebuah form dimuat ke
dalam memory sebelum ditampilkan ke layar.
Saya akan membicarakan lebih lanjut tentang event, event handler dan
method pada bab selanjutnya, jadi jangan khawatir jika Anda belum
memahami apa yang saya katakan saat ini

Gambar 2.8.
Form Coding

Untuk kali ini, klik dua kali pada control button yang akan membawa
Anda ke modus coding. Visual Studio secara otomatis akan menciptakan
beberapa baris code yang siap untuk digunakan seperti berikut :
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles Button1.Click

End Sub
End Class

Karena Anda masuk ke dalam modus coding dengan meng-double


click, Visual Studio akan menciptakan method (prosedure atau sub)
bernama Button1_Click. Method ini digunakan untuk menangani event
click dari Button1. Artinya, code-code yang Anda masukkan ke dalam
method ini akan dijalankan ketika control Button1 di klik.

31
Jasakom
BAB 02. Visual Basic 2005, Action !
Kini, Anda bisa memasukkan kode di dalam prosedur yang telah
disiapkan ini. Saya akan memasukkan perintah untuk menampilkan
sebuah messagebox dengan perintah :

MessageBox.Show("Apa Kabar !!")

Code Anda secara keseluruhan akan menjadi :


Private Sub Button1_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles Button1.Click
MessageBox.Show("Apa Kabar !!")
End Sub

Catatan : Baris pertama dan baris kedua, seharusnya dituliskan dalam 1


baris namun karena keterbatasan ukuran buku ini, saya menuliskannya
dalam 2 baris. Anda bisa menyambung kode-kode yang terlalu panjang
menjadi beberapa baris dengan karakter sambung minus bawah ( _ )
seperti yang saya lakukan pada contoh ini.

Menyimpan Project, Struktur Direktory dan


File
Anda tentunya tidak ingin pekerjaan Anda hilang begitu saja bukan.
Untuk itu, simpan apa yang telah Anda kerjakan dengan menekan
Gambar 2.9. Project dan folder yang digunakan

tombol Ctrl+Shift+S atau melalui menu FileaSave All. Pada kotak


dialog Save Project, terdapat 3 kolom yang harus Anda isi yaitu Name,
Location dan Solution Name.

32
Jasakom
BAB 02. Visual Basic 2005, Action !
Pada kolom Location, Anda menentukan lokasi direktory yang akan
Anda gunakan untuk menyimpan hasil kerja Anda. Nantinya, file-file
kerja Anda yang sebelumnya disimpan pada direktory temporary di
C:\Documents and Settings\S'to\Local Settings\Application Data\
Temporary Projects\ akan dipindahkan ke lokasi yang Anda tentukan
ini. Disini, yang agak membingungkan adalah kolom isian Name dan
Solution Name.
"Name" diisi dengan nama project sedangkan "Solution Name" diisi
dengan nama solusi. Lalu apa bedanya solusi dan project ? Sebuah
solution, bisa terdiri atas satu atau beberapa project, dengan kata lain
solution terdiri atas project-project.
Setelah Anda mengklik tombol save, sebuah direktory akan dibuat
berdasarkan nama solusi. Misalnya saya mengisi kolom Name dengan
"Namaproject" dan Solution Name dengan "Namasolusi", maka akan
terbentuk sebuah direktory dengan nama "NamaSolusi".
Di dalam direktory NamaSolusi ini, Anda akan mendapatkan 2 file
yaitu file dengan extention .sln dan file dengan extention .sou.
File .sln yang menggunakan icon
bergambar angka 8 ini (karena
Visual Basic 2005 sebenarnya
adalah Visual Basic versi 8)
merupakan file text yang bisa Anda
buka dengan notepad.
File ini berisi informasi tentang semua project-project yang terkandung
dalam sebuah solusi dan juga informasi atau setting yang digunakan
untuk melakukan proses kompilasi seperti informasi tentang jenis CPU
dan lain sebagainya.
Berbeda dengan file .sln, file .suo merupakan file biner yang digunakan
untuk menyimpan data tampilan solusi, setting windows, breakpoint,
dan informasi IDE lainnya pada sebuah solusi. Karena disimpan dalam
bentuk biner, Anda tidak bisa membuka file ini dengan text editor
seperti notepad.
File ini secara default juga akan disembunyikan sehingga untuk
melihatnya, Anda perlu mengaktifkan pilihan untuk melihat
hidden file pada windows explorer melalui menu ToolsaFolder

33
Jasakom
BAB 02. Visual Basic 2005, Action !
Solution Explorer
Ketika membuat program, biasanya terdapat dokumen-dokumen
yang berhubungan dengan project yang sedang dikerjakan. Misal-
nya, saya biasa membuat aturan-aturan pemrograman dalam se-
buah file, kemudian saya juga mempunyai file-file hasil meeting,
foto-foto lingkungan kerja operator, dan berbagai file penting lain-
nya.
Apa yang saya lakukan adalah menyimpan semua file ini ke dalam
sebuah direktory dan mencarinya ketika dibutuhkan. Ini adalah
pengorganisasian paling efisien yang
bisa saya lakukan sebelum adanya
Solution Explorer.
Dengan Solution Explorer, pengorga-
nisasian file-file ini bisa lebih rapih dan
memudahkan kita untuk melihatnya.
Solution Explorer dalam lingkungan
IDE Visual Studio tidak hanya berisi
file-file project namun Anda bisa me-
masukkan file apa saja ke dalamnya
seperti file Microsoft word, file gambar
bitmap, file teks dan lain sebagainya.
Anda juga bisa mengelompokkannya
ke dalam folder-folder.
Caranya sangat mudah, Anda tinggal mengklik kanan pada nama
project kemudian pilih menu Add a Existing Item.
File-file yang tidak berhubungan langsung dengan program Anda
ini, tidak akan ikut di-compile atau dimasukkan ke dalam program
Anda sehingga tidak akan mempengaruhi kinerja program Anda
nantinya.
Ketika Anda membutuhkan dokumen hasil meeting, Anda tinggal
mengklik file tersebut dari Solution Explorer untuk membukanya.
Sebuah interface yang sangat inovatif, sederhana namun sangat
berguna.

34
Jasakom
BAB 02. Visual Basic 2005, Action !
OptionsaViewaAdvanced SettingsaFile and FoldersaHidden files
and foldersaShow hidden files and folders
Konsep pembagian
semacam ini akan
memudahkan Anda
ketika hendak
membuat sebuah
aplikasi yang besar. Misalnya Anda ingin membuat sebuah sistem
komputerisasi untuk sebuah perusahaan. Anda bisa membuat sebuah
solusi yang terdiri atas 6 project yaitu project penjualan, piutang,
pembelian, hutang, stock dan accounting.
Kemudahan yang Anda dapatkan nantinya adalah Anda bisa
melakukan kompilasi terhadap project tertentu saja dan bukan semua
project, Anda juga bisa memperlakukan masing-masing project sebagai
sebuah unit yang terpisah sehingga membangun sebuah sistem yang
besar bisa menjadi lebih sederhana.
Kembali lagi ke direktory yang terbentuk untuk solusi. Di dalam
direktory solusi, terbentuk juga direktory untuk masing-masing project
yang terdapat di dalam sebuah solusi.
Karena pada contoh ini kita hanya mempunyai satu project dalam satu
solusi, maka Anda hanya akan melihat sebuah direktory dengan nama
NamaProject. Apabila
Anda mempunyai lebih
dari satu project disini,
maka Anda akan melihat
Gambar 2.10. Solution dan Project

masing-masing project
dengan direktorynya
masing-masing.
File project menggunakan
extention .vbproj dan berisi
text dengan format XML.
Di dalam file ini, Anda
akan menemukan berbagai
setting yang digunakan
oleh sebuah project seperti
form dan file-file modules
yang berextention .vb.
35
Jasakom
BAB 02. Visual Basic 2005, Action !

Solusi dan Project

Kata-kata solusi dan project memang sedikit membingungkan (bu-


kan sedikit lagi tapi memang benar-benar membingungkan) diaki-
batkan oleh penggunaan istilah yang sama untuk pengertian yang
berbeda.
Anda memulai pembuatan program dengan mengklik menu File-
aNew Project, padahal yang Anda ciptakan adalah sebuah solution
dengan projectnya atau bahkan sebuah solusi tanpa project sama
sekali.
Kebingungan ini terjadi karena perancangan menu dan penciptaan
istilah yang tumpang tindih. Ketika Anda hendak membuat sebuah
aplikasi dalam kehidupan sehari-hari, apapun itu, istilah project su-
dah umum digunakan.
Saya sedang menangani project pembuatan program untuk peru-
sahaan distributor, saya sedang menangani project pembuatan
program akuntansi, saya terlibat dalam project pembuatan program
PDA, dan lain sebagainya.
Jadi istilah project disini adalah project yang Anda kenal dalam ke-
hidupan sehari-hari yaitu pekerjaan untuk menyelesaikan suatu tu-
gas atau masalah. Jadi tidak heran, jika untuk memulai pembuatan
suatu aplikasi Anda lakukan melalui menu FileaNew Project.
Kebingungan terjadi karena Visual Basic juga menggunakan kata
"project" untuk mengelompokkan file-file aplikasi yang sedang diban-
gun. Dalam kasus ini, Visual Basic menggunakan kata "Project" dan
"Solusi". "Project" dalam kasus ini merupakan sebuah sub bagian
dari sebuah "Solusi" atau bisa dikatakan sebuah solusi terdiri atas
project-project.
Jadi jangan bingung ketika Anda tidak mendapatkan menu FileaNew
Solution karena Anda bisa membuat solusi melalui menu FileaNew
Project walaupun project merupakan sub bagian dari solusi.

36
Jasakom
BAB 02. Visual Basic 2005, Action !
Perhatikan gambar 2.10 untuk memahami pengelompokan file dan juga
perbedaan antara solusi dan project (bagi yang senang berimajinasi,
gambar diatas memang menjadi gambar muka manusia yang sedang
mabuk).
Jika solusi yang Anda bangun hanya berisi sebuah project, Anda bisa
membuka file solusi (.sln) ataupun membuka file projectnya secara
langsung (.vbproj).

Menjalankan Program (Debug Mode)


Setelah program Anda selesai di-design dan diberikan code, saatnya
menjalankan atau mengcompile program yang telah Anda buat. Untuk
itu, Anda bisa menekan tombol F5 atau memilih menu DebugaStart
Debugging.
Program yang Anda buat

Gambar 2.11. Program "Klik saya"


segera dijalankan dan ketika
Anda mengklik tombol "Klik
saya", akan ditampilkan
sebuah message box dengan
text "Apa kabar !!".
Terdapat dua jenis
kompilasi yang dikenal
dalam lingkungan IDE
ini yaitu yang dinamakan
sebagai Debug Mode dan
Release Mode.
Debug mode artinya kita melakukan kompilasi dengan tujuan untuk
testing atau trial. Ketika kita sudah yakin bahwa program yang kita
buat sudah baik dan hendak didistribusikan, maka kita melakukan
proses compile Release Mode.

37
Jasakom
BAB 02. Visual Basic 2005, Action !
Apa sih XML itu ?
XML menjadi trend belakangan ini karena fleksibilitas dan kemam-
puannya untuk digunakan oleh platform apa saja. Namun, banyak
yang bingung dengan berbagai deskripsi tentang apa sebenarnya
XML. Apakah Anda bingung dengan apa itu "database" ? saya yakin
tidak, karena Anda sudah melihat dan menggunakannya sepanjang
waktu.
Anda tidak bisa membuka file database access, database SQL
Server ataupun database yang dibuat dengan Oracle dengan note-
pad. Tentu saja, untuk membaca database-database ini dibutuhkan
programnya masing-masing dan Anda membutuhkan "engine" atau
driver khusus agar program Anda mengenali dan bisa membaca
data didalamnya.
XML adalah database dengan format teks ! Dengan format teks
ini, memudahkan database XML dibaca oleh semua program dan
memudahkan komputer-komputer yang berbeda saling menukar
data baik jaringan lokal maupun jaringan global seperti internet.

Anda bisa mengcompile dengan Debug


Mode dengan menekan tombol F5
ataupun memilih menu DebugaStart
Debugging.
Selama proses kompilasi, file-file
sementara yang tercipta akan disimpan
ke direktory /obj/Debug dan hasil akhir
dari proses kompilasi ini disimpan di
/bin/Debug.
Baik, saya yakin Anda pasti akan
bertanya "apa sih bedanya compile
dengan debug mode dan compile dengan release mode ? kenapa tidak
langsung compile dengan release mode saja ?"
Seperti yang telah saya katakan sebelumnya, kompilasi dengan
debug mode ditujukan untuk "mencoba" dan "mencari" kemungkinan

38
Jasakom
BAB 02. Visual Basic 2005, Action !
kesalahan-kesalahan yang ada di dalam program. Karena itu pada
tahap ini, proses kompilasi tidak akan melakukan optimasi agar
program hasil compilasi menjadi cepat, malahan hasil compile ini akan
lebih besar dan tidak efisien karena ditambahkan berbagai informasi
untuk kebutuhan "coba-coba" ini.
Contohnya, debug mode menambahkan informasi mengenai source
code sehingga apabila terdapat error, Visual Studio bisa menunjukkan
kepada Anda baris keberapa yang menyebabkan error tersebut.
Kompilasi dengan debug mode juga akan menciptakan file khusus
untuk kebutuhan debugging ini yang ber-ekstensi .pdb.
Pada saat Anda hendak mendistribusikan program yang Anda buat
ke pengguna, maka yang Anda pentingkan adalah program yang
cepat dan efisien. Program semacam ini akan Anda dapatkan dengan
melakukan kompilasi dengan Release Mode yang dilakukan dengan
memilih menu "BuildaBuild NamaProgram". Hasil kompilasi ini akan
disimpan ke dalam direktory /bin/Release.

Kompilasi Akhir (Release Mode) dan Mendistri-


busikan Program
Ketika program Anda selesai, maka tidak ada yang lebih indah selain
memperlihatkannya kepada orang lain dan akan jauh lebih indah lagi
ketika program Anda digunakan dan berguna untuk orang lain.
Untuk melakukan kompilasi agar program Anda siap didistribusikan,
pilih menu BuildaBuild [Nama-Project]. Program hasil kompilasi akan
disimpan ke dalam direktory /bin/Release. Selanjutnya, Anda sudah
bisa mendistribusikan program Anda ke orang lain.
Ketika jamannya Visual Basic 6, Anda harus membuat program setup
untuk mendistribusikannya. Program setup ini akan mengcopy file-file
DLL yang digunakan dan meregistrasikannya ke dalam sistem operasi
komputer yang akan menggunakan program yang Anda buat ini.
Akibatnya adalah Anda tidak bisa begitu saja mencopy file exe dan file
.DLL yang digunakan ke komputer lain.

39
Jasakom
BAB 02. Visual Basic 2005, Action !
Program aplikasi .NET dikompile dengan cara yang berbeda, walaupun
file yang dihasilkan adalah file dengan extention .exe, namun isinya
bukanlah bahasa mesin yang siap dijalankan. File exe hasil kompilasi
Visual Studio 2005 berupa bahasa mesin yang hanya dimengerti oleh
.NET Framework sebagai orang tengah yang akan menerjemahkannya
kedalam bahasa mesin asli yang bisa dimengerti oleh komputer.
File .exe jenis baru ini tidak hanya berisi perintah namun juga berisi
informasi seperti informasi mengenai file-file yang dibutuhkan oleh
program agar bisa dijalankan dengan mulus.
Dengan struktur baru ini, file exe yang dibuat dengan teknologi .Net
akhirnya tidak membutuhkan proses registrasi DLL. Pendistribusian
program juga bisa menjadi sederhana dan mudah, seperti jaman DOS
dulu. Anda bisa mengcopy file exe dan seluruh file pendukung yang
terdapat pada direktory /bin/Release ke komputer lain.
Cara demikian sering dinamakan sebagai XCOPY. Jika program sudah
tidak digunakan ? hapus saja seluruh direktory tersebut, Anda tidak
perlu meng-uninstallnya sama sekali (Program semacam ini sedang
trend karena bisa dicopy dan dijalankan melalui flash disk)
Jika Anda adalah pengguna sistem operasi DOS seperti saya dulu,
perintah ini tidak akan asing buat Anda. Perintah XCOPY adalah
perintah untuk mengcopy sebuah direktory beserta semua isinya ke
tempat lain.
Lalu bagaimana jika Anda ingin membuat program yang tampak seperti
program profesional lainnya ? user tinggal menjalankan program
setup, next, next, finish. Lalu tercipta icon program di desktop ? Ketika
program hendak dibuang, tinggal masuk ke control panel, kemudian
pilih uninstall ! Atau program Anda perlu memasukkan beberapa entry
ke dalam registry. Masih bisakah ? tentu saja ! Tidak semua kondisi
cocok dengan pendistribusian menggunakan metode XCOPY. Anda
tetap bisa membuat program installer seperti biasa bila dibutuhkan.
Selain pembuatan program Installer, Visual Studio 2005 juga
memungkinkan Anda menggunakan teknologi baru yang dinamakan
sebagai ClickOnce dengan wizard yang sangat mudah. Dengan teknologi
ini, Anda bisa membuat program yang bisa diinstall dan di update
melalui web site atau internet dengan mudah. Menarik bukan ?

40
Jasakom
BAB 02. Visual Basic 2005, Action !
Melihat "Isi Hati" Program, HACK IT !
Seperti yang telah saya katakan sebelumnya, hasil kompilasi yang
Anda lakukan ini akan membuat file .exe dengan format bahasa yang
hanya dikenal oleh .Net Framework. Bahasa ini dinamakan sebagai IL
(Intermediate Language) dan terkadang juga dinamakan sebagai MSIL
(Microsoft Intermediate Language).
Ketika Anda menjalankan program .exe hasil kompilasi ini pertama
kali, Net Framework akan melakukan proses kompilasi tanpa Anda
ketahui secara instant menjadi bahasa assembly asli yang dikenal dan
bisa dijalankan oleh prosesor. Proses ini dinamakan sebagai JIT (Just In
Time Compilation).
Jika Anda penasaran dengan bahasa IL, Anda kini bisa melihatnya
dengan program disassembler seperti ILDASM yang disediakan
bersama dengan Visual Studio. Anda bisa menjalankan program ini
melalui command prompt rasa Visual Studio (seperti nasi goreng rasa
cumi). Caranya, klik menu StartaAll ProgramsaMicrosoft Visual
Studio 2005aVisual Studio ToolsaVisual Studi Command Prompt
kemudian ketikkan "ILDASM" pada command prompt yang muncul
dan tekan enter.

Gambar 2.12. ILDASM

41
Jasakom
BAB 02. Visual Basic 2005, Action !
Untuk melihat assembly (IL) dari sebuah file exe, buka file tersebut
dengan ILDASM dengan mengklik menu fileaopen (Gambar 2.12).
Pada contoh, saya membuka file KlikSaya.exe yang dibuat sebelumnya.
Terlihat string "Apa Kabar !!" pada event Buttin1_Click !
Kini, Anda sudah mengetahui betapa berbahayanya program dis-
assembling semacam ini ? program yang Anda distribusikan bisa
dengan mudah dipelajari dan bahkan mungkin saja rahasia program
Anda dengan mudah akan terungkap !

Mengenai masalah ini, kamu terlalu melebih-


lebihkan S'to
Baiklah, Anda mungkin menganggap terlalu berlebihan dengan
mengatakan bahwa program akan terbaca oleh orang lain hanya
dengan melihat bahasa IL (Intermediate Language) yang susah untuk
dimengerti. Bagi orang yang ahli membaca bahasa IL, kata-kata
semacam ini tidaklah keterlaluan sama seperti para ahli membaca
bahasa mesin suatu file untuk menggunakan "fungsi" undocumented
dari file tersebut saat ini.
IL yang merupakan bahasa mesin "baru" ini, menyimpan banyak
sekali informasi-informasi tambahan mengenai data-data yang ada
didalamnya. Akibatnya adalah proses debug atau mencari kesalahan
menjadi lebih mudah dan program menjadi lebih "pintar" karena
mengetahui banyak hal. Celakanya adalah dengan adanya banyak
informasi tambahan ini, proses decompiler menjadi lebih mudah dan
hasilnya sangat mengejutkan.
Saya akan menunjukkannya dengan salah satu program decompiler
yaitu Reflector yang dibuat oleh situs http://www.aisto.com/roeder/
dotnet/. Anda bisa mendapatkan program ini dari CD yang disertakan
bersama buku ini.
Program freeware (benar, program gila ini benar-benar gratis) ini bisa
di download oleh siapapun dan digunakan untuk melihat apa yang
dilakukan oleh sebuah program dengan mudah. Program ini bisa
mengembalikan bahasa mesin ke dalam beberapa bahasa seperti Visual
Basic dan C# dengan kemampuan yang sangat baik.
42
Jasakom
BAB 02. Visual Basic 2005, Action !
Untuk percobaan, bukalah file KlikSaya.exe dengan Reflector melalui
menu FileaOpen. Setelah itu, setting agar reflector menerjemahkan
bahasa IL menjadi Visual Basic dengan memilih drop-down button
yang ada di toolbar (point 1).
Setelah itu, Anda bisa menelusuri code-code yang ada di dalam
program tersebut. Sebagai contoh, saya menelusuri coding yang
terdapat didalam tombol Button1 dengan meng-double klik menu
KlikSayaaKlikSaya.exeaKliksayaaForm1aButton1_Click (2).
Reflector akan melakukan proses penerjemahan kembali dari bahasa IL
(assembly) menjadi bahasa Visual Basic dan hasilnya akan ditampilkan
pada kotak yang berada di samping kanannya (3). Terlihat coding yang
dihasilkan sangat mudah untuk dipahami bahkan sama persis dengan
coding asli yang telah kita buat sebelumnya.

Gambar 2.13. Reflector

Dengan merubah bahasa penerjemahan pada drop-down box dari


bahasa Visual Basic menjadi C#, code IL akan diterjemahkan ke
bahasa C#. Dengan program decompiler semacam reflector ini, Anda
bahkan bisa mempelajari syntax bahasa lain dengan bahasa yang Anda
kuasai.

43
Jasakom
BAB 02. Visual Basic 2005, Action !

Gambar 2.14. Merubah bahasa penerjemahan Reflector

Saya mencoba melihat sebuah program yang ada di pasaran yang


dibuat dengan bahasa Visual Basic 2005. Hasilnya sangat mengejutkan
karena ternyata program tersebut menampilkan semua source code
yang digunakan dengan sangat jelas. Untung saja tidak ada rahasia
penting didalamnya dan juga tidak ada proteksi yang dilakukan oleh
program ini. Andaikan ada modul untuk melakukan proteksi, tentunya
akan sangat mudah untuk menjebolnya dengan bantuan reflector ini.

Gambar 2.15. Reflector mampu melihat source code program komersil dengan sangat baik

44
Jasakom
BAB 02. Visual Basic 2005, Action !
Mencegah Hacker Melakukan Disassembly dan
Decompiler
Melihat betapa mudahnya melihat source code dari sebuah program
yang telah dicompile, saya yakin Anda akan berfikir 1001 kali lagi
sebelum membuat sebuah program komersil dengan VB 2005. Saya juga
yakin Anda akan bertanya "Bagaimana caranya saya bisa mencegah
supaya hal ini tidak terjadi ?"
Ada kabar baik dan kabar buruk yang bisa saya sampaikan disini. Anda
mau yang mana disampaikan terlebih dahulu ? Kabar buruknya adalah
Anda tidak bisa mencegah bahasa IL untuk di disassembly maupun di
decompile ! Kabar baiknya, ada bisa mempersulit para decompiler ini
memahami isi source code Anda.
Teknik yang digunakan untuk mengacaukan code IL ini juga bermacam-
macam, dari hanya sekedar merubah nama entity, mengenkripsi string,
merubah nama variable sampai dengan merubah source code Anda.
Tidak heran, jika setelah dilakukan pengacauan, terkadang program
Anda bisa berjalan lebih lambat atau bahkan mengalami kendala.
Teknik untuk melakukan pengacauan informasi IL ini dikenal sebagai
Obfuscation.
Beberapa situs yang menyediakan program obfuscator ini antara
lain http://www.aspose.com, http://www.9rays.net, http://www.
desaware.com, http://www.preemptive.com/, http://www.
remotesoft.com/, dll.
Jika Anda membutuhkan produk sederhana yang gratis (tentunya),
Anda bisa menggunakan program bawaan dari Visual Studio yaitu
Dotfuscator Community Edition. Anda bisa melihat versi-versi dari
Dotfuscator di web site http://www.preemptive.com/products/
dotfuscator/Editions.html

45
Jasakom
Segera Dapatkan !
Buku Compuer Worm 1 & Computer Worm 2

Rahasia dibalik pembuatan Virus Lokal dan


Worm Lokal dengan Visual Basic !!
HTTP://WWW.JASAKOM.COM/PENERBITAN

B u k u Te r b aru 2007

Web : www.jasakom.com/penerbitan
email : admin@jasakom.com
Fax : 021-56957634
HP : 0888-1911091

Anda mungkin juga menyukai