pertemuan 13 perancangan berorientasi objek … · keunggulan utama bahasa pemrograman berorientasi...
TRANSCRIPT
![Page 1: PERTEMUAN 13 PERANCANGAN BERORIENTASI OBJEK … · Keunggulan utama bahasa pemrograman berorientasi objek adalah pada kemampuan dalam membangun program yang besar. Dalam merancang](https://reader031.vdocuments.pub/reader031/viewer/2022020104/5c8a8adf09d3f26b278c93f5/html5/thumbnails/1.jpg)
PERTEMUAN 13
PERANCANGAN
BERORIENTASI OBJEK
UNTUK MULTI KELAS
![Page 2: PERTEMUAN 13 PERANCANGAN BERORIENTASI OBJEK … · Keunggulan utama bahasa pemrograman berorientasi objek adalah pada kemampuan dalam membangun program yang besar. Dalam merancang](https://reader031.vdocuments.pub/reader031/viewer/2022020104/5c8a8adf09d3f26b278c93f5/html5/thumbnails/2.jpg)
POKOK BAHASAN
1. Pendahuluan
2. Hubungan Antar Kelas
3. Inheritansi
4. Polimorfisme
![Page 3: PERTEMUAN 13 PERANCANGAN BERORIENTASI OBJEK … · Keunggulan utama bahasa pemrograman berorientasi objek adalah pada kemampuan dalam membangun program yang besar. Dalam merancang](https://reader031.vdocuments.pub/reader031/viewer/2022020104/5c8a8adf09d3f26b278c93f5/html5/thumbnails/3.jpg)
PENDAHULUAN
▪ Keunggulan utama bahasa pemrograman
berorientasi objek adalah pada
kemampuan dalam membangun program
yang besar.
▪ Dalam merancang program yang
menggunakan beberapa kelas perlu
mempertimbangkan hubungan antar
kelas.
![Page 4: PERTEMUAN 13 PERANCANGAN BERORIENTASI OBJEK … · Keunggulan utama bahasa pemrograman berorientasi objek adalah pada kemampuan dalam membangun program yang besar. Dalam merancang](https://reader031.vdocuments.pub/reader031/viewer/2022020104/5c8a8adf09d3f26b278c93f5/html5/thumbnails/4.jpg)
NOTASI
▪ Pendekatan perancangan berorientasi
objek dan pemrograman berorientasi
objek telah menjadi metodologi yang
stabil.
▪ Notasi yang digunakan untuk
perancangan berorientasi objek adalah
UML (Unified Modelling Language) dari
Rumbaugh, Booch, dan jacobsen.
![Page 5: PERTEMUAN 13 PERANCANGAN BERORIENTASI OBJEK … · Keunggulan utama bahasa pemrograman berorientasi objek adalah pada kemampuan dalam membangun program yang besar. Dalam merancang](https://reader031.vdocuments.pub/reader031/viewer/2022020104/5c8a8adf09d3f26b278c93f5/html5/thumbnails/5.jpg)
HUBUNGAN ANTAR KELAS
1. Hubungan yang paling sederhana adalah hubungan
antar dua kelas yang independen satu sama lain.
Sebuah kelas dapat menggunakan layanan yang lain
disebut dengan asosiasi.
2. Sebuah kelas mungkin dibuat oleh kelas lain atau
mengandung kelas lain yang merupakan bagian dari
dirinya sendiri. Hubungan kolektif dapat berupa
agregasi atau komposisi.
3. Kelas memungkinkan mewarisi seluruh atribut dan
operasi dari kelas induk, memiliki nama yang unik,
atribut dan operasi yang berbeda dengan kelas induk.
Bentuk hubungan antara kelas induk dan anak adalah
generalisasi.
![Page 6: PERTEMUAN 13 PERANCANGAN BERORIENTASI OBJEK … · Keunggulan utama bahasa pemrograman berorientasi objek adalah pada kemampuan dalam membangun program yang besar. Dalam merancang](https://reader031.vdocuments.pub/reader031/viewer/2022020104/5c8a8adf09d3f26b278c93f5/html5/thumbnails/6.jpg)
ASOSIASI
▪ Asosiasi menggambarkan interaksi yang
mungkin terjadi antara suatu objek dengan objek
yang lain.
▪ Asosiasi memungkinkan suatu kelas untuk
menggunakan atau mengetahui atribut atau
operasi yang dimiliki oleh kelas lain.
▪ Ada 2 jenis asosiasi :
▪ Asosiasi dua arah atau
▪ Asosiasi satu arah (pasif)
6
![Page 7: PERTEMUAN 13 PERANCANGAN BERORIENTASI OBJEK … · Keunggulan utama bahasa pemrograman berorientasi objek adalah pada kemampuan dalam membangun program yang besar. Dalam merancang](https://reader031.vdocuments.pub/reader031/viewer/2022020104/5c8a8adf09d3f26b278c93f5/html5/thumbnails/7.jpg)
ASOSIASI (lanjutan)
▪ Contoh : kelas mobil dan kelas garasi
merupakan kelas independen. Mobil kadang
menggunakan layanan kelas garasi seperti
parkir. Objek yang diinstansiasi dari kedua kelas
dapat saling berinteraksi melalui pengiriman
atau penerimaan pesan
Mobil Garasimenggunakan
1..2 1
multiplisitas
![Page 8: PERTEMUAN 13 PERANCANGAN BERORIENTASI OBJEK … · Keunggulan utama bahasa pemrograman berorientasi objek adalah pada kemampuan dalam membangun program yang besar. Dalam merancang](https://reader031.vdocuments.pub/reader031/viewer/2022020104/5c8a8adf09d3f26b278c93f5/html5/thumbnails/8.jpg)
Tipe Notasi UML Keterangan
Exactly 1 or blank Seorang Karyawan bekerja pada satu danhanya satu departemen
Zero or 1 0..1 Seorang Karyawan memiliki satu suami/istriatau tidak punya suami/istri
Zero or More 0..* or * Customer dapat tidak melakukanpembayaran sampai beberapa kali
1 or More 1..* Universitas menawarkan paling sedikit 1matakuliah sampai beberapa matakuliah
Specific range 7..9 Tim memiliki pertandingan terjadwalsebanyak 7, 8, atau 9 pertandingan
▪ Pada asosiasi terdapat muliplisitas.
▪ Multiplisitas adalah jumlah banyaknya obyek sebuah
kelas yang berelasi dengan sebuah obyek lain pada
kelas lain yang berasosiasi dengan klass tersebut.
ASOSIASI (lanjutan)
![Page 9: PERTEMUAN 13 PERANCANGAN BERORIENTASI OBJEK … · Keunggulan utama bahasa pemrograman berorientasi objek adalah pada kemampuan dalam membangun program yang besar. Dalam merancang](https://reader031.vdocuments.pub/reader031/viewer/2022020104/5c8a8adf09d3f26b278c93f5/html5/thumbnails/9.jpg)
9
ASOSIASI (lanjutan)
![Page 10: PERTEMUAN 13 PERANCANGAN BERORIENTASI OBJEK … · Keunggulan utama bahasa pemrograman berorientasi objek adalah pada kemampuan dalam membangun program yang besar. Dalam merancang](https://reader031.vdocuments.pub/reader031/viewer/2022020104/5c8a8adf09d3f26b278c93f5/html5/thumbnails/10.jpg)
ASSOCIATIONS
class Association
EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version
EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version
EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version
EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version
EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version
EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version
EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version
EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version
EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version
EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version
EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version
EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version
EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version
EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version
EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version
EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version
EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version
EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version
EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version
EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version
EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version
EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version
EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version
EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version
EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version
EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version
A B
1
+b
1
public class A {
public B b;
public A(){
}
}
public class B {
public B(){
}
}
![Page 11: PERTEMUAN 13 PERANCANGAN BERORIENTASI OBJEK … · Keunggulan utama bahasa pemrograman berorientasi objek adalah pada kemampuan dalam membangun program yang besar. Dalam merancang](https://reader031.vdocuments.pub/reader031/viewer/2022020104/5c8a8adf09d3f26b278c93f5/html5/thumbnails/11.jpg)
AGREGASI
▪ Agregasi adalah hubungan suatu kelas yang
merupakan bagian dari kelas lain namun bersifat
tidak wajib.
▪ Simbol :
11
![Page 12: PERTEMUAN 13 PERANCANGAN BERORIENTASI OBJEK … · Keunggulan utama bahasa pemrograman berorientasi objek adalah pada kemampuan dalam membangun program yang besar. Dalam merancang](https://reader031.vdocuments.pub/reader031/viewer/2022020104/5c8a8adf09d3f26b278c93f5/html5/thumbnails/12.jpg)
KOMPOSISI
▪ Komposisi adalah hubungan suatu kelas yang
merupakan bagian yang wajib dari kelas lain.
▪ Simbol :
12
![Page 13: PERTEMUAN 13 PERANCANGAN BERORIENTASI OBJEK … · Keunggulan utama bahasa pemrograman berorientasi objek adalah pada kemampuan dalam membangun program yang besar. Dalam merancang](https://reader031.vdocuments.pub/reader031/viewer/2022020104/5c8a8adf09d3f26b278c93f5/html5/thumbnails/13.jpg)
GENERALISASI
▪ Generalisasi diperlukan untuk memperlihatkan
hubungan pewarisan antar objek atau kelas.
▪ Simbol :
13
![Page 14: PERTEMUAN 13 PERANCANGAN BERORIENTASI OBJEK … · Keunggulan utama bahasa pemrograman berorientasi objek adalah pada kemampuan dalam membangun program yang besar. Dalam merancang](https://reader031.vdocuments.pub/reader031/viewer/2022020104/5c8a8adf09d3f26b278c93f5/html5/thumbnails/14.jpg)
GENERALISASI
class Association
EA 9.0 Unregistered Trial Version
EA 9.0 Unregistered Trial Version
EA 9.0 Unregistered Trial Version
EA 9.0 Unregistered Trial Version
EA 9.0 Unregistered Trial Version
EA 9.0 Unregistered Trial Version
EA 9.0 Unregistered Trial Version
EA 9.0 Unregistered Trial Version
EA 9.0 Unregistered Trial Version
EA 9.0 Unregistered Trial Version
EA 9.0 Unregistered Trial Version
EA 9.0 Unregistered Trial Version
EA 9.0 Unregistered Trial Version
EA 9.0 Unregistered Trial Version
EA 9.0 Unregistered Trial Version
EA 9.0 Unregistered Trial Version
EA 9.0 Unregistered Trial Version
EA 9.0 Unregistered Trial Version
EA 9.0 Unregistered Trial Version
EA 9.0 Unregistered Trial Version
EA 9.0 Unregistered Trial Version
EA 9.0 Unregistered Trial Version
EA 9.0 Unregistered Trial Version
EA 9.0 Unregistered Trial Version
EA 9.0 Unregistered Trial Version
EA 9.0 Unregistered Trial Version
EA 9.0 Unregistered Trial Version
EA 9.0 Unregistered Trial Version
EA 9.0 Unregistered Trial Version
EA 9.0 Unregistered Trial Version
Person
Employee
public class Person {
public Person(){
}
}
public class Employee extends Person {
public Employee(){
}
}
![Page 15: PERTEMUAN 13 PERANCANGAN BERORIENTASI OBJEK … · Keunggulan utama bahasa pemrograman berorientasi objek adalah pada kemampuan dalam membangun program yang besar. Dalam merancang](https://reader031.vdocuments.pub/reader031/viewer/2022020104/5c8a8adf09d3f26b278c93f5/html5/thumbnails/15.jpg)
POLYMORPHISM
• Polymorphism adalah kemampuan untuk
mempunyai beberapa bentuk yang berbeda.
• Polymorphism diimplementasikan dengan
mekanisme inheritance dan overriding
hewan
anjing
“menggonggong”
kucing
“mengeong”
kuda
“meringkik”
“bersuara”
![Page 16: PERTEMUAN 13 PERANCANGAN BERORIENTASI OBJEK … · Keunggulan utama bahasa pemrograman berorientasi objek adalah pada kemampuan dalam membangun program yang besar. Dalam merancang](https://reader031.vdocuments.pub/reader031/viewer/2022020104/5c8a8adf09d3f26b278c93f5/html5/thumbnails/16.jpg)
OVERRIDING
▪ Subclass yang berusaha memodifikasi tingkah
laku yang diwarisi dari superclass.
▪ Tujuan: subclass memiliki tingkah laku yang
lebih spesifik.
▪ Dilakukan dengan cara mendeklarasikan
kembali method milik parent class di subclass.
![Page 17: PERTEMUAN 13 PERANCANGAN BERORIENTASI OBJEK … · Keunggulan utama bahasa pemrograman berorientasi objek adalah pada kemampuan dalam membangun program yang besar. Dalam merancang](https://reader031.vdocuments.pub/reader031/viewer/2022020104/5c8a8adf09d3f26b278c93f5/html5/thumbnails/17.jpg)
CONTOH OVERRIDING
![Page 18: PERTEMUAN 13 PERANCANGAN BERORIENTASI OBJEK … · Keunggulan utama bahasa pemrograman berorientasi objek adalah pada kemampuan dalam membangun program yang besar. Dalam merancang](https://reader031.vdocuments.pub/reader031/viewer/2022020104/5c8a8adf09d3f26b278c93f5/html5/thumbnails/18.jpg)
OVERLOADING
▪ Menuliskan kembali method dengan nama
yang sama pada suatu class.
▪ Tujuan : memudahkan
penggunaan/pemanggilan method dengan
fungsionalitas yang mirip.
![Page 19: PERTEMUAN 13 PERANCANGAN BERORIENTASI OBJEK … · Keunggulan utama bahasa pemrograman berorientasi objek adalah pada kemampuan dalam membangun program yang besar. Dalam merancang](https://reader031.vdocuments.pub/reader031/viewer/2022020104/5c8a8adf09d3f26b278c93f5/html5/thumbnails/19.jpg)
BangunDatar {
static double PHI = 3.14;
static double luas (double r){
double Hasil = PHI * r * r;
return Hasil;
}
static int luas (int s){
int Hasil = s * s;
return Hasil;
}
}
CONTOH OVERLOADING