BAB II LANDASAN TEORI 2.1 Visual Basic Visual basic adalah pengembangan dari bahasa komputer BASIC (Beginner‟s All-purpose Symbolic Instruction Code). Bahasa BASIC diciptakan oleh Professor John Kemeny dan Thomas Kurtz dari Kampus Darmouth pada pertengahan tahun 1960-an (Deitel&Deitel, 1999). Bahasa program tersebut tersusun mirip dengan bahasa Inggris yang biasa digunakan oleh para programer untuk menulis programprogram komputer sederhana yang berfungsi sebagai pembelajaran bagi konsep dasar pemrograman komputer. Sejak saat itu, banyak versi BASIC yang dikembangkan untuk digunakan pada berbagai platform komputer. Beberapa versinya seperti Microsoft QBASIC, QUICKBASIC, GWBASIC ,IBM BASICA, Apple BASIC dan lain-lain. Apple BASIC dikembangkan oleh Steve Wozniak, mantan karyawan Hewlet-Packard dan teman dekat Steve Jobs (pendiri Apple Inc.). Steve Jobs pernah bekerja dengan Wozniak sebelumnya (mereka membuat game arcade “Breakout” untuk Atari). Mereka mengumpulkan uang dan bersama-sama merakit PC, dan pada tanggal 1 April 1976 mereka secara resmi mendirikan perusahaan komputer Apple. Popularitas dan pemakaian BASIC yang luas dengan berbagai jenis komputer turut berperan dalam mengembangkan dan memperbaiki bahasa itu sendiri, dan akhirnya berujung pada lahirnya Visual Basic yang berbasis GUI (Graphic User Interface) bersamaan dengan Microsoft Windows. Pemrograman Visual Basic begitu mudah bagi pemula dan programer musiman karena ia menghemat waktu pemrograman dengan tersedianya komponenkomponen siap pakai. Hingga akhirnya Visual Basic juga telah berkembang menjadi beberapa versi, sampai yang terbaru, yaitu Visual Basic 2008. Bagaimanapun juga Visual Basic 6.0 tetap menjadi versi yang paling populer karena mudah dalam membuat programnya dan ia tidak menghabiskan banyak memory komputer.
5
2.1.1 Kinerja Visual Basic Selama beberapa tahun belakangan, sejumlah opsi yang tersedia untuk VB telah berkembang dengan pesat, dan sekarang hampir semua yang bisa dilakukan oleh C++, dengan waktu yang separuhnya. Lihatlah daftar dibawah ini : - File Editor/Word Processing - Program Database - Aplikasi Internet - Web Browser - Manipulasi Data - File Management - Game - Spreadsheet - dll. Selain itu , ActiveX Control (biasa disingkat Control) sudah tersedia. ActiveX Control adalah “plug-in” penting yang memungkinkan menambah fungsi-fungsi lainnya pada Visual Basic, dan dapat dibeli dari pihak ketiga. Beberapa diantaranya gratis, dari web VB dan situs-situs lainnya. Perjalanan dari Visual Basic (VB1 to VB 10) 1. Proyek “Thunder” dirintis. 2. Visual Basic 1.0 (May 1991) di rilis untuk windows pada Comdex/Windows Wordltrade yg dipertunjukan di Atlanta , Georgia. 3. Visual Basic 1.0 untuk DOS dirilis pada bulan September 1992. Bahasa ini tidak kompatibel dengan Visual Basic For Windows. VB 1.0 for DOS ini pada kenyataaanya
merupakan
versi
kelanjutan
dari
compiler BASIC, QuickBasic dan BASIC Professional Development System. 4. Visual Basic 2.0 dirilis pada November 1992, Cakupan pemrogramannya cukup mudah untuk digunakan dan kecepatannya juga telah di modifikasi. Khususnya pada Form yg menjadikan object dapat dibuat secara seketika, serta konsep dasar dari Class modul yg berikutnya di implementasikan pada VB 4.
6
5. Visual Basic 3.0 , dirilis pada musim panas 1993 dan dibagi menjadi versi standard dan professional. VB 3 memasukan Versi 1.1 dari Microsoft Jet Database Engine yg dapat membaca serta menulis database Jet (atau Access) 1.x. 6. Visual Basic 4.0 (Agustus 1995) merupakan versi pertama yg dapat membuat windows program 32 bit sebaik versi 16 bit nya. VB 4 juga memperkenalkan kemampuan untuk menulis non-GUI class pada Visual Basic. 7. Visual Basic 5.0 (February 1997), Microsoft merilis secara eksklusif Visual basic untuk versi windows 32 bit . Programmer yg menulis programnya pada versi 16 bit dapat dengan mudah melakukan import porgramnya dari VB4 ke VB5. dan juga sebaliknya, program VB5 dapat diimport menjadi VB4. VB 5 memperkenalakan kemampuan untuk membuat User Control. 8. Visual Basic 6.0 (pertengahan 1998) memperbaiki beberapa cakupan, temasuk kemapuannya untuk membuat Aplikasi Web-based . Visual Basic 6 di jadwalkan akan memasuki Microsoft “fasa non Supported” dimulai pada maret 2008. 9. Visual Basic .NET (VB 7), dirilis pada tahun 2002, Beberapa yang mencoba pada versi pertama .NET ini mengemukakan bahwa bahasa ini sangat powerful tapi bahasa yg digunakan sangat berbeda dengan bahasa sebelumnya, dengan kekurangan diberbagai area, termasuk runtime-nya yang 10 kali lebih besar dari paket runtime VB6 serta peningkatan penggunan memory. 10. Visual Basic .NET 2003 (VB 7.1) , dirilis dengan menggunakan NET framework versi 1.1. 11. Visual Basic 2005 (VB 8.0) , merupakan iterasi selanjutnya dari Visual Basic .NET. dan Microsoft memutuskan untuk menghilangkan kata kata .NET pada judulnya. Pada Rilis ini , Microsoft memasukan bebrapa fitur baru, diantaranya :
Edit and Continue , mungkin inilah kekurangan fitur terbesar dari VB .NET . pada VB 2005 ini kita diperbolehkan melakukan perubahan kode pada saat program sedang dijalankan
Perbaikan pada Konversi dari VB ke VB NET12Visual Basic .NET 2003 (VB 7.1) , dirilis dengan menggunakan NET framework versi 1.1.
7
12. IsNot Patent, merupakan salah satu fitur dari Visual Basic 2005merupakan konversi If Not X Is Y menjadi If X IsNot Y 13. Visual Basic 2005 Express , merupkan bagian dari Product Visual Studio. Microsoft membuat Visual Studio 2005 Express edition untuk pemula dan yang gemar dengan VB, salah satu produknya adalah Visual Basic 2005 Express yg merupakan produk gratis dari Microsoft 14. Visual Basic “Orcas” (VB 9.0) , dijadwalkan akan dirilis pada tahun 2007 dan dibangung diatas .NET 3.5. Pada rilis ini , Microsoft menambahkan beberapa fitur , diantaranya : - True Tenary operator , yaitu fungsi If(boolean,value, value) yg digunakan untuk menggantikan fungsi IIF - LINQ Support - Ekspresi Lambda - XML Literals - Nullable types - Type Inference 15. Visual Basic „VBx‟ (VB 10.0) , Visual Basic 10, yang juga dkenal dengan nama VBx, akan menawarkan dukungan untuk Dynamic Language Runtime. VB 10 direncanakan akan menjadi bagian dari SilverLight 1.1
2.2 Visual Basic.NET 2.2.1 Deskripsi Microsoft Visual Basic .NET adalah sebuah alat untuk mengembangkan dan membuat aplikasi yang bergerak di atas sistem .NET Framework, dengan menggunakan bahasa BASIC. VB .NET meruapakan generasi penerus dari Visual Basic 6 dari Microsoft. Dibandingkan dengan versi sebelumnya VB.NET memiliki banyak fasilitas baru dan beberapa fasilitas yang ditingkatkan seperti inheritance, interface dan overloading. Tool IDE yang mudah serta cukup lengkap dan class library yang juga lengkap juga disuguhkan pada VB .NET.
8
Dalam teknologi .NET yang juga diadopsi oleh VB maka teknik kompilasi yang terjadi pada source code program memiliki sedikit keunikan yang digambarkan pada bagan di bawah ini.
Gambar 2.1 : Bagan compiler .NET Dalam bagan diatas kita dapat melihat jika .NET dapat melakukan kompilasi dari source yang berbeda, oleh karena itu VB .NET dapat bekerja secara bebas diantara berbagai bahasa pemprograman yang didukung oleh .NET framework. Pada .NET Framework, terdapat environtment Common Library Runtime (CLR) yang menjalankan kode program dan menyediakan servis pada aplikasi untuk mempermudah tahap pengembangan aplikasi. CLR merupakan implementasi dari standar Common Language Infrastructure (CLI) yang mendefinisikan execution environment untuk kode program. Dengan environtment CLR, Visual Basic.NET memiliki fitur yang lebih berorientasi objek dibandingkan versi sebelumnya. Beberapa keuntungan yang didapatkan dari CLR atau environment runtime pada umumnya: 1. Kinerja semakin baik 2.Kemampuan untuk menggunakan komponen yang dikembangkan dengan bahasa pemprograman lain 3. Integrasi cross-language, khususnya cross-language inheritance
9
Ketika menggunakan VB .NET, hanya sintaks VB saja yang masih dapat digunakan, selebihnya akan berbeda jauh karena adanya konsep-konsep baru pada .NET dimana sangat berbeda di VB 6, terutama konsep Object Oriented Programing (OOP). Di .NET semua harus mensupport Object Oriented, sehingga yang VB6 dulu tidak bisa OOP, maka ketika di .NET harus support OOP. Dengan adanya sifat Runtime .NET yang hanya bisa dijalankan di OS Windows 98/ME, NT, 2000, XP, 2003, atau OS generasi selanjutnya maka VB.NET pun hanya dapat menjalankan aplikasinya di platform tersebut. Tetapi saat ini karena bahasa pemprograman VB .NET banyak dipakai oleh programmer maka mulai ada pengembangan yang dapat membuat program yang dibangun dengan VB .NET dapat dijalankan pada OS lainya yang berada di luar windows.
2.2.2 Performa Visual Basic.NET Visual Basic 6 yang merupakan salah satu bahasa pemprograman yang cukup populer pada masanya telah ditransisi menjadi VB .NET dimana Microsoft telah mengintegrasikannya ke dalam platform .NET. Hal ini disebabkan oleh keinginan Microsoft untuk menyatukan seluruh bahasa pemprograman yang berada di bawah naungannya ke dalam satu platform. Dan juga, VB dievolusikan menjadi VB .NET agar dapat menggunakan fitur OOP secara lebih lengkap. VB .NET diciptakan agar mempermudah para programmer terutama ketika bekerja dalam tim atau ketika didistribusikan. Karena dengan diintegrasikannya VB dengan .NET maka VB dapat berkomunikasi dengan semua program yang dibuat dengan bahasa pemprograman yang berada di dalam platform VB .NET. Dan juga, dengan adanya manajemen kodingan pemprograman yang lebih baik diharapkan dapat membantu para programmer untuk membuat program dengan lebih nyaman. Beberapa alasan utama dimigrasikannya VB dari yang lama ke platform .NET adalah adanya:
10
1. DLL Hell DLL Hell adalah mengenai rekompilasi aplikasi ketika terjadi perubahan versi pada library yang digunakan, jika aplikasi tidak dikompilasi ulang maka besar kemungkinan akan terjadi Runtime Error pada aplikasi. Hal ini tentu menghambat kinerja programmer dan distribusi aplikasi, jika pada suatu saat hanya librarynya yang harus diubah makan programmer terpaksa harus mengkompilasi ulang seluruh program. Pada VB .NET hal ini dihilangkan sehingga membantu pendistribusian aplikasi.
2. Tidak cocok dengan platform lain Program yang dibuat melalui VB 6 sangat bergantung pada platform yang ada. VB 6 hanya bisa dijalankan pada sistem Win32 yang mana berarti VB 6 tidak dapat dijalankan pada platform mobile ataupun platform berstandar 64 bit dan juga platform non-Windows. Dengan diintegrasikannya VB dengan .NET Framework, hal ini berarti VB menjadi lebih independen dan dapat digunakan dimana saja kecuali untuk saat ini platform non-Windows.
3. Tidak mendukung inheritance VB 6 yang bukan merupakan bahasa berbasis OOP tidak dapat melakukan inheritance. Hal ini berakibat pada terbenturnya programmer dalam mengoptimalisasi kodingan pemprograman dan dalam membuat program yang memiliki struktur tingkat tinggi. Dengan didukungnya OOP pada VB .NET hal ini tidak menjadi masalah lagi. Dengan diintegrasikannya VB kedalam platform .NET, VB .NET mempunyai akses ke berbagai macam library yang dibuat di berbagai macam bahasa pemprograman. VB .NET juga membantu para programmer agar dapat melakukan distribusi aplikasi melalui internet, tidak seperti VB versi sebelumnya yang hanya dapat bekerja di ruang lingkup yang terbatas. Hal ini jelas membuat para programmer makin dapat berkreasi secara luas.
11
2.2.3 Perkembangan Visual Basic.NET Pada awal kemunculannya, VB .NET kalah pamor dengan bahasa pemprograman C# .NET hal ini dikarenakan oleh pemfokusan yang lebih kepada C# .NET oleh Microsoft. VB .NET sesuai dengan namanya sudah terintegrasi dengan .NET Framework sejak awal kemunculannya. Disini VB telah mengalami evolusi besar-besaran dari VB 6 ke VB .NET dimana VB sekarang merupakan bahasa yang mendukung penuh OOP. Banyaknya perubahan yang terjadi antara VB 6 dengan VB .NET, banyak programmer yang kesulitan untuk memahami VB .NET pada masa awalnya karena VB .NET bisa dibilang bahasa pemprograman yang baru dan hanya sedikit mengadopsi dari VB 6. Perkembangan VB .NET hingga ke versi saat ini diiringi oleh perkembangan platform .NET Framework itu sendiri dan eksekusi program yang dibuat dengan VB .NET sangat bergantung pada versi dari .NET Framework yang kompatibel. Hal ini berarti, program yang dibuat di platform .NET versi lama tidak akan dapat dijalankan pada platform .NET versi yang lebih baru. Semakin berkembangnya VB .NET tidak diikuti dengan semakin banyaknya programmer yang meminati bahasa ini. Walaupun ada sejumlah programmer yang tertarik untuk menggunakan VB .NET namun untuk programmer yang benar-benar serius menggunakannya tidak lebih banyak daripada programmer C# .NET. Hal ini dikarenakan jarak antara VB .NET dengan C# .NET semakin kecil dalam masalah penggunaannya namun semakin jauh perbedaannya dalam masalah performa dan kekuatannya. Dengan berkembangnya VB .NET, di satu sisi VB .NET menyediakan fitur-fitur yang semakin luas namun juga semakin membutuhkan platform yang lebih kuat karena VB .NET semakin haus memori komputer dan proses CPU untuk mengeksekusi programnya. Dibandingkan dengan C#, VB .NET semakin lebih buruk dalam optimalisasi penggunaan hardware komputer, hal ini menjadikan VB .NET semakin tidak populer di kalangan praktisi IT. Dengan mengesampingkan semakin rakusnya VB .NET dalam menggunakan resource komputer, VB .NET memang jauh lebih baik
12
daripada VB 6 karena VB .NET sekarang sudah lebih terglobalisasi dan dapat berinteraksi secara lebih luas. 2.2.4. Keunggulan Dan Kekurangan VB6 dan VB.NET Selain mudah bahasa pemprogramannya (VB .NET), platform .NET tidak mengenal perbedaan bahasa pemprogramannya alias sama aja. Karena apapun bahasanya (Visual Basic, C++, C#, J#, bahkan Delphi untuk .NET) akan dikompile dengan menggunakan mesin yang sama dan menghasilkan aplikasi yang ketika dieksekusi akan dibaca dan diterjemahkan oleh MSIL (Intermediate language) juga. Selain itu platform .NET memungkinkan kita untuk beralih orientasi user dari aplikasi dekstop menjadi aplikasi web tanpa mengubah logika secara signifikan karena aplikasi web itu sendiri didukung oleh platform .NET. Walaupun VB .NET semakin kuat, VB .NET tidak dapat berjalan di platform non-microsoft sehingga tidak bisa gratis pemakain platformnya. Walaupun saat ini sudah ada beberapa komunitas linux yang bisa menalankan visual basic.NET pada operating system tersebut. Visual Basic .NET bukan merupakan bahasa pemprograman yang open source, sehingga akan sulit bagi programmer untuk lebih mendalami VB .NET secara lebih independen. Dan juga, dengan ketertutupannya, VB .NET menutup kemungkinan perkembangan-perkembangan yang mungkin terjadi seperti pada bahsa pemprograman open source C# dan Java. .NET juga berawal dari bahasa BASIC yang meneruskan jejak dari VB dari versi sebelumnya. Tetapi bisa dikatakan sintaks pemprograman maupun konsep bahasa pemprograman itu sendiri sangat berbeda dari bahasa VB versi sebelumnya dan BASIC. Keadaan seperti ini membuat user menjadi sedikit kesulitan saat bertransisi ke VB.NET, selain mereka harus belajar konsep baru dari VB.NET yang merupakan OOP mereka juga harus beradaptasi dengan sintaks pemprograman yang sedikit berbeda dari VB. Hal ini memang telah diantisipasi oleh Microsoft selaku pengembang dengan memberikan IDE yang handal. Tetapi IDE ini terbatas dalam hal customisasinya sehingga jika ingin merubah koding yang tergenerasi secara otomatis dari VB .NET itu sendiri maka user yang belum terbiasa akan sulit melakukan
13
perubahan, tetapi jika telah menguasainya hal ini dapat menjadi keunggulan tersendiri karena seorang user akan lebih cepat membangun sebuah aplikasi dengan IDE yang handal. Aplikasi yang ditulis dalam bahasa .NET (VB, C# dll) dapat di dekompilasi dan source codenya dapat dibaca (temasuk nama variable dan komentar sama persis) dengan mudah. Bahkan, kode tersebut dapat diterjemahkan ke dalam bahasa lain. Sebenarnya, .NET dirancang agar aplikasi yang ditulis dalam bahasa berbeda (VB, C#, J#) dapat mengakses class yang sama. Apapun bahasa yang dipilih, compiler bahasa tersebut menghasilkan serangkaian instruksi .NET yang persis sama; dikenal MSIL (Microsoft Intermediate Languange), bukan bahasa mesin. Di dalam MSIL ini terdapat banyak informasi dalam bentuk metadata. Sehingga dari metadata tersebut seseorang dengan mudah dapat mendapat informasi yang dibutuhkan sehingga dapat melakaukan dekompilasi Tujuan dari penyeragaman instruksi dasar ini mungkin salah satu strategi bisnis dalam memasarkan produk dimana .NET menawarkan kemudahan membangun aplikasi dengan kolaborasi tanpa membedakan bahasa yg digunakan setiap individu yang terkait (asal masih .NET platform). Namun, dengan hasil kompilasi berupa MSIL, setiap program yang ditulis dapat di-dekompilasi lagi dengan mudah. (Dikutip dari : Tim Peneliti Sponsio ,2008)
14
15