Kamis, 02 Desember 2010

VB.NET

Dot NET Framework

Di luar beragamnya definisi .NET Framework, .NET Framework merupakan “Man Behind The Gun” dari VB.NET sehingga kita perlu megetahui jeroan dari teknologi yang ada di dalamnya.
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 tier 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.
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 FAQ(Frequently Asked Questions) 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. 

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 anda 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 6terjadi sebagai boomerang dari VB6 yang terlalu longgar dalam kaidah pemrograman, sehingga tidak sulit menemukan programmer VB6 yang belum pernah membuat property dalam class modul selama karirnya. Di sisi lain kelonggaran tersebut telah menumbuhkan VB sebagai bahasa yg mudah dipelajari, dan paling populer saat ini. Sebenarnya selama seorang programmer konsisten dan disiplin dengan kaidah konsep COM dan OOP, mitos-mitos di atas tidak akan terjadi. VB.NET tampil dengan wajah yang sama sekali berbeda dari VB6 dalam hal kaidah pemrograman, terutama dengan fasilitas strong typing dan code safety. Di samping itu, sifat .NET Framework yang dirancang dengan nuansa OOP juga harus diikuti, sehingga VB.NET dapat dikatakan sebagi full OOP programming. Hal tersebut mungkin bukanlah barang baru bagi anda pemakai Java atau C, tetapi merupakan hal baru bagi kebanyakan programmer VB6. Dengan demikian, mempelajari VB.NET berarti meningkatkan skill veteran VB klasik, sejajar pemrogram berbasis OOP lainnya. 

0 komentar: