Minggu, 23 Desember 2012

MULTILAYOUT

Implementasi MultiLayout pada JFrame

import java.awt.*;
import javax.swing.*;

public class MultiLayout extends JFrame {
        JPanel jendela = new JPanel();
        JLabel Label0 = new JLabel("0");
        JLabel Label1 = new JLabel("1");
        JLabel Label2 = new JLabel("2");
        JLabel Label3 = new JLabel("3");
        JLabel Label4 = new JLabel("4");
        JLabel Label5 = new JLabel("5");
        JLabel Label6 = new JLabel("6");
        JLabel Label7 = new JLabel("7");
        JLabel Label8 = new JLabel("8");
        JLabel Label9 = new JLabel("9");
        JLabel Label10 = new JLabel("10");
        JLabel Label11 = new JLabel("11");
        JLabel Label12 = new JLabel("Flow Layout");
        JLabel Label13 = new JLabel("None Layout");
        JLabel Label14 = new JLabel("Grid Layout");
        JPanel Panel1 = new JPanel();
        JPanel Panel2 = new JPanel();
        JPanel Panel3 = new JPanel();
        JPanel Panel4 = new JPanel();


    public MultiLayout() {
        FlowLayout ad = new FlowLayout();
        Panel1.setLayout(ad);
        Panel1.add(Label0);
        Panel1.add(Label1);
        Panel1.add(Label2);
        Panel1.add(Label3);
        Panel2.setLayout(null);
        Panel2.add(Label4);
        Panel2.add(Label5);
        Panel2.add(Label6);
        Panel2.add(Label7);
        Label4.setBounds(30,10,10,10);
        Label5.setBounds(30,30,10,10);
        Label6.setBounds(30,50,10,10);
        Label7.setBounds(30,70,10,10);

        GridLayout ab = new GridLayout(2,2);
        Panel3.setLayout(ab);
        Panel3.add(Label8);
        Panel3.add(Label9);
        Panel3.add(Label10);
        Panel3.add(Label11);

        JFrame utama = new JFrame("MULTILAYOUT");
        utama.setContentPane(Panel4);
        GridLayout wq = new GridLayout(2,3);
        Panel4.setLayout(wq);
        Panel4.add(Label12);
        Panel4.add(Label13);
        Panel4.add(Label14);
        Panel4.add(Panel1);
        Panel4.add(Panel2);
        Panel4.add(Panel3);

        utama.setSize(300,250);
        utama.setVisible(true);
        utama.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);



    }

    public static void main (String[] args) {
        MultiLayout tampil = new MultiLayout();
    }
}

 

Kamis, 13 Desember 2012

JAVA GUI


Memberi Background Gambar Pada JFrame

JFrame adalah salah satu container yang ada dalam swing. Container adalah komponen yang dapat menampung komponen lain di atasnya. JLabel, JTextField, JtextArea, JButton, dan JPanel (JPanel adalah termasuk container). Dalam contoh program yang akan saya buat ini saya akan mengimplementasikan penggunaan  JFrame menggunakan IDE Netbeans 6.5 .


import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Image;
import javax.swing.ImageIcon;
import javax.swing.JPanel;
                public class PanelBackground extends JPanel{
                private Image image;
                public PanelBackground() {
                image = new ImageIcon(getClass().getResource("/windu/train/images/background2.jpg")).getImage();
                 }
                 protected void paintComponent(Graphics grphcs) {
                super.paintComponent(grphcs);
                 Graphics2D gd = (Graphics2D) grphcs.create();
                 gd.drawImage(image, 0, 0, getWidth(), getHeight(), null);
                gd.dispose();
                 }
                }



Pada proses diatas memberi gambar pada  PanelBackground.java telah berhasil dilakukan. Proses selanjutnya adalah menjadikan JPanel sebagai background pada JFrame. Langkah-langkahnya adalah :
  1. Buka JFrame, Home.java
  2. Klik kanan – set layout – border layout
  3. Masukan PanelBackground.java ke atas Home.java yang sedang terbuka, dengan cara men-drag dari jendela project.
  4. Tekan  shift+F6, maka JFrame dengan background gambar telah berhasil dilakukan.



Kamis, 06 Desember 2012

EVENT HANDLING

CONTOH EVENT HANDLING DI JAVA

Event Handling merupakan konsep penanganan suatu action yang terjadi. Jadi suatu program akan berjalan saat sesuatu terjadi, misalnya saat tombol diklik, saat combo box dipilih dan sebagainya. Java memiliki beberapa jenis Event Handling, salah satunya adalah class ActionListener yang menangani aksi terhadap tombol. Berikut ini contoh programnya:

01
import java.awt.*;
02
import java.awt.event.*;

03
import javax.swing.*;
04


