Sunday, March 13, 2011

OOP (Object Orienter Programming) Berbasis VB (Visual Basic) & Sejarah Visual Basic

1.Pengertian Object Oriented Programming (OOP) Konsep OOP dimulai pertengahan 1960-an dengan sebuah bahasa program SIMULASMALLTALK. Meskipun developer software tidak secara intensif mengembangkan OOP, tetapi metodologi object-oriented tetap digunakan sampai sekarang.kemudian dilanjutkan di era 70-an dengan Pada pertengahan 80-an, bahasa OOP seperti C++ dan Eifle menjadi popular diantara programmer komputer. Popularitas OOP berlanjut pada tahun 90-an, banyak pengembang perangkat lunak menggunakan konsep OOP seperti yang dilakukan pada Java dan kemudian PHP yang menjadi popular sekarang. Di tahun 2002, versi terakhir dari Visual Studio, Microsoft-pun ikut memperkenalkan bahasa OOP baru yaitu C# (dibaca C-sharp) serta penyempurnaan Visual Basic 6.0 yang tidak mendukung OOP menjadi VB.NET sebagaibahasa pemrograman berorientasi objek. Pemrograman berorientasi Objek yang dalam istilah Inggris disebut sebagai Object Oriented Programming (disingkat OOP) adalah salah satu pendekatan pemrograman atau paradigma untuk pengembangan / development suatu perangkat lunak komputer dimana dalam struktur perangkat lunak tersebut didasarkan kepada interaksi objek dalam penyelesaian suatu proses / tugas. Jika kita mencoba melihat bagaimana tugas disekitar kita diselesaikan, kita akan mengetahui bahwa kita berinteraksi dalam sebuah object-oriented world. Jika akan bepergian kita pasti berinteraksi dengan objek mobil. Sebagai sebuah objek, mobil berisi objek-objek lain yang berinteraksi untuk melakukan tugasnya membawa kita. Pemrograman ini mempertinggi kualitas dan produktifitas pengembangan software. Program pengembangannya dilakukan dengan pendekatan building block. Setiap block, disebut object, bersifat independen dan mampu berjalan sendiri atau saling kunci dengan object lain dengan mudah dan otomatis. Object-object berinteraksi dengan saling memberikan informasi satu terhadap yang lainnya. Masing-masing object harus berisikan informasi mengenai dirinya sendiri (encapsulation) dan object yang dapat dikaitkan (inheritan). Model data berorientasi objek dikatakan dapat memberi fleksibilitas yang lebih, kemudahan mengubah program, dan digunakan luas dalam teknik piranti lunak skala besar. Lebih jauh lagi, pendukung OOP mengklaim bahwa OOP lebih mudah dipelajari bagi pemula dibanding dengan pendekatan sebelumnya, dan pendekatan OOP lebih mudah dikembangkan dan dirawat. 2.KARAKTERISTIK OOP Pemrograman orientasi-objek menekankan konsep berikut: • kelas — kumpulan atas definisi data dan fungsi-fungsi dalam suatu unit untuk suatu tujuan tertentu. Sebagai contoh ‘class of dog’ adalah suatu unit yang terdiri atas definisi-definisi data dan fungsi-fungsi yang menunjuk pada berbagai macam perilaku/turunan dari anjing. Sebuah class adalah dasar dari modularitas dan struktur dalam pemrograman berorientasi object. Sebuah class secara tipikal sebaiknya dapat dikenali oleh seorang non-programmer sekalipun terkait dengan domain permasalahan yang ada, dan kode yang terdapat dalam sebuah class sebaiknya (relatif) bersifat mandiri dan independen (sebagaimana kode tersebut digunakan jika tidak menggunakan OOP). Dengan modularitas, struktur dari sebuah program akan terkait dengan aspek-aspek dalam masalah yang akan diselesaikan melalui program tersebut. Cara seperti ini akan menyederhanakan pemetaan dari masalah ke sebuah program ataupun sebaliknya. • Objek – membungkus data dan fungsi bersama menjadi suatu unit dalam sebuah program komputer; objek merupakan dasar dari modularitas dan struktur dalam sebuah program komputer berorientasi objek. • 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. • Enkapsulasi – Memastikan pengguna sebuah objek tidak dapat mengganti keadaan dalam dari sebuah objek dengan cara yang tidak layak; hanya metode dalam objek tersebut yang diberi ijin untuk mengakses keadaannya. Setiap objek mengakses interface yang menyebutkan bagaimana objek lainnya dapat berinteraksi dengannya. Objek lainnya tidak akan mengetahui dan tergantung kepada representasi dalam objek tersebut. • Polimorfisme melalui pengiriman pesan. Tidak bergantung kepada pemanggilan subrutin, bahasa orientasi objek dapat mengirim pesan; metode tertentu yang berhubungan dengan sebuah pengiriman pesan tergantung kepada objek tertentu di mana pesa tersebut dikirim. Contohnya, 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. • Inheritas- Mengatur polimorfisme dan enkapsulasi dengan mengijinkan objek didefinisikan dan diciptakan dengan jenis khusus dari objek yang sudah ada – objek-objek ini dapat membagi (dan memperluas) perilaku mereka tanpa haru mengimplementasi ulang perilaku tersebut (bahasa berbasis-objek tidak selalu memiliki inheritas.) • 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 adminiistrasi. Jadi untuk menyelesaikan suatu masalah dengan kolaborasi antar objek-objek yang ada karena setiap objek memiliki deskripsi tugasnya sendiri. 3.OOP pada Visual Basic 6.0 Pada Visual Basic 6.0 (dan Visual Basic versi sebelumnya), banyak diperdebatkan apakah bahasa pemrograman Visual Basic termasuk sebagai bahasa pemrograman berorientasi object ataukah tidak. Pada satu sisi, Visual Basic 6.0 mendukung object dan interface, dan juga mengimplementasikan class yang didefi nisikan pada class module dan disimpan pada fi le dengan ekstensi .cls. Bahkan implementasi drag and drop control yang pasti dikenal oleh setiap programer Visual Basic merupakan contoh object yang dapat di-reuse. Pada saat Anda meletakkan sebuah control, misalnya sebuah command button pada form Visual Basic, Anda telah menciptakan object baru yang memiliki members berupa property, method, dan events. Visual Basic 6.0 juga mengenal keyword private, friend, public, dan static yang digunakan untuk mengatur level akses dari elemen yang dideklarasikan. Tetapi, pada sisi lain Visual Basic 6.0 dianggap tidak mengimplementasikan inheritance dan hanya memiliki fi tur object oriented yang terbatas. Sebuah class pada Visual Basic 6.0 tidak mendukung untuk menurunkan property dan function-nya pada class yang lain. Bagaimana dengan polymorphism? Visual Basic 6.0 mendukung polymorphism melalui interface pada ActiveX. Pada Component Object Model (COM) yang membentuk infrastruktur spesifi kasi ActiveX, terdapat multiple interface yang memungkinkan komponen software dikembangkan tanpa mengubah kode program yang ada. Secara umum, OOP pada Visual Basic 6.0 lebih diimplementasikan pada user interface dan kurang memberikan dukungan bagi programer untuk mengimplementasikan OOP pada kode program. Paradigma ini yang kemudian diubah pada generasi Visual Basic .NET. 4.OOP pada Visual Basic .NET Perdebatan apakah Visual Basic merupakan bahasa pemrograman berorientasi object ataukah tidak, berakhir pada saat dirilisnya Visual Studio .NET dan generasi seterusnya. Pada .NET, Visual Basic murni merupakan bahasa pemrograman berorientasi object. Kegunaan OOP yang utama adalah memaksimalkan penggunaan kembali kode program (code reuse). Saat Anda melakukan drag and drop, prosesnya dikerjakan oleh control designer sehingga Anda tidak perlu mengetahui bagaimana object itu bekerja. Bahkan Anda bebas menggunakan sebanyak mungkin control dan memodifi kasi warna, bentuk, judul, bahkan event handling dari object. Dasar dari tipe sistem .NET adalah inheritance, yang tidak Anda temui dalam Visual Basic sebelumnya. Contoh implementasi inheritance pada .NET adalah namespace, .NET mengenal enam tipe kategori yang dapat didefinisikan pada namespace: a.Classes Merupakan tipe referensi yang didefi nisikan dengan struktur Class .. End Class. b.Arrays Merupakan tipe referensi yang menyimpan object dari tipe yang lain. Class Array didefinisikan pada namespace System pada .NET Framework Class Library. c.Structures Didefinisikan dengan struktur Structure ... End Structure. d.Interfaces Didefinisikan dengan struktur Interface .. End Interface. e.Delegates Merupakan tipe referensi yang mengenkapsulasi method dan didefinisikan dengan statement Delegate. f.Enumerations Merupakan kumpulan nilai yang berkaitan, didefinisikan dengan struktur Enum ..End Enum. Masing-masing dari enam kategori tersebut dapat mendefi nisikan satu atau lebih members. Tipe-tipe members pada .NET adalah: a.Fields Merupakan konstanta atau variabel yang mengizinkan akses tipe data. Fields dapat didefi nisikan oleh class, structure, dan enumeration. Fields digunakan sebagai data yang bersifat read-only, atau sering didefinisikan sebagai konstanta. Fields juga dapat berupa variabel read-only yang nilainya didefinisikan kali pertama pada class constructor dan tidak dapat diubah lagi. b.Properties Property dapat didefi nisikan untuk class, structure, dan interface. Umumnya property dapat dibaca (readable) dan ditulis (writable), walaupun dapat juga diperlakukan read-only atau write-only. c.Methods Merupakan function atau subrutin yang tersedia pada sebuah class, structure, interface, atau delegate. Pada sebuah method terdapat parameter atau argumen yang dapat dikirimkan by value atau by reference. Bagi programer Visual Basic 6.0 sudah tentu tidak asing lagi dengan parameter by value maupun by reference yang biasa digunakan dalam pembuatan function/procedure. By value berarti perubahan nilai pada variabel parameter yang dikirimkan hanya akan berlaku di dalam function, sementara by reference berarti perubahan nilai pada variabel di dalam function akan tetap berlaku pada saat function tersebut selesai dieksekusi dan kembali pada pemanggil. Dengan menggunakan keyword ByVal atau ByRef, Anda dapat menentukan bagaimana parameter dikirimkan. d.Events Pada Visual Basic versi sebelumnya, Anda tentu telah mengenal event yang menimbulkan istilah event-driven programming. Event merupakan sebuah function yang dipanggil untuk merespon kejadian/event tertentu, seperti klik mouse, penekanan tombol keyboard, perubahan nilai field pada database, dan lain-lain. Umumnya event mengirimkan dua parameter, yaitu object yang mengindikasikan sender/pengirim event, dan object yang menyediakan informasi pada event tersebut. Pada sebuah class, Anda dapat melakukan modifikasi pada method dengan cara overriding maupun overloading. Overriding berarti Anda mengubah implementasi dari sebuah method, sementara overloading berarti menambahkan method baru dengan nama yang sama, tetapi dengan pengenal yang berbeda. Overloading mengizinkan Anda memiliki dua atau lebih method dengan nama yang sama. Dua method tersebut akan muncul pada fasilitas IntelliSense sehingga pengguna dapat memilih method yang diinginkan. Bagaimanapun, salah memilih method dapat menyebabkan runtime-error, Anda dapat menghilangkan method yang tidak diinginkan untuk tampil dengan menggunakan keyword Shadows. e.Generic Class Inovasi baru generasi .NET adalah fitur yang dikenal dengan generics yang menyediakan sejumlah generic class. Untuk memahami kegunaan dari generic class, bayangkan Anda ingin membuat berbagai versi sebuah class di mana Anda ingin class tersebut bekerja pada lebih dari satu tipe data, misalnya class yang dapat bekerja pada tipe data integer, string, dan lain-lain. Dengan generic class, Anda tidak perlu menentukan tipe data yang diinginkan hingga Anda menciptakan object-nya di dalam program Anda. Anda dapat menemukan generic class pada namespace System. Collections.Generic pada .NET Framework Class Library. Selain menggunakan generic class yang tersedia pada .NET Framework, Anda juga dapat menuliskan sendiri generic class Anda. Dapat disimpulkan keuntungan dari generic class adalah: i.Keamanan tipe data. Generic class memeriksa kevalidan tipe data pada saat compile-time dan bukan pada saat run-time. Hal ini mengurangi kemungkinan konfl ik tipe data pada saat run-time. ii.Kinerja yang lebih baik. Karena tipe data yang digunakan pada generic class dikenali pada saat compile-time, maka tidak diperlukan proses type casting pada saat run-time yang tentunya mempercepat waktu proses. iii.Penggunaan ulang (reuse). Anda hanya perlu menuliskan class satu kali dan dapat menggunakannya dengan tipe data yang bervariasi. f.Partial Class Pada .NET versi 2.0, dikembangkan partial class atau class yang terpisah, yang memungkinkan Anda untuk memisahkan defi nisi class pada beberapa file. Pada saat compile-time, compiler akan mengelompokkan partial class tersebut dan memperlakukannya sebagai satu kesatuan. Keuntungan dari partial class adalah mengelompokkan pada batas yang jelas antara business logic dan user interface. Dengan partial class, kode program yang merupakan user interface tidak perlu ditampilkan pada programer, yang pada umumnya tidak perlu mengaksesnya.Partial class juga mempermudah proses debugging, di mana kode dipartisi ke dalam beberapa file yang berbeda 5.Sejarah Visual Basic Microsoft Visual Basic (sering disingkat sebagai VB saja) merupakan sebuah bahasa pemrograman yang bersifat event driven dan menawarkan Integrated Development Environment (IDE) visual untuk membuat program aplikasi berbasis sistem operasi Microsoft Windows dengan menggunakan model pemrograman Common Object Model (COM). Visual Basic merupakan turunan bahasa BASIC dan menawarkan pengembangan aplikasi komputer berbasis grafik dengan cepat, akses ke basis data menggunakan Data Access Objects (DAO), Remote Data Objects (RDO), atau ActiveX Data Object (ADO), serta menawarkan pembuatan kontrol ActiveX dan objek ActiveX. Beberapa bahasa skrip seperti Visual Basic for Applications (VBA) dan Visual Basic Scripting Edition (VBScript), mirip seperti halnya Visual Basic, tetapi cara kerjanya yang berbeda. Visual Basic yang sekarang digunakan oleh jutaan programmer adalah berawal dari sebuah Bahasa pemrograman yang diciptakan oleh Prof. Jhon Kemeny dan Thomas Kurtz pada tahun 1964 dengan nama BASIC yang kepanjangan dari Beginner All Purpose Symbolic Intruction Code. Bahasa BASIC ini tergolong bahasa pemrograman yang paling mudah dipelajari. Bill Gates, pendiri Microsoft, memulai bisnis softwarenya dengan mengembangkan interpreter bahasa Basic untuk Altair 8800, untuk kemudian ia ubah agar dapat berjalan di atas IBM PC dengan sistem operasi DOS. Perkembangan berikutnya ialah diluncurkannya BASICA (basic-advanced) untuk DOS. Setelah BASICA, Microsoft meluncurkan Microsoft QuickBasic dan Microsoft Basic (dikenal juga sebagai Basic Compiler). Visual Basic merupakan bahasa yang mendukung OOP, 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 Interface tertentu. Visual Basic (VB) tidak bersifat case sensitif. Dan pada tahun 1975, Microsoft yang dipimpin oleh Bill Gate ini, mengembangkan bahasa BASIC ini dengan mengeluarkan produk pertamanya yang bernama Microsoft Basic dimana versi yang terkenal saat itu adalah Quick Basic. Quick Basic menjadi bahasa BASIC yang paling terkenal saat itu karena sudah adanya interpreter didalamnya yang berfungsi untuk menjalankan kode-kode yang ditulis dengan Quick Basic. Lalu pada tahun 1987, Microsoft mengeluarkan satu produk lagi yang sangat populer yaitu Visual Basic versi 1.0. Visual Basic versi 1.0 ini sangat populer karena bahasa pemrograman ini menggunakan GUI dalam pengembangannya. Lingkungan grafis yang user friendly membuat para programmer saat itu banyak beralih ke Visual Basic.

