Jumat, 20 April 2012

Polimorfisme dan Inheritance di Java


     AInheritance
          Salah satu konsep dasar dari pemrograman berbasis objek pada java adalah Inheritance, berikut ini sedikit gambaran tentang inheritance. Pada dasarnya, kita melakukan inheritance(pewarisan) untuk membuat suatu class baru(class turunan/subclass) yang masih memiliki sifat atau spesifikasi dari superclass. 
          Di dalam Java untuk mendeklarasikan suatu class sebagai subclass dilakukan dengan cara 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.

Contoh program :
class Parent {
 public int x = 5;
}
class Child extends Parent {
 public int x = 10;
 public void info(int x) {
  System.out.println("Nilai x sebagai parameter = " + x);
  System.out.println("Data member x di class Child = " + this.x);
  System.out.println("Data member x di class Parent = " + super.x);
 }
}
public class Inheritance{
 public static void main(String args[]) {
  Child tes = new Child();
  tes.info(20);
}
}

Output program:


     B. Polimorfisme
Polimorfisme bias diartikan seperti kemampuan suatu variable untuk mengubah perangai sesuai dengan objek hasil instansiasi yang digunakan. Polimorfisme membiarkan lebih dari 1 objek dari sub class – sub class dan diperlakukan sebagai objek dari super class tunggal.

Contoh Program:
class SepakBola {
  public void showoff() {
    System.out.println("Menangkan pertandingan");
  }
}
class Penyerang extends SepakBola {
  public void showoff() {
    System.out.println("Cetak GOL");
  }
}
class Bek extends SepakBola {
  public void showoff() {
    System.out.println("Jangan sampai GOL");
  }
}
class Kiper extends SepakBola {
  public void showoff() {
    System.out.println("Jaga gawang");
  }
}
public class Polimorfisme1 {
  public static void main (String[] args) {
    SepakBola SB = new SepakBola();
    Penyerang P = new Penyerang();
    Bek B = new Bek();
    Kiper K = new Kiper();

    SB.showoff();

    SB = P;
    SB.showoff();
    SB = B;
    SB.showoff();
    SB = K;
    SB.showoff();
  }
}

Output program:



Kamis, 12 April 2012

Enkapsulasi


Kali ini kami akan membahas tentang enkapsulasi pada java. Sebelum masuk ke program, ada baiknya kita mengerti dahulu mengenai apa itu enkapsulasi. Disinin kami memberikan pembahasan tentang pengertian apa itu enkapsulasi dan memberikan contoh programnya.

Pembahasan Enkapsulasi

Enkapsulasi adalah suatu cara untuk menyembunyikan informa

si detail dari suatu class. Dua hal yang mendasar dalam enkapsulasi yakni :

• Information hiding.

• Interface to access data.

Information hiding

Sebelumnya kita dapat mengakses anggota class baik berupa atribu

t 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.

Enkapsulasi menunjuk pada prinsip dari menyembunyikan des

ain atau mengimplementasikan informasi yang tidak sesuai pada object yang ada. Menyembunyikan elemen dari penggunaan sebuah class dapat dilakukan dengan pembuatan anggota yang ingin Anda sembunyikan secara private.

Contoh Program

class enkapsulasi {

public int Erik = 52410390;

public int Ganda = 52410946;

}

public class tugas{

public static void main(String[] args){

enkapsulasi panggil = new enkapsulasi();

System.out.println("Erik Ered : " + panggil.Erik);

System.out.println("Ganda Eka : " + panggil.Ganda);

}

}

Output Program

Referensi : http://littlebro-note.blogspot.com/2008/10/java-enkapsulasi.html

Link Teman : Erik Okdamesta

Jumat, 06 April 2012

Perbedaan Pemrograman Terstruktur dan Berorientasi Objek

