Konsep Dasar OOP Object Oriented Programming
- Pengertian Pemrograman berbasis objek (Object Oriented Programming atau OOP) adalah sebuah tata cara pembuatan program (programming paradigm) dengan menggunakan konsep “objek” yang memiliki data (atribut yang menjelaskan tentang objek) dan prosedur (function) yang dikenal dengan method. (http://en.wikipedia.org/wiki/Object-oriented_programming) Object Oriented Programming adalah pemrograman yang berorientasi kepada objek (dapat meninjau objek), dimana semua data atribut, method dan fungsi dibungkus dalam class-class atau object-object sehingga setiap object dapat menerima pesan, memproses data, mengirim, menyimpan dan memanipulasi data. Dengan OOP ini programmer lebih mudah berpikir karena memiliki gaya berpikir tentang objek-objek didunia nyata.
- Konsep Dasar
- Class Class merupakan struktur dasar dalam OOP yang didefinisikan sebagai blueprint, deskripsi, atau definisi untuk sebuah object (hasil cetakan class adalah object). Kita dapat menggunakan class yang sama untuk membuat banyak object. Analoginya, class bisa diibaratkan sebagai Buah sebut saja Kelas Buah yang mempunyai karakteristik seperti Nama Buah, Warna Buah, Rasa Buah. Dalam hail ini class dapat dikatakan sebagai deskripsi umum suatu objek. Didalam pemrograman class dapat berupa koneksi_database dan profile_user.
- Object Object merupakan keturunan dari Class. Object berisi data-data yang mendefinisikan karakteristik khusus dari objek (buah) itu sendiri yang berasal dari class. Dari contoh diatas Kelas Buah dapat terbentuk beberapa class seperti Buah Apel, Warna Merah, Rasa Manis. Buah Pisang, Warna Kuning, Rasa Asin. Object terbagi atas 2, yaitu:
- Property Property (attribute) adalah definisi dari tipe data yang terdapat dalam class. Dari analogi diatas tentang Kelas Buah Attributenya adalah Buah Apel, Warna Merah, Rasa Manis
- Method Method (behavior) adalah tindakan atau operasi yang dilakukan dalam class. Method pada dasarnya adalah function yang berada di dalam class. Seluruh fungsi dan sifat function bisa diterapkan kedalam method, seperti argumen/parameter, mengembalikan nilai (dengan keyword return), etc. Sebuah class tidak harus mempunyai method.
- Abstraksi
- Pengkapsulan (Encapsulation) Mengkombinasikan suatu struktur dengan fungsi yang memanipulasinya untuk membentuk tipe data baru yaitu class. Encapsulation 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. Dalam encapsulation, object memungkinkan para programer untuk menggunakan kembali kode-kode yang pernah ditulis (re-used).
- Pewarisan (Inheritance) Mendefinisikan suatu class dan kemudian menggunakannya untuk membangun hierarki (urutan/tingkatan) clas turunan, dimana masing-masing turunan mewarisi semua akses kode maupun data class dasarnya. Objek didefinisikan dan diciptakan dengan jenis khusus dari objek yang sudah ada. Objek-objek ini dapat membagi dan memperluas perilaku mereka tanpa harus mengimplementasi ulang perilaku tersebut. Suatu class dapat diciptakan berdasarkan class lain. Class baru ini mempunyai sifat-sifat yang sama dengan class pembentuknya, ditambah sifat-sifat khusus lainnya. Dengan Inheritance kita dapat menciptakan class baru yang mempunyai sifat sama dengan class lain tanpa harus menulis ulang bagian-bagian yang sama. Pewarisan merupakan unsur penting dalam pemrograman berorientasi objek dan merupakan blok bangunan dasar pertama penggunaan kode ulang (code reuse). Data dan fungsi yang dapat diwariskan hanya yang bersifat public dan protected. Untuk data dan fungsi private tetap tidak dapat diwariskan. Hal ini disebabkan sifat protected yang hanya dapat diakses dari dalam class saja. Sifat pewarisan ini menyebabkan class-class dalam pemrograman berorientasi objek membentuk hierarki class mulai dari class dasar, class turunan pertama, class turunan kedua,dst. Imagination: hierarki class unggas: Class dasar: Unggas Sifat class dasar unggas Bertelur dan Bersayap Class turunan pertama: Ayam, Burung, Bebek Ketiganya mewarisi sifat class dasar Unggas yaitu Bertelur dan Bersayap. Sifat class turunan pertama memiliki sifat khusus masing-masing, yaitu Ayam Berkokok, Burung Terbang, Bebek Berenang. Class turunan kedua: Ayam Kampung dan Ayam Hutan Keduanya mewarisi sifat class turunan pertama Ayam Berkokok. Sifat class turunan kedua memiliki sifat khusus masing-masing, yaitu Ayam Kampung Berkokok Long and Smooth dan Ayam Hutan Berkokok Short and Hard, untuk hierarki Burung dan bebek yang selanjutnya tidak perlu di jelaskan. Setidaknya kita hanya perlu tahu proses dari inheritance. NB: Salah-satu Programming language yang memiliki sifat ini adalah Javascript yang juga menjadi alasan mengapa mymelody13 membahas tentang OOP Ini. Bahasa Pemrograman yang berbasis OOP tidak selalu memiliki Inheritance.
- Polimorphisme (Polymorphism) Memberikan satu aksi untuk satu nama yang dipakai bersama pada satu hierarki class, dimana masing-masing class hierarki menerapkan cara yang sesuai dengan dirinya. 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 pesan tersebut dikirim. Imagination: bila sebuah burung menerima pesan "gerak cepat", dia akan menggerakan sayapnya dan terbang. Bila seekor singa menerima pesan yang sama, dia akanmenggerakkan kakinya dan berlari. Keduanya menjawab sebuah pesan yang sama, namun dengan action yang berbeda sesuai kemampuan hewan tersebut. Ini disebut polimorfisme karena sebuah variabel tunggal 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 class pertama.
Thanks for reading and see you...
Thanks To:
wikipedia
arif-imk
</ html>
yuhuu..bermanfaat min
ReplyDeleteSolder uap
ok min, makasih
ReplyDeleteLampu servis hp
yuhuu, bermanfaat sekali
ReplyDeleteSolder uap
terimakasih atas infonya
ReplyDeleteSolder uap