Senin, 12 November 2012

[KUIS] Java mengenai Interface, Class, Object


1.Interface
Interface mendefinisikan aturan perilaku (protocol of behavior) yang dapat diimplementasikan oleh kelas manapun. Interface mendefinisikan satu set method tanpa menyediakan implementasinya. Sebuah kelas yang mengimplementasi sebuah interface terikat kontrak oleh interface tersebut untuk mengimplementasi semua method yang ada di dalam  interface. Dengan kata lain, kelas tersebut terikat untuk meng-implementasikan perilaku tertentu yang tertulis dalam interface. Secara substansi, interface merupakan kumpulan dari method abstrak dan konstanta. Dalam dunia pemprograman istilah interface juga dikaitkan dengan bentuk dan tampilan dari suatu program yang kita buat yang merupakan tampilan tatap muka yang dapat kita akses secara visual.
Interface memiliki kemiripan dengan kelas abstrak, di mana keduanya memuat method abstrak. Perbedaan penting antara interface dan kelas abstrak adalah :
--Sebuah interface tidak dapat membuat implementasi satu methodpun, sementara kelas abstrak dapat membuat implementasi satu atau lebih method abstrak.
--Sebuah kelas dapat mengimplementasi beberapa interface, tetapi ia hanya dapat meng-extends satu superclass.
--Interface bukan merupakan bagian dari hirarki kelas. Dua kelas yang tidak berhubungan dalam jalur hirarki kelas dapat mengimplementasi interfaceyang sama.
Deklarasi Interface
Untuk mendeklarasikan suatu interface kita dapat memisalkan bahwa ada sekumpulan obyek yang memiliki keahlian ataupun kemampuan yang sama, misalkan semua obyek tersebut dapat berjalan. Untuk itu dapat dibuatkan sebuah interface public yang dinamakan Berjalan, dimana interface tersebut memiliki tiga operasi maju, mundur, berhenti.

Kondisi diatas menggambarkan bahwa kelas Mobil telah mengimplementasikan interface Berjalan. Dan untuk kode dari desain kelas di atas adalah sebagai berikut:
public interface Berjalan {
public void maju();
public void mundur();
public void berhenti();
}

public class Mobil implements Berjalan {
public void maju(){
//melangkah ke depan
}
Public void mundur(){
//melangkah ke belakang
//masukkan gigi mundur
}
public void berhenti(){
     //menginjak rem
}
}

Satu interface Berjalan dapat diimplementasikan oleh beberapa kelas/class sekaligus. Misalkan seperti, Kereta api, truk, gerobak, yang semuanya dapat berjalan. Dan dalam contoh tersebut class Mobil merupakan subclass dari Kendaraan sehingga sebuah kelas/class dapat mewarisi satu kelas tetapi dapat mengimplementasikan beberapa interface sekaligus.

Penggunaan interface
Biasanya interfacedigunakan untuk:
--Mendeklarasikan methodyang akan diimplementasikan oleh satu atau beberapa kelas.
--Menunjukkan interfacesebuah obyek ke publik tanpa menunjukkan isi kelas sebenarnya.
--Menangkap kesamaan di antara beberapa kelas tanpa perlu memasukkannya dalam hirarki kelas (superclass- subclass).
--Mensimulasikan konsep pewarisan banyak kelas dengan mendeklarasikan kelas yang mengimplementasikan beberapa interface sekaligus.

2.Class/Kelas
Dalam dunia OOP class merupakan hal yang sangat penting karena class merupakan sebuah blueprint atau rancangan utama dari perangkat lunak yang dapat digunakan untuk menginstansiasi (mendeklarasikan dan menciptakan) banyak obyek. Sebuah class mendefinisikan satu set elemen data  (attribut) dan perilaku atau fungsi (method) yang digunakan untuk memanipulasi obyek atau melakukan interaksi antar obyek. Atribut dan method dikenal juga sebagai anggota obyek.
Contoh class:
//Mendefinisikan class Siswa
public class Siswa
{
//field
    public String nama;
     public String nis;
     public String kelas;
    //konstruktor
    public Siswa()
    {
 
    }
    //konstruktor
    public Siswa(String nama,String nis,String kelas)
    {
        this.nama = nama;
           this.nis = nis;
           this.kelas = kelas;
    }
    //method
    public String getNama()
    {
        return nama;
    }
      //method
    public String getNis()
    {
        return nis;
    }
      //method
    public String getKelas()
    {
        return kelas;
    }
    }

