Object Oriented Programming (OOP)
SEJARAH OOP
Konsep OOP dimulai pertengahan 1960-an dengan sebuah bahasa
programSIMULASMALLTALK. Meskipun developer software tidak secara intensif
mengembangkan OOP, tetapi metodologi object-oriented tetap digunakan sampai
sekarang. kemudian dilanjutkan di era 70-an dengan Pada pertengahan 80-an,
bahasa OOP seperti C++ dan Eifle menjadi popular diantara programmer komputer.
Popularitas OOP berlanjut pada tahun 90-an, banyak pengembang perangkat lunak
menggunakan konsep OOP seperti yang dilakukan pada Java dan kemudian PHP yang
menjadi popular sekarang. Di tahun 2002, versi terakhir dari Visual Studio,
Microsoft-pun ikut memperkenalkan bahasa OOP baru yaitu C#(dibaca C-sharp)
serta penyempurnaan Visual Basic 6.0 yang tidak mendukung OOP menjadi VB.NET
sebagai
bahasa pemrograman berorientasi objek.
Pengertian Object Oriented Programming (OOP)
Pemrograman berorientasi Objek yang dalam istilah Inggris
disebut sebagai Object Oriented Programming (disingkat OOP) adalah salah satu
pendekatan pemrograman atau paradigma untuk pengembangan / development suatu
perangkat lunak komputer dimana dalam struktur perangkat lunak tersebut
didasarkan kepada interaksi objek dalam penyelesaian suatu proses / tugas. Jika
kita mencoba melihat bagaimana tugas disekitar kita diselesaikan, kita akan
mengetahui bahwa kita berinteraksi dalam sebuah object-oriented world. Jika
akan bepergian kita pasti berinteraksi dengan objek mobil. Sebagai sebuah
objek, mobil berisi objek-objek lain yang berinteraksi untuk melakukan tugasnya
membawa kita.
Pemrograman ini mempertinggi kualitas dan produktifitas pengembangan
software. Program pengembangannya dilakukan dengan pendekatan building block.
Setiap block, disebut object, bersifat independen dan mampu berjalan sendiri
atau saling kunci dengan object lain dengan mudah dan otomatis. Object-object
berinteraksi dengan saling memberikan informasi satu terhadap yang lainnya.
Masing-masing object harus berisikan informasi mengenai dirinya sendiri
(encapsulation) dan object yang dapat dikaitkan (inheritan).
Model data berorientasi objek dikatakan dapat memberi fleksibilitas
yang lebih, kemudahan mengubah program, dan digunakan luas dalam teknik piranti
lunakskala besar. Lebih jauh lagi, pendukung OOP mengklaim bahwa OOP lebih
mudah dipelajari bagi pemula dibanding dengan pendekatan sebelumnya, dan
pendekatan OOP lebih mudah dikembangkan dan dirawat.
KARAKTERISTIK OOP
Pemrograman orientasi-objek menekankan konsep berikut:
• • kelas —
kumpulan atas definisi data dan fungsi-fungsi dalam suatu unit untuk suatu
tujuan tertentu. Sebagai contoh ‘class of dog’ adalah suatu unit yang terdiri
atas definisi-definisi data dan fungsi-fungsi yang menunjuk pada berbagai macam
perilaku/turunan dari anjing. 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.
• • Objek –
membungkus data dan fungsi bersama menjadi suatu unit dalam sebuah program
komputer; objek merupakan dasar dari modularitas danstruktur dalam sebuah
program komputer berorientasi objek.
• •
Abstraksi – Kemampuan sebuah program untuk melewati aspek informasi yang
diproses olehnya, yaitu kemampuan untuk memfokus pada inti. Setiap objek dalam
sistem melayani sebagai model dari “pelaku” abstrak yang dapat melakukan kerja,
laporan dan perubahan keadaannya, dan berkomunikasi dengan objek lainnya dalam
sistem, tanpa mengungkapkan bagaimana kelebihan ini diterapkan. Proses, fungsi
atau metode dapat juga dibuat abstrak, dan beberapa teknik digunakan untuk
mengembangkan sebuah pengabstrakan.
• •
Enkapsulasi – 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.
• •
Polimorfisme melalui pengiriman pesan. Tidak bergantung kepada pemanggilan
subrutin, bahasa orientasi objek dapat mengirim pesan; metode tertentu yang
berhubungan dengan sebuah pengiriman pesan tergantung kepada objek tertentu di
mana pesa tersebut dikirim. Contohnya, bila sebuah burung menerima pesan “gerak
cepat”, dia akan menggerakan sayapnya dan terbang. Bila seekor singa menerima
pesan yang sama, dia akan menggerakkan kakinya dan berlari. Keduanya menjawab
sebuah pesan yang sama, namun yang sesuai dengan kemampuan hewan tersebut. Ini
disebut polimorfisme karena sebuah variabel tungal dalam program dapat memegang
berbagai jenis objek yang berbeda selagi program berjalan, dan teks program
yang sama dapat memanggil beberapa metode yang berbeda di saat yang berbeda
dalam pemanggilan yang sama. Hal ini berlawanan dengan bahasa fungsional yang
mencapai polimorfisme melalui penggunaan fungsi kelas-pertama.
• •
Inheritas- 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 (bahasa berbasis-objek tidak selalu
memiliki inheritas.)
• • 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.
Bahasa pemrograman yang mendukung OOP:
1. Java
OOP (Object Oriented Programming – Pemrogram Berorientasi Objek)
yang artinya semua aspek yang terdapat di Java adalah Objek. Java merupakan
salah satu bahasa pemrograman berbasis oebjek secara murni. Semua tipe data
diturunkan dari kelas dasar yang disebut Object. Hal ini sangat memudahkan
pemrogram untuk mendesain, membuat, mengembangkan dan mengalokasi kesalahan
sebuah program dengan basis Java secara cepat, tepat, mudah dan terorganisir.
Kelebihan ini menjadikan Java sebagai salah satu bahasa pemograman termudah,
bahkan untuk fungsi fungsi yang advance seperti komunikasi antara komputer
sekalipun.
2. Pascal (bahasa pemrograman)
Pascal adalah bahasa pemrograman yang pertama kali di buat
oleh ProfesorNiklaus Wirth, seorang anggota International Federation of
Information Processing (IFIP) pada tahun 1971. Dengan mengambil nama dari
matematikawan Perancis,Blaise Pascal, yang pertama kali menciptakan mesin
penghitung, Profesor Niklaus Wirth membuat bahasa Pascal ini sebagai alat bantu
untuk mengajarkan konsep pemrograman komputer kepada mahasiswanya. Selain itu,
Profesor Niklaus Wirth membuat Pascal juga untuk melengkapi
kekurangan-kekurangan bahasa pemrograman yang ada pada saat itu.
3. C++
C++ adalah salah satu bahasa pemrograman komputer. Dibuat
pada tahun1980-an oleh Bell Labs (Bjarne Stroustrup) sebagai pengembangan dari
Bahasa pemrograman C. Salah satu perbedaan yang paling mendasar dengan bahasa C
adalah dukungan terhadap konsep pemrograman berorientasi objek (Object Oriented
Programming).
4. Microsoft Visual Basic .NET
Microsoft Visual Basic .NET adalah sebuah alat untuk
mengembangkan dan membangun aplikasi yang bergerak di atas sistem .NET
Framework, dengan menggunakan bahasa BASIC. Dengan menggunakan alat ini, para
programmerdapat membangun aplikasi Windows Forms, Aplikasi web berbasis
ASP.NET, dan juga aplikasi command-line. Alat ini dapat diperoleh secara
terpisah dari beberapa produk lainnya (seperti Microsoft Visual C++, Visual C#,
atau Visual J#), atau juga dapat diperoleh secara terpadu dalam Microsoft
Visual Studio .NET. Bahasa Visual Basic .NET sendiri menganut paradigma bahasa
pemrograman berorientasi objek yang dapat dilihat sebagai evolusi dari
Microsoft Visual Basicversi sebelumnya yang diimplementasikan di atas .NET
Framework. Peluncurannya mengundang kontroversi, mengingat banyak sekali
perubahan yang dilakukan oleh Microsoft, dan versi baru ini tidak kompatibel
dengan versi terdahulu.
5. Ruby
Ruby adalah bahasa pemrograman scripting yang berorientasi
obyek. Tujuan dari ruby adalah menggabungkan kelebihan dari semua bahasa-bahasa
pemrograman scripting yang ada di dunia. Ruby ditulis dengan bahasa pemrograman
C dengan kemampuan dasar seperti Perl dan Python.
6. Python
Python adalah bahasa pemrograman model skrip (scripting
language) yang berorientasi obyek. Python dapat digunakan untuk berbagai
keperluan pengembangan perangkat lunak dan dapat berjalan di berbagai platform
sistem operasi
7. PHP
PHP adalah bahasa pemrograman script yang paling banyak
dipakai saat ini. PHP banyak dipakai untuk memrogram situs web dinamis,
walaupun tidak tertutup kemungkinan digunakan untuk pemakaian lain
8. C# adalah Java
versi Microsoft, sebuah bahasa multi flatform yang didesain untuk bisa berjalan
di berbagai mesin. C# adalah pemrograman berorientasi Object (OOP). C# memiliki
kekuatan
bahasa C++ dan portabilitas seperti Java.
9. Delphi
Delphi adalah sebuah bahasa pemrograman dan lingkungan
pengembanganperangkat lunak. Produk ini dikembangkan oleh Borland (sebelumnya
dikenal sebagai Inprise). Bahasa Delphi, yang sebelumnya dikenal sebagai object
pascal(pascal dengan ekstensi pemrograman berorientasi objek (PBO/OOP)) pada
mulanya ditujukan hanya untuk Microsoft Windows, namun saat ini telah mampu
digunakan untuk mengembangkan aplikasi untuk Linux dan Microsoft .NETframework
(lihat di bawah). Dengan menggunakan Free Pascal yang merupakan proyek
opensource, bahasa ini dapat pula digunakan untuk membuat program yang berjalan
di sistem operasi Mac OS X dan Windows CE
Komentar
Posting Komentar