Tugas ALPRO minggu ke 10
Class Diagram
UML class Segitiga, class Prisma, class Limas : Agregasi
UML class Lingkaran, class Kerucut : Agregasi
UML class Segiempat, Balok, Kubus : Komposisi
Contoh Relasi Agregasi:
import java.io.*;
import java.util.*;
/* student class */
class Student
{
String name;
int id ;
String dept;
Student(String name, int id, String dept)
{
this.name = name;
this.id = id;
this.dept = dept;
}
}
/* Departement class mengandung daftar dari student object. Hal ini berasosiasi dengan student class melalui objeknya */
class Department
{
String name;
private List<student> students;
Department(String name, List<student> students)
{
this.name = name;
this.students = students;
}
public List<student> getStudents()
{
return students;
}
}
class Institute
{
String instituteName;
private List<department> departments;
Institute(String instituteName, List<department> departments)
{
this.instituteName = instituteName;
this.departments = departments;
}
public int getTotalStudentsInInstitute()
{
int noOfStudents = 0;
List<student> students;
for(Department dept : departments)
{
students = dept.getStudents();
for(Student s : students)
{
noOfStudents++;
}
}
return noOfStudents;
}
}
/* main method */
class GFG
{
public static void main (String[] args)
{
Student s1 = new Student(“Mia”, 1, “CSE”);
Student s2 = new Student(“Priya”, 2, “CSE”);
Student s3 = new Student(“John”, 1, “EE”);
Student s4 = new Student(“Rahul”, 2, “EE”);
List <student> cse_students = new ArrayList<student>();
cse_students.add(s1);
cse_students.add(s2);
/* membuat daftar dari EE student */
List <student> ee_students = new ArrayList<student>();
ee_students.add(s3);
ee_students.add(s4);
Department CSE = new Department(“CSE”, cse_students);
Department EE = new Department(“EE”, ee_students);
List <department> departments = new ArrayList<department>();
departments.add(CSE);
departments.add(EE);
/* menciptakan instance dari institute */
Institute institute = new Institute(“BITS”, departments);
System.out.print(“Total students in institute: “);
System.out.print(institute.getTotalStudentsInInstitute());
}
}
}
Karena object teacher di buat di luar object department, sehingga jika object department dihancurkan maka object teacher tetap exist. Object department bisa memiliki banyak object teacher yang berasosiasi dengannya, tapi tidak sebaliknya. Sehingga dalam relasi ini object department adalah owner dari object teacher.