Minggu, 23 Oktober 2011

Praktek III

INFORMATION HIDING, ENCAPSULATION, INHERITANCE, DAN POLYPMORPHISME

1. Information Hiding dan Encapsulation

Information Hiding adalah menyembunyikan attribute suatu objek dari objek
dari objek lain. Encapsulation adalah menyembunyikan method suatu objek dari objek lain. 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.

2.             INHERITANCE
I.      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.

Superclass



subclass


 
Class demoinheritance


Hasil 




Class persegi.java



class MainPersegi


 Hasilnya



3.          POLYMORHISM
Polymorphism berasal dari bahasa Yunani yang berarti banyak bentuk. Dalam PBO, konsep ini memungkinkan digunakannya suatu interface yang sama untuk memerintah objek agar melakukan aksi atau tindakan yang mungkin secara prinsip sama namun secara proses berbeda.

Polymorphism membuat objek-objek yang berasal dari subclass yang berbeda, diperlakukan sebagai objek-objek dari satu superclass. Hal ini terjadi ketika memilih method yang sesuai untuk diimplementasikan ke objek tertentu berdasarkan pada subclass yang memiliki method bersangkutan.

Class abstrak Karyawan
 

 
 Class Manager

Class Receptionist 

 
Class Polymorphisme 



Hasilnya



Minggu, 16 Oktober 2011

PRAKTEK III


1.      KELAS

Kelas mendefinisikan sekumpulan objek yang memiliki kesamaan keadaan dan perilaku.
Ada dua kelompok kelas, yaitu kelas standard dan kelas yang didefinisikan sendiri. Kumpulan dari method/kelas standard dalam java dikenal dengan API (Aplication Programming Interface).
Kelas digunakan untuk membuat objek, dan berperan sebagai tipe data dari objek. Kelas merupakan sarana pengkapsulan kumpulan data dan kumpulan method yang mengoperasikan kumpulan data tersebut.
Anatomi Kelas
Bentuk umum struktur anatomi kelas sebagai berikut
(modifier1) class NamaKelas (modifier2) {
     classbody
}

   Classbody terdiri dari attribute, constructor, dan method.
1.      Modifier pada anatomi kelas, sifatnya optional, digunakan berdasarkan kebutuhan. Modifier menunjukkan sifat-sifat tertentu dari : kelasnya, methodnya, atau attributenya.
Ada 10 keyword yang digunakan sebagai modifier1 dan dikelompokkan menjadi: 

1.        Modifier akses (public, protected, default, private)
2.        Modifier final
3.        Modifier static
4.        Modifier abstract
5.        Modifier synchronized
6.        Modifier native
7.        Modifier storage (transient, volatile)
 
Modifier yang memiliki sifat saling kontradiktif yaitu static dan abstract. Sementara static tidak boleh memberi sifat pada interface, dan keyword super tidak boleh digunakan pada method static.
Ada 2 keyword yang sering digunakan sebagai modifier2, yaitu extends dan implements.

  • Deklarai Attribute (Variabel Anggota Data)
Deklarasi diletakkan di dalam classbody (di luar method). Bentuk umum deklarasi attribute :
[modifier] tipedata namavariabel;
[public] [static] final tipedata NAMA_KONSTANTA = nilai;
Contoh :
public class CircleClass {
    public static final double PI = 3.14159265358979323846;
     public double x, y, r;
     // dan seterusnya

3.  Method
Method merupakan tingkah laku dari suatu objek atau kelas, jika bersifat static berarti tingkah laku semua objek dalam kelas tersebut.
Method diletakkan di dalam classbody (sebaiknya tidak diletakkan dalam method lain).
Bentuk umum method :
[modifier] tipe_return_value namaMethod(tipe parameter) {
    methodbody;
}
Modifier boleh lebih dari satu (dipisah oleh spasi).
Pasangan tipe dan parameter dapat lebih dari satu (dipisah oleh koma).
Bentuk umum method main() sebagai berikut :
[modifier] tipe_return_value main(String args[]) {
    methodbody
}
Ada tiga sintaks pemanggilan suatu method :
namaMethod([nilaiParamater]);
namaObjek.namaMethod([nilaiParamater]);
namaKelas.namaMethod([nilaiParamater]);
Tidak semua member (class, attribute, dan method) dapat diakses method, berikut tabel aksesnya :


 4.    CONSTRUCTOR

Pada prinsipnya constructor adalah method yang tidak memiliki return value (secara implisit adalah instant dari kelasnya), hanya saja namanya sama dengan nama kelas, dan dapat diberi modifier akses (public, protected, default, private).
Bentuk umum pendefinisian constructor :
[modifier] namaConstructor(tipe namaparameter) {
    constructorBody;
}
Tujuan constructor dibuat adalah untuk melakukan inisialisasi yang diperlukan objek baru.


Contoh Program :

1.      Membuat Program Disket.java

Public class Disket
Final int LEBAR=10;
String warna=”kuning”;
String bentuk=”Segiempat”;
String data=” “;

Void simpandata(String data1) {
            This.data +=data1;
}

Void hapusdata () {
            Data=” “;
}

String bacadata () {
            Return data;
}
}
 


2.      Membuat program MainDisket.java
Class MainDisket {
            Public static void main (String [] args) {
                        Disket disk1= new Disket () ;
                        System.out.println (“ Panjang disket = “+ disk1.panjang);
                        System.out.println (“ Lebar disket = “+ disk1.LEBAR);
                        System.out.println (“ Warna  disket = “+ disk1.warna);
                        System.out.println (“ Bentuk disket = “+ disk1.bentuk);

                        System.out.println (“ data mula-mula  = “+ bacadata ( ) );
                        Disk.simpandata (“Belajar Java”);
                        System.out.println (“ Setelah simpan data = “+ disk1.bacadata ());
                        Disk1.hapusdata ();
                        System.out.println (“ Setelah hapus data = “+ disk1.bacadata ());
}
}



Implementasi Kontruktor pada class Disket

Ketikkan source kode dibawah ini pada baris ke 7 dari dokumen Disket.java setelah diketik, simpan, compile dan run class Disket.java

Disket () {
            Panjang= 100 ;
}


Disket (int panjang1) {
            This.panjang=panjang;
}

Ubah source pada baris ke 3 MainDisket.java dengan source di bawah ini :
Disket= new Disket (50);






Contoh lainnya  :


Class Biodata.java

Public class Biodata
String nama=”Eka  Angelina”;
String agama=”Islam”;
String tempat=”Medan”;
String tanggal=”09”;
String tahun=”1990”;
Int usia = 21;
String data=” “;

Void simpandata(String data1) {
            This.data +=data1;
}

Void hapusdata () {
            Data=” “;
}

String bacadata () {
            Return data;
}
}



Class MainBiodata.java


Public class Biodata
String nama=”Eka  Angelina”;
String agama=”Islam”;
String tempat=”Medan”;
String tanggal=”09”;
String tahun=”1990”;
Int usia = 21;
String data=” “;

Void simpandata(String data1) {
            This.data +=data1;
}

Void hapusdata () {
            Data=” “;
}

String bacadata () {
            Return data;
}
}