Anda di halaman 1dari 5

Pengertian PBO (Pemrograman berorientasi objek)

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-kelas atauobjek-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 fungsional yang 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.

Anda mungkin juga menyukai