Kamis, 19 April 2012

Inheritance dan Polymomorphism pada Java

Nama : Rizanuary Fauzi (56410097)
Nama partner : Fariz Adnan
Kelas : 2IA07
Tugas : Pemrograman Berbasis Objek

Pengertian Inheritance pada Java
• Inheritance merupakan salah satu dari tiga konsep dasar OOP.
• Konsep inheritance ini mengadopsi dunia riil dimana suatu entitas/obyek / y dapat mempunyai entitas/obyek turunan.
• Dengan konsep inheritance, sebuah class dapat mempunyai class turunan.
• Suatu class yang mempunyai class turunan dinamakan parent class atau base class.
• Sedangkan class turunan itu sendiri seringkali disebut subclass atau child 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.
• Contoh :
public class B extends A { }
• Semua class di dalam Java adalah merupakan subclass dari class super induk yang bernama Object.
• Misalnya saja terdapat sebuah class sederhana :
public class A {

}
• Pada saat dikompilasi, Kompiler Java akan membacanya sebagai subclass dari class Object.
public class A extends Object {

}
Kapan kita menerapkan inheritance?
• Kita baru perlu menerapkan inheritance pada saat kita jumpai ada suatu class yang dapat diperluas dari class lain.
Oke, kita masuk ke contoh programnya..
LISTING PROGRAM
import java.io.*;
class Komputer {
String processor;
int monitor;
int hardDisk;
int memory;
void processor(){
System.out.println("Processor: " + processor);
}
void monitor(){
System.out.println("Monitor: " + monitor + "Inch");
}
void hardDisk(){
System.out.println("Hard Disk: " + hardDisk + "GB" );
}
void memory(){
System.out.println("Memory: " + memory + "GB");
}
}
class Laptop extends Komputer{
String typeBattery;
int durasiBattery;
void typeBattery() {
System.out.println("Type Battery : " + typeBattery);
}
void durasiBattery(){
System.out.println("Durasi Batery : " + durasiBattery + "jam");
}
}
public class LaptopSpec {
String typeBattery;
int durasiBattery;
public static void main(String[]args){
Laptop accer = new Laptop();
accer.processor ="Intel Dual core";
accer.processor();
accer.monitor = 15;
accer.monitor();
accer.hardDisk = 250;
accer.hardDisk();
accer.memory = 3;
accer.memory();
accer.typeBattery ="Litium";
accer.typeBattery();
accer.durasiBattery = 2;
accer.durasiBattery();
}
}
OUTPUT PROGRAM






Pengertian Polymorphism pada Java
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 :
LISTING PROGRAM
import java.io.*;
import java.util.*;
class Hewan {
           
            String nama, jenis, bersuara;
     Hewan(String nama, String jenis, String bersuara){
//sintaks menampilkan nama
                        this.nama=nama;
                        this.jenis=jenis;
                        this.bersuara=bersuara;
    }
    public String toString(){
            return "Ini adalah "+jenis+"\nNamanya "+nama+"\n"+bersuara;
    }
    public void bersuara(){                  
    }
}

public class Polimorfisme{
    public static void main(String args[]){
        Hewan[] hewannya = {
          new Anjing("Broni", "Herder", "Hug Hug Hug......"),
          new Kucing("Kiti", "Persia", "Meong.. Meong... "),
          new Ayam("Toki", "Buras", "kuk kruyu. ")
        };
        Hewan pilihHewan;
       Random pilih = new Random();
        for (int i = 0; i<5 ; i++){
            pilihHewan = hewannya[pilih.nextInt(hewannya.length)];
           System.out.println("\nPilihan Anda:\n" + pilihHewan);
       
           
        }
    }
}

class Ayam extends Hewan{
   
    private String nama,jenis,bersuara;
    Ayam(String nama, String jenis, String bersuara){
//sintaks menampilkan nama
            super(nama, jenis, bersuara);
    }
    public void ShowAyam(){
           
            System.out.println("Nama Ayam : "+nama);
            System.out.println("Jenis Ayam : "+jenis);
           
           
//sintaks menampilkan nama dan jenis hewan

    }
    public void bersuara(){
//sintaks menampilkan suara hewan
                        System.out.println("kuk kruyu. ");
    }

}

