Rabu, November 04, 2009

Visual Basic 2008 (VB versi 9.0)

Visual Basic 2008

Apa sih VB 2008 atau VB versi 9.0 ?

Nah coba kita kupas sedikit tentang VB 2008 atau Microsoft Visual Basic .NET
VB 2008 atau Microsoft Visual Basic .NET adalah sebuah alat untuk mengembangkan dan membangun aplikasi yang bergerak di atas sistem .NET Framework, dengan menggunakan bahasa BASIC. Disini para programmer bisa membangun aplikasi Windows Forms, Aplikasi web yang berbasis ASP.NET, dan juga aplikasi command-line.

Bahasa Visual Basic .NET sendiri menganut paradigma bahasa pemrograman berorientasi objek yang dapat dilihat sebagai evolusi dari Microsoft Visual Basic versi sebelumnya yang diimplementasikan di atas .NET Framework.

Pada versi 9.0 ini kita dihadapkan pada tampilan grafis dan lingkungan IDE (Integrated Development Environment) yang sangat berbeda dari sebelumnya. Hal-hal terbaru (feature) dari versi 9.0 ini (kutipannya bias dilihat di http://msdn.com/vbasic/)adalah sebagai berikut :

•Support data maksudnya versi ini dapat mengakses data lebih banyak sehingga dalam
pengembangan aplikasinya lebih fleksibel, khususnya untuk aplikasi pengaksesan data
•Language feature disini terdapat fitur – fitur baru seperti peringkasan data,
peng-inisialisasi objek, tipe yang tidak didefinisikan, metode tambahan dan query-
query. Nah fitur-fitur ini mendukung LINQ (language Integrated Query) yang dipakai
untuk mempermudah penulisan coding program.
•Project designer support for Windows Presentation Foundation (WPF) Application.
WPF disini adalah suatu model pemograman yang digabungkan untuk membuat banyak
aplikasi windows yang mendukung UI, media dan dokumen. Tipe yang ada dalam VB
Express Edition yaitu Aplikasi WPF Windows (.xaml,.exe) dan Aplikasi WPF Web
Browser (.xbap,.exe).
•Windows communication Foundation (WCF) Service Consumtion merupakan layanan
pemograman model baru yang berorientasi layanan (service) yang berguna m
enyederhanakan pengembangan dari aplikasi yang terkoneksi. Aplikasi yang dibuat di
versi 9.0 ini bias berkomunikasi dengan memakai layanan WCF.
•Improvement to IDE. Dengan adanya pengembangan IDE saat ini penulisan code semakin
mudah saja. Beberapa peningkatan Intellisense sudah ditambahkan seperti variable
local, kata kunci, daftar ekspresi dan tips syntax pada Intellisense.
•ClickOnce Deployment yaitu penyebaran sekali klik yang mendukung penyebaran dari
aplikasi WPF web Browser yang dihosting dengan keamanan khusus. Nah saat membangun
hal tersebut VB 9.0 ini menyediakan antar muka yang sesuai dengan kebutuhan.

Versi – versi dari VB menurut perkembangannya adalah sebagai berikut:

1.Visual Basic .NET 2002 (VB 7.0)

Dirilis pertama kali pada bulan Februari 2002. Visual Basic .NET 2002 merupakan sebuah bahasa pemrograman visual yang berbasis bahasa BASIC (sama seperti halnya Visual Basic 6.0, tetapi lebih disempurnakan dan lebih berorientasi objek, dan didesain untuk berjalan di atas Microsoft .NET Framework versi 1.0.
Versi pertama ini kurang mendapat sambutan yang bagus karena pada saat itu, program berbasis Visual Basic 6.0 sedang marak-maraknya dibuat. Perbedaan VB versi 7.0 dengan VB 6 adalah runtime engine yang lebih besar 10 kali lipat dibandingkan Visual Basic 6.0, dan juga meningkatkan beban di memori.

2.Visual Basic .NET 2003 (VB 7.1)

Versi ini berisi beberapa perbaikan dibandingkan dengan versi sebelumnya, dan aplikasi yang dibuatnya dapat berjalan di atas .NET Framework versi 1.1. Fitur yang ditambahkan adalah dukungan terhadap .NET Compact Framework dan mesin wizard upgrade VB6 ke VB.NET yang telah ditingkatkan. Peningkatan yang lainnya adalah peningkatan pada performa dan keandalan dari Integrated Development Environment (IDE) Visual Basic itu sendiri, dan juga runtime engine.

3.Visual Basic 2005 (VB 8.0)

Pada tahun 2005, Microsoft merilis versi terbaru dari Visual Basic .NET, yang kali ini disebut dengan Visual Basic 2005 (dengan membuang kata ".NET"), bersama-sama dengan beberapa aplikasi pengembangan lainnya. Microsoft pun berkonsentrasi dalam mengembangkan Microsoft .NET Framework 2.0, dan tentunya alat bantu untuk membangun program di atasnya.

Nah fitur – fitur yang ditambahkan antara lain :

Edit and Continue
Fitur ini sebelumnya terdapat di dalam Visual Basic, akan tetapi dihapus di dalam
Visual Basic .NET. Dengan keberadaan fitur ini, para programmer dapat memodifikasi
kode pada saat program dieksekusi dan melanjutkan proses eksekusi dengan kode yang
telah dimodifikasi tersebut.
Evaluasi ekspresi pada saat waktu desain
Munculnya Pseudo-Namespace "My", yang menyediakan:
oAkses yang mudah terhadap beberapa area tertentu dari dalam .NET Framework
yang tanpanya membutuhkan kode yang sangat signifikan.
oKelas-kelas yang dibuat secara dinamis (khususnya My.Forms).
•Peningkatan yang dilakukan terhadap konverter kode sumber dari Visual Basic ke
Visual Basic .NET.
•Penggunaan kata kunci (keyword) Using, yang menyederhanakan penggunaan objek-objek
yang membutuhkan pola Dispose untuk membebaskan sumber daya yang sudah tidak
terpakai.
•Just My Code, yang menyembunyikan kode reusable yang ditulis oleh alat bantu
Integrated Development Environment (IDE) Visual Studio .NET.
•Pengikatan sumber data (Data Source binding), yang mampu mempermudah pengembangan
aplikasi basis data berbasis klien/server.

Nah dalam Bahasa Visual Basic 2005 memperkenalkan fitur-fitur baru, yakni:

Bawaan .NET Framework 2.0:
o Generics
o Partial class, sebuah metode yang dapat digunakan untuk mendefinisikan
beberapa bagian dari sebuah kelas di dalam sebuah berkas, lalu menambahkan
definisinya di lain waktu; sangat berguna khususnya ketika mengintegrasikan kode
pengguna dengan kode yang dibuat secara otomatis.
o Nullable Type
Komentar XML yang dapat diproses dengan menggunakan beberapa alat bantu seperti
NDoc untuk membuat dokumentasi secara otomatis.
Operator overloading
•Dukungan terhadap tipe data bilangan bulat tak bertanda (unsigned integer) yang
umumnya digunakan di dalam bahasa lainnya.

4.Visual Basic 9.0 (Visual Basic 2008)

versi terbaru yang dirilis oleh Microsoft pada tanggal 19 November 2007, bersamaan dengan dirilisnya Microsoft Visual C# 2008, Microsoft Visual C++ 2008, dan Microsoft .NET Framework 3.5.

Dalam versi ini, Microsoft menambahkan banyak fitur baru, termasuk di antaranya adalah:

•Operator If sekarang merupakan operator ternary (membutuhkan tiga operand), dengan
sintaksis If (boolean, nilai, nilai). Ini dimaksudkan untuk mengganti fungsi IIF.
•Dukungan anonymous types
•Dukungan terhadap Language Integrated Query (LINQ)
•Dukungan terhadap ekspresi Lambda
•Dukungan terhadap literal XML
•Dukungan terhadap inferensi tipe data.
•dukungan terhadap 'LINQ'

Aduh nggak terasa ngomong ngalor ngidul eh ternyata uda jam 2 pagi. Ngantuk nih kapan – kapan kita bahas lagi tentang VB versi 9.0. See ya bye bye…………

Referensi:

1. Asep Ramadhani (artikel versi PDF)
2. Wikipedia

Selasa, November 03, 2009

Microsoft .NET framework

Eh Tau nggak kamu apa sich .NET Framework?

Microsoft .NET adalah software yang menghubungkan informasi, orang, system dan device! Perangkat yang menjangkau client, server dan tool pengembang.Microsoft.NET disusun oleh:

•Dot NET Framework, digunakan untuk membangun dan menjalankan semua macam softwere
termasuk aplikasi berbasis Web, aplikasi smart client, dan layanan web XML
Extensible Markup Language). Menyediakan komponen untuk berbagai data melalui
Network menggunakan komponen platform protocol independent seperti XML, SOAP, dan
HTTP.

•Tool – tool pengembang seperti Microsoft VisualStudio .NET yang penyediaan IDE
(Integrated Development Enveronment! lingkungan pengembangan terintegrasi) untuk
memaksimalkan produktivitas pengembangan menggunakan .NET Framework.

•Serangkaian server termasuk Microsoft Windows Servwr 2003, Microsoft SQL Server dan
Micosoft BizTalk Server yang terintegrasi, untuk menjalankan, mengoprasikan dan
mengelola services Web dan aplikasi berbasis Web.

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


.NET Platform merupakan satu set kumpulan teknologi yang memungkinkan teknologi Internet ditransformasikan ke dalam platform distributed computing dengan skalabilitas dan kompatibilitas tinggi. Secara teknikal, .NET Platform menyediakan konsep pemrograman dengan library dan modul-modul baru yang konsisten, terlepas dari jenis bahasa pemrograman yang digunakan.

.NET Platform menyediakan hal-hal berikut bagi para developer :

1)Language independent, dengan programming model yang konsisten di semua aplikasi
yang dibangun.
2)Interoperability dan kompatibilitas antar aplikasi.
3)Kemudahan migrasi dari teknologi yang ada saat ini.
4)Dukungan penuh terhadap berbagai teknologi standar yang digunakan dalam platform
internet, antara lain HTTP, XML, SOAP dan HTML.

