Minggu, 08 April 2012

Dasar-Dasar OOP (Object Oriented Programming)


1.    Apa yang dimaksud dengan kelas, konstruktor, atribut, dan method ? jelaskan dan beri contoh dalam program java !
Jawab :
-       Kelas.
·         Kelas merupakan sarana pengkapsulan kumpulan data dan kumpulan method java. Kumpulan data dan method tersebut berwujud baris-baris program java. Kumpulan method berfungsi untuk mengoperasikan kumpulan data dalam kelas tersebut. Kelas digunakan untuk membuat objek, dan berperan sebagai tipe data dari objek.
·         Contoh program :
public class MyClass {
      //Deklarasi Anggota Kelas(member)
 int             var1;
 double     var2;
 String      var3;
 void metoda1 (parameter…) {
    …
 }
 int metoda2 (parameter…) {
    …
 }
}

-       Konstruktor
·         Konstructor adalah method yang tidak memiliki return value (secara implisit adalah instant dari kelasnya). Nama constructor sama dengan nama kelas, dan dapat diberi modifier akses (public, protected, default, private).
·         Contoh program :
class PersonToy {
    String name;
    String addressLine1;
    String addressLine2;
    String city;
    int age;
    public PersonToy() {                            // constructor
        name = ” ”;
        addressLine1 = ” ”;
        addressLine2 = ” ”;
        city = ” ”;
        age = 0;
    }

    public PersonToy(String newName,
                                  String newAddress1,
                                  String newAddress2;
                                  String newCity;
                                  int newAge) {
       name = newName;
       addressLine1 = newAddressLine1;
       addressLine2 = newAddressLine2;
       city = newCity;
       age = newAge;
    }
}



-       Atribut
·         Atribut merupakan data atau bisa juga berupa fungsi-fungsi yang dimiliki oleh kelas tersebut
Contoh program:
               public class Mahasiswa{
                       String nim; //nim,nama,jurusan adalah atribut.
                       String nama;
                       String jurusan;

               public void tampilInfo(){
                System.out.println("Nim mahasiswa "+nim);
                System.out.println("Nama mahasiswa "+nama);
                System.out.println("Jurusan mahasiswa "+jurusan);
               }

               public void ikutUjian(){
               System.out.println("Mahasiswa ini sedang ikut ujian");
                       }
               }

-       Method
·         Method merupakan tingkah laku dari suatu objek, jika bersifat static berarti tingkah laku semua objek dalam kelas tersebut. Method terpisah dari kode yang akan dipanggil oleh program utama dan beberapa method lainnya untuk menunjukkan beberapa fungsi spesifik.
·         Contoh program :
public class Method{

            public static double luas_lingkaran(int jari){
            double luas=3.14*jari*jari;
            return luas;
            }

