Selasa, 07 Oktober 2008

PARA KETURUNAN VISUAL BASIC - JILID III

Setelah pada jilid I dan II kita membahas tentang VBA dan VBScript, maka pada Jilid III ini kita bahas keturunan Visual Basic berikutnya : VB.NET.

3. VB.NET
VB.NET merupakan keturunan terbaru dan termodern dari VB. Bahasa ini hampir seluruhnya mengalami desain ulang untuk mengakomodir model pemrograman yang baru dari Microsoft : .NET Framework. Meskipun telah mengalami desain ulang, akan tetapi dibeberapa bagian tetap dapat menyesuaikan dengan versi VB sebelumnya. Hal ini dilakukan karena dua alasan utama. Pertama, agar dapat meningkatkan kemampuan dan intuisi jutaan developer yang telah menggunakan VB. Kedua, agar mempermudah menggabungkan kode VB sebelumnya dengan kode pada VB.NET.
Sebelum membahas lebih jauh tentang VB.NET, mari kita lihat dulu bagaimana sejarah terbentuknya platform .NET Framework tersebut. Karena dengan begitu, VBro dapat mengetahui esensi sebenarnya dari VB.NET dalam .NET Framework dan mengetahui bagaimana arah perkembangan pemrograman selanjutnya.
Ketika VB 4.0 dirilis pada bulan September 1995, diperkenalkanlah istilah Common Object Model (COM). COM adalah suatu framework untuk mengembangkan komponen yang dapat dipergunakan lintas aplikasi yang dikembangkan oleh bahasa yang sama maupun yang berbeda. Akan tetapi dalam kenyataan, COM tidak dapat bekerja dengan baik apabila dipergunakan oleh aplikasi yang dikembangkan lintas bahasa. Sebagai contoh, COM yang dikembangkan oleh bahasa VB akan sulit untuk dapat dipergunakan oleh aplikasi yang dikembangkan dengan bahasa C++. Selain itu juga, COM biasanya hanya mampu untuk melakukan interaksi belaka, tanpa adanya kemampuan untuk mengatur memori ataupun lifetime-nya sebagai sebuah service component. Ini merupakan suatu kelemahan yang fatal bagi sebuah framework. Disamping itu, kemunculan Platform Java pada tahun 1990 dari Sun Microsystem telah membuat banyak developer, khususnya C beralih menggunakan Java sebagai bahasa pengembangan mereka. Hal ini selain karena teknologi COM-nya yang sudah modern, juga mendukung fitur untuk interoperabilitas tidak hanya lintas aplikasi, akan tetapi lintas Operating System (Windows/Linux/Solaris/Symbian), melalui teknologi Java Virtual Machine-nya.
Hal ini membuka mata para engineer Microsoft, bahwa perlu dikembangkan suatu platform pengembangan baru bagi Microsoft, jika ingin bersaing lebih baik. Pada tahun 1997, dimulailah riset untuk menentukan platform baru tersebut. Pertama hal yang muncul adalah mengembangkan lebih lanjut teknologi Win32 API (dimiliki oleh Windows NT), yaitu suatu kumpulan native libraries yang dipergunakan untuk menjalankan Windows. Akan tetapi, lagi-lagi ada suatu masalah. Win32 API terbilang primitif, karena hanya didesain untuk mereka yang menggunakan C sebagai bahasa pengembangannya. Hal ini tentu tidak sesuai dengan kenyataan yang ada, dimana pemrograman modern yang mendukung object-oriented paling banyak diminati dan dipakai.
Singkat cerita, akhirnya para engineer Microsoft menarik satu kesimpulan yang penting : Merupakan suatu hal utama dimana platform baru tidak terikat oleh Operating System tertentu maupun arsitektur hardware tertentu, tetapi platform baru tersebut juga dapat dipergunakan pada high-end server, mobile device (Handphone, PDA) serta menjalankan hardware pada Personal Computer biasa. Karena itu, mereka memutuskan platform baru tersebut harus bertindak mandiri. Inilah definisi baku sesungguhnya dari .NET Framework, sebagaimana dapat VBro lihat pada gambar berikut ini :




Sekarang marilah kita meninjau bagaimana sesungguhnya cara kerja .NET Framework tersebut. Pertama, .NET Framework selalu terdiri dari kumpulan komponen objek, yang berbentuk Framework Class Library (FCL). FCL inilah yang nantinya didedikasikan sebagai pengganti dari Win32 API, meskipun pada kenyataannya hal ini belum terjadi. Keunggulan FCL terletak pada dukungan fungsi dan libraries yang lebih luas, kemampuan untuk memproses XML lebih baik serta XSL yang lebih handal. Fyi, XSL adalah pengembangan teknologi bahasa XML yang memungkinkan transformasi dokumen XML (.XML) menjadi format dokumen lainnya (contoh: .HTML, .XLS) ataupun ke format database tertentu (contoh : MS-SQL, Oracle).
Kedua, .NET Framework menyediakan media standar run-time berdasarkan engine yang dikenal dengan nama Common Language Runtime (CLR). CLR inilah diharapkan menjadi solusi bagi teknologi COM yang memiliki kendala atas pengaturan memori dan lifetime suatu komponen. Adapun fungsi dari CLR adalah selain bertanggung jawab untuk melakukan loading atas kode, juga mengatur proses eksekusinya, sehingga proses kode lebih baik dan teratur. Selanjutnya, Kode-kode tersebut di compile menjadi kode-kode assembly agar dapat berjalan dengan cepat dengan ukuran file yang kecil. Tentu saja, agar kode-kode assembly dapat terkesekusi dengan baik, maka harus dibuat pada lingkungan .NET Framework juga, apakah menggunakan bahasa pemrograman VB.NET, C# (C Sharp) atau bahkan COBOL sekalipun. Hal ini dapat dilihat pada gambar di bawah ini :