3.Object
Object dalam dunia OOP merupakan sebuah entiti yang memiliki keadaan, behavior dan juga identitas yang  tugasnya dirumuskan dan ditujukan dalam suatu lingkup masalah dengan baik. Objek juga merupakan instance/ wujud takpilan bentuk sebenarnya dari sebuah class  dimana tanpa adanya objek maka suatu class akan menjadi hambar dan keberadaanya menjadi seperti abstrak.
Dan contoh pembuatan object adalah sebagai berikut (melanjutkan class Siswa):
public static void main (String[] args){
//Pembuatan Object Siswa
Siswa Siswa1 = new Siswa("Chandra Farandi Imam Adipa","NS034","IPA 3 B");
System.out.println();
System.out.println("Data Siswa ");
System.out.println("--------------");
System.out.println("Nama\t :"   + Siswa1.getNama());
System.out.println("Nis\t :"     + Siswa1.getNis());
System.out.println("Kelas\t :" + Siswa1.getKelas());
System.out.println("--------------");
System.out.println();
}

4. Contoh interface,Class , dan Object dengan java
                Contoh Interface
public interface Berjalan {
public void maju();
public void mundur();
public void berhenti();
}

public class Mobil implements Berjalan {
public void maju(){
//melangkah ke depan
}
Public void mundur(){
//melangkah ke belakang
//masukkan gigi mundur
}
public void berhenti(){
     //menginjak rem
}
}


                Contoh Class

//Mendefinisikan class Siswa
public class Siswa
{
//field
    public String nama;
     public String nis;
     public String kelas;
    //konstruktor
    public Siswa()
    {
 
    }
    //konstruktor
    public Siswa(String nama,String nis,String kelas)
    {
        this.nama = nama;
           this.nis = nis;
           this.kelas = kelas;
    }
    //method
    public String getNama()
    {
        return nama;
    }
      //method
    public String getNis()
    {
        return nis;
    }
      //method
    public String getKelas()
    {
        return kelas;
    }
    }

                Contoh Object

public static void main (String[] args){
//Pembuatan Object Siswa
Siswa Siswa1 = new Siswa("Chandra Farandi Imam Adipa","NS034","IPA 3 B");
System.out.println();
System.out.println("Data Siswa ");
System.out.println("--------------");
System.out.println("Nama\t :"   + Siswa1.getNama());
System.out.println("Nis\t :"     + Siswa1.getNis());
System.out.println("Kelas\t :" + Siswa1.getKelas());
System.out.println("--------------");
System.out.println();
}

       Contoh Class+Object(digabung)
//Mendefinisikan class Siswa
//Siswa.java
public class Siswa
{
//field
    public String nama;
     public String nis;
     public String kelas;
    //konstruktor
    public Siswa()
    {
 
    }
    //konstruktor
    public Siswa(String nama,String nis,String kelas)
    {
        this.nama = nama;
           this.nis = nis;
           this.kelas = kelas;
    }
    //method
    public String getNama()
    {
        return nama;
    }
      //method
    public String getNis()
    {
        return nis;
    }
      //method
    public String getKelas()
    {
        return kelas;
    }
    
     public static void main (String[] args){

//Pembuatan Object Siswa
Siswa Siswa1 = new Siswa("Chandra Farandi Imam Adipa","NS034","IPA 3 B");
System.out.println();
System.out.println("Data Siswa ");
System.out.println("--------------");
System.out.println("Nama\t :"   + Siswa1.getNama());
System.out.println("Nis\t :"     + Siswa1.getNis());
System.out.println("Kelas\t :" + Siswa1.getKelas());
System.out.println("--------------");
System.out.println();
}
}
Dan untuk hasilnya setelah dicompile adalah sebagai berikut:
 untuk source codenya nanti kami upload :D


Selasa, 16 Oktober 2012

Jelaskan Dengan Lengkap Tentang FlowLayout, Lengkapi Dengan Contoh Class Java Yang Mengimplementasikan FlowLayout!!

Dalam artikel kali ini kita akan berbicara mengenai salah satu elemen GUI yaitu Layout Manager dan lebih spesifik lagi yaitu mengenai Flowlayout. Layout adalah bagaimana kita mengatur posisi atau tata letak komponen yang berada di dalam sebuah tampilan. Layout di dalam pemrograman java dapat kita atur melalui Java Container seperti JFrame , JDialog, atau JPanel.

Layout Manager menyusun komponen GUI di atas container.  Penggunaan Layout memberikan kemudahan dibandingkan jika kita membuat ukuran letak dan posisi setiap komponen secara manual. Pada Layout manager, komponen diletakkan dari kiri ke kanan lalu ke baris berikutnya dan peletakkan komponennya dapat diletakkan dengan rata kiri(left-aligned), di tengah (centered), atau juga rata kanan(right-aligned) dan secara defaultnya komponen akan berada ditengah.

