Senin, 16 Mei 2011

The Power Of Visual Basic.NET Dan Perbedaan Mendasar Antara VB.Net Dengan VB 6.0

Salam Belajar...
Sebelum kita mulai untuk belajar visual basic.net, saya ingin memberikan dahulu gambaran singkat mengenai kekuatan, serta fitur-fitur baru dari Visual Basic.Net (VB.Net) yang mendukung pemrograman dengan data yang intensif. VB sudah selalu memusatkan pada membangun aplikasi yang prakmatik, data-oriented, dan aplikasi-aplikasi yang berhubungan dengan line of business. Selagi pergerakan .NET membawa kekuatan dari framework yang menyatu dan platform yang teratur kepada pengembang aplikasi, seri berikutnya dari VB meliputi kumpulan fitur-fitur yang menghasilkan efek yang besar kepada produktivitas developer saat membangun aplikasi berbasis data. Extension dan fitur-fitur baru dari VB.Net memperkenalkan fasilitas query serba guna yang bisa digunakan untuk semua sumber data entah itu relational, susunan objek hirarkis, ataupun dokumen XML.

sebenarnya saya pun sudah Migrasi ke Pemrograman VS 2010, Meski di Blog Ini saya Cantumkan Menu Visual Basic 6.0 di Karenakan Kampus Saya masih menggunakan Visual Basic 6.0 sehingga saya ingin meringankan beban tugas dari dosen untuk teman-teman saya yang membutuhkanya. Jika anda developer VB6 maka anda harus tahu terlebih dahulu bahwa VB.NET bukan hanya VB6 yang ditambah beberapa fitur baru. VB.NET adalah bahasa baru yang sudah di redesign dan direstrukturisasi. Bahasa ini sudah dibuat menjadi lebih modern dengan penambahan fitur baru pada object design, data akses, form, dan masih banyak lagi. Bahkan format file juga sudah berubah. Sayangnya perubahan yang signifikan tersebut membuat VB.NET tidak 100% backward compatible dengan VB6. Project dari VB6 harus di upgrade untuk dapat berjalan di VB.NET. Anda dapat menggunakan upgrade wizard untuk masalah ini, namun untuk aplikasi yang kompleks tetap membutuhkan tambahan modifikasi secara manual. Banyak orang yang berpendapat upgrade dari VB6 ke VB.NET tidak sekedar upgrade melainkan migrasi aplikasi.
Meskipun untuk migrasi membutuhkan kerja ekstra namun VB.NET akan sangat menarik untuk dipelari oleh developer VB6. Karena dengan VB.NET anda tidak hanya dapat membuat aplikasi berbasis windows saja tapi berbagai macam platform seperti Web, Mobile, XML Web Service, Class Library bahkan untuk Game dengan XNA. VB.NET juga dapat berintegrasi dengan bahasa lain yang berjalan diatas .NET Framework seperti C# dan C++.
Tiga perbedaan mendasar pada VB6 dan VB.NET yaitu:
- Integrated Development Environment (IDE).
- Perubahan Sintaks dan Object Model dari Class.
- Perubahan Kompilasi kode dan menjalankan program.
VB.NET masih menggunakan Visual Studio sebagai IDE, namun sudah berbeda dengan Visual Studio yang digunakan pada VB6, sekarang Visual Studio hanya menssuport tiga bahasa utama yaitu VB, C#, dan C++.
Perbedaan yang kedua terletak pada perbedaan sintaks, karena VB.NET sudah didesign ulang menjadi lebih modern maka banyak sintaks yang dikurangi dan ditambahkan, misal perintah Go Sub sudah dihilangkan tapi banyak keyword baru terutama untuk Object Oriented Programming seperti Inherits, Interface, dll.
Perbedaan yang ketiga terletak pada proses untuk kompilasi dan menjalankan program. VB.NET application akan dikompilasi menjadi kode assembly tidak seperti kebanyakn aplikasi Win32. .NET juga memiliki komponen Garbage Collection yang akan secara otomatis membersihkan object yang anda buat dari memory ketika sudah tidak diperlukan. Jadi anda tidak perlu menghapus object secara manual. Setelah melihat banyak perbedaan yang ada antara VB6 dan VB.NET, pertanyaanya apakah developer VB6 harus pindah ke VB.NET? dan apa alasannya? Microsoft sendiri membuat VB.NET karena beberapa alasan, diantaranya keterbatasan VB6 untuk memenuhi kebutuhan aplikasi saat ini. Sekarang banyak kebutuhan aplikasi yang berbasis web sedangkan VB6 sangat minim dukungan terhadap pembuatan aplikasi web, anda dapt membuat ActiveX control dengan VB6, namun pengguna harus mendownload ActiveX tersebut sebelum dapat menjalankannya di web. Arsitektur ini tidak bagus karena kita mengharapkan client yang benar-benar„thin‟ (hanya cukup browser tanpa perlu install program tambahan). Pengguna menginginkan kode yang dijalankan di server, mereka juga menginginkan jaminan keamanan yang baik, dan scalabilitas dari aplikasi yang dibuat. Itu semua tidak bisa dilakukan oleh VB6.
Berdasarkan beberapa alasan tersebut Microsoft merasa perlu untuk membuat architecture yang lebih baik dan modern. Programmer juga menginginkan fitur-fitur Object Oriented Programming (OOP) seperti inheritance dan polymorphsm untuk membuat komponen yang lebih bagus dan menangani masalah versioning control pada komponen atau dikenal dengan istilah „DLL hell‟. Untuk memberikan solusi atas berbagai masalah diatas Microsoft mencoba membuat kesatuan framework untuk pengembangan aplikasi yang diberi nama .NET Framework.

