PBO 6
muhammad rafi budi purnama
5025221307
PBO 6
code : https://github.com/mbahbud/PBO.git
Personal Organizer
hasil implementasi dari personal organizer adalah seperti berikut.
Implementasi program tersebut bisa dikerjakan dalam satu kelas main seperti berikut.
Library Catalog
pada implementasi Library Catalog, kita akan membuat dua kelas yang direpresentasikan dalam class diagram berikut.
Main.java
import java.util.ArrayList;
import java.util.Scanner;
public class Main {
static Scanner input = new Scanner(System.in);
static ArrayList<Book> katalog = new ArrayList<>();
public static void main(String[] args) {
int pilihan;
do {
tampilkanMenu();
System.out.print("Pilih menu: ");
pilihan = input.nextInt();
input.nextLine(); // buang newline
switch (pilihan) {
case 1:
tambahBuku();
break;
case 2:
tampilkanBuku();
break;
case 3:
hapusBuku();
break;
case 4:
System.out.println("Terima kasih! Aplikasi ditutup.");
break;
default:
System.out.println("Pilihan tidak valid!");
}
System.out.println();
} while (pilihan != 4);
}
static void tampilkanMenu() {
System.out.println("=== LIBRARY CATALOG ===");
System.out.println("1. Tambah Buku Baru");
System.out.println("2. Tampilkan Daftar Buku");
System.out.println("3. Hapus Buku Berdasarkan Nomor");
System.out.println("4. Keluar");
System.out.println("=======================");
}
static void tambahBuku() {
System.out.print("Masukkan judul buku: ");
String judul = input.nextLine();
System.out.print("Masukkan nama penulis: ");
String penulis = input.nextLine();
System.out.print("Masukkan tahun terbit: ");
int tahun = input.nextInt();
input.nextLine();
Book buku = new Book(judul, penulis, tahun);
katalog.add(buku);
System.out.println("Buku \"" + judul + "\" berhasil ditambahkan!");
}
static void tampilkanBuku() {
System.out.println("=== DAFTAR BUKU ===");
if (katalog.isEmpty()) {
System.out.println("Belum ada buku dalam katalog.");
} else {
for (int i = 0; i < katalog.size(); i++) {
System.out.println((i + 1) + ". " + katalog.get(i));
}
}
}
static void hapusBuku() {
tampilkanBuku();
if (!katalog.isEmpty()) {
System.out.print("Masukkan nomor buku yang ingin dihapus: ");
int nomor = input.nextInt();
input.nextLine();
if (nomor > 0 && nomor <= katalog.size()) {
Book dihapus = katalog.remove(nomor - 1);
System.out.println("Buku \"" + dihapus.getJudul() + "\" telah dihapus.");
} else {
System.out.println("Nomor tidak valid!");
}
}
}
}
Student Record System
Pada project Student Record System, struktur class diagram sama dengan sebelumnya. Implementasinya terbagi dua yaitu main dan student.
Main.java
import java.util.ArrayList;
import java.util.Scanner;
public class Main {
static Scanner input = new Scanner(System.in);
static ArrayList<Student> daftarMahasiswa = new ArrayList<>();
public static void main(String[] args) {
int pilihan;
do {
tampilkanMenu();
System.out.print("Pilih menu: ");
pilihan = input.nextInt();
input.nextLine(); // buang newline
switch (pilihan) {
case 1:
tambahMahasiswa();
break;
case 2:
tampilkanMahasiswa();
break;
case 3:
hapusMahasiswa();
break;
case 4:
System.out.println("Terima kasih! Program ditutup.");
break;
default:
System.out.println("Pilihan tidak valid!");
}
System.out.println();
} while (pilihan != 4);
}
static void tampilkanMenu() {
System.out.println("=== STUDENT RECORD SYSTEM ===");
System.out.println("1. Tambah Mahasiswa Baru");
System.out.println("2. Tampilkan Daftar Mahasiswa");
System.out.println("3. Hapus Mahasiswa Berdasarkan Nomor");
System.out.println("4. Keluar");
System.out.println("=============================");
}
static void tambahMahasiswa() {
System.out.print("Masukkan nama mahasiswa: ");
String nama = input.nextLine();
System.out.print("Masukkan NRP mahasiswa: ");
String nrp = input.nextLine();
Student mhs = new Student(nama, nrp);
daftarMahasiswa.add(mhs);
System.out.println("Mahasiswa \"" + nama + "\" berhasil ditambahkan!");
}
static void tampilkanMahasiswa() {
System.out.println("=== DAFTAR MAHASISWA ===");
if (daftarMahasiswa.isEmpty()) {
System.out.println("Belum ada data mahasiswa.");
} else {
for (int i = 0; i < daftarMahasiswa.size(); i++) {
System.out.println((i + 1) + ". " + daftarMahasiswa.get(i));
}
}
}
static void hapusMahasiswa() {
tampilkanMahasiswa();
if (!daftarMahasiswa.isEmpty()) {
System.out.print("Masukkan nomor mahasiswa yang ingin dihapus: ");
int nomor = input.nextInt();
input.nextLine();
if (nomor > 0 && nomor <= daftarMahasiswa.size()) {
Student dihapus = daftarMahasiswa.remove(nomor - 1);
System.out.println("Mahasiswa \"" + dihapus.getNama() + "\" telah dihapus.");
} else {
System.out.println("Nomor tidak valid!");
}
}
}
}
Project Notebook
Implementasi pencatatan notebook dibagi menjadi
Main.java
import java.util.ArrayList;
import java.util.Scanner;
public class Main {
static Scanner input = new Scanner(System.in);
static ArrayList<Note> daftarCatatan = new ArrayList<>();
public static void main(String[] args) {
int pilihan;
do {
tampilkanMenu();
System.out.print("Pilih menu: ");
pilihan = input.nextInt();
input.nextLine(); // buang newline
switch (pilihan) {
case 1:
tambahCatatan();
break;
case 2:
tampilkanCatatan();
break;
case 3:
hapusCatatan();
break;
case 4:
System.out.println("Terima kasih! Notebook ditutup.");
break;
default:
System.out.println("Pilihan tidak valid!");
}
System.out.println();
} while (pilihan != 4);
}
static void tampilkanMenu() {
System.out.println("=== NOTEBOOK ===");
System.out.println("1. Tambah Catatan Baru");
System.out.println("2. Tampilkan Semua Catatan");
System.out.println("3. Hapus Catatan Berdasarkan Nomor");
System.out.println("4. Keluar");
System.out.println("================");
}
static void tambahCatatan() {
System.out.print("Masukkan judul catatan: ");
String judul = input.nextLine();
System.out.print("Masukkan isi catatan: ");
String isi = input.nextLine();
Note note = new Note(judul, isi);
daftarCatatan.add(note);
System.out.println("Catatan \"" + judul + "\" berhasil ditambahkan!");
}
static void tampilkanCatatan() {
System.out.println("=== DAFTAR CATATAN ===");
if (daftarCatatan.isEmpty()) {
System.out.println("Belum ada catatan.");
} else {
for (int i = 0; i < daftarCatatan.size(); i++) {
System.out.println((i + 1) + ". " + daftarCatatan.get(i).getJudul());
}
System.out.println();
System.out.print("Ingin melihat isi catatan tertentu? (masukkan nomor atau 0 untuk kembali): ");
int nomor = input.nextInt();
input.nextLine();
if (nomor > 0 && nomor <= daftarCatatan.size()) {
System.out.println("------------------------");
System.out.println(daftarCatatan.get(nomor - 1));
System.out.println("------------------------");
}
}
}
static void hapusCatatan() {
tampilkanCatatan();
if (!daftarCatatan.isEmpty()) {
System.out.print("Masukkan nomor catatan yang ingin dihapus: ");
int nomor = input.nextInt();
input.nextLine();
if (nomor > 0 && nomor <= daftarCatatan.size()) {
Note dihapus = daftarCatatan.remove(nomor - 1);
System.out.println("Catatan \"" + dihapus.getJudul() + "\" telah dihapus.");
} else {
System.out.println("Nomor tidak valid!");
}
}
}
}
Note.java
public class Note {
private String judul;
private String isi;
public Note(String judul, String isi) {
this.judul = judul;
this.isi = isi;
}
public String getJudul() {
return judul;
}
public String getIsi() {
return isi;
}
@Override
public String toString() {
return "Judul: " + judul + "\nIsi: " + isi;
}
}
Komentar
Posting Komentar