Jumat, 28 September 2018

Tugas 5 PBO-A Membuat Jam Sederhana dengan GUI

Berikut Source code dari Jam sederhananya :

Clock GUI :

/**  
  * Tugas 5 PBO-A Clock 
  * author M. Fatih 
  * 29/09/2018  
  */  
 import javax.swing.*;
 import javax.swing.border.*;
 import java.awt.*;
 import java.awt.event.*;
 
 public class ClockGUI  
 {  
   private JFrame frame;  
   private JLabel label;  
   private ClockDisplay clock;  
   private boolean clockOn = false;  
   private TimerThread timerThread;  
   
   public void Clock()  
   {  
     makeFrame();  
     clock = new ClockDisplay();  
   }  
   
   private void start()  
   {  
     clockOn = true;  
     timerThread = new TimerThread();  
     timerThread.start();  
   }  
   
   private void stop()  
   {  
     clockOn = false;  
   }  
   
   private void step()  
   {  
     clock.timeTick();  
     label.setText(clock.getTime());  
   }  
   
   private void showTentang()  
   {  
     JOptionPane.showMessageDialog (frame, "Jam Digital\n" +   
     "Jam digital dengan Bahasa Java.",  
     "Tentang",
     JOptionPane.INFORMATION_MESSAGE);  
   }  
   
   private void quit()  
   {  
     System.exit(0);  
   }  
   
   private void makeFrame()  
   {  
     frame = new JFrame("Jam");  
     JPanel contentPane = (JPanel)frame.getContentPane();  
     contentPane.setBorder(new EmptyBorder(1,60,1,60));  
     makeMenuBar(frame);  
     
     contentPane.setLayout(new BorderLayout(12,12));  
     
     label = new JLabel("00:00", SwingConstants.CENTER);  
     Font displayFont = label.getFont().deriveFont(96.0f);  
     label.setFont(displayFont);  
     contentPane.add(label, BorderLayout.CENTER);  
     
     JPanel toolbar = new JPanel();  
     toolbar.setLayout(new GridLayout(1,0));  
     
     JButton startButton = new JButton("Start");  
     startButton.addActionListener(e->start());  
     toolbar.add(startButton);  
     
     JButton stopButton = new JButton("Stop");  
     stopButton.addActionListener(e->stop());  
     toolbar.add(stopButton);  
     
     JButton stepButton = new JButton("Step");  
     stepButton.addActionListener(e->step());  
     toolbar.add(stepButton);  
     
     JPanel flow = new JPanel();  
     flow.add(toolbar);  
     contentPane.add(flow, BorderLayout.SOUTH);  
     
     frame.pack();  
     
     Dimension d = Toolkit.getDefaultToolkit().getScreenSize();  
     frame.setLocation(d.width/2 - frame.getWidth()/2, d.height/2 - frame.getHeight()/2);  
     frame.setVisible(true);  
   }  
   
   private void makeMenuBar(JFrame frame)  
   {  
     final int SHORTCUT_MASK =   
     Toolkit.getDefaultToolkit().getMenuShortcutKeyMask();  
     JMenuBar menubar = new JMenuBar();  
     frame.setJMenuBar(menubar);  
     JMenu menu;  
     JMenuItem item;  
     
     menu = new JMenu("File");  
     menubar.add(menu);  
     item = new JMenuItem("Tentang Jam...");  
       item.addActionListener(e->showTentang());  
     menu.add(item);  
     menu.addSeparator();  
     item = new JMenuItem("Quit");  
       item.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_Q,SHORTCUT_MASK));  
       item.addActionListener(e->quit());  
     menu.add(item);  
   }  
   class TimerThread extends Thread  
   {  
       
     public void run()  
       {  
           
         while(clockOn)  
         {  
           step();  
           tunda();  
         }  
       }  
       private void tunda()  
       {  
         try   
         {  
           Thread.sleep(900);  
         }  
         catch(InterruptedException exc)  
         {  
         }  
     }  
   }  
 }  


Clock Display :



/**  
  * Tugas 5 PBO-A Clock 
  * author M. Fatih 
  * 29/09/2018  
  */  
 public class ClockDisplay  
 {  
   private NumberDisplay jam;  
   private NumberDisplay menit;  
   private String displayString; 
   
   public ClockDisplay()  
   {  
     jam = new NumberDisplay(24);  
     menit = new NumberDisplay(60);  
     updateDisplay();  
   }  
   
   public ClockDisplay(int hour, int minute)  
   {  
     jam = new NumberDisplay(24);  
     menit = new NumberDisplay(60);
     setTime(hour,minute);  
   }  
   
   public void timeTick()  
   {  
     menit.increment();  
     if(menit.getValue() == 0)  
     {  
       jam.increment();  
     }  
     updateDisplay();  
   }  
   
   public void setTime(int hour, int minute)  
   {  
     jam.setValue(hour);  
     menit.setValue(minute);  
     updateDisplay();  
   }  
   
   public String getTime()  
   {  
     return displayString;  
   }  
   
   private void updateDisplay()  
   {  
     displayString = jam.getDisplayValue() + ":" + menit.getDisplayValue();  
   }  
 }  