Mengapa VB.NET Tidak Kompatible Dengan VB6?

Mungkin anda bertanya kenapa Microsoft tidak mendukung backward compatibility dari VB.NET ke VB6. Kenapa tidak menambahkan fitur di VB6 saja? Kenapa harus didesain ulang? Ada beberapa alasan untuk pertanyaan diatas.

Penambahan Fitur Baru...
Beberapa fitur baru yang ditambahkan membutuhkan redesign ulang. Misal penambahan fitur inheritance pada form membutuhkan redesign objcet model pada form. Penambahan Interface untuk mendukung polymorphism membutuhkan perubahan pada bahasa dan file format. Untuk memperbaiki „DDL hell‟ berarti versioning komponen harus di redesign ulang.

Perbaikan Bahasa..
VB6 sudah mengalami banyak penambahan fitur seiring dengan kebutuhan developer. Pada beberapa kasus fitur baru tersebut menyebabkan inkonsistensi dan kerumitan. Misalnya untuk keyword New dan Set pada saat object akan dibuat. Kemudian tipe varian yang dapat menampung tipe apa saja yang dapat mengurangi performa program.

Membuat Lebih Modern
Pada VB.NET tipe Long menjadi 64bit, dan Integer menjadi 32bit. Keyword Type pada VB6 diganti menjadi Structure.

Mengapa Perlu Untuk Migrasi?
Anda mungkin bertanya, Apakah perlu untuk migrasi ke VB.NET? Apakah tidak cukup dengan hanya memodofikasi aplikasi VB6 yang ada sekarang?. Alasan utama untuk migrasi adalah adanya fitur-fitur baru di VB.NET yang akan membantu developer VB untuk membuat aplikasi yang lebih scalable, maintainable, dan powerfull. Beberapa aplikasi baru yang ada di VB.NET adalah?

Fitur Baru..
VB.NET mempunyai beberapa fitu baru yang membuat bahasa VB menjadi lebih powerfull sehingga dapat mematahkan mitos bahwa VB hanya bahasa mainan (toy language) bila dibandingkan dengan bahasa lain seperti C++ dan Java. Fitur-fitur tersebut antara lain:
- Dukungan Object Oriented Programming :
VB.NET adalah bahasa pemrograman yang full Object Oriented. Jadi VB.NET mendukung fitur-fitur OOP seperti Inheritance, Interface, Method Overloading, Polymorphism yang akan dibahas lebih lanjut pada bab-bab selanjutnya.
- Structure Exception Handling :
untuk menggantikan perintah OnError Goto pada VB6, VB.NET meyediakan Try..Catch..Finally error handling. Error handling pada VB.NET ini lebih mudah digunakan karena anda hanya cukup menaruh kode yang akan dicek dikalang Try, dan menyiapkan exception handling nya di kalang catch.