05
public class ClickMe extends JFrame implements ActionListener {
06
    private JButton tombol;

07

08
    public ClickMe() {

09
        super ("Event Handling");  
10


11
        Container container = getContentPane();
12
        container.setLayout(new FlowLayout());     

13

14
        tombol = new JButton ("Click Me!");

15
        tombol.addActionListener(this);
16
        container.add(tombol);     

17

18
        setSize (200,100);

19
        setVisible (true);
20
    }

21

22
    public static void main (String arg[]) {

23
        ClickMe test = new ClickMe();
24
        test.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

25
    }
26


27
    public void actionPerformed (ActionEvent e) {
28
        if (e.getSource() == tombol) {

29
            JOptionPane.showMessageDialog(null, "You click me, guys !!!");
30
        }

31
    }
32
}


Minggu, 18 November 2012

OVERLOADING DAN OVERRIDING

OVERLOADING DAN OVERRIDING

  1. Overloading adalah suatu kemampuan yang dimiliki oleh bahasa perograman berorientasi objek untuk menggunakan satu nama untuk beberapa method yang memiliki parameter masukan yang berbeda.
    Contoh :

    public class MainClass4 {
      static void print(String s, int i) {
        System.out.println("String: " + s + ", int: " + i);
      }

      static void print(int i, String s) {
        System.out.println("int: " + i + ", String: " + s);
      }

      public static void main(String[] args) {
        print("String first", 11);
        print(99, "Int first");
      }
    }

    Outputnya adalah :
    String: String first, int: 11
    int: 99, String: Int first
    Press any key to continue . . .
  2. Overriding adalah suatu kemampuan dalam bahasa pemrograman berorientasi objek untuk mengubah implementasi (menimpa) suatu method yang dimiliki oleh kelas super ketika kelas super tersebut diturunkan. 
    Contoh :

    class A1 {
      int i, j;

      A1(int a, int b) {
        i = a;
        j = b;
      }

      // display i and j
      void show() {
        System.out.println("i and j: " + i + " " + j);
      }
    }

    class B1 extends A1 {
      int k;

      B1(int a, int b, int c) {
        super(a, b);
        k = c;
      }

      void show() {
        System.out.println("k: " + k);
      }
    }

    class Override {
      public static void main(String args[]) {
        B1 subOb = new B1(1, 2, 3);

        subOb.show(); // this calls show() in B
      }
    }

    Outputnya adalah :
    k: 3
    Press any key to continue ….

Jumat, 02 November 2012

METODE ABSTRACT

ABSTRACT CLASS, INTERFACE, INNER CLASS

  1. Abstract class adalah suatu kelas yang dinyatakan abstract, umumnya memiliki suatu atau lebih abstract method.Abstract method adalah suatu method yang memiliki implementasi dan menggunakan modifier abstract. Contoh :
    abstract class A {
      abstract void callme();

      void callmetoo() {
        System.out.println("This is a concrete method.");
      }
    }

    class extends A {
      void callme() {
        System.out.println("B's implementation of callme.");
      }
    }

    class AbstractDemo {
      public static void main(String args[]) {
        B b = new B();

        b.callme();
        b.callmetoo();
      }
    }
  2. Interface adalah suatu kelas yang berisi method-method tanpa implementasi, namun tanpa modifier abstract, apabila suatu interface memiliki atribut, maka atributnya akan berlaku sebagai konstanta. Contoh :
    interface ThisInterface {
      public void thisMethod();
    }

    interface ThatInterface {
      public void thatMethod();
    }

    class MyClass implements ThisInterface, ThatInterface {
      // Class definition including methods from both interfaces...
      public void thisMethod() {
        System.out.println("this");
      }

      public void thatMethod() {
        System.out.println("that");
      }
    }

    public class MainClass {
      public static void main(String[] a) {
        MyClass cls = new MyClass();
        cls.thisMethod();
        cls.thatMethod();
      }
    }
    outputnya adalah : 
    this
    that
  3. Inner class adalah kelas yang disisipkan di dalam kelas yang lain. Fungsi kelas ini digunakan untuk mendukung suatu proses yang akan dijalankan oleh kelas utamanya. 

Rabu, 17 Oktober 2012

INHERITANCE

INHERITANCE DALAM BAHASA PEMROGRAMAN JAVA

Pewarisan (inheritance) adalah salah satu konsep terpenting dalam OOP dan mempunyai dampak langsung pada cara merancang dan menulis kelas. Pewarisan adalah proses penciptaan kelas baru dengan mewarisi karakteristik kelas yang telah ada, ditambah karakteristik unik kelas baru itu. Pewarisan adalah mekanisme ampuh yang memungkinkan kelas mewarisi fungsionalitas kelas yang telah ada. Untuk menciptakan kelas baru, kita hanya perlu menspesifikasikan cara kelas itu berbeda dari kelas yang telah ada. Pewarisan merupakan mekanisme yang ampuh dan alami untuk mengorganisasikan program.
Subkelas mewarisi semua metode dan variable dan superkelasnya. Secara praktis berarti jika superkelas telah mendefinisikan perilaku yang diperlukan, maka kita tidak perlu mendefinisi ulang perilaku itu, kita cukup membuat kelas yang merupakan subkelas dari superkelas yang dimaksud. Superkelas memberi perilaku nya ke subkelas dari superkelas secara otomatis. Superkelas itu memperoleh perilaku superkelas-superkelasnya diatasnya. Dengan demikian, subkelas akan merupakan gabungan dari seluruh fitur kelas-kelas diatasnya di hirarki perwarisan ditambah fitur kepunyaannya sendiri.

Dengan pewarisan, dimungkinkan penciptaan klasifikasi berhirarki. Dengan pewarisan, kita dapat menciptakan kelas umum yang mendefinisikan perilaku umum dari item-item yang saling berhubungan. Kelas ini kemudian dapat diwarisi kelas-kelas yang lain. Kelas lebih spesifik menambahkan hal-hal yang unik di kelas itu. Dalam terminologi Java, kelas yang diwarisi disebut superclass, sedang kelas yang mewarisi disebut subclass. Dengan demikian, subclass adalah versi spesial dari superclass.
Java hanya memungkinkan pewarisan tunggal (single inheritance). Pewarisan di Java dapat dilakukan terhadap bentukan class dan interface. Dimungkinkan pewarisan pada interface karena internface dapat dipandang sebagai class yang implementasinya sepenuhnya ditunda. Di Java pewarisan jamak (multiple inheritance) di rancangan orientasi object dapat diselesaikan menggunakan bentukan interface.
Pewarisan di Java dilakukan dengan kelas dapat mewarisi kelas lain dengan keyword extends. Bila kelas tidak dikehendaki untuk diwarisi maka dapat diberi keyword final.

Contoh kode program Inheritance :

Simpan dengan nama PERSEGI.java
class PERSEGI {
protected double panjang, lebar ;
public PERSEGI(){
setPL (1 , 1);
}

public PERSEGI(double p, double l){
if (p>0 && l>0){
panjang = p ;
lebar = l ;
}else{
panjang = 2.0 ;
lebar = 1.0 ;
}
}

public void setPL(double p, double l){
if(p>0 && l>0){
panjang = p ;
lebar = l ;
}
}

public double getPanjang(){
return panjang ;
}

public double getLebar(){
return lebar ;
}

public double hitungLuas(){
return (panjang * lebar) ;
}

public double hitungKel(){
return (2*(panjang+lebar)) ;
}
}

Simpan dengan BALOK.java


public class BALOK extends PERSEGI{
private double tinggi ;

public BALOK(){
setPL(1,1) ;
setTinggi(1) ;
}

public BALOK(double p, double l, double t){
setPL(p,l) ;
setTinggi(t) ;
}

public void setTinggi(double t){
if(t>0){
tinggi = t ;
}
}

public double getTinggi(){
return(tinggi) ;
}

public double hitungLuas(){
return(super.hitungLuas()*4.0 + super.getLebar() * tinggi * 2.0) ;
}

public double hitungVol(){
return(super.hitungLuas()* tinggi) ;
}

}

Simpan dengan nama LatInheritance.java


public class LatInheritance {

public static void main(String[] args) {
PERSEGI kotak = new PERSEGI(4.5, 3.5);
System.out.println("Deskripsi PERSEGI kotak");
System.out.println("Panjang : "+ kotak.getPanjang() + " meter");
System.out.println("Lebar : "+ kotak.getLebar() + " meter");
System.out.println("Luas : "+ kotak.hitungLuas() + " meter persegi");
System.out.println("Keliling : "+ kotak.hitungKel() + " meter");
System.out.println("");

double p = kotak.getPanjang() ;
double l = kotak.getLebar() ;

BALOK kubus = new BALOK(p, l, 3.0) ;
System.out.println("Deskripsi Balok Kubus");
System.out.println("Panjang :"+ kubus.getPanjang()+ " meter");
System.out.println("Lebar :"+ kubus.getLebar()+ " meter");
System.out.println("Tinggi :"+ kubus.getTinggi()+ " meter");
System.out.println("Luas : "+ kubus.hitungLuas() + " meter persegi");
System.out.println("Volume : "+ kubus.hitungVol() + " meter kubik");
}
}

Semua file disimpan dalam satu folder dengan nama LatInheritance, ketika file java tersebut dikompile lalu dijalankan maka outputnya dapat kita lihat seperti  di bawah ini :
Deskripsi PERSEGI kotak
Panjang : 4.5 meter
Lebar : 3.5 meter
Luas : 15.75 meter persegi
Keliling : 16.0 meter

Deskripsi Balok Kubus
Panjang :4.5 meter
Lebar :3.5 meter
Tinggi :3.0 meter
Luas : 84.0 meter persegi
Volume : 47.25 meter kubik
Press any key to continue . .