20 Mei 1991: Microsoft merilis Visual Basic versi 1.0 untuk Windows di Windows World 1991,
Atlanta, Amerika Serikat. Programmer dapat membuat antar muka pengguna dengan mudah.
Pembuatan aplikasi bisa lebih cepat dibandingkan sebelumnya. Kode ditulis oleh programmer untuk
memberikan aksi terhadap Event dari pengguna (bagaimana pengguna merespon kepada object
yang terdapat di antar muka.
2. 1 September 1992: Microsoft mengumumkan Microsoft Visual Basic for MS-DOS® dalam
edisi Standard dan Professional. Seperti Visual Basic untuk Windows, versi ini mengkombinasikan
kemudahan pendisainan secara grafis dengan kekuatan dan keunggulan dalam banyak hal di
pemrograman
2 November 1992: Microsoft mengumumkan kemampuan dari Visual Basic versi 2.0 untuk
Windows pada edisi Professional dan Standard. Versi ini menyertakan lebih dari 300 fitur baru dan
peningkatan untuk pengembangan aplikasi yang lebih cepat, pengaksesan ke fitur-fitur tingkat lanjut
di Windows, dan produktivitas pengembang yang lebih besar lagi. Di antaranya: MDI Forms, ODBC,
dan variabel
14 Mei 1993: Microsoft mengumumkan Visual Basic versi 3.0 untuk edisi Standard dan
Professional. Versi 3.0 menyediakan kemudahan akses ke berbagai sumber data yang banyak dengan
mengintegrasikan mesin database Microsoft Access Database for Windows 1.1 dan kemampuan di
bidang aplikasi melalui Object Linking and Embedding (OLE) 2.0. Juga ditambahkan tools baru berupa
controls baru, penggunaan yang lebih mudah, dan sebuah peningkatan standarisasi control bagi
29 Juni 1993: Microsoft mengumumkan bahwa Microsoft Visual Basic for Applications (VBA)
akan diintegrasikan ke dalam Microsoft Excel 5.0 dan Microsoft Project 4.0. Visual Basic akan
melayani bahasa Macro yang umum di versi yang akan datang dari aplikasi-aplikasi untuk Windows
dan Macintosh. Fitur Macro yang umum untuk aplikasi dan OLE 2.0, keduanya merupakan elemen
penting di visi dan strategi Microsoft untuk aplikasi yang dapat diprogram —yang akan memberikan
kemampuan bagi pengguna untuk mengintegrasikan aplikasi-aplikasi, tugas-tugas otomatis, dan
pembuatan solusi yang bersifat kostumais. VBA memiliki mesin pengembangan tangguh dan
fleksibel yang sama yang membuat Visual Basic menjadi terkenal, teknologi pemrograman yang
memperoleh
14 November 1994: Visual Basic versi 4.0 untuk Windows didemonstrasikan di Fall/COMDEX
’94 di Las Vegas. Demonstrasi ini berfokus pada perannya sebagai aplikasi berbasis Windows 32-bit
pertama yang menggunakan kontrol kostumais OLE (OCXs) — komponent perangkat lunak yang
dapat digunakan kembali yang ditetapkan dengan spesifikasi OLE. Pada versi ini diperkenalkan: Class,
OXC’s, dan programmer dapat membuat add-ins sendiri dengan
12 September 1995: Visual Basic versi 4.0 untuk MS-DOS, Microsoft Windows NT®, dan
Windows 95 diumumkan. Untuk meningkatkan edisi Standard dan Professional, maka Edisi
Enterprise yang baru diperkenalkan untuk memenuhi kebutuhan perusahaan dan team
pengembang. Semua versi menyertakan dukungan teknologi OLE yang lebih dikembangkan,
perbaikan akses data, sebuah lingkungan pengembangan yang bersifat visual, dan migrasi ke
Windows 95 dan Windows NT untuk aplikasi-aplikasi yang sudah
7 Desember 1995: Microsoft mengumumkan Microsoft Visual Basic Scripting Edition
(VBScript), sebuah bahasa skrip Internet berbasiskan pada Visual Basic. VBScript merupakan sebuah
skrip dengan performansi yang tinggi yang didisain untuk membuat isi yang bersifat aktif pada suatu
situs. VBScript membolehkan pengembang untuk mengaitkan dan mengotomatiskan berbagai jenis
object di halaman situs, termasuk object OLE. VBScript menjadi sebuah spesifikasi yang diusulkan
berlisensi gratis yang tersedia bagi komunitas
3 Februari 1997: Microsoft membuka sistem pemrograman Visual Basic versi 5.0, Edisi
Professional — tool versi terakhir yang paling terkenal di dunia untuk membangun aplikasi yang
tangguh (Rapid Application Development RAD) tool. Fitur-fitur Visual Basic versi 5.0 terdiri dari
sejumlah performansi yang signifikan dan peningkatan produktivitas yang akan membuat para
pengembang lebih efisien dan fleksibel serta cepat dalam memberikan solusi bagi pengguna akhir.
Fitur-fitur tingkat lanjut — seperti kompilasi berjenis native code, akses database berkecepatan
tinggi, dan sebuah lingkungan pengembangan yang ditingkatkan — membuat Visual Basic versi 5.0
menjadi versi yang paling hebat. Sebagai tambahan, kemampuan teknologi pembuatan komponen
Microsoft ActiveX® di Visual Basic versi 5.0 akan membolehkan lebih dari 3 juta pengembang
menggunakan Visual Basic dalam membuat aplikasi yang berbasis pada komponen yang bertujuan
untuk digunakan di Internet, intranets, dan lingkungan tradisional client/
10 Maret 1997: Versi terakhir yang dirilis dari Visual Basic 5.0, Edisi Pembuatan Kontrol
tersedia. Edisi Pembuatan Kontrol adalah cara mudah untuk membuat ActiveX Controls bagi
Internet, intranets, dan aplikasi client/
15 Juni 1998: Microsoft mengumumkan Visual Basic versi 6.0, dan dimasukkan ke dalam
Microsoft Visual Studio® versi 6.0. Fitur-fitur Visual Basic versi 6.0 menyediakan pengaksesan data
secara terintegrasi dan bersifat grafis ke sumber data (data source) ODBC atau OLE DB manapun,
dan perangkat tambahan database yang didisain untuk database Oracle dan Microsoft SQL Server™.
Fitur unggulan di versi ini adalah: ActiveX Data Objects (ADO) untuk memanipulasi dan membuat
database. Fitur Pengembangan Situs membawa kemudahan dalam penggunaan, model
pemrograman berbasis komponen dari Visual Basic untuk membuat HTML – dan Dynamic HTML
(DHTML) – berbasis aplikasi. Fitur-fitur baru ini — dikombinasikan dengan optimisasi performansi,
pengembangan aplikasi yang disederhanakan dan debugging, dan dukungan untuk Microsoft
teknologi server — membuat Visual Basic versi 6.0 sebuah pilihan yang ideal untuk membangun
aplikasi berskala
2 September 1998: Visual Studio 6.0, solusi tool pengembangan lengkap berskala perusahaan
tersedia. Visual Studio 6.0 menyertakan Visual Basic versi 6.0, Microsoft Visual C++®, Microsoft
Visual FoxPro®, Microsoft Visual InterDev® Web, dan Microsoft Visual J++®. Bersamaan dengan
diluncurkannya Developer Days ’98, lebih dari 115 perusahaan papan atas mengumumkan dukungan
terhadap Visual Studio 6.
28 April 1999: Lingkungan pengembangan VBA versi 6.0 dan Software Development Kit (SDK)
VBA (SDK) versi 6.0 tersedia bagi vendor perangkat lunak pihak ketiga melalui program
lisensi VBA. VBA 6.0 merupakan sebuah teknologi pengembangan yang tangguh untuk aplikasi yang
dikemas secara kostumais dan merupakan sebuah komponen utama di Microsoft Office
15 Februari 2000: Steve Ballmer, presiden yang baru saja ditunjuk dan CEO dari Microsoft
Corporation, berbicara kepada lebih dari 2.000 pengembang dalam pidatonya pada Visual Basic
Insiders Technical Summit (VBITS), menyatakan visi Microsoft terhadap situs yang dapat diprogram
dan memaksa kembali komitmen perusahaan yang dalam terhadap para pengembang Visual
11 Juli 2000: Microsoft menyampaikan Tool Platform .NET untuk XML Web Services. Dalam
pidatonya yang ditujukan pada acara Microsoft Professional Developers Conference (PDC) 2000 yang
kedelapan, Paul Maritz, wakil presiden kelompok dari Platforms Group di Microsoft, memperlihatkan
Microsoft .NET Framework dan Microsoft Visual Studio .NET. Ini merupakan versi terakhir dari
perangkat pengembangan yang digunakan di seluruh dunia, Visual Studio .NET menyediakan
dukungan untuk pengembangan drag-and-drop terhadap XML Web Services. Secara bersama, kedua
produk tersebut menyediakan produktivitas yang tinggi kepada para pengembang, suatu lingkungan
yang terdiri dari banyak bahasa untuk pembangunan, pengantaran, dan pengintegrasian XML Web
Services pada platform Microsoft .
13 November 2000: Microsoft mengumumkan kemampuan Visual Studio .NET versi Beta 1.
Dalam pidato acara COMDEX/Fall 2000, Bill Gates mengumumkan kemampuan versi beta
pertama Visual Studio.NET dan .NET Framework, dua teknologi kunci untuk memungkinkan para
pengembang membangun XML Web services pada platform .NET. XML Web services merupakan
aplikasi dan komponen yang dibuat tersedia melewati situs dengan menggunakan XML dan Simple
Object Access Protocol (SOAP), dan kunci yang dapat diprogram untuk membangun generasi masa
depan Internet. Microsoft membuat Visual Studio .NET Beta 1 dan .NET Framework tersedia bagi
jutaan pelanggan dan rekanan
13 Februari 2002: Microsoft mengumumkan kemampuan dari Visual Studio .NET versi akhir.
Pemrograman Berorientasi Objek (OOP) Visual Basic merupakan bahasa yang
mendukung Pemrograman berorientasi objek , namun tidak sepenuhnya, Beberapa karakteristik
obyek tidak dapat dilakukan pada Visual Basic, seperti Inheritance tidak dapat dilakukan pada class
module, Polymorphism secara terbatas bisa dilakukan dengan mendeklarasikan class module yang
memiliki Interfacetertentu. Visual Basic (VB) tidak bersifat case sensitif.Desain Visual dan
Komponen Visual Basic menjadi populer karena kemudahan desain form secara visual dan adanya
kemampuan untuk menggunakan komponen-komponen ActiveX yang dibuat oleh pihak lain. Namun
komponen ActiveX memiliki masalahnya tersendiri yang dikenal sebagai DLL hell,Pada Visual Basic
.NET, Microsoft mencoba mengatasi masalah DLL hell dengan mengubah cara penggunaan
komponen (menjadi independen terhadap registry)Kode sumber Dalam ilmu komputer, kode
sumber (Inggris: source code) atau kode program adalah suatu rangkaian pernyataan atau deklarasi
yang ditulis dalam bahasa pemrograman komputer yang terbaca manusia. Kode sumber yang
menyusun suatu program biasanya disimpan dalam satu atau lebih berkas teks, dan dapat pula
ditampilkan dalam bentuk cuplikan kode (code snippet) yang dicetak pada buku atau media lainnya.
Mengapa OOP dibangun dalam sebuah paradigma yang luas untuk menyelesaikan masalah
bisnis? Bahasa prosedural mengatur program dalam mode barisan linier yang bekerja dari atas ke
bawah. Dengan kata lain, program adalah kumpulan dari tahapan yang dijalankan setelah yang lain
berjalan. Programming tipe ini bekerja dengan baik untuk program kecil yang berisi code relative
sedikit, tetapi pada saat program menjadi besar, mereka cenderung susah untuk di-manage dan di-
debug. Dalam usaha untuk me-manage program, struktur programming diperkenalkan cara untuk
mem-break downcode-code tersebut melalui functions dan procedures. Ini adalah sebuah langkah
perbaikan, namun pada saat program dijalankan dalam sebuah fungsi bisnis yang kompleks dan
berinteraksi dengan sistem lain.
A. Objek
Pada dasarnya semua benda yang ada di dunia nyata dapat dianggap sebagai sebuah objek.
Jika perhatikan lebih lanjut, pada dasarnya ada dua karakteristik yang utama pada sebuah objek ,
yaitu :
Setiap objek memiliki atribut sebagai status yang kemudian akan disebut sebagai state.
Setiap objek memiliki tingkah laku yang kemudian akan disebut sebagai behaviour.
Contoh sederhananya adalah : objek sepeda
Sepeda memiliki atribut (stat ) : pedal, roda, jeruji, dan warna.
Sepeda memiliki tingkah laku (behaviour) : kecepatannya menaik, kecepatannya menurun,
dan perpindahan gigi sepeda.
Dalam pengembangan perangkat lunak berorientasi objek, objek dalam perangkat lunak
akan menyimpan state-nya dalam variabel dan menyimpan informasi tingkah laku (behaviour) dalam
method-method atau fungsi-fungsi/prosedur.
B. Class
Class berbeda dengan objek. Class merupakan prototipe yang mendefinisikan variabel-
variabel dan method-method secara umum. Sedangkan objek pada sisi yang lain merupakan
instansiasi dari suatu kelas. Class memiliki beberapa karakteristik, diantaranya : anggota class terdiri
dari atribut dan method. Tiap-tiap anggota class memiliki control pengaksesan tersendiri,
maksudnya adalah apakah anggota class tersebut dapat diakses dengan bebas (dengan tipe public)
atau hanya dapat diakses melalui sebuah interface. Dalam hal ini, interface adalah device yang
digunakan untuk komunikasi antar object berbeda yang tidak memiliki hubungan apapun. Interface
bisa dikatakan sebagai protokol komunikasi antar object tersebut.
C. Enkapsulasi
Dalam sebuah objek yang mengandung variabel-variabel dan method-method, dapat
ditentukan hak akses pada sebuah variabel atau method dari objek. Pembungkusan variabel dan
method dalam sebuah objek dalam bagian yang terlindungi inilah yang disebut dengan enkapsulasi.
Jadi, enkapsulasi dapat diartikan sebagai bungkusan ( wrapper ) pelindung program dan data yang
sedang diolah. Pembungkus ini mendefinisikan perilaku dan melindungi program dan data yang
sedang diolah agar tidak diakses sembarangan oleh program lain.
Manfaat dari proses enkapsulasi adalah :
- Modularitas: Kode sumber dari sebuah objek dapat dikelola secara independen dari
kode sumber objek yang lain.
- Information Hiding: Karena kita dapat menentukan hak akses sebuah
variabel/method dari objek, dengan demikian kita bisa menyembunyikan informasi
yang tidak perlu diketahui objek lain.
D. Inheritance
Class dapat didefinisikan dengan referensi pada class yang lain yang telah terdefinisi.
Inheritance merupakan pewarisan atribut dan method pada sebuah class yang diperoleh dari class
yang telah terdefinisi tersebut. Setiap subclass akan mewarisi state (variabel-variabel) dan behaviour
(method-method) dari superclass-nya. Subclass kemudian dapat menambahkan state dan behaviour
baru yang spesifik dan dapat pula memodifikasi (override) state dan behaviour yang diturunkan oleh
superclass-nya.
Keuntungan dari inheritance adalah :
- Subclass menyediakan state/behaviour yang spesifik yang membedakannya dengan
superclass, hal ini akan memungkinkan programmer Java untuk menggunakan ulang
source code dari superclass yang telah ada.
- Programmer Java dapat mendefinisikan superclass khusus yang bersifat generik,
yang disebut abstract class, untuk mendefinisikan class dengan behaviour dan state
secara umum.
- Extends : Keyword ini harus kita tambahkan pada definisi class yang menjadi
subclass.
- Superclass : Superclass digunakan untuk menunjukkan hirarki class yang berarti class
dasar dari subclass/class anak.
- Subclass :Subclass adalah class anak atau turunan secara hirarki dari superclass.
- Super : Keyword ini digunakan untuk memanggil konstruktor dari superclassatau
menjadi variabel yang mengacu pada superclass.
- Methode Overriding
- Pendefinisian ulang method yang sama pada subclass.
Dalam inheritance, method overriding berbeda dengan method overloading. Kalau method
overriding adalah mendefinisikan kembali method yang sama, baik nama method maupun signature
atau parameter yang diperlukan dalam subclass, kalau method overloading adalah mendefinisikan
method yang memiliki nama yang sama, tetapi dengan signature yang berbeda dalam definisi class
yang sama.
E. Polimorfisme
Kata polimorfisme yang berarti satu objek dengan banyak bentuk yang berbeda, adalah
konsep sederhana dalam bahasa pemrograman berorientasi objek yang berarti kemampuan dari
suatu variabel referensi objek untuk memiliki aksi berbeda bila method yang sama dipanggil, dimana
aksi method tergantung dari tipe objeknya. Kondisi yang harus dipenuhi supaya polimorfisme dapat
diimplementasikan adalah :
- Method yang dipanggil harus melalui variabel dari basis class atau superclass.
- Method yang dipanggil harus juga menjadi method dari basis class.
- Signature method harus sama baik pada superclass maupun subclass.
- Method access attribute pada subclass tidak boleh lebih terbatas dari basis class.
Contoh dari polimorfisme, bila sebuah burung menerima pesan “gerak cepat”, dia akan
menggerakan sayapnya dan terbang. Bila seekor singa menerima pesan yang sama, dia akan
menggerakkan kakinya dan berlari. Keduanya menjawab sebuah pesan yang sama, namun yang
sesuai dengan kemampuan hewan tersebut. Ini disebut polimorfisme karena sebuah variabel tungal
dalam program dapat memegang berbagai jenis objek yang berbeda selagi program berjalan, dan
teks program yang sama dapat memanggil beberapa metode yang berbeda di saat yang berbeda
dalam pemanggilan yang sama. Hal ini berlawanan dengan bahasa fungsional yang mencapai
polimorfisme melalui penggunaan fungsi kelas-pertama.
F. Interface
Pada Java juga dikenal konsep interface, yang merupakan device yang digunakan untuk
komunikasi antar objek berbeda yang tidak memiliki hubungan apapun. Interface bisa dikatakan
sebagai protokol komunikasi antar objek tersebut. Secara sederhana, Object Interface adalah sebuah
‘kontrak’ atau perjanjian implementasi method. Bagi class yang
menggunakan object interface, class tersebut harus mengimplementasikan ulang
seluruh method yang ada di dalam interface. Dalam pemrograman objek, penyebutan object
interface sering disingkan dengan ‘Interface’ saja. Jika anda telah mempelajari abstract class,
maka interface bisa dikatakan sebagai bentuk lain dariabstract class. Walaupun secara konsep
teoritis dan tujuan penggunaannya berbeda. Sama seperti abstract class, interface juga hanya
berisi signature dari method, yakni hanya nama method dan parameternya saja (jika ada). Isi dari
method akan dibuat ulang di dalam class yang menggunakan interface. Jika kita
menganggap abstract class sebagai ‘kerangka’ atau ‘blue print’ dari class-class lain,
makainterface adalah implementasi method yang harus ‘tersedia’ dalam sebuah
objek. Interface tidak bisa disebut sebagai ‘kerangka’ class.
G. Abstraksi
Kemampuan sebuah program untuk melewati aspek informasi yang diproses olehnya, yaitu
kemampuan untuk memfokus pada inti. Setiap objek dalam sistem melayani sebagai model dari
"pelaku" abstrak yang dapat melakukan kerja, laporan dan perubahan keadaannya, dan
berkomunikasi dengan objek lainnya dalam sistem, tanpa mengungkapkan bagaimana kelebihan ini
diterapkan. Proses, fungsi atau metode dapat juga dibuat abstrak, dan beberapa teknik digunakan
untuk mengembangkan sebuah pengabstrakan.
Dengan menggunakan OOP maka dalam melakukan pemecahan suatu masalah kita tidak
melihat bagaimana cara menyelesaikan suatu masalah tersebut (terstruktur) tetapi objek-objek apa
yang dapat melakukan pemecahan masalah tersebut. Sebagai contoh anggap kita memiliki sebuah
departemen yang memiliki manager, sekretaris, petugas administrasi data dan lainnya. Misal
manager tersebut ingin memperoleh data dari bag administrasi maka manager tersebut tidak harus
mengambilnya langsung tetapi dapat menyuruh petugas bag administrasi untuk mengambilnya.
Pada kasus tersebut seorang manager tidak harus mengetahui bagaimana cara mengambil data
tersebut tetapi manager bisa mendapatkan data tersebut melalui objek petugas administrasi. Jadi
untuk menyelesaikan suatu masalah dengan kolaborasi antar objek-objek yang ada karena setiap
objek memiliki deskripsi tugasnya sendiri.
Dalam pemrograman komputer, pemrograman kendali event atau program berdasarkan aktivitas
adalah sebuah pola fikir pemrograman, dimana program aliran ditentukan oleh peristiwa, yaitu
sensor pengguna output dan tindakan (mouse klik, tombol yang ditekan) atau pesan dari program
lain atau benang.
Pemrograman kendali-event juga dapat didefinisikan sebagai suatu teknik arsitektur aplikasi di mana
aplikasi memiliki loop utama yang jelas dibagi menjadi dua bagian: yang pertama adalah peristiwa
seleksi (atau acara deteksi), dan yang kedua adalah penanganan peristiwa. Pada embedded system
yang sama dapat dicapai dengan menggunakan menyela bukannya terus-menerus menjalankan loop
utama, dalam kasus mantan bagian dari arsitektur terletak sepenuhnya di hardware.
Event driven berfungsi sebagai kode program sendiri yang disimpan dalam sebuah fungsi (yang
dirancang untuk melaksanakan tugas khusus). Pada dasarnya, konsep pemrograman visual ini sama
dengan pemrograman procedural, yaitu pemrograman yang memiliki input, proses dan output.
Namun, ada satu penambahan yang berbeda, yaitu konsep pemilihan untuk mengeksekusi proses
programnya. Konsep inilah yang digunakan untuk menjalankan eventnya.
3. Dengan berorientasi pada event, pembangunan aplikasi akan lebih difokuskan pada proses
kontrol.
1. Untuk program sederhana, pemrograman event driven sering lebih kompleks dan rumit dari
pemrograman batch.
2. Aliran dari program ini adalah biasanya kurang logis dan jelas.