Just for share Sains
1 2 3 4 5

Minggu, 27 Maret 2011

Object Oriented Program

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), walaupun masing-masing Konsep dari OOP :

1. Objek (Object)

Objek merupakan entitas yang merupakan rangkaian dari perintah-perintah seperti nilai (value), variable, fungsi ataupun data struktur.

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 method atau aksi atau operasi.

3. Instan (Instance)

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

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.

6. Turunan (Inheritance)

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

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.

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 dan method hanya dapat diakses oleh objek itu saja.

- Public

Variabel dan method dapat diakses oleh objek itu sendiri dan objek lainnya- ProtectedVariabel 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.

Http://en.wikipedia.orf/wiki.Object-oriented_programming