Number Display :



/**  
  * Tugas 5 PBO-A Clock 
  * author M. Fatih 
  * 29/09/2018  
  */  
 public class NumberDisplay  
 {  
   private int limit;  
   private int nilai;  
   
   public NumberDisplay(int Maksimal)  
   {  
     limit = Maksimal;  
     nilai = 0;  
   }  
   
   public int getValue()  
   {  
     return nilai;  
   }  
   
   public void increment()  
   {  
     nilai = (nilai + 1) % limit;  
   }  
   
   public String getDisplayValue()  
   {  
     if(nilai < 10)  
     {  
       return "0" + nilai;  
     }  
     else  
     {  
       return "" + nilai;  
     }  
   }  
   
   public void setValue(int replacementValue)  
   {  
     if((replacementValue >= 0) && (replacementValue < limit))  
     {  
       nilai = replacementValue;  
     }  
   }  
 }  

Set Clock Display :



/**  
  * Tugas 5 PBO-A Clock 
  * author M. Fatih 
  * 29/09/2018  
  */ 
public class TestClockDisplay  
 {  
   public TestClockDisplay()  
   {  
   }  
   public void test()  
   {  
     ClockDisplay clock = new ClockDisplay();  
     clock.setTime(01,52);  
     System.out.println(clock.getTime());  
     clock.setTime(01,9);  
     System.out.println(clock.getTime()); 
     clock.setTime(00,34);  
     System.out.println(clock.getTime());
     clock.setTime(06,30);  
     System.out.println(clock.getTime());
   }  
 }  


Berikut adalah outputnya
Saat menjalankan Test Clock Display :


Saat Menjalankan Clock GUI :


Saat Clock GUI dijalankan dan di berhentikan pada menit ke 1 dan detik ke 52 :


Saat menu file dibuka dan dipilih "Tentang" :



Sekian Terimakasih :)

Minggu, 23 September 2018

Tugas 3 PBO-A Remot AC

Berikut Source code dari Remot AC :

Main :


/**
 * Tugas PBO-A Remot AC
 * author M. Fatih
 * 23/09/2018
 */
import java.util.Scanner;
 public class Main
 {  
     public static void main(String args[])  
     {
      System.out.print('\u000C');
      System.out.println("AC Telah dinyalakan.");
      System.out.println("Masukkan Temperatur yang diinginkan :");  
      Scanner scan= new Scanner(System.in);
      
      int tempDasar;
      int nilaitemp,nilaimode,nilaikipas;
      int temporary,smntr,modeAC,smntr1;
      int menu;
      int KecKipas;
      boolean cek;
      
      tempDasar = scan.nextInt();
      Remot remAC=new Remot(tempDasar);
      modeAC = remAC.mode;
      KecKipas = remAC.kipas;
      
      while(true)
      {
          System.out.print('\u000C');
          System.out.println("******************************");
          System.out.println("******************************");
          System.out.println("***********Remote AC**********");
          System.out.println("*********** 48 Group**********");
          System.out.println("******************************");
          System.out.println("Temperatur : "+tempDasar);
          
          remAC.modeAC(modeAC);
          remAC.kecKipas(KecKipas);
          
          System.out.println("******************************");
          System.out.println("******************************");
          System.out.println("******************************");
          System.out.println("Menu");
          System.out.println("1. Temperatur"); 
          System.out.println("2. Mode");  
          System.out.println("3. Kipas");
          System.out.println("4. Matikan AC");
          System.out.println("******************************");
          menu = scan.nextInt();
          System.out.print('\u000C');
          
          if(menu==1)
          {
              System.out.println("******************************");
              System.out.println("******************************");
              System.out.println("***********Remote AC**********");
              System.out.println("*********** 48 Group**********");
              System.out.println("******************************");
              System.out.println("Temperatur : "+tempDasar);
              remAC.modeAC(modeAC);
              remAC.kecKipas(KecKipas);
              System.out.println("******************************");
              System.out.println("******************************");
              System.out.println("******************************");
              remAC.Temperatur(tempDasar);
              System.out.println("******************************");
              nilaitemp = scan.nextInt();
              if(nilaitemp==1)
              {
                  temporary = remAC.TemperaturNaik(tempDasar);
                  tempDasar = temporary;
              }
              else if(nilaitemp==2)
              {
                  temporary = remAC.TemperaturTurun(tempDasar);
                  tempDasar = temporary;
              }
              System.out.print('\u000C');
          }
          else if(menu==2)
          {
              System.out.println("******************************");
              System.out.println("******************************");
              System.out.println("***********Remote AC**********");
              System.out.println("*********** 48 Group**********");
              System.out.println("******************************");
              System.out.println("Temperatur : "+tempDasar);
              remAC.modeAC(modeAC);
              remAC.kecKipas(KecKipas);
              System.out.println("******************************");
              System.out.println("******************************");
              System.out.println("******************************");
              
              remAC.Mode(modeAC);
              System.out.println("******************************");
              nilaimode = scan.nextInt();
              smntr=remAC.gantiMode(nilaimode);
              modeAC = smntr;
              System.out.print('\u000C');
          }
          else if(menu==3)
          {
              System.out.println("******************************");
              System.out.println("******************************");
              System.out.println("***********Remote AC**********");
              System.out.println("*********** 48 Group**********");
              System.out.println("******************************");
              System.out.println("Temperatur : "+tempDasar);
              remAC.modeAC(modeAC);
              remAC.kecKipas(KecKipas);
              System.out.println("******************************");
              System.out.println("******************************");
              System.out.println("******************************");
              remAC.Kipas(KecKipas);
              System.out.println("******************************");
              nilaikipas = scan.nextInt();
              smntr1 = remAC.kecepatanKipas(nilaikipas);
              KecKipas = smntr1;
              System.out.print('\u000C');
          }
          else if(menu==4)
          {
              System.out.print('\u000C');
              break;
          }
        }
    }
}