Pada VB.NET, kode-kode yang telah ditulis akan ditransform oleh compiler menjadi EXE atau DLL. Ada 2 (dua) cara bagaimana menjalankan compiler. Pertama, melalui IDE Visual Studio.NET. Kedua, dengan command-line melalui utility bernama VBC.EXE, yang merupakan bagian dari .NET Framework. Tidak seperti versi VB sebelumnya, compiler bagi VB.NET tidak tergantung pada alat pengembangnya, seperti Visual Studio.NET, akan tetapi pada .NET Framework. Sehingga, VBro dapat menulis kode VB.NET pada teks editor manapun. Sekarang, mari kita mulai membuat program VB.NET.
1. Tentu saja lakukan instalasi .NET Framework jika Windows VBro bukan Windows Server 2003. Karena, .NET Framework hanya terinstal secara default di OS ini.
2. Buka notepad.
3. Ketik (copy-paste) kode berikut :
Class AppGw
Shared Sub Main()
Dim NamaSaya As Saya = New Saya()
NamaSaya.Nama = "Nuzwan Gufron"
System.Console.WriteLine( NamaSaya.Tulis() )
Microsoft.VisualBasic.Interaction.MsgBox(NamaSaya.Tulis(), MsgBoxStyle.Information, )
End Sub
End Class

Class Saya
Public Nama As String

Public Function Tulis() As String
Return "Nama Saya Adalah " & Me.Nama
End Function
End Class


4. Simpan menjadi file : C:\TestVBNET.vb
5. Cari file VBC.EXE. Biasanya pada direktori :
WINDOWS\Microsoft.NET\Framework\v2.0.50727

v2.0.50727 menunjukan versi .NET Framework yang terinstal di komputer Saya.

6. Klik tombol Start, lalu Run. Ketik cmd. Selanjutnya akan muncul command-line.
7. Pindah ke direktori dimana file VBC.EXE berada.
8. pada command-line ketik (Copy-Paste) perintah berikut : vbc /t:exe C:\ TestVBNET.vb
maka CLR akan mengubah Kode pada file TestVBNET.vb menjadi TestVBNET.exe
9. Pindah ke direktori C:\ dan kemudian ketik : TestVBNET
10. Program akan berjalan dan menampilkan kalimat dan Message Box :
Nama Saya Adalah Nuzwan Gufron sebagaimana gambar di bawah ini :



Selamat ! VBro baru saja membuat program VB.NET sederhana !. Untuk sementara, disini tidak kita bahas secara detail bagaimana kode per-kode bekerja. Hanya, secara sekilas bagi VBro yang sudah pernah belajar VB sebelumnya akan menemukan beberapa perbedaan.
Pertama, pembuatan Class dilakukan dalam satu file, dimana dalam versi VB sebelumnya setiap class akan memiliki module-nya (file) masing-masing. Kedua, pembuatan sebuah objek class dilakukan dalam cara yang berbeda, diman dalam versi VB sebelumnya selalu menggunakan perintah SET. Untuk jelasnya berikut yang Saya maksud :
Dalam VB.NET :
Dim NamaSaya As Saya = New Saya()

Dalam VB 6.0 :
Dim NamaSaya As Saya
Set NamaSaya = New Saya


Ketiga, untuk dapat menggunakan komponen objek dalam FCL, kita harus mengetahui secara pasti nama komponen objek tersebut. Sebagai contoh, untuk menulis hasil ke dalam command-line perintah berikut dapat digunakan :
System.Console.WriteLine( NamaSaya.Tulis() )

Sedangkan untuk menampilkan suatu Message box dalam Windows, maka kita gunakan :
Microsoft.VisualBasic.Interaction.MsgBox(NamaSaya.Tulis(), MsgBoxStyle.Information, )

Demikianlah pembahasan para keturunan VB. Saya sengaja tidak mengupas secara detail semua hal, karena selain kita belum fokus kepada pemrograman, juga bahasan yang Saya angkat hanya berkisar pada pengenalan dan pengklasifikasian keturunan VB. Selanjutnya, VBro dapat menantikan tulisan-tulisan Saya di blog ini yang akan mengupas tuntas banyak hal seputar keturunan VB tersebut. Terima kasih dan Happy VB Programming !

Tidak ada komentar: