Pemrograman Berorientasi Objek dimulai pertama kali dengan bahasa Simula yang dikembangkan di Scandinavia di pertengahan tahun 60-an. Simula utamanya digunakan untuk pemrograman simulasi, dimana adalah alamiah untuk memodelkan suatu entitas eksternal / diluar sistem perangkat lunak dan untuk memilih istilah-istilah untuk entitas-entitas tersebut dan tingkah lakunya. Semula memiliki sintak yang mirip dengan Pascal, tetapi programmer berfikir sedikit lebih berbeda ketika merancang suatu program yang akan dibuat dengan Simula.
Sebuah ide dasar yang diperkenalkan dalam Simula adalah inheritance (pewarisan). Dalam Simula juga sudah dikenal objek (entitas) yang ada dalam sistem yang dimodelkan. Ada beberapa objek yang dikumpulkan kemudian disebut ”Class”, dan tugas utama dari seorang perancang program dengan Simula adalah menentukan behaviour dari class tersebut.
Setelah Simula, bahasa berikutnya yang diketahui mendukung untuk mengadopsi pemrograman berorientasi objek adalah Smalltalk yang dikembangkan tahun 70-an di Xerox PARC. Simula dan Smalltalk dirancang secara elegan, dan menawarkan sejumlah konep yang powerful yang memudahkan untuk dipelajari.
Pemrograman Berbasis Objek adalah program yang paling popular dalam rekayasa perangkat lunak pada saat ini. OOP memebuat pengembangan perangkat lunak secara modular yang berarti system dapat dikembangkan tahap demi tahap tanpa banyak mengubah fondasi perangkat lunak yang sudah ada. Konsep utama OOP yaitu melakukan permodelan objek dari kehidupan nyata ke dalam tipe data abstrak.
B. Pemrograman Prosedural
• Diselesaikan dalam bentuk prosedur
atau fungsi
• Program merupakan urut-urutan
instruksi
• Program dipecah-pecah ke dalam sub
program yang lebih sederhana
• Fokus utama pada prosedur dan fungsi
• Fungsi dan prosedur digunakan untuk
memanipulasi data
• Sedangkan data sendiri bersifat pasif
Pemrograman Berbasis Obyek
• Fungsi dan data menjadi satu
kesatuan yang disebut obyek
• Obyek-obyek dalam OOP bersifat
aktif
• Cara pandang : program bukan
urut-urutan instruksi tapi
diselesaikan oleh obyek-obyek
yang bekerjasama untuk
menyelesaikan masalah
Beda nyata antara prosedural dan OOP
• Prosedural
Fokus pada bagaimana cara
komputer menangani masalah
• OOP
Fokus pada masalah yang
ditangani dengan menggunakan
komputer
Karakteristik OOP
• Suatu program disebut dengan
pemrograman berbasis obyek
(OOP) karena terdapat :
– Encapsulation (pembungkusan)
– Inheritance (pewarisan)
– Polymorphism (polimorfisme)