Anda di halaman 1dari 9

Nama : Iputu Bayu Krisna Priastawan

Nim : 20210801345
Tugas PBO, sesi-11.

Program Garden.
Plant main.java :
package plantmain;

import java.util.Scanner;
public class PlantMain {

public static void main(String[] args){


plantmain.Plant a = new plantmain.Plant();
plantmain.Anggrek b = new plantmain.Anggrek();
plantmain.Kamboja c = new plantmain.Kamboja();
plantmain.Venus d = new Venus();
Scanner sc = new Scanner(System.in);
int inp;
int pilih;
System.out.println("1. Anggrek");
System.out.println("2. Kamboja");
System.out.println("3. Venus");
System.out.println("Masukan Pilihan : ");
pilih = sc.nextInt();
switch (pilih){
case 1:
do{
System.out.println("Masukan:\n 0 untuk memberi air, \n 1
untuk memberi pupuk, \n 5 untuk keluar");
inp = sc.nextInt();
switch (inp){
case 0:
b.beriAir();
break;
case 1:
b.beriPupuk();
break;
}
b.displayPlant();
}while(inp != 5);
break;

case 2:
do{
System.out.println("Masukan:\n 0 untuk memberi air, \n 1
untuk memberi pupuk, \n 5 untuk keluar");
inp = sc.nextInt();
switch (inp){
case 0:
c.beriAir();
break;
case 1:
c.beriPupuk();
break;
}
c.displayPlant();
}while(inp != 5);
break;

case 3:
do{
System.out.println("Masukan:\n 0 untuk memberi air, \n 1
untuk memberi pupuk, \n 5 untuk keluar");
inp = sc.nextInt();
switch (inp){
case 0:
d.beriAir();
break;
case 1:
d.beriPupuk();
break;
}
d.displayPlant();
}while(inp != 5);
break;
}
}
}

Plant.java :
package plantmain;
public class Plant {
private int statusTumbuh;
private int jumlahAir;
private int jumlahPupuk;

public Plant() {
statusTumbuh = 0;
jumlahAir = 0;
jumlahPupuk = 0;
}

public int getJumlahAir() {


return jumlahAir;
}

public void setJumlahAir(int n) {


jumlahAir = n;
}
public int getJumlahPupuk() {
return jumlahPupuk;
}

public void setJumlahPupuk(int n) {


jumlahPupuk = n;
}

public void setStatusTumbuh(int n) {


statusTumbuh = n;
}

public void beriAir() {


jumlahAir++;
cekKondisiTumbuh();
}

public void beriPupuk() {


jumlahPupuk++;
cekKondisiTumbuh();
}

public void cekKondisiTumbuh() {


if (jumlahAir >= 3 && jumlahPupuk >= 1) {
tumbuh();
}
}

public void tumbuh() {


if (statusTumbuh < 4) {
jumlahAir = jumlahAir - 3;
jumlahPupuk = jumlahPupuk - 1;
statusTumbuh++;
}
}

public void displayPlant() {


System.out.println(getStatusTumbuhText());
System.out.println("Jumlah Air : " + jumlahAir);
System.out.println("Jumlah Pupuk : " + jumlahPupuk);
}

public String getStatusTumbuhText() {


switch (statusTumbuh) {
case 0:
return "Benih";
case 1:
return "Tunas";
case 2:
return "Tanaman Kecil";
case 3:
return "Tanaman Dewasa";
}
return "Berbunga";
}
public String getImagePath() {
String tImagePath= "img/seed.png";
switch (statusTumbuh) {
case 0:
tImagePath = "img/seed.png";
break;
case 1:
tImagePath = "img/sprout.png";
break;
case 2:
tImagePath = "img/small.png";
break;
case 3:
tImagePath = "img/big.png";
break;
case 4:
tImagePath = "img/blossom.png";
break;
}
return tImagePath;
}
}

Kamboja.Java :
package plantmain;

public class Kamboja extends Plant{


private final String jenis;
public Kamboja(){
super();
jenis = "Kamboja";
}
public void cekKondisiTumbuh(){
if (getJumlahAir() >= 4 && getJumlahPupuk() >= 3){
tumbuh();
}
}
public void tumbuh(){
if (getStatusTumbuh() < 4){
setJumlahAir(getJumlahAir() -2);
setJumlahPupuk(getJumlahPupuk() -2);
setStatusTumbuh(getStatusTumbuh() +1);
}
}

public String getJenis(){


return jenis;
}
public String getStatusTumbuhText(){
switch (getStatusTumbuh()){
case 0:
return "Benih" + jenis;
case 1:
return "Tunas" + jenis;
case 2:
return "Tanaman Kecil" + jenis;
case 3:
return "Tanaman Dewasa" + jenis;
}
return "Bunga" + jenis;
}

private int getStatusTumbuh() {


return 0;
}
}

Venus.java :
package plantmain;
public class Venus extends Plant{
private final String jenis;
public Venus(){
super();
jenis = "Venus";
}
public void cekKondisiTumbuh(){
if (getJumlahAir() >= 3 && getJumlahPupuk() >= 2){
tumbuh();
}
}
public void tumbuh(){
if (getStatusTumbuh() < 4){
setJumlahAir(getJumlahAir() -3);
setJumlahPupuk(getJumlahPupuk() -2);
setStatusTumbuh(getStatusTumbuh() +1);
}
}

public String getJenis(){


return jenis;
}
public String getStatusTumbuhText(){
switch (getStatusTumbuh()){
case 0:
return "Benih" + jenis;
case 1:
return "Tunas" + jenis;
case 2:
return "Tanaman Kecil" + jenis;
case 3:
return "Tanaman Dewasa" + jenis;
}
return "Bunga" + jenis;
}

private int getStatusTumbuh() {


return 0;
}
}

Anggrek.java :
package plantmain;
public class Anggrek extends Plant{
private final String jenis;
public Anggrek(){
super();
jenis = "Anggrek";
}
public void cekKondisiTumbuh(){
if (getJumlahAir() >= 3 && getJumlahPupuk() >= 2){
tumbuh();
}
}
public void tumbuh(){
if (getStatusTumbuh() < 4){
setJumlahAir(getJumlahAir() -3);
setJumlahPupuk(getJumlahPupuk() -2);
setStatusTumbuh(getStatusTumbuh() +1);
}
}

public String getJenis(){


return jenis;
}
public String getStatusTumbuhText(){
switch (getStatusTumbuh()){
case 0:
return "Benih" + jenis;
case 1:
return "Tunas" + jenis;
case 2:
return "Tanaman Kecil" + jenis;
case 3:
return "Tanaman Dewasa" + jenis;
}
return "Bunga" + jenis;
}

private int getStatusTumbuh() {


return 0;
}
}
PlantMainSwing.java (disini membuat program Garden Kebon Jeruk, dengan
tampilan GUI).
package plantmain;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.lang.Thread;

public class PlantMainSwing {


private JFrame frame;
private JLabel label;
private JButton btnBeriAir;
private JButton btnBeriPupuk;
private JTextField txtDisplay;
private ImageIcon plantIcon;

private Plant p;

public PlantMainSwing(){
p = new Plant();
CreateAndShowGUI();
setPlantImage();
}
private void CreateAndShowGUI(){
frame = new JFrame("Selamat data pada garden Kebon Jeruk");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLayout(new FlowLayout());

label = new JLabel("");


frame.getContentPane().add(label);

btnBeriAir = new JButton("Beri Air");


btnBeriPupuk = new JButton("Beri Pupuk");
frame.getContentPane().add(btnBeriAir);
frame.getContentPane().add(btnBeriPupuk);

txtDisplay = new JTextField("Hasilnya : ");


frame.getContentPane().add(txtDisplay);

btnBeriAir.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
btnBeriAir_actionPerformed(e);
}

private void btnBeriAir_actionPerformed(ActionEvent e) {


System.out.println("beri Air");
p.beriAir();
txtDisplay.setText(p.getStatusTumbuhText());
setPlantImage();
}

private void setPlantImage() {


}
});
btnBeriPupuk.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
btnBeriPupuk_actionPerformed(e);
}

private void btnBeriPupuk_actionPerformed(ActionEvent e) {


System.out.println("beri Pupuk");
p.beriPupuk();
txtDisplay.setText(p.getStatusTumbuhText());
setPlantImage();
}

private void setPlantImage() {


}
});
frame.setSize(500,300);
frame.setVisible(true);
}
protected ImageIcon createImageIcon(String path, String description){
java.net.URL imgURL = getClass().getResource(path);
if (imgURL != null){
return new ImageIcon(imgURL, description);
}else {
System.err.println("File tidak ditemukan: " + path);
return null;
}
}
private void setPlantImage(){
plantIcon = createImageIcon(p.getImagePath(),
p.getStatusTumbuhText());
label.setIcon(plantIcon);
}
public static void main(String[] args){
javax.swing.SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
PlantMainSwing uGardenApp = new PlantMainSwing();
}
});
}
}
Outputnya (tanpa GUI) :

Outpunya (dengan GUI) :

Anda mungkin juga menyukai