Remote :



/**
 * Tugas PBO-A Remot AC
 * author M. Fatih
 * 23/09/2018
 */
public class Remot
{
    public int TemperaturDasar;
    public int mode;
    public boolean power;
    public int kipas;
    
    public Remot(int TempraturAwal)
    {
        TemperaturDasar = TempraturAwal;
        mode = 1;
        power = true;
        kipas = 1;
    }
    public void modeAC(int modeskrg)
    {
        if(modeskrg==1)
        {
            System.out.println("Mode sekarang: Otomatis");
        }
        else if(modeskrg==2)
        {
            System.out.println("Mode sekarang: Dingin");
        }
        else if(modeskrg==3)
        {
            System.out.println("Mode sekarang: Kering");
        }
        else if(modeskrg==4)
        {
            System.out.println("Mode sekarang: Panas");
        }
    }
    public void Mode(int modeskrg)
    {
        modeAC(modeskrg);
        System.out.println("Masukkan angka untuk mengganti mode :");
        System.out.println("1. Otomatis");
        System.out.println("2. Dingin");
        System.out.println("3. Kering");
        System.out.println("4. Panas");
    }
    public int gantiMode(int modePilihan)
    {
        if(modePilihan == 1)
        {
            mode = modePilihan;
            System.out.println("Mode berhasil diganti. Mode sekarang : Otomatis");
        }
        else if(modePilihan == 2)
        {
            mode = modePilihan;
            System.out.println("Mode berhasil diganti. Mode sekarang : Dingin");
        }
        else if(modePilihan == 3)
        {
            mode = modePilihan;
            System.out.println("Mode berhasil diganti. Mode sekarang : Kering");
        }
        else if(modePilihan == 4)
        {
            mode = modePilihan;
            System.out.println("Mode berhasil diganti. Mode sekarang : Panas");
        }
        return(mode);
    }
    public void Temperatur(int tempskrg)
    {
        System.out.println("Temperatur Sekarang :"+tempskrg);
        System.out.println("1. Naik");
        System.out.println("2. Turun");
    }
    public int TemperaturNaik(int naik)
    {
        naik++;
        return(naik);
    }
    public int TemperaturTurun(int turun)
    {
        turun--;
        return(turun);
    }
    public void kecKipas(int kecskrg)
    {
        if(kecskrg==1)
        {
            System.out.println("Kecepatan sekarang: 1");
        }
        else if(kecskrg==2)
        {
            System.out.println("Kecepatan sekarang: 2");
        }
        else if(kecskrg==3)
        {
            System.out.println("Kecepatan sekarang: 3");
        }
        else if(kecskrg==4)
        {
            System.out.println("Kecepatan sekarang: Otomatis");
        }
    }
    public void Kipas(int kecskrg)
    {
        kecKipas(kecskrg);
        System.out.println("Inputkan angka untuk mengganti mode :");
        System.out.println("1. Kecepatan 1");
        System.out.println("2. Kecepatan 2");
        System.out.println("3. Kecepatan 3");
        System.out.println("4. Kecepatan Otomatis");
    }
    public int kecepatanKipas(int kecepatan)
    {
        if(kecepatan == 1)
        {
            mode = kecepatan;
            System.out.println("Kecepatan kipas berhasil diganti. Sekarang : Kecepatan "+kecepatan);
        }
        else if(kecepatan == 2)
        {
            mode = kecepatan;
            System.out.println("Kecepatan kipas berhasil diganti. Sekarang : Kecepatan "+kecepatan);
        }
        else if(kecepatan == 3)
        {
            mode = kecepatan;
            System.out.println("Kecepatan kipas berhasil diganti. Sekarang : Kecepatan "+kecepatan);
        }
        else if(kecepatan == 4)
        {
            mode = kecepatan;
            System.out.println("Kecepatan kipas berhasil diganti. Sekarang : Kecepatan Otomatis");
        }
        return(mode);
    }
}

