Mengenal .NET Framework1.1 Apa itu .NET ?.NET Platform merupakan satu set kumpulan teknologi yang memungkinkan teknologi Internetditransformasikan ke dalam platform distributed computing dengan skalabilitas dan kompatibilitas tinggi.Secara teknikal, .NET Platform menyediakan konsep pemrograman dengan library dan modul-modulbaru 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 yangdibangun.2) Interoperability dan kompatibilitas antar aplikasi.Cepat Mahir Visual Basic .NET1
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 digunakanoleh aplikasi di atasnya. Komponen inti .NET Framework adalah Common Language Runtime(CLR) yang menyediakan run time environment untuk aplikasi yang dibangun menggunakanVisual Studio .NET, terlepas dari jenis bahasa pemrogramannya.Dengan adanya CLR tersebut, programmer dapat menikmati consistent object model dalammengakses berbagai komponen library. Dengan demikian penggunaan bahasa pemrogramandalam dunia .NET adalah lebih ke masalah selera atau taste, dan bukan pada kelebihan maupunkekurangan masing-masing bahasa. Mengapa ? Karena semua bahasa pemrograman yangmensupport .NET mengakses library yang sama di dalam .NET Framework, dengan objectmodel yang konsisten, dengan run time file yang sama. Bahasa adalah sekedar skin atau theme,bukan senjata sakti. Bagi seorang .Net Developer, pemahaman terhadap konsep dan objectmodel .NET Framework adalah jauh lebih penting daripada bahasa pemrograman itusendiri.Bagi anda programmer VB6, tentu mengetahui bahwa diperlukan distribusi run time librarykhusus ketika menginstal aplikasi. Demikian pula ketika anda menginstal aplikasi yangdibangun dengan Visual C++ maupun Delphi. Dalam dunia .NET, hal tersebut sudah tidakdiperlukan lagi, selama .NET Framework telah terinstal di komputer sasaran.Untuk informasi lebih detil tentang .NET Framework :http ://msdn.microsoft.com/netframeworkhttp :// msdn.microsoft.com/netframework/productinfo/topten/default.aspx Cepat Mahir Visual Basic .NET2
NET Building Block ServicesBuilding block merupakan sekumpulan services yang bersifat programmable, yang dapatdiakses secara offline maupun online. Service tersebut merupakan modul-modul yang terdapatdi suatu komputer, server dalam jaringan, maupun di suatu server di internet.Service ini merupakan suatu idealisasi di masa depan,terdistribusi dengan modul-modul yang tersimpan didiintegrasikan membentuk suatu aplikasi. Konsep inisubscription based software, yang saat ini mulai banyakApplication Service Provider.dimana sebuah aplikasi bersifatberbagai tempat, tetapi dapatmerupakan arah pengembanganberkembang dan dikenal sebagaiService tersebut dapat diakses oleh berbagai platform, asalkan platform tersebut mensupportprotokol SOAP, yang merupakan protokol standar dalam mengakses web service. Peranan XMLsebagai media definisi data menjadi sangat penting dalam hal ini, dan XML juga menjadi pusatperubahan besar dalam platform .NET. Dalam pelajaran selanjutnya, anda akan melihat bahwasemua data dalam .NET selalu direpresentasikan dalam bentuk XML.3) Visual Studio .NETVisual Studio .NET menyediakan tools bagi para developer untuk membangun aplikasi yangberjalan di .Net Framework. VS.Net membawa perubahan besar dalam gaya pemrograman,karena setiap programmer dituntut untuk memahami .NET object model dan Object OrientedProgramming dengan baik, jika tidak ingin menghasilkan aplikasi dengan performa rendah.VS.Net juga semakin mempertipis jarak antara Windows Programmer dengan WebProgrammer. Dunia scripting yang akrab bagi programmer web akan sulit ditemukandalam .NET, karena pemrograman web sudah bersifat full object oriented, dengan fasilitas eventdriven programming sebagaimana layaknya windows programming. Pemrograman web menjadilebih mudah dan menyenangkan bagi para programmer windows, sedangkan anda para veteranscripting language sudah saatnya untuk beralih ke ASP.NET, yang dapat diprogrammenggunakan 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. Paraveteran VB.Script disarankan untuk mempelajari VB, sehingga dapat menggunakan VB.Netuntuk membangun aplikasi web. Bahasa pemrograman yang terdapat di VS.NET adalahVB.NET, C#, C++ .NET, J#, dan Jscript .NET. Dalam masa mendatang akan terus ditambahberbagai bahasa pemrograman lain. Informasi lebih lengkap tentang VS .NET :http://msdn.microsoft.com/vstudio4) .Net Enterprise ServerBagian ini merupakan sekumpulan server based technology yang digunakan untuk mendukungteknologi .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.Cepat Mahir Visual Basic .NET3
Mengapa .NET ?Ada beberapa alasan yang menguntungkan bila anda mempelajari .NET :Multi LanguageArsitektur .NET bersifat terbuka, sehingga memungkinkan berbagai bahasa pemrograman mengaksesCLR dengan mulus. Banyak kalangan menyebut .NET sebagai “open source” versi Microsoft. Saatini .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. Untuk informasi lebihlengkap tentang berbagai third party language yang tersedia :http://www.gotdotnet.com/team/langBagan berikut menjelaskan kedudukan bahasa pemrograman terhadap .NET Framework dengan CLRsebagai intinya.Sekali lagi, semua bahasa tersebut mengakses object model yang sama dalam .NET, sehingga bagi parapetualang tersedia kemungkinan untuk berpindah dari satu bahasa ke bahasa lain dalam satu proyekaplikasi yang sama. .Net menyediakan integrasi bahasa pemrograman dalam satu peroyek aplikasi. Halini membuka kemungkinan kerjasama tim yang lebih baik, walaupun dalam tim tersebut masing-masingmemiliki keahlian bahasa pemrograman yang berbeda.Pada saat tulisan ini dibuat, implementasi .NET di dunia Linux sedang dalam pengembangan.Sebuah proyek dengan title Mono Project sedang berjalan, anda dapat memantau perkembangannya diwww.go-mono.com. Diharapkan di masa datang, bukan barang aneh apabila developer PHP dapatCepat Mahir Visual Basic .NET4
Comdengan mudah mengakses library .NET Framework, sehingga sebuah tim project dapat bekerja denganlebih baik, tanpa ada “diskriminasi” antara PHP, ASP, VB, maupun Pearl.No DLL HellAnda tahu DLL ? Tentu saja, kalo tidak tentu anda bukan seorang programmer. DLL merupakan blokatau modul-modul obyek dari sebuah aplikasi. Peranannya sangat penting, sekaligus memusingkan.Sering terjadi dalam dunia windows, kompatibilitas dan registrasi DLL di masing-masing Workstationmenjadi isu besar dalam deployment aplikasi.Strong Typing dan Type SafetyBila anda pernah menggunakan VB6, pendefinisian tipe data bukanlah sesuatu yang mutlak wajibdilakukan karena VB akan mendefinisikan primitive data type, suatu type default untuk masing-masingangka atau karakter yang terdapat dalam variabel. Hal ini sebenarnya kurang baik karena dapatmemboroskan memory dan merupakan sumber bug. .NET menyediakan strong typing, dimana setiapvariabel wajib didefiniskan scope dan tipe datanya. Demikian pula dengan fasilitas type safety yangsangat bermanfaat untuk membantu dalam coding pemrograman, terutama fasilitas intellisense yangmembimbing 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 diinternet. Dengan demikian integrasi data antar platform lebih mudah dilakukan, selama platform tersebutmendukung XML. Representasi konsep ini adalah dataset, suatu cache data yang berbentuk XML dandapat diakses dengan mudah. Sebuah data dapat diparsing antar tier aplikasi, baik dari database, middletier, maupun aplikasi klien dalam format XML. Manipulasi format data dalam bentuk XML, .txt,maupun .rtf merupakan sesuatu yang menantang para programmer untuk membuat aplikasi lintasplatform.Code Once, More ApplicationInterface pemrograman bersifat konsisten, dengan object model yang sama pada setiap bahasa yangdigunakan. Suatu object baik berbentuk class, library, maupun web services dapat diakses dengan mudaholeh berbagai aplikasi windows maupun web. Hal ini lebih menghemat waktu para developer, dimanasebuah object dapat dibuat sekaligus untuk aplikasi Web, Windows, dan bahkan console applicationberbasis DOS.1.3 Untuk Apa Belajar VB.NET ?Mengapa VB ? Jawabannya tergantung anda tentunya. VB6 merupakan bahasa terpopuler saat ini, danpara pengguna VB klasik akan lebih mudah berpindah ke VB .NET daripada memilih C++ .NET atauC#. 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 selamaini menyebutkan bahwa VB6 merupakan bahasa yang “amburadul”, tidak jelas struktur obyeknya,mendukung Object Oriented tetapi banci, kompatibilitas kurang, dan lain sebagainya. Semua hal tersebutCepat Mahir Visual Basic .NET5
Comterjadi sebagai boomerang dari VB6 yang terlalu longgar dalam kaidah pemrograman, sehingga tidaksulit menemukan programmer VB6 yang belum pernah membuat property dalam class modul selamakarirnya.Di sisi lain kelonggaran tersebut telah menumbuhkan VB sebagai bahasa yg mudah dipelajari, danpaling populer saat ini. Sebenarnya selama seorang programmer konsisten dan disiplin dengan kaidahkonsep 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 yangdirancang dengan nuansa OOP juga harus diikuti, sehingga VB.NET dapat dikatakan sebagi full OOPprogramming. Hal tersebut mungkin bukanlah barang baru bagi anda pemakai Java atau C, tetapimerupakan hal baru bagi kebanyakan programmer VB6. Dengan demikian, mempelajari VB.NET berartimeningkatkan skill veteran VB klasik, sejajar pemrogram berbasis OOP lainnya. Link berikutmenyediakan informasi lebih lengkap tentang VB .NET : http://msdn.microsoft.com/vbasicCepat Mahir Visual Basic .NET
Cepat MahirVisual Basic .NETM. Choirul Amrichoirul@bsmdaemon.comLisensi Dokumen:Copyright © 2003 IlmuKomputer.ComSeluruh dokumen di IlmuKomputer.Com dapat digunakan, dimodifikasi dandisebarkan secara bebas untuk tujuan bukan komersial (nonprofit), dengan syarattidak menghapus atau merubah atribut penulis dan pernyataan copyright yangdisertakan dalam setiap dokumen. Tidak diperbolehkan melakukan penulisan ulang,kecuali mendapatkan ijin terlebih dahulu dari Aplikasi VB.NET Anda YangPertamaPada bagian ini anda akan membuat sebuah aplikasi sederhana menggunakan VB.NET. Meskipunaplikasi yang dibuat sangat sederhana, penulis berusaha untuk mengenalkan anda pada berbagaifeature baru dan tools dasar VB.NET , sehingga dapat digunakan sebagai dasar pemrograman yanglebih kompleks.Skenario yang digunakan dalam bab ini adalah membuat aplikasi sekaligus membahas pengenalanIntegrated Development Environtment (IDE) VB.NET. Aplikasi yang akan dibuat adalah tanyajawab mengenai makanan favorit, dan aplikasi tersebut akan memberikan komentar berdasarkanjenis makanan yang diinput user.2.1 Membuat Project BaruMulailah dengan membuka Visual Studio .NET, maka akan tampil Start Page yang menampilkanbeberapa project terakhir yang anda akses. Pada bagian kiri terdapat beberapa baris hyperlink yangCepat Mahir Visual Basic .NET1
menghubungkan anda dengan beberapa informasi penting. Beberapa link memerlukan koneksiinternet untuk mengaksesnya, seperti Online Community dan web Hosting.Untuk membuat Project baru pilih New Project untuk menampilkan dialog New Project sepertiberikut :Dalam dialog New Project anda dapat memilih jenis aplikasi yang akan dibuat termasuk bahasapemrograman digunakan. Jenis aplikasi yang dapat dibuat adalah :•Windows Application : adalah aplikasi yang paling umum dibuat, menggunakan interfacewindows. Biasanya Windows Application merupakan interface aplikasi sedangakan logicCepat Mahir Visual Basic .NET2
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 menjalankanfungsi tertentu. Class merupakan fondasi dasar untuk membentuk obyek dalampemrograman berorientasi obyek. Class Library tidak memiliki interface tertentu sepertiform, tetapi dapat diakses oleh aplikasi lain untuk menjalakan berbagai fungsi yang terdapatdi dalamnya. Class Library dapat disamakan dengan teknologi ActiveX DLL (.dll) danActiveX 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 andainginkan di dalam kontrol tersebut. Fasilitas untuk membuat kontrol tersebut adalahWindows Control Library. Kontrol ini sama dengan ActiveX Control (.ocx) dalampemrograman VB6.ASP .NET Web Application : adalah project yang digunakan untuk membuat aplikasi web.Teknologi yang digunakan adalah ASP .NET yang memiliki berbagai kelebihandibandingkan ASP klasik. Perubahan utamanya adalah dapat diprogram menggunakanberbagai bahasa .NET seperti VB, C++, C# maupun J#. ASP .NET juga menyediakanberbagai kontrol yang bersifat event drivent programming sehingga lebih menghemat waktupembuatan aplikasi.ASP .NET Web Service : Web service merupakan salah satu ide utama dalam .NET. Andadapat membuat web service dan meletakkannya di web server untuk diakses berbagaiaplikasi. Sebuah web service dapat diakses oleh aplikasi windows, web, console, maupunmobile device. Web service hampir sama dengan Class Library, perbedaan utamanya adalahweb service tersebut diletakkan di web server sehingga dapat diakses dengan lebih mudahdan tidak terbatas pada aplikasi berbasis windows saja.Console Application : merupakan aplikasi dengan tampilan text mode atau DOS. Aplikasijenis ini biasa digunakan sebagai monitoring service atau remote application dimana sumberdaya komputer dan bandwith sangat terbatas.Windows Service : adalah aplikasi yang berjalan sebagai service di windows, yang di loadbersamaan dengan proses start up windows. Aplikasi ini berjalan di background danbiasanya tidak memiliki interface. Penerapan aplikasi ini misalnya untuk pembuatanscanning antivirus, server FTP, dan remote server.Web Control Library : Hampir sama dengan Windows Control Library tetapi digunakanuntuk aplikasi web.••••••2.2 VB .NET IDEDalam latihan ini anda akan membuat Windows Application sehingga anda harus memilih jenisproject tersebut. Di bagian bawah jendela New Project terdapat dialog untuk menentukan letak fileaplikasi. VB selalu membuat satu direktori untuk menyimpan satu project dengan nama sesuai namaproject tersebut. Berikan nama Latihan 01 untuk project anda dan klik OK untuk melanjutkan.Tampilan Windows Form Designer adalah sebagai berikut :Cepat Mahir Visual Basic .NET3
Gambar di atas menjelaskan garis besar IDE yang biasa digunakan. Di bagian atas terdapat toolbaryang sudah tidak asing lagi, mencakup berbagai fasilitas editing seperti cut, copy, paste, dan tombolStart. Di bagian kanan terdapat Solution Explorer yang menampilkan berbagai obyek dalam aplikasiseperti form, class dan component.Anda dapat berpindah dari mode View Code ke View Designer atau sebaliknya. View Codemenampilkan coding untuk obyek-obyek dalam aplikasi, sedangkan View Designer menampilkanrepresentasi fisik obyek tersebut.Di bawah Solution Explorer terdapat Properties Window yang berisi properti obyek yang sedangaktif di bagian designer. Anda dapat mengatur properti obyek di bagian ini baik dari segi tampilanmaupun perilaku obyek tersebut dalam aplikasi. Selain menetapkan properti di bagian ini dapat pulamengeset properti secara run time dengan menggunakan coding.Bagian yang sering digunakan adalah Toolbox yang terdapat di sisi kiri, yang pada gambar di atassengaja dihide untuk menghemat tempat. Gambar di bawah menampilkan Toolbox yang berisiberbagai macam obyek untuk ditempatkan di form.Cepat Mahir Visual Basic .NET4
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 dapatmengklik ganda atau dengan drag-drop untuk meletakkan suatu kontrol ke form.2.3 Memulai CodingUntuk membuat aplikasi pertama ini letakkan kontrol Label, TextBox, dan Button seperti gambarberikut :Cepat Mahir Visual Basic .NET5
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 tuliskankode berikut :Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) HandlesButton1.ClickDim Makanan As String = TextBox1.TextIf Makanan = "sate" ThenMessageBox.Show("Enak, tetapi kolestrol tinggi", "Respon", MessageBoxButtons.OK).ToString()ElseIf Makanan = "pecel" ThenMessageBox.Show("Murah dan sehat, :)", "Respon", MessageBoxButtons.OK) .ToString()ElseIf Makanan = "mie ayam" ThenMessageBox.Show("Ini kurang sehat lho", "Respon", MessageBoxButtons.OK) .ToString()ElseMessageBox.Show("Maaf, yang ini No Comment", "Respon", MessageBoxButtons.OK) .ToString()End IfEnd SubKode tersebut akan dieksekusi setiap kali user mengklik Button1 dan VB akan mengealuasi inputdari user yang diletakkan di TextBox1. Event yang ditangkap adalah Button1_Click yang terjadisetiap kali user mengklik tombol tersebut.Selanjutnya klik ganda di ruang kosong Form untuk menampilkan Event Form1_Load dan isikankode berikut :Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) HandlesMyBase.LoadLabel1.Text = "Apa makanan favorit anda ?"End SubCepat Mahir Visual Basic .NET6
Kode tersebut akan mengeset test di Label1 yang semula blank menjadi bertuliskan "Apa makananfavorit 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 pesansesuai yang telah anda masukkan di kode program yaitu "Enak, tetapi kolestrol tinggi". Masukkankata “pecel” dan “soto” lalu lihatlah bagaimana aplikasi tersebut bereaksi.2.4 Bagaimana Cara Kerjanya ?Aplikasi ini menggunakan kontrol alir logika IF…THEN…. Yang sangat umum dijumpai dalamsetiap program. User memasukkan input di TextBoxt yang ditangkap dan dimasukkan ke variabelMakanan bertipe data String.Dim Makanan As String = TextBox1.TextSelanjutnya variabel makanan dievaluasi dan diberikan respon message box sesuai dengan jenismakanan yang dimasukkan.If Makanan = "sate" ThenMessageBox.Show("Enak, tetapi kolestrol tinggi", "Respon", MessageBoxButtons.OK).ToString()VB menampilkan message box menggunakan Class MessageBox dengan argumen yang terdiri daripesan, caption, dan jenis button yang ditampilkan. Apabila jenis makanan ternyata bukan “sate”maka dilanjutkan dengan jenis makanan lainnya yang terdapat di bawah kriteria pertama :ElseIf Makanan = "pecel" ThenMessageBox.Show("Murah dan sehat, :)", "Respon", MessageBoxButtons.OK)Demikian seterusnya sampai struktur IF…THEN… tersebut berakhir.Pada saat anda bekerja dengan kode, fasilitas intellisense sangat membantu untuk mengurangikesalahn coding. Feature ini memunculkan berbagai properti, method, dan function dari suatu classketika anda mengetikkan tanda dot (.).Cepat Mahir Visual Basic .NET7
Ketika anda memulai baris baru sebuah kode dan ingin mengetikkan obyek built in, anda dapatmenampilkan daftar obyek-obyek tersebut dengan mengetikkan Ctrl+Spasi.2.5 Meningkatkan Kinerja AplikasiAplikasi yang telah anda buat mungkin cukup memadai untuk sebuah program sederhana. Namunsekarang tiba saatnya untuk benar-benar menguji kehandalan aplikasi tersebut.Cobalah memasukkan kata “Sate”, perhatikan bahwa anda harus menggunakan huruf “S” kapital.Apa yang terjadi ? Aplikasi tersebut akan memunculkan pesan sebagai berikut :Cepat Mahir Visual Basic .NET8
Tentunya anda melihat sesuatu yang ganjil di sini. Pesan yang ditampilkan berbeda dengan pesanuntuk kata “sate” sebagaimana telah dicobakan sebelumnya. Kata “sate” dan “Sate” seharusnyamemiliki makna yang sama, sehingga pesan yang dimunculkan seharusnya sama pula. Tetapiaplikasi tersebut menganggap kedua kata tersebut sebagai sesuatu yang berbeda karena perbedaanpenggunaan huruf kapital. Anda menjumpai bahwa aplikasi tersebut mengandung bug, sebuahlogical bug yang dapat menyesatkan pengguna.Untuk memperbaiki bug tersebut digunakan konversi huruf sehingga aplikasi akan menganggapsemua input yang dimasukkan adalah sama. Semua input akan dikonversi terlebih dahulu menjadihuruf kapital, dan selanjutnya dievaluasi sesuai struktur IF….THEN….Kuncinya adalah dengan mengkonversi semua input di TextBox1 menjadi huruf kapital denganmenggunakan fungsi Ucase.Dim Makanan As String = UCase(TextBox1.Text)Dan selanjutnya anda harus merubah semua string makanan menjadi huruf kapital. Keseluruhankode di event Button1_Click akan menjadi sebagai berikut :Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) HandlesButton1.ClickDim Makanan As String = UCase(TextBox1.Text)If Makanan = "SATE" ThenMessageBox.Show("Enak, tetapi kolestrol tinggi", "Respon", messageBoxButtons.OK).ToString()ElseIf Makanan = "PECEL" ThenMessageBox.Show("Murah dan sehat, :)", "Respon", MessageBoxButtons.OK).ToString()ElseIf Makanan = "MIE AYAM" ThenMessageBox.Show("Ini kurang sehat lho", "Respon", MessageBoxButtons.OK).ToString()ElseMessageBox.Show("Maaf, yang ini No Comment", "Respon", MessageBoxButtons.OK).ToString()End IfEnd SubCepat Mahir Visual Basic .NET9
Sekarang cobalah menjalankan kembali aplikasi dengan menekan tombol F5 dan masukkan kata“Sate”, atau “sAte”. Semua akan menghasilkan respon pesan yang sama dengan kata “sate”, karenaVB telah mengkonversi semua input tersebut sebelum dievaluasi dengan pembanding yang telahdibuat dalam huruf kapital. Dengan demikian aplikasi anda tetap “menganalisis” input secara benarmeskipun user melakukan kesalan entri jenis makanannya, terutama dalam hal pemakaian hurufkapital.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 yanglebih bersahabat dengan menambahkan baris kode berikut sebelum struktur IF…THEN….berakhir,yaitu tepat di bawah variabel bernilai “MIE AYAM”ElseIf Makanan = "" ThenMessageBox.Show("Makanan belum diisikan", "Warning", MessageBoxButtons.OK, _MessageBoxIcon.Warning).ToString()Sehingga apabila user tidak memasukkan makanan tertentu maka ditampilkan pesan sebagaiberikut :Cepat Mahir Visual Basic .NETM. Choirul Amri10
Anda telah mempelajari bagaimana sebuah aplikasi harusmmempertimbangkan berbagaikemungkinan kesalahan dan variasi input yang dilakukan user. Dengan demikian aplikasi anda akantampak lebih user friendly dan lebih cerdas.Cepat Mahir Visual Basic .NET
Cepat MahirVisual Basic .NETM. Choirul Amrichoirul@bsmdaemon.comLisensi Dokumen:Copyright © 2003 IlmuKomputer.ComSeluruh dokumen di IlmuKomputer.Com dapat digunakan, dimodifikasi dandisebarkan secara bebas untuk tujuan bukan komersial (nonprofit), dengan syarattidak menghapus atau merubah atribut penulis dan pernyataan copyright yangdisertakan dalam setiap dokumen. Tidak diperbolehkan melakukan penulisan ulang,kecuali mendapatkan ijin terlebih dahulu dari IlmuKomputer.Com.Bab 3Bekerja dengan Variabel dan DataSeorang software developer tidak dapat mengelak untuk tidak menggunakan variabel dan data. Mautidak mau anda harus menggunakannya. Pemahaman yang benar tentang variabel baik dalam halscope, lifetime, dan type nya akan sangat berguna untuk melahirkan sebuah aplikasi handal, efisien,dan cepat.Mengapa sebuah variabel harus didefinisikan dan dibuat ? Karena komputer menggunakan memoryuntuk menampung sementara data yang akan diproses. Ketika anda akan melakukan sebuahperhitungan, maka lebih efisien apabila anda membuat variabel-variabel untuk menampung formulaperhitungan tersebut. Anda dapat saja tidak menyimpannya dalam variabel dan langsungmemasukkan nilainya dalam sebuah perhitungan, dan akibatnya komputer harus meminta input daripengguna untuk setiap nilai yang akan dihitung.Cepat Mahir Visual Basic .NET1
Penggunaan VariabelUntuk dapat memakai sebuah variabel maka anda harus mendeklarasikannya terlebih dahulu. Dalambahasa VB6 anda dapat saja menggunakan sebuah variabel tanpa membuat deklarasi meskipun haltersebut tidak direkomendasikan dan sangat tidak efisien bagi sebuah aplikasi.Deklarasi VariabelTujuan pendeklarasian variabel adalah agar komputer mengetahui dengan pasti type data yang akandigunakan dalam variabel tersebut serta scopenya. Dengan demikian komputer dapat langsungmengeksekusi sebuah variabel tanpa memeriksa lagi type datanya. Sebuah variabel harus memilikinama, type data, scope, dan value. Berikut adalah contoh deklarasi variabel :DimDimDimDimDimsNama As StringdGajiPokok As DecimaldTunjangan As DecimaldGajiTotal As DecimaldPajak As DecimalsNama = "Anto"dGajiPokok = 600000dTunjangan = 150000Dideklarasikan 5 variabel masing-masing dengan type string (1 variabel) dan decimal (4 variabel).Selanjutnya pada tiap variabel tersebut masing-masing diisikan nilainya. Pengisian nilai variabeltersebut harus sesuai dengan type data yang telah ditetapkan. Misalnya saja anda tidak dapat mengisivariabel dGajiPokok dengan “Anto”, karena variabel tersebut telah didefinisikansebagai decimal yang harus berisi angka dan bukan string.Anda juga dapat mendeklarasikan variabel dan langsung memberikan nilainya pada saat yang samadalam satu baris kode. Teknik ini merupakan feature baru VB .NET.Dim dGajiPokok As Decimal = 600000Selain itu anda juga dapat mendeklarasikan beberapa variabel sekaligus dalam satu baris danmendefinisikan type datanya secara bersamaan.Dim sUmur, sTinggi, sGaji As SingleKetiga variabe tersebut memiliki type data sama yaitu Single. Cara ini memudahkan pendeklarasianvariabel daripada harus mengulang deklarasi dalam tiga baris.Melakukan PerhitunganSelanjutnya anda dapat melakukan perhitungan tertentu dengan menggunakan variabel tersebutsebagai komponen formula sebagai berikut :dGajiTotal = dGajiPokok + dTunjangandPajak = 0.1 * dGajiTotalSegala Sesuatu adalah OBYEK !Salah satu mantra baru dalam .NET programming adalah cara kita memandang terhadap obyek.Segala sesuatu adalah obyek, begitulah pedoman yang harus anda pegang. Dalam teknik VB6 andamengenal konsep Object Oriented Programming (OOP) melalui Class dan konsep COM. Namundalam .NET segala sesuatu merupakan obyek, termasuk variabel juga merupakan obyek.Cepat Mahir Visual Basic .NET2
Karenanya suatu varabel juga memiliki berbagai sifat yang diwujudkan dalam property, event, danfunction. Sifat-sifat tersebut dapat diwariskan ke obyek lain, atau suatu variabel dapat mewarisi sifatdari obyek di atasnya.Sebagai contoh anda dapat melakukan perhitungan besarnya dGajiTotal dan dPajak di atas denganmemanfaatkan fasilitas OOP yang terdapat dalam variabel tersebut. Gunakan keyword untukmelakukan perhitungan sebagai berikut:dGajiTotal = dGajiTotal.Add(dGajiPokok, dTunjangan)dPajak = dGajiTotal.Multiply(0.1, dGajiTotal)Anda menggunakan function Add dan Multiply sebagai pengganti perhitungan sebelumnya.Argumen yang digunakan adalah dGajiPokok, dTunjangan dan dGajiTotal.Menampilkan Hasil PerhitunganHasil perhitungan tersebut ditampilkan ke dalam dua buah label sebagai berikut :Label1.Text = "Gaji Total = " & dGajiTotal.ToStringLabel2.Text = "Pajak Anda = " & dPajak.ToStringKeyword ToString yang mengikuti setiap variabel bertujuan untuk mengkonversikan hasilperhitungan yang semula bertype decimal menjadi string.Anda akan melihat bahwa perhitungan yang anda lakukan dengan cara pertama akan sama hasilnyadengan menggunakan cara kedua yang memanfaatkan built in function dalam sebuah variabel.3.2 Ruang Lingkup dan Type VariabelSebuah variabel memiliki ruang lingkup (scope) tertentu, tergantung dengan cara bagaimana variabeltersebut dideklarasikan. Terdapat 3 macam scope suatu varibel :1. Procedure level / local scope2. Module level3. Variabel PublicMasing-masing scope tersebut dapat dijelaskan sebagai berikut :Cepat Mahir Visual Basic .NET3
Procedure level / local scopeApabila suatu variabel dideklarasikan dalam suatu prosedur tertentu, maka variabel tersebut hanyadapat 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) HandlesButton3.ClickDim sPesan As StringsPesan = "tes Variabel local"MessageBox.Show(sPesan, "Variabel local", MessageBoxButtons.OK, _messageBoxIcon.Information)End SubVariabel sPesan dideklarasikan di dalam prosedur Button3_Click sehingga hanya berlaku di dalamprosedur tersebut saja. sPesan tidak dapat diakses dari luar Button3_Click. Apabila andamenggunakan variabel yang hanya dipakai dalam suatu prosedur tertentu maka sebaiknya andamenggunakan jenis variabel ini.Pengertian prosedur di sini menyangkut function, event, dan properti, sehingga tidak terbatas padaevent saja sebagaimana dicontohkan di atas.Karena variabel ini scope nya lokal untuk prosedur tertentu saja maka nama variabel tersebut hanyaberlaku di dalam prosedur dimana variabel tersebut dideklarasikan. Misalkan anda memiliki functionbernama A dan memiliki variabel bernama sNama. Kemudian anda memiliki sebuah event B danmemiliki variabel bernama sama yaitu sNama. Kedua variabel tersebut tidak akan salingberhubungan dan tetap terpisah nilainya karena dideklarasikan secara lokal di dalam prosedurmasing-masing.Module LevelAnda dapat membuat suatu variabel yang dapat diakes dari prosedur manapun dalam suatu file.Misalkan anda ingin mendeklarasikan suatu string koneksi yang akan dipakai terus menerus didalam suatu module. Maka anda harus mendeklarasikan variabel tersebut di bagian deklarasi modulesebagaimana contoh berikut :Cepat Mahir Visual Basic .NET4
Kuliah Berseri IlmuKomputer.ComCopyright © 2003 IlmuKomputer.ComTerlihat ada 6 variabel yang dideklarasikan di bagian Declaration sebuah form bernama Form1.Selanjutnya variabel yang dideklarasikan di bagian ini akan dipakai untuk melakukan berbagaiperhitungan di tiap prosedur. Anda dapat membuka source code yang disertakan untuk meneliti lebihjauh bagaimana variabel tersebut dipakai.Anda harus berhati-hati menggunakan variabel jenis ini, karena nilai suatu variabel akan terusberubah mengikuti perlakuan di setiap prosedur yang mengaksesnya. Sebaiknya anda hanyamenggunakannya apabila memang benar-benar diperlukan. Untuk mempermudah menelusuri errordan maintenance aplikasi anda dapat menggunakan variabel dengan scope local.Variabel jenis ini hanya berlaku untuk module dimana variabel tersebut dideklarasikan. Variabel initidak dapat diakses dari module lain meskipun berada dalam sebuah Project aplikasi yang sama.Apabila anda membutuhkan variabel yang dapat diakses dari module lain maka dapat digunakanVariabel Public/GlobalVariabel Public/GlobalCara pendeklarasian variabel jenis ini hampir sama dengan jenis module level dengan menambahkankata Public sebagai pengganti keyword Dim. Variabel ini dapat diakses dari module lain, dan bahkandapat diakses oleh Project lain selama Project tersebut membuat reference ke Project dimanavariabel tersebut dideklarasikan.Misalkan anda memiliki Class yang digunakan untuk membuka dan menutup koneksi database.Maka anda dapat mendefinisikan variabel untuk koneksi sebagai Public sehingga form, Class,maupun Project lain dapat mengakses variabel tersebut dan melakukan koneksi ke database denganmemanfaatkan Class tersebut.Pada contoh deklarasi di atas variabel cn dirubah deklarasinya menjadi code berikut :Public cn As SqlClient.SqlConnectionAnda akan banyak menggunakan variabel jenis ini pada saat mempelajari teknik reference dalammengakses berbagai komponen yang terdapat di VB.NET maupun yang anda buat sendiri.Type Data Pada VariabelSetiap variabel harus dideklarasikan type datanya sehingga VB mengalokasikan sumber daya yanglebih efisien untuk variabel tersebut. Anda harus memahami dengan baik tiap jenis type data dankapan type data tertentu digunakan.Misalnya anda menggunakan type data String untuk menyimpan nama seseorang, dan menggunakanByte untuk menyimpan umurnya. Anda harus memilih type data dengan ukuran dan akurasi palingefisien dan cocok sesuai tujuan anda.Contoh lain bila anda ingin melakukan kalkulasi dengan presisi tinggi, maka dapat digunakan typedata Double, sedangkan untuk menyimpan umur seseorang yang tidak mungkin lebih dari 100 tahunmaka digunakan type Byte.Tabel berikut merupakan daftar type data yang dapat anda gunakan lengkap dengan ukuran danscopenya:Cepat Mahir Visual Basic .NET5
TypeDataBooleanByteCharDateDecimalSingleUkuranMemori4128124Nilai DefaultFalse0Char(0)01/01/000112:00:00AM0D0.0Cakupan NilaiTrue atau False0 s/d 2550 s/d 65,535January 1, 1 CE s/dDecember 31, 9999+/- 9,228,162,514,264,337,593,543,950,335 nilai bukan nol terkecil :+/-.00000000000000000000000000013.402823E38 s/d -1.401298E-45 untuk nilainegatif;1.401298E-45 s/d 3.402823E38 untuk nilaipositif1.79769313486231E308 s/d -4.94065645841247E-324 untuk nilainegatif ;4.94065645841247E-324 s/d1.79769313486232E308 untuk nilai positif- 2,147,483,648 s/d 2,147,483,647-32,768 s/d 32,767- 9,223,372,036,854,775,808 s/d9,223,372,036,854,775,807Double80.0IntegerShortLong428000Berdasarkan tabel diatas anda dapat memilih penggunaan type data yang paling sesuai dengankebutuhan dalam sebuah variabel.Prinsip utama yang perlu diperhatikan dalam pemilihan adalah jangan menggunakan tipe data yangyang ukurannya berlebihan dibanding kebutuhan anda. Sesuaikan pula dengan presisi yangdikehendaki dalam aplikasi.Misalnya untuk membuat variabel yang berisi jumlah anak dalam keluarga, anda menggunakan typeInteger. Tentunya ini tidak sesuai karena type Integer berukuran 4 byte dalam memori, sedangkananda tidak memerlukan nilai sampai dengan maksimum 2,147,483,647. Anda dapat menggunakantype data Byte dengan nilai maksimum 255 dan hanya membutuhkan 1 byte memori. Tentunyasesuatu yang wajar apabila jumlah anak dalam keluarga tidak melebihi angka 255.Dua contoh perhitungan berikut menampilkan hasil yang berbeda dari suatu perhitungan yangdiakibatkan penggunaan type data berbeda.Dim sLuas As SingleDim sPanjang As Single = 7.5689782Dim sLebar As Single = 9.568972'Hitung luas dengan tipe data singlesLuas = sPanjang * sLebar'tampilkan di message boxMessageBox.Show(sLuas.ToString, "Hasil dg Type Single", _MessageBoxButtons.OK, MessageBoxIcon.Information)Apabila kode tersebut dieksekusi maka tampil hasil perhitugan sebagai berikut :Cepat Mahir Visual Basic .NET6
Tetapi apabila variabel sLuas diganti menjadi bertype Double :Dim sLuas As DoubleMaka hasil perhitungannya menjadi sebagai berikut :Perbedaan tersebut terjadi karena type data Single dan Double memiliki tingkat presisi yang berbeda.Contoh tersebut memberikan gambaran kepada anda bagaimana pemilihan suatu variabel menjadisesuatu yang sangat mendasar dalam sebuah aplikasi.Type Data Untuk SemuaTelah dijelaskan dalam bagian pendahuluan kuliah berseri ini bahwa dalam Visual Studio .NETterdapat beberapa bahasa yang mendukung pemrograman .NET. Bahasa tersebut adalah VB, C#,C++, dan J#. Selain itu terdapat pula beberapa third party language yang juga mendukungpemrograman di lingkungan .NET.Karena semua bahasa tersebut mengakses .NET Framework yang sama maka tidak terdapatperbedaan type data dalam tiap-tiap bahasa. Ini berbeda dengan kondisi sebelumnya dimana typedata dalam VB berbeda dengan VC++ dan masing-masing harus dipertimbangkan kompatibilitasnya.Kompatibilitas data dan aplikasi dalam .NET lebih terjamin karena menggunakan library yang samadengan type data sama pula. Ini merupakan kabar gembira bagi sebuah tim pengembang aplikasiyang terdiri dari berbagai programmer dengan keahlian bahasa yang berbeda.Konversi VariabelPada saat tertentu mungkin anda memerlukan konversi dari satu type data ke type lain. VB .NETmenyediakan fungsi CType untuk mengkonversikan variabel. Contoh berikut mengkonversikanvariabel umur yang semula bertipe String menjadi Single.Dim sUmur As String = 5.5Dim bUmur As Single = CType(sUmur, Single)MessageBox.Show(bUmur, "Hasil Konversi", MessageBoxButtons.OK, _MessageBoxIcon.Information)Cepat Mahir Visual Basic .NET7
Inti konversi adalah memasukkan obyek yang akan dikonversi sebagai argumen dari CType danmenentukan variabel tujuan konversinya.System NamespaceDalam .NET sekumpulan kelas library yang memiliki fungsi tertentu disebut dengan namespace.Karena .NET mendukung implementasi konsep OOP maka semua obyek dalam setiap bahasamerupakan turunan dari Namespace tersebut. Type data yang telah dijelaskan sebelumnyasebenarnya diturunkan dari System Namespace, yang merupakan root namespace dalamsistem .NET.Misalnya type data Decimal, ternyata diturunkan dari System Namespace yaitu System.Decimalruntime structure. Demikian pula dengan type data yang lain, selalu diturunkan dari namespaceSystem tersebut.Dengan demikian anda memiliki cara lain dalam mendeklarasikan variabel dan melakukanperhitungan sebagai berikut :Dim dGaji As System.Decimal = 1000000Dim sPajak As System.Decimal = 0.1Dim dGajiTerima As System.Double = dGaji * (1 + sPajak)MessageBox.Show(dGajiTerima.ToString, "Hasil Hitung", _MessageBoxButtons.OK)Mungkin anda bertanya, mengapa pendeklarasian Decimal tetap dapat dibenarkan daripada secaralengkap menyebutkan System.Decimal ? Jawabannya adalah karena VB secara default telahmenyertakan namespace System sebagai reference library dalam setiap Project. Karena referencetersebut telah dibuat maka tidak menjadi halangan apabila anda langsung menyebutkan nama typedatanya saja. Konsep ini berlaku untuk semua namespace dalam .NET.Apabila anda perhatikan menu Solution Explorer maka terlihat beberapa namespace telahdireferensikan secara default, yaitu System, System.Data, System.Drawing, dan seterusnya.Anda dapat menambahkan refrensi tersebut sesuai dengan kebuthan dan jenis library yang akandiakses. Pada bab-bab selanjutnya anda akan mempelajari fungsi apa saja yang tersedia dalam setiapnamespace dan bagaimana cara penggunaannya.Cepat Mahir Visual Basic .NET8
ConstantApabila sebuah variabel selalu memiliki nilai tetap dan tidak berubah-ubah di sepanjang aplikasimaka lebih baik bila anda mendefinisikannya sebagai constant. Misalnya dalam sebuah aplikasimatematika yang memiliki variabel phi, dimana phi bernilai 3.14 yang digunakan dalam perhitunganluas lingkaran dan volume tabung.Menetapkan sebuah variabel tetap sebagai constant memiliki keuntungan karena constant dieksekusilebih cepat daripada variabel. Ini berarti peningkatan performa aplikasi yang dibangun.Deklarasi constant sama dengan deklarasi variabel, dengan menambahkan keyword Constant didepan nama variabel.Const phi As single = 3.14Dim sRadius As single = 20Dim sKeliling As single'melakukan perhitungan dengan constantsKeliling = 2 * phi * sRadiusSemua jenis type data, scope, dan tata cara deklarasi yang berlaku pada variabel berlaku pula untukconstant. Perbedaanya adalah apabila variabel dapat berubah-ubah nilainya, sedangkan constantselalu bernilai tetap.Cepat Mahir Visual Basic .NET
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 digunakanoleh aplikasi di atasnya. Komponen inti .NET Framework adalah Common Language Runtime(CLR) yang menyediakan run time environment untuk aplikasi yang dibangun menggunakanVisual Studio .NET, terlepas dari jenis bahasa pemrogramannya.Dengan adanya CLR tersebut, programmer dapat menikmati consistent object model dalammengakses berbagai komponen library. Dengan demikian penggunaan bahasa pemrogramandalam dunia .NET adalah lebih ke masalah selera atau taste, dan bukan pada kelebihan maupunkekurangan masing-masing bahasa. Mengapa ? Karena semua bahasa pemrograman yangmensupport .NET mengakses library yang sama di dalam .NET Framework, dengan objectmodel yang konsisten, dengan run time file yang sama. Bahasa adalah sekedar skin atau theme,bukan senjata sakti. Bagi seorang .Net Developer, pemahaman terhadap konsep dan objectmodel .NET Framework adalah jauh lebih penting daripada bahasa pemrograman itusendiri.Bagi anda programmer VB6, tentu mengetahui bahwa diperlukan distribusi run time librarykhusus ketika menginstal aplikasi. Demikian pula ketika anda menginstal aplikasi yangdibangun dengan Visual C++ maupun Delphi. Dalam dunia .NET, hal tersebut sudah tidakdiperlukan lagi, selama .NET Framework telah terinstal di komputer sasaran.Untuk informasi lebih detil tentang .NET Framework :http ://msdn.microsoft.com/netframeworkhttp :// msdn.microsoft.com/netframework/productinfo/topten/default.aspx Cepat Mahir Visual Basic .NET2
NET Building Block ServicesBuilding block merupakan sekumpulan services yang bersifat programmable, yang dapatdiakses secara offline maupun online. Service tersebut merupakan modul-modul yang terdapatdi suatu komputer, server dalam jaringan, maupun di suatu server di internet.Service ini merupakan suatu idealisasi di masa depan,terdistribusi dengan modul-modul yang tersimpan didiintegrasikan membentuk suatu aplikasi. Konsep inisubscription based software, yang saat ini mulai banyakApplication Service Provider.dimana sebuah aplikasi bersifatberbagai tempat, tetapi dapatmerupakan arah pengembanganberkembang dan dikenal sebagaiService tersebut dapat diakses oleh berbagai platform, asalkan platform tersebut mensupportprotokol SOAP, yang merupakan protokol standar dalam mengakses web service. Peranan XMLsebagai media definisi data menjadi sangat penting dalam hal ini, dan XML juga menjadi pusatperubahan besar dalam platform .NET. Dalam pelajaran selanjutnya, anda akan melihat bahwasemua data dalam .NET selalu direpresentasikan dalam bentuk XML.3) Visual Studio .NETVisual Studio .NET menyediakan tools bagi para developer untuk membangun aplikasi yangberjalan di .Net Framework. VS.Net membawa perubahan besar dalam gaya pemrograman,karena setiap programmer dituntut untuk memahami .NET object model dan Object OrientedProgramming dengan baik, jika tidak ingin menghasilkan aplikasi dengan performa rendah.VS.Net juga semakin mempertipis jarak antara Windows Programmer dengan WebProgrammer. Dunia scripting yang akrab bagi programmer web akan sulit ditemukandalam .NET, karena pemrograman web sudah bersifat full object oriented, dengan fasilitas eventdriven programming sebagaimana layaknya windows programming. Pemrograman web menjadilebih mudah dan menyenangkan bagi para programmer windows, sedangkan anda para veteranscripting language sudah saatnya untuk beralih ke ASP.NET, yang dapat diprogrammenggunakan 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. Paraveteran VB.Script disarankan untuk mempelajari VB, sehingga dapat menggunakan VB.Netuntuk membangun aplikasi web. Bahasa pemrograman yang terdapat di VS.NET adalahVB.NET, C#, C++ .NET, J#, dan Jscript .NET. Dalam masa mendatang akan terus ditambahberbagai bahasa pemrograman lain. Informasi lebih lengkap tentang VS .NET :http://msdn.microsoft.com/vstudio4) .Net Enterprise ServerBagian ini merupakan sekumpulan server based technology yang digunakan untuk mendukungteknologi .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.Cepat Mahir Visual Basic .NET3
Mengapa .NET ?Ada beberapa alasan yang menguntungkan bila anda mempelajari .NET :Multi LanguageArsitektur .NET bersifat terbuka, sehingga memungkinkan berbagai bahasa pemrograman mengaksesCLR dengan mulus. Banyak kalangan menyebut .NET sebagai “open source” versi Microsoft. Saatini .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. Untuk informasi lebihlengkap tentang berbagai third party language yang tersedia :http://www.gotdotnet.com/team/langBagan berikut menjelaskan kedudukan bahasa pemrograman terhadap .NET Framework dengan CLRsebagai intinya.Sekali lagi, semua bahasa tersebut mengakses object model yang sama dalam .NET, sehingga bagi parapetualang tersedia kemungkinan untuk berpindah dari satu bahasa ke bahasa lain dalam satu proyekaplikasi yang sama. .Net menyediakan integrasi bahasa pemrograman dalam satu peroyek aplikasi. Halini membuka kemungkinan kerjasama tim yang lebih baik, walaupun dalam tim tersebut masing-masingmemiliki keahlian bahasa pemrograman yang berbeda.Pada saat tulisan ini dibuat, implementasi .NET di dunia Linux sedang dalam pengembangan.Sebuah proyek dengan title Mono Project sedang berjalan, anda dapat memantau perkembangannya diwww.go-mono.com. Diharapkan di masa datang, bukan barang aneh apabila developer PHP dapatCepat Mahir Visual Basic .NET4
Comdengan mudah mengakses library .NET Framework, sehingga sebuah tim project dapat bekerja denganlebih baik, tanpa ada “diskriminasi” antara PHP, ASP, VB, maupun Pearl.No DLL HellAnda tahu DLL ? Tentu saja, kalo tidak tentu anda bukan seorang programmer. DLL merupakan blokatau modul-modul obyek dari sebuah aplikasi. Peranannya sangat penting, sekaligus memusingkan.Sering terjadi dalam dunia windows, kompatibilitas dan registrasi DLL di masing-masing Workstationmenjadi isu besar dalam deployment aplikasi.Strong Typing dan Type SafetyBila anda pernah menggunakan VB6, pendefinisian tipe data bukanlah sesuatu yang mutlak wajibdilakukan karena VB akan mendefinisikan primitive data type, suatu type default untuk masing-masingangka atau karakter yang terdapat dalam variabel. Hal ini sebenarnya kurang baik karena dapatmemboroskan memory dan merupakan sumber bug. .NET menyediakan strong typing, dimana setiapvariabel wajib didefiniskan scope dan tipe datanya. Demikian pula dengan fasilitas type safety yangsangat bermanfaat untuk membantu dalam coding pemrograman, terutama fasilitas intellisense yangmembimbing 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 diinternet. Dengan demikian integrasi data antar platform lebih mudah dilakukan, selama platform tersebutmendukung XML. Representasi konsep ini adalah dataset, suatu cache data yang berbentuk XML dandapat diakses dengan mudah. Sebuah data dapat diparsing antar tier aplikasi, baik dari database, middletier, maupun aplikasi klien dalam format XML. Manipulasi format data dalam bentuk XML, .txt,maupun .rtf merupakan sesuatu yang menantang para programmer untuk membuat aplikasi lintasplatform.Code Once, More ApplicationInterface pemrograman bersifat konsisten, dengan object model yang sama pada setiap bahasa yangdigunakan. Suatu object baik berbentuk class, library, maupun web services dapat diakses dengan mudaholeh berbagai aplikasi windows maupun web. Hal ini lebih menghemat waktu para developer, dimanasebuah object dapat dibuat sekaligus untuk aplikasi Web, Windows, dan bahkan console applicationberbasis DOS.1.3 Untuk Apa Belajar VB.NET ?Mengapa VB ? Jawabannya tergantung anda tentunya. VB6 merupakan bahasa terpopuler saat ini, danpara pengguna VB klasik akan lebih mudah berpindah ke VB .NET daripada memilih C++ .NET atauC#. 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 selamaini menyebutkan bahwa VB6 merupakan bahasa yang “amburadul”, tidak jelas struktur obyeknya,mendukung Object Oriented tetapi banci, kompatibilitas kurang, dan lain sebagainya. Semua hal tersebutCepat Mahir Visual Basic .NET5
Comterjadi sebagai boomerang dari VB6 yang terlalu longgar dalam kaidah pemrograman, sehingga tidaksulit menemukan programmer VB6 yang belum pernah membuat property dalam class modul selamakarirnya.Di sisi lain kelonggaran tersebut telah menumbuhkan VB sebagai bahasa yg mudah dipelajari, danpaling populer saat ini. Sebenarnya selama seorang programmer konsisten dan disiplin dengan kaidahkonsep 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 yangdirancang dengan nuansa OOP juga harus diikuti, sehingga VB.NET dapat dikatakan sebagi full OOPprogramming. Hal tersebut mungkin bukanlah barang baru bagi anda pemakai Java atau C, tetapimerupakan hal baru bagi kebanyakan programmer VB6. Dengan demikian, mempelajari VB.NET berartimeningkatkan skill veteran VB klasik, sejajar pemrogram berbasis OOP lainnya. Link berikutmenyediakan informasi lebih lengkap tentang VB .NET : http://msdn.microsoft.com/vbasicCepat Mahir Visual Basic .NET
Cepat MahirVisual Basic .NETM. Choirul Amrichoirul@bsmdaemon.comLisensi Dokumen:Copyright © 2003 IlmuKomputer.ComSeluruh dokumen di IlmuKomputer.Com dapat digunakan, dimodifikasi dandisebarkan secara bebas untuk tujuan bukan komersial (nonprofit), dengan syarattidak menghapus atau merubah atribut penulis dan pernyataan copyright yangdisertakan dalam setiap dokumen. Tidak diperbolehkan melakukan penulisan ulang,kecuali mendapatkan ijin terlebih dahulu dari Aplikasi VB.NET Anda YangPertamaPada bagian ini anda akan membuat sebuah aplikasi sederhana menggunakan VB.NET. Meskipunaplikasi yang dibuat sangat sederhana, penulis berusaha untuk mengenalkan anda pada berbagaifeature baru dan tools dasar VB.NET , sehingga dapat digunakan sebagai dasar pemrograman yanglebih kompleks.Skenario yang digunakan dalam bab ini adalah membuat aplikasi sekaligus membahas pengenalanIntegrated Development Environtment (IDE) VB.NET. Aplikasi yang akan dibuat adalah tanyajawab mengenai makanan favorit, dan aplikasi tersebut akan memberikan komentar berdasarkanjenis makanan yang diinput user.2.1 Membuat Project BaruMulailah dengan membuka Visual Studio .NET, maka akan tampil Start Page yang menampilkanbeberapa project terakhir yang anda akses. Pada bagian kiri terdapat beberapa baris hyperlink yangCepat Mahir Visual Basic .NET1
menghubungkan anda dengan beberapa informasi penting. Beberapa link memerlukan koneksiinternet untuk mengaksesnya, seperti Online Community dan web Hosting.Untuk membuat Project baru pilih New Project untuk menampilkan dialog New Project sepertiberikut :Dalam dialog New Project anda dapat memilih jenis aplikasi yang akan dibuat termasuk bahasapemrograman digunakan. Jenis aplikasi yang dapat dibuat adalah :•Windows Application : adalah aplikasi yang paling umum dibuat, menggunakan interfacewindows. Biasanya Windows Application merupakan interface aplikasi sedangakan logicCepat Mahir Visual Basic .NET2
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 menjalankanfungsi tertentu. Class merupakan fondasi dasar untuk membentuk obyek dalampemrograman berorientasi obyek. Class Library tidak memiliki interface tertentu sepertiform, tetapi dapat diakses oleh aplikasi lain untuk menjalakan berbagai fungsi yang terdapatdi dalamnya. Class Library dapat disamakan dengan teknologi ActiveX DLL (.dll) danActiveX 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 andainginkan di dalam kontrol tersebut. Fasilitas untuk membuat kontrol tersebut adalahWindows Control Library. Kontrol ini sama dengan ActiveX Control (.ocx) dalampemrograman VB6.ASP .NET Web Application : adalah project yang digunakan untuk membuat aplikasi web.Teknologi yang digunakan adalah ASP .NET yang memiliki berbagai kelebihandibandingkan ASP klasik. Perubahan utamanya adalah dapat diprogram menggunakanberbagai bahasa .NET seperti VB, C++, C# maupun J#. ASP .NET juga menyediakanberbagai kontrol yang bersifat event drivent programming sehingga lebih menghemat waktupembuatan aplikasi.ASP .NET Web Service : Web service merupakan salah satu ide utama dalam .NET. Andadapat membuat web service dan meletakkannya di web server untuk diakses berbagaiaplikasi. Sebuah web service dapat diakses oleh aplikasi windows, web, console, maupunmobile device. Web service hampir sama dengan Class Library, perbedaan utamanya adalahweb service tersebut diletakkan di web server sehingga dapat diakses dengan lebih mudahdan tidak terbatas pada aplikasi berbasis windows saja.Console Application : merupakan aplikasi dengan tampilan text mode atau DOS. Aplikasijenis ini biasa digunakan sebagai monitoring service atau remote application dimana sumberdaya komputer dan bandwith sangat terbatas.Windows Service : adalah aplikasi yang berjalan sebagai service di windows, yang di loadbersamaan dengan proses start up windows. Aplikasi ini berjalan di background danbiasanya tidak memiliki interface. Penerapan aplikasi ini misalnya untuk pembuatanscanning antivirus, server FTP, dan remote server.Web Control Library : Hampir sama dengan Windows Control Library tetapi digunakanuntuk aplikasi web.••••••2.2 VB .NET IDEDalam latihan ini anda akan membuat Windows Application sehingga anda harus memilih jenisproject tersebut. Di bagian bawah jendela New Project terdapat dialog untuk menentukan letak fileaplikasi. VB selalu membuat satu direktori untuk menyimpan satu project dengan nama sesuai namaproject tersebut. Berikan nama Latihan 01 untuk project anda dan klik OK untuk melanjutkan.Tampilan Windows Form Designer adalah sebagai berikut :Cepat Mahir Visual Basic .NET3
Gambar di atas menjelaskan garis besar IDE yang biasa digunakan. Di bagian atas terdapat toolbaryang sudah tidak asing lagi, mencakup berbagai fasilitas editing seperti cut, copy, paste, dan tombolStart. Di bagian kanan terdapat Solution Explorer yang menampilkan berbagai obyek dalam aplikasiseperti form, class dan component.Anda dapat berpindah dari mode View Code ke View Designer atau sebaliknya. View Codemenampilkan coding untuk obyek-obyek dalam aplikasi, sedangkan View Designer menampilkanrepresentasi fisik obyek tersebut.Di bawah Solution Explorer terdapat Properties Window yang berisi properti obyek yang sedangaktif di bagian designer. Anda dapat mengatur properti obyek di bagian ini baik dari segi tampilanmaupun perilaku obyek tersebut dalam aplikasi. Selain menetapkan properti di bagian ini dapat pulamengeset properti secara run time dengan menggunakan coding.Bagian yang sering digunakan adalah Toolbox yang terdapat di sisi kiri, yang pada gambar di atassengaja dihide untuk menghemat tempat. Gambar di bawah menampilkan Toolbox yang berisiberbagai macam obyek untuk ditempatkan di form.Cepat Mahir Visual Basic .NET4
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 dapatmengklik ganda atau dengan drag-drop untuk meletakkan suatu kontrol ke form.2.3 Memulai CodingUntuk membuat aplikasi pertama ini letakkan kontrol Label, TextBox, dan Button seperti gambarberikut :Cepat Mahir Visual Basic .NET5
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 tuliskankode berikut :Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) HandlesButton1.ClickDim Makanan As String = TextBox1.TextIf Makanan = "sate" ThenMessageBox.Show("Enak, tetapi kolestrol tinggi", "Respon", MessageBoxButtons.OK).ToString()ElseIf Makanan = "pecel" ThenMessageBox.Show("Murah dan sehat, :)", "Respon", MessageBoxButtons.OK) .ToString()ElseIf Makanan = "mie ayam" ThenMessageBox.Show("Ini kurang sehat lho", "Respon", MessageBoxButtons.OK) .ToString()ElseMessageBox.Show("Maaf, yang ini No Comment", "Respon", MessageBoxButtons.OK) .ToString()End IfEnd SubKode tersebut akan dieksekusi setiap kali user mengklik Button1 dan VB akan mengealuasi inputdari user yang diletakkan di TextBox1. Event yang ditangkap adalah Button1_Click yang terjadisetiap kali user mengklik tombol tersebut.Selanjutnya klik ganda di ruang kosong Form untuk menampilkan Event Form1_Load dan isikankode berikut :Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) HandlesMyBase.LoadLabel1.Text = "Apa makanan favorit anda ?"End SubCepat Mahir Visual Basic .NET6
Kode tersebut akan mengeset test di Label1 yang semula blank menjadi bertuliskan "Apa makananfavorit 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 pesansesuai yang telah anda masukkan di kode program yaitu "Enak, tetapi kolestrol tinggi". Masukkankata “pecel” dan “soto” lalu lihatlah bagaimana aplikasi tersebut bereaksi.2.4 Bagaimana Cara Kerjanya ?Aplikasi ini menggunakan kontrol alir logika IF…THEN…. Yang sangat umum dijumpai dalamsetiap program. User memasukkan input di TextBoxt yang ditangkap dan dimasukkan ke variabelMakanan bertipe data String.Dim Makanan As String = TextBox1.TextSelanjutnya variabel makanan dievaluasi dan diberikan respon message box sesuai dengan jenismakanan yang dimasukkan.If Makanan = "sate" ThenMessageBox.Show("Enak, tetapi kolestrol tinggi", "Respon", MessageBoxButtons.OK).ToString()VB menampilkan message box menggunakan Class MessageBox dengan argumen yang terdiri daripesan, caption, dan jenis button yang ditampilkan. Apabila jenis makanan ternyata bukan “sate”maka dilanjutkan dengan jenis makanan lainnya yang terdapat di bawah kriteria pertama :ElseIf Makanan = "pecel" ThenMessageBox.Show("Murah dan sehat, :)", "Respon", MessageBoxButtons.OK)Demikian seterusnya sampai struktur IF…THEN… tersebut berakhir.Pada saat anda bekerja dengan kode, fasilitas intellisense sangat membantu untuk mengurangikesalahn coding. Feature ini memunculkan berbagai properti, method, dan function dari suatu classketika anda mengetikkan tanda dot (.).Cepat Mahir Visual Basic .NET7
Ketika anda memulai baris baru sebuah kode dan ingin mengetikkan obyek built in, anda dapatmenampilkan daftar obyek-obyek tersebut dengan mengetikkan Ctrl+Spasi.2.5 Meningkatkan Kinerja AplikasiAplikasi yang telah anda buat mungkin cukup memadai untuk sebuah program sederhana. Namunsekarang tiba saatnya untuk benar-benar menguji kehandalan aplikasi tersebut.Cobalah memasukkan kata “Sate”, perhatikan bahwa anda harus menggunakan huruf “S” kapital.Apa yang terjadi ? Aplikasi tersebut akan memunculkan pesan sebagai berikut :Cepat Mahir Visual Basic .NET8
Tentunya anda melihat sesuatu yang ganjil di sini. Pesan yang ditampilkan berbeda dengan pesanuntuk kata “sate” sebagaimana telah dicobakan sebelumnya. Kata “sate” dan “Sate” seharusnyamemiliki makna yang sama, sehingga pesan yang dimunculkan seharusnya sama pula. Tetapiaplikasi tersebut menganggap kedua kata tersebut sebagai sesuatu yang berbeda karena perbedaanpenggunaan huruf kapital. Anda menjumpai bahwa aplikasi tersebut mengandung bug, sebuahlogical bug yang dapat menyesatkan pengguna.Untuk memperbaiki bug tersebut digunakan konversi huruf sehingga aplikasi akan menganggapsemua input yang dimasukkan adalah sama. Semua input akan dikonversi terlebih dahulu menjadihuruf kapital, dan selanjutnya dievaluasi sesuai struktur IF….THEN….Kuncinya adalah dengan mengkonversi semua input di TextBox1 menjadi huruf kapital denganmenggunakan fungsi Ucase.Dim Makanan As String = UCase(TextBox1.Text)Dan selanjutnya anda harus merubah semua string makanan menjadi huruf kapital. Keseluruhankode di event Button1_Click akan menjadi sebagai berikut :Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) HandlesButton1.ClickDim Makanan As String = UCase(TextBox1.Text)If Makanan = "SATE" ThenMessageBox.Show("Enak, tetapi kolestrol tinggi", "Respon", messageBoxButtons.OK).ToString()ElseIf Makanan = "PECEL" ThenMessageBox.Show("Murah dan sehat, :)", "Respon", MessageBoxButtons.OK).ToString()ElseIf Makanan = "MIE AYAM" ThenMessageBox.Show("Ini kurang sehat lho", "Respon", MessageBoxButtons.OK).ToString()ElseMessageBox.Show("Maaf, yang ini No Comment", "Respon", MessageBoxButtons.OK).ToString()End IfEnd SubCepat Mahir Visual Basic .NET9
Sekarang cobalah menjalankan kembali aplikasi dengan menekan tombol F5 dan masukkan kata“Sate”, atau “sAte”. Semua akan menghasilkan respon pesan yang sama dengan kata “sate”, karenaVB telah mengkonversi semua input tersebut sebelum dievaluasi dengan pembanding yang telahdibuat dalam huruf kapital. Dengan demikian aplikasi anda tetap “menganalisis” input secara benarmeskipun user melakukan kesalan entri jenis makanannya, terutama dalam hal pemakaian hurufkapital.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 yanglebih bersahabat dengan menambahkan baris kode berikut sebelum struktur IF…THEN….berakhir,yaitu tepat di bawah variabel bernilai “MIE AYAM”ElseIf Makanan = "" ThenMessageBox.Show("Makanan belum diisikan", "Warning", MessageBoxButtons.OK, _MessageBoxIcon.Warning).ToString()Sehingga apabila user tidak memasukkan makanan tertentu maka ditampilkan pesan sebagaiberikut :Cepat Mahir Visual Basic .NETM. Choirul Amri10
Anda telah mempelajari bagaimana sebuah aplikasi harusmmempertimbangkan berbagaikemungkinan kesalahan dan variasi input yang dilakukan user. Dengan demikian aplikasi anda akantampak lebih user friendly dan lebih cerdas.Cepat Mahir Visual Basic .NET
Cepat MahirVisual Basic .NETM. Choirul Amrichoirul@bsmdaemon.comLisensi Dokumen:Copyright © 2003 IlmuKomputer.ComSeluruh dokumen di IlmuKomputer.Com dapat digunakan, dimodifikasi dandisebarkan secara bebas untuk tujuan bukan komersial (nonprofit), dengan syarattidak menghapus atau merubah atribut penulis dan pernyataan copyright yangdisertakan dalam setiap dokumen. Tidak diperbolehkan melakukan penulisan ulang,kecuali mendapatkan ijin terlebih dahulu dari IlmuKomputer.Com.Bab 3Bekerja dengan Variabel dan DataSeorang software developer tidak dapat mengelak untuk tidak menggunakan variabel dan data. Mautidak mau anda harus menggunakannya. Pemahaman yang benar tentang variabel baik dalam halscope, lifetime, dan type nya akan sangat berguna untuk melahirkan sebuah aplikasi handal, efisien,dan cepat.Mengapa sebuah variabel harus didefinisikan dan dibuat ? Karena komputer menggunakan memoryuntuk menampung sementara data yang akan diproses. Ketika anda akan melakukan sebuahperhitungan, maka lebih efisien apabila anda membuat variabel-variabel untuk menampung formulaperhitungan tersebut. Anda dapat saja tidak menyimpannya dalam variabel dan langsungmemasukkan nilainya dalam sebuah perhitungan, dan akibatnya komputer harus meminta input daripengguna untuk setiap nilai yang akan dihitung.Cepat Mahir Visual Basic .NET1
Penggunaan VariabelUntuk dapat memakai sebuah variabel maka anda harus mendeklarasikannya terlebih dahulu. Dalambahasa VB6 anda dapat saja menggunakan sebuah variabel tanpa membuat deklarasi meskipun haltersebut tidak direkomendasikan dan sangat tidak efisien bagi sebuah aplikasi.Deklarasi VariabelTujuan pendeklarasian variabel adalah agar komputer mengetahui dengan pasti type data yang akandigunakan dalam variabel tersebut serta scopenya. Dengan demikian komputer dapat langsungmengeksekusi sebuah variabel tanpa memeriksa lagi type datanya. Sebuah variabel harus memilikinama, type data, scope, dan value. Berikut adalah contoh deklarasi variabel :DimDimDimDimDimsNama As StringdGajiPokok As DecimaldTunjangan As DecimaldGajiTotal As DecimaldPajak As DecimalsNama = "Anto"dGajiPokok = 600000dTunjangan = 150000Dideklarasikan 5 variabel masing-masing dengan type string (1 variabel) dan decimal (4 variabel).Selanjutnya pada tiap variabel tersebut masing-masing diisikan nilainya. Pengisian nilai variabeltersebut harus sesuai dengan type data yang telah ditetapkan. Misalnya saja anda tidak dapat mengisivariabel dGajiPokok dengan “Anto”, karena variabel tersebut telah didefinisikansebagai decimal yang harus berisi angka dan bukan string.Anda juga dapat mendeklarasikan variabel dan langsung memberikan nilainya pada saat yang samadalam satu baris kode. Teknik ini merupakan feature baru VB .NET.Dim dGajiPokok As Decimal = 600000Selain itu anda juga dapat mendeklarasikan beberapa variabel sekaligus dalam satu baris danmendefinisikan type datanya secara bersamaan.Dim sUmur, sTinggi, sGaji As SingleKetiga variabe tersebut memiliki type data sama yaitu Single. Cara ini memudahkan pendeklarasianvariabel daripada harus mengulang deklarasi dalam tiga baris.Melakukan PerhitunganSelanjutnya anda dapat melakukan perhitungan tertentu dengan menggunakan variabel tersebutsebagai komponen formula sebagai berikut :dGajiTotal = dGajiPokok + dTunjangandPajak = 0.1 * dGajiTotalSegala Sesuatu adalah OBYEK !Salah satu mantra baru dalam .NET programming adalah cara kita memandang terhadap obyek.Segala sesuatu adalah obyek, begitulah pedoman yang harus anda pegang. Dalam teknik VB6 andamengenal konsep Object Oriented Programming (OOP) melalui Class dan konsep COM. Namundalam .NET segala sesuatu merupakan obyek, termasuk variabel juga merupakan obyek.Cepat Mahir Visual Basic .NET2
Karenanya suatu varabel juga memiliki berbagai sifat yang diwujudkan dalam property, event, danfunction. Sifat-sifat tersebut dapat diwariskan ke obyek lain, atau suatu variabel dapat mewarisi sifatdari obyek di atasnya.Sebagai contoh anda dapat melakukan perhitungan besarnya dGajiTotal dan dPajak di atas denganmemanfaatkan fasilitas OOP yang terdapat dalam variabel tersebut. Gunakan keyword untukmelakukan perhitungan sebagai berikut:dGajiTotal = dGajiTotal.Add(dGajiPokok, dTunjangan)dPajak = dGajiTotal.Multiply(0.1, dGajiTotal)Anda menggunakan function Add dan Multiply sebagai pengganti perhitungan sebelumnya.Argumen yang digunakan adalah dGajiPokok, dTunjangan dan dGajiTotal.Menampilkan Hasil PerhitunganHasil perhitungan tersebut ditampilkan ke dalam dua buah label sebagai berikut :Label1.Text = "Gaji Total = " & dGajiTotal.ToStringLabel2.Text = "Pajak Anda = " & dPajak.ToStringKeyword ToString yang mengikuti setiap variabel bertujuan untuk mengkonversikan hasilperhitungan yang semula bertype decimal menjadi string.Anda akan melihat bahwa perhitungan yang anda lakukan dengan cara pertama akan sama hasilnyadengan menggunakan cara kedua yang memanfaatkan built in function dalam sebuah variabel.3.2 Ruang Lingkup dan Type VariabelSebuah variabel memiliki ruang lingkup (scope) tertentu, tergantung dengan cara bagaimana variabeltersebut dideklarasikan. Terdapat 3 macam scope suatu varibel :1. Procedure level / local scope2. Module level3. Variabel PublicMasing-masing scope tersebut dapat dijelaskan sebagai berikut :Cepat Mahir Visual Basic .NET3
Procedure level / local scopeApabila suatu variabel dideklarasikan dalam suatu prosedur tertentu, maka variabel tersebut hanyadapat 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) HandlesButton3.ClickDim sPesan As StringsPesan = "tes Variabel local"MessageBox.Show(sPesan, "Variabel local", MessageBoxButtons.OK, _messageBoxIcon.Information)End SubVariabel sPesan dideklarasikan di dalam prosedur Button3_Click sehingga hanya berlaku di dalamprosedur tersebut saja. sPesan tidak dapat diakses dari luar Button3_Click. Apabila andamenggunakan variabel yang hanya dipakai dalam suatu prosedur tertentu maka sebaiknya andamenggunakan jenis variabel ini.Pengertian prosedur di sini menyangkut function, event, dan properti, sehingga tidak terbatas padaevent saja sebagaimana dicontohkan di atas.Karena variabel ini scope nya lokal untuk prosedur tertentu saja maka nama variabel tersebut hanyaberlaku di dalam prosedur dimana variabel tersebut dideklarasikan. Misalkan anda memiliki functionbernama A dan memiliki variabel bernama sNama. Kemudian anda memiliki sebuah event B danmemiliki variabel bernama sama yaitu sNama. Kedua variabel tersebut tidak akan salingberhubungan dan tetap terpisah nilainya karena dideklarasikan secara lokal di dalam prosedurmasing-masing.Module LevelAnda dapat membuat suatu variabel yang dapat diakes dari prosedur manapun dalam suatu file.Misalkan anda ingin mendeklarasikan suatu string koneksi yang akan dipakai terus menerus didalam suatu module. Maka anda harus mendeklarasikan variabel tersebut di bagian deklarasi modulesebagaimana contoh berikut :Cepat Mahir Visual Basic .NET4
Kuliah Berseri IlmuKomputer.ComCopyright © 2003 IlmuKomputer.ComTerlihat ada 6 variabel yang dideklarasikan di bagian Declaration sebuah form bernama Form1.Selanjutnya variabel yang dideklarasikan di bagian ini akan dipakai untuk melakukan berbagaiperhitungan di tiap prosedur. Anda dapat membuka source code yang disertakan untuk meneliti lebihjauh bagaimana variabel tersebut dipakai.Anda harus berhati-hati menggunakan variabel jenis ini, karena nilai suatu variabel akan terusberubah mengikuti perlakuan di setiap prosedur yang mengaksesnya. Sebaiknya anda hanyamenggunakannya apabila memang benar-benar diperlukan. Untuk mempermudah menelusuri errordan maintenance aplikasi anda dapat menggunakan variabel dengan scope local.Variabel jenis ini hanya berlaku untuk module dimana variabel tersebut dideklarasikan. Variabel initidak dapat diakses dari module lain meskipun berada dalam sebuah Project aplikasi yang sama.Apabila anda membutuhkan variabel yang dapat diakses dari module lain maka dapat digunakanVariabel Public/GlobalVariabel Public/GlobalCara pendeklarasian variabel jenis ini hampir sama dengan jenis module level dengan menambahkankata Public sebagai pengganti keyword Dim. Variabel ini dapat diakses dari module lain, dan bahkandapat diakses oleh Project lain selama Project tersebut membuat reference ke Project dimanavariabel tersebut dideklarasikan.Misalkan anda memiliki Class yang digunakan untuk membuka dan menutup koneksi database.Maka anda dapat mendefinisikan variabel untuk koneksi sebagai Public sehingga form, Class,maupun Project lain dapat mengakses variabel tersebut dan melakukan koneksi ke database denganmemanfaatkan Class tersebut.Pada contoh deklarasi di atas variabel cn dirubah deklarasinya menjadi code berikut :Public cn As SqlClient.SqlConnectionAnda akan banyak menggunakan variabel jenis ini pada saat mempelajari teknik reference dalammengakses berbagai komponen yang terdapat di VB.NET maupun yang anda buat sendiri.Type Data Pada VariabelSetiap variabel harus dideklarasikan type datanya sehingga VB mengalokasikan sumber daya yanglebih efisien untuk variabel tersebut. Anda harus memahami dengan baik tiap jenis type data dankapan type data tertentu digunakan.Misalnya anda menggunakan type data String untuk menyimpan nama seseorang, dan menggunakanByte untuk menyimpan umurnya. Anda harus memilih type data dengan ukuran dan akurasi palingefisien dan cocok sesuai tujuan anda.Contoh lain bila anda ingin melakukan kalkulasi dengan presisi tinggi, maka dapat digunakan typedata Double, sedangkan untuk menyimpan umur seseorang yang tidak mungkin lebih dari 100 tahunmaka digunakan type Byte.Tabel berikut merupakan daftar type data yang dapat anda gunakan lengkap dengan ukuran danscopenya:Cepat Mahir Visual Basic .NET5
TypeDataBooleanByteCharDateDecimalSingleUkuranMemori4128124Nilai DefaultFalse0Char(0)01/01/000112:00:00AM0D0.0Cakupan NilaiTrue atau False0 s/d 2550 s/d 65,535January 1, 1 CE s/dDecember 31, 9999+/- 9,228,162,514,264,337,593,543,950,335 nilai bukan nol terkecil :+/-.00000000000000000000000000013.402823E38 s/d -1.401298E-45 untuk nilainegatif;1.401298E-45 s/d 3.402823E38 untuk nilaipositif1.79769313486231E308 s/d -4.94065645841247E-324 untuk nilainegatif ;4.94065645841247E-324 s/d1.79769313486232E308 untuk nilai positif- 2,147,483,648 s/d 2,147,483,647-32,768 s/d 32,767- 9,223,372,036,854,775,808 s/d9,223,372,036,854,775,807Double80.0IntegerShortLong428000Berdasarkan tabel diatas anda dapat memilih penggunaan type data yang paling sesuai dengankebutuhan dalam sebuah variabel.Prinsip utama yang perlu diperhatikan dalam pemilihan adalah jangan menggunakan tipe data yangyang ukurannya berlebihan dibanding kebutuhan anda. Sesuaikan pula dengan presisi yangdikehendaki dalam aplikasi.Misalnya untuk membuat variabel yang berisi jumlah anak dalam keluarga, anda menggunakan typeInteger. Tentunya ini tidak sesuai karena type Integer berukuran 4 byte dalam memori, sedangkananda tidak memerlukan nilai sampai dengan maksimum 2,147,483,647. Anda dapat menggunakantype data Byte dengan nilai maksimum 255 dan hanya membutuhkan 1 byte memori. Tentunyasesuatu yang wajar apabila jumlah anak dalam keluarga tidak melebihi angka 255.Dua contoh perhitungan berikut menampilkan hasil yang berbeda dari suatu perhitungan yangdiakibatkan penggunaan type data berbeda.Dim sLuas As SingleDim sPanjang As Single = 7.5689782Dim sLebar As Single = 9.568972'Hitung luas dengan tipe data singlesLuas = sPanjang * sLebar'tampilkan di message boxMessageBox.Show(sLuas.ToString, "Hasil dg Type Single", _MessageBoxButtons.OK, MessageBoxIcon.Information)Apabila kode tersebut dieksekusi maka tampil hasil perhitugan sebagai berikut :Cepat Mahir Visual Basic .NET6
Tetapi apabila variabel sLuas diganti menjadi bertype Double :Dim sLuas As DoubleMaka hasil perhitungannya menjadi sebagai berikut :Perbedaan tersebut terjadi karena type data Single dan Double memiliki tingkat presisi yang berbeda.Contoh tersebut memberikan gambaran kepada anda bagaimana pemilihan suatu variabel menjadisesuatu yang sangat mendasar dalam sebuah aplikasi.Type Data Untuk SemuaTelah dijelaskan dalam bagian pendahuluan kuliah berseri ini bahwa dalam Visual Studio .NETterdapat beberapa bahasa yang mendukung pemrograman .NET. Bahasa tersebut adalah VB, C#,C++, dan J#. Selain itu terdapat pula beberapa third party language yang juga mendukungpemrograman di lingkungan .NET.Karena semua bahasa tersebut mengakses .NET Framework yang sama maka tidak terdapatperbedaan type data dalam tiap-tiap bahasa. Ini berbeda dengan kondisi sebelumnya dimana typedata dalam VB berbeda dengan VC++ dan masing-masing harus dipertimbangkan kompatibilitasnya.Kompatibilitas data dan aplikasi dalam .NET lebih terjamin karena menggunakan library yang samadengan type data sama pula. Ini merupakan kabar gembira bagi sebuah tim pengembang aplikasiyang terdiri dari berbagai programmer dengan keahlian bahasa yang berbeda.Konversi VariabelPada saat tertentu mungkin anda memerlukan konversi dari satu type data ke type lain. VB .NETmenyediakan fungsi CType untuk mengkonversikan variabel. Contoh berikut mengkonversikanvariabel umur yang semula bertipe String menjadi Single.Dim sUmur As String = 5.5Dim bUmur As Single = CType(sUmur, Single)MessageBox.Show(bUmur, "Hasil Konversi", MessageBoxButtons.OK, _MessageBoxIcon.Information)Cepat Mahir Visual Basic .NET7
Inti konversi adalah memasukkan obyek yang akan dikonversi sebagai argumen dari CType danmenentukan variabel tujuan konversinya.System NamespaceDalam .NET sekumpulan kelas library yang memiliki fungsi tertentu disebut dengan namespace.Karena .NET mendukung implementasi konsep OOP maka semua obyek dalam setiap bahasamerupakan turunan dari Namespace tersebut. Type data yang telah dijelaskan sebelumnyasebenarnya diturunkan dari System Namespace, yang merupakan root namespace dalamsistem .NET.Misalnya type data Decimal, ternyata diturunkan dari System Namespace yaitu System.Decimalruntime structure. Demikian pula dengan type data yang lain, selalu diturunkan dari namespaceSystem tersebut.Dengan demikian anda memiliki cara lain dalam mendeklarasikan variabel dan melakukanperhitungan sebagai berikut :Dim dGaji As System.Decimal = 1000000Dim sPajak As System.Decimal = 0.1Dim dGajiTerima As System.Double = dGaji * (1 + sPajak)MessageBox.Show(dGajiTerima.ToString, "Hasil Hitung", _MessageBoxButtons.OK)Mungkin anda bertanya, mengapa pendeklarasian Decimal tetap dapat dibenarkan daripada secaralengkap menyebutkan System.Decimal ? Jawabannya adalah karena VB secara default telahmenyertakan namespace System sebagai reference library dalam setiap Project. Karena referencetersebut telah dibuat maka tidak menjadi halangan apabila anda langsung menyebutkan nama typedatanya saja. Konsep ini berlaku untuk semua namespace dalam .NET.Apabila anda perhatikan menu Solution Explorer maka terlihat beberapa namespace telahdireferensikan secara default, yaitu System, System.Data, System.Drawing, dan seterusnya.Anda dapat menambahkan refrensi tersebut sesuai dengan kebuthan dan jenis library yang akandiakses. Pada bab-bab selanjutnya anda akan mempelajari fungsi apa saja yang tersedia dalam setiapnamespace dan bagaimana cara penggunaannya.Cepat Mahir Visual Basic .NET8
ConstantApabila sebuah variabel selalu memiliki nilai tetap dan tidak berubah-ubah di sepanjang aplikasimaka lebih baik bila anda mendefinisikannya sebagai constant. Misalnya dalam sebuah aplikasimatematika yang memiliki variabel phi, dimana phi bernilai 3.14 yang digunakan dalam perhitunganluas lingkaran dan volume tabung.Menetapkan sebuah variabel tetap sebagai constant memiliki keuntungan karena constant dieksekusilebih cepat daripada variabel. Ini berarti peningkatan performa aplikasi yang dibangun.Deklarasi constant sama dengan deklarasi variabel, dengan menambahkan keyword Constant didepan nama variabel.Const phi As single = 3.14Dim sRadius As single = 20Dim sKeliling As single'melakukan perhitungan dengan constantsKeliling = 2 * phi * sRadiusSemua jenis type data, scope, dan tata cara deklarasi yang berlaku pada variabel berlaku pula untukconstant. Perbedaanya adalah apabila variabel dapat berubah-ubah nilainya, sedangkan constantselalu bernilai tetap.Cepat Mahir Visual Basic .NET
Tidak ada komentar:
Posting Komentar