            public static void main(String[]args){
            int jari_jari=10;
            double hasil_luas;
            hasil_luas=luas_lingkaran(jari_jari);
            System.out.println("LUAS LINGKARAN="+hasil_luas);
            }
}
2.    Apa yang dimaksud dengan accessor method, mutator method, overloading method dan overriding method ? jelaskan dan beri contoh dalam program java !
Jawab:
·         Accessor method adalah method yang digunakan untuk membaca nilai variabel pada class, baik berupa instance maupun static. Sebuah accessor method umumnya dimulai dengan penulisan get. Method ini juga mempunyai sebuah return value.
·         Mutator method adalah method yang dapat memberi atau mengubah nilai variable dalam class, baik itu berupa instance maupun static. Sebuah mutator method umumnya tertulis set.
·         Overloading method adalah sebuah method yang mendefinisikan dua atau lebih method di dalam kelas sama, nama sama, deklarasi parameter berbeda. Sehingga mempunyai implementasi dan return value yang berbeda pula.
·         Overriding method adalah Sebuah method yang menyatakan suatu keadaan dimana method pada subclass menolak pada parent classnya. Cirinya adalah nama method, parameter, return type harus sama.
Contoh program overloading method:
public void print( String temp ){
System.out.println("Name:" + name);
System.out.println("Address:" + address);
System.out.println("Age:" + age);
}
public void print(double eGrade, double mGrade, double sGrade)
System.out.println("Name:" + name);
System.out.println("Math Grade:" + mGrade);
System.out.println("English Grade:" + eGrade);
System.out.println("Science Grade:" + sGrade);
}
Jika kita panggil pada method utama (main) :
public static void main( String[] args )
{
StudentRecord annaRecord = new StudentRecord();
annaRecord.setName("Anna");
annaRecord.setAddress("Philippines");
annaRecord.setAge(15);
annaRecord.setMathGrade(80);
annaRecord.setEnglishGrade(95.5);
annaRecord.setScienceGrade(100);
/
/overloaded methods
annaRecord.print( annaRecord.getName() );
annaRecord.print( annaRecord.getEnglishGrade(),
annaRecord.getMathGrade(),
annaRecord.getScienceGrade());
}
Kita akan mendapatkan output pada panggilan pertama sebagai berikut :
Name:Anna
Address:Philippines
Age:15
Kemudian akan dihasilkan output sebagai berikut pada panggilan kedua :
Name:Anna
Math Grade:80.0
English Grade:95.5
Science Grade:100.0
Contoh program overriding method:
class Coba {
public void Yes() {
System.out.println(“ini class parent”);
}
class Cobi extends Coba {
public void Yes() {
System.out.println(“ini class child”);
}
3.    Apa yang dimaksud dengan modifier ? ada 10 keyword yang digunakan sebagai modifier dan dikelompokkan menjadi :
  • modifier akses (public, protected, default, private)
  • modifier final
  • modifier static
  • modifier abstract
  • modifier synchronized
  • modifier nativem
  • modifier storage (transient, volatile)
jelaskan pengertian masing-masing modifier tersebut dan berikan contoh penggunaannya dalam program java !
Jawab :
-       Modifier untuk menentukan hubungan suatu unsur kelas dengan unsur kelas lainnya, contohnya hubungan kepemilikan antara kelas dan objek.
-       10 keyword yang digunakan sebagai modifier :
·         modifier akses (public, protected, default, private) :
*      Public
Menyatakan bahwa kelas/method/attribute tersebut dapat diakses oleh kelas lain dimanapun.
Contoh program :
*      Protected
Menyatakan bahwa kelas/method/attribute tersebut dapat diakses oleh kelas lain yang berada dalam satu package atau kelas lain tersebut merupakan turunannya.
Contoh program :
*      Private
Menyatakan bahwa kelas tersebut tidak dapat diakses sama sekali oleh kelas lain bahkan juga tidak dapat diturunkan.
Contoh program :
package prak01_11520241015;
public class Ok {
   private boolean x;
   public static void main(String[] args){
       Ok yes = new Ok();
       System.out.println(yes.x);
       System.out.println(yes.convert());
   }
   private int convert(){
       return x ? 1 : -1;
   }
}
*      Default
Modifier yang dapat diakses oleh program yang memiliki kelas yang sama maupun program yang memiliki kelas yang berbeda namun memiliki package yang sama.
·         Modifier Final
·         Menyatakan bahwa suatu kelas tidak dapat menurunkan (extend) kelas lain.
·         Menyatakan bahwa suatu method tidak dapat dioverride oleh method lain.
·         Membentuk suatu attribute menjadi konstanta.
·         Contoh program :
·         Modifier Static
Modifier static artinya method dan attribute milik kelas, menjadi sifat bersama dari semua objek dalam kelas tersebut (tidak memerlukan instansiasi objek untuk menjalankannya).
Contoh program :
·         Modifier Abstract
Abstract class adalah kelas murni (tanpa objek) dan tidak boleh memiliki objek (tidak boleh ada instansiasi) serta method-method yang abstract harus disempurna-kan oleh kelas turunannya melalui override.
Contoh program :
·         Modifier Syncronized
Pada lingkungan multithread, dimungkinkan lebih dari satu jalui eksekusi yang berjalan di kode yang sama, kondisi tersebut dapat diatur sehingga pada selang waktu tertentu hanya ada satu jalur eksekusi yang diijinkan di method yang synchronized (eksekusi dilakukan secara mutual exclusive).
Contoh program :
·         Modifier Nativem
Modifier ini digunakan untuk memanggil/mengakses method yang ditulis dalam bahasa C/C++. Seperti method yang abstract, method yang native hanya berupa prototype, implementasi method ini berada di file external (dalam folder yang sama).
Contoh program :
·         Modifier Storage (transient and volatile)
*      Transient (khusus modifier attribute)
Java memiliki konsep serialisasi, yaitu kemampuan untuk mentransformasikan objek menjadi suatu stream, sehingga objek dapat ditransfer dari suatu aplikasi ke aplikasi lainnya, atau dari suatu workstation ke workstation lainnya. Prinsip ini digunakan dalam aplikasi client-server. Salah satu ketentuan serialisasi adalah tidak boleh ada perubahan nilai attribute suatu objek, saat objek tersebut ditransformasikan menjadi stream, dan sebaliknya, namun suatu objek dapat memiliki nilai attribute yang boleh berubah (bersifat transient).
contoh program :
*      Volatile (khusus modifier attribute)
Dalam manajemen thread, java dapat menyimpan nilai suatu attribute (yang sering diakses thread) menjadi cache value, sehingga tidak perlu selalu merujuk ke lokasi memori aslinya.
Attribute tersebut bersifat volatile, karena nilainya rentan berubah bila diakses oleh lebih dari satu thread.
Contoh program :

4.    Apa yang dimaksud dengan objek pada pemrograman oop di java ? jelaskan dan beri contoh objek dalam program java !
Jawab :
Objek adalah kesatuan entitas (benda), baik yang berwujud nyata ataupun hanya suatu system atau konsep yang memiliki sifat karakteristik dan fungsi.  Dalam OOP objek adalah unit terkecil pemograman yang masih memilki data (sifat karakteristik) dan fungsi.
Contoh program:
5.    Apa yang dimaksud dengan Immutable Objects dan Immutable Classes? jelaskan dan beri contoh dalam program java !
Jawab:
·           Immutable Object adalah object yang ketika sudah di instantiated maka objek tersebut tidak dapat dirubah isinya. Contoh paling umum adalah objek String.
·           Immutable Classes adalah kebalikan dari Mutable, ketika sudah di instantiated maka objek tersebut tidak dapat dirubah isinya. Contoh paling umum adalah objek String.
Contoh pada Java, kita harus berhati-hati dalam menggunakan String karena objek ini sifatnya immutable. Pada saat anda mendeklarasikan String kata = "Saya immutable", JVM akan membuat 1 objek immutable.
Ketika anda melakukan perubahan: kata = "Saya mutable" anda sebenarnya melakukan pembuatan objek baru lagi dengan variable "kata" dan isi "Saya mutable" namun pada alokasi memori yang berbeda dari variable sebelumnya. Jika terlalu banyak operasi seperti itu, dapat mempengaruhi performance.
6.    Apa yang dimaksud dengan keyword this dan super ? jelaskan dan beri contoh objek dalam program java !
Jawab :
·         This adalah digunakan untuk mengakses instance variable yang dibiaskan oleh parameter, dapat digunakan untuk merepresentasikan suatu current objek dan mengakses variabel-variabel kelas serta method. This merupakan besaran referensi yang digunakan dalam method yang dirujuk untuk objek yang sedang berlaku. Nilai this merujuk pada objek di mana method yang sedang berjalan dipanggil. This digunakan jika  utrid e local menggunakan nama yang sama dengan instance  utrid e. Keyword “this” digunakan saat Method yang kita ciptakan menggunakan parameter/argumen yang namanya sama dengan variabel instans di kelas atasnya.
Contoh :
·         Super. digunakan untuk mengakses member kelas yang diturunkan (kelas induk).Terkadang method di child yang menggoverride perlu memanggil method parent. Misalnya kita memiliki satu class Ortu dengan satu method.
Contoh :
package prak01_11520241015;
public class Super {
     public void salam() {
           System.out.println("Ini Kelas E PTI 2011 FT UNY");
     }
}
 Kemudian ada class anak sebagai subclass Ortu yang menggoveride method salam. Perhatikan penggunaan keyword super.
Contoh :
package prak01_11520241015;
public class Super2 extends Super {
    @Override
     public void salam() {
           super.salam(); //panggil Ortu.salam
           System.out.println("Salam dari kelas E");
     }
     public static void main(String[] args) {
           Super2 a = new Super2();
           a.salam();
     }
}
7.    Apa yang dimaksud dengan package ? jelaskan dan beri contoh programnya!
Jawab :
Package adalah mengelompokkan kelas-kelas yang saling berelasi dan interfaces yang memberikan proteksi terhadap access kelas yang tidak boleh diakses oleh kelas lain karena tidak berelasi,dan manajemen nama.
Packages tidak lebih dari sekedar cara untuk mengorganisir file kedalam direktori yang berbeda berdasarkan fungsionalitas dan kegunaannya.
Packaging membantu kita untuk menghindari terjadinya collision ketika kita menggunakan nama kelas yang sama dengan yang sudah ada. Packaging juga membantu programmer dalam mencari dan menggunakan nama kelas dan mengontrol akses. Dalam java versi awal ada 6 package besar , yaitu :
         java.io
         java. java.lang
         java.applet
         awt
         java.net
         java.util

8.    Apa yang dimaksud dengan information hiding, encapsulation, inheritance, dan polymorphism ? jelaskan dan beri contoh programnya !
Jawab :
·         Information hiding
Information Hiding adalah menyembunyikan attribute dan method suatu objek dari objek lain.
·         Encapsulation
Enkapsulasi adalah pembungkus, pembungkus disini dimaksudkan untuk menjaga suatu proses program agar tidak dapat diakses secara sembarangan atau di intervensi oleh program lain. Konsep enkapsulasi sangat penting dilakukan untuk menjaga kebutuhan program agar dapat diakses sewaktu-waktu, sekaligus menjaga program tersebut. Attribute maupun method disembunyikan dengan cara memberikan modifier private. Method dalam kelas yang sama, yang memberikan nilai pada attribute private disebut method setter, sedangkan method masih dalam kelas yang sama, yang mengambil nilai dari attribute private disebut getter.
Di bawah ini adalah contoh program Information Hiding dan Encapsulation
class PersegiPanjang{
private double panjang; // attribute yg di encapapsulasi
private double lebar; // attribute yg di encap
private double tinggi; // attribute yg di encap
public PersegiPanjang() {
panjang = 0;
lebar = 0;
}
private double luas(double p, double l) { // di hide
return p*l;
}
public void setPanjang(double panjang) {
this.panjang = panjang;
}
public void setLebar(double lebar) {
this.lebar = lebar;
}
public double getPanjang() {
return panjang;
}
public double getLebar() {
return lebar;
}
public double getLuas() {
return luas(panjang, lebar);
}
}

public class MainPersegiPanjang {
public static void main(String[] srgs) {
PersegiPanjang pp = new PersegiPanjang();
pp.setPanjang(10);
pp.setLebar(20);
System.out.println("Panjang : "+ pp.getPanjang());
System.out.println("Lebar : "+ pp.getLebar());
System.out.println("Luas : "+ pp.getLuas());
}
}
·         Inheritance
Inheritance atau pewarisan pada pemrograman berorientasi objek merupakan suatu hubungan dua buah kelas atau lebih. Dalam hal ini ada kelas yang memiliki atribut dan metode yang sama dengan kelas lainnya beserta atribut dan metode tambahan yang merupakan sifat khusus kelas yang menjadi turunannya.
Keterkaitan antara kelas Titik dan Titik3D adalah kelas Titik3D merupakan kelas turunan dari kelas Titik. Dalam hal ini kelas Titik disebut dengan kelas dasar atausuper classatau base classsedangkan kelas Titik3D disebut sebagai kelas turunan atau derived classatau subclass.
Keuntungan dari pewarisan adalah tidak perlu mengutak atik kode kelas yang membutuhkan tambahan atribut atau metode saja, karena tinggal membuat kelas turunannya tanpa harus mengubah kode kelas dasarnya. Kelas dasar akan mewariskan semua atribut dan kodenya kecuali konstruktor dan destruktor yang memiliki izin akses publicdan protectedke kelas turunannya dengan izin akses yang sama dengan pada kelas dasar.
Contoh program :

·         Polymorphism
Polymorphism, suatu aksi yang memungkinkan pemrogram menyampaikan pesan tertentu keluar dari hirarki obyeknya, dimana obyek yang berbeda memberikan tanggapan/respon terhadap pesan yang sama sesuai dengan sifat masing-masing obyek.
Atau Polymorphic dapat berarti banyak bentuk, maksudnya yaitu kita dapat menimpa (override), suatu method, yang berasal dari parent class (super class) dimana object tersebut diturunkan, sehingga memiliki kelakuan yang berbeda.
Contoh program java nya :
package java.pkg2;
public class poly2 {