- .NET Framework :
VB.NET mempunyai koleksi class library yang sangat banyak dan terorganisasi dengan baik sehingga mudah digunakan dan dicari. Dengan menggunakan class library ini programmer tidak perlu membuat kode sendiri dari awal.
- GDI+:
GDI+ adalah library Graphic yang digunakan untuk mengembangkan aplikasi windows form.
- Web Services dan Web Form : dengan VB.NET anda dapat membuat aplikasi berbasis web dengan menggunakan Web Form (ASP.NET). anda juga dapat membuat aplikasi web service untuk membuat three tier application.
- Cross-Languege Interoperability :
karena setiap program yang berjalan di .NET dicompile menjadi assembly maka anda dapat membuat aplikasi dengan bahasa pemrograman yang berbeda yang berjalan diatas platform .NET seperti C# dan C++. Jadi anda juga dapat menggunakan komponen yang dibuat menggunakan C# atau C++ untuk digunakan di VB.
- Multihreading :
secara default aplikasi VB.NET adalah sible thread tapi anda dapat mengimplementasikan multi thread. Fitur ini sangat berguna jika anda mempunyai aplikasi yang proses komputasinya memakan waktu lama.
- Type Safe Collection :
fitur ini mulai ada di .NET 2.0 (VB8 atau VB 2005). Dengan fitur ini anda dapat membuat object collection yang type safe. Penjelasan lebih jauh mengenai collection akan dibahas pada bab selanjutnya.
- LINQ :
Fitur ini mulai ada pada .NET 3.5 (VB9 atau VB 2008). LINQ (Language Integrated Query) adalah fitur baru untuk mengquery data yang ditambahkan kedalam bahasa VB dan C# sehingga kedua bahasa tersebut dapat melakukan query ke object, database, xml, dan sumber data lainnya. Lebih detail mengenai LINQ akan dibahas di bab selanjutnya.
- XML Literal :
Fitur ini mulai ada pada VB9, fitur ini adalah fitur special dari VB9 karena bahasa lain seperti C# tidak mendukung fitur ini. XML Literal akan sangat membantu anda dalam bekerja dengan XML, pada VB9 XML menjadi „first class citizen‟ yang berarti anda dapat menuliskan XML secara literal seperti anda menuliskan string.

Beberapa Perbedaan Mendasar Dengan VB6
- Pada VB.NET
index array dimulai dari 0
- Internet Project dengan Web Classes dan DHTML sudah tidak disupport. Pada VB.NET anda dapat menggunakan Web Form (ASP.NET).
- VB.NET tidak menyediakan default properties, jadi anda tidak dapat menuliskan Text1.Text hanya dengan Text1 seperti di VB6.
- Teknik-teknik lama di VB6 untuk print document, menggambar graphic, membaca textfile sudah tidak dapat digunakan di VB.NET, anda harus siap untuk mempelajari teknik yang baru.
- VB.NET tidak mensupport deterministic finalization, jadi ketika object sudah tidak digunakan maka ia akan tetap di memory untuk sementara sebelum dibersihkan oleh Garbage Collector.
- Cara lama mengakses database di VB6 menggunakan DAO dan RDO tidak disupport secara penuh (tidak dapat digunakan sebagai data binding).
- Biarpun anda menggunakan upgrade wizard untuk migrasi dari VB6 namun pada beberapa bagian anda harus menulis ulang, terutama untuk aplikasi-aplikasi yang kompleks.
- VB.NET tidak mensupport pointer jadi anda tidak dapat menggunakannya lagi (pada VB6 anda dapat menggunakan fungsi StrPtr() dan ObjPtr() untuk mengakses pointer).
- Perintah Goto dan GoSub sudah tidak disupport di VB.NET.
- Cara drawing pada Form juga berubah, jika anda menggunakan custom drawing di VB6 anda harus menulis ulang kembali kodenya.

.NET Framework