Teknologi inti .NET secara umum terdiri dari 4 area pokok :

1) .NET Framework

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

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

Apakah .NET Framework?

Dot NET Framework adalah linkungan untuk membangun, deploying menyebarkan, dan menjalankan services Web dan aplikasi lainnya.Dot NET Framework disusun oleh dua komponen utama, yaitu Common Language Runtime (runtime bahasa umum) dan .NET Framework Class Library (pustaka class .NET Framework.

Definisi di atas saya ambil dari penjelasan Microsoft dalam Wikipedia,FAQ(Frequently Asked Questions), dan irfani blog mengenai .NET Framework. Secara sederhana .NET Framework adlah platform tunggal dimana semua orang dapat platform tunggal dimana semua orang dapat mengembangkan aplikasi menggunakan suatu system yang mirip dengan JVM(Java Virtual Machine). Hanya berbeda dengan java, tidak ada penghalang dengan bahasa .NET sehingga aplikasi dapat dikembangkan menggunakan bahasa: VB, C++, C#, J# dan 20 bahasa-bahasa pemrograman lainnya yang kompatibel dengan .NET Framework.

Tujuan dari .NET Framework adalah:

•Menyediakan lingkungan pemrograman berorientasi objek, apakah kode objek disimpan
dan dijalankan secara lokal, dijalankan secara lokal tetapi disebarkan melalui
internet atau dijalankan secara remote (dijalankan dari suatu tempat).

•Menyediakan lingkungan untuk menjalankan suatu kode yang meminimalkan konflik saat
software deployment disebarkan dan versioning /tentang versi.

•Menyediakan lingkungan untuk menjalakan suatu kode yang menjamin keamanan saat kode
dijalankan, termasuk kode yang dibuat oleh pihak yang tidak diketahui atau pihak
ketiga yang setengah dipercaya.

•Menyediakan lingkungan untuk menjalankan suatu kode yang dapat mengeliminasi
masalah performa dari lingkungan scripted dan interpreted.

•Membuat pengembang memiliki pengalaman yang konsisten dalam berbagai tipe aplikasi
berbasis Windows dan aplikasi berbasis Web.

Definisi lainnya, .NET Framework bisa juga diartikan sebagai serangkaian teknologi yang :

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

Common Language Runtime (CLR)

Common language runtime/CLR/runtime bahasa umum (runtime) merupakan dasar dari .NET Framework. Runtime adalah engine yang menjalankan aplikasi >NET Framework. Runtime menyediakan sejumlah service/layanan, seperti berikut ini:

•Mengelola kode (loading dan menjalankan)
•Isolasi memori aplikasi
•Verifikasi untuk kemanan type
•Konversi dari IL (Intermediate Language) ke kode native/asli.
•Akses metadata (informasi yang dipercaya)
•Mengelola memori pada objek managed/terkelola
•Mengelola keamanan kode akses
•Menangani eksepsi (kejadian yang tidak diharapkan yang muncul saat kode dieksekusi) termasuk eksepsi lintas bahasa
•Inperoperation di antara managed code, objek COM(Component Object Model)
•Otomatisasi layout objek
•Mendukung layanan pengembang (profiling, debugging dan sebagainya)

Konsep pengelolaan kode merupakan prinsip dari runtime. Kode yang menjadi target dari runtime disebut managed code/kode terkelola, sedangkan kode yang tidak menjadi target runtime disebut unmanaged code/kode yang tidak terkelola. VB.NET akan menjalankan managed code apabila dalam system computer tersebut terdapat CLR atau dengan kata lain pemakai tidak dapat menjalankan aplikasi VB.NET tanpa menginstall CLR terlebih dahulu.

CLR “mengetahui” apa yang akan dilakukan pada data khusus (disebut metadata) yang berada dalam aplikasi. Metadata berisi peta dimana menemukan class, kapan memanggil class dan kapan mengatur batas isi runtime, menghasilkan native code/kode asli, mengatur keamanan, menentukan class manayang menggunakan metode dan memanggil class jika dibutuhkan. CLR juga menentukan kapan suatu objek digunakan dan dilepas. Semua itu disebut managed code.

2) .NET Building Block Services