Berikut adalah hasil yang ditampilkan :


Saat diinputkan 48



Untuk mengganti temperatur tekan 1, lalu 1 untuk naik dan 2 untuk turun, saya inputkan 1 agar naik



Untuk mengganti mode dari otomatis ke dingin, pilih 2, lalu pilih 2 lagi



Untuk mengganti kecepatan kipas ke level 3, tekan 3 lalu 3 lagi



Untuk Mematikan AC cukup tekan 4, maka Remote dan AC akan mati.

Sekian Terimakasih :)

Minggu, 16 September 2018

Tugas 3 PBO-A Tiket Mesin

Berikut Source code dari Tiket Mesin :

Tiket Mesin :


/**
 * Tugas PBO-A Tiket Mesin.
 *
 * @author (M.Fatih)
 * @version (17/9/2018)
 */
public class TiketMesin
{
    private int price;
    public int balance;
    private int total;
    private int amountToRefund;

    public TiketMesin(int tiketCost)
    {
        price = tiketCost;
        balance = 0;
        total = 0;
    }
                
    public int getPrice(){
        System.out.println("Your Ticket Price = "+price);
        return price;
    }
    
    public int getBalance(){
        System.out.println("Your Current Balance = "+balance);
        return balance;
    }
    
    public void insertMoney(int amount){
        if(amount>0){
            balance = balance + amount;
        }
        else{
            System.out.println("Use a positive amount: "+amount);
        }
    }
    
    public void printTiket(){
        if(balance>=price){
            System.out.println("##################");
            System.out.println("# The BlueJ Line #");
            System.out.println("# Ticket         #");
            System.out.println("# " + price + " cents       #");
            System.out.println("##################");
            System.out.println();
        }
        balance = balance-price;
        if(balance>0)
        {
            amountToRefund = balance;
            System.out.println("Refund = "+amountToRefund);
            balance = 0;
        }
        else{
            System.out.println("You must insert at least: "+(price-balance)+" more cents.");
        }
    }
    
}



Main :


import java.util.Scanner;  
 public class IntMain 
 { 
 public static boolean isPrinted;
 public static void main(String args[])  
 {  
     Scanner scan= new Scanner(System.in);  
     int cost,menu;  
     System.out.println("Masukkan harga tiket \n");  
     cost=scan.nextInt();  
     TiketMesin ticket=new TiketMesin(cost);
     
     System.out.println("1. Get Price");  
     System.out.println("2. Get Balance");  
     System.out.println("3. Insert Money");  
     System.out.println("4. Print Ticket");
     
     while (isPrinted!=true){
      menu=scan.nextInt();
      
      switch(menu)  
      {  
          case 1:  
          cost=ticket.getPrice();  
          System.out.println(cost);  
          break;  
          case 2:  
          ticket.getBalance();  
          break;  
          case 3:  
          int money=scan.nextInt();  
          ticket.insertMoney(money);  
          break;  
          case 4:  
          ticket.printTiket();
          isPrinted=true;
          break;  
        }  
  }
  }  
 }

Dan saat diinputkan harga tiket 48 cents, berikut adalah hasil outputnya dimasukkan 48 cents  (sama) :


Dan berikut adalah output saat uang yang dimasukkan 40 cents (kurang dari harga tiket) :


Dan berikut output saat uang yang dimasukkan 50 cents (lebih dari harga) :




Terimakasih :)

Tugas 2 PBO-A Membuat Rumah dengan BlueJ