    public static void main(String[] args) {
    m(new kelas());
    m(new Student());
    m(new Person());
    m(new Object());
    }

    public static void m(Object x) {
      System.out.println(x.toString());
    }
 
}
    class kelas extends Student2 {
  }


class Student2 extends aku2 {
    @Override
    public String toString() {
      return "Student";
    }
  }

 class aku2 extends Object{
    @Override
    public String toString() {
      return "Person";
    }
}
9.    Apa yang dimaksud dengan kelas inner, kelas abstrct, dan interface ? jelaskan dan beri contoh programnya !
Jawab :
·         Kelas inner
Kelas Inner berguna untuk mendukung suatu proses yang akan dijalankan oleh kelas luarnya.
Beberapa ketentuan kelas Inner :
Ø  Kelas Luar yang mengandung kelas Inner, bila dikompilasi akan menghasilkan dua file *.class, yaituLuar.class dan Luar$Inner.class
Ø  Kelas Inner boleh tidak diberi nama, yang disebut Anonymous Inner.
Ø  Kelas Inner dapat diberi modifier akses public, atau protected, atau default, ataupun private.
Ø  Untuk mengakses referensi this dari kelas luar digunakan bentuk NamaKelasLuar.this.
Ø  Kelas Luar ikut bertanggung-jawab dalam instansiasi kelas Inner (yang non static). Kalau objek kelas Luar adalah a, dan objek kelas Inner adalah b, maka sintaks yang benar adalah :
Luar a = new Luar();
Luar.Inner b = a.new Inner();
Ø  Jika kelas Inner bersifat static, maka objek milik kelas Inner dapat dibuat sendiri tanpa melalui kelas Luarnya, (Artinya kelas Inner tidak dapat mengakses attribute ataupun method non static milik kelas Luarnya).
Menggunakan Kelas Inner
Kelas Inner lazim digunakan untuk membuat handler di method main() pada suatu aplikasi GUI.
Handler merupakan bagian program yang akan memproses event-event yang dipicu ketika user berinteraksi dengan komponen-komponen GUI.
Contoh program berikut adalah aplikasi Button sederhana dengan handlernya dari kelas Inner :
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class DemoJButtonInner extends JFrame {
private JButton btn;
public DemoJButtonInner {
super(”Demo JButton Inner Class”);
Container c = getContentPane();
c.setLayout(new FlowLayout());
btn = new JButton(”Button”);
c.add(btn);
// membuat event handler
ButtonHandler handler = new ButtonHandler();
btn.addActionListener(handler);
setSize(275, 100);
show();
}
public static void main(String args[]) {
DemoJButtonInner app = new DemoJButtonInner();
app.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent we) {
System.exit(0);
}
});
}
// kelas Inner untuk Event Handling pada button
private class ButtonHandler implements ActionListener {
public void actionPerformed(ActionEvent ae) {
JOptionPane.showMessageDialog(null,”anda telah menekan”+ae.getActionCommand()+”\n”+”Handler button ini pakai kelas Inner”);
}
}
}
·         Kelas abstract
Kelas abstract adalah kelas murni yang tidak boleh memiliki objek, dan satu/lebih method-methodnya yang abstract harus diimplementasikan (override) oleh kelas turunannya.
Bentuk umum :
[modifier] abstract class NamaKelas {
// deklarasi attribute
// definisi/prototype method
}
Analogi Kelas yang Abstract
Suatu kelas dapat diinstansiasi menjadi objek, misal kelas Dosen dapat diinstansiasi menjadi budi, heri, heru, namun tidak mungkin dapat menginstansiasi kelas MahlukHidup, kelas Hewan, dan kelas Manusia, sebab kelas tersebut terlalu umum (abstract), kelas seperti inilah yang disebut kelas abstract. Dibutuhkan kelas turunan yang lebih khusus.
Analogi Method yang Abstract
Bila kelas MahlukHidup mempunyai method bernafas, maka tidak dapat ditentukan cara suatu mahluk hidup tersebut bernafas (dengan paru-paru, insang, atau stomata), method seperti inilah yang disebut method abstract. Dibutuhkan kelas turunan yang khusus dan method  override dari method yang abstract.
·         Interface
Interface adalah kelas yang paling abstract, yang berisi daftar deklarasi method (seluruh method belum memiliki implementasi).
Analogi Interface
Interface dapat dianalogikan sebagai kontrak yang dapat dipakai oleh setiap kelas.
Dalam kehidupan nyata dapat diketahui ada manusia yang bekerja sebagai da’i, dosen, tentara, penyanyi, pengacara, dan sebagainya, tentunya manusia-manusia tersebut selain harus memiliki method standard sebagai seorang manusia, juga harus memiliki method yang sesuai dengan pekerjaannya.
Dengan demikian untuk membuat objek seorang budi bekerja sebagai dosen, harus dibuat kelas yang merupakan turunan kelas manusia yang meng-implementasikan interface dosen.
Deklarasi Interface
Bentuk umum deklarasi:
[modifier] interface NamaInterface {
// deklarasi konstanta
// deklarasi method
} // catatan : modifier static tidak boleh digunakan dalam interface
Implementasi Interface
Bentuk umum implementasi :
[modifier] class NamaKelas implements NamaInterface {
// penggunaan konstanta
// implementasi method
}
Contoh Abstract Class dan Interface
abstract class Hewan {
protected String nama;
protected int jumKaki;
protected boolean bisaTerbang = false;
public Hewan(String nama, int kaki, boolean terbang) {
this.nama = nama;
jumKaki = kaki;
bisaTerbang = terbang;
}
public abstract void bersuara();
public void static makan() {
System.out.println(”nyam, nyam, nyam”);
}
public void isHewan() {
System.out.println(”nama : ”+nama);
System.out.println(”jumlah kaki : ”+jumKaki);
System.out.println(”bisa terbang : ”+bisaTerbang);
}
}
interface Manusia {
public void menyanyi();
public void ketawa();
}
class Perkutut extends Hewan {
public Perkutut()
super(”perkutut”,2,true);
}
public void bersuara() {
System.out.println(”\ncuit, cuit, cuit”);
}
public static void main(String[] args) {
Perkutut p = new Perkutut();
p.isHewan();
p.bersuara();
}
}
//**************************************
class Sapi extends Hewan {
public Sapi() {
super(”sapi”, 4, false);
}
public void bersuara() {
System.out.println(”\nemoh…,emoh…”);
}
public static void main(String[] args) {
Sapi s = new Sapi();
s.isHewan();
s.bersuara();
}
}
class SpongeBob extends Hewan implements Manusia {
public SpongeBob() {
super(”sponge bob”, 2, false);
}
public void bersuara() {
System.out.println(”\nhallo patrict…..”);
}
public void menyanyi() {
System.out.println(”nye, nye, nye, wik, wik, wik”);
}
public void ketawa() {
System.out.println(”kek, kek, kek”);
}
public static void makan() {
System.out.println(”uenak tenan…”);
}
public void makan2() {
super.makan();
}
public static void main(String[] args) {
SpongeBob = s new SpongeBob();
s.isHewan();
s.bersuara();
s.menyanyi();
s.ketawa();
s.makan2();
Hewan.makan();
makan()
}
}
Interface vs Class
Perbandingan interface dengan class :

