NURFITRIA'S SITE: OBJECT - ORIENTED PROGRAMMING (OOP)

Rabu, 30 Oktober 2013

OBJECT - ORIENTED PROGRAMMING (OOP)

Konsep Dasar OOP

     Pemrograman berorientasi objek (object-oriented programming disingkat OOP) merupakan paradigma pemrograman yang berorientasikan kepada objek. Semua data dan fungsi di dalam paradigma ini dibungkus dalam kelas-kelas atau objek-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.

Sumber : http://id.wikipedia.org/wiki/Pemrograman_berorientasi_objek


Pendekatan Berorientasi Object


Karakteristik yang menjadi ciri-ciri dari pendekatan berorientasi object adalah :

1.  Pendekatan lebih pada object itu sendiri yang mengkombinasikan data dan fungsionalitas dan bukan hanya pada prosedur/fungsi saja.
2.      Program besar dibagi menjadi object-object
3.     Struktur data dirancang dan menjadi karakteristik dari object-object.
4.     Fungsi-fungsi yang mengoperasikan data tergabung dalam suatu object yang sama.
5.     Data tersembunyi dan terlindung dari fungsi/prosedur yang ada di luar
6.     Object-object dapat saling berkomunikasi dengan saling mengirim message (pesan) satu sama lain.
7.     Pendekatan adalah bottom-up.


Definisi


Suatu sistem yang dibangun dengan metode berorientasi object adalah :
1.    Sebuah sistem yang komponennya di-enkapsulasi menjadi kelompok data dan fungsi, yang dapat mewarisi atribut dan sifat dari komponen lainnya dan komponen-komponen tersebut saling berinteraksi satu sama lain [Meyer,1997]

2.    Objek adalah sesuatu yang memiliki identitas (informasi tentang dirinya) dan tingkah laku (apa yang dapat dilakukan) contoh objek dalam dunia nyata adalah rumah, sepeda, motor, manusia, hewan dll. Identitas dari suatu objek adalah informasi tentang dirinnya sebagai contoh adalah objek Hewan memiliki indentas berupa nama, jenis, tangan, kaki, mata dll, tingkah laku dari objek hewan adalah berjalan, berlari, tidur dll. Untuk tingkah laku disebut sebagai methode.

*     Objek diciptakan dengan perintah new.
*    Misal akan diciptakan objek baru dari class mobil dengan nama mobilku.
*    Maka perintah penciptaan objek mobilku dari class Mobil :
*    Mobil mobilku = new Mobil();

Ciri-ciri objek:

a.      Objek memiliki status (state) dan tingkah laku (behavior).
b.      Status (state) disebut juga dengan atribut.
c.       Contoh objek: objek mobil.
d.      Atribut: merek, warna, bahan bakar.
e.      Method: pindah persnelling, kecepatan bertambah, dll.
f.  Pada OOP: status disimpan dalam variabel, dan tingkah laku disimpan dalam method.

3.  Class adalah suatu frame yang merupakan definisi yang memuat data dan metod pengolah data. Class juga dapat diartikan sebagai tempat untuk membuat obyek. Di dalam class dideklarasikan variable dan method yang dimiliki oleh obyek. Proses pembuatan obyek dari sebuah class disebut dengan instantiation. Jadi obyek merupakan hasil instansiasi dari class. Obyek disebut juga dengan instance. Class memiliki anggota yang disebut Anggota Class (class member).

Anggota Class terdiri dari :
1. Atribut
2. Method.

Tiap anggota class memiliki kontrol pengaksesan tersendiri, artinya apakah anggota tersebut dapat diakses dengan bebas (tipe public) atau hanya dapat diakses melalui sebuah interface.

Contoh:
public class ApaMotormu {
public static void main(String[] args){
Motor punyaku=new Motor();
punyaku.motorku();
}
}

Jadi pada saat runtime, yang kita punyai adalah OBJECT. Di dalam teks program, yang kita lihat hanyalah CLASS.

Karakteristik Utama dari Sistem Berorientasi Object, adalah :


1.      Enkapsulasi
Enkapsulasi atau pembungkusan atau penyembunyian informasi (data hiding) berarti meninggalkan aspek eksternal dari object yang dapat diakses oleh object lain dan memfokus diri pada implementasi internal suatu object atau mengemas suatu objek sehingga pada saat kita akan memakai objek tersebut kita tidak perlu lagi tahu tentang detail bagaimana suatu action itu terjadi. Contoh dalam hal ini, misal siswa (suatu object) sedang menulis (method). Maka detail dari tentang cara siswa itu menulis (bagaimana otot tangan itu bekerja untuk menulis, bagaimana sistem saraf pusat memerintahkan untuk menulis) kita tidak perlu mengerti. Kita hanya melihat si siswa sedang menulis.