Untuk bekerja di lingkungan .NET Framework maka anda harus mengetahui arsitektur dan komponen apa saja yang ada didalamnya.
.NET Framewok mendukung beberapa bahasa pemrograman, adapun bahasa pemrograman yang disupport secara resmi oleh Microsoft adalah C# (CSharp), VB, dan C++, tetapi sekarang banyak bahasa lain yang juga dikembangkan untuk mensupport platform .NET diantaranya Delphi, Phyton (IronPhyton), dll. Untuk mengembangkan aplikasi berbasis .NET sebenarnya dapat digunakan lebih dari satu bahasa pemrograman (Language Interoperability) misal sebagian program menggunakan C# dan sebagian lagi menggunakan VB, tetapi disarankan untuk memilih hanya satu bahasa pemrograman saja agar aplikasi yang dibuat lebih mudah untuk di-maintain. Bahasa paling banyak digunakan di platform .NET saat ini adalah C# dan VB.
.NET Framework sebenarnya terdiri dari dua komponen utama yaitu CLR (Common Language Runtime) dan FCL (Framework Class Library).
Common Language Runtime (CLR) adalah pondasi utama dari Framework .NET. CLR merupakan komponen yang bertanggung jawab terhadap berbagai macam hal, seperti bertanggung jawab untuk melakukan managemen memory, melakukan eksekusi kode, melakukan verifikasi terhadap keamanan kode, menentukan hak akses dari kode, melakukan kompilasi kode, dan berbagai layanan system lainnya. Dengan adanya fungsi CLR ini, maka aplikasi berbasis .NET biasa juga disebut dengan managed code, sedangkan aplikasi di luar itu biasa disebut dengan un-managed code. Dengan adanya CLR maka tugas pengembang program menjadi lebih ringan karena banyak tugas yang dahulu harus dikerjakan oleh pengembang sudah digantikan secara otomatis oleh komponen CLR ini.
CLR akan melakukan kompilasi kode-kode aplikasi kita menjadi bahasa assembly MSIL (Microsoft Intermediate Language). Proses kompilasi ini sendiri dilakukan oleh komponen yang bernama Just In Time (JIT).

.NET Framework Class Library atau sering juga disebut Base Case Library (BCL) adalah koleksi dari reusable types yang sangat banyak dan terintegrasi secara melekat dengan CLR. Kumpulan Class Library ini sangat berguna untuk pengembangan aplikasi karena developer tidak perlu membuat semuanya dari awal karena sudah disediakan oleh .NET, misal class untuk membuat aplikasi berbasis windows, class untuk membuat objek-objek koleksi, class untuk koneksi dengan database (ADO.NET), class untuk mengembangkan aplikasi berbasis web, class WPF (Windows Presentation Foundation), dan masih banyak lagi.

Untuk mengembangkan aplikasi VB.NET anda sebenarnya tidak harus menggunakan editor Visual Studio IDE (Integrated Development Environmet), bahkan anda juga dapat menggunakan editor sederhana seperti notepad dan mengkompilasi kode tersebut menggunakan kompiler vbc.exe yang sudah ada dalam .NET Framework. Penggunaan IDE bertujuan untuk mempermudah anda dapal mengembangkan aplikasi sehingga lebih cepat dan produktif.
Visual Studio merupakan IDE yang sangat lengkap dan dapat membuat kita menjadi jauh lebih produktif, namun kita juga harus mempelajari secara detail fitur-fitur yang ada di Visual Studio agar dapat memanfaatkannya secara lebih maksimal.

nah sampai di sini dulu ya... penjelasanya. maklum masih dalam tahap belajar referensi ini juga saya baca dari buku kemudian saya pelajari... terus terang saya tertarik sekali untuk mempelajari visual studio tapi sekarang saya lebih familiar dengan bahaca C#.. kalau ada teman-teman yang lebih tahu tolong di share ilmunya..

3 komentar:

ridho mengatakan...

gabung aja di netindonesia, salam kenal :)

amrul mengatakan...

Saya sedang migrasi ke vb 2010, saya belum yakin benar untuk membuat program yang berdiri sendiri memakai vb.net, terlalu banyak makan hardisk. (misal program toko/kasir/billing) yang biasanya modal komputer ecek2 dengan hardisk kecil. Untuk pesanan program2 tersebut saya masih pake vb6, karena tdiak perlu .net framework, kali ini pertama kali saya dapet pesanan program yang online seluruh Indonesia, say lagi mengkomparasi manakah yang lebih harus saya pilih.

Saya sedang mempelajari VB 2010 untuk kedepannya bisa untuk publish to the world, walaupun saya veteran vb6, saya harus tahu apa yang baru.

Terimakasih kepada mas akbar, info ini sangat mencerahkan...

Anonim mengatakan...

saya punya project di vb 6.0 tp gmn cara run di vb .net.Trims

Posting Komentar

Twitter Delicious Facebook Digg Stumbleupon Favorites More

 
Design by Akbar