Dasar-Dasar OOP (Object Oriented Program)

Apa itu OOP ? apa bedanya dengan terstruktur ?.OOP (Object Oriented Program) merupakan cara atau paradigma pemrograman yang berorientasi kepada objek. Adapun perbedaan mendasar dengan pemrograman terstruktur adalah pemrograman terstruktur merupakan rangkaian logika program yang berurutan dan dapat terdiri dari sub strukur, sedangkan OOP merupakan logika program yang diumpamakan atau dirancang bangun berdasarkan objek.

Kata “Object” dan “Oriented” dikenalkan di MIT (Massachusetts Institute of Technology) pada akhir 1950 dan awal 1960. Dalam artikel AI (Artificial Intelligence), objek terdiri dari item-item dan properti (attribut).

Pada tahun 1960, OOP ini diterapkan pada bahasa pemrograman SIMULA 67 yang merupakan pengembangan dari bahasa pemrograman SIMULA I yang dikembangkan oleh Ole-Johan Dahl dan Krsten Nygaard dari Norwegian Computing Centre di Oslo. SIMULA 67 menjadi inspirasi para pengembang bahasa pemrograman seperti Smalltalk (XEROX PARC), LISP (CLOS), Object Pascal, dan C++.

Bahasa pemrograman OOP semakin berkembang dan mempengaruhi bahasa pemrograman khususnya visualisasi seperti Visual Foxpro 3, Delphi, C++ dan Visual Basic, Cocoa Frameworks for MAC OS dan lain-lain. Pada saat ini sudah banyak sekali bahasa pemrograman yang berparadigma objek seperti MS .Net dan java dari Sun Microsystem (sekarang telah diakusisi oleh Oracle).

Aplikasi perangkat lunak adalah objek yang  terdiri dari objek-objek lainnya, Dapat diibaratkan dengan sebuah mobil yang terdiri dari berbagai macam objek seperti objek ban, objek kaca, objek mesin, objek body, dan lain-lain, bahkan objek pentil.

objek mobil

objek mobil

Adapun pengembangan OOP terdiri dari :
1. Objek (Object)
Objek merupakan entitas yang merupakan rangkaian dari perintah-perintah seperti nilai (value), variable, fungsi ataupun data struktur.

Contoh :
–          Titik
Titik merupakan sebuah objek yang terdiri dari posisi x dan posisi y
–          Persegipanjang
Persegipanjang merupakan objek yang mempunyai panjang dan lebar

2. Kelas (Class)
Kelas merupakan implemetasi atau pola dari sebuah objek yang terdiri dari Nama, properti atau attribut atau variabel atau field, dan fungsi atau behaviour atau method atau aksi atau operasi menjadi satu kesatuan (enkapsulasi/Encapsulation).

Contoh :

class
class

3. Instan (Instance)

Kelas yang telah terdefinisi dapat dijalankan (run-time) dalam bentuk instan di memori.

Contoh :

PersegiPanjang pp = new PersegiPanjang();

Maksud dari perintah di atas adalah sebagai berikut :

–          Instan pp merupakan sebuah objek kelas PersegiPanjang dimana pp dibentuk oleh konstruktor Persegipanjang();

–          Konstruktor (Constructor) merupakan sebuah method dimana nama method tersebut sama dengan nama kelas. Konstruktor tidak mengembalikan nilai tetapi dapat dilewati atau diberikan parameter.

–          Instan pp berjalan pada memory komputer.
4. Method
Method atau fungsi atau operasi atau behaviour merupakan perintah-perintah prosedural yang ditempatkan pada kelas untuk mendapat hasil dari perintah-perintah tersebut.

5. Pengiriman Pesan (Message Passing)
Setiap objek dapat menerima atau mengirimkan pesan. Pesan-pesan tersebut bukan hanya berbentuk primitif variable (integer, double, dll), tetapi pesan-pesan tersebut dapat berupa objek lainnya.

Contoh :
pp.setPanjang(10);
Maksud perintah diatas adalah sebagai berikut :
pp diberikan nilai panjan sebesar 10

6. Turunan (Inheritance)  atau Generalization
Objek dapat menurunkan semua yang melekat seperti variable dan kebiasaan kepda objek turunannya. Turunan ini seperti layaknya orang tua ke anaknya. Anaknya (“Sub Classes”) dapat berkembang sesuai dengan kebutuhan, tidak hanya dari apa yang diturunkan orang tua nya (super).

Contoh :

turunan

turunan

7. Abstraksi (Abstraction)
Abstraksi seringkali disebut kepala tanpa badan, dimana informasi didefinisikan terlebih dahulu dalam bentuk konsep. Abstraksi tidak dapat langsung digunakan tetapi harus dijalankan apabila telah diturunkan ke sebuah kelas.

Contoh :

abstraksi

abstraksi

8. Enkapsulasi (Encapsulation)
Enkapsulasi merupakan satu kesatuan dari variabel dan method yang terdapat pada objek. Dimana variabel atau methode yang didalamnya dapat dispesifikasikan ijin penggunaannya.

Antara lain :
– Private
Variabel atau method hanya dapat diakses oleh objek itu saja.

– Public
Variabel atau method dapat diakses oleh objek itu sendiri dan objek lainnya

– Protected
Variabel dan method dapat diakses oleh objek itu sendiri dan turunannya.

9. Polimorpisme (Polymorphism atau Sub Type)
Seorang pembuat program dapat memanggil sebuah kelas layaknya orang tua dari kelas tersebut.

Contoh :
PersegiPanjang pp = new PersegiPanjang
Titik ttk = pp;

Maksud pada 2 baris perintah diatas adalah
–          Instan pp merupakan objek kelas PersegiPanjang PersegiPanjang dimana pp dibentuk oleh konstruktor Persegipanjang();
–          Instan ttk merupakan objek kelas Titik
–          Instan ttk dibentuk dari instan pp yang merupakan turunan dari pp (Polimorphisme)
–          Nilai instan ttk sama dengan instan pp
–          Nilai instan pp yang dianggap pada instan ttk adalah x,y. Sedangkan panjang dan lebar diabaikan.

This entry was posted in Pemograman and tagged , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , . Bookmark the permalink.

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