Prinsip utama OOP adalah memperlakukan masing-masing bagian dari
sebuah aplikasi sebagai object. Berbeda dengan Procedural Programming, di mana
sebuah aplikasi terdiri kumpulan function dan instruksi. Masing-masing object
pada OOP dapat menerima pesan, memproses data, dan mengirim pesan pada object
lainnya, serta dapat dilihat sebagai sebuah item yang berdiri sendiri dengan
tanggung jawab dan aturan tertentu. Pada sebuah object, tidak perlu mengetahui
bagaimana object itu bekerja. Kita hanya perlu mengetahui apa yang dilakukan
object tersebut. Terdapat banyak contoh untuk menjelaskan konsep OOP, hal yang
umum diberikan adalah contoh pada dunia nyata. Misalnya sebuah mobil, seekor
anjing, ataupun makhluk dan benda lain yang dapat mewakili sebuah object.
Konsep
Object Oriented sebenarnya bukanlah barang baru dalam dunia bahasa
pemrograman. Konsep ini sudah lama ada dimulai dari bahasa pemrograman Small
Talk, LISP, C ++, dan beberapa bahasa pemrograman lainnya.
Pemrograman Object Oriented dimaksudkan adalah membuat suatu program yang
terdiri dari berbagai object yang saling berinteraksi (dalam beberapa
buku diartikan dengan bertukar pesan antar object). Kenapa kita menggunakan
pemrograman berbasis object, sementara kita masih bisa menggunakan konsep
pemrograman prosedural? Dalam membangun program yang masih sederhana tentunya
konsep object oriented ini akan terasa sangat menyusahkan, akan tetapi ketika
kita membuat sebuah program yang ruang lingkupnya luas konsep object oriented
akan terasa sangat membantu karena akan terasa lebih mudah untuk mengorganisir
program yang telah kita buat.
Dalam
konsep object oriented akan kita temukan kata object dan class, class merupakan
pola / template yang menggambarkan kumpulan object yang mempunyai
sifat yang sama, perilaku, atau disebut dengan himpunan object sejenis.
Sementara object adalah implementasi dari class. Sebagai contoh : dalam
pembangunan suatu gedung tentunya seorang arsitek akan menggunakan gambar
desain gedung, dan kemudian akan dibuat gedung nyatanya. Dalam contoh ini
gambar desain gedung dapat kita kategorikan sebagai class dan gedung nyatanya
sebagai implementasi dari gambar gedung yang dapat kita kategorikan
sebagai object. Dari suatu class dapat dibuat beberapa object yang sama.
Object itu secara mudahnya dapat dikatakan terdiri dari property dan
method..
Konsep object oriented memiliki karakteristik utama yaitu :
- Enkapsulasi, sebuah prinsip yang digunakan ketika membangun struktur program secara keseluruhan yang mana setiap komponen dari program dibungkus, pembungkusan properti dan operasi dalam satu even. Secara simple dapat kita katakan bahwa kita menyembunyikan keruwetan kode-kode program dalam suatu object.J
- Polimorphism, suatu kondisi dimana dua object atau lebih mempunyai antarmuka yang identik namun mempunyai perilaku berbeda.
- Inheritance (pewarisan), merupakan sarana untuk menghilangkan penulisan ulang terhadap kode yang dapat digunakan berulang kali yang didasarkan pada hubungan relasional hirarki.
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 file 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.
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 melakukan drag and drop, prosesnya dikerjakan
oleh control designer sehingga tidak perlu mengetahui bagaimana object
itu bekerja. Bahkan 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 ditemui dalam Visual Basic sebelumnya.
Contoh implementasi inheritance pada .NET adalah namespace, .NET
mengenal enam tipe kategori yang dapat didefinisikan pada namespace.
Contoh Demo Program Sederhana
Menggunakan Konsep Oop Pada Visual Basic.Net
1.
Program
menunjukan hari
a)
Script
Deklarasi Kelas
Day
Public Class Day
Sub
GetDay()
MessageBox.Show(Now)
End Sub
End Class
Deklarasi Form
Public Class Form1
Public hari
As New Day
Private Sub Button1_Click(ByVal
sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click
Dim tgl
As Date
tgl = DateTimePicker1.Value
MessageBox.Show(tgl)
End Sub
Private Sub Button2_Click(ByVal
sender As System.Object, ByVal e As
System.EventArgs) Handles Button2.Click
hari.GetDay()
End Sub
Private Sub Button3_Click(ByVal
sender As System.Object, ByVal e As
System.EventArgs) Handles Button3.Click
Me.Close()
End Sub
End Class
Tidak ada komentar:
Posting Komentar