Anda di halaman 1dari 23

UJIAN TENGAH SEMESTER

OLEH:

NAMA : YUSTINA MARIA BALOK OMENU


NPM : 51190035
SEMESTER/KELAS : V/A

MATA KULIAH PEMROGRAMAN BEROREANTASI OBJECT


PROGRAM STUDY TEKNOLOGI INFORMASI
FAKULTAS PERTANIAN
UNIVERSITAS TIMOR
2021
1. ClassDanObject;
2. /*
3. * To change this license header, choose License Headers in Project Properties.
4. * To change this template file, choose Tools | Templates
5. * and open the template in the editor.
6. */
7.
8. package ClassDanObject;
9.
10. /**
11. *
12. * @author yunii
13. */
14. class Mahasiswa{
15. String nama;
16. String NIM;
17. String jurusan;
18. double IPK;
19. int umur;
20. }
21. public class Main {
22. public static void main(String[] args) throws Exception {
23.
24. // instansiasi / membuat object
25. Mahasiswa mahasiswa1 = new Mahasiswa();
26. mahasiswa1.nama = "yunii";
27. mahasiswa1.NIM = "51190035";
28. mahasiswa1.jurusan = "teknik perteknikan";
29. mahasiswa1.IPK = 3.25;
30. mahasiswa1.umur = 22;
31.
32. System.out.println(mahasiswa1.nama);
33. System.out.println(mahasiswa1.NIM);
34. System.out.println(mahasiswa1.jurusan);
35. System.out.println(mahasiswa1.IPK);
36. System.out.println(mahasiswa1.umur);
37.
38. Mahasiswa mahasiswa2 = new Mahasiswa();
39. mahasiswa2.nama = "Vonny";
40. mahasiswa2.NIM = "51190001";
41. mahasiswa2.jurusan = "teknik perteknikan";
42. mahasiswa2.IPK = 3.5;
43. mahasiswa2.umur = 19;
44.
45. System.out.println(mahasiswa2.nama);
46. System.out.println(mahasiswa2.NIM);
47. System.out.println(mahasiswa2.jurusan);
48. System.out.println(mahasiswa2.IPK);
49. System.out.println(mahasiswa2.umur);
50. }
51.
52. }

2. Costruktor;
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/

package Costruktor;

/**
*
* @author yb
*/
// class tanpa constructor / class polos
class Polos{
String dataString;
int dataInteger;
}

// class dengan constructor


class Mahasiswa{
String nama;
String NIM;
String jurusan;

// constructor dipanggil saat object pertama kali dibuat


// Mahasiswa(){
// System.out.println("ini adalah constructor");
// }

// constructor dengan parameter


Mahasiswa(String inputNama, String inputNIM, String inputJurusan){
nama = inputNama;
NIM = inputNIM;
jurusan = inputJurusan;

System.out.println(nama);
System.out.println(NIM);
System.out.println(jurusan);
}
}

