Welcome to MyBlog


Kamis, 19 April 2012

Inheritance & Polimorfisme


Inheritance ( Penurunan sifat )
Inheritance atau penurunan sifat merupakan ciri utama pemograman berbasis objek, Sifat-sifat yang terdapat pada kelas induk (base class) akan dimiliki oleh kelas turunannya(derived class).

Deklarasi Inheritance
• Dengan menambahkan kata kunci extends setelah deklarasi nama class, kemudian diikuti dengan nama parent class‐nya.
• Kata kunci extends tersebut memberitahu kompiler Java bahwa kita ingin melakukan perluasan class.

Kelas yang mewariskan Super Class atau Kelas Induk
Kelas yang diwariskan Sub Class atau Kelas Anak
Misal :
kelas B adalah kelas anak dari kelas A, maka sifat sifat dari kelas A
otomatis akan dimiliki juga oleh kelas B.
Jika kelas induk merupakan turunan dari kelas lain, maka data dan method
yang berasal dari kelas tersebut akan ikut diwariskan pula kepada kelas
anaknya.
Contoh :
o Kelas C adalah kelas anak dari kelas B
o Kelas B merupakan kelas anak dari kelas A.
o Maka sifat sifat yang diwariskan kelas A ke kelas B juga akan
diwariskan ke kelas C.

Contoh Program



 
 Output

Polimorfisme
Dalam pemograman berbasis objek, penerapan polimorfisme didefinisikan dengan nama yang sama, namun mempunyai implementasi yang berbeda. Polimorfisme digunakan untuk memudahkan pemograman karena lebih natural. Dengan polimorfisme, kita tidak harus menggunakan nama yang berbeda untuk metode yang mirip secara bahasa.
Dalam bahasa  pemograman java, polimorfisme diterapkan dengan mekanisme overloading dan overriding. Overloading berarti menggunakan signature yang berbeda pada metode atau konstruktor dengan nama sama. Sedangkan overreading dilakukan dengan mendefinisikan ulang metode dan konstruktor pada class turunannya( subclass ).

Contoh Program

// mendefinisikan kelas induk
class Penyanyi {
public void bernyanyi ( ) {
System.out.println("Karakteristik nadanya" + "belum didefinisikan");
}
}
// mendefinisikan kelas-kelas turunan dari kelas Penyanyi
class PenyanyiJazz extends Penyanyi {
// melakukan override terhadap method bernyanyi ( )
public void bernyanyi ( ) {
System.out.println("Bernyanyi dengan irama Jazz");
}
}
class PenyanyiPop extends Penyanyi {
public void bernyanyi ( ) {
System.out.println("Bernyanyi dengan irama Pop");
}
}
class PenyanyiDangdut extends Penyanyi {
public void bernyanyi ( ) {
System.out.println("Bernyanyi dengan irama Dangdut");
}
}
class ContohPolimorfisme {
// melakukan override terhadap method bernyanyi ( )
public static void main (String[] args) {
Penyanyi p;

PenyanyiJazz musmujiono = new PenyanyiJazz ( );
PenyanyiPop audi = new PenyanyiPop ( );
PenyanyiDangdut inul = new PenyanyiDangdut ( );

// p mengacu pada objek PenyanyiJazz
p = musmujiono;
// akan memanggil method pada kelas PenyanyiJazz
p.bernyanyi ( );

// p mengacu pada objek PenyanyiPop
p = audi;
// akan memanggil method pada kelas PenyanyiPop
p.bernyanyi ( );

// p mengacu pada objek PenyanyiDangdut
p = inul;
// akan memanggil method pada kelas PenyanyiDangdut
p.bernyanyi ( );
}
}
 
Output

Referensi :
--------------------------------------------------------------------------------------------------------------
Nama : Fitria Ariestasari
Kelas : 2IA14
NPM : 52410844
with Firda Chaerani (52410794)

Kamis, 12 April 2012

ENKAPSULASI


Enkapsulasi adalah suatu cara untuk menyembunyikan informasi detail dari suatu class agar tidak dapat diakses secara sembarangan atau di intervensi oleh program lain. Dua hal yang mendasar dalam enkapsulasi yakni :

• Information hiding.
• Interface to access data.

Information Hiding
Sebelumnya kita dapat mengakses anggota class baik berupa atribut maupun method secara langsung dengan menggunakan objek yang telah kita buat. Hal ini dikarenakan akses kontrol yang diberikan kepada atribut maupun method yang ada di dalam class tersebut adalah 'public'. Kita dapat menyembunyikan informasi dari suatu class sehingga anggota class tersebut tidak dapat diakses dari luar, caranya adalah hanya dengan memberikan akses kontrol 'private' ketika mendeklarasikan atribut atau method. Proses ini disebut dengan information hiding.

Interface to Access Data
Jika kita telah melakukan information hiding terhadap suatu atribut pada suatu class, lalu bagaimana cara melakukan perubahan terhadap atribut yang kita sembunyikan tersebut, caranya adalah dengan membuat suatu interface berupa method untuk menginisialisasi atau merubah nilai dari suatu atribut tersebut.

Contoh Program :
//program belajar.java
class belajar{

public String x ="Pintar";

private String y = "Java";

}

//program Pintar.java
public class Pintar{

public static void main(String[]args){

belajar panggil = new belajar();

System.out.println("Panggil X : "+panggil.x);

System.out.println("Panggil Y : "+panggil.y);

}}

