NET
Dot NET Framework
• Softwere client seperti Windows XP, windows CE dan Windows Office XP yang
membantu pengembangan untuk menyebarkan dan mengelola aplikasinya.
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.
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.
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.
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:
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.
Tampilannya menjadi:
Design form 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.
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 :
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 :
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:
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.
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.
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.
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 :
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.
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.
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 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.
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.
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 :