Upload
uyuwachyu
View
173
Download
4
Embed Size (px)
Citation preview
1
Pengantar VB.NET1. Mengenal VB.NET
Adanya perubahan besar yang dibawa oleh Internet telah dapat menembus segala aspek kehidupan manusia. Halini membuat Microsoft mengubah pandangannya tentang masa depan, dari orientasi yang berpusat pada PC keorientasi yang berpusat pada Internet khususnya masalah service / layanan. Untuk mewujudkan konsep All InternetBased ini, Microsoft mengembangkan kumpulan teknologi baru yang mereka sebut Microsoft.NET.
Sebuah hasil survey menjelaskan bahwa untuk membuktikan keseriusan Microsoft dalam melaksanakan konsep ini,mereka membelanjakan jutaan dolar AS yang mewakili 80% dari anggaran Research and Development mereka.Platform .NET tidak hanya dikhususkan bagi aplikasi yang dibuat menggunakan Visual Studio.NET (VS.NET) saja,tapi nantinya semua produk-produk Microsoft kedepannya akan berbasiskan .NET. Contohnya yang telah kitanikmati adalah Microsoft Office 2003, menggunakan format file XML (Extensible Markup Language) untukpenyimpanan datanya. Juga sistem operasi Windows dengan kode “Longhorn”.
Alasan dibuat .NET adalah memberikan pemakai akses ke informasi, file atau program, setiap tempat, setiap saat,setiap platform dan setiap perangkat. Pemakai tidak perlu tahu dimana informasi berada atau detail bagaimana caramemanggilnya.
a. Sejarah Singkat
Visual Basic versi sebelumnya adalah Visual Basic 6 yang diluncurkan Microsoft tahun 1998. kemudian padabulan Juli 2000, Microsoft memaparkan pengembangan Microsoft.NET dalam PDC (Proffesional DeveloperConference) di Orlando, Florida, AS.
Setelah dilakukan pengembangan cukup lama, akan pada Februari 2002 secara resmi Microsoft merilisVS.NET di mana salah satu bahasa pemrogramannya adalah VB.NET.
Lalu pada tahun 2003, Microsoft merilis VS.NET 2003 yang memperbaiki performa dan aspek keamanan dariVS.NET 2002. Pada VS.NET 2003 telah menggunakan .NET Framework 1.1 yang terbaru.
Pada awal tahun ini Microsoft juga telah merilis VS.NET 2005 dengan menggunakan .NET Framework 2.0.
b. Edisi Visual Studio.NET
Microsoft umumnya dalam setiap versi membuat empat edisi Visual Studio.NET, dimulai dari edisi paling dasarsampai paling lengkap sbb :
VS.NET Proffesional
Merupakan produk dasar yang terdiri dari VB.NET, Visual C++ .NET, Visual C# .NET dan Visual J#.NET. Dapat untuk membuat dan menggunakan layanan Web XML (XML Web Services),membangun aplikasi web, windows dan mobile menggunakan WML, pada telepon selulermenggunakan basis WAP dan XHTML untuk Pocket PC, Palm dan sejenisnya.
VS.NET Academic
Memiliki semua fitur yang ada pada edisi Proffesional ditambah dengan beberapa fitur instruksionalyang didesain untuk menyedrhanakan pengolahan mata kuliah dan memudahkan pengembanganaplikasi baik untuk fakultas maupun mahasiswa. Terdapat tool untuk fakultas seperti pengelolaantugas dan code extraction, pembuatan dokumentasi dan contoh kode.
VS.NET Enterprise Developer
Memiliki fitur standar pada Proffesional ditambah kemampuan untuk mengembangkan aplikasienterprise seperti :
Memungkinkan kerja sama tim developer untuk aplikasi windows dan web. Tim developer dapatberbagi kode sumber dan proyek menggunakan Visual SourceSafe.
Disediakan tool untuk membangun aplikasi enterprise. Terdapat Server Explorer dan VisualComponent Designer. Adanya Visual Database Tool untuk bekerja secara langsung denganlapisan data dari berbagai sumber database termasuk SQL Server dan Oracle.
Terdapat versi penuh dari SQL Server 2000, Windows Server 2000, Exchange Server, E-Commerce Server dan Microsoft Host Integration Server.
Developer dapat menggunakan template proyek enterprise dan frameworks yang berisi petunjukarsitektural terpasang untuk membangun aplikasi.
2
VS.NET Enterprise Architect
Memiliki fitur pada enterprise developer ditambah kemampuan untuk mendesain, menentukan danmengkomunikasikan arsitektur dan fungsionalitas aplikasi. Diantaranya :
Mendesain XML Web Services dan aplikasi secara Visual. Terdapat software modeling Visioberbasis UML (Unified Modelling Language) untuk membuat aplikasi arsitektur, bisnis dandesain database. Juga terdapat model untuk membuat class, fungsi dan method.
Disediakan database modelling berbasis Visio. Untuk Business Process terdapat BizTalkServer 2000 Developer Edition. Disediakan fitur untuk membuat Enterprise Template dan Frameworks menggunakan Template
Description Language.
2. Mengapa Menggunakan VB.NET
Setiap generasi baru dari perangkat lunak bahasa pemrograman datang karena adanya keterbatasan dari generasisebelumnya. Teknologi Mobile Device, Hardware, Network dan Internet menyebabkan bahasa pemrogramansekarang kurang ideal untuk bisa maksimal menggunakan teknologi tersebut.
a. Keterbatasan VB 6
Dalam pengembangan aplikasi, VB 6 menggunakan dua model yaitu VB Client berbasis form dan komponenCOM ( Component Object Model ). Sedangkan untuk client dan server digunakan DCOM ( Distributed COM ).Keterbasan VB 6 :
Masalah Deployment Aplikasi
Mungkin beberapa dari kita pernah mengalami peristiwa ketika menginstal suatu aplikasi baru, akanmenyebabkan beberapa aplikasi yang menggunakan komponen yang sama (file .dll) menjadi rusak atautidak jalan. Masalah ini disebut “ DLL Hell “ atau petaka DLL.
Masalah deployment lainnya adalah semua komponen berbasiskan COM memerlukan registrasi dariClass ID-nya ke mesin client lokal. Hal ini menyebabkan sulitnya dan lamanya jika proses tersebut harusdilakukan pada client yang banyak.
Kekurangan Interoperability dengan platform lainnya
COM akan bekerja secara baik khusus pada platform Microsoft, tetapi COM tidak menyediakankemampuan untuk mengaktifkan komponen atau interoperate dengannya jika berada dalam platform lainseperti Unix. Ketika aplikasi Microsoft menjadi level enterprise, hal ini akan menjadi masalah. Organisasiyang besar pada umumnya sering kali memiliki platform sistem operasi yang bervariasi sehinggamembutuhkan interoperability. Interoperability adalah kemampuan aplikasi untuk berkomunikasi danbekerja secara berdampingan dengan aplikasi lainnya yang berbeda platform.
Kekurangan dalam OOP
Teknologi perangkat lunak sekarang ini cenderung berbasiskan Object Oriented. VB 6 belum dikatakanbersifat OOP karena belum memiliki fitur inheritance / pewarisan. Inheritance memudahkan developeruntuk memakai ulang fungsi yang ada tanpa harus menulis kembali kodenya.
Keterbatasan dalam pengembangan aplikasi berbasiskan Internet
VB 6 belum memiliki fitur untuk mendesain form web. Untuk web menggunakan ASP. Antara ASP dan VBmemiliki interface dan teknik pemrograman yang sama sekali berbeda. Hal ini menyebabkan developerharus belajar banyak model pemrograman, dan kode yang dikembangkan untuk satu tipe interface,umumnya tidak dapat digunakan oleh tipe interface yang lain.
Windows API (Application Interface Programming) yang menyusahkan dan merugikan
Banyak developer mengalami kesulitan dalam membuat program Windows API dengan berbagai alasan.API bukan berbasiskan objek sehingga pengembang harus mempelajari pemanggilan fungsi yangkompleks dengan daftar argumen / parameter yang panjang.
Keterbatasan lain
Diantaranya penerapan multithreading sehingga aplikasi vb 6 tidak bisa digunakan untuk menulis aplikasiservice type NT.
3
Penanganan kesalahan / error handling yang tidak terstruktur menyebabkan developer kesulitan dalammelakukan debugging.
b. Alasan Memilih VB.NET
Diantaranya :
Menyederhanakan Deployment
VB.NET mengatasi masalah seputar deployment atau instalasi dari aplikasi berbasis windows yaitu ‘DLLHell’ dan registrasi COM. Deployment .NET bersifat XCOPY yaitu cukup memungkinkan untukpengembang menginstal aplikasi berbasis Windows ke mesin client dengan cara kopi / menyalin file. Tidakperlu lagi registrasi dll dan prosedur instalasi yang berbelit.
Fitur auto-downloading, akan mempermudah deployment aplikasi berbasis Windows melalui Internetkarena aplikasi dapat diinstal dan dijalankan melalui browser Web.
Menyederhanakan Pengembangan Perangkat Lunak
VB.NET memiliki fitur compiler yang bekerja secara background real time dan daftar task untukpenanganan bug / error program sehingga pengembang dapat langsung memperbaiki kesalahan kodeyang terjadi.
Adanya Option Strict On dapat menampilkan kesalahan sintaks jika kita membuat konversi tipe datasecara eksplisit yang bisa menyebabkan hilangnya data. Adanya fitur try..catch..finally (exception)diharapkan menjadi bentuk debugging yang lebih terstruktur dibandingkan vb versi sebelumnya.
Pada pemrograman database disediakan teknologi ADO.NET (ActiveX Data Objects untuk .NETFramework) yang merupakan kumpulan class dan berisi komponen untuk melakukan koneksi, akses danmanipulasi database. Dalam ADO.NET terdapat provider data SQL Server dan OLEDB. Di VS.NET 2003ditambah engan Oracle dan ODBC.
Untuk membuat laporan disediakan Crystal Report (CR) yang diintegrasikan dalam lingkungan VB.NET.CR dapat digunakan untuk membuat laporan secara grafikal dan interaktif pada laporan data secararelasional. Laporan dapat dibuat untuk aplikasi Windows, Web dan mobile.
Kemampuan lain adalah fasilitas threading. Fasilitas ini dapat membuat pengembang membuat aplikasiseperti Service di NT. Threading adalah dimana satu tugas / task dapat dikerjakan secara real time olehlebih dari satu proses.
Mendukung Penuh OOP
Dalam VB.NET, anda dapat membuat kode class yang menggunakan secara penuh konstruksi berbasisobjek. Class-class tersebut reusable / dapat digunakan kembali. Implementasinya pun berorientasi objekseperti inheritance / pewarisan, encapsulation / pembungkusan, dan polymorphism / banyak bentuk.
Mempermudah Pengembangan Aplikasi Berbasis Web
Untuk mengembangkan aplikasi Web disediakan desainer form Web, dimana digunakan mekanisme “Dragand Drop”. Bentuk pemrograman pun bersifat event-driven atau berdasarkan kejadian. MenggunakanWebform, anda dapat membuat aplikasi berbasis Web Thin-Client (Proses bisnis dilakukan disisi server)yang secara cerdas dapat di render pada browser apa saja dan platform apa saja.
Sifat editor web adalah WYSIWYG (What You See Is What You Get) dengan menggunakan teknologiIntelliSense dan tag komplet.
Web Service memungkinkan suatu aplikasi “berkomunikasi” dengan aplikasi lainnya dari berbagai platformmenggunakan protokol Internet terbuka (SOAP / HTTP). Fitur ini dapat mengatasi masalah interoperability.
XML (eXtensible Markup Language) adalah format dokumen berbasis teks mirip HTML, tetapi khususuntuk menyimpan data / informasi dan merupakan metode untuk menampilkan data yang terstruktur. XMLmerupakan standar untuk berbagi data antaraplikasi dan antar-platform.
Mempermudah Migrasi dari VB 6 ke VB.NET
Interoperability COM menyediakan komunikasi dua arah antara aplikasi VB 6 dengan VB.NET. Wizardupgrade pada VB.NET 2003 memungkinkan developer dapat melakukan migrasi lebi dari 95% kode VB 6menjadi kode VB.NET.
4
3. Dot NET Framework
Dot NET Framework merupakan “man behind the gun” dari VB.NET sehingga kita perlu mengetahui jeroan dariteknologi yang ada di dalamnya. Microsoft.NET adalah software yang menghubungkan informasi, orang, sistem dandevice yang menjangkau client, server dan tool pengembang.
Microsoft.NET disusun oleh :
Dot NET Framework, digunakan untuk membangun dan menjalankan semua macam software termasukaplikasi berbasis Web, aplikasi smart client dan layanan Web Service. Menyediakan komponen untuk berbagidata melalui Network menggunakan platform protokol independen seperti XML, SOAP dan HTTP.
Tool-tool pengembang seperti Microsoft Visual Studio .NET yang menyediakan IDE (Integrated DevelopmentEnvironment) untuk memaksimalkan produktivitas pengembangan menggunakan .NET Framework.
Serangkaian server termasuk Microsoft Windows Server 2003, SQL Server dan Microsoft BizTalk Server yangterintegrasi, untuk menjalankan, mengoperasikan dan mengelola service Web dan aplikasi berbasis Web.
Software client seperti Windows XP, Windows CE dan Microsoft Office XP yang membantu pengembang untukmenyebarkan dan mengelola aplikasinya.
a. Apa itu NET Framework
Dot NET Framework adalah lingkungan untuk membangun, deploying / menyebarkan dan menjalankan serviceWeb dan aplikasi lainnya.
Dot NET Framework disusun oleh dua komponen utama yaitu Common Language Runtime (Runtime bahasaumum / CLR) dan .NET Framework Class Library.
Definisi diatas diambil dari FAQ mengenai .NET Framework. Secara sederhana .NE Framework adalahplatform tunggal dimana semua orang dapat mengembangkan aplikasi mengunakan suatu sistem yang miripdengan JVM (Java Virtual Machine). Hanya berbeda dengan Java, tidak ada penghalang bahasa dengan .NETsehingga aplikasi dapat dikembangkan menggunakan bahasa : VB, C++, C#, J# dan bahasa lainnya yangkompatibel dengan .NET Framework.
Bagaimana .NET mencapai tujuannya :
Web Service, yaitu suatu komponen aplikasi yang dapat diprogram dan diakses melalui protokol Webstandar. Dengan kata lain, Web Service merupakan komponen yang dapat dipanggil dari suatu tempatmelalui internet dari aplikasi client.
DataSet ADO.NET dan XML yang mendukung seluruh platform.
Tool-tool yang kaya, service runtime an deployment XCOPY.
5
Pada gambar 1.1 terlihat level tertinggi dari .NET Framework adalah compiler Visual Basic dll. Di bawahnyaterdapat CLS. Spesifikasi adalah serangkaian aturan yang menentukan fitur minimum yang harus mendukungdari suatu bahasa untuk memastikan bahwa bahasa tersebut akan interoperate dengan CLS-Compliant lainnyadan tool-tool. Sepanjang bahasa tersebut mendukung CLS, maka dapat dipastikan akan bekerja dengan CLR.
ASP.NET menyediakan inti dari infrastruktur form-form web untuk pengembangan berbasis UI dan Service Webuntuk pengembangan antarmuka secara terprogram. Pengembangan antarmuka pengguna pada platformwindows dapat dilakukan menggunakan form form Windows. Fungsi akses data disediakan oleh ADO.NET danXML. Akhirnya, inti dari pustaka base class menyediakan infrastruktur, service seperti sekuriti, pengolalaantransaksi dll.
Common Language Runtime adalah engine yang menjalankan aplikasi .NET Framework. Runtimemenyediakan sejumlah layanan, seperti berikut :
o mengelola kodeo Isolasi memori aplikasio Verifikasi untuk keamanano Konversi dari Intermediate Language ke native codeo Akses metada yang diperkayao Menangani exception (kejadian yang tidak diharapkan muncul pada saat eksekusi) termasuk exception
cross languageo Interoperation diantara managed code, objek Com dan preexisting DLLo Mendukung layanan development seperti profiling, debugging dsb
4. Lingkungan VB.NET
Untuk menyederhanakan proses pengembangan aplikasi, Visual Studio.NET menyediakan lingkungan yang disebutIDE. Lingkungan menyediakan tool untuk mendesain, mengeksekusi dan men-debug aplikasi anda.
a. Antara Solution dan Project
Pada VB 6, keseluruhan program aplikasi disebut sebagai proyek dan biasanya akan menghasilkan sebuah file.exe atau .dll.
VS.NET menggunakan solution yang mungkin berisi lebih dari satu proyek dan juga berisi gambar, file XML,dan elemen lainnya yang merupakan bagian dari program. Solution dapat membuat lebih dari satu file .exe atau.dll.
Gambar 1.1 Dot NET Framework
6
Fitur penting lainnya dari lingkungan yang dapat menangani banyak bahasa adalah class yang dibuat padasuatu proyek dengan suatu bahasa dapat dipanggil dari proyek lainnya yang dibuat dengan bahasa yangberbeda sehingga memungkin interoperability antarbahasa.
b. Tipe-tipe Project
Pada kotak dialog Visual Basic New Project terdapat pilihan templates yang menunjukkan tipe proyek sebagaiberikut :
Windows Application. Proyek untuk membuat aplikasi dengan antarmuka windows Class Library. Class Library adalah komponen untuk membuat kode dasar, di mana tidak ada
antarmuka yang terlihat. Class adalah kumpulan dari fungsi yang dapat digunakan dalam proyeklainnya. Class library ekivalen dengan tipe proyek ActiveX DLL dan ActiveX EXE dari VisualBasic 6.
Windows Control Library. Kontrol Windows seperti TextBox dan Label adalah elemen dasaruntuk membuat antarmuka. Jika kontrol yang disediaka VB.NET yang terlihat di toolbox tidakdapat memenuhi kebutuhan anda, anda dapat membuat kontrol sendiri menggunakan WindowsControl Library. Ekivalen dengan tipe proyek ActiveX pada Visual Basic 6.
Console Application. Aplikasi console akan menampilkan output pada jendela command promptseperti model DOS.
Windows Service. Windows Service membuat aplikasi yang tidak memiliki antarmuka. Servicedapat dijalankan secara otomatis ketika komputer dijalankan, pause dan restart. Windowsservice dapat digunakan untuk proses file copy, membaca isi database dan sebagainya.
ASP.NET Web Application. Adalah aplikasi yang ditempatkan di server Web dan dapatditampilkan di browser client dalam bentuk halaman HTML. Pilihan ini akan membuat aplikasidatabase Web berbasiskan ASP.NET
ASP.NET Web Service. Adalah program yang ditanamkan pada server Web, seperti aplikasiWeb tetapi tidak menampilkan halaman HTML. Nilai kembaliannya adalah hasil dari perhitunganatau lookup database.
Gambar 1.2 : Kotak Dialog New Project
7
Web Control Library. Digunakan untuk membuat kontrol Web yang digunakan pada halamanWeb.
Pada Visual Studio.NET 2003 ditambahkan template Smart Device Application untuk membuataplikasi Pocket PC atau Windows CE.
c. Tampilan IDE VB.NET
Solution Explorer
Dalam solution explorer anda dapat melihat keadaan dari projek yang dibuat dan juga file-file yang ingin anda akses.Untuk mengakses solution explorer, pilih Solution Explorer dalam menu View.
Gambar 1.3 Lingkungan Visual Basic.NET
8
Class View
Dalam class view, anda dapat melihat dan melakukan navigasi terhadap simbol-simbol yang ada dalam projek anda.Simbol-simbol tadi disusun dalam bentuk hierarkis yang menunjukkan relasi objek diantara mereka.
Untuk mengakses Class View, tekan Ctrl+Shift+C atau pilih Class View dalam menu View.
Properties Windows
Properties Windows digunakan untuk melihat lebih detail properti yang dimiliki oleh suatu objek. Windows ini secaradefault terletak disebelah kanan tengah. Kita dapat mengaktifkannya dengan cara menekan F4 atau memilih menuView > Properties Windows
Gambar 1.4 Solution Explorer
Gambar 1.5 Class View
9
5. Kasus Sederhana : Program Windows Applications Halo World
Objek Properti PengaturanLabel1 Text Masukkan Nama :TextBox1 Name txtNama
Text <empty>Button1 Name btnOK
Text OKButton2 Name btnKeluar
Text Keluar
Kode Program :
Public Class Form1Inherits System.Windows.Forms.Form
#Region " Windows Form Designer generated code "
Public Sub New()MyBase.New()
'This call is required by the Windows Form Designer.InitializeComponent()
Gambar 1.4 Form Hallo World
Gambar 1.6 Properties Window
10
'Add any initialization after the InitializeComponent() call
End Sub
'Form overrides dispose to clean up the component list.Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)
If disposing ThenIf Not (components Is Nothing) Then
components.Dispose()End If
End IfMyBase.Dispose(disposing)
End Sub
'Required by the Windows Form DesignerPrivate components As System.ComponentModel.IContainer
'NOTE: The following procedure is required by the Windows Form Designer'It can be modified using the Windows Form Designer.'Do not modify it using the code editor.Friend WithEvents Label1 As System.Windows.Forms.LabelFriend WithEvents btnOK As System.Windows.Forms.ButtonFriend WithEvents btnKeluar As System.Windows.Forms.ButtonFriend WithEvents txtNama As System.Windows.Forms.TextBox
<System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()Me.Label1 = New System.Windows.Forms.LabelMe.txtNama = New System.Windows.Forms.TextBoxMe.btnOK = New System.Windows.Forms.ButtonMe.btnKeluar = New System.Windows.Forms.ButtonMe.SuspendLayout()''Label1'Me.Label1.Location = New System.Drawing.Point(16, 16)Me.Label1.Name = "Label1"Me.Label1.TabIndex = 0Me.Label1.Text = "Masukkan Kata :"''txtNama'Me.txtNama.Location = New System.Drawing.Point(16, 40)Me.txtNama.Name = "txtNama"Me.txtNama.Size = New System.Drawing.Size(248, 20)Me.txtNama.TabIndex = 1Me.txtNama.Text = ""''btnOK'Me.btnOK.Location = New System.Drawing.Point(16, 72)Me.btnOK.Name = "btnOK"Me.btnOK.TabIndex = 2Me.btnOK.Text = "OK"''btnKeluar'Me.btnKeluar.Location = New System.Drawing.Point(96, 72)Me.btnKeluar.Name = "btnKeluar"Me.btnKeluar.TabIndex = 3Me.btnKeluar.Text = "Keluar"''Form1'Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13)Me.ClientSize = New System.Drawing.Size(292, 109)Me.Controls.Add(Me.btnKeluar)Me.Controls.Add(Me.btnOK)Me.Controls.Add(Me.txtNama)Me.Controls.Add(Me.Label1)Me.Name = "Form1"
11
Me.Text = "Form1"Me.ResumeLayout(False)
End Sub
#End Region
Private Sub btnOK_Click(ByVal sender As System.Object, ByVal e AsSystem.EventArgs) Handles btnOK.Click
MessageBox.Show("Haloo, " & txtNama.Text, "Belajar VB.NET")End Sub
Private Sub btnKeluar_Click(ByVal sender As System.Object, ByVal e AsSystem.EventArgs) Handles btnKeluar.Click
Me.Dispose()End Sub
End Class
Untuk menjalankan program ada tiga cara : Klik tombol panah segitiga pada toolbar Klik menu Debug kemudian pilih Start Tekan tombol fungsi F5
1. Variabel dan Konstanta
Variabel adalah lokasi di memori yang diberi nama. Digunakan untuk memasukan data berupa nilai sementara kedalam memori selama menghitung, memberi informasi dan sebagainya.
Ketentuan dalam memberi nama variabel : karakter pertama harus huruf yang diperbolehkan adalah huruf, angka dan hypen (garis bawah/ “_”) tidak boleh ada spasi tidak boleh dari 255 karakter haruslah unik jika diletakkan dalam scope yang sama
a. Deklarasi Variabel
Adalah proses menyebutkan karakteristik variabel seperti nama, tipe data, scope, lifetime, dan initializationvalue.Contoh :
Dim Jawab As StringDim I as Integer = 81Dim Panjang, Lebar, Tinggi As IntegerPublic RootPath As StringPrivate TanggalLahir As Date
b. Scope Variabel
Scope / Jangkauan adalah wilayah kode dimana variabel memiliki kekuasaan atau bisa diakses.Diantaranya :
Tingkat BlokSuatu variabel yang berada dalam suatu blok pernyataan seperti pada If.. Then.., For.. Next atau Do.. Loop.Variabel tersebut hanya bisa diakses didalam blok tersebut dimana ia dideklarasikan dan umurnya akanberakhir jika blok tersebut telah selesai dilaksanakan.
Tingkat ProcedureJangkauannya hanya ada dalam prosedur tempat variabel dideklarasikan. Disebut juga variabel lokal.
Tingkat Module
12
Variabel yang dideklarasikan di luar prosedur dalam modul, class atau structure. Akses ke variabel modulbergantung pada kata kunci aksesibilitas yang dipakai dalam deklarasinya.
Tingkat NameSpaceVariabel yang dideklarasikan pada tingkat modul tetapi diberikan aksesibilitas Public atau Friend.
Contoh:Public Class Form1
Inherits System.Windows.Forms.FormPublic X As DoublePrivate Y As Integer
Private Sub btnHitung_Click(ByVal sender As System.Object, ByVal eAs System.EventArgs) Handles btnHitung.Click
Dim blnSelesai As Boolean = FalseDim r As New Random()Do While Not blnSelesai
Dim z As Integerz = r.Next(1,100)blnSelesai = (z < 10)
LoopMsgBox(“Hasil Akhir : “ & z)
End SubEnd Class
c. Aksesibilitas Variabel
Aksesibilitas menentukan apakah variabel tersebut dapat diakses dari module atau procedure lain diluar tempatvariabel itu dideklarasikan. Sifatnya optional.Attribut tersebut diantaranya :Dim
Akses sangat terbatas. Jika dideklarasikan pada tingkat procedure maka jangkauannya hanya di procedureitu saja. Jika procedure telah selesai dijalankan maka nilai variabel Dim ini akan hilang. Umumnya digunakanpada level Procedure dan blok.
PublicAkses luas dan bebas. Dapat digunakan hanya pada level Module, NameSpace dan File tidak bisadigunakan pada Procedure / Blok.
ProtectedMemiliki akses yang terproteksi. Terproteksi disini adalah hanya bisa diakses dari Class yang sama atauyang mewarisi Class tersebut (inheritance). Dapat digunakan hanya pada level Class.
FriendYang dapat mengaksesnya dari program yang berisi deklarasi ini dan dari manapun dalam assembly yangsama. Hanya dapat digunakan pada level Module, NameSpace atau File. Umumnya hanya digunakan untukdeklarasi Windows atau Web Control.
Protected FriendVariabel jenis ini memiliki akses gabungan antara Protected dengan Friend. Dapat digunakan oleh kodedimanapun pada assembly yang sama, pada kode dalam class itu sendiri dan pada kode yang diwarisi olehclass tersebut. Hanya dapat digunakan pada level Class yaitu pendeklarasian anggota dari class.
PrivateAkses terbatas. Yang dapat mengaksesnya hanya dari dalam isi deklarasi. Hanya dapat digunakan padalevel Module, Class atau Structure.
Contoh penggunaan :
Public Class APublic W As IntegerProtected X As IntegerFriend Y As IntegerPrivate Z As Integer
End Class
Dalam code diatas, domain yang dapat diakses untuk masing-masing entity adalah :o A.W mempunyai domain akses (aksesibilitas) yang tidak terbataso A.X hanya dapat digunakan oleh Class anak / turunan / derived dari Class A
13
o A.Y hanya dapat diakses oleh program yang memiliki pendeklarasian Class Ao A.Z hanya dapat diakses oleh program yang berada didalam Class A / Context yang sama
d. Konstanta
Konstanta mirip dengan variabel hanya saja nilainya tidak berubah selama program berjalan. Konstantadideklarasikan dengan kata kunci Const. Konstanta memiliki scope tertentu dan dapat dideklarasikanmenggunakan kata kunci Public atau Private.Contoh :
Public Const pi As Double = 3.14159285358979
e. Enumerasi
Enumerasi menyediakan cara yang tepat untuk bekerja dengan serangkaian konstanta yang berhubungan danmenggabungkan nilai konstanta dalam sebuah nama.
Enum hanya muncul pada level Module, Class, Structure, NameSpace atau File. Dapat diakses dari manapundalam modul, class atau structure dimana dia dideklarasikan. Secara default enumerasi dan anggotanya adalahPublic. Tapi dapat dirubah scopenya dengan pernyataan lain. Seperti Public, Protecte, Friend, Protected Friendatau Private.
Suatu enumerasi berisi rangkaian konstanta yang berhubungan. Nilai yang sudah didefinisikan dalamenumerasi tidak dapat diubah pada saat program berjalan. Untuk mengakses nilai bisa digantikan denganstring yang telah didefinisikan dalam enum.
Contoh:Enum Warna
Merah = 0Hijau = 1Biru = 2
End Enum
2. Tipe Data dan Structure
a. Tipe Data
Tabel berikut menunjukan tipe data pada VB.NET
Tipe Ukuran Jangkauan NilaiBoolean 4 bytes True atau False
Date 8 bytes 1/1/1/1 sampai 31/12/9999
String 10 bytes 0 – 2 juta karakter unicode
User Defined TypeJumlahukurannnya Tergantung dari tipe data untuk tiap anggotanya
Byte 1 byte 0 – 255 unsigned
Char 2 bytes 0 – 65.535 unsigned
Short (Int16) 2 bytes -32.768 – 32.767
Integer (Int32) 4 bytes -2.147.483.648 – 2.147.483.647
Long (Int64) 8 bytes -9.223.372.036.854.775.808 - 9.223.372.036.854.775.807
Single 4 bytes3,4028235E+38 sampai -1,401298E-45 untuk nilai negatif1,401298E-45 sampai 3,4028235E+38 untuk positif
Double 8 bytes
-1,79769313486231570E+308 sampai-4,940656458412456544E-324 untuk nilai negatif4,940656458412456544E-324 sampai1,79769313486231570E+308 untuk nilai positif
Decimal 16 bytes
0 sampai + / - 79.228.162.514.264.337.593.543.950.335tanpai nilai desimal0 sampai + / - 79.228.162.514.264.337.593.543.950.335dengan 28 tempat disebelah kanan desimal.
14
Semua tipe data VB.NET adalah object tidak lagi variant dan harus dideklarasikan terlebih dahulu.
b. Structure
Untuk membuat tipe data sendiri anda dapat menggunakan Structure.Contoh :
[Public|Private|Friend] Structure NamaVariabelDeklarasi nonmetodeDeklarasi metode
End Structure
Structure PekerjaSosialDim NIP As LongDim Nama As StringDim Salary As Decimal
End Structure
3. Operator
a. Aritmetika
Operator Keterangan* Perkalian
/ Pembagian reguler. Contoh: 5 / 2 = 2,5
\ Pembagian integer dengan pembulatan sampai mendekati nol. Contoh : 5 \ 2 = 2
^ Pemangkatan
+ Penambahan
- Pengurangan
Mod Modulues digunakan untuk operand integer dimana hasilnya merupakan sisa pembagian.Contoh : 5 Mod 2 = 1
b. Relasi / Perbandingan
Operator Keterangan= Sama dengan. Hasilnya TRUE jika a = b dan FALSE jika a <> b
<> Tidak sama. TRUE jika a <> b dan FALSE jika a = b
< Lebih kecil. TRUE jika a < b dan FALSE jika a > b
> Lebih besar. TRUE jika a > b dan FALSE jika a < b
<= Lebih kecil atau sama dengan. TRUE jika a <= b dan FALSE jika sebaliknya
>= Lebih besar atau sama dengan. TRUE jika a >= b dan FALSE jika sebaliknya
c. BitWise
Operator Artinya Contoh Hasil
AND Baik sisi kanan maupun kiridari operator adalah 1
1 And 0 0
ORSalah satu atau kedua sisidari operator adalah 1 1 Or 0 1
XORSalah satu dari sisi kananatau kiri dari operator adalah1 tapi tidak keduanya
1 Xor 0 1
Contoh :27 And 148
00100101 (37)10010100 (148)
15
---------------------------------- AND00000100 (4)
d. Logika
Operator KeteranganAND TRUE jika kedua operand TRUE. Selain itu FALSE
OR TRUE jika salah satu atau kedua operand bernilai TRUE. Selain itu FALSE
XOR TRUE jika hanya salah satu operand bernilai TRUE. Selain itu FALSE
AndAlso TRUE jika kedua operand bernilai TRUE. Selain itu FALSE
OrElse TRUE jika salah satu atau kedua operand bernilai TRUE. Selain itu FALSE
Not TRUE jika operand FALSE dan FALSE jika operand TRUE
e. Memperpendek Operator
X = X + 1 menjadi X += 1X = X * 1 menjadi X *= 1 , dst
1. Definisi OOP
Ada dua metode dalam mendesain dan membuat konstruksi perangkat lunak yaitu pemrograman terstruktur dan
pemrograman berorientasi objek.
OOP adalah metode pemrograman di mana pengembang tidak hanya mendefinisikan tipe data dari struktur data
tetapi juga tipe dari operasi (fungsi) yang dapat diaplikasikan ke struktur data. Pada cara ini struktur data menjadi
objek yang memiliki data dan fungsi. Pengembangpun dapat membuat relasi antara suatu objek dengan lainnya.
Salah satu keunggulan OOP dibandingkan teknik pemrograman terstruktur adalah OOP memungkinkan
pengembang untuk membuat modul yang tidak perlu berubah ketika suatu tipe objek yang baru ditambahkan.
Pengembang dapat membuat suatu objek baru yang mewarisi beberapa fitur dari objek yang sudah ada. Hal ini
membuat OOP mudah dimodifikasi.
Suatu bahasa pemrograman dikatakan mendukung secara penuh OOP jika memilki semua fitur berikut ini :
Abstraction.
Abstraksi merupakan kemampuan suatu bahasa pemrograman untuk mengubah suatu konsep menjadi
representasi abstrak dari konsep dalam suatu program. Contohnya objek pelanggan adalah representasi
abstrak dari pelanggan dalam dunia nyata. Suatu objek recordset merupakan representasi abstrak dari
sekumpulan data.
Encapsulation.
Merupakan konsep untuk memisahkan interface (kumpulan dari method, property atau event yang saling
berhubungan) dengan implementasinya. Tujuannya sebenarnya untuk menyembunyikan property dan method
dari suatu objek, dan hanya menampilkan method / property yang dibutuhkan. Property / method yang
ditampilkan dari suatu objek dikenal dengan istilah interface. Melalui interface inilah suatu objek dapat
digunakan.
Contohnya adalah sebuah objek walkman. Untuk menggunakan walkman anda hanya diberi beberapa
interface, yaitu : Play, Rewind, Forward, Stop dan Eject. Padahal ada method – method lain yang sangat
penting agar walkman dapat berfungsi. Misalnya method untuk menggunakan sumber energi, berhenti bila
16
kaset habis dsb. Fungsi – fungsi tadi dibungkus / disembunyikan oleh objek walkman anda, dengan tujuan agar
kita sebagai pengguna objek walkman tidak bingung menggunakan.
Polymorphism
Memungkinkan pengembang memakai method yang sama pada class – class yang berbeda dan
memungkinkan method yang tepat dieksekusi berdasarkan konteks yang memanggilnya.
Contohnya adalah sebuah handphone. Suatu handphone ketika menerima sinyal telepon masuk, maka akan
dapat bereaksi dalam berbagai bentuk. Ada yang menggunakan ringtone, polyphonic, atau hanya bergetar. Ini
berarti objek dasar suatu handphone mempunyai kemampuan (method) untuk bereaksi terhadap sinyal telepon
masuk, namun reaksi dari masing-masing tipe handphone (new instance dari handphone) dapat
diimplementasikan dalam berbagai bentuk (vibrate, beep once, ringtone, polyphonic). Dalam hal ini, objek
handphone anda menggunakan konsep polymorphism.
Inheritance
Kemampuan untuk membentuk class turunan yang mewarisi property dan method dari class induk (base class).
Sebagai contoh, kita membentuk suatu class employee, dimana di dalam class ini kita mempunyai property :
Nama dan Gaji dan satu buah method yaitu Speak.
2. Objek, Class, Method dan Field
Class adalah blueprint / cetak biru atau templateatau spesifikasi dari objek. Dengan kata lain class merupakan
representasi abstrak dari objek, sedangkan objek adalah representasi nyata atau instance (perwujudan) dari class.
Class merupakan unit dasar pemrograman berorientasi objek. Class dapat berisi property, field, method dan event
dari objek. Gabungan property, field, methods dan event umumnya disebut sebagai members dari class.
Field dan Property berisi informasi atau attribut yang terdapat dalam suatu objek. Field mirip dengan variabel, yang
dapat dibaca dan diset secara langsung. Property dapat dibaca dan diset seperti field, tetapi implementasinya
menggunakan prosedur property Get dan Set.
3. Property
Property merupakan informasi yang dapat disimpan dalam suatu objek. Method property membolehkan anda untuk
mengontrol operasi baca dan tulis dari property dalam suatu class.
Untuk membuat sebuah aplikasi yang dapat menggunakan data daridatabase kita harus mengetahui bagaimana menyambungkan nya.
KONEKSI TO ACCESS
Sebelum kita dapat menggunakan data dari database, koneksi antara programdan database harus dibuka lebih dulu. Agar Vb.net kita dapat tesambung denganMs.Access terlebih dahulu kita harus membuat String koneksi :
17
Public Connection As String = "Provider =Microsoft.Jet.OLEDB.4.0;Data Source =" & Application.StartupPath &"\db1.mdb;"
Setelah membuat string koneksi tidak lupa juga pada baris pertama dari setiap form yangmenggunakan koneksi atau objek Ms.Accessl, tambahkan perintah
Imports System.Data.OleDbImports System.Data
Setelah selesai menambahkan perintah diatas Buat objek koneksi, danbuka koneksi
Dim Connect As OleDbConnection(Connection)
Koneksi dapat dibuka dengan perintah
connect.Open()
Untuk memastikan apakan koneksi telah berhasil atau tudak dapat kitatambah kan perintah
TryConnect = New OleDbConnection(Connection)Connect.open()MessageBox.Show("koneksi sukses")
Catch ex As ExceptionMessageBox.Show("error")MsgBox(ex.Message)Me.Dispose()
End Try
Apa bila setelah aplikasi kita jalankan lalu muncul tampilan
Berarti koneksi yang telah kita buat berhasil .
KONEKSI TO MYSQL
Sebelum kita dapat menggunakan data dari database, koneksi antara programdan database harus dibuka lebih dulu.
18
Disini menggunakan mysqlnetConnector, sebuah library connector yang dibuatoleh mysql untuk menghubungkan aplikasi .net dengan database mysql. Cara lain dapatmenggunakan ODBC connector Langkah-langkah membuka koneksi:
Install dan tambah referensi di VB.Net
Agar vb dapat berhubungan dengan mysql, mysqlnetconnector harus sudahterinstall di pc anda, alternatifnya, copykan file mysql.Data.dll ke dalam folder solutionanda, lalu klik kanan nama solution(pada solution explorer), pilih add reference-browsedan pilih file tersebut. Pada baris pertama dari setiap form yang menggunakan koneksiatau objek MySql, tambahkan perintah
Imports MySql.Data.MySqlClient
B. Buat string koneksi
Public strconn As String = "server=[lokasi server]; uid=[user mysql]; pwd=[passwordmysql]; database=[nama database];"
Keterangan : -perintah diatas diketik dalam 1 baris -ganti public dengan dim jikakoneksi tidak bersifat global
[lokasi server] ganti dengan ip server mysql, gunakanlocalhost jika pada komputer sendiri[user mysql] ganti dengan nama user yang berhak koneksi keserver mysql[password mysql] ganti dengan password yang valid[nama database] ganti dengan nama database yang valid
Contoh string koneksi:
berikut ini akan menghubungkan ke database lokal dengan
nama user = root
password= root
nama database = barang
Public strconn As String = "server=localhost; uid=root; pwd=root; database=barang;"
berikut ini akan menghubungkan ke database di server dengan
ip 192.168.1.100 dengan
nama user = tamu
19
password kosong
nama database = inventory
Public strconn As String = "server=192.168.1.100; uid=tamu; pwd=;database=inventory;"
C. Buat objek koneksi, dan buka koneksi
Public conn As New MySqlConnection(strconn)
Koneksi dapat dibuka dengan perintah
conn.Open()
ada baiknya memasukkan perintah buka koneksi dalam blok try atau if,karena ada beberapa kemungkinan error. Beberapa error umum ialah:
-mysql server tidak ditemukan (belum menyala -username atau passwordsalah
-koneksi sudah terbuka dan belum ditutup Berikut adalah contoh denganpenanganan error 'jika koneksi tertutup
If conn.State = ConnectionState.Closed Then Try
'buka koneksi
conn.Open() '
tangkap error mysql, jika ada ( ini hanya sebagian)
Catch mex As MySqlExceptionIf mex.Number = 0 Then
Msgbox("Tidak bisa connect ke db", "no server")
ElseIf
mex.Number = 1045 ThenMsgbox ("Salah user/pass mysql", "akses ditolak")
Else
Msgbox (mex.Number & mex.Message, "mysql error")
End If
'tangkap error umum Catch ex As ExceptionMsgBox(ex.Message)
20
End Try
End If
Perhatikan, bahwa pada contoh diatas, catch yang pertama menangkap erroroleh mysql, sedangkan catch yang kedua menangkap error umum. Keseluruhanblok hanya akan dijalankan bila belum ada koneksi yang terbuka Setelah koneksitidak digunakan lagi, tutuplah koneksi dengan perintah
If conn.State = ConnectionState.Open Then conn.Close() EndIf
SELAMAT MENCOBA