Building block merupakan sekumpulan services yang bersifat programmable, yang dapat diakses secara offline maupun online. Service tersebut merupakan modul-modul yang terdapat di suatu komputer, server dalam jaringan, maupun di suatu server di internet.

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

3) Visual Studio .NET

Visual Studio .NET menyediakan tools bagi para developer untuk membangun aplikasi yang berjalan di .Net Framework. VS.Net membawa perubahan besar dalam gaya pemrograman, karena setiap programmer dituntut untuk memahami .NET object model dan Object Oriented Programming dengan baik, jika tidak ingin menghasilkan aplikasi dengan performa rendah.

VS.Net juga semakin mempertipis jarak antara Windows Programmer dengan Web Programmer. Dunia scripting yang akrab bagi programmer web akan sulit ditemukan dalam .NET, karena pemrograman web sudah bersifat full object oriented, dengan fasilitas event driven programming sebagaimana layaknya windows programming. Pemrograman web menjadi lebih mudah dan menyenangkan bagi para programmer windows, sedangkan anda para veteran scripting language sudah saatnya untuk beralih ke ASP.NET, yang dapat diprogram menggunakan VB, C#, C++ maupun Phyton dan COBOL sekalipun.

Microsoft masih menyediakan Jscript.NET bagi anda para pecandu JavaScript dan JScript, sedangkan versi .Net dari VBScript belum diketahui apakah akan disediakan atau tidak. Para veteran VB.Script disarankan untuk mempelajari VB, sehingga dapat menggunakan VB.Net untuk membangun aplikasi web. Bahasa pemrograman yang terdapat di VS.NET adalah VB.NET, C#, C++ .NET, J#, dan Jscript .NET. Dalam masa mendatang akan terus ditambah berbagai bahasa pemrograman lain.

