Rabu, 28 Januari 2009

Konsep Pemrograman Berbasis Obyek

Konsep Pemrograman Berbasis Obyek Tujuan Pembelajaran

Ø Memahami konsep Pemrograman Berbasis Obyek atau Object Oriented Programming (OOP)

Ø Memahami perbedaan antara pemrograman OOP dengan pemrograman procedural.

Perbandingan OOP dengan Prosedural Pemrograman Prosedural

Ø Diselesaikan dalam bentuk prosedur atau fungsi

Ø Program merupakan urut-urutan instruksi

Ø Program dipecah-pecah ke dalam sub program yang lebih sederhana

Ø Fokus utama pada prosedur dan fungsi

Ø Fungsi dan prosedur digunakan untuk memanipulasi data

Ø Sedangkan data sendiri bersifat pasif

Pemrograman Berbasis Obyek

Ø Fungsi dan data menjadi satu kesatuan yang disebut obyek

Ø Obyek-obyek dalam OOP bersifat aktif

Ø Cara pandang : program bukan urut-urutan instruksi tapi diselesaikan oleh obyek-obyek yang bekerjasama untuk menyelesaikan masalah

Beda nyata antara prosedural dan OOP

Ø Prosedural Fokus pada bagaimana cara komputer menangani masalah

Ø OOP Fokus pada masalah yang ditangani dengan menggunakan computer

TENTANG OBYEK

Apa itu Obyek ?

Ø Semua hal yang ada dalam dunia nyata, baik konkrit maupun abstrak

Ø Contoh obyek konkrit : rumah, sekolah, dosen, mahasiswa, dll.

Ø Contoh obyek abstrak : mata kuliah, penjadwalan, dll.

Ciri-ciri atau karakteristik Obyek

Ø Obyek memiliki status (state) dan tingkah laku (behavior)

Ø Status (state) disebut juga dengan atribut

Ø Contoh obyek : obyek mobil

Atribut : merek, warna, bahan bakar

Method : pindah persnelling, kecepatan bertambah, dll

Ø Pada OOP : status disimpan dalam variabel, dan tingkah laku disimpan dalam method

Tentang Class

Apa itu Class ?

Ø Class merupakan 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

Anggota Class (class member)

Ø Anggota Class terdiri dari atribut dan 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.

Tentang Atribut

Apa itu atribut ?

Ø Atribut adalah data yang dapat membedakan antara satu obyek dengan obyek yang lainContoh untuk class mahasiswa

Ø terdapat obyek mahasiswa si A, dan obyek mahasiswa si B. Yang membedakan antara obyek si A dan obyek si B adalah NRP-nya yang merupakan atribut dari obyek tersebut.

Instance variable vs. class variable

Ø Instance variable

Atribut yang dimiliki oleh obyek dari class yang sama

Tiap obyek memiliki instance variable dan menyimpan nilainya tersendiri

Jadi beberapa obyek yang berasal dari class yang sama, nilai instance ariablenya boleh sama boleh tidak.

Ø Class variable

Atribut yang dimiliki oleh semua obyek yang berasal dari class yang sama

Semua obyek memiliki nilai class variable yang sama

Jadi semua obyek yang berasal dari class yang sama, nilai class variable-nya harus sama

Ilustrasi perbedaan class variable dan

instance variable

Ø Ada seekor kucing bernama pusi dan seorang anjing bernama heli.

Ø Keduanya merupakan dua obyek yang berbeda dan berasal dari class yang sama yaitu binatang.

Ø Obyek pusi dan obyek heli memiliki class variable :

Jenis : binatang

Ekor : ada

Ø Obyek pusi memiliki instance variable :

- Suara : meong

Ø Obyek heli memiliki instance variable

- Suara : guggug

Tentang Behaviour atau

Method

Behaviour atau Method

Ø Dalam Class, behavior disimpan dalam bentuk method.

Ø Method merupakan hal-hal yang bisa dilakukan oleh obyek dari suatu class

