Anda di halaman 1dari 6

Pertemuan 3

Nama : Agung Tauhid

NRP : 15-2021-184

Kelas : DD

Tanggal Penugasan : 10-03-2023


1. Perhatikan Diagram Class berikut!

Buatlah program menggunakan konsep agregasi dengan referensi diagram class di atas
dan contoh output sebagai berikut :

Source Code
 Dosen wali
public class DosenWali {
private String KodeDosen;//inisialisasi variabel
private Mahasiswa [] mhsw;//memanggil class mahasiswa lalu dideklarasikan dalam variabel mhsw
private int jumlahMahasiswa;//menginisialisasi variabel
public DosenWali(String KodeDosen) {//membuat konstruktor dengan isi variable KodeDosen
this.KodeDosen = KodeDosen;
}
public Mahasiswa[] getMhsw() {// metode yang digunakan untuk mengambil nilai suatu variabel
return mhsw;
}
public void addWali(Mahasiswa[] mhsw) {//membuat variabel addWali dengan inisialisasi variabel
mhsw
this.mhsw = mhsw;
System.out.println("Kode Dosen : " + KodeDosen);//menampilkan kalimat pada layar
System.out.println("Mahasiswa: ");//menampilkan kalimat pada layar
for (Mahasiswa m : getMhsw()) {//inisialisasi apabila Mahasiswa m sama dengan getMhsw
System.out.println(m);//menampilkan kalimat pada layar
}
}
}
 Mahasiswa
public class Mahasiswa {

private String nama,doswal;//inisialisasi variabel


private int nim;//inisialisasi variabel

public Mahasiswa(String nama, int nim) {//membuat konstruktor dengan isi variabel nama dan nim.
konstruktor merupakan suatu method yang akan memberikan nilai awal pada saat suatu objek dibuat
this.nama = nama;
this.nim = nim;
}

@Override

public String toString() {//membuat to string dengan variabel nama dan nim. toString untuk
mengatur representasi suatu objek ke dalam string
return "Mahasiswa{" + "nama =" + nama + ", nim = " + nim + '}';
}
}

 Main Class
public class MainClass {
public static void main(String[] args) {
Mahasiswa mhsw1 = new Mahasiswa("Agung",152021184);//menyimpan nilai mhsw1 ke dalam variabel
array mhsw
Mahasiswa mhsw2 = new Mahasiswa("Nopal",152021183);//menyimpan nilai mhsw2 ke dalam variabel
array mhsw
Mahasiswa mhsw3 = new Mahasiswa("Agip",152021185);//menyimpan nilai mhsw3 ke dalam variabel array
mhsw
Mahasiswa[] mhsw = {mhsw1, mhsw2, mhsw3};//menyimpan nilai array
DosenWali wali1 = new DosenWali("1234");//menyimpan nilai objek kelas DosenWali sesuai parameter
konstruktor isi
wali1.addWali(mhsw);//pemanggilan kelas addWali dengan objek wali1 dan parameter mhs
}
}

 Output
2. Buatlah program menggunakan konsep komposisi (terdiri dari 1 class yang disusun dan
minimal 3 class penyusun) beserta diagram classnya!

Keterangan:
- Kelas yang disusun adalah BangunRuang
- Kelas penyusun adalah Bola, Kerucut, Tabung
- Tiap kelas penyusun memiliki rumus volume
- Buat method displayVolume() pada class BangunRuang yang berisi nilai volume
Bola, Kerucut, Tabung

Source Code
 Bangun Ruang
public class BangunRuang { // Class untuk merepresentasikan data bangun ruang
private Bola bola; // Objek Bola untuk merepresentasikan bola dalam bangun ruang
private Kerucut kerucut; // Objek Kerucut untuk merepresentasikan kerucut dalam bangun ruang
private Tabung tabung; // Objek Tabung untuk merepresentasikan tabung dalam bangun ruang

// Konstruktor untuk membuat objek BangunRuang dengan parameter jariJari, tinggiKerucut, dan
tinggiTabung
public BangunRuang(double jariJari, double tinggiKerucut, double tinggiTabung) {
// Membuat objek Bola, Kerucut, dan Tabung dengan jari-jari dan tinggi tertentu
this.bola = new Bola(jariJari);
this.kerucut = new Kerucut(jariJari, tinggiKerucut);
this.tabung = new Tabung(jariJari, tinggiTabung);
}

// Method untuk menampilkan volume dari masing-masing objek BangunRuang


public void displayVolume() {
System.out.println("Volume Bola : " + bola.hitungVolume());
System.out.println("Volume Kerucut : " + kerucut.hitungVolume());
System.out.println("Volume Tabung : " + tabung.hitungVolume());
}
}

 Bola
public class Bola { // Class untuk merepresentasikan data bola
private double jariJari; // Variabel untuk menyimpan nilai jari-jari bola

// Konstruktor untuk membuat objek Bola dengan parameter jariJari


public Bola(double jariJari) {
this.jariJari = jariJari;
}
// Method untuk menghitung volume bola
public double hitungVolume() {
return (4.0/3.0) * Math.PI * Math.pow(jariJari, 3);
}
}

 Kerucut
public class Kerucut { // Class untuk mempresentasikan data kerucut
private double jariJari; // Variabel untuk menyimpan nilai jari-jari kerucut
private double tinggi; // Variabel untuk menyimpan nilai tinggi kerucut

// Konstruktor untuk membuat objek kerucut dengan parameter jariJari, dan tinggi kerucut
public Kerucut(double jariJari, double tinggi) {
this.jariJari = jariJari;
this.tinggi = tinggi;
}

// Method untuk menghitung volume kerucut


public double hitungVolume() {
return (1.0/3.0) * Math.PI * Math.pow(jariJari, 2) * tinggi;
}
}

 Tabung
public class Tabung { // Class untuk mempresentasikan data tabung
private double jariJari; // Variabel untuk menyimpan nilai jari-jari tabung
private double tinggi; // Variabel untuk menyimpan nilai tinggi tabung

// Konstruktor untuk membuat objek tabung dengan parameter jariJari, dan tinggi tabung
public Tabung(double jariJari, double tinggi) {
this.jariJari = jariJari;
this.tinggi = tinggi;
}

// Method untuk menghitung volume tabung


public double hitungVolume() {
return Math.PI * Math.pow(jariJari, 2) * tinggi;
}
}

 Main
public class Main { // Class Main2 untuk menjalankan program perhitungan volume beberapa bangun ruang
public static void main(String[] args) {
// Membuat objek bangunRuang dengan parameter jari-jari bola, tinggi kerucut, dan tinggi
BangunRuang bangunRuang = new BangunRuang(7, 19, 10);
// Memanggil method displayVolume untuk menampilkan hasil perhitungan volume
bangunRuang.displayVolume();
}
}

 Output
Diagram Class

Anda mungkin juga menyukai