Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 4

LABORATORIUM PEMBELAJARAN ILMU KOMPUTER

FAKULTAS ILMU KOMPUTER


UNIVERSITAS BRAWIJAYA

BAB : Overloading method & constructor


Nama: Luther Risman Luosaro Zega
NIM : 205150400111027
Tanggal : 3 Maret 2021
Asisten : Rahmadhani Lucky Adiatma

A. SOAL
*Soal ditulis menggunakan font Times New Roman 11 dan jangan lupa untuk
mengisi border yang ada

B. SOURCE CODE
1 package com.pemlan;
2 import java.util.*;
3
4 class hero{
5 Scanner input = new Scanner(System.in);
6 private String name;
7 private double attackpoint;
8 private double hp;
private boolean hidup = true;

hero(String name, double attackpoint, double hp){


this.name = name;
this.attackpoint = attackpoint;
this.hp = hp;
}

hero(){ }

public void setname(String name){


this.name = name;
}

public void setattack(double attackpoint){


this.attackpoint = attackpoint;
}

public void setHP(double hp){


this.hp = hp;
}

public String getname(){


return this.name;
}

public double getattack(){


return this.attackpoint;
}

public double getHP(){


return this.hp;
}
public void serang(hero musuh){
System.out.println("===================================");
System.out.println(this.name + " attacing " + musuh.name);
this.health(musuh.attackpoint);
System.out.println(musuh.name + " attacing " + this.name);
musuh.health(this.attackpoint);

this.hp = this.health(musuh.attackpoint);
musuh.hp = musuh.health(this.attackpoint);

System.out.println("Hp "+this.name+" = "+this.hp);


System.out.println("Hp "+musuh.name+" = "+musuh.hp);

if(this.hp <= 0 || musuh.hp <= 0){


hidup = false;
}
}

public getboolean hidup(){


return hidup;
}

private double health(double musuh){


return this.hp-musuh;
}
}

public class tugas2 {


public static void main(String[] args) {
Scanner input = new Scanner(System.in);

//hero 1 dengan set-get


System.out.println("===================================");
hero hero1 = new hero();
System.out.println("Masukkan Nama Hero : ");
String name1 = input.nextLine();
hero1.setname(name1);
System.out.println("Masukkan Attack Power : ");
double attack1 = input.nextDouble();
hero1.setattack(attack1);
System.out.println("Masukkan HP : ");
double hp1 = input.nextDouble();
hero1.setHP(hp1);
System.out.println("===================================");
input.nextLine();

//hero2 dengan konstruktor


System.out.println("Masukkan Nama Hero : ");
String name2 = input.nextLine();
System.out.println("Masukkan Attack Power : ");
double attack2 = input.nextDouble();
System.out.println("Masukkan HP : ");
double hp2 = input.nextDouble();
hero hero2 = new hero(name2, attack2, hp2);
System.out.println("===================================");

do{
hero1.serang(hero2);
}
while(hero1.hidup() == true && hero2.hidup() == true );

if(hero1.hidup() == false || hero2.hidup() == false ){


System.out.println("===================================");
System.out.println("Pertarunagn Selesai");
if(hero1.hidup() == true)
{ System.out.println(hero2.getname()+" telah kalah");
System.out.println(hero1.getname()+" menang!! ");}
if(hero2.hidup() == true)
{System.out.println(hero1.getname()+" telah kalah");
System.out.println(hero2.getname()+" menang!! ");}
}
}}

C. PEMBAHASAN
1 Dalam tugas ini digunkan overloading costurctor dalam class. Terdapat class
3 hero yang berisi atribut nama, attackpoint, hp, dan hidup yang bersifat
5 private. Adapun beberapa method yang digunakan :
6  hero() : sebagai constructor default
7
 hero(String nama, double attackpoint, double hp) : sebagi constructor
overloading, dengan parameter yang berbeda.
 Setter dan getter untuk masing masing atribut : untuk mengisi dan
juga menampilkan isi atribut, digunakan karena atribut bersifat private
 serang() : yang berfungsi untuk melakukan penyerangan antar hero
 health() : berfungsi untuk mengurangi hp awal dengan attackpoint
musuh
dalam main class, kita meninsialisasi hero 1 dengan menggunakan set-get
dengan menginput data-data yang diperlukan, selanjutnya unutk hero 2
digunakan constructor yang memiliki parameter den menginput data-data
hero 2. Selanjutnya dilakukan looping untuk melakukan method serang(),
method ini akan terus berjalan jika kedua hero status hidupnya true (hp lebih
besar dari 0), jika salah 1 tidak memenuhi maka loop akan berhenti.
Selanjutnya dengan menggunakan if akan ditampilkan siapa hero yang
menang dan siapa yang kalah.
D. SCREENSHOT PROGRAM

Gambar 1.1 input data hero Gambar 1.2 battel

Gambar 1.3 bagian akhir

You might also like