class Kucing extends Hewan
{
    private String nama,jenis,bersuara;
    Kucing(String nama, String jenis, String bersuara){
//sintaks menampilkan nama
                        super(nama, jenis, bersuara);
    }
    public void ShowKucing(){
           
            System.out.println("Nama Kucig : "+nama);
            System.out.println("Jenis Kucing : "+jenis);
           
//sintaks menampilkan nama dan jenis hewan
    }
    public void bersuara(){
//sintaks menampilkan suara hewan
                        System.out.println("Meong.. Meong... ");
    }
}

class Anjing extends Hewan{
   
    private String nama,jenis,bersuara;
   
   
    Anjing(String nama, String jenis, String bersuara){
//sintaks menampilkan nama
                        super(nama, jenis, bersuara);
    }
    public void ShowAnjing(){
           
            System.out.println("Nama Anjing : "+nama);
            System.out.println("Jenis Anjing : "+jenis);
           
           
//sintaks menampilkan nama dan jenis hewan

    }
    public void bersuara(){
//sintaks menampilkan suara hewan
                        System.out.println("Hug Hug Hug...... ");
    }

}

OUTPUT PRORAM



Kamis, 12 April 2012

Enkapsulasi pada bahasa pemrograman Java

Pada tulisan kali ini saya akan menjelaskan tentang enkapsulasi(pengkapsulan) dalam bahasa pemograman berbasis objek. bahasa pemograman yang saya gunakan adalah bahasa java yang sangat mengimplementasikan OOP(Object Oriented Programming). langsung saja kita mulai.Enkapsulasi merupakan proses pemaketan data bersama metode-metodenya. Manfaat utama dari enkapsulasi ini adalah meyembunyikan rincian-rincian implementasi dari pemakai. Bagian internal objek mempunyai ketampakan terbatas dibanding bagian eksternal objek. Penyusunan seperti ini menjaga bagian internal dari pengaksesan eksternal yang tidak diinginkan.Bagian eksternal objek sering disebut antarmuka objek karena berlaku sebagai antarmuka objek terhadap objek lain. Karena objek lain harus berkomunikasi dengan objek itu hanya melalui antarmuka maka bagian internal objek dapat dilindungi dari gangguan luar. Karena program luar tidak dapat mengakses implementasi internal objek, implementasi internal dapat berubah tanpa mempengaruhi bagian-bagian program yang lain.Enkapsulasi menyediakan duan manfaat utama bagi pemograman, yaitu:
  • Penyembunyian Informasi
  • : Penyembunyian implementasi (implementation hiding) mengacu perlindungan implementasi internal objek. Objek disusun dari antarmuka public dan bagian private yang merupakan kombinasi data dan metode internal. Manfaat utama adalah bagian internal dapat berubah tanpa mempengaruhi bagian-bagian program yang lain.
  • Modularitas (modularity)
  •  : Objek dapat dikelola secara independen. Karena kode sumber bagian internal objek dikelola secara terpisah dari antar muka, maka kita bebas melakukan modifikasi yang tidak menyebabkan masalah pada bagian-bagian lain dari sistem. Manfaat ini mempermudah mendistribusikan objek-objek di sistem.
Enkapsulasi pada Java dilakukan dengan pembentukan kelas-kelas, yaitu keyword class. Sedangkan penyembunyian informasi dilakukan dengan pengendalian terhadap pengaksesan pembentuk kelas dengan keyword-keyword untuk kendali pengaksesan default, private, protected, dan public. Penyembunyian informasi dilakukan dengan menerapkan kendali pengaksesan private atau protected pada elemen data.

Listing Program

import java.io.*;
class belajar {
public String x = "Enkapsulasi pada java";
public String y = "by Rizanuary Fauzi";
private String z = "Rahasia, weeee :p";
}
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
Tipe public dan private mempunyai fungsi yang berbeda. Fungsi public yang terdapat dalam class Coba pada variable x, memungkinkan nilai dari variable x dan y dapat diakses oleh class Belajar. Sedangkan variable z yang menggunakan fungsi private tidak dapat dipanggil didalam class Belajar.

Output Program
















My Partner : Fariz Adnan