Nama : Erlangga Rizqi Dwi Raswanto
NRP : 5025241179
Kelas : PBO A
Pada pertemuan ini, materi berfokus pada Grouping Objek dan sifat/perilaku objek. Grouping Objek berarti mengelompokkan banyak objek berdasarkan struktur data agar mudah dikelola. Program yang dibuat adalah aplikasi Personal Notebook berbasis terminal yang memungkinkan pengguna:
-
menambah catatan,
-
melihat daftar catatan,
-
mencari catatan,
-
menghapus catatan.
Pengelompokan objek dilakukan dengan ArrayList<Note> di dalam NotebookApp. Setiap catatan direpresentasikan sebagai objek Note (berisi judul dan isi).
Konsep OOP pada aplikasi ini
-
Kelas sebagai blueprint objek:
Notemewakili satu catatan. -
Sifat (atribut):
title,content(bersifatprivate→ enkapsulasi). -
Perilaku (method): konstruktor, getter, dan
toString()padaNote. -
Grouping objek:
ArrayList<Note>padaNotebookAppmenyimpan banyakNote. -
Enkapsulasi: akses atribut
Notedibatasi, diakses lewat getter.
public class Note {
private String title;
private String content;
public Note(String title, String content) {
this.title = title;
this.content = content;
}
public String getTitle() {
return title;
}
public String getContent() {
return content;
}
@Override
public String toString() {
return "Judul: " + title + "\nIsi: " + content;
}
}
- Atribut:
- Konstruktor: Note(String title, String content) untuk membentuk objek yang valid.
- Getter: getTitle(), getContent() enkapsulasi.
- Representasi: toString() menampilkan catatan.
public class Note {
private String title;
private String content;
public Note(String title, String content) {
this.title = title;
this.content = content;
}
public String getTitle() {
return title;
}
public String getContent() {
return content;
}
@Override
public String toString() {
return "Judul: " + title + "\nIsi: " + content;
}
}- Struktur data:
ArrayList<Note> notes = new ArrayList<>(); - I/O: memakai
Scannerdengan validasi input angka menu. - Menu & Fitur:
Tambah Catatan
Meminta judul dan isi, lalunotes.add(new Note(title, content)).Lihat Semua Catatan
Menampilkan daftar judul (nomor urut + judul). Bila kosong, diberi pesan.Cari Catatan
Pencarian case-insensitive berdasarkan substring judul (contains). Semua kecocokan ditampilkan lengkap viatoString().Hapus Catatan
Menghapus berdasarkan judul yang sama persis (case-insensitive) memakairemoveIf(...).Keluar
Mengakhiri program dan menutupScanner.
Tidak ada komentar:
Posting Komentar