4) .Net Enterprise Server

Bagian ini merupakan sekumpulan server based technology yang digunakan untuk mendukung teknologi .NET, yang mencakup sistem operasi, database, messaging, maupun manajemen e-commerce. Teknologi yang disediakan antara lain adalah Windows 2000 Server, SQL Server, Exchange, ISA Server dan BiZTalk Server.

Ada beberapa alasan yang menguntungkan bila anda mempelajari .NET :

Multi Language

Arsitektur .NET bersifat terbuka, sehingga memungkinkan berbagai bahasa pemrograman mengakses CLR dengan mulus. Banyak kalangan menyebut .NET sebagai “open source” versi Microsoft. Saat ini .NET dapat diprogram menggunakan Visual Basic.NET, C++.NET, Visual C#, Jscript, dan J#. Berbagai third Party yang dapat digunakan adalah COBOL, Eiffel, Smalltalk, Perl, Phyton, ML, Pascal, dan Delphi. Para veteran Pascal mungkin tidak pernah bermimpi membuat aplikasi web dengan bahasa “kuno” tersebut, tetapi kehadiran .Net Framework merealisasikan hal tersebut.
Bagan berikut menjelaskan kedudukan bahasa pemrograman terhadap .NET Framework dengan CLR sebagai intinya.

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

