relasi antar kelas
TRANSCRIPT
![Page 1: Relasi Antar Kelas](https://reader034.vdokumen.com/reader034/viewer/2022042505/5535885d4a795920178b460f/html5/thumbnails/1.jpg)
Relasi Antar Kelas
Oleh:Miranti Abadi 5110 100 129Fadhilah Kurnia Putri 5110 100 201
![Page 2: Relasi Antar Kelas](https://reader034.vdokumen.com/reader034/viewer/2022042505/5535885d4a795920178b460f/html5/thumbnails/2.jpg)
Relasi Kelas
1 •Asosiasi
2 •Directed Asosiasi
3 •Agrerasi
4 •Komposisi
5 •Dependency
6 •Realization
![Page 3: Relasi Antar Kelas](https://reader034.vdokumen.com/reader034/viewer/2022042505/5535885d4a795920178b460f/html5/thumbnails/3.jpg)
Asosiasi
• Relasi Asosiasi adalah relasi yang paling umum yang menggambarkan hubungan antar kelas.
• Relasi ini dipakai ketika satu kelas berhubungan dengan kelas lain, tetapi bisa berdiri sendiri apabila tidak ada kelas lain
![Page 4: Relasi Antar Kelas](https://reader034.vdokumen.com/reader034/viewer/2022042505/5535885d4a795920178b460f/html5/thumbnails/4.jpg)
Asosiasi
• Setiap mahasiswa(Student) mempunyai mata kuliah (Course) dan Mata Kuliah mempunyai mahasiswa.
• Kardinalitasnya adalah dalam 0 atau lebih kelas Student terdapat 0 atau lebih kelas Course, begitu juga sebaliknya
Student
-NRP: string-Name: string-Address: string-phone: string
+Student(nrp: string, name: string, address: string, phone: string)+assignGrade(course: Course, grade: char): void+addCourse(course: Course): void
Course
-ID: string-Name: string-SKS: int
+Course(id: string, name: string, sks: int)
**
![Page 5: Relasi Antar Kelas](https://reader034.vdokumen.com/reader034/viewer/2022042505/5535885d4a795920178b460f/html5/thumbnails/5.jpg)
Asosiasi
• Source Code Student
// Generated by StarUML(tm) Java Add-In//// @ Project : Untitled// @ File Name : Student.java// @ Date : 5/9/2012// @ Author :public class Student {
private string NRP;private string Name;private string Address;private string phone;
public void Student(string nrp, string name, string address, string phone) {
}
public void addCourse(Course course) {
}}
![Page 6: Relasi Antar Kelas](https://reader034.vdokumen.com/reader034/viewer/2022042505/5535885d4a795920178b460f/html5/thumbnails/6.jpg)
Asosiasi
• Source Code Course// Generated by StarUML(tm) Java Add-In//// @ Project : Untitled// @ File Name : Course.java// @ Date : 5/9/2012// @ Author :
public class Course {private string ID;private string Name;private int SKS;public void Course(string id, string
name, int sks) {
}
public void addStudent() {
}}
![Page 7: Relasi Antar Kelas](https://reader034.vdokumen.com/reader034/viewer/2022042505/5535885d4a795920178b460f/html5/thumbnails/7.jpg)
Directed Assosiation
• Directed Asosociation adalah relasi ketika satu kelas membutuhkan informasi dari kelas lain, tetapi hubungannya lemah, sehingga bisa berdiri sendiri jika ada kelas yang hilang
![Page 8: Relasi Antar Kelas](https://reader034.vdokumen.com/reader034/viewer/2022042505/5535885d4a795920178b460f/html5/thumbnails/8.jpg)
Directed Assosiation
Kelas Student belajar di kelas College. Kelas Student memiliki ketergantungan dengan Kelas College, tetapi jika kelas College tidak ada, Student bisa berdiri sendiri
Student
-NRP: string-Name: string-Address: string-phone: string
+Student(nrp: string, name: string, address: string, phone: string)+assignGrade(course: Course, grade: char): void+addCourse(course: Course): void
College
+Name: string+Address: String+Phone: string+Faculty: string <List>
studies
0..**
![Page 9: Relasi Antar Kelas](https://reader034.vdokumen.com/reader034/viewer/2022042505/5535885d4a795920178b460f/html5/thumbnails/9.jpg)
Directed Assosiation
• Source Code Kelas College////// Generated by StarUML(tm) Java Add-In//// @ Project : Untitled// @ File Name : College.java// @ Date : 5/10/2012// @ Author : //
public class College {public string Name;public String Address;public string Phone;public string <List> Faculty;
}
![Page 10: Relasi Antar Kelas](https://reader034.vdokumen.com/reader034/viewer/2022042505/5535885d4a795920178b460f/html5/thumbnails/10.jpg)
Directed Asosiasi
• Source Code Student
// Generated by StarUML(tm) Java Add-In//// @ Project : Untitled// @ File Name : Student.java// @ Date : 5/9/2012// @ Author :public class Student {
private string NRP;private string Name;private string Address;private string phone;
public void Student(string nrp, string name, string address, string phone) {
}
public void addCourse(Course course) {
}}
![Page 11: Relasi Antar Kelas](https://reader034.vdokumen.com/reader034/viewer/2022042505/5535885d4a795920178b460f/html5/thumbnails/11.jpg)
Agrerasi
• Relasi agrerasi digunakan ketika sebuah kelas dibentuk dengan komposisi kelas lainnya.
• Kelas-kelas tersebut bisa saling berdiri sendiri walau ada kelas yang tidak ada
![Page 12: Relasi Antar Kelas](https://reader034.vdokumen.com/reader034/viewer/2022042505/5535885d4a795920178b460f/html5/thumbnails/12.jpg)
Agrerasi
• Class Picture memiliki atribut tab yang bertipe Vertex• Hubungan kardinalitasnya adalah dalam 1 Picture
terdapat 0 atau lebih Vertex• hal itu dapat diartikan bahwa Kelas Picture dapat
berdiri tanapa kelas Vertex walaupun Vertex adalah bagian dari Picture
Picture
-ind: int-tab: Vertex<List>
+addVertex(p: Vertex): void+remove(): void
Vertex
-x: int-y: int
+Vertex(x: int, y: int)
1 *
![Page 13: Relasi Antar Kelas](https://reader034.vdokumen.com/reader034/viewer/2022042505/5535885d4a795920178b460f/html5/thumbnails/13.jpg)
Agregasi
• Source code kelas Vertex// Generated by StarUML(tm) Java Add-In//// @ Project : Untitled// @ File Name : Vertex.java// @ Date : 5/9/2012// @ Author : ////
public class Vertex {private int x;private int y;public void Vertex(int x, int y) {
}}
![Page 14: Relasi Antar Kelas](https://reader034.vdokumen.com/reader034/viewer/2022042505/5535885d4a795920178b460f/html5/thumbnails/14.jpg)
Agregasi
• Source code kelas Picture// Generated by StarUML(tm) Java Add-In// @ Project : Untitled// @ File Name : Picture.java// @ Date : 5/9/2012// @ Author :
public class Picture {private int ind;private Vertex<List> tab;public void addVertex(Vertex p) {
}public void remove() {
}}
![Page 15: Relasi Antar Kelas](https://reader034.vdokumen.com/reader034/viewer/2022042505/5535885d4a795920178b460f/html5/thumbnails/15.jpg)
Komposisi
• Relasi komposisi digunakan ketika terdapat hubungan satu kelas merupakan bagian dari kelas lainnya.
• Jika kelas yang membentuk tidak ada, maka kelas yang dibentuk tidak dapat dibuat
![Page 16: Relasi Antar Kelas](https://reader034.vdokumen.com/reader034/viewer/2022042505/5535885d4a795920178b460f/html5/thumbnails/16.jpg)
Komposisi
• Kelas Triangle terbentuk dari kelas vertex• Jika kelas vertex dihilangkan, maka kelas Triangle tidak dapat terbentuk• Seperti kehidupan nyata, segitiga terdiri dari 3 titik, jika tidak ada titik
maka segitiga tidak dapat dibentuk• Hubungan kardinalitasnya dalam 1 Triangle terdapat minimal 1 atau
lebih vertex
Vertex
-x: int-y: int
+Vertex(x: int, y: int)
Triangle
-titik1: Vertex-titik2: Vertex-titik3: Vertex-sisi1: int-sisi2: int-sisi3: int
+Triangle(t1: Vertex, t2: Vertex, t3: Vertex)+hitungLuas(): void+HitungKell(): void+hitungSisi(): void
1 1..*
![Page 17: Relasi Antar Kelas](https://reader034.vdokumen.com/reader034/viewer/2022042505/5535885d4a795920178b460f/html5/thumbnails/17.jpg)
Komposisi
• Source code kelas Vertex// Generated by StarUML(tm) Java Add-In//// @ Project : Untitled// @ File Name : Vertex.java// @ Date : 5/9/2012// @ Author : ////
public class Vertex {private int x;private int y;public void Vertex(int x, int y) {
}}
![Page 18: Relasi Antar Kelas](https://reader034.vdokumen.com/reader034/viewer/2022042505/5535885d4a795920178b460f/html5/thumbnails/18.jpg)
Komposisi• Source code kelas Triangle
// Generated by StarUML(tm) Java Add-In//// @ Project : Untitled// @ File Name : Triangle.java// @ Date : 5/9/2012// @ Author :
public class Triangle {private Vertex titik1;private Vertex titik2;private Vertex titik3;private int sisi1;private int sisi2;private int sisi3;
public void Triangle(Vertex t1, Vertex t2, Vertex t3) {
}
public void hitungLuas() {
}
public void HitungKell() {
}
public void hitungSisi() {
}}
![Page 19: Relasi Antar Kelas](https://reader034.vdokumen.com/reader034/viewer/2022042505/5535885d4a795920178b460f/html5/thumbnails/19.jpg)
Dependency
• Relasi dependency adalah hubungan antar kelas ketika satu kelas menggunakan informasi kelas lain, tetapi tidak sebaliknya
![Page 20: Relasi Antar Kelas](https://reader034.vdokumen.com/reader034/viewer/2022042505/5535885d4a795920178b460f/html5/thumbnails/20.jpg)
Dependency
• Kelas MyClass membutuhkan informasi dari kelas util. Di dalam method MyClass terdapat parameter yang memanggil kelas util, tetapi di kelas Util tidak membutuhkan
• Sehingga kelas MyClass berfungsi jika terdapat kelas Util
MyClass
+tool(util: Util): void
Util
![Page 21: Relasi Antar Kelas](https://reader034.vdokumen.com/reader034/viewer/2022042505/5535885d4a795920178b460f/html5/thumbnails/21.jpg)
Dependency
• Source Code Kelas Util
// Generated by StarUML(tm) Java Add-In//// @ Project : Untitled// @ File Name : Util.java// @ Date : 5/10/2012// @ Author :
public class Util {}
![Page 22: Relasi Antar Kelas](https://reader034.vdokumen.com/reader034/viewer/2022042505/5535885d4a795920178b460f/html5/thumbnails/22.jpg)
Dependency
• Source Code Kelas MyClass
// Generated by StarUML(tm) Java Add-In//// @ Project : Untitled// @ File Name : MyClass.java// @ Date : 5/10/2012// @ Author :
public class MyClass {public void tool(Util util) {
}}
![Page 23: Relasi Antar Kelas](https://reader034.vdokumen.com/reader034/viewer/2022042505/5535885d4a795920178b460f/html5/thumbnails/23.jpg)
Realization
• Relasi Realization adalah hubungan dua kelas ketika satu kelas mengkonkritkan kelas lainnya.
• Contoh dari relasi ini adalah interface, yaitu kelas berisi nama-nama method, dan kemudian direalisasikan dengan kelas lainnya.
![Page 24: Relasi Antar Kelas](https://reader034.vdokumen.com/reader034/viewer/2022042505/5535885d4a795920178b460f/html5/thumbnails/24.jpg)
Realization
• Kelas StudentList adalah kelas interface
• Untuk merealisasikan kelas StudentList, digunakan kelas StudentLinkList
StudentLinkedList
+add(student: Student)+delete(name: String)+print()
StudentList<<interface>>
![Page 25: Relasi Antar Kelas](https://reader034.vdokumen.com/reader034/viewer/2022042505/5535885d4a795920178b460f/html5/thumbnails/25.jpg)
Realization
• Source Code Kelas StudentList
// Generated by StarUML(tm) Java Add-In//// @ Project : Untitled// @ File Name : StudentList.java// @ Date : 5/10/2012// @ Author :
public interface StudentList {public void add(Student student);public void delete(String name);public void print();}
![Page 26: Relasi Antar Kelas](https://reader034.vdokumen.com/reader034/viewer/2022042505/5535885d4a795920178b460f/html5/thumbnails/26.jpg)
Realization
• Source Code Kelas StudentLinkList// Generated by StarUML(tm) Java Add-In//// @ Project : Untitled// @ File Name : StudentList.java// @ Date : 5/10/2012// @ Author :
public class StudentLinkedList implements StudentList {public void add(Student student) {
}public void delete(String name) {
}
public void print() {
}}
![Page 27: Relasi Antar Kelas](https://reader034.vdokumen.com/reader034/viewer/2022042505/5535885d4a795920178b460f/html5/thumbnails/27.jpg)
TERIMA KASIH