FlowLayout Manager adalah sebuah default manager untuk Panel class beserta subkelasnya yang termasuk di dalam applet class. Flowlayout merupakan bagian dari layout manager turunan dari JFrame. FlowLayout merupakan layout manager pada java yang berfungsi untuk mengatur komponen GUI yang ada layaknya mengalir ke kiri, ke kanan, ke atas maupun ke bawah sesuai dengan alignment pengaturannya. Mengalir tersebut mempunyai maksud bahwa objek komponen GUI tersebut posisinya menyesuaikan dengan ukuran dari frame yang ada(hanya posisinya saja,sementara ukuran komponen tidak mengalami perubahan), FlowLayout cenderung menata komponen GUI secara otomatis. Dalam penggunaanya FlowLayout Manager memiliki tiga buah konstruktor untuk bekerja seperti yang disebutkan di bawah ini:
Tipe FlowLayout Constructor
Jenis Konstruktor (Deklarasi/penulisannya)
Fungsi/Kegunaan
FlowLayout ( )
Digunakan untuk membuat objek baru FlowLayout dengan posisi komponen default berada di tengah dan lima unit horizontal dan vertikal gap dimasukkan pada komponen sebagai default.
FlowLayout (int align)
Align diisi dengan nilai yang diperlukan.
Berfungsi untuk membuat objek baru FlowLayout dengan posisi spesifik dan lima unit horizontal dan vertikal gap dimasukkan pada komponen default.
FlowLayout (int align, int hgap, int vgap)
Align = diisi dengan nilai yg diperlukan sebagai batas.
hgap  = diisi dengan nilai untuk jarak horizontal
vgap  = diisi dengan nilai untuk jarak vertikal
Digunakan untuk membuat objek baru FlowLayout dengan argument pertama sebagai posisi pada komponen beserta hgap untuk nilai jarak horizontal dan vgap sebagai jarak vertical antar komponen yang telah ditentukan oleh kita sendiri.

Gap adalah satuan jarak antar komponen yang biasanya diukur dalam satuan pixel.
FlowLayout menyusun komponen dari kanan ke kiri dan selanjtunya ke baris berikutnya. Ukuran windows yang diperbesar tidak akan menyebabkan ukuran komponen-komponen yang ada di atas FlowLayout berubah. Untuk posisi penulisan align/ argument akan mengikuti perintah berikut ini:
  • FlowLayout.LEFT (digunakan untuk posisi komponen rata ke kiri).
  • FlowLayout.CENTER (digunakan untuk posisi komponen berada di tengah-tengah).
  • FlowLayout.RIGHT (digunakan untuk membuat posisi komponen rata kanan).
Berikut ini adalah contoh dari penggunaan FlowLayout :

A.  FlowLayout dengan align Right/rata kanan

Pada awal eksekusi program

Ketika program windownya diperbesar, terlihat bahwa komponen menjorok ke kanan.
 
Listing Programnya adalah:
import java.awt.*; //Mengimport package java.awt


public class Contohflow3 extends Frame { //mendeklarasikan class Contohflow3 sebagai turunan dari Frame
public static void main(String[] args){//kode agar program dapat dieksekusi

Contohflow3 ti02=new Contohflow3(); //menginisialisasi ti02 sebagai Contohflow3
ti02.setTitle("Demo Flow Layout"); //menamai judul frame
ti02.setSize(400,150); //ukuran panjang x lebar frame awal

ti02.setLayout(new FlowLayout(FlowLayout.RIGHT,15,15)); //perintah untuk memasukkan FlowLayout dengan alignya CENTER, hgap&vgapnya 15
ti02.add(new Button("CHANDRA")); //memasukkan button yg bertuliskan CHANDRA
ti02.add(new TextField("11.11.4742")); //Memasukkan Textfield dengan isian 11.11.4742
ti02.add(new Button("Farandi")); //memasukkan button yg bertuliskan Farandi
ti02.add(new TextField("11.11.4722"));//Memasukkan Textfield dengan isian 11.11.4722
ti02.add(new Button("Afuza"));//memasukkan button yg bertuliskan Afuza
ti02.add(new TextField("11.11.4713"));//Memasukkan Textfield dengan isian 11.11.4713
ti02.add(new Button("Adipa"));//memasukkan button yg bertuliskan Adipa
ti02.add(new TextField("11.11.4692"));//Memasukkan Textfield dengan isian 11.11.4692
ti02.setVisible(true);

}
}
   
B. FlowLayout dengan align Left/rata kiri


Program pada saat pertama kali dieksekusi

Setelah windownya diperbesar, terlihat bahwa komponen menjorok ke kiri

Listing Programnya adalah :

import java.awt.*; //Mengimport package java.awt


