OOP (Object-Oriented Programming), sebuah pengantar

OOP (Object-Oriented Programming) merupakan salah satu bahasa pemograman yang menggunakan paradigma pemograman berbasiskan objek, dimana setiap data dan method (fungsi) yang memproses data disimpan ke dalam class-class yang dapat dipanggil secara terpisah dan mandiri serta dapat berkomunikasi antar sesamanya. Pada saat bersamaan data dan method mendeskripsikan wilayah dan karakteristik dari suatu objek atau secara sederhananya membungkus semua data dan method (fungsi) ke dalam kelas-kelas atau objek-objek yang dapat menerima pesan, proses data, dan mengirim pesan ke objek lainnya.

Titik tolak dari OOP ialah objek, berbeda dengan pemograman struktural yang dimana titik tolaknya berangkat dari fungsi dan prosedur yang bersifat separately dan using top-down approach walaupun dalam ranah pendekatannya kedua teknologi bahasa pemograman ini melakukan pendekatan bahasa terstruktur. Objek pada OOP ditunjukan berdarkan sifat-sifat (properties) sebagai dasar ke-potensialannya dalam melakukan suatu operasional tertentu. Beberapa karakteristik ciri-ciri pendekatan beroentasi objek antara lain:

· Data-data di bangun menjadi suatu karakter yang mendeskripsikan objek

· Setiap objek yang ada dapat saling diintegralkan

· Pada skala program yang besar dapat dibagi-bagi menjadi beberapa objek penyusunnya

· Pendekatan lebih kepada data daripada prosedur ataupun fungsi

· Dalam melakukan pemecahan masalah tidak melihat bagaimana cara menyelesaikannya (terstruktur) melainkan objek-objek apa yang dapat diandalkan dalam memecahkan masalah tersebut.

Sebagai contoh anggap kita memiliki sebuah organisasi yang memiliki ketua, sekretaris, bendahara, petugas bidang dan lainnya. Misal ketua tersebut ingin menyukseskan suatu program, maka upaya tersebut tidak perlu ia lakukan secara langsung melainkan dapat memberdayakan bidang bersangkutan yang ada dalam organisasi tersebut. Pada kasus tersebut seorang ketua tidak harus mengetahui bagaimana cara teknis lapangan yang terjadi secara detail melainkan sang ketua bisa mendapatkan data perkembangan, laporan dan evaluasi program melalui objek petugas bidang tersebut. Jadi untuk menyelesaikan suatu masalah dilakukan dengan kolaborasi antar objek-objek yang ada karena setiap objek memiliki deskripsi tugasnya sendiri.

Contoh yang lainnya, kita dalam melihat sebuah mobil sebagai suatu sistem cukup hanya dengan melihat bagian-bagian tertentu yang dimiliki mobil tersebut untuk memahaminya yaitu seperti mesin, gas-tank, badan mobil, setir, ban mobil dan sebagainya tanpa harus mengetahui secara sistematik prosedur dan fungsi (teoritis; bersifat fisika, mekanika, matematik, dll) yang memungkinkan mobil itu dapat berjalan.

OOP dalam konsep pemogramannya menekankan kepada beberapa aspek penting yang mesti ada dalam program:

· Kelas yaitu kumpulan atas definisi data dan fungsi-fungsi dalam suatu unit untuk suatu tujuan tertentu.

· Objek yaitu suatu wadah yang membungkus segala data dan fungsi secara bersamaan sehingga menjadi suatu unit dalam sebuah program komputer yang merupakan dasar dari modularitas dan struktur.

· Abstraksi, yaitu kemampuan sebuah program untuk melewati aspek infromasi yang diproses olehnya, sehingga dapat fokus kepada inti pemecahan masalah. Objek merupakan model dari kerja abstrak yang dapat melakukan laporan, perubahan kondisi, dan komunikasi antar objek lainnya tanpa harus mengungkapkannya kepada user melalui user-interface tentang apa barusan yang telah ia lakukannya, hal ini dikatakan sebagai information hidding. Pernyataan yang mugkin mengena dalam penjelasan diatas yaitu “Ask not what you can do to your data structures, but rather ask what your data structures can do for you”.

· Enkapsulasi yaitu memastikan pengguna sebuah objek tidak dapat mengganti keadaan dari sebuah objek dengan 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 yaitu pengiriman pesan yang tidak bergantung kepada pemanggilan subrutin, melainkan tergantung kepada methode tertentu yang berhubungan dengan sebuah pengiriman pesan yang tergantung kepada objek tertentu di mana pesan tersebut dikirim. Sebuah variabel tungal dalam program dapat memegang berbagai jenis objek yang berbeda selagi program berjalan, dan teks program yang sama dapat memanggil beberapa methode yang berbeda di saat yang berbeda pula dalam pemanggilan yang sama.

· Inheritas yaitu 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.

Perbedaan objek dengan kelas:

n Objek di ciptakan dari kelas.

n Objek merupakan contoh jadi dari sebuah kelas.

n Kelas merupakan template jadi dari sebuah objek yang di instantiasi.

n Kita dapat menciptakan sebuah objek atau lebih dalam kelas.

Ilustrasi :

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: