PBO 5
muhammad rafi budi purnama
5025221307
PBO 5
Formulir rencana studi digunakan dalam ekosistem kampus, dimana mahasiswa menggunakan program ini dalam mengambil mata kuliah. Program sederhana ini memberikan gambaran sederhana mengenai bagaimana FRS berjalan menggunakan bahasa Java (simplified).
Terdapat beberapa bagian yaitu
- Main.java
- Mahasiswa.java
- Dosen.java
- MataKuliah.java
- Kelas.java
class diagram dari kelas kelas yang ada digambarkan dalam gambar berikut.
import java.util.ArrayList;
import java.util.Scanner;
public class Main {
static Scanner input = new Scanner(System.in);
static Mahasiswa mahasiswa;
static ArrayList<Dosen> daftarDosen = new ArrayList<>();
static ArrayList<MataKuliah> daftarMataKuliah = new ArrayList<>();
static ArrayList<Kelas> daftarKelas = new ArrayList<>();
static ArrayList<Kelas> kelasDiambil = new ArrayList<>();
public static void main(String[] args) {
isiDataAwal();
System.out.print("Masukkan nama mahasiswa: ");
String nama = input.nextLine();
System.out.print("Masukkan NRP mahasiswa: ");
String nrp = input.nextLine();
mahasiswa = new Mahasiswa(nama, nrp);
int pilihan;
do {
tampilkanMenu();
System.out.print("Pilih menu: ");
pilihan = input.nextInt();
input.nextLine();
switch (pilihan) {
case 1:
ambilKelas();
break;
case 2:
lihatDataKelas();
break;
case 3:
lihatDataMahasiswa();
break;
case 4:
lihatDataDosen();
break;
case 5:
lihatDataMataKuliah();
break;
case 6:
System.out.println("Terima kasih telah menggunakan sistem FRS!");
break;
default:
System.out.println("Pilihan tidak valid!");
}
System.out.println();
} while (pilihan != 6);
}
static void tampilkanMenu() {
System.out.println("=== MENU FORMULIR RENCANA STUDI ===");
System.out.println("1. Ambil Kelas");
System.out.println("2. Lihat Data Kelas yang Diambil");
System.out.println("3. Lihat Data Mahasiswa");
System.out.println("4. Lihat Data Dosen");
System.out.println("5. Lihat Data Mata Kuliah");
System.out.println("6. Keluar");
System.out.println("===================================");
}
static void isiDataAwal() {
// Dosen
Dosen d1 = new Dosen("Prof. Tohari Ahmad, Ph.D");
Dosen d2 = new Dosen("Dr. Budi Santoso, M.Kom");
Dosen d3 = new Dosen("Ir. Siti Aminah, M.T");
daftarDosen.add(d1);
daftarDosen.add(d2);
daftarDosen.add(d3);
// Mata Kuliah
MataKuliah m1 = new MataKuliah("Pemrograman Berorientasi Objek");
MataKuliah m2 = new MataKuliah("Jaringan Komputer");
MataKuliah m3 = new MataKuliah("Kecerdasan Buatan");
daftarMataKuliah.add(m1);
daftarMataKuliah.add(m2);
daftarMataKuliah.add(m3);
// Kelas (menghubungkan dosen & matkul)
daftarKelas.add(new Kelas(m1, d1));
daftarKelas.add(new Kelas(m2, d2));
daftarKelas.add(new Kelas(m3, d3));
}
static void ambilKelas() {
System.out.println("=== Ambil Kelas ===");
for (int i = 0; i < daftarKelas.size(); i++) {
System.out.println((i + 1) + ". " + daftarKelas.get(i));
}
System.out.print("Pilih nomor kelas: ");
int pilihan = input.nextInt();
input.nextLine();
if (pilihan > 0 && pilihan <= daftarKelas.size()) {
Kelas kelas = daftarKelas.get(pilihan - 1);
kelasDiambil.add(kelas);
System.out.println("Berhasil mengambil kelas: " + kelas);
} else {
System.out.println("Pilihan tidak valid!");
}
}
static void lihatDataKelas() {
System.out.println("=== Kelas yang Diambil ===");
if (kelasDiambil.isEmpty()) {
System.out.println("Belum ada kelas yang diambil.");
} else {
for (int i = 0; i < kelasDiambil.size(); i++) {
System.out.println((i + 1) + ". " + kelasDiambil.get(i));
}
}
}
static void lihatDataMahasiswa() {
System.out.println("=== Data Mahasiswa ===");
System.out.println(mahasiswa);
}
static void lihatDataDosen() {
System.out.println("=== Data Dosen ===");
for (int i = 0; i < daftarDosen.size(); i++) {
System.out.println((i + 1) + ". " + daftarDosen.get(i));
}
}
static void lihatDataMataKuliah() {
System.out.println("=== Data Mata Kuliah ===");
for (int i = 0; i < daftarMataKuliah.size(); i++) {
System.out.println((i + 1) + ". " + daftarMataKuliah.get(i));
}
}
}
Mahasiswa.java
public class Mahasiswa {
private String nama;
private String nrp;
public Mahasiswa(String nama, String nrp) {
this.nama = nama;
this.nrp = nrp;
}
public String getNama() {
return nama;
}
public String getNrp() {
return nrp;
}
@Override
public String toString() {
return nama + " (" + nrp + ")";
}
}
Dosen.java
public class Dosen {
private String nama;
public Dosen(String nama) {
this.nama = nama;
}
public String getNama() {
return nama;
}
@Override
public String toString() {
return nama;
}
}
MataKuliah.java
Kelas.java
public class MataKuliah {
private String namaMatkul;
public MataKuliah(String namaMatkul) {
this.namaMatkul = namaMatkul;
}
public String getNamaMatkul() {
return namaMatkul;
}
@Override
public String toString() {
return namaMatkul;
}
}
public class Kelas {
private MataKuliah mataKuliah;
private Dosen dosen;
public Kelas(MataKuliah mataKuliah, Dosen dosen) {
this.mataKuliah = mataKuliah;
this.dosen = dosen;
}
public MataKuliah getMataKuliah() {
return mataKuliah;
}
public Dosen getDosen() {
return dosen;
}
@Override
public String toString() {
return mataKuliah.getNamaMatkul() + " - " + dosen.getNama();
}
}
hasil dari implementasi tersebut diperlihatkan di gambar di bawah
Komentar
Posting Komentar