relasi antar kelas
Post on 21-Apr-2015
174 Views
Preview:
TRANSCRIPT
Relasi Antar Kelas
Oleh:Miranti Abadi 5110 100 129Fadhilah Kurnia Putri 5110 100 201
Relasi Kelas
1 •Asosiasi
2 •Directed Asosiasi
3 •Agrerasi
4 •Komposisi
5 •Dependency
6 •Realization
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
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)
**
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) {
}}
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() {
}}
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
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..**
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;
}
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) {
}}
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
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 *
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) {
}}
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() {
}}
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
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..*
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) {
}}
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() {
}}
Dependency
• Relasi dependency adalah hubungan antar kelas ketika satu kelas menggunakan informasi kelas lain, tetapi tidak sebaliknya
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
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 {}
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) {
}}
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.
Realization
• Kelas StudentList adalah kelas interface
• Untuk merealisasikan kelas StudentList, digunakan kelas StudentLinkList
StudentLinkedList
+add(student: Student)+delete(name: String)+print()
StudentList<<interface>>
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();}
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() {
}}
TERIMA KASIH
top related