Relasi Antar Kelas

Post on 21-Apr-2015

173 views 6 download

Transcript of Relasi Antar Kelas

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