Latihan Agregasi (PIS-13-03)


Desa shinobi bekerja sama untuk melakukan pendataan shinobi dari desanya masing-masing. Aplikasi pendataan yang digunakan menggunakan pendekatan pemrograman berorientasi objek. Ditentukan dalam aplikasi sederhana ini terdapat 2 class yang terlibat, Desa dan Shinobi.

 

 

Class Desa memiliki atribut nama, idDesa, dan pendiri. Behaviour dari class ini adalah get atribut terkait dan menampilkan data desa beserta shinobi-nya. Selain itu terdapat behaviour untuk menambahkan shinobi yang baru lulus dari akademi dan menghapus shinobi yang berkhianat. Konstruktor dari class Desa digunakan untuk menge-set atribut nama, pendiri dan idDesa. Class Desa menyimpan atribut shinobi berupa objek dalam bentuk array list.

Class Shinobi memiliki atribut no registrasi, nama dan tahun lulus akademi. Behaviour dari class shinobi adalah set-get atribut terkait. Terdapat 2 konstruktor. Konstruktor pertama untuk menge-set nama dan no registrasi. Konstruktor kedua untuk menge-set nama, no registrasi dan tahun lulus. Konstruktor tanpa parameter tahun lulus akademi mengambil tahun lulus dari sistem.

 

 

Skenario di class driver adalah sebagai berikut:

  1. Terdapat sebuah desa “Konohagakure” yang didirikan oleh Hokage dengan idDesa KNH
  2. Terdapat shinobi bernama Orochimaru, no registrasi 002300, dan lulus akademi di tahun 1990
  3. Terdapat shinobi bernama Uzumaki Naruto, no registrasi 012607, dan lulus akademi di tahun 2010
  4. Terdapat shinobi bernama Uchiha Sasuke, no registrasi 012606, dan lulus akademi di tahun 2010
  5. Tambahkan Orochimaru, Naruto dan Sasuke ke desa Konohagakure
  6. Orochimaru berkhianat dan mendirikan desa baru bernama Otogakure, dengan idDesa OTO
  7. Sasuke berkhianat dan bergabung menjadi shinobi Otogakure

Buatlah hubungan agregasi dari class shinobi dan class desa di atas dalam class diagram, kodekan class tersebut menggunakan bahasa java beserta class Driver-nya.

–Selamat Mengerjakan–