Minggu, 25 September 2011

Pemrograman Berorientasi Obyek


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.
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