Dokumen tersebut membahas tentang konsep-konsep dasar pemrograman berorientasi objek meliputi abstraksi, pewarisan, polimorfisme, pembungkusan, asosiasi, dan agregasi. Dokumen ini juga memberikan contoh-contoh kode program untuk memperjelas penerapan konsep-konsep tersebut dalam pemrograman berbahasa Java.
2. Catatan
Kontrak Kuliah :
UTS : 35 %
UAS : 35%
TUGAS 1 & 2 : (30 %)
Koordinator Kelas : Reg a. Ridho
(085755925001)
Reg b. Maulana (089673661441)
3. Structured vs Object-Oriented
Structured
Pendekatan masalah berorientasi pada aksi
atau data
Object-Oriented
Pendekatan masalah berorientasi pada aksi
dan data
5. Tujuan Umum :
Mahasiswa mampu menganalisa dan
mendesain sistem yang berbasiskan pada
prinsip-prinsip obyek.
6. Sub Pokok Bahasan
Pertemuan 1
Teknologi Obyek
Konsep Berorientasi Obyek
- Abstraksi (abstraction)
- Pewarisan (Inheritance)
- Polimorfisme banyakrupa (Polymorphism)
- Pembungkusan (encapsulation)
- Asosiasi
- Agregasi
7. Konsep Object
• Dalam paradigma berbasis object, “object” adalah
representasi sebuah entitas yang memiliki makna
tertentu yang menjadi perhatian si pemandang
object memiliki abstraksi tertentu bagi si pemandang
Contoh: dalam sistem akademik di kampus, beberapa
kandidat object adalah: mahasiswa, dosen, kelas, mata
kuliah, kurikulum, praktikum, laboratorium, perpustakaan,
KRS, KHS, …
• Object dapat menerima pesan (message),
mengolah data, dan mengirimkan pesan ke object
lain membentuk interaksi antar object
• Object bersifat independen: tiap object dapat
dipandang sebagai sebuah entitas mandiri yang
memiliki peran atau tanggung jawab tertentu
8. Objek
Obyek – sesuatu yang dapat dilihat, disentuh atau
dirasakan dan digunakan pengguna serta akan
disimpan data dan perilakunya. Bisa berupa:
Orang, tempat, benda atau kejadian
Pegawai, pelanggan, guru, dosen, mahasiswa, murid.
Gudang, kantor, bangunan, ruangan.
Kendaraan, produk, konputer, video.
Atribut – data yang menyatakan sifat dari obyek
10. Object
Sebuah instance (perwujudan nyata) dari suatu kelas
tertentu
public class SegiEmpat {
int panjang;
int lebar;
string warna;
public SegiEmpat(string w, int p, int l) {
panjang = p; lebar = l; warna = w;
}
public setWarna (string w) {
warna = w;
}
}
SegiEmpat sPink = new SegiEmpat(“pink”, 20,10);
SegiEmpat sPutih = new SegiEmpat(“putih”, 15,10);
SegiEmpat sOrange = new SegiEmpat(“orange”, 30,15);
11. Konsep-Konsep dalam OOP:
Kelas (Class)
Mendefinisikan karakteristik abstrak dari
sebuah entitas
Property (statis) – fields, atribut
Behaviour (dinamika) – fitur, methods
Contoh: abstraksi “sepeda” memiliki property
“punya roda”, “punya rantai”, dsb., dan behaviour
“bisa berjalan”, “bisa berbelok”, dsb.
Sebagai abstraksi dari sebuah entitas,
definisi kelas harus mencerminkan
karakteristik sebenarnya dari entitas tsb.
12. Kelas
Kelas merupakan “cetakan” (template) untuk
instance (wujud nyata) entitas-entitas yang
direpresentasikannya
Sebuah kelas dapat melahirkan lebih dari satu
instance
satu template
banyak instance
(wujud nyata)
13. Tingkah laku
Tingkah laku (behavior) – hal-hal yang
dapat dikerjakan obyek dan merupakan
fungsi yang dikenakan pada data (atribut)
dari obyek tersebut.
Dalam paradigma OO, perilaku obyek
disebut metode, operasi, atau layanan
(method,operation, or service).
16. Ide dasar PBO
Mengkombinasikan data dan fungsi/atribut
untuk mengakses data menjadi sebuah
kesatuan unit.
17. Memahami istilah dalam OOP /
PBO
Obyek : komponen di dalam sebuah
program
Property : karakteristik yang dimiliki
obyek
Method : aksi yang dapat dilakukan oleh
obyek
Event : kejadian yang dapat di alami oleh
obyek
18.
19. abstraksi
Prinsip untuk merepresentasikan dunia nvata
yang kompleks menjadi satu bentuk model
yang sederhana dengan mengabaikan
aspek-aspek lain yang tidak sesuai dengan
permasalahan.
Secara sederhana dikatakan membuang
atribut obyek dan operasi yang hanya sampai
pada yang benar-benar diperlukan.
20. Contoh Abstraksi
Program mesin cuci → tidak butuh serial
number
Program transaksi laundry → butuh serial
number
Obyek sama-sama mesin cuci
21. Contoh Abstraksi Pada Program
Contoh berikut akan menjelaskan penggunaan class abstrak
dalam pemrograman Objek dalam Java. Kelas abstrak yang
dibuat adalah kelas Animal, kemudian dengan dua jenis
variabel, jumlah kaki dan warna. Ditambahkan method
berdasarkan cara jalan dan suaranya.
public abstract class Hewan {
private int jmlKaki;
private Color warna;
public abstract void jalan();
public abstract void suara();
}
22. Inheritance (Pewarisan)
Adalah konsep yang menyatakan bahwa
metode atau atribut dalam kelas dapat
diturunkan atau digunakan kembali oleh
kelas lain.
23. Generalisasi,Supertype, dan
Subtype
Generalisasi/spesialisasi – atribut dan perilaku
yang sama untuk beberapa kelas dikelompokkan ke
dalam kelas tersendiri yang disebut supertype.
Supertype – entitas yang berisi atribut dan perilaku
yang sama untuk satu atau lebih subtipe kelas. Juga
disebut parent class.
Subtype – kelas yang mewarisi (inherit) atribut dan
perilaku dari kelas supertype serta mungkin juga
berisi atribut dan perilaku lain yang khusus. Juga
disebut kelas anak (child). Jika berada pada tingkat
yang paling rendah dalam hirarki pewarisan, akan
disebut kelas konkret (concrete)
33. Polimorfisme banyak rupa
(Polimorphism)
Arti : mempunyai banyak bentuk Merupakan
suatu konsep yang menyatakan sesuatu
yang sama dapat memiliki berbagai bentuk
dan perilaku yang berbeda.
34. Contoh
Polimorphism pada C++ dapat dikenakan
pada fungsi atau operator dan di kenal
dengan overloading.
Berikut fungsi dengan nama gambar :
gambar(x,y); Menggambar titik
gambar(x1,y1,x2,y2); Menggambar garis
gambar(x,y,5); Menggambar lingkaran
35. Pembungkusan (encapsulation)
Adalah pembungkusan/pengemasan data
dan fungsi dalam wadah bernama obyek.
atau...Menyembunyikan operasi-operasi dari
dunia luar dan dari obyek-obyek lain
36. Contoh Encapsulation
Televisi :
- Tampak luar hanya layar dan beberapa
tombol operasi
- Di dalam terkandung kompleksitas
rangkaian elektronika
41. Contoh Asosisasi (Asosiasion)
Contoh : Seorang
pegawai bekerja pada
sebuah perusahaan.
Maka “bekerja”
merupakan sebuah
asosiasi antara kelas
pegawai dan kelas
perusahaan
42. Agregasi
Agregasi – sebuah relasi yang
menyatakan bahwa satu kelas
“utuh (whole)” yang lebih besar
memuat satu atau lebih kelas
“bagian (part)” yang lebih kecil.
Sebaliknya, kelas “bagian”
adalah bagian dari kelas “utuh”
Dalam UML 2.0 notasi agregasi
sudah tidak dipakai lagi
43. Contoh Agregasi
Dalam dunia nyatanya adalah object pemain
bola dan klub bola dimana pemain bola bisa
tetap ada walau tidak ada klub bola
44. Contoh Program Agregasi
public class pemainbola {
protected String nama;
protected String Alamat;
public pemainbola ( String nama, String alamat)
{
this.nama=nama;
this.alamat=alamat
}
}
45. Contoh Program Agregasi
Lanjutan 1
public class klubbola
{
protected String nama;
protected pemainbola pemainno1;
public klubbola( String nama);
public void setpemainsatu(pemainbola pemain)
{
this.pemainno1=pemain;
}
}
46. Contoh Program Agregasi
Lanjutan 2
public void main()
{
klubbola juventus = new klubbola(“Juventus”);
pemainbola orang1 = new pemainbola(“Del
Piero”,”Sukabirus”);
juventus.setpemainsatu(orang1);
}