Pada kali ini, saya akan melanjutkan tugas 2 kemarin yaitu dengan membuat rumah menggunakan BlueJ.
Untuk membuat rumah ini dibutuhkan 5 class yaitu : Canvas, Circle, Recta, Square, dan Triangle

Hasil Rumah :



Canvas :



import javax.swing.*;  
 import java.awt.*;  
 import java.util.List;  
 import java.util.*;  
 public class Canvas  
 {   
   private static Canvas canvasSingleton;  
   
   public static Canvas getCanvas()  
   {  
     if(canvasSingleton == null) {  
       canvasSingleton = new Canvas("BlueJ Shapes Demo", 600, 400,   
           Color.white);  
     }  
     canvasSingleton.setVisible(true);  
     return canvasSingleton;  
   }  
   private JFrame frame;  
   private CanvasPane canvas;  
   private Graphics2D graphic;  
   private Color backgroundColour;  
   private Image canvasImage;  
   private List<Object> objects;  
   private HashMap<Object, ShapeDescription> shapes;  
  
   private Canvas(String title, int width, int height, Color bgColour)  
   {  
     frame = new JFrame();  
     canvas = new CanvasPane();  
     frame.setContentPane(canvas);  
     frame.setTitle(title);  
     canvas.setPreferredSize(new Dimension(width, height));  
     backgroundColour = bgColour;  
     frame.pack();  
     objects = new ArrayList<Object>();  
     shapes = new HashMap<Object, ShapeDescription>();  
   }  

   public void setVisible(boolean visible)  
   {  
     if(graphic == null) {  
       // first time: instantiate the offscreen image and fill it with  
       // the background colour  
       Dimension size = canvas.getSize();  
       canvasImage = canvas.createImage(size.width, size.height);  
       graphic = (Graphics2D)canvasImage.getGraphics();  
       graphic.setColor(backgroundColour);  
       graphic.fillRect(0, 0, size.width, size.height);  
       graphic.setColor(Color.black);  
     }  
     frame.setVisible(visible);  
   }   
   public void draw(Object referenceObject, String color, Shape shape)  
   {  
     objects.remove(referenceObject); 
     objects.add(referenceObject);
     shapes.put(referenceObject, new ShapeDescription(shape, color));  
     redraw();  
   }  
   public void erase(Object referenceObject)  
   {  
     objects.remove(referenceObject);  // just in case it was already there  
     shapes.remove(referenceObject);  
     redraw();  
    }
   
   public static final Color Dark_Brown = new Color(51,0,0);
   public static final Color Grey = new Color(153,153,153);
   public static final Color Purple = new Color(102,0,153);
   public static final Color Dark_Red = new Color(153,0,0);
   public static final Color Light_Blue = new Color(51,204,255);
   
   public void setForegroundColor(String colorString)  
   {  
     if(colorString.equals("red"))  
       graphic.setColor(Color.red);  
     else if(colorString.equals("black"))  
       graphic.setColor(Color.black);  
     else if(colorString.equals("blue"))  
       graphic.setColor(Color.blue);  
     else if(colorString.equals("yellow"))  
       graphic.setColor(Color.yellow);  
     else if(colorString.equals("green"))  
       graphic.setColor(Color.green);  
     else if(colorString.equals("pink"))  
       graphic.setColor(Color.pink);  
     else if(colorString.equals("white"))  
       graphic.setColor(Color.white);  
     else if(colorString.equals("orange"))
       graphic.setColor(Color.orange); 
     else if(colorString.equals("darkbrown"))
       graphic.setColor(Dark_Brown); 
     else if(colorString.equals("grey"))
       graphic.setColor(Grey);
     else if(colorString.equals("purple"))
       graphic.setColor(Purple);
     else if(colorString.equals("darkred"))
       graphic.setColor(Dark_Red);
     else if(colorString.equals("lightblue"))
       graphic.setColor(Light_Blue);
     else 
       graphic.setColor(Color.black);
   }   
   public void wait(int milliseconds)  
   {  
     try  
     {  
       Thread.sleep(milliseconds);  
     }   
     catch (Exception e)  
     {  
       // ignoring exception at the moment  
     }  
   }  
   private void redraw()  
   {  
     erase();  
     for(Iterator i=objects.iterator(); i.hasNext(); ) {  
       ((ShapeDescription)shapes.get(i.next())).draw(graphic);  
     }  
     canvas.repaint();  
   }  
   private void erase()  
   {  
     Color original = graphic.getColor();  
     graphic.setColor(backgroundColour);  
     Dimension size = canvas.getSize();  
     graphic.fill(new Rectangle(0, 0, size.width, size.height));  
     graphic.setColor(original);  
   }  
   private class CanvasPane extends JPanel  
   {  
     public void paint(Graphics g)  
     {  
       g.drawImage(canvasImage, 0, 0, null);  
     }  
   }  
   private class ShapeDescription  
   {  
     private Shape shape;  
     private String colorString;  
     public ShapeDescription(Shape shape, String color)  
     {  
       this.shape = shape;  
       colorString = color;  
     }  
     public void draw(Graphics2D graphic)  
     {  
       setForegroundColor(colorString);  
       graphic.fill(shape);  
     }  
   }  
 }  

