Tugas ALPRO minggu ke 10

Muhammad TB
3 min readMay 4, 2021

Class Diagram

UML class Segitiga, class Prisma, class Limas : Agregasi

Class Segitiga
Class Prisma
Class Limas
Class Main

UML class Lingkaran, class Kerucut : Agregasi

Class Lingkaran
Class Kerucut
Class Main

UML class Segiempat, Balok, Kubus : Komposisi

Class Segiempat
Class Balok
Class Kubus
Class Main

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.

--

--