Dua Hal dalam Enkapsulasi.
1. Information Hidding.
2. Menyediakan Perantara (method) untuk mengakses data

Contoh :
public class Siswa {
private int nrp;
public void setNRP(int n) {
nrp=n;
}
}


2.     Inheritance 
           Inheritance atau pewarisan pada dasarnya mengijinkan objek dari suatu kelas untuk mengakses data & fungsi yang termuat dalam kelas lebih dahulu terdefinisi tanpa harus mendefinisikan ulang. Banyak objects diklasifikasikan menurut hirarki. Contoh, kita dapat mengklasifikasikan sebuah mobil yang mempunyai karakteristik umumnya mobil, seperti mempunyai ban, mesin, serta body. Keturunan berikutnya diklasifikasikan dengan atribut umum seperti ukuran, jumlah roda, isi silinder dll atau mengklasifikasikan mereka atas dasar daya angkutnya. Contoh, ada kendaraan komersial atau kendaraan pribadi, ada truk atau mobil penumpang. Lalu menggunakan inheritance dalam OOP untuk mengklasifikasikan objects dalam program sesuai karakteristik umum dan fungsinya.

*     Sebuah class bisa mewariskan atribut dan method-nya ke class yang lain
*     Class yang mewarisi disebut superclass
*     Class yang diberi warisan disebut subclass
*    Sebuah subclass bisa mewariskan atau berlaku sebagai superclass bagi class
yang lain => disebut multilevel inheritance.

Contoh Pewarisan

1. Class Nenek adalah superclass dari class Ibu
2. Class Ibu adalah superclass dari class Anak
3. Sebuah subclass memiliki beberapa kesamaan dengan superclass-nya, dalam
    hal atribut/variabel dan method yang dimilikinya
4. Contoh pewarisan yang lain : class kendaraan merupakan superclass bagi class
    mobil, truk dan bis

Keuntungan Penggunaan Pewarisan

1. Subclass memiliki atribut dan method yang spesifik yang membedakannya dengan superclass, meskipun keduanya mirip (dalam hal kesamaan atribut dan method)
2.   Dengan demikian pada pembuatan subclass, programmer bisa menggunakan ulang source code dari superclass yang ada => ini yang disebut dengan istilah reuse.
3.     Class-class yang didefinisikan dengan atribut dan method yang bersifat umum yang berlaku baik pada superclass maupun subclass disebut dengan abstract class

3.      Polimorphisme
        Polimorphisme merupakan konsep Pewarisan memunculkan konsep Polimorphisme, dimana mengijinkan penyesesuaian berbagai code untuk memenuhi keadaan tertentu. Bisa di katakan kemampuan 2 buah object yg berbeda untuk merespon pesan permintaan yang sama dalam suatu cara yang unik. Contoh, saya melatih Anjing saya dengan perintah untuk menggonggong, dan juga saya melatih burung untuk merespon perintah saya untuk berkicau. Saya lakukan latihan untuk merespon kepada mereka dengan perintah lisan. melalui Polumorphism saya tahu bahwa anjing dan burung akan merespon dengan gonggongan dan kicauan.

Sumber : Eddy Muntina Dharma,ST,MT (Konsep OOP)  aguseddy@stttelkom.ac.id


Bahasa Pemrograman yang mendukung OOP antara lain:
1.          Visual Foxpro
2.          Java
3.          C++
4.          Pascal
5.          Simula
6.          Smalltalk
7.          Ruby
8.          Pyhton
9.          PHP
10.      C#
11.      Delphi

Keuntungan Penggunaan OOP

a.   Natural
OOP dapat melakukan pendekatan terhadap objek yang menggambarkan segala sesuatu yang nyata, seperti sifat suatu benda maupun kegunaan dari benda tersebut.
b.   Modular
Objek yang sudah dibentuk dapat dikelompokkan kembali dengan objek-objek yang lain, seperti kelompok alat tulis yang dapat dikelompokkan kembali dengan kelompok pensil, kelompok buku dan lain-lain.
c.   Mudah diperbaharui
Dikarenakan sifat jangkauan dari objek memiliki bagian private dan public, maka jika bagian private ingin digunakan pada objek-objek lain dapat diperbaharui dengan menempatkan objek lain tersebut di bagian public.
d.   Dapat didaur ulang
Suatu objek yang telah didefinisikan baik jenis, bentuk, ciri maupun perilaku dapat didefinisikan kembali dengan objek yang lain. Misalkan objek rumah yang memiliki ciri umum ada pintunya, jendelanya, atapnya, temboknya dan lian-lain, dapat didefinisikan kembali ciri-ciri tersebut dengan menyebutkan cirinya masing-masing seperti temboknya yang memiliki ciri jenisnya, ketebalannya, warna catnya dan lain-lain.


Tidak ada komentar:

Posting Komentar