Professional Documents
Culture Documents
Soal
Soal
NIM : 205150607111008
KELAS : PBO-A
TANGGAL : 21 Mei 2021
1. Soal
1. Buatlah program berdasarkan class diagram dan studi kasus yang telah dijelaskan
sebelumnya.
2. Tambahkan exception handling pada saat memilih sebuah karakter yang mana apabila
terjadi kesalahan dalam memasukkan inputan (inputan tidak berupa angka) maka
akan kembali ke menu utama sampai inputan yang dimasukkan sesuai.
3. Kode program
Class Main
1 package prak10_exceptionhandling;
2 import java.util.InputMismatchException;
3 import java.util.Scanner;
7 System.out.println("**************************************");
9 System.out.println("**************************************");
15 hero.info();
16 System.out.println();
19 if (hasilGame.equalsIgnoreCase("menang")) {
21 } else if (hasilGame.equalsIgnoreCase("kalah")) {
23 } else if (hasilGame.equalsIgnoreCase("seri")) {
25 }
29 titan.info();
30 System.out.println("\n------------------------------------");
31 }
34 + "\n1. Magician"
35 + "\n2. Healer"
36 + "\n3. Warrior");
37 try {
41 }
42 switch (pilihan) {
43 case 1:
45 case 2:
47 default:
49 }
51 if (e instanceof NumberFormatException) {
55 }
56 return inputPilihan();
57 }
58 }
60 String nama) {
64 if (i < 10) {
65 System.out.println("----------------------------");
66 } else {
67 System.out.println("----------------------------");
68 }
71 ((Healer) hero).heal();
73 if (hero.attack()) {
75 titan.receiveDamage(hero.getAttack());
76 }
77 if (titan.attack()) {
79 hero.receiveDamage(titan.getAttack());
80 }
82 + titan.getHP());
84 + hero.getHP());
86 return "seri";
87 }
88 if (titan.getHP() == 0) {
89 return "menang";
90 }
91 if (hero.getHP() == 0) {
92 return "kalah";
93 }
94 }
96 }
97
Class Character
1 package prak10_exceptionhandling;
7 this.HP = HP;
8 this.attack = attack;
9 this.defense = defense;
10 }
12 { return defense;
13 }
15 return attack;
16 }
19 return HP;
20 }
22 this.defense = defense;
23 }
25 this.attack = attack;
26 }
28 this.HP = HP;
29 }
34 this.HP -= damage1;
36 }
37 }
44 }
45 }
46
Class Magician
1 package prak10_exceptionhandling;
3 public Magician(){
4 super(10,60,100);
5 }
6 @Override
9 }
10 }
11
Class Healer
1 package prak10_exceptionhandling;
4 super(10,10,70);
5 }
6 @Override
9 }
11 setHP(getHP() + 25);
13 }
14 }
15
Class Warrior
1 package prak10_exceptionhandling;
3 public Warrior(){
4 super(30,25,80);
5 }
6 @Override
10 }
11
Class Titan
1 package prak10_exceptionhandling;
3 public Titan(){
5 }
6 @Override
9 }
10 }
11
4. Screenshot Program
A. Program
• Class Main
• Class Magician
• Class Warrior
• Class Titan
B. Output
Pilihan 1