Pemrograman Berorientasi Objek (Object Oriented Programmnig (OOP))

Pengertian

Bahasa pemrograman pada decade terahir ini mengalami perkembangan yang signifikan seiring perkembangan teknologi.coba kita bayangkan bagaimana bahasa mesin atau bahasa asembli dapat dipahami oleh pionir komputer. Mereka yang terbiasa dengan bahasa progam BASIC atau C akan mengalami kesulitan dalam mengikuti program yang dikembangkan pada Era komputer awal. Bahkan beberapa generasi ketiga yang lebih sederhana pun tetap ada tantanganya karena bahasa tersebut berorientasi pada prosedur, yang memaksa programmer untuk mengikuti alur yang telah ditentukan sebelumnya.

OOP (Object Oriented Programming) atau Pemprograman berorientasi objek adalah suatu cara baru dalam berfikir serta berlogika dalam menghadapi masalah-masalah yang akan dicoba diatasi dengan bantuan komputer.Pemrograman berorientasi objek  tidak seperti pendahulunya (Pemprograman Terstruktur), mencoba melihat permasalahan lewat pengamatan dunia nyata dimana setiap objek adalah entitas tunggal yang memiliki kombinasi struktur data dan fungsi tertentu. Ini kontras dengan pemprograman terstruktur dimana struktur data dan fungsi didefinisikan secara terpisah dan tidak berhubungan secara erat.

Secara garis besar, suatu bahasa pemrograman dapat dikatakan sebagai  bahasa pemrograman berorientasi objek (atau Object Oriented Programming / OOP) apabila ia mendukung konsep abstraksi (abstraction), enkapsulasi (encapsulation), polimorfisme (polymorphism),dan pewarisan (inheritance). Selain konsep-konsep ini, ada beberapa konsep fundamental lainnya, seperti kelas, objek, dan message.

 Karakteristik atau konsep  OOP yang di Implementasikan

  • Class

Merupakan gambaran dari suatu object,benda atau kumpulan atas definisi data dan fungsi-fungsi dalam suatu unit untuk suatu tujuan tertentu. Sebagai contoh ‘class of car’ adalah suatu unit yang terdiri atas definisi-definisi data dan fungsi-fungsi yang menunjuk pada berbagai macam merk/jenis mobil. 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.

  • Object

Merupakan  pembungkus data dan fungsi bersama menjadi suatu unit dalam sebuah program komputer; objek merupakan dasar dari modularitas dan struktur dalam sebuah program komputer berorientasi objek. contoh nya : Mobil, Motor, Sepeda.

  • Inheritance

Merupakan bentuk yang lebih spesifik dari Object misalnya : Mobil maka inheritance dari mobil adalah dapat berupa Mobil Truk Tronton, Mobil Truk FUSO, Mobil Sedan,Mobil Pick up, Mobil Sedan

  • Encapsulation

Merupakan cara menyembunyikan suatu proses dari sebuah system dalam rangka menyederhanakan pengaplikasian dari system tersebut dan menghindari gangguan dari system tersebut.atau 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.contohnya : stang pada motor, tombol stater pada motor, Tombol ON/OFF pada remote TV

  • Polymorfisme

Merupakan parameter yang digunakan oleh suatu Class/Object contoh nya : kita mempunyai Class yang berupa mobil apabila diturunkan menjadi dua buah class menjadi Mobil Matic dan Mobil Manual. Ketika Melakukan Metode Berjalan maka yang dilakukan akan berbeda. Mobil Matic akan berjalan sendiri dengan hanya menginjak gas, sedangkan Mobil Manual akan berjalan dengan memasukan gigi terlebih dahulu.

Kondisi yang harus dipenuhi supaya Polimorfisme dapat di implementasikan adalah:

  • Method yang dipanggil harus melalui variable 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 atribut pada subclass tidak boleh lebih terbatas dari basis class.

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.

Konsep  OOP dalam   Pemrograman Visual

Pada Pemrograman  baik desktop atau web banyak diperdebatkan apakah bahasa pemrograman Visual termasuk sebagai bahasa pemrograman berorientasi object ataukah tidak. Pada satu sisi,Pemrograman Visual mendukung object dan interface, dan juga mengimplementasikan class yang didefinisikan pada class module dan disimpan pada file dengan ekstensi .cls. Bahkan implementasi drag and drop control yang pasti dikenal oleh setiap programer Visual (Basic,vb Net,C++ builder) merupakan contoh object yang dapat di-reuse. Pada saat Anda meletakkan sebuah control, misalnya sebuah command button pada form Visual C++ builder, Anda telah menciptakan object baru yang memiliki members berupa property, method, dan events. Pemrograman Visual  juga mengenal keyword private, friend, public, dan static yang digunakan untuk mengatur level akses dari elemen yang dideklarasikan. Tetapi, pada sisi lain  PemrogramanVisual  dianggap tidak mengimplementasikan inheritance dan hanya memiliki fitur object oriented yang terbatas. Sebuah class pada Visual  tidak mendukung untuk menurunkan property dan function-nya pada class yang lain. Bagaimana dengan polymorphism? Pemrograman Visual 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,vb Net,foxfro,C++ buider) lebih diimplementasikan pada user interface dan kurang memberikan dukungan bagi programer untuk mengimplementasikan OOP pada kode program. Paradigma ini yang kemudian diubah pada generasi bahasa-bahasa pemrograman visual.

Tipe-tipe member dalam setiap bahasa Pemrograman Visual  adalah:

1. 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.

2. 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.

3. 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.                                                                                                                                         

4. 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.

About Sheilla Rizkia Ferianty

Semangat!

Posted on 01/12/2011, in Java and tagged . Bookmark the permalink. Leave a comment.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: