Jumat, 20 April 2012

TUGAS PBO INHERITANCE DAN POLIMORFISME

TUgas PBO INHERITANCE DAN POLIMORFISME
Oleh : Rizki Fajar Agung 56410130 dan Achmad Syarief 50410094 (2IA14)

INHERITANCE

Inheritance adalah konsep penting dalam pemrograman berorientasi objek. Bila diterjemahkan secara harafiah, artinya adalah Pewarisan.
Istilah Inheritance akan lebih sering digunakan karena istilah ini sudah dikenal luas dalam dunia pemrograman internasional. Fungsi utama inheritance adalah untuk membuat Class baru dari class yang sudah ada.
Inheritance menjadikan suatu class menjadi lebih reusable dalam arti lebih berguna karena dapat digunakan untuk menghasilkan class-class lain yang lebih spesifik. Apabila ada suatu class mewarisi class lain maka dalam definisi class harus ditambakan extends.Pengertian Inheritance disebut juga (Pewarisan)  memakai variabel data fungsi (method) dari kelas yang sudah ada tersebut serta menambah atribut/pelaku yang baru, kelas baru otomatis memiliki variabel atau fungsi yang dimiliki kelas asal.sebagai berikut listing programnya.
LISTING KALKULATOR JAVA
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;

public class kalkulator extends JFrame implements ActionListener
{

 JLabel label1= new JLabel("Nilai A:");
 JLabel label2= new JLabel("Nilai B");
 JLabel label3= new JLabel("Hasil");
 JLabel label4= new JLabel();
 JTextField n1 = new JTextField();
 JTextField n2 = new JTextField();
 JTextField hasil = new JTextField();
 JButton tambah=new JButton("+");
 JButton kurang=new JButton("-");
 JButton kali=new JButton("*");
 JButton bagi=new JButton("/");
 JPanel panel =new JPanel();
double c;
    public kalkulator()
    {
        setSize(300,300);
        setTitle("Kalkulator");
        panel.setLayout(null);
        setLocationRelativeTo(null);
        label1.setBounds(20, 50,50 , 20);
        label2.setBounds(20, 80, 50, 20);
        n1.setBounds(70, 50, 100, 20);
        n2.setBounds(70, 80, 100, 20);
        tambah.setBounds(20, 120, 50, 20);
        kurang.setBounds(80, 120, 50, 20);
        kali.setBounds(140, 120, 50, 20);
        bagi.setBounds(200, 120, 50, 20);
        label3.setBounds(20, 150, 50, 20);
        label4.setBounds(80, 150, 100, 20);
        tambah.addActionListener(this);
        kurang.addActionListener(this);
        kali.addActionListener(this);
        bagi.addActionListener(this);
        panel.add(label1);
        panel.add(label2);
        panel.add(n1);
        panel.add(n2);
        panel.add(tambah);
        panel.add(kurang);
        panel.add(kali);
        panel.add(bagi);
        panel.add(label3);
        panel.add(label4);
        getContentPane().add(panel);
        setVisible(true);
    }
    public void actionPerformed(ActionEvent e)
    {
        double a=Double.parseDouble(n1.getText());
        double b=Double.parseDouble(n2.getText());
        if(e.getSource()==tambah)
        {
            c=a+b;
            label4.setText(""+c);
        }
        else if(e.getSource()==kurang)
        {
            c=a-b;
            label4.setText(""+c);
        }
        else if(e.getSource()==kali)
        {
            c=a*b;
            label4.setText(""+c);
        }
        else if(e.getSource()==bagi)
        {
            c=a/b;
            label4.setText(""+c);
        }
    }


}

LISTING KONVERSI JAVA
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;

public class konversi extends JFrame implements ActionListener
{
 JLabel label1= new JLabel("CELCIUS");
 JLabel label2= new JLabel("HASIL CONVERT");
 JTextField celcius = new JTextField();
 JTextField hasilkon= new JTextField();
 JButton kelvin=new JButton("Kelvin");
 JButton fahren=new JButton("Fahrenheit");
 JButton ream=new JButton("Reamur");
 JPanel panel =new JPanel();
 double h;
   public konversi()
   {
        setSize(400,300);
        setTitle("Konversi Suhu");
        panel.setLayout(null);
        setLocationRelativeTo(null);
        label1.setBounds(20, 50,50 , 20);
        celcius.setBounds(70, 50, 100, 20);
        kelvin.setBounds(20, 120, 100, 20);
        fahren.setBounds(140, 120, 100, 20);
        ream.setBounds(250, 120, 100, 20);
        label2.setBounds(20,150,120,25);
        hasilkon.setBounds(140,150,120,20);
        celcius.addActionListener(this);
        kelvin.addActionListener(this);
        fahren.addActionListener(this);
        panel.add(label1);
        panel.add(celcius);
        panel.add(kelvin);
        panel.add(fahren);
        panel.add(ream);
        panel.add(label2);
        panel.add(hasilkon);
        this.getContentPane().add(panel);
        setVisible(true);
   }
    public void actionPerformed(ActionEvent e)
   {
        double c=Double.parseDouble(celcius.getText());
    if(e.getSource()==kelvin)
    {
      h=273+c;
      hasilkon.setText(""+h);
    }
    else if(e.getSource()==fahren)
    {
      h=(c*1.8)+32;
      hasilkon.setText(""+h);
    }
    else if(e.getSource()==ream)
    {
      h=c*0.8;
      hasilkon.setText(""+h);
    }
   }
}

POLIMORFISME

Polimorfisme adalah kemampuan untuk memperoleh bentuk. Dua objek atau lebih dikatakan polimorfis, bila objek-objek itu mempunyai antar muka-antarmuka identik namun mempunyai perilaku-perilaku berbeda. Bentuk ini memungkinkan kita menganggap sekelompok objek dengan tipe-tipe berbeda seperti dimiliki oleh suatu tipe yang sama. Polimorfisme merupakan fitur yang terjadi karena interaksi setiap konsep pewarisan dan dynamic binding. Contohnya pintu dan jendela memiliki perilaku yang sama yaitu dapat dibuka dan ditutup, namun untuk menutup jendela dilakukan misalnya dari atas ke bawah (vetikal), sedangkan pintu dari depan ke belakang (horizontal).Lalu setelah program yang terdapat diatas sudah tidak ada yang erorr hasil plimorfisme keduanya akan tampil dalam program berikut ini:

LISTING MENUUTAMA JAVA
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;

public class menuutama extends JFrame implements ActionListener
{
 kalkulator kal;
 konversi kon;
 JLabel label1= new JLabel("MENU");
 JLabel label2= new JLabel("1. Kalkulator");
 JLabel label3= new JLabel("2. Konversi");
 JLabel label4= new JLabel("3. exit");
 JLabel label5= new JLabel("pilih");
 JTextField pilihan = new JTextField();
 JButton ok=new JButton("ok");
 JPanel panel =new JPanel();

 public menuutama()
 {
     setTitle("Menu");
     setSize(300,200);
     setLocationRelativeTo(null);
     label1.setBounds(this.getWidth()/2,10,100,20);
     label2.setBounds(50, 30, 100, 20);
     label3.setBounds(50, 55, 100, 20);
     label4.setBounds(50, 75, 100, 20);
     label5.setBounds(20, 100, 50, 20);
     pilihan.setBounds(50,100 ,100, 20);
     ok.setBounds(160, 100, 50, 20);
     ok.addActionListener(this);
     panel.setLayout(null);
     panel.add(label1);
     panel.add(label2);
     panel.add(label3);
     panel.add(label4);
     panel.add(label5);
     panel.add(pilihan);
     panel.add(ok);
     getContentPane().add(panel);
        
 }

    public void actionPerformed(ActionEvent e)
    {
        if (e.getSource()==ok)
        {
        int pil=Integer.parseInt(pilihan.getText());
        switch(pil)
        {
            case 1:kal=new kalkulator();
                   break;

            case 2:kon= new konversi();
                    break;

            case 3:System.exit(0);
        }
        }
    }

    public static void main(String [] args)
    {
        menuutama tampilan=new menuutama();
        tampilan.setVisible(true);
        tampilan.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }


}

OUTPUT


                  


                                                 

                                  





Tidak ada komentar:

Posting Komentar