public class Contohflow3 extends Frame { //mendeklarasikan class Contohflow3 sebagai turunan dari Frame
public static void main(String[] args){//kode agar program dapat dieksekusi

Contohflow3 ti02=new Contohflow3(); //menginisialisasi ti02 sebagai Contohflow3
ti02.setTitle("Demo Flow Layout"); //menamai judul frame
ti02.setSize(400,150); //ukuran panjang x lebar frame awal

ti02.setLayout(new FlowLayout(FlowLayout.LEFT,15,15)); //perintah untuk memasukkan FlowLayout dengan alignya CENTER, hgap&vgapnya 15
ti02.add(new Button("CHANDRA")); //memasukkan button yg bertuliskan CHANDRA
ti02.add(new TextField("11.11.4742")); //Memasukkan Textfield dengan isian 11.11.4742
ti02.add(new Button("Farandi")); //memasukkan button yg bertuliskan Farandi
ti02.add(new TextField("11.11.4722"));//Memasukkan Textfield dengan isian 11.11.4722
ti02.add(new Button("Afuza"));//memasukkan button yg bertuliskan Afuza
ti02.add(new TextField("11.11.4713"));//Memasukkan Textfield dengan isian 11.11.4713
ti02.add(new Button("Adipa"));//memasukkan button yg bertuliskan Adipa
ti02.add(new TextField("11.11.4692"));//Memasukkan Textfield dengan isian 11.11.4692
ti02.setVisible(true);

}
}

C. FlowLayout dengan align Center/posisi komponen di tengah

Program pada saat pertama kali dieksekusi


Setelah windownya diperbesar, terlihat bahwa komponen berada ditengah

 
Listing Kodenya
import java.awt.*; //Mengimport package java.awt


public class Contohflow3 extends Frame { //mendeklarasikan class Contohflow3 sebagai turunan dari Frame
public static void main(String[] args){//kode agar program dapat dieksekusi

Contohflow3 ti02=new Contohflow3(); //menginisialisasi ti02 sebagai Contohflow3
ti02.setTitle("Demo Flow Layout"); //menamai judul frame
ti02.setSize(400,150); //ukuran panjang x lebar frame awal

ti02.setLayout(new FlowLayout(FlowLayout.CENTER,15,15)); //perintah untuk memasukkan FlowLayout dengan alignya CENTER, hgap&vgapnya 15
ti02.add(new Button("CHANDRA")); //memasukkan button yg bertuliskan CHANDRA
ti02.add(new TextField("11.11.4742")); //Memasukkan Textfield dengan isian 11.11.4742
ti02.add(new Button("Farandi")); //memasukkan button yg bertuliskan Farandi
ti02.add(new TextField("11.11.4722"));//Memasukkan Textfield dengan isian 11.11.4722
ti02.add(new Button("Afuza"));//memasukkan button yg bertuliskan Afuza
ti02.add(new TextField("11.11.4713"));//Memasukkan Textfield dengan isian 11.11.4713
ti02.add(new Button("Adipa"));//memasukkan button yg bertuliskan Adipa
ti02.add(new TextField("11.11.4692"));//Memasukkan Textfield dengan isian 11.11.4692
ti02.setVisible(true);

}
}



Dan selanjutnya adalah penerapan dengan beberapa fungsi lainnya yang sudah digabung dengan posisi arah East,South,West, dan North
\   


Listing programnya adalah sebagai berikut:
import java.awt.*;
import javax.swing.*;

public class FlowLayoutDemo {
JButton b1=new JButton("Ini 1");
JButton b2=new JButton("Batalkan 1");
JButton b3=new JButton("Coba 1");

JButton b4=new JButton("Ini 2");
JButton b5=new JButton("Batalkan 2");
JButton b6=new JButton("Coba2");

public FlowLayoutDemo() {
JFrame frame=new JFrame();
frame.setTitle("Demo Flow Layout ver tambahan");
frame.setSize(300,300);

//set agar window dapat di tutup
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//set border layout pada Frame
frame.setLayout(new BorderLayout());

//deklarasi panel dengan nama p
JPanel p=new JPanel();
//set layout pada p dengan FlowLayout.LEFT anda juga bisa

p.setLayout(new FlowLayout(FlowLayout.LEFT)); //menggunakan FlowLayout.Left
p.add(b1); //menambahakan button 1 ke panel p
p.add(b2); //menambahakan button 2 ke panel p
p.add(b3); //menambahakan button 3 ke panel p

frame.add(p,"North");

JPanel p2=new JPanel();
p2.setLayout(new FlowLayout(FlowLayout.RIGHT)); // atau FlowLayout.RIGHT
p2.add(b4); //menambahakan button 4 ke panel p2
p2.add(b5); //menambahakan button 5 ke panel p2
p2.add(b6); //menambahakan button 6 ke panel p2

frame.add(p2,"South");
frame.setVisible(true);
}


//fungsi utama sebagai pemanggil,,dapar juga diletakkan diatas dengan melakukan perubahan sedikit
public static void main(String args[]){
new FlowLayoutDemo();
}
}


Download Contoh File Java Klik Link Dibawah Ini :


Referensi:
JENI-Intro2-Bab07-Abstract-Windowing-Toolkit-dan-Swing
Pemprograman OOP