Nama : Safa Mashita
NRP : 5025241022
Pertemuan 6 - Personal Note App
Dalam pemrograman berorientasi objek (OOP), terdapat konsep yang disebut Grouping Object. Grouping object adalah cara untuk mengelompokkan beberapa objek agar dapat saling berhubungan dan bekerja sama membentuk suatu sistem yang lebih kompleks. Objek pada OOP biasanya berdiri sendiri, tetapi dalam kenyataannya banyak kasus di mana satu objek memiliki relasi dengan objek lainnya. Misalnya, seorang pengguna (User) bisa memiliki banyak catatan (Note). Dengan grouping object, saya bisa memodelkan hubungan tersebut dengan baik.
Untuk menerapkan konsep grouping object, saya memilih membuat sebuah aplikasi sederhana bernama Personal Note App.
A. Alur Penggunaan Aplikasi
Menjalankan Program
User langsung disambut menu utama.-
Tambah Catatan
User pilih menu “Tambah Catatan”, lalu masukkan judul dan isi catatan. Catatan otomatis tersimpan ke dalamArrayList<Note>. -
Lihat Semua Catatan
User bisa pilih menu “Lihat Semua Catatan” untuk menampilkan daftar catatan yang sudah dibuat. -
Cari Catatan
User pilih menu “Cari Catatan” lalu ketikkan judul. Jika cocok, catatan yang sesuai akan ditampilkan. -
Hapus Catatan
User pilih menu “Hapus Catatan” lalu masukkan judul catatan yang ingin dihapus. Jika judul ada, catatan akan terhapus. -
Keluar
User bisa keluar dari aplikasi dengan pilih menu “Keluar”.
-
Class User : merepresentasikan seorang pengguna aplikasi.
-
Class Note : merepresentasikan catatan yang dimiliki oleh pengguna.
Hubungan antar kelas:
-
Satu objek User dapat memiliki banyak objek Note.
-
Relasi ini disebut one-to-many relationship.
-
Objek Note tidak bisa berdiri sendiri tanpa adanya User.
-
Atribut:
-
private String title;untuk menyimpan judul catatan. -
private String content;untuk menyimpan isi catatan.
-
-
Konstruktor:
-
public Note(String title, String content)digunakan untuk membuat catatan baru dengan judul dan isi sesuai input user.
-
-
Method:
-
getTitle()untuk mengembalikan nilai judul catatan. -
getContent()untuk mengembalikan isi catatan.
-
Dengan class Note, saya dapat membuat objek catatan yang memiliki judul dan isi yang spesifik.
Atribut:
-
ArrayList<Note> notesuntuk menyimpan kumpulan catatan. -
Scanner scanneruntuk membaca input dari user. -
int choiceuntuk menyimpan pilihan menu yang dipilih user.
-
-
Konstruktor:
-
Tidak ada konstruktor khusus, karena seluruh logika aplikasi langsung dijalankan dalam method
main.
-
-
Method:
-
public static void main(String[] args)method utama yang menjadi titik masuk program. Di dalamnya terdapat logika menu, perulangan, dan pemanggilan operasi catatan. -
Operasi di dalam
main: -
Tambah Catatan : membuat objek
Notebaru dan menambahkannya keArrayList notes. -
Lihat Semua Catatan : menampilkan daftar judul catatan yang ada di dalam
notes. -
Cari Catatan : mencari catatan berdasarkan judul (case-insensitive, bisa sebagian).
-
Hapus Catatan : menghapus catatan berdasarkan judul menggunakan
removeIf. -
Keluar : menghentikan program.
ArrayList<Note>) untuk mengelola banyak objek Note. Desainnya mengikuti prinsip OOP dasar (enkapsulasi pada Note, single responsibility, dan controller NotebookApp yang mengelola koleksi).
Tidak ada komentar:
Posting Komentar