From 5ef3bf4656ae735e626c85745e945966074970b4 Mon Sep 17 00:00:00 2001 From: MuhKhaekal Date: Tue, 2 May 2023 14:50:27 +0700 Subject: [PATCH 1/3] Kumpul Tugas 6 --- src/H071221039/Pertemuan_5/BangunRuang.java | 106 ++++++++++++++++++++ src/H071221039/Pertemuan_6/Car.java | 17 ++++ src/H071221039/Pertemuan_6/Diagram.png | Bin 0 -> 42308 bytes src/H071221039/Pertemuan_6/Dog.java | 96 ++++++++++++++++++ src/H071221039/Pertemuan_6/Main.java | 26 +++++ src/H071221039/Pertemuan_6/Smartphone.java | 15 +++ 6 files changed, 260 insertions(+) create mode 100644 src/H071221039/Pertemuan_5/BangunRuang.java create mode 100644 src/H071221039/Pertemuan_6/Car.java create mode 100644 src/H071221039/Pertemuan_6/Diagram.png create mode 100644 src/H071221039/Pertemuan_6/Dog.java create mode 100644 src/H071221039/Pertemuan_6/Main.java create mode 100644 src/H071221039/Pertemuan_6/Smartphone.java diff --git a/src/H071221039/Pertemuan_5/BangunRuang.java b/src/H071221039/Pertemuan_5/BangunRuang.java new file mode 100644 index 0000000..6eed054 --- /dev/null +++ b/src/H071221039/Pertemuan_5/BangunRuang.java @@ -0,0 +1,106 @@ +package H071221039.Pertemuan_5; +public class Bang +Ruang { + public double hitungLuas(){ + return 0; + } + public double hitungVolume(){ + return 0; + } +} + +class Kubus extends Bang +Ruang { + private double sisi; + + public Kubus() {} + + public void setSisi(double sisi) { + this.sisi = sisi; + } + + @Override + double hitungLuas() { + return 6 * sisi * sisi; + } + + @Override + double hitungVolume() { + return sisi * sisi * sisi; + } +} + +class Balok extends Bang +Ruang { + private double panjang; + private double lebar; + private double tinggi; + + public Balok() {} + + public void setPanjang(double panjang) { + this.panjang = panjang; + } + public void setLebar(double lebar) { + this.lebar = lebar; + } + public void setTinggi(double tinggi) { + this.tinggi = tinggi; + } + + @Override + double hitungLuas() { + return 2 * ((panjang * lebar) + (panjang * tinggi) + (lebar * tinggi)) ; + } + + @Override + double hitungVolume() { + return panjang * lebar * tinggi; + } +} + +class Bola extends Bang +Ruang { + private double jari; + + public Bola() {} + + public void setJari(double jari) { + this.jari = jari; + } + + @Override + double hitungLuas() { + return 4 * Math.PI * jari * jari; + } + + @Override + double hitungVolume() { + return 4/3 * Math.PI * jari * jari * jari; + } +} + +class Tabung extends Bang +Ruang { + private double jari; + private double tinggi; + + public Tabung() {} + + public void setJari(double jari) { + this.jari = jari; + } + public void setTinggi(double tinggi) { + this.tinggi = tinggi; + } + + @Override + double hitungLuas() { + return 2 * Math.PI * jari * (jari + tinggi); + } + + @Override + double hitungVolume() { + return Math.PI * jari * jari * tinggi; + } +} \ No newline at end of file diff --git a/src/H071221039/Pertemuan_6/Car.java b/src/H071221039/Pertemuan_6/Car.java new file mode 100644 index 0000000..da0b904 --- /dev/null +++ b/src/H071221039/Pertemuan_6/Car.java @@ -0,0 +1,17 @@ +package H071221039.Pertemuan_6; +class Car implements Moveable{ + protected int totalForwardGear; + protected String color; + protected int maxSpeed; + + Car(int totalForwardGear, String color,int maxSpeed){ + this.totalForwardGear = totalForwardGear; + this.color = color; + this.maxSpeed = maxSpeed; + } + + @Override + public void move(){ + System.out.println("Mobil Berakselerasi"); + } +} diff --git a/src/H071221039/Pertemuan_6/Diagram.png b/src/H071221039/Pertemuan_6/Diagram.png new file mode 100644 index 0000000000000000000000000000000000000000..ae3a6a3952f45f9bdc45e810b06c63c690f73b09 GIT binary patch literal 42308 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 W*;LLuo-n@w{4T;QO-UwK{`wn-GEkBL literal 0 HcmV?d00001 diff --git a/src/H071221039/Pertemuan_6/Dog.java b/src/H071221039/Pertemuan_6/Dog.java new file mode 100644 index 0000000..e4411d5 --- /dev/null +++ b/src/H071221039/Pertemuan_6/Dog.java @@ -0,0 +1,96 @@ +package H071221039.Pertemuan_6; +interface Moveable{ + void move(); + // void describe(); +} + +abstract class Dog { + protected int position; + protected int averageLength; + + public Dog(int position, int averageLength){ + this.position = position; + this.averageLength = averageLength; + } + public abstract void describe(); +} + +class Pitbull extends Dog implements Moveable{ + public Pitbull(int position, int averageLength) { + super(position, averageLength); + } + + @Override + public void move(){ + position+=3; + } + + @Override + public void describe(){ + System.out.println("Ras\t\t: Pitbull"); + System.out.println("Rata panjang\t: " + this.averageLength); + System.out.println("Sifat\t\t: Agresif"); + System.out.println("Asal\t\t: Amerika Serikat"); + System.out.println("Posisi\t\t: " + this.position); + } +} + +class SiberianHusky extends Dog implements Moveable{ + public SiberianHusky(int position, int averageLength) { + super(position, averageLength); + } + + @Override + public void move(){ + position+=2; + } + + @Override + public void describe(){ + System.out.println("Ras\t\t: Siberian Husky"); + System.out.println("Rata panjang\t: " + this.averageLength); + System.out.println("Sifat\t\t: Ramah"); + System.out.println("Asal\t\t: Siberia"); + System.out.println("Posisi\t\t: " + this.position); + } +} + +class Bulldog extends Dog implements Moveable{ + public Bulldog(int position, int averageLength) { + super(position, averageLength); + } + + @Override + public void describe(){ + System.out.println("Ras\t\t: Bulldog"); + System.out.println("Rata panjang\t: " + this.averageLength); + System.out.println("Sifat\t\t: Bersahabat"); + System.out.println("Asal\t\t: Inggris"); + System.out.println("Posisi\t\t: " + this.position); + } + + @Override + public void move() { + position+=1; + } +} + +class GermanShepherd extends Dog implements Moveable{ + public GermanShepherd(int position, int averageLength) { + super(position, averageLength); + } + + @Override + public void move(){ + position+=3; + } + + @Override + public void describe(){ + System.out.println("Ras\t\t: German Shepherd"); + System.out.println("Rata panjang\t: " + this.averageLength); + System.out.println("Sifat\t\t: Pandai"); + System.out.println("Asal\t\t: Jerman"); + System.out.println("Posisi\t\t: " + this.position); + } +} diff --git a/src/H071221039/Pertemuan_6/Main.java b/src/H071221039/Pertemuan_6/Main.java new file mode 100644 index 0000000..c69f5f9 --- /dev/null +++ b/src/H071221039/Pertemuan_6/Main.java @@ -0,0 +1,26 @@ +package H071221039.Pertemuan_6; +public class Main { + public static void main(String[] args) { + System.out.println("=".repeat(40)); + System.out.println("INI DARI CLASS RAS"); + Pitbull pitbull = new Pitbull(0,50); + pitbull.move(); + pitbull.move(); + pitbull.describe(); + + System.out.println("=".repeat(40)); + System.out.println("INI DARI CLASS SMARTPHONE"); + Smartphone smartphone = new Smartphone(5_000_000, "Mito"); + smartphone.move(); + System.out.printf("Harga\t: Rp. %s%n",smartphone.price); + System.out.println("Brand\t: " + smartphone.brand); + + System.out.println("=".repeat(40)); + System.out.println("INI DARI CLASS CAR"); + Car car = new Car(5, "Hijau Sage", 240); + car.move(); + System.out.println("Gear toal\t: " + car.totalForwardGear); + System.out.println("Warna\t\t: " + car.color); + System.out.printf("Max Speed\t: %s km/jam", car.maxSpeed); + } +} diff --git a/src/H071221039/Pertemuan_6/Smartphone.java b/src/H071221039/Pertemuan_6/Smartphone.java new file mode 100644 index 0000000..58f7977 --- /dev/null +++ b/src/H071221039/Pertemuan_6/Smartphone.java @@ -0,0 +1,15 @@ +package H071221039.Pertemuan_6; +class Smartphone implements Moveable { + protected int price; + protected String brand; + + Smartphone(int price, String brand){ + this.price = price; + this.brand = brand; + } + + @Override + public void move() { + System.out.println("Smartphone Berpindah"); + } +} From d277f66f8af0b4b47cd23f8dcf7fafe8e2fdf3f3 Mon Sep 17 00:00:00 2001 From: MuhKhaekal Date: Tue, 2 May 2023 23:19:35 +0700 Subject: [PATCH 2/3] Perbaikan Tugas 5 --- src/H071221039/Pertemuan_5/BangunRuang.java | 31 +++++++++------------ 1 file changed, 13 insertions(+), 18 deletions(-) diff --git a/src/H071221039/Pertemuan_5/BangunRuang.java b/src/H071221039/Pertemuan_5/BangunRuang.java index 6eed054..ec3ab15 100644 --- a/src/H071221039/Pertemuan_5/BangunRuang.java +++ b/src/H071221039/Pertemuan_5/BangunRuang.java @@ -1,6 +1,5 @@ package H071221039.Pertemuan_5; -public class Bang -Ruang { +public class BangRuang { public double hitungLuas(){ return 0; } @@ -9,8 +8,7 @@ public double hitungVolume(){ } } -class Kubus extends Bang -Ruang { +class Kubus extends BangRuang { private double sisi; public Kubus() {} @@ -20,18 +18,17 @@ public void setSisi(double sisi) { } @Override - double hitungLuas() { + public double hitungLuas() { return 6 * sisi * sisi; } @Override - double hitungVolume() { + public double hitungVolume() { return sisi * sisi * sisi; } } -class Balok extends Bang -Ruang { +class Balok extends BangRuang { private double panjang; private double lebar; private double tinggi; @@ -49,18 +46,17 @@ public void setTinggi(double tinggi) { } @Override - double hitungLuas() { + public double hitungLuas() { return 2 * ((panjang * lebar) + (panjang * tinggi) + (lebar * tinggi)) ; } @Override - double hitungVolume() { + public double hitungVolume() { return panjang * lebar * tinggi; } } -class Bola extends Bang -Ruang { +class Bola extends BangRuang { private double jari; public Bola() {} @@ -70,18 +66,17 @@ public void setJari(double jari) { } @Override - double hitungLuas() { + public double hitungLuas() { return 4 * Math.PI * jari * jari; } @Override - double hitungVolume() { + public double hitungVolume() { return 4/3 * Math.PI * jari * jari * jari; } } -class Tabung extends Bang -Ruang { +class Tabung extends BangRuang { private double jari; private double tinggi; @@ -95,12 +90,12 @@ public void setTinggi(double tinggi) { } @Override - double hitungLuas() { + public double hitungLuas() { return 2 * Math.PI * jari * (jari + tinggi); } @Override - double hitungVolume() { + public double hitungVolume() { return Math.PI * jari * jari * tinggi; } } \ No newline at end of file From f0b0cb78658c3705f264cf2fad4159e2f3c6fa0d Mon Sep 17 00:00:00 2001 From: MuhKhaekal Date: Thu, 18 May 2023 22:43:38 +0800 Subject: [PATCH 3/3] Kumpul Tugas 7 --- src/H071221039/Pertemuan_7/AttackType.java | 7 +++++ src/H071221039/Pertemuan_7/Character.java | 20 +++++++++++++ src/H071221039/Pertemuan_7/Fighter.java | 27 +++++++++++++++++ src/H071221039/Pertemuan_7/Food.java | 33 +++++++++++++++++++++ src/H071221039/Pertemuan_7/FoodFactory.java | 14 +++++++++ src/H071221039/Pertemuan_7/FoodType.java | 6 ++++ src/H071221039/Pertemuan_7/Mage.java | 28 +++++++++++++++++ src/H071221039/Pertemuan_7/Main1.java | 28 +++++++++++++++++ src/H071221039/Pertemuan_7/Main2.java | 12 ++++++++ src/H071221039/Pertemuan_7/Main3.java | 18 +++++++++++ src/H071221039/Pertemuan_7/Product.java | 21 +++++++++++++ src/H071221039/Pertemuan_7/Restaurant.java | 12 ++++++++ 12 files changed, 226 insertions(+) create mode 100644 src/H071221039/Pertemuan_7/AttackType.java create mode 100644 src/H071221039/Pertemuan_7/Character.java create mode 100644 src/H071221039/Pertemuan_7/Fighter.java create mode 100644 src/H071221039/Pertemuan_7/Food.java create mode 100644 src/H071221039/Pertemuan_7/FoodFactory.java create mode 100644 src/H071221039/Pertemuan_7/FoodType.java create mode 100644 src/H071221039/Pertemuan_7/Mage.java create mode 100644 src/H071221039/Pertemuan_7/Main1.java create mode 100644 src/H071221039/Pertemuan_7/Main2.java create mode 100644 src/H071221039/Pertemuan_7/Main3.java create mode 100644 src/H071221039/Pertemuan_7/Product.java create mode 100644 src/H071221039/Pertemuan_7/Restaurant.java diff --git a/src/H071221039/Pertemuan_7/AttackType.java b/src/H071221039/Pertemuan_7/AttackType.java new file mode 100644 index 0000000..12fd8d5 --- /dev/null +++ b/src/H071221039/Pertemuan_7/AttackType.java @@ -0,0 +1,7 @@ +package H071221039.Pertemuan_7; +enum AttackType{ + MELE, + RANGE, + FROST, + FIRE +} diff --git a/src/H071221039/Pertemuan_7/Character.java b/src/H071221039/Pertemuan_7/Character.java new file mode 100644 index 0000000..afbd556 --- /dev/null +++ b/src/H071221039/Pertemuan_7/Character.java @@ -0,0 +1,20 @@ +package H071221039.Pertemuan_7; +public abstract class Character { + protected String name; + protected double attackPower; + + Character(){} + + Character(String name, double attackPower){ + this.name = name; + this.attackPower = attackPower; + } + + + public String getName() { + return name; + } + + abstract double attack(); + abstract double attack(AttackType attackType); +} diff --git a/src/H071221039/Pertemuan_7/Fighter.java b/src/H071221039/Pertemuan_7/Fighter.java new file mode 100644 index 0000000..8932061 --- /dev/null +++ b/src/H071221039/Pertemuan_7/Fighter.java @@ -0,0 +1,27 @@ +package H071221039.Pertemuan_7; +public class Fighter extends Character { + + Fighter(){ + } + Fighter(String name, double attackPower){ + super(name, attackPower); + + } + + @Override + double attack(){ + return attackPower; + } + @Override + double attack(AttackType attackType){ + if(attackType == AttackType.MELE){ + return attackPower * 2; + } else if(attackType == AttackType.RANGE){ + return attackPower; + } else { + return 0; + } + } +} + + diff --git a/src/H071221039/Pertemuan_7/Food.java b/src/H071221039/Pertemuan_7/Food.java new file mode 100644 index 0000000..532622c --- /dev/null +++ b/src/H071221039/Pertemuan_7/Food.java @@ -0,0 +1,33 @@ +package H071221039.Pertemuan_7; +interface Food { + int getprice(); +} + +class Pizza implements Food { + int price = 50000; + + @Override + public int getprice() { + return price; + + } +} + +class Steak implements Food { + int price = 30000; + + @Override + public int getprice() { + return price; + + } +} + +class Burger implements Food { + int price = 15000; + + @Override + public int getprice() { + return price; + } +} \ No newline at end of file diff --git a/src/H071221039/Pertemuan_7/FoodFactory.java b/src/H071221039/Pertemuan_7/FoodFactory.java new file mode 100644 index 0000000..a68e738 --- /dev/null +++ b/src/H071221039/Pertemuan_7/FoodFactory.java @@ -0,0 +1,14 @@ +package H071221039.Pertemuan_7; +public class FoodFactory { + public static Food getFood(FoodType type) { + if (type == FoodType.BURGER) { + return new Burger(); + } else if (type == FoodType.PIZZA) { + return new Pizza(); + } else if (type == FoodType.STEAK) { + return new Steak(); + } else { + throw new IllegalArgumentException("Invalid food type: " + type); + } + } +} diff --git a/src/H071221039/Pertemuan_7/FoodType.java b/src/H071221039/Pertemuan_7/FoodType.java new file mode 100644 index 0000000..5f7712a --- /dev/null +++ b/src/H071221039/Pertemuan_7/FoodType.java @@ -0,0 +1,6 @@ +package H071221039.Pertemuan_7; +enum FoodType{ + BURGER, + PIZZA, + STEAK +} diff --git a/src/H071221039/Pertemuan_7/Mage.java b/src/H071221039/Pertemuan_7/Mage.java new file mode 100644 index 0000000..846798c --- /dev/null +++ b/src/H071221039/Pertemuan_7/Mage.java @@ -0,0 +1,28 @@ +package H071221039.Pertemuan_7; +public class Mage extends Character { + Mage(String name, double attackPower){ + super(name, attackPower); + } + + @Override + double attack(){ + return attackPower; + } + + @Override + double attack(AttackType attackType){ + if(attackType == AttackType.FROST){ + return attackPower * 2; + } else if(attackType == AttackType.FIRE){ + return attackPower * 3; + } else { + return 0; + } + } + + void showDetail(){ + System.out.println("Ini mage"); + } + + +} diff --git a/src/H071221039/Pertemuan_7/Main1.java b/src/H071221039/Pertemuan_7/Main1.java new file mode 100644 index 0000000..17523fe --- /dev/null +++ b/src/H071221039/Pertemuan_7/Main1.java @@ -0,0 +1,28 @@ +package H071221039.Pertemuan_7; +public class Main1 { + public static void printAttack(Character character) { + if (character instanceof Fighter){ + System.out.printf("Saat melee, %s menyerang dengan %s power.%n",character.name,character.attack(AttackType.MELE)); + System.out.printf("Saat ranged, %s menyerang dengan %s power.%n%n",character.name,character.attack(AttackType.RANGE)); + } if (character instanceof Mage){ + System.out.printf("Saat fire, %s menyerang dengan %s power.%n",character.name,character.attack(AttackType.FIRE)); + System.out.printf("Saat frost, %s menyerang dengan %s power.%n%n",character.name,character.attack(AttackType.FROST)); + } +} + + public static void main(String[] args) { + Character[] characters = new Character[5]; + characters[0] = new Fighter("Terizla", 8); + characters[1] = new Mage("Parsha", 20); + characters[2] = new Fighter("Masha", 18); + characters[3] = new Fighter("Edith", 12); + characters[4] = new Mage("Lunox", 18); + // Mage mage = (Mage)characters[1]; + // mage.showDetail(); + + for (Character character : characters) { + printAttack(character); + } + } +} + diff --git a/src/H071221039/Pertemuan_7/Main2.java b/src/H071221039/Pertemuan_7/Main2.java new file mode 100644 index 0000000..1bac4b8 --- /dev/null +++ b/src/H071221039/Pertemuan_7/Main2.java @@ -0,0 +1,12 @@ +package H071221039.Pertemuan_7; +public class Main2 { + public static void main(String[] args) { + Product produk1 = new Product("Bon Cabe", "Rp. 9000", "12-04-2024"); + Product produk2 = new Product("Ultra Milk", 8700, "04-02-2024"); + Product produk3 = new Product("Chitato",8.999,"09-11-2023"); + + System.out.printf("Product 1 : %s - %s - %s%n", produk1.getName(), produk1.getPrice(), produk1.getExpiryDate()); + System.out.printf("Product 2 : %s - %d - %s%n", produk2.getName(), produk2.getPrice(), produk2.getExpiryDate()); + System.out.printf("Product 3 : %s - %.3f - %s", produk3.getName(), produk3.getPrice(), produk3.getExpiryDate()); + } +} diff --git a/src/H071221039/Pertemuan_7/Main3.java b/src/H071221039/Pertemuan_7/Main3.java new file mode 100644 index 0000000..4518d21 --- /dev/null +++ b/src/H071221039/Pertemuan_7/Main3.java @@ -0,0 +1,18 @@ +package H071221039.Pertemuan_7; +import java.util.ArrayList; +import java.util.List; + +public class Main3 { + public static void main(String[] args) { + Food burger = FoodFactory.getFood(FoodType.BURGER); + Food pizza = FoodFactory.getFood(FoodType.PIZZA); + Food steak = FoodFactory.getFood(FoodType.STEAK); + + List foods = new ArrayList<>(); + foods.add(burger); + foods.add(pizza); + foods.add(steak); + int total = Restaurant.calculateTotal(foods); + System.out.println("Total harga makanan: " + total); + } +} diff --git a/src/H071221039/Pertemuan_7/Product.java b/src/H071221039/Pertemuan_7/Product.java new file mode 100644 index 0000000..9b4e4c6 --- /dev/null +++ b/src/H071221039/Pertemuan_7/Product.java @@ -0,0 +1,21 @@ +package H071221039.Pertemuan_7; +public class Product { + private String name; + private T price; + private String expiryDate; + + public Product(String name, T price, String expiryDate) { + this.name = name; + this.price = price; + this.expiryDate = expiryDate; + } + public String getName() { + return name; + } + public T getPrice() { + return price; + } + public String getExpiryDate() { + return expiryDate; + } +} diff --git a/src/H071221039/Pertemuan_7/Restaurant.java b/src/H071221039/Pertemuan_7/Restaurant.java new file mode 100644 index 0000000..c7b9019 --- /dev/null +++ b/src/H071221039/Pertemuan_7/Restaurant.java @@ -0,0 +1,12 @@ +package H071221039.Pertemuan_7; +import java.util.List; + +public class Restaurant { + public static int calculateTotal(List foods) { + int total = 0; + for (Food food : foods) { + total += food.getprice(); + } + return total; + } +}