Pemrograman berorientasi objek
Pemrograman berorientasi
objek (Inggris: object-oriented programmingdisingkat OOP)
merupakan paradigma pemrograman yang berorientasikan kepada objek. Semua data
dan fungsi di dalam paradigma ini dibungkus dalam kelas-kelasatau objek-objek.
Bandingkan dengan logika pemrograman terstruktur. Setiap objek dapat menerima
pesan, memproses data, dan mengirim pesan ke objek lainnya,
Model data berorientasi
objek dikatakan dapat memberi fleksibilitas yang lebih, kemudahan mengubah
program, dan digunakan luas dalam teknik piranti lunak skala 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
Konsep dasar
·
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 dan struktur 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
izin 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 fungsionalyang
mencapai polimorfisme melalui penggunaan fungsi kelas-pertama.
·
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
Bahasa pemrograman yang
mendukung OOP antara lain:
1.
Visual Foxpro
2.
Java adalah bahasa pemrograman
yang dapat dijalankan di berbagai komputer termasuk telepon genggam. Bahasa ini
awalnya dibuat oleh James Gosling saat masih bergabung di Sun Microsystems saat
ini merupakan bagian dari Oracle dan dirilis tahun 1995. Bahasa ini banyak
mengadopsi sintaksis yang terdapat pada C dan C++ namun dengan sintaksis model
objek yang lebih sederhana serta dukungan rutin-rutin aras bawah yang minimal.
Aplikasi-aplikasi berbasis java umumnya dikompilasi ke dalam p-code (bytecode)
dan dapat dijalankan pada berbagai Mesin Virtual Java (JVM). Java merupakan
bahasa pemrograman yang bersifat umum/non-spesifik (general purpose),
dan secara khusus didisain untuk memanfaatkan dependensi implementasi seminimal
mungkin. Karena fungsionalitasnya yang memungkinkan aplikasi java mampu
berjalan di beberapa platform sistem operasi yang berbeda, java dikenal pula
dengan slogannya, "Tulis sekali, jalankan di mana pun". Saat
ini java merupakan bahasa pemrograman yang paling populer digunakan, dan secara
luas dimanfaatkan dalam pengembangan berbagai jenis perangkat lunak aplikasi
ataupun aplikasi berbasis web.
3.
C++ adalah bahasa pemrograman
komputer yang di buat oleh (Bjarne Stroustrup) merupakan perkembangan dari
bahasa C dikembangkan di Bell Labs (Dennis Ritchie) pada awal
tahun 1970-an, Bahasa itu diturunkan dari bahasa sebelumnya, yaitu BCL, Pada
awalnya, bahasa tersebut dirancang sebagai bahasa pemrograman yang dijalankan
pada sistem Unix, Pada perkembangannya, versi ANSI (American National Standart
Institute) Bahasa pemrograman C menjadi versi dominan, Meskipun versi tersebut
sekarang jarang dipakai dalam pengembangan sistem dan jaringan maupun untuk
sistem embedded, Bjarne Stroustrup pada Bel labs pertama kali mengembangkan C++
pada awal 1980-an, Untuk mendukung fitur-fitur pada C++, dibangun efisiensi dan
sistem support untuk pemrograman tingkat rendah (low level coding). Pada C++
ditambahkan konsep-konsep baru seperti class dengan sifat-sifatnya seperti
inheritance dan overloading. Salah satu perbedaan yang paling mendasar dengan
bahasa C adalah dukungan terhadap konsep pemrograman berorientasi objek (Object
Oriented Programming). Perbedaan Antara Bahasa pemrograman C dan C++ meskipun
bahasa-bahasa tersebut menggunakan sintaks yang sama tetapi mereka memiliki
perbedaan, C merupakan bahasa pemrograman prosedural, dimana penyelesaian suatu
masalah dilakukan dengan membagi-bagi masalah tersebut kedalam su-submasalah
yang lebih kecil, Selain itu, C++ merupakan bahasa pemrograman yang memiliki
sifat Pemrograman berorientasi objek, Untuk menyelesaikan masalah, C++
melakukan langkah pertama dengan menjelaskan class-class yang merupakan anak
class yang dibuat sebelumnya sebagai abstraksi dari object-object fisik, Class
tersebut berisi keadaan object, anggota-anggotanya dan kemampuan dari
objectnya, Setelah beberapa Class dibuat kemudian masalah dipecahkan dengan
Class.
4.
Pascal (bahasa pemrograman) adalah
bahasa pemrograman yang pertama kali di buat oleh Profesor Niklaus 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.
5.
SIMULA
6.
Smalltalk adalah
bahasa pemrograman berorientasi objek yang dikembangkan oleh Xerox
PARC.
7.
Ruby
8.
Python adalah bahasa pemrograman
interpretatif multiguna dengan filosofi perancangan yang berfokus pada tingkat
keterbacaan kode. Python diklaim sebagai bahasa yang menggabungkan kapabilitas,
kemampuan, dengan sintaksis kode yang sangat jelas, dan dilengkapi dengan
fungsionalitas pustaka standar yang besar serta komprehensif. Python mendukung
multi paradigma pemrograman, utamanya; namun tidak dibatasi; pada pemrograman
berorientasi objek, pemrograman imperatif, dan pemrograman fungsional.
Salah satu fitur yang tersedia pada python adalah sebagai bahasa pemrograman
dinamis yang dilengkapi dengan manajemen memori otomatis. Seperti halnya pada
bahasa pemrograman dinamis lainnya, python umumnya digunakan sebagai bahasa
skrip meski pada praktiknya penggunaan bahasa ini lebih luas mencakup konteks
pemanfaatan yang umumnya tidak dilakukan dengan menggunakan bahasa skrip.
Python dapat digunakan untuk berbagai keperluan pengembangan perangkat lunak
dan dapat berjalan di berbagai platform sistem operasi.
9.
PHP adalah
bahasa skrip yang dapat ditanamkan atau disisipkan ke dalam HTML. PHP banyak
dipakai untuk memrogram situs web dinamis. PHP dapat digunakan untuk membangun
sebuah CMS.
10.
C#
11.
Delphi adalah sebuah Lingkungan
pengembangan terpadu (IDE) untuk mengembangkan aplikasi konsol, desktop, web,
ataupun perangkat mobile. Produk ini pada awalnya dikembangkan oleh CodeGear
sebagai divisi pengembangan perangkat lunak milik Embarcadero, divisi tersebut
sebelumnya adalah milik Borland. Bahasa Delphi, atau dikenal pula 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 Mac OS X, iOS, Microsoft .NET
framework (lihat di bawah). Pada tanggal 8 Februari 2006, Borland mengumumkan
akan melepas seluruh jajaran produk pengembangan aplikasi komputernya termasuk
di antaranya Delphi, untuk itulah Borland membentuk perusahaan baru dengan nama
CodeGear sehingga terpisah dari Borland. Saat ini Delphi menjadi bagian dari
jajaran IDE milik Embarcadero Technologies setelah Embarcadero Technologies
mengakuisisi CodeGear. Hal ini disebabkan karena kerugian yang terus menerus
selama 2006 rugi bersih sebesar $53.1 juta, 2007 rugi bersih $61 juta. Sehingga
pada tahun 2008 saat CodeGear menderita rugi bersih $22.3 maka CodeGear dijual
ke Embarcadero seharga $23 juta untuk menutupi rugi bersih ini.
12.
Eiffel
13.
Perl adalah
bahasa pemrograman untuk segala keperluan, dikembangkan pertama kali oleh Larry
Wall di mesin Unix. Perl dirilis pertama kali pada tanggal 18 Desember 1987
ditandai dengan keluarnya Perl 1. Pada versi-versi selanjutnya, Perl tersedia
pula untuk berbagai sistem operasi varian Unix (SunOS, Linux, BSD, HP-UX), juga
tersedia untuk sistem operasi seperti DOS, Windows, PowerPC, BeOS, VMS, EBCDIC,
dan PocketPC. Dukungan terhadap pemrograman berbasis obyek (object oriented
programming/OOP) ditambahkan pada Perl 5, yang pertama kali dirilis
pada tanggal 31 Juli 1993. Proyek pengembangan Perl 6 dimulai pada tahun 2000,
dan masih berlangsung hingga kini tanpa tanggal yang jelas kapan mau dirilis.
Ini dikatakan sendiri oleh Larry Wall dalam satu pidatonya yang dikenal dengan
seri The State of the Onion. Dua di antara karakteristik utama Perl
adalah penanganan teks dan berbagai jalan pintas untuk menyelesaiakn
persoalan-persoalan umum. Tidak heran jika Perl sangat populer digunakan dalam
program-program CGI (Common Gateway Interface) dan berbagai protokol
Internet lainnya. Seperti diketahui, TCP/IP sebagai basis bagi semua protokol
Internet yang dikenal sekarang ini menggunakan format teks dalam komunikasi
data. Seperti juga bahasa populer lainnya, Perl menerima banyak kritikan. Meski
banyak di antaranya hanya berupa mitos, atau berlebih-lebihan, tapi terdapat
juga sejumlah kritikan yang valid. Salah satunya adalah, sintaksnya susah
dibaca, karena banyak menggunakan simbol-simbol yang bukan huruf dan angka.
14.
Adobe Flash AS 3.0
sumber :
http://id.wikipedia.org/wiki/Pemrograman_berorientasi_objek
0 komentar:
Posting Komentar