Interface vs Inheritance
Inheritance adalah proses pewarisan attribute dan method dari satu kelas super kepada satu/lebih subkelas.
Bagaimana kalau dibutuhkan suatu kelas yang attribute dan methodnya berasal dari lebih dari satu kelas super ? disinilah keterbatasan inheritance, namun interface berperan, karena dalam interface bisa dimasukkan method-method dari beberapa library referensi tanpa harus menurunkannya.
Syntax kelas yang menggunakan lebih dari satu interface :
[modifier] class NamaKelas implements NamaInterface1, NamaInterface2, … {
//interfaceBody
}
Nama-nama interface tersebut dapat dijadikan tipe data attribute ataupun tipe data parameter dalam kelas yang menggunakan.
Interface vs Abstract Class
Interface dan kelas abstract memilki kesamaan sama-sama tidak boleh instansiasi objek.
Perbedaan interface dangan kelas abstract adalah sebagai berikut :

Aplikasi Interface
Interface sering digunakan untuk menambah event handling pada program aplikasi GUI, perhatikan contoh berikut :
//membuat aplikasi JButton implementasi interface :
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class AppJButton extends JFrame implements ActionListener {
private JButton btn;
public AppJButton() // constructor
super(”Demo JButton Interface”);
Container c = getContentPane();
c.setLayout(new FlowLayout());
btn = new JButton(”Button”);
c.add(btn);
btn.addActionListener(this);
setSize(275, 100);
show();
}
public static void main(String args[]) {
AppJButton app = new AppJButton();
App.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent we) {
System.exit(0);
}
});
}
public void actionPerformed(ActionEvent ae) {
JOptionPane.showMessageDialog(null,
”Anda telah menekan : ”+
e.getActionCommand()+”\n”+
”Handler Button ini mengimplementasikan interface”);
}
}

2 komentar:

Anonim mengatakan...

Hi my loved one! I want to say that this post is
amazing, nice written and include almost all significant infos.
I would like to peer more posts like this .


Have a look at my webpage: anti cellulite treatment

Java Programmer mengatakan...

Pranala --> Accessors dan Mutators Pemrograman Java

Poskan Komentar