OOP adalah sebuah pemrograman yang
menggunakan "Objek" - struktur data yang
terdiridaridatafieldsdanmetodebersamadenganinteraksimereka -
untuk merancang aplikasi dan program komputer.Teknik pemrograman dapat mencakup fitur seperti menyembunyikani nformasi,
data abstraksi, enkapsulasi, modularitas, polimorfisme,
danpewarisan.Itu tidak umum digunakan dalam pengembangan aplikasi perangkat lunak arus utama.Banyak
modern bahasa pemrograman sekarang mendukung OOP
Pemrograman berorientasi obyek dikembangkan sebagai metodologi pemrograman
yang dominan selama pertengahan 1990-an, sebagian besar disebabkan oleh
pengaruh C + +. Dominasinya itu makin diperkuat oleh meningkatnya popularitas
dari antarmuka pengguna grafis, yang pemrograman berorientasi obyek tampaknya
cocok. Contoh dari GUI dinamis terkait erat dengan perpustakaan dan bahasa OOP
dapat ditemukan di Kakao kerangka kerja di Mac OS X, yang ditulis di
Objective-C, sebuah object-oriented, dinamis ekstensi pesan ke C didasarkan pada
Smalltalk. OOP toolkit juga meningkatkan popularitas pemrograman kendali-event
(walaupun konsep ini tidak terbatas pada OOP). Sebagian merasa bahwa asosiasi
dengan GUI (nyata atau tidak) adalah apa yang didorong ke dalam pemrograman OOP
arus utama.
Sama seperti pemrograman prosedural mengarah pada perbaikan teknik seperti
pemrograman terstruktur, modern berorientasi objek metode desain perangkat
lunak mencakup perbaikan seperti penggunaan pola desain, design by kontrak, dan
pemodelan bahasa (seperti UML). OOPS istilah yang mengacu pada sebuah bject o-o
riented p rogramming system, adalah umum terjadi di awal pengembangan
pemrograman berorientasi obyek.
Ada beberapa upaya memformalkan konsep-konsep yang digunakan dalam
pemrograman berorientasi obyek. Berikut konsep dan konstruksi telah digunakan
sebagai interpretasi dari konsep OOP:
·
tipe
data abstrak (yang memiliki jenis eksistensial) memungkinkan definisi modul
tetapi ini tidak mendukung pengiriman dinamis
·
rekursif
jenis
·
catatan
adalah dasar untuk memahami objek jika fungsi literal dapat disimpan dalam
bidang-bidang (seperti dalam bahasa pemrograman fungsional), tetapi perlu
kalkuli sebenarnya jauh lebih kompleks untuk memasukkan fitur-fitur penting
dari OOP.
Bahasa OOP
Simula (1967) secara umum diterima sebagai bahasa pertama untuk memiliki
fitur-fitur utama dari sebuah bahasa berorientasi objek. Hal ini diciptakan
untuk membuat program simulasi, di mana apa yang kemudian disebut objek adalah
representasi informasi yang paling penting. Smalltalk (1972-1980) adalah dapat
dikatakan sebagai contoh kanonik, dan satu dengan yang banyak teori pemrograman
berorientasi objek adalah dikembangkan.
·
Bahasa
disebut "murni" OO bahasa, karena segala sesuatu di dalamnya
diperlakukan secara konsisten sebagai sebuah objek, dari primitif seperti
karakter dan tanda baca, sepanjang jalan sampai ke seluruh kelas, prototip,
blok, modul, dll Mereka dirancang secara khusus untuk memfasilitasi, bahkan
menegakkan, metode OO. Contoh: Smalltalk, Eiffel, Ruby, JADE
·
Bahasa
dirancang terutama untuk pemrograman OO, tapi dengan beberapa elemen
prosedural. Contoh: C + +, Java, Python.
·
Bahasa
yang secara historis bahasa prosedural, tetapi telah diperluas dengan beberapa
fitur OO. Contoh: Fortran 2003, Perl, COBOL 2002.
·
Bahasa
dengan sebagian besar fitur objek (kelas, metode, warisan, usabilitas), tapi
dalam bentuk aslinya jelas. Contoh: Oberon (Oberon-1 atau Oberon-2).
·
Bahasa
dengan tipe data abstrak dukungan, tetapi tidak semua fitur object-orientasi,
kadang-kadang disebut objek berbasis bahasa. Contoh: Modula-2 (dengan sangat
baik dan informasi enkapsulasi menyembunyikan), liat, CLU.
Konsep object
oriented memiliki karakteristik utama yaitu :
1. Enkapsulasi, sebuah prinsip yang digunakan
ketika membangun struktur program secara keseluruhan yang mana setiap komponen
dari program dibungkus, pembungkusan properti dan operasi dalam satu even.
Secara simple dapat kita katakan bahwa kita menyembunyikan keruwetan kode-kode
program dalam suatu object.
2.
Polimorphism, suatu kondisi dimana dua object atau lebih mempunyai antarmuka
yang identik namun mempunyai perilaku berbeda.
3. Inheritance (pewarisan), merupakan sarana
untuk menghilangkan penulisan ulang terhadap kode yang dapat digunakan berulang
kali yang didasarkan pada hubungan relasional hirarki.
Sebelum kita
memasuki dalam bahasa pemrograman, sebaiknya ada beberapa hal yang kita selalu
kita ingat dan kita pegang :
1. Program yang akan kita buat adalah terdiri
dari sekumpulan object yang saling berinteraksi/ saling mengirimkan pesan.
Misalnya kita asumsikan program kita adalah sebuah mobil, dan bagian-bagian
dari mobil tersebut adalah object-object (mesin, rangka mobil dan lain
sebagainya) yang saling berhubungan dan menjadi satu kesatuan yang membangun
mobil tersebut
2.
Berfikirlah
object sebagai tipe “data buatan” (seperti struct, Enum). Namun tipe “data
buatan” ini memiliki kelebihan yaitu dapat menyimpan informasi (sebagai
property) dan juga dapat melakukan “aktivitas” (sebagai method/ fungsi)
Setiap object memiliki “tipe” tersendiri. Tipe disini
dimaksudkan agar kita dapat mengetahui “pesan” apa yang dapat kita kirimkan
terhadap object tersebut. Atau dengan kata lain dengan mengetahui “tipe” suatu
object kita dapat memanggil fungsi yang terdapat didalamnya ataupun informasi
yang disimpan oleh object tersebut
Dalam beberapa tahun terakhir, pemrograman berorientasi objek telah menjadi sangat populer dalam bahasa pemrograman scripting. Python, Ruby dan groovy adalah bahasa scripting yang dibangun di atas prinsip-prinsip OOP, sementara Perl dan PHP telah menambahkan fitur berorientasi objek sejak Perl 5 dan PHP 4, dan ColdFusion sejak versi 6.
Dalam beberapa tahun terakhir, pemrograman berorientasi objek telah menjadi sangat populer dalam bahasa pemrograman scripting. Python, Ruby dan groovy adalah bahasa scripting yang dibangun di atas prinsip-prinsip OOP, sementara Perl dan PHP telah menambahkan fitur berorientasi objek sejak Perl 5 dan PHP 4, dan ColdFusion sejak versi 6.
Kedua pemrograman berorientasi objek dan sistem manajemen database
relasional (RDBMSs) adalah sangat umum dalam perangkat lunak hari ini. Karena
database relasional tidak menyimpan objek secara langsung (meskipun beberapa
RDBMSs memiliki fitur berorientasi objek untuk perkiraan ini),
OOP
dapat digunakan untuk menerjemahkan dari fenomena dunia nyata untuk elemen program (dan
sebaliknya). OOP bahkan diciptakan untuk tujuan pemodelan fisikdalam Simula-67
bahasa pemrograman. Namun, tidak semua orang setuju bahwa dunia nyata langsung pemetaan
yang difasilitasi oleh OOP, atau bahkan tujuan yang berharga; Bertrand Meyer
berpendapat di Object-Oriented Software
Konstruksi bahwa program ini tidak model dunia tetapi sebuah model dari beberapa bagian dari dunia;
"Realitas adalah sepupu dua kali dihapus". Pada saat yang sama,
beberapa keterbatasan utama OOP sudah diketahui. Namun, kata NiklausWirthdari OOP
dalam akalahnya "Selamat Ide melalui Looking Glass", "erat paradigma
ini mencerminkan struktur sistem 'di dunianyata', dan oleh karena itu cocok untuk model sistem kompleks dengan perilaku kompleks".
Tidak ada komentar:
Posting Komentar