LOGIKA PROGRAM
public String x ="Pintar";

private String y = "Java";

merupakan method yang nantinya dapat dipanggil kembali.
belajar panggil = new belajar();
untuk mengakses method dari kelas belajar.

panggil.x
pemanggilan method x

panggil.y
pemanggilan method y

Pada saat program Pintar.java di run, maka akan terjadi error karna pada saat memanggil kelas belajar, terdapat method yang bersifat private (private String y = "Java";) jadi pada saat y dipanggil (System.out.println("Panggil Y : "+panggil.y);) program error kecuali method pada program belajar.java diubah dari private menjadi public.

 --------------------------------------------------------------------------------------------------------------

NAMA : FITRIA ARIESTASARI
NPM : 52410844
KELAS : 2IA14
with Firda Chaerani (52410794)
BLOG LINK

referensi :
http://littlebro-note.blogspot.com/2008/10/java-enkapsulasi.html
http://setyonugroho09.wordpress.com/2010/02/17/konsep-enkapsulasiencapsulation-pada-object-oriented-programming-dengan-java/
*dengan beberapa perbaikan dalam program

Kamis, 05 April 2012

Perbedaan Pemograman Terstruktur dan Berbasis Objek


Pemograman Terstruktur
Pemrograman Terstruktur adalah suatu proses pemograman yang memperhatikan  urutan langkah untuk menyelesaikan suatu masalah dalam bentuk program. Maksudnya terstruktur adalah memperhatikan urutan langkah-langkah perintah secara sistematis, logis , dan tersusun berdasarkan algoritma yang sederhana dan mudah dipahami. Contoh Pemograman Terstruktur seperti bahasa pemograman pascal, bahasa C, Delphi.

Sifat – Sifat pemograman Terstruktur :
  1. Memuat teknik pemecahan masalah yang logis dan sistematis
  2.  Memuat algoritma yang efisien, efektif dan sederhana
  3. Program disusun dengan logika yang mudah dipahami
  4. Tidak menggunakan perintah GOTO
  5. Biaya pengujian program relatif rendah
  6. Memiliki dokumentasi yang baik
  7. Biaya perawatan dan dokumentasi yang dibutuhkan relatif rendah
Pemograman Berbasis Objek
Pemograman berbasis objek  merupakan pemograman yang berorientasikan kepada objek, Semua data dan fungsi di dalam paradigma ini dibungkus dalam kelas-kelas atau objek-objek.

Ciri – ciri pemograman berbasis objek :
Inheritance ( Penurunan sifat )
Inheritance atau penurunan sifat merupakan ciri utama pemograman berbasis objek, Sifat-sifat yang terdapat pada kelas induk (base class) akan dimiliki oleh kelas turunannya(derived class).
Misalnya contoh penurunan sifat dalam kehidupan sehari-hari :


Gambar diatas merupakan contoh dari penurunan sifat dari class tumbuhan. Dengan klasifikasi anggrek dan mawar mewarisi sifat dari bunga, kemudian bunga termasuk dari kelas induk yaitu tumbuhan. Inheritance sangat fleksibel dan dapat diterapkan pada berbagai sistem, misalnya untuk program aplikasi penjualan, perpustakaan, dll.
Polimorfisme
Dalam pemograman berbasis objek, penerapan polimorfisme didefinisikan dengan nama yang sama, namun mempunyai implementasi yang berbeda. Polimorfisme digunakan untuk memudahkan pemograman karena lebih natural. Dengan polimorfisme, kita tidak harus menggunakan nama yang berbeda untuk metode yang mirip secara bahasa.
Encapsulation(Pengkapsulan)  
Encapsulation atau pengkapsulan merupakan proses pembungkusan / penyederhanaan dari beberapa data serta fungsi menjadi sebuah kelas.

Perbedaan antara Pemograman Terstruktur dengan Pemograman Berbasis Objek
Dalam pemograman terstuktur jika suatu proses telah sampai pada suatu titik / langkah tertentu , maka proses selanjutnya tidak boleh mengeksekusi langkah sebelumnya / kembali lagi ke baris sebelumnya, kecuali pada langkah – langkah untuk proses berulang (Loop). Pemograman terstruktur unggul dalam melakukan pemrograman sederhana karena lebih efisien dan lebih murah dalam hal perawatannya tetapi permodelan ini lebih susah untuk dipahami oleh orang – orang selain pembuat program itu sendiri (contohnya ketika dlakukan tracing program ).
Sedangkan dalam pemograman berbasis objek, pola pikir yang digunakan adalah bebasis objek. Dengan pola pikir ini, user harus memodelkan sistem menjadi objek-objek. Kemampuan user menganalisis masalah dan memetakan objek berdasarkan kenyataan di lapangan sangatlah penting. Setelah objek didefinisikan, langkah selanjutnya adalah menentukan bagaimana hubungan antara objek yang satu dengan objek yang lain. Dengan pemograman berbasis objek, kita dapat mengimplementasikan objek data yang tidak hanya memiliki ciri khas (attribut), melainkan juga memiliki metode untuk memanipulasi attribut tersebut. Pemograman berbasis objek  memiliki keunggulan dari konsep pemrograman terstruktur, selain itu juga memiliki kemampuan untuk mengimplementasikan objek dalam kehidupan nyata.

by : Firda Chaerani (52410794) & Fitria Ariestasari (52410844) 2IA14

referensi :
http://www.ms-room.com/index.php?topic=3789.0