Konsep Dasar OOP Object Oriented Programming



Object orinted programming by mymelody13



  1. Pengertian
  2. 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.
  3. 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.
      Cara Kerja Class dan Object merupakan dasar dari modularitas dan struktur dalam sebuah program komputer berorientasi objek (OOP). Secara singkat Class (Kelas Buah) dilengkapi dengan property (Buah Apel Warna Merah, Rasa Manis) dan method (Bertumbuh, Mati,etc atau biasa disebut tingkah laku dari objek). Jadi, Class inilah yang berisi informasi umum suatu objek dan didefinisikan oleh Object yang berisi informasi khusus dari suatu objek yang terletak diclass. NB: Maksud penulisan mymelody13: OBJEK=BUAH dan OBJECT=PROPERTY AND METHOD.
    • Abstraksi
    Abstraksi merupakan kemampuan suatu program melewati aspek informasi yang diproses, 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. Ada 3 cara untuk mengembangkan proses pengabstrakan:
    • 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.
    Dengan menggunakan OOP maka dalam melakukan pemecahan suatu masalah kita tidak melihat bagaimana cara menyelesaikan suatu masalah (terstruktur) tetapi objek-objek apa yang dapat melakukan pemecahan masalah tersebut. For example: Bayangkan kita memiliki sebuah perusahaan yang memiliki manager, sekretaris, petugas administrasi data,etc. Jika manager tersebut ingin memperoleh data dari bagian administrasi maka manager tersebut tidak harus mengambilnya langsung tetapi dapat menyuruh petugas bagian 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 administrasi. Jadi, konsep OOP ini berfungsi untuk menyelesaikan suatu masalah dengan kolaborasi antar objek dengan objek yang ada, karena setiap objek memiliki job descriptionnya sendiri. Bahasa pemrograman yang mendukung OOP Java, C++, Pascal, Ruby, Python, PHP, JavaScrpit,etc. Cara mendeclarationkan OOP kedalam bahasa pemrograman berbeda satu sama lain.

Thanks for reading and see you...

Thanks To:

wikipedia

arif-imk

</ html>

4 Responses to "Konsep Dasar OOP Object Oriented Programming"

Silahkan tinggalkan jejak!

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel 2

Iklan Bawah Artikel