Kali ini saya ingin membahas tentang perbedaan pemrograman terstruktur dengan permrograman yang berorientasi objek, disini saya akan menjelaskan tentang pengertian pemrograman terstruktur dan pemrograman berbasis objek dan saya akan menjelaskan tentang perbedaannya, saya akan mulai dari pemrograman terstruktur dan pemrgraman berorientasi objek kemudian dilanjutkan dengan perbedaannya.

A. PEMROGRAMAN TERSTRUKTUR

Pemrograman terstruktur adalah suatu proses untuk mengimplentasikan urutan langkah untuk menyelesaikan suatu masalah dalam bentuk program. Prinsip dari pemrograman terstruktur adalah apabila kita sudah sampai pada langkah tertentu, kita tidak boleh mengeksekusi langkah sebelumnya. Hal ini dikecualikan pada langkah-langkah untuk proses berulang.

Tujuan pemrograman terstruktur :

1. Untuk meningkatkan kualitas dan kehandalan program,

2. Untuk memudahkan pemahaman terhadap isi program,

3. Untuk menyederhanakan program,

4. Untuk maintenance program atau pemeliharaan program,

5. Untuk meningkatkan produktifitas program.

B. PEMEROGRAMAN BERORIENTASI OBJEK

Pemerograman berorientasi objek merupakan paradigm baru dalam rekayasa perangkat lunak yang memandang system sebagai sekumpulan objek-objek yang saling berinterksi. Metode pemrograman berorientasi objek memberikan sekumpulan teknik untuk menganalisi mendekomposisi dan memodularisasi arsitektur system perangkat lunak. Sistem sendiri didefinisikan sebagai kumpulan dari beberapa elemen atau moduk yang saling berhubungan untuk mencapai suatu tujuan. Sedangkan sistem yang berorientasi objek diuraikan kedalam sekumpulan objek (konsep, abstrak, benda) dalam dunia nyata yang saling berkomunikasi dan melaksanakan sejumlah pelayanan secara desentralisasi, setiap objek membungkus (encapsulate) sejumlah prosedur dan data yang berinteraksi dengan objek yang lainnya melalui suatu pesan.

PERBEDAAN PEMROGRAMAN TERSTRUKTUR DAN BERORIENTASI OBJEK

Sifat-sifat pemrograman terstruktur sebagai berikut :

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 relatife rendah,

6. Memiliki dokumentasi yang baik,

7. Biaya perawatan dan dokumentasi yang dibutuhkan relative rendah.

Berbeda dengan OOP, yaitu suatu program disebut dengan pemrograman berbasis objek (OOP) karena terdapat:

1. Encapsulate (Pembungkusan), adalah mekanisme pemrograman yang membungkus kode dan data yangdimanipulasi dan menjaganya supaya terhindar dari interferensi dan penggunaan yang tidak perlu, salah satunya dengan cara membentuk objek,

2. Inheritance (Pewarisan), memungkinkan programmer meletakanmember yang sama dalam satu class dan class-class lain dapat mewarisi member tersebut. Class yang mengandung member yang sama dari beberapa class lain dinamakan superclass atau parent class. Class yang mewarisi dinamakan subclass atau child class. Inheritance menghasilkan class hierarchy.

3. Polymorphism (polimorfisme–perbedaan bentuk), artinya mempunyai banyak bentuk. Dua objek atau lebih dikatakan sebagai polymorphic, bila objek-objek itu mempunyai antar muka yang identik namun mempunyai perilaku-perilaku yang berbeda. Bisa dikatakan pada pemrograman berorientasi objek, dapat dilakukan sebuah programming terhadap code yang lebih baik daripada pemrograman terstruktur, itu juga untuk kaliber atau skala rumit atau besar, sedangkan untuk coding yang skala kecil lebih mudah menggunakan pemrograman terstruktur dikarenakan lebih singkat dan mudah tanpa banyak perubahan yang penting.

REFERENSI :

1. http://myblogar.blogspot.com/2011/02/perbedaan-pemrograman-terstruktur.html

2. http://caesario-nanda.blogspot.com/2011/11/sistem-berorientasi-objek-oop.html

Link Teman : Erik Okdamesta Ered