280312080513relasi kelas copy
TRANSCRIPT
![Page 1: 280312080513relasi kelas copy](https://reader033.vdocuments.pub/reader033/viewer/2022060205/55a095801a28ab35258b4616/html5/thumbnails/1.jpg)
Class RelationshipClass Relationship
• OOP mengambil realita dari kehidupan sehari‐hari
Ob k b k di ki ki iliki• Obyek‐obyek di sekitar kita memilikihubungan relasi tertentu
R l ti hi K k i l i h b t• Relationship: Koneksi logis, hubungan antarobyek atau kelas
![Page 2: 280312080513relasi kelas copy](https://reader033.vdocuments.pub/reader033/viewer/2022060205/55a095801a28ab35258b4616/html5/thumbnails/2.jpg)
Class RelationshipClass Relationship
• Multiplicity: karakteristik dari relasi yang terjadij
• Level class relationshipI t L l– Instance Level:
• relasi terjadi pada object‐object yang terbentuk
– Class Level: • relasi yang terjadi pada class‐class yang dibuat
– General Level: • relasi yang terjadi pada level class maupun objecty g j p p j
![Page 3: 280312080513relasi kelas copy](https://reader033.vdocuments.pub/reader033/viewer/2022060205/55a095801a28ab35258b4616/html5/thumbnails/3.jpg)
MultiplicityMultiplicity
• Menunjukkan jumlah / kardinalitas hubungan antar kelas
M j kk k h l i b b if• Menunjukkan apakah relasi tersebut bersifat opsional atau mandatory– Mandatory = wajib
![Page 4: 280312080513relasi kelas copy](https://reader033.vdocuments.pub/reader033/viewer/2022060205/55a095801a28ab35258b4616/html5/thumbnails/4.jpg)
MultiplicityMultiplicity
Relasi0..1 0 atau 11 Tepat 1 0..* 0 atau lebih* l b h1..* 1 atau lebih
* Tid k t t j l h* Tidak tentu jumlahnya
![Page 5: 280312080513relasi kelas copy](https://reader033.vdocuments.pub/reader033/viewer/2022060205/55a095801a28ab35258b4616/html5/thumbnails/5.jpg)
Contoh MultiplicityContoh Multiplicity
• Antara kelas Buku dan kelas Halaman (Page)– Multiplicitynya : Buku 1 ‐‐ Halaman 1 ... *p y y– Artinya Buku berjumlah min 1Halaman berjumlah minimal 1 tak terhingga– Halaman berjumlah minimal 1 – tak terhingga
• Berarti sifatnya Mandatory
![Page 6: 280312080513relasi kelas copy](https://reader033.vdocuments.pub/reader033/viewer/2022060205/55a095801a28ab35258b4616/html5/thumbnails/6.jpg)
AsosiasiAsosiasi
R l i t j di d l l di l h• Relasi yang terjadi pada class‐class dimana salahsatu instance dari class tersebutmemanggil/mengaktifkan instance dari classmemanggil/mengaktifkan instance dari class lainnya
• Relasi struktural, menunjukkan penggunaansuatu class di class lainnyasuatu class di class lainnya
• Asosiasi bisa uni‐directional (satu arah) atau bi‐Asosiasi bisa uni directional (satu arah) atau bidirectional (dua arah)
![Page 7: 280312080513relasi kelas copy](https://reader033.vdocuments.pub/reader033/viewer/2022060205/55a095801a28ab35258b4616/html5/thumbnails/7.jpg)
AsosiasiAsosiasi
Bi directional
Uni directional
![Page 8: 280312080513relasi kelas copy](https://reader033.vdocuments.pub/reader033/viewer/2022060205/55a095801a28ab35258b4616/html5/thumbnails/8.jpg)
AsosiasiAsosiasi
C t h• Contoh:public class Mahasiswa {
[]private KHS[] khs;void printKHS() {
…}…
}}• Satu mahasiswa memiliki 1 atau lebih KHS
![Page 9: 280312080513relasi kelas copy](https://reader033.vdocuments.pub/reader033/viewer/2022060205/55a095801a28ab35258b4616/html5/thumbnails/9.jpg)
AsosiasiAsosiasi
Mahasiswa KHSMahasiswa KHS1 1..*
![Page 10: 280312080513relasi kelas copy](https://reader033.vdocuments.pub/reader033/viewer/2022060205/55a095801a28ab35258b4616/html5/thumbnails/10.jpg)
KomposisiKomposisi
bj bj d h j di• Menyusun object‐object sederhanamenjadisuatu object yang lebih kompleks
• “Has‐a” relationshipp
• Contoh: roda gearbox mesin jok kemudi bagasi• Contoh: roda, gearbox, mesin, jok, kemudi, bagasimembentuk sebuahmobil
• “A car has a gearbox”
![Page 11: 280312080513relasi kelas copy](https://reader033.vdocuments.pub/reader033/viewer/2022060205/55a095801a28ab35258b4616/html5/thumbnails/11.jpg)
KomposisiKomposisi
• Relasi komposisi ditunjukkan dengan garispenghubung dengan bentuk diamondp g g gberwarna hitam di ujungnya.
![Page 12: 280312080513relasi kelas copy](https://reader033.vdocuments.pub/reader033/viewer/2022060205/55a095801a28ab35258b4616/html5/thumbnails/12.jpg)
C h• Contoh:class Roda {{
String merk; int ring;
Roda(String m, int r) {this merk = m;this.merk = m;this.ring = r;
} }
![Page 13: 280312080513relasi kelas copy](https://reader033.vdocuments.pub/reader033/viewer/2022060205/55a095801a28ab35258b4616/html5/thumbnails/13.jpg)
C h• Contoh:class Mobil {{
Roda rodaMbl; //Mobil berisi class RodaString warna;
public void setWarna(String warnanya) { this warna = warnanya;this.warna = warnanya;
}public void setRoda(String m, int r) {p g
rodaMbl = new Roda(m, r);}
}}
![Page 14: 280312080513relasi kelas copy](https://reader033.vdocuments.pub/reader033/viewer/2022060205/55a095801a28ab35258b4616/html5/thumbnails/14.jpg)
C h• Contoh:public class KendaraanKita {
public static void main(String[] args) {Mobil mb = new Mobil();mb.setWarna("Merah");( )mb.setRoda("Bridgestone",15);
System.out.println("Warna:"+mb.warna);System.out.println( Warna: +mb.warna);System.out.println("Roda: "+mb.rodaMbl.merk);System.out.println("Ukuran: "+mb.rodaMbl.ring);
}}}
![Page 15: 280312080513relasi kelas copy](https://reader033.vdocuments.pub/reader033/viewer/2022060205/55a095801a28ab35258b4616/html5/thumbnails/15.jpg)
AgregasiAgregasi
A i i i d k i i• Agregasimirip dengan komposisi
• Perbedaan pada kekuatan keterikatan antara object yang terbentuk dengan object‐object yang menyusunnyamenyusunnya– Agregasi memiliki relasi yang kurang kuat dibandingkan dengan Komposisidibandingkan dengan Komposisi
• Relasi agregasi ditandai dengan garis penghubungRelasi agregasi ditandai dengan garis penghubungdengan bentuk diamond berwarna putih diujungnya
![Page 16: 280312080513relasi kelas copy](https://reader033.vdocuments.pub/reader033/viewer/2022060205/55a095801a28ab35258b4616/html5/thumbnails/16.jpg)
AgregasiAgregasi
• Contoh:Dosen‐dosen berkumpul membentuk suatupprogram studi
program studi‐program studi dikumpulkanmenjadi fakultas
fakultas‐fakultas dikumpulkan menjadi universitas
![Page 17: 280312080513relasi kelas copy](https://reader033.vdocuments.pub/reader033/viewer/2022060205/55a095801a28ab35258b4616/html5/thumbnails/17.jpg)
AgregasiAgregasi
![Page 18: 280312080513relasi kelas copy](https://reader033.vdocuments.pub/reader033/viewer/2022060205/55a095801a28ab35258b4616/html5/thumbnails/18.jpg)
AgregasiAgregasi
• Pemain Bola Dengan Klub Bola– Jika klub bola tidak ada, pemain bola tetap ada, p p
![Page 19: 280312080513relasi kelas copy](https://reader033.vdocuments.pub/reader033/viewer/2022060205/55a095801a28ab35258b4616/html5/thumbnails/19.jpg)
Agregasi vs KomposisiAgregasi vs Komposisi
• Agregasi tidak ada kepemilikan. – Bila object yang dibentuk hilang maka object‐j y g g jobject penyusunnya akan tetap ada
• Komposisi ada kepemilikan. – Bila object yang dibentuk hilang maka object‐object penyusunnya juga akan hilangj p y y j g g
![Page 20: 280312080513relasi kelas copy](https://reader033.vdocuments.pub/reader033/viewer/2022060205/55a095801a28ab35258b4616/html5/thumbnails/20.jpg)
Agregasi vs KomposisiAgregasi vs Komposisi
• Universitas terdiri dari 1 atau lebih fakultas
• Fakultas terdiri dari 1 atau lebih Program Studi
• Program Studi memiliki 1 atau lebih DosenProgram Studi memiliki 1 atau lebih Dosen
![Page 21: 280312080513relasi kelas copy](https://reader033.vdocuments.pub/reader033/viewer/2022060205/55a095801a28ab35258b4616/html5/thumbnails/21.jpg)
Agregasi vs KomposisiAgregasi vs Komposisi
Bila Universitas ditutup maka Fakultas dan Program Studi akan hilang tapi Dosen tidakBila Universitas ditutup maka Fakultas dan Program Studi akan hilang, tapi Dosen tidak. Bila suatu Fakultas ditutup maka program studi‐program studi di bawahnya juga akan hilang
![Page 22: 280312080513relasi kelas copy](https://reader033.vdocuments.pub/reader033/viewer/2022060205/55a095801a28ab35258b4616/html5/thumbnails/22.jpg)
ContohContoh
• Suatu lingkaran memiliki 1 titik pusat
• Merupakan agregasi atau komposisi ?
![Page 23: 280312080513relasi kelas copy](https://reader033.vdocuments.pub/reader033/viewer/2022060205/55a095801a28ab35258b4616/html5/thumbnails/23.jpg)
ContohContohbli l Titik {public class Titik {private int x;private int y;private int y;
public void setKoordinat(int a int b) {public void setKoordinat(int a, int b) {x = a;y = b;y = b;
}// (bagian selanjutnya dihilangkan)//… (bagian selanjutnya dihilangkan)
}
![Page 24: 280312080513relasi kelas copy](https://reader033.vdocuments.pub/reader033/viewer/2022060205/55a095801a28ab35258b4616/html5/thumbnails/24.jpg)
ContohContoh
public class Lingkaran {private int radius;private int radius;
private Titik titikPusat;//bagian selanjutnya dihilangkan…//bagian selanjutnya dihilangkan
}
![Page 25: 280312080513relasi kelas copy](https://reader033.vdocuments.pub/reader033/viewer/2022060205/55a095801a28ab35258b4616/html5/thumbnails/25.jpg)
ContohContoh
![Page 26: 280312080513relasi kelas copy](https://reader033.vdocuments.pub/reader033/viewer/2022060205/55a095801a28ab35258b4616/html5/thumbnails/26.jpg)
ContohContoh
• Bagaimana dengan kasus berikut:Wajah tersusun dari dua lingkaran dan satuWajah tersusun dari dua lingkaran dan satusegitiga
![Page 27: 280312080513relasi kelas copy](https://reader033.vdocuments.pub/reader033/viewer/2022060205/55a095801a28ab35258b4616/html5/thumbnails/27.jpg)
ContohContoh
![Page 28: 280312080513relasi kelas copy](https://reader033.vdocuments.pub/reader033/viewer/2022060205/55a095801a28ab35258b4616/html5/thumbnails/28.jpg)
Asosiasi Agregasi dan KomposisiAsosiasi, Agregasi dan Komposisi
![Page 29: 280312080513relasi kelas copy](https://reader033.vdocuments.pub/reader033/viewer/2022060205/55a095801a28ab35258b4616/html5/thumbnails/29.jpg)
DependencyDependency
l i b k k• Relasi yang menggambarkan ketergantungansuatu class pada class lainnya
• Contoh: class A memiliki dependency padaContoh: class A memiliki dependency padaclass B. Bila class B berubah maka class A jugaharus diubahharus diubah
• Relasi dependency digambarkan dengan garisputus‐putus
![Page 30: 280312080513relasi kelas copy](https://reader033.vdocuments.pub/reader033/viewer/2022060205/55a095801a28ab35258b4616/html5/thumbnails/30.jpg)
DependencyDependency
![Page 31: 280312080513relasi kelas copy](https://reader033.vdocuments.pub/reader033/viewer/2022060205/55a095801a28ab35258b4616/html5/thumbnails/31.jpg)
DependencyDependency
• Ada 3 bentuk dependency– Penggunaan class B sebagai parameter padagg g p pfungsi di class A
– Penggunaan class B sebagai nilai kembalianPenggunaan class B sebagai nilai kembalian(return value) pada fungsi di class APenggunaan class B sebagai variabel lokal pada– Penggunaan class B sebagai variabel lokal padafungsi di class A
![Page 32: 280312080513relasi kelas copy](https://reader033.vdocuments.pub/reader033/viewer/2022060205/55a095801a28ab35258b4616/html5/thumbnails/32.jpg)
DependencyDependency
l b i d• Penggunaan class B sebagai parameter padafungsi di class A
class KHS { … }{ }
class mahasiswa {class mahasiswa {float hitungIPKSemester(KHS khs, int sem) {…
}
![Page 33: 280312080513relasi kelas copy](https://reader033.vdocuments.pub/reader033/viewer/2022060205/55a095801a28ab35258b4616/html5/thumbnails/33.jpg)
DependencyDependency
l b i il i k b li• Penggunaan class B sebagai nilai kembalianpada fungsi di class A
class KHS { }class KHS { … }
l h {class mahasiswa {KHS getKHS(int sem) { … }g ( ) { }
}
![Page 34: 280312080513relasi kelas copy](https://reader033.vdocuments.pub/reader033/viewer/2022060205/55a095801a28ab35258b4616/html5/thumbnails/34.jpg)
DependencyDependency
P l B b i i b l l k l d• Penggunaan class B sebagai variabel lokal padafungsi di class A
class KRS { … }
class mahasiswa {void susunKRS {KRS krs = new KRS(5);…
}}
![Page 35: 280312080513relasi kelas copy](https://reader033.vdocuments.pub/reader033/viewer/2022060205/55a095801a28ab35258b4616/html5/thumbnails/35.jpg)
NEXTNEXT
• Collections