Ø Yang bisa dilakukan oleh method :

Merubah nilai atribut suatu obyek

Menerima informasi dari obyek lain

Mengirim informasi ke obyek lain untuk melakukan sesuatu

Method dalam Class

Ø Method merupakan bagian dari class yang menangani suatu tujuan tertentu dan berisi serangkaian perintah (perintah=baris program)

Ø Obyek yang sama dengan obyek yang lain dapat berkomunikasi dengan menggunakan method.

Contoh pembuatan class

class Mobil {

String aktifitas, warna;

int kecepatan;

void cekKecepatan() {

if (kecepatan==0)

aktifitas=“parkir”;

}

void cetakAtribut() {

System.out.println(“Aktifitas = “+aktifitas);

System.out.println(“Warna = “+warna);

System.out.println(“Kecepatan=“+kecepatan);

}

}

Penciptaan obyek dari sebuah class

Ø Obyek diciptakan dengan perintah new

Ø Misal akan diciptakan obyek baru dari class mobil dengan nama mobilku

Ø Maka perintah penciptaan obyek mobilku dari class Mobil : Mobil mobilku = new Mobil();

Karakteristik OOP

Ø Suatu program disebut dengan pemrograman berbasis obyek (OOP) karena terdapat :

Encapsulation (pembungkusan)

Inheritance (pewarisan)

Polymorphism (polimorfisme – perbedaan bentuk)

Encapsulation (pembungkusan)

Ø Variabel dan method dalam suatu obyek dibungkus agar terlindungi

Ø Untuk mengakses, variabel dan method yang sudah dibungkus tadi perlu interface

Ø Setelah variabel dan method dibungkus, hak akses terhadapnya bisa ditentukan.

Ø Konsep pembungkusan ini pada dasarnya merupakan perluasan dari tipe data struktur

Mengapa variabel dan method perlu

dibungkus ?

Ø Supaya terlindungi, artinya hak akses terhadapnya bisa ditentukan.

Ø Bersifat pribadi, artinya kita tidak perlu tahu semua method yang ada dalam obyek

Ø Contoh : obyek Roti, obyek ini mempunyai method Pembuatan Roti

Ø Jika kita ingin memakan roti, tentu kita tidak perlu tahu bagaimana cara membuatnya

Ø Demikian juga jika kita ingin mengakses obyek Roti, tentu kita tidak perlu tahu isi dari method Pembuatan Roti.

Inheritance (pewarisan)

Ø 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

Ø Class Nenek adalah superclass dari class Ibu

Ø Class Ibu adalah superclass dari class Anak

Ø Sebuah subclass memiliki beberapa kesamaan dengan superclass-nya, dalam hal atribut/variabel dan method yang dimilikinya

Ø Contoh pewarisan yang lain : class kendaraan merupakan superclass bagi class mobil, truk dan bis

Keuntungan Penggunaan Pewarisan

Ø Subclass memiliki atribut dan method yang spesifik yang membedakannya dengan superclass, meskipun keduanya mirip (dalam hal kesamaan atribut dan method)

Ø Dengan demikian pada pembuatan subclass, programmer bias menggunakan ulang source code dari superclass yang ada => ini yang disebut dengan istilah reuse

Ø Class-class yang didefinisikan dengan atribut dan method yang bersifat umum yang berlaku baik pada superclass maupun subclass disebut dengan abstract class

Konsep Multiple Inheritance dan Single Inheritance

Ø Suatu subclass bisa menjadi superclass bagi class yang lain => berlaku untuk C dan Java

Ø Suatu class diperbolehkan memiliki lebih dari satu superclass => berlaku hanya di C

Ø Suatu class hanya boleh memiliki satu superclass => hanya berlaku pada Java

Polimorphism (polimorfisme)

Ø Polimorfisme artinya penyamaran dimana suatu bentuk dapat memiliki lebih dari satu bentuk


Tidak ada komentar:

Posting Komentar