Nama: Tatto Baskoro Nim: A11.2017.10113 Kelompok: PBO - A11.4419 Tugas 3 Pbo
Nama: Tatto Baskoro Nim: A11.2017.10113 Kelompok: PBO - A11.4419 Tugas 3 Pbo
Nim : A11.2017.10113
Kelompok : PBO - A11.4419
Tugas 3 pbo
1. Person.java
public Person(String name, String ssn) {
this.setName(name);
this.setSsn(ssn);
}
public Person() {
this.setName("?");
this.setSsn("???-??-????");
}
import java.util.ArrayList;
import java.util.Collection;
public class Mahasiswa extends Person {
private String fakultas;
private String prodi;
private ArrayList<Jadwal> kelasKuliah;
3. Matakuliah.java
import java.util.ArrayList;
import java.util.Collection;
public class Matakuliah {
private String kodeMK;
private String namaMK;
private double SKS;
private ArrayList<Jadwal> jadwalDitawarkan;
private ArrayList<Matakuliah> prasyaratMK;
public Jadwal jadwalKuliah(char day, String time, String room, int capacity) {
Jadwal s = new Jadwal(jadwalDitawarkan.size() + 1, day, time, this, room,
capacity);
addJadwal(s);
return s;
}
import java.util.ArrayList;
import java.util.HashMap;
public class Jadwal {
private int noJadwal;
private char hari;
private String waktu;
private String ruang;
private int kapasitas;
private Matakuliah repMatakuliah;
private PeriodeKuliah smt;
private HashMap<String, Mahasiswa> mhsTerdaftar;
public Jadwal(int sNo, char day, String time, Matakuliah course,String room, int
capacity) {
setNoJadwal(sNo);
setHari(day);
setWaktu(time);
setRepMatakuliah(course);
setRuang(room);
setKapasitas(capacity);
mhsTerdaftar = new HashMap<String, Mahasiswa>();
}
if (s.isCurrentlyEnrolledInSimilar(this)) {
return EnrollmentStatus.prevEnroll;
}
if (!this.konfirmKapasitas()) {
return EnrollmentStatus.secFull;
}
mhsTerdaftar.put(s.getSsn(), s);
s.addSection(this);
return EnrollmentStatus.success;
}
5. PeriodeKuliah.java
import java.util.ArrayList;
import java.util.HashMap;
public class PeriodeKuliah {
private String semester;
// key, e.g.,"PBO101 - 1".
private HashMap<String, Jadwal> jadwalDitawarkan;
6. EnrollmentStatus.java
import java.util.*;
if (findMakulByCode(kodeMk) != null) {
System.out.println("Kode matakuliah sudah ada");
inputMakul();
return;
}
if (listMK.size() > 1) {
System.out.print("Apakah ada prasyarat? (Y/N) ");
Scanner s1 = new Scanner(System.in);
String choice = s1.nextLine();
if (choice.equals("Y")) {
inputPrasyarat(mk);
} else {
System.out.println();
System.out.println("--------------Berhasil menambah Mata Kuliah-----
---------");
System.out.println();
menu();
}
} else {
System.out.println();
System.out.println("--------------Berhasil menambah Mata Kuliah--------------");
System.out.println();
menu();
}
}
System.out.print("Hari\t\t: ");
char day = s.nextLine().charAt(0);
System.out.print("Jam\t\t: ");
String time = s.nextLine();
System.out.print("Ruang\t\t: ");
String room = s.nextLine();
System.out.print("Kapasitas\t: ");
int capacity = s.nextInt();
Jadwal jadwal = mk.jadwalKuliah(day, time, room, capacity);
periode.addSection(jadwal);
System.out.println("Berhasil menambahkan jadwal");
System.out.println();
menu();
if (listMK.size() == 0) {
System.out.println("Daftar Matakuliah kosong, silakan isi terlebih dahulu");
inputMakul();
return;
}
if (periode.getJadwalDitawarkan().size() == 0) {
System.out.println("Daftar Jadwal kosong, silakan isi terlebih dahulu");
inputJadwal();
return;
}
System.out.println("Daftar Mahasiswa...");
listMHS.forEach(e->e.display());
Scanner s = new Scanner(System.in);
System.out.print("Pilih nim Mahasiswa: ");
String nim = s.nextLine();
periode.display();
System.out.print("Pilih nomor jadwal: ");
String kode = s.nextLine();
System.out.print(kodeMakul + "-" + kode);
Jadwal jadwal = periode.findSection(kodeMakul + "-" + kode);
//jadwal.display();
//mhs.display();
attemptToEnroll(mhs, jadwal);
System.out.println();
}
if (findMakul == null) {
System.out.println("Matakuliah tidak ditemukan");
inputPrasyarat(mk);
} else {
base.addPrasyarat(findMakul);
System.out.println("Berhasil menambah makul prasyarat");
System.out.println();
menu();
}
}