public class Main {


public static void main(String[] args) throws Exception {
Mahasiswa mahasiswa1 = new Mahasiswa("Yunii","5190035","teknologi informasi");
Mahasiswa mahasiswa2 = new Mahasiswa("Vonny","51190001","teknologi
informasiS");

// Polos objectPolos = new Polos();


// objectPolos.dataString = "polos";
// objectPolos.dataInteger = 0;

// System.out.println(objectPolos.dataString);
// System.out.println(objectPolos.dataInteger);
}
}

3. Method;
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/

package Method;

/**
*
* @author yunii
*/
class Mahasiswa{
// Data member
String nama;
String NIM;

// constructor
Mahasiswa(String nama, String NIM){
this.nama = nama;
this.NIM = NIM;
}

// method tanpa return dan tanpa parameter


void show(){
System.out.println("Nama : " + this.nama);
System.out.println("NIM : " + this.NIM);
}

// method tanpa return dan dengan parameter


void setNama(String nama){
this.nama = nama;
}

// method dengan return tapi tidak ada parameter


String getNama(){
return this.nama;
}

String getNIM(){
return this.NIM;
}

// method dengan return dan dengan parameter


String sayHi(String message){
return message + " juga, nama saya adalah " + this.nama;
}
}

public class Main{


public static void main(String[] args) {
Mahasiswa mahasiswa1 = new Mahasiswa("Yunii","51190035");
// method
mahasiswa1.show();
mahasiswa1.setNama("Yunii");
mahasiswa1.show();

System.out.println(mahasiswa1.getNama());
System.out.println(mahasiswa1.getNIM());

String data = mahasiswa1.sayHi("Cantik");


System.out.println(data);
}
}

4. Part1;

/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/

package Part1;

/**
*
* @author YB
*/
class Player{
String name;
double health;
int level;
// object member
Weapon weapon;
Armor armor;

Player(String name, double health){


this.name = name;
this.health = health;
}

void attack(Player opponent){


double attackPower = this.weapon.attackPower;

System.out.println(this.name + " attacking " + opponent.name + " with power " +


attackPower);
opponent.defence(attackPower);
}

void defence(double attackPower){


// akan mengambil damage
double damage;
if (this.armor.defencePower < attackPower){
damage = attackPower - this.armor.defencePower;
} else {
damage = 0;
}

this.health -= damage;
System.out.println(this.name + " gets damage " + damage);
}

void equipWeapon(Weapon weapon){


this.weapon = weapon;
}

void equipArmor(Armor armor){


this.armor = armor;
}

void display(){
System.out.println("\nName : " + this.name);
System.out.println("Health : " + this.health + " hp");
this.weapon.display();
this.armor.display();
}
}

// senjata
class Weapon{
double attackPower;
String name;

Weapon(String name, double attackPower){


this.name = name;
this.attackPower = attackPower;
}

void display(){
System.out.println("Weapon : " + this.name + " , attack : " + this.attackPower);
}
}

// armor
class Armor{
double defencePower;
String name;

Armor(String name, double defencePower){


this.name = name;
this.defencePower = defencePower;
}

void display(){
System.out.println("Armor : " + this.name + " , defence : " + this.defencePower);
}
}

public class Main{

public static void main(String[] args) {

// membuat object player


Player player1 = new Player("ucup",100);
Player player2 = new Player("otong",50);

// membuat object weapon


Weapon pedang = new Weapon("pedang",15);
Weapon ketapel = new Weapon("ketapel",1);

// membuat object armor


Armor bajuBesi = new Armor("baju besi",10);
Armor kaos = new Armor("kaos",0);

// player 1
player1.equipWeapon(pedang);
player1.equipArmor(bajuBesi);
player1.display();

// player 2
player2.equipWeapon(ketapel);
player2.equipArmor(kaos);
player2.display();

System.out.println("\nPERTEMPURAAAN");
System.out.println("\nEpisode - 1\n");
player1.attack(player2);
player1.display();
player2.display();
System.out.println("\nEpisode - 2\n");
player2.attack(player1);
player1.display();
player2.display();
}
}

5. Part2

/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/

package Part2;
/**
*
* @author yunii
*/

// player
class Player{
String name;
double health;
int level;
// object member
Weapon weapon;
Armor armor;

Player(String name, double health){


this.name = name;
this.health = health;
}

void attack(Player opponent){


double attackPower = this.weapon.attackPower;

System.out.println(this.name + " attacking " + opponent.name + " with power " +


attackPower);
opponent.defence(attackPower);
}

void defence(double attackPower){


// akan mengambil damage
double damage;
if (this.armor.defencePower < attackPower){
damage = attackPower - this.armor.defencePower;
} else {
damage = 0;
}

this.health -= damage;
System.out.println(this.name + " gets damage " + damage);
}

void equipWeapon(Weapon weapon){


this.weapon = weapon;
}

void equipArmor(Armor armor){


this.armor = armor;
}

void display(){
System.out.println("\nName : " + this.name);
System.out.println("Health : " + this.health + " hp");
this.weapon.display();
this.armor.display();
}
}

// senjata
class Weapon{
double attackPower;
String name;

Weapon(String name, double attackPower){


this.name = name;
this.attackPower = attackPower;
}

void display(){
System.out.println("Weapon : " + this.name + " , attack : " + this.attackPower);
}
}

// armor
class Armor{
double defencePower;
String name;

Armor(String name, double defencePower){


this.name = name;
this.defencePower = defencePower;
}

void display(){
System.out.println("Armor : " + this.name + " , defence : " + this.defencePower);
}
}

public class Main{

public static void main(String[] args) {

// membuat object player


Player player1 = new Player("yunii",100);
Player player2 = new Player("vonny",50);

// membuat object weapon


Weapon pedang = new Weapon("pedang",15);
Weapon ketapel = new Weapon("ketapel",1);

// membuat object armor


Armor bajuBesi = new Armor("baju besi",10);
Armor kaos = new Armor("kaos",0);

// player 1
player1.equipWeapon(pedang);
player1.equipArmor(bajuBesi);
player1.display();

// player 2
player2.equipWeapon(ketapel);
player2.equipArmor(kaos);
player2.display();

System.out.println("\nPERTEMPURAAAN");
System.out.println("\nEpisode - 1\n");
player1.attack(player2);
player1.display();
player2.display();
System.out.println("\nEpisode - 2\n");
player2.attack(player1);
player1.display();
player2.display();
}
}
6. RevereceDariObject;
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/

package RevereceDariObject;

/**
*
* @author yunii
*/
class Buku{
String judul;
String penulis;

Buku(String judul, String penulis){


this.judul = judul;
this.penulis = penulis;
}

void display(){
System.out.println("\nJudul\t: " + this.judul);
System.out.println("Penulis\t: " + this.penulis);
}
}

public class Main{


public static void main(String[] args) {
Buku buku1 = new Buku("Killing Commandantore", "Haruki Murakami");
buku1.display();

// Menampilkan address
String addressBuku1 = Integer.toHexString(System.identityHashCode(buku1));
System.out.println(addressBuku1);

// assignment object
Buku buku2 = buku1;
buku2.display();
String addressBuku2 = Integer.toHexString(System.identityHashCode(buku2));
System.out.println(addressBuku2);

// karena buku1 dan buku2 berada pada address atau referensi yang sama
buku2.judul = "Membunuh komandantur";
buku1.display();
buku2.display();
// kita akan memasukan object kedalam methods
fungsi(buku2);
buku1.display();
buku2.display();
}

public static void fungsi(Buku dataBuku){


String addressDataBuku = Integer.toHexString(System.identityHashCode(dataBuku));
System.out.println("address dalam fungsi " + addressDataBuku);
dataBuku.penulis = "Haruki Mahalkami";
}
}

7. PublikDanPrivateKeywords;
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/

package PublikDanPrivateKeywords;

/**
*
* @author gonzha
*/
class Player{
String name; // default, dia akan bisa dibaca dan ditulis dari luar class
public int exp; // public, dia akan bisa dibaca dan ditulis dari luar class
private int health; // private, hanya akan bisa dibaca dan ditulis di dalam class saja

Player(String name, int exp, int health){


this.name = name;
this.exp = exp;
this.health = health;
}

// default modifier access


void display(){
tambahExp(); // contoh mengakses private methods
System.out.println("\nName\t: " + this.name);
System.out.println("exp\t: " + this.exp);
System.out.println("health\t: " + this.health); // membaca, tapi didalam class
}

// public
public void ubahName(String nameBaru){
this.name = nameBaru;
}

// private
private void tambahExp(){
this.exp += 100;
}
}

public class Main{


public static void main(String[] args) {

Player player1 = new Player("yunii",0,100);

// default
System.out.println(player1.name); // membaca data
player1.name = "sianny"; // Menulis data
System.out.println(player1.name); // membaca data

// public
System.out.println(player1.exp); // membaca data
player1.exp = 100; // Menulis data
System.out.println(player1.exp); // membaca data

// private (tidak bisa diakses)


// System.out.println(player1.health); // membaca data
// player1.health = 200; // Menulis data
// System.out.println(player1.health); // membaca data

// methods

// default
player1.display();

// public
player1.ubahName("Jenny");
player1.display();

// private (tidak bisa diakses)


// player1.tambahExp();
}
}

8. GetterDanSetteMethodsEncapsulasi;

/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/

package GetterDanSetteMethodsEncapsulasi;

/**
*
* @author yunii
*/
class Data{
public int intPublic;
private int intPrivate;
private double doublePrivate;

public Data(){
this.intPublic = 0;
this.intPrivate = 10;
}

void display(){
System.out.println(this.intPublic);
System.out.println(this.intPrivate);
System.out.println(this.doublePrivate);
}

// getter
public int getIntPrivate(){
return this.intPrivate;
}

// setter
public void setDoublePrivate(double value){
this.doublePrivate = value;
}
}

class Lingkaran{
private double diameter;

Lingkaran(double diameter){
this.diameter = diameter;
}

// setter
public void setJari2(double jari2){
this.diameter = jari2*2;
}

// getter
public double getJari2(){
return this.diameter/2;
}

// getter
public double getLuas(){
return 3.14*diameter*diameter/4;
}
}

public class Main{

public static void main(String[] args) {

Data object = new Data();

// read and write dengan menggunakan public


object.intPublic = 5; // Write
System.out.println("public : " + object.intPublic); // read

// read only (kita bisa menggunakan GETTER)


int angka = object.getIntPrivate();
System.out.println("getter : " + angka);

// write only (kita hanya bisa menulis SETTER)


object.setDoublePrivate(0.05);
object.display();

// gabungkan read dan write dengan setter dan getter


Lingkaran object2 = new Lingkaran(5);
System.out.println("jari-jari : " + object2.getJari2());
object2.setJari2(14);
System.out.println("jari-jari : " + object2.getJari2());
System.out.println("Luas : " + object2.getLuas());
}

9. Latihan Encaptulasi (Part-1)


/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/

package EncapsulasiPart1;

/**
*
* @author Yunii
*/
class Player{
private String name;
private int baseHealth;
private int baseAttack;
private Armor armor;
private Weapon weapon;
private int level;
private int incrementHealth;
private int incrementAttack;

public Player(String name){


this.name = name;
this.baseHealth = 100;
this.baseAttack = 100;
this.level = 1;
this.incrementHealth = 20;
this.incrementAttack = 20;
}

public void display(){


System.out.println("Player\t\t : " + this.name);
System.out.println("Level\t\t : " + this.level);
System.out.println("MaxHealth\t : " + this.maxHealth());
System.out.println("Attack\t\t : " + this.getAttackPower() + "\n");
}

public void levelUp(){


this.level++;
}

public void setArmor(Armor armor){


this.armor = armor;
}

public void setWeapon(Weapon weapon){


this.weapon = weapon;
}

public int maxHealth(){


return this.baseHealth + this.level*this.incrementHealth + this.armor.getAddHealht();
}

public int getAttackPower(){


return this.baseHealth + this.level*this.incrementAttack + this.weapon.getAttack();
}

class Weapon{
private String name;
private int attack;

public Weapon(String name, int attack){


this.name = name;
this.attack = attack;
}

public int getAttack(){


return this.attack;
}
}

class Armor{
private String name;
private int strength;
private int health;

public Armor(String name, int strength, int health){


this.name = name;
this.strength = strength;
this.health = health;
}

public int getAddHealht(){


return this.strength*10 + this.health;
}
}

public class Main{


public static void main(String[] args) {
Player player1 = new Player("Yunii");
Armor armor1 = new Armor("Baju besi",5,100);
Weapon weapon1 = new Weapon("Pedang", 10);
player1.setArmor(armor1);
player1.setWeapon(weapon1);

Player player2 = new Player("Vonny");


Armor armor2 = new Armor("Gaun Pesta",1,40);
Weapon weapon2 = new Weapon("Pecut", 40);
player2.setArmor(armor2);
player2.setWeapon(weapon2);

player1.display();
player2.display();
}
}

10. Latihan Encaptulasi (Part-2)

class Player{
private String name;
private int baseHealth;
private int baseAttack;
private int incrementHealth;
private int incrementAttack;
private int level;
private int totalDamage;
private boolean isaAlive;

// Ini adalah object member


private Armor armor;
private Weapon weapon;

public Player(String name){


this.name = name;
this.baseHealth = 100;
this.baseAttack = 100;
this.level = 1;
this.incrementHealth = 20;
this.incrementAttack = 20;
this.isaAlive = true;
}

public String getName(){


return this.name;
}

public int getHealth(){


return this.maxHealth() - this.totalDamage;
}

public void display(){


System.out.println("Player\t\t: " + this.name);
System.out.println("Level\t\t: " + this.level);
System.out.println("Health\t\t: " + this.getHealth() +"/" + this.maxHealth());
System.out.println("Attack\t\t: " + this.getAttackPower());
System.out.println("Alive\t\t: " + this.isaAlive + "\n");
}

public void attack(Player opponent){


// hitung damage
int damage = this.getAttackPower();
// print event
System.out.println(this.name + " is attacking " + opponent.getName() + " with " +
damage + "\n");
// attack si opponent
opponent.defence(damage);

this.levelUp();
}
public void defence(int damage){
//receive damage
int defencePower = this.armor.getDefencePower();
int deltaDamage;

System.out.println(this.name + "defence power ="+ defencePower);


if(damage > defencePower){
deltaDamage = damage - defencePower;
} else {
deltaDamage = 0;
}
System.out.println("damage earned ="+ deltaDamage + "/n");

// adding total damage


this.totalDamage += deltaDamage;

// check is alive
if (this.getHealth() <= 0){
this.isaAlive = false;
this.totalDamage = this.maxHealth();
}
this.display();
}

private int getAttackPower(){


return this.baseHealth + this.level*this.incrementAttack + this.weapon.getAttack();
}

public void levelUp(){


this.level++;
}

public void setArmor(Armor armor){


this.armor = armor;
}

public void setWeapon(Weapon weapon){


this.weapon = weapon;
}

public int maxHealth(){


return this.baseHealth + this.level*this.incrementHealth + this.armor.getAddHealht();
}

class Weapon{
private String name;
private int attack;
public Weapon(String name, int attack){
this.name = name;
this.attack = attack;
}

public int getAttack(){


return this.attack;
}
}

class Armor{
private String name;
private int strength;
private int health;

public Armor(String name, int strength, int health){


this.name = name;
this.strength = strength;
this.health = health;
}

public int getAddHealht(){


return this.strength*10 + this.health;
}

public int getDefencePower(){


return this.strength*2;
}
}

public class Main{


public static void main(String[] args) {
Player player1 = new Player("Mayela");
Armor armor1 = new Armor("Baju besi",5,100);
Weapon weapon1 = new Weapon("Pedang", 10);
player1.setArmor(armor1);
player1.setWeapon(weapon1);

Player player2 = new Player("Ince");


Armor armor2 = new Armor("Gaun Pesta",1,40);
Weapon weapon2 = new Weapon("Pecut", 40);
player2.setArmor(armor2);
player2.setWeapon(weapon2);

player1.display();
player2.display();

player1.attack(player2);
player2.attack(player1);
player2.attack(player1);
}
}

11. Static atau Class Attributes

class Display{
static String type = " Display";
private String name;

Display(String name){
this.name = name;
}

void setType(String typeInput){


// type = typeInput ; // alternatif 1

this.type = typeInput; // alternatif 2


Display.type = typeInput;
}
void show(){
System.out.println("Display name = " + this.name);
}
}

public class Main{


public static void main(String[] args) {
Display display1 = new Display("Monitor");
display1.show();

Display display2 = new Display("Smartphone");


display2.show();

//tampilkan static variable atau class variable

//kita coba menggantikan variable staticnya


display1.setType("Monitor");

System.out.println("\nMenampilkan static atau class static variable");


System.out.println(display1.type);
System.out.println(display2.type);
System.out.println(Display.type);
}
}

12. StaticAtauClassMethods
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/

package StaticAtauClassMethods;

/**
*
* @author gonzha
*/
import java.util.ArrayList;

class Player{

private static int numberOfPlayer;


private static ArrayList<String> namelist = new ArrayList<String>();
private String name;

Player (String name){


this.name = name;
Player.numberOfPlayer++;
Player.namelist.add(this.name);
}

void show(){
System.out.println("Player name = " + this.name);
}

//static method
static void showNumberOfPlayer(){
System.out.println("Number of player = " + Player.numberOfPlayer);

}
static ArrayList<String> getNames (){
return Player.namelist;
}
}

class Main {
public static void main(String[] args) {
Player player1 = new Player ("Sasuke");
Player player2 = new Player ("Sakura");
Player player3 = new Player ("Saitama");
Player player4 = new Player ("Uzuka");

Player.showNumberOfPlayer();
System.out.println("Names = " + Player.getNames());

}
}

13. MultiFileDenganPackage

public class Console {


public static void log(String message){
System.out.println(message);
}
}

14. HierarkiPackage

Anda mungkin juga menyukai