Relasi Antar Kelas

27
Relasi Antar Kelas Oleh: Miranti Abadi 5110 100 129 Fadhilah Kurnia Putri 5110 100 201

Transcript of Relasi Antar Kelas

Page 1: Relasi Antar Kelas

Relasi Antar Kelas

Oleh:Miranti Abadi 5110 100 129Fadhilah Kurnia Putri 5110 100 201

Page 2: Relasi Antar Kelas

Relasi Kelas

1 •Asosiasi

2 •Directed Asosiasi

3 •Agrerasi

4 •Komposisi

5 •Dependency

6 •Realization

Page 3: Relasi Antar Kelas

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Dependency

• Relasi dependency adalah hubungan antar kelas ketika satu kelas menggunakan informasi kelas lain, tetapi tidak sebaliknya

Page 20: Relasi Antar Kelas

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

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

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

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

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

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

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

TERIMA KASIH