Circle :



import java.awt.*;  
 import java.awt.geom.*;  
 public class Circle  
 {  
   private int diameter;  
   private int xPosition;  
   private int yPosition;  
   private String color;  
   private boolean isVisible;  
   // New Circle
   public Circle()
   {  
     diameter = 30;  
     xPosition = 20;  
     yPosition = 60;  
     color = "blue";  
     isVisible = false;  
   }  
   // Make Shape Visible
   public void makeVisible()  
   {  
     isVisible = true;  
     draw();  
   }  
   // Make Shape Invisible
   public void makeInvisible()  
   {  
     erase();  
     isVisible = false;  
   }  
   // Geser Kanan
   public void moveRight()  
   {  
     moveHorizontal(20);  
   }  
   // Geser Kiri
   public void moveLeft()  
   {  
     moveHorizontal(-20);  
   }  
   // Geser Atas
   public void moveUp()  
   {  
     moveVertical(-20);  
   }  
   // Geser Bawah
   public void moveDown()  
   {  
     moveVertical(20);  
   }  
   // Geser Horizontal dengan banyak pixel
   public void moveHorizontal(int distance)  
   {  
     erase();  
     xPosition += distance;  
     draw();  
   }  
   // Geser Vertikal dengan banyak pixel
   public void moveVertical(int distance)  
   {  
     erase();  
     yPosition += distance;  
     draw();  
   }   
   // Ganti Ukuran Shape >=0
   public void changeSize(int newDiameter)  
   {  
     erase();  
     diameter = newDiameter;  
     draw();  
   }  
   // "red", "yellow", "blue", "green", "pink" and "black"  
   public void changeColor(String newColor)  
   {  
     color = newColor;  
     draw();  
   }   
   private void draw()  
   {  
     if(isVisible) {  
       Canvas canvas = Canvas.getCanvas();  
       canvas.draw(this, color, new Ellipse2D.Double(xPosition, yPosition,   
           diameter, diameter));  
       canvas.wait(10);  
     }  
   }  
   private void erase()  
   {  
     if(isVisible) {  
       Canvas canvas = Canvas.getCanvas();  
       canvas.erase(this);  
     }  
   }  
 }  

Square :



import java.awt.*;  
 public class Square  
 {  
   private int size;  
   private int xPosition;  
   private int yPosition;  
   private String color;  
   private boolean isVisible;  
   // New Square
   public Square()  
   {  
     size = 100;  
     xPosition = 260;  
     yPosition = 200;  
     color = "red";  
     isVisible = false;  
   }  
   // Make Shape Visible
   public void makeVisible()  
   {  
     isVisible = true;  
     draw();  
   }  
   // Make Shape Invisible
   public void makeInvisible()  
   {  
     erase();  
     isVisible = false;  
   }  
   // Geser Kanan
   public void moveRight()  
   {  
     moveHorizontal(20);  
   }  
   // Geser Kiri
   public void moveLeft()  
   {  
     moveHorizontal(-20);  
   }  
   // Geser Atas
   public void moveUp()  
   {  
     moveVertical(-20);  
   }  
   // Geser Bawah
   public void moveDown()  
   {  
     moveVertical(20);  
   }  
   // Geser Horizontal dengan banyak pixel
   public void moveHorizontal(int distance)  
   {  
     erase();  
     xPosition += distance;  
     draw();  
   }  
   // Geser Vertikal dengan banyak pixel
   public void moveVertical(int distance)  
   {  
     erase();  
     yPosition += distance;  
     draw();  
   }  
   // Ganti Ukuran Shape >=0
   public void changeSize(int newSize)  
   {  
     erase();  
     size = newSize;  
     draw();  
   }  
   // "red", "yellow", "blue", "green", "pink" and "black"  
   public void changeColor(String newColor)  
   {  
     color = newColor;  
     draw();  
   }  
   private void draw()  
   {  
     if(isVisible) {  
       Canvas canvas = Canvas.getCanvas();  
       canvas.draw(this, color,  
           new Rectangle(xPosition, yPosition, size, size));  
       canvas.wait(10);  
     }  
   }  
   private void erase()  
   {  
     if(isVisible) {  
       Canvas canvas = Canvas.getCanvas();  
       canvas.erase(this);  
     }  
   }  
 } 