Pada tahun 1992 Visual Basic versi 2.0 dirilis untuk meningkatkan dan memperbaiki kinerja dari Visual Basic versi 1.0.
Pada tahun 1993 Microsoft mengeluarkan kembali versi terbaru dari Visual Basic ini yakni Visual Basic 3.0. Pada versi ini sudah banyak yang ditambahkan kedalam lingkungan grafisnya (GUI) diantaranya adanya kontrol data yang berfungsi untuk mengakses database, dan juga sudah tersedia Jet Engine versi 1.1 yang digunakan sebagai tool koneksi database melalui DAO (Data Access Object).
Pada tahun 1995 Visual Basic 4.0 dirilis. Pada versi ini sudah dimasukkan teknologi OLE (Object Linking Embedding) serta kemampuan untuk membuat control sendiri (OCX). Dalam versi ini juga dikenalkan teknologi akses database dengan RDO (Remote Data Object) yang menggantikan DAO. Dimana RDO dalam mengakses database lebih cepat dibanding dengan DAO. Dan diversi ini ODBC diperkenalkan.
Pada tahun 1997 Visual Basic 5.0 dirilis dengan memasukkan teknologi baru yang mendukung COM serta memungkinkan membuat kontrol ActiveX sendiri ataupun DLL. Dan diversi ini performance pengembangannya jauh lebih baik daripada versi-versi sebelumnyha.
Pada tahun 1998 Visual BAsic 6.0 dirilis dengan teknologi yang lebih ditingkatkan lagi khususnya dalam mengakses SQL Server. Dan salah satu teknologi yang di usung pada versi ini adalah ADO (ActiveX Data Object). ADO dirancang untuk meningkatkan kinerja dalam mengakses database pada perusahan besar. Dimulai dengan versi ADO v.2.0 sampai sekarang ADO v.2.8
Pada tahun 2000 Microsoft memperkenalkan pertama kali teknologi .Net dalam pertemuan Profesional Developers Conference di Orlando, namun sepertinya teknologi baru ini (Microsfot .NET) belum banyak menarik minat. Hingga pada tahun 2002 Microsoft merilis Visual Studio .NET 2002 yang dipaket dengan Visual Basic .NET, Visual C++ .NET, Visual C# .NET dan Visual J#. NET. Pada tahun 2003 Visual Studio 2003 dirilis untuk memperbaiki kinerja dari visual Studio 2002 dengan meluncurkan .NET Framework versi 1.1 Hingga pada tahun 2009 Visual Studio sudah pada versi 2010, dimana didalamnya sudah ditambahkan bahasa pemrogramana yang baru yaitu F#.
6. VB 2008 dan OOP Sejak Visual basic 1.0 muncul pada tahun 1991, Visaul Basic tumbuh sangat pesat dengan dikeluarkan lagi dengan versi lainya pada tahun-tahun berikutnya dan menjadi bahasa pemograman yang popular didunia. Namun popularitas tersebut tidak menjamin bahwa Visual Basic mendapat pengakuan dari progremmer didunia. Karena ada beberapa yang berpendapat bahwa Visual Basic merupakan bahasa pemograman untuk ‘mainan’, karena sering digunakan bukan untuk aplikasi yang ‘serius’ seperti bahsa pemograman Java dan C++. VB dianggap tidak memiliki fitur yang digunakan untuk membuat atau membangun aplikasi-aplikasi bertaraf entrerprise. Yang menajdi malsah salah satunya yaitu VB dianggap tidak memiliki OOP (Object Oriented Programing. Pada tahun 2001 Microsoft mengeluarkan teknologi yang terbaru yatitu teknologi .NET Framework, dan salah satu bahasa pemograman yang disuport oleh .NET Framework adalah Visaula Basic. Microdoft pun member nama yaitu VB.NET dengan dukungan platform. VB.NET menjadi bahasa pemograman yang modern dan mendukung OOP secara lengkap. VB.NET pun sekarang dapat di sejajarkan dengan bahsa pemograman modern lainnya seperti Java, C++ atau C#. Namun meskipun VB.NET sendiri telah berdiri kurang lebih 9 tahun (sejak VB.NET 1.0) tapi masih banyak programmer atau developmer VB6 yang masih belum berpindah ke .NET. Sebagian mungkin masih lebih nyaman dengan penggunaan VB6 sendri, yang lain mungkin terlalu sibuk dengan dan tidak punya waktu belajar tentang teknologi terbaru yang sangat berbeda dengan teknologi sebelumnya. Sekarang VB.NET telah mengeluarkan versi berikutnya yaitu VB9 (Visual Basic 2008) dan seperti biasa semua versi .NET telah menggunakan OOP. Salah Satu pertanyaan yangs erring terlontar adalah “mengapa harus repot mempelajari OOP?, padahal didalam program berbasis visual sering dilakukan dengan metode drag and drop. Begitu pun dengan proses pengetikan listing yang dianggap berbasis structural dibandingkan OOP?”. Tentu saja hal tersebut tidak dapat dijelaskan dengan sepengal paragraph saja namun dengan penjelasa diatas setidaknya mampu menjelaskan mengapa OOP sangat penting dan bahkan di era visual sekalipun. Jika anda memperhatikan dalam pembuatan form pada VB9 (Visual Basic 2008) selalu di awali dengan Public Class yang berarti bahwa Visual Basic adalah bahasa pemograman yang mendukung implementasi konsep OOP sepenuhnya. http://acilbdgcity.wordpress.com/2011/01/31/object-oriented-programming-oop/ http://syah69.blogspot.com/2009/03/object-oriented-programming-pada-net.html#more http://www.visualbasicindonesia.com/sejarah-visual-basic/ http://visualcode.comxa.com/index.php?option=com_content&view=article&id=85&Itemid=3

0 komentar:

Post a Comment