No DLL Hell

Anda tahu DLL ? Tentu saja, kalo tidak tentu anda bukan seorang programmer. DLL merupakan blok atau modul-modul obyek dari sebuah aplikasi. Peranannya sangat penting, sekaligus memusingkan. Sering terjadi dalam dunia windows, kompatibilitas dan registrasi DLL di masing-masing Workstation menjadi isu besar dalam deployment aplikasi.

Strong Typing dan Type Safety

Bila anda pernah menggunakan VB6, pendefinisian tipe data bukanlah sesuatu yang mutlak wajib dilakukan karena VB akan mendefinisikan primitive data type, suatu type default untuk masing-masing angka atau karakter yang terdapat dalam variabel. Hal ini sebenarnya kurang baik karena dapat memboroskan memory dan merupakan sumber bug. .NET menyediakan strong typing, dimana setiap variabel wajib didefiniskan scope dan tipe datanya. Demikian pula dengan fasilitas type safety yang sangat bermanfaat untuk membantu dalam coding pemrograman, terutama fasilitas intellisense yang membimbing pemrogram dalam menentukan property, method, maupun function yang akan dipakai.

Cross Platform Possibility

.Net menyimpan dan mengirim data dalam bentuk XML yang merupakan format data universal di internet. Dengan demikian integrasi data antar platform lebih mudah dilakukan, selama platform tersebut mendukung XML. Representasi konsep ini adalah dataset, suatu cache data yang berbentuk XML dan dapat diakses dengan mudah. Sebuah data dapat diparsing antar tier aplikasi, baik dari database, middle tier, maupun aplikasi klien dalam format XML. Manipulasi format data dalam bentuk XML, .txt, maupun .rtf merupakan sesuatu yang menantang para programmer untuk membuat aplikasi lintas platform.

Code Once, More Application

Interface pemrograman bersifat konsisten, dengan object model yang sama pada setiap bahasa yang digunakan. Suatu object baik berbentuk class, library, maupun web services dapat diakses dengan mudah oleh berbagai aplikasi windows maupun web. Hal ini lebih menghemat waktu para developer, dimana sebuah object dapat dibuat sekaligus untuk aplikasi Web, Windows, dan bahkan console application berbasis DOS.

Untuk Apa Belajar VB.NET ?

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

Perpindahan ke VB.NET dapat diandaikan sebagai camp militer untuk para veteran VB6. Mitos selama ini menyebutkan bahwa VB6 merupakan bahasa yang “amburadul”, tidak jelas struktur obyeknya, mendukung Object Oriented tetapi banci, kompatibilitas kurang, dan lain sebagainya. Semua hal tersebut Cepat Mahir Visual Basic .NET M. Choirul Amri 6 terjadi sebagai boomerang dari VB6 yang terlalu longgar dalam kaidah pemrograman, sehingga tidak sulit menemukan programmer VB6 yang belum pernah membuat property dalam class modul selama karirnya. Di sisi lain kelonggaran tersebut telah menumbuhkan VB sebagai bahasa yg mudah dipelajari, dan paling populer saat ini.

Sebenarnya selama seorang programmer konsisten dan disiplin dengan kaidah konsep COM dan OOP, mitos-mitos di atas tidak akan terjadi. VB.NET tampil dengan wajah yang sama sekali berbeda dari VB6 dalam hal kaidah pemrograman, terutama dengan fasilitas strong typing dan code safety. Di samping itu, sifat .NET Framework yang dirancang dengan nuansa OOP juga harus diikuti, sehingga VB.NET dapat dikatakan sebagi full OOP programming. Hal tersebut mungkin bukanlah barang baru bagi anda pemakai Java atau C, tetapi merupakan hal baru bagi kebanyakan programmer VB6. Dengan demikian, mempelajari VB.NET berarti meningkatkan skill veteran VB klasik, sejajar pemrogram berbasis OOP lainnya.

Sekian tentang .NET frameworknya. Kurang dan lebihnya mohon maklum ye.....!!

Referensi ;
1. Wikipedia
2. BLOG Muhammad Irfani Sahnur