Tugas Pertemuan 13
Abstraksi Class
Nama : Aryaka Leorgi Eprideka
NRP : 5025231117
Kelas : PBO - G
SOAL :
1. Tuliskan implementasi dari program kecil Abstract Class Makhluk hidup yang diwariskan kepada manusia, hewan, dan tumbuhan
2. Pelajari dan baca simulasi Foxes and Rabbit yang ada di buku. Kemudian buat program perubahan dari struktur class umum menjadi bentuk Abstract Class.
JAWABAN
1. Class diagram
Source code: github
Main.java
- Kelas utama untuk menjalankan program.
- Membuat objek Manusia, Hewan, dan Tumbuhan sebagai turunan dari kelas abstrak MakhlukHidup.
- Memanggil metode makan, bernafas, dan berkembangBiak pada setiap objek untuk menunjukkan perilaku spesifik masing-masing.
MakhlukHidup.java
- Kelas abstrak yang mendefinisikan kerangka dasar untuk makhluk hidup.
- Memiliki metode abstrak makan, bernafas, dan berkembangBiak yang harus diimplementasikan oleh semua subclass.
- Tidak dapat diinstansiasi secara langsung.
Manusia.java
- Turunan dari MakhlukHidup.
- Mengimplementasikan metode makan (menggunakan tangan/alat makan), bernafas (dengan paru-paru), dan berkembangBiak (secara seksual).
- Representasi spesifik dari perilaku manusia.
Hewan.java
- Turunan dari MakhlukHidup.
- Mengimplementasikan metode makan (beragam sesuai jenis), bernafas (menggunakan paru-paru, insang, atau kulit), dan berkembangBiak (secara seksual atau aseksual).
- Representasi spesifik dari perilaku hewan.
Tumbuhan.java
- Turunan dari MakhlukHidup.
- Mengimplementasikan metode makan (fotosintesis), bernafas (melalui stomata dan lentisel), dan berkembangBiak (secara generatif dan vegetatif).
- Representasi spesifik dari perilaku tumbuhan.
Output :
2. Gambar Diagram :
Source code: github
Field.java
- Fungsi: Merepresentasikan lingkungan simulasi sebagai grid dua dimensi.
- Fitur Utama:
- Menyimpan objek di setiap sel grid.
- Memberikan informasi tentang lokasi di sekitarnya (adjacent cells).
- Memungkinkan penempatan, pengambilan, dan pengosongan sel.
Animal.java
- Fungsi: Abstract class untuk semua hewan.
- Fitur Utama:
- Properti lokasi (
rowdancol) dan referensi keField. - Metode abstrak
act()yang menentukan perilaku setiap hewan. - Metode
move()untuk memindahkan hewan ke lokasi baru.
- Properti lokasi (
Rabbit.java
- Fungsi: Subclass dari
Animal, merepresentasikan kelinci. - Fitur Utama:
- Implementasi metode
act(): Kelinci hanya bergerak ke lokasi kosong di grid.
- Implementasi metode
Fox.java
- Fungsi: Subclass dari
Animal, merepresentasikan rubah. - Fitur Utama:
- Implementasi metode
act(): Rubah berburu dan memakan kelinci di sel yang berdekatan, atau bergerak ke lokasi kosong jika tidak menemukan kelinci.
- Implementasi metode
Simulator.java
- Fungsi: Mengatur jalannya simulasi.
- Fitur Utama:
- Menyimpan daftar hewan dan objek
Field. - Menjalankan simulasi selama sejumlah langkah dengan memanggil metode
act()untuk setiap hewan.
- Menyimpan daftar hewan dan objek
Main.java
- Fungsi: Titik awal program.
- Fitur Utama:
- Membuat objek
Simulator. - Menambahkan hewan (
RabbitdanFox) ke simulasi. - Memulai simulasi dengan memanggil metode
simulate().
Output:
Komentar
Posting Komentar