Triangle :



import java.awt.*;  
 public class Triangle  
 {  
   private int height;  
   private int width;  
   private int xPosition;  
   private int yPosition;  
   private String color;  
   private boolean isVisible;  
   // New Triangle
   public Triangle()  
   {  
     height = 30;  
     width = 40;  
     xPosition = 50;  
     yPosition = 15;  
     color = "blue";  
     isVisible = false;  
   }  
   // Make Shape Visible
   public void makeVisible()  
   {  
     isVisible = true;  
     draw();  
   }  
   // Make Shape Invisible
   public void makeInvisible()  
   {  
     erase();  
     isVisible = false;  
   }  
   // Geser Kanan
   public void moveRight()  
   {  
     moveHorizontal(20);  
   }  
   // Geser Kiri 
   public void moveLeft()  
   {  
     moveHorizontal(-20);  
   }  
   // Geser Atas
   public void moveUp()  
   {  
     moveVertical(-20);  
   }  
   // Geser Bawah
   public void moveDown()  
   {  
     moveVertical(20);  
   }  
   // Geser Horizontal dengan banyak pixel
   public void moveHorizontal(int distance)  
   {  
     erase();  
     xPosition += distance;  
     draw();  
   }  
   // Geser Vertikal dengan banyak pixel
   public void moveVertical(int distance)  
   {  
     erase();  
     yPosition += distance;  
     draw();  
   }  
   // Ganti Ukuran Shape >=0
   public void changeSize(int newHeight, int newWidth)  
   {  
     erase();  
     height = newHeight;  
     width = newWidth;  
     draw();  
   }  
   // "red", "yellow", "blue", "green", "pink" and "black"  
   public void changeColor(String newColor)  
   {  
     color = newColor;  
     draw();  
   }  
   private void draw()  
   {  
     if(isVisible) {  
       Canvas canvas = Canvas.getCanvas();  
       int[] xpoints = { xPosition, xPosition + (width/2), xPosition - (width/2) };  
       int[] ypoints = { yPosition, yPosition + height, yPosition + height };  
       canvas.draw(this, color, new Polygon(xpoints, ypoints, 3));  
       canvas.wait(10);  
     }  
   }
   private void erase()  
   {  
     if(isVisible) {  
       Canvas canvas = Canvas.getCanvas();  
       canvas.erase(this);  
     }  
   }  
 }  

Rectangle :


import java.awt.*;  
 public class Rectangle  
 {  
   private int P;  
   private int L;
   private int xPosition;  
   private int yPosition;  
   private String color;  
   private boolean isVisible;  
   // New Square
   public Recta()  
   {  
     P = 100; 
     L = 50;
     xPosition = 260;  
     yPosition = 200;  
     color = "red";  
     isVisible = false;  
   }  
   // Make Shape Visible
   public void makeVisible()  
   {  
     isVisible = true;  
     draw();  
   }  
   // Make Shape Invisible
   public void makeInvisible()  
   {  
     erase();  
     isVisible = false;  
   }  
   // Geser Kanan
   public void moveRight()  
   {  
     moveHorizontal(20);  
   }  
   // Geser Kiri
   public void moveLeft()  
   {  
     moveHorizontal(-20);  
   }  
   // Geser Atas
   public void moveUp()  
   {  
     moveVertical(-20);  
   }  
   // Geser Bawah
   public void moveDown()  
   {  
     moveVertical(20);  
   }  
   // Geser Horizontal dengan banyak pixel
   public void moveHorizontal(int distance)  
   {  
     erase();  
     xPosition += distance;  
     draw();  
   }  
   // Geser Vertikal dengan banyak pixel
   public void moveVertical(int distance)  
   {  
     erase();  
     yPosition += distance;  
     draw();  
   }  
   // Ganti Ukuran Shape >=0
   public void changeSize(int newP,int newL)  
   {  
     erase();  
     P = newP; 
     L = newL;
     draw();  
   }  
   // "red", "yellow", "blue", "green", "pink" and "black"  
   public void changeColor(String newColor)  
   {  
     color = newColor;  
     draw();  
   }  
   private void draw()  
   {  
     if(isVisible) {  
       Canvas canvas = Canvas.getCanvas();  
       canvas.draw(this, color,  
           new Rectangle(xPosition, yPosition, P, L));  
       canvas.wait(10);  
     }  
   }  
   private void erase()  
   {  
     if(isVisible) {  
       Canvas canvas = Canvas.getCanvas();  
       canvas.erase(this);  
     }  
   }  
 } 

Minggu, 09 September 2018

Tugas 2 PBO-A Luas Bangun Datar

Source Code dan SS :



public class Main
{
    
    public static void jajarangenjang()
    {
        JajaranGenjang JG1;
JG1 = new JajaranGenjang(); JG1.a = 12; JG1.t = 7; JG1.m = 5; double area = JG1.area(); double circumf = JG1.circumference(); System.out.println("Alas="+JG1.a+"\n"+"Tinggi="+JG1.t+"\n"+"sisi miring="+JG1.m); System.out.println("Luas Jajaran Genjang="+area); System.out.println("Keliling Jajaran Genjang="+circumf+"\n"+"\n"); } public static void bujursangkar() { Bujursangkar BS1; BS1 = new Bujursangkar(); BS1.x = 12; double area = BS1.area(); double circumf = BS1.circumference(); System.out.println("Sisi="+BS1.x); System.out.println("Luas Bujur Sangkar="+area); System.out.println("Keliling Bujur Sangkar="+circumf+"\n"+"\n"); } public static void Segitiga() { Segitiga S1; S1 = new Segitiga(); S1.x = 12; S1.y = 7; double area = S1.area(); double circumf = S1.circumference(); System.out.println("Alas="+S1.x+"\n"+"Tinggi="+S1.y); System.out.println("Luas Segitiga="+area); System.out.println("Keliling Segitiga="+circumf+"\n"+"\n"); } public static void PersegiPanjang() { PersegiPanjang PP1; PP1 = new PersegiPanjang(); PP1.x = 12; PP1.y = 7; double area = PP1.area(); double circumf = PP1.circumference(); System.out.println("Panjang="+PP1.x+"\n"+"Lebar="+PP1.y); System.out.println("Luas Persegi Panjang="+area); System.out.println("Keliling Persegi Panjang="+circumf+"\n"+"\n"); } public static void BelahKetupat() { BelahKetupat BK1; BK1 = new BelahKetupat(); BK1.d1 = 8; BK1.d2 = 6; double area = BK1.area(); double circumf = BK1.circumference(); System.out.println("Diagonal 1="+BK1.d1+"\n"+"Diagonal 2="+BK1.d2); System.out.println("Luas Belah Ketupat="+area); System.out.println("Keliling Belah Ketupat="+circumf+"\n"+"\n"); } }
public class JajaranGenjang
{
    public double a, t, m;
        
        public double circumference(){
            return m+m+a+a;
        }
        public double area(){
            return a*t;
        }
}

public class BelahKetupat
{
    public double d1, d2, s;
        
        public double circumference(){
            s = Math.sqrt(((0.5*d1)*(0.5*d1))+((0.5*d2)*(0.5*d2)));
            return s*4;
        }
        public double area(){
            return (d1*d2)*0.5;
        }
}
public class Segitiga
{
    public double x, y, r;
        
        public double circumference(){
            r = Math.sqrt(((0.5*x)*(0.5*x))+(y*y));
            return r+r+x;
        }
        public double area(){
            return (x*y)*0.5;
        }
}
public class PersegiPanjang
{
    public double x, y;
        
        public double circumference(){
            return x+x+y+y;
        }
        public double area(){
            return x*y;
        }
}
public class Bujursangkar
{
    public double x;
        
        public double circumference(){
            return x*4;
        }
        public double area(){
            return x*x;
        }
}

Minggu, 02 September 2018

Tugas 1 PBO-A

Source Code Biodata Tugas1 PBO-A :)



 /**  
  * Write a description of class Tugas1 here.  
  * Tugas1  
  * @author (trasv)  
  * @version (3/9/2018)  
  */  
 public class Tugas1  
 {  
   // instance variables - replace the example below with your own  
   private int x;  
   /**  
    * Constructor for objects of class Tugas1  
    */  
   public Tugas1()  
   {  
     // initialise instance variables  
     x = 0;  
     System.out.println("Tugas #PBOA-Tugas1");  
     System.out.println("===============================");  
     System.out.println("Nama   : M. Fatih");  
     System.out.println("Kelas  : PBO A");  
     System.out.println("Alamat  : Surabaya");  
     System.out.println("Email  : timotiuswishnubinsarpardede@ymail.com");  
     System.out.println("Blog   : http://rena-chan48.blogspot.com");  
     System.out.println("NO HP  : 081357581699");  
     System.out.println("Twitter : @trasvz");  
   }  
 }  
a
w
a
z
o
N
a
n
e
R
Batman Begins - Help Select