Tugas 4 PBO D3MI-38-02


TUGAS A

Matrik diagonal  adalah matrik persegi (nxn) yang semua elemen di luar diagonal utama bernilai 0. Contoh matrik diagonal 3×3 adalah sebagai berikut:

1 0 0
0 2 0
0 0 3

Contoh matrik diagonal 4×4 adalah sebagai berikut:

9  0  0  0
0  3  0  0
0  0  8  0
0  0  0  4

Untuk membuat objek dari matrik di atas,

  1. Tentukanlah class, atribut, dan method yang diperlukan.
  2. Kodekan class tersebut.
  3. Buat class diagramnya.
  4. Pada class Main, bentuk 2 objek matrik, dan tampilkan nilai matrik dari 2 objek tersebut

Keterangan tambahan: nilai dari dimensi (ukuran) matrik, dan nilai matrik diberikan oleh pengguna.

TUGAS B

Seorang developer ingin membuat sebuah simulasi fighting game menggunakan konsep PBO. Setelah menganalisis kebutuhan, class diagram yang dihasilkan adalah sebagai berikut:

Assessment 1

Keterangan:

  1. Atribut name merupakan identitas karakter
  2. Atribut lifePoint merupakan atribut yang merepresentasikan tenaga dari tiap karakter. Nilai default dari lifePoint adalah 100.
  3. Atribut attackHitPoint merupakan kekuatan yang diberikan ketika melakukan hit.
  4. Atribut attackKickPoint merupakan kekuatan yang diberikan ketika melakukan kick
  5. Method “hit” merupakan method untuk menendang lawan. Masukan dari method ini adalah objek GameCharacter lain. Efek dari method ini mengurangi lifePoint lawan sebanyak attackHitPoint yang dimiliki.
  6. Method “kick” merupakan method untuk menendang lawan. Masukan dari method ini adalah objek GameCharacter lain. Efek dari method ini mengurangi lifePoint lawan sebanyak attackKickPoint yang dimiliki.
  7. Konstruktor digunakan untuk menge-set nama, attackHitPoint, dan attackKickPoint sesuai parameter masukan. Selain itu, konstruktor juga melakukan set lifePoint sebesar nilai default.
  8. Method getLifePoint dan getName merupakan method get bagi kedua atribut.
  9. Tidak terdapat konstruktor kosong.

Berdasarkan skenario di atas, bantulah developer untuk mengkodekan class di atas. Lalu, pada class Main, berikan scenario berikut:

  1. Buat sebuah objek dengan name: “Raiden”, attackHitPoint: 10, attackKickPoint: 20.
  2. Buat sebuah objek dengan name: “Sub-Zero”, attackHitPoint: 5, attackKickPoint: 25
  3. Objek Raiden memulai pertarungan dengan melakukan tendangan pada objek Sub-Zero.
  4. Objek Sub-Zero melakukan perlawanan dengan menendang balik objek Raiden.
  5. Objek Sub-Zero menyerang Raiden dengan pukulan berturut-turut sebanyak 3x (gunakan perulangan).
  6. Pertarungan diakhiri oleh Raiden dengan melakukan tendangan beruntun 4x pada objek Sub-Zero (gunakan perulangan).
  7. Tampilkan lifePoint dari objek Raiden dan objek Sub-Zero. Bandingkan kedua lifePoint tersebut.
  8. Tampilkan status kemenangan dari pertarungan kedua objek. Objek yang menang adalah objek yang memiliki lifePoint tertinggi di akhir pertarungan.

Pengerjaan & Pengumpulan: Tuliskan jawaban Tugas A dan Tugas B berupa kode program. Dikerjakan pada HVS (A4) bergaris atau polos, tulis tangan. Sebelum menjawab pada kertas, usahakan telah mencoba kode program dengan menggunakan metode Pair Programming. Berikan nomor halaman pada setiap kertas. Berikan cover depan (tidak dicetak) berupa nama, nim, kelas, dan judul (Tugas 4 PBO). Jika mengerjakan dengan Pair Programming, pastikan menulis kedua nama pembuat di halaman cover.

Tugas dikumpulkan hari Senin, 14 September 2015. Hanya saja dikarenakan terdapat keterlambatan pemberitahuan tugas, pengumpulan diundur sampai tanggal 16 September 2015.

File pdf: Tugas 4 PBO D3MI-38-02

-Selamat Mengerjakan-