Nama : Rudy Eriyanto ( 56410268 ) dan Pulung Bagaskoro (55410416)

Pengertian Inheritance (Pewarisan)
inheritance (penurunan sifat / pewarisan), ini merupakan ciri khas dari OOP yang tidak terdapat pada pemrograman prosedural gaya lama. Dalam hal ini, inheritance bertujuan membentuk obyek baru yang memiliki sifat sama atau mirip dengan obyek yang sudah ada sebelumnya (pewarisan). Obyek turunan dapat digunakan membetuk obyek turunan lagi dan seterusnya. Setiap perubahan pada obyek induk, juga akan mengubah obyek turunannya. Susunan obyek induk dengan obyek turunannya disebut dengan hirarki obyek.http://ebookrudy.wordpress.com/wp-includes/js/tinymce/plugins/wordpress/img/trans.gif
Keuntungan Inheritance:
"Saat anda ingin membuat class baru, dan ternyata pada class lain telah ada code yang ingin anda gunakan, maka anda tinggal meng-extend class lain tersebut."
Contoh Program
  • Simpan dengan nama Inheritance1.java
class Inheritance1
{
private String na;
private String nama;
public void setna (String van)
{
na=van;
}
public void setnama (String vnama)
{
nama=vnama;
}
public String getna()
{
return (na);
}
public String getnama()
{
return (nama);
}
public void display()
{
System.out.println("NPM"+getna());
System.out.println("Nama"+getnama());
}
}
  • Simpan dengan nama Inheritance2.java
class Inheritance2 extends Inheritance1
{
private double ip;
public void setip (double vip)
{
ip=vip;
}
public double getip()
{
return(ip);
}
public void display()
{
System.out.println("IP : "+getip());
System.out.println("Nama : "+getnama());
System.out.println("NPM : "+getna());
}
}
  • Simpan dengan nama InheritanceCoba.java
public class InheritanceCoba
{
public static void main(String[] args)
{
Inheritance2 ap1=new Inheritance2();
ap1.setna("56410268 & 55410416");
ap1.setnama("Rudy Eriyanto & Pulung Bagaskoro");
ap1.setip(3.5);
ap1.display();
}
}
"Kemudian compile dan run program tersebut, maka akan menghasilkan output seperti ini :

 
Pengertian Polymorphism ( Banyak Bentuk )
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 Polymorphism 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.
Polymorphism dapat disamakan dengan Method Overloading, dimana di dalam sebuah class terdapat beberapa method dengan nama sama. Sebuah Method bernama CetakData() yang misalnya berfungsi menampilkan data String, tentu tidak bisa menangani masukan berupa data numerik, boolean, ataupun karakter, demikian juga sebaliknya. Solusi yang bisa dilakukan adalah dengan menyediakan beberapa Method CetakData() yang akan menangani setiap tipe data, sehingga data apapun yang diberikan sebagai parameter tetap bisa diproses.
Berikut adalah contoh program Polymorphism pada Java:

Contoh Program 
  • Simpan dengan nama CetakDataTipe.java
class CetakDataTipe {
// membuat method dengan nama sama tapi berbeda tipe data
public void CetakData(String Cetak) {
System.out.println(Cetak);
}
public void CetakData(int Cetak) {
System.out.println(Cetak);
}
public void CetakData(double Cetak) {
System.out.println(Cetak);
}
public void CetakData(char Cetak) {
System.out.println(Cetak);
}
}
  • Simpan dengan nama Polymorphism.java
public class Polymorphism {
public static void main(String[] args) {
CetakDataTipe data = new CetakDataTipe();
System.out.print("Cetak Data Tipe String : ");
data.CetakData("Sumatra");
System.out.print("Cetak Data Tipe Integer : ");
data.CetakData(1989);
System.out.print("Cetak Data Tipe Double : ");
data.CetakData(16.5 / 2);
System.out.print("Cetak Data Tipe Char : ");
data.CetakData('N');
}
}
"Kemudian compile dan run program tersebut, maka akan menghasilkan output seperti ini :



Sumber : 

http://aladdin91.wordpress.com/2011/04/19/inheritance-dalam-java/
http://betoi.blogspot.com/2010/06/polymorphism-java.html

Pengertian Enkapsulasi dan Contoh Program Sederhananya 
Oleh : Rudy Eriyanto  56410268  dan Pulung Bagaskoro 55410416 (2IA14) 
Posted April 8, 2012

Pengertian Enkapsulasi
Enkapsulasi adalah suatu cara untuk menyembunyikan informasi detail dari suatu class. Dua hal yang mendasar dalam enkapsulasi yakni : Information hiding , Interface to access data.
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.
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 yang dinamakan dengan interface to access data.
Dalam enkapsulasi terdapat hak akses public, protected, dan private. Hak akses public memungkinkan semua kelas mengaksesnya, hak akses protected hanya diberikan kepada kelasnya sendiri dan turunannya, serta kelas-kelas dalam satu paket. Sedangkan private hanya boleh diakses oleh kelasnya sendiri.
Mengapa jika hak akses public pada konstruktor manusia di ganti dengan PRIVATE, program akan ERROR ? Private, adalah level proteksi untuk andi yang berada di dalam manusia. Si andi tidak boleh keluar dari manusia karena mempunya level proteksi paling tinggi. Dalam implementasinya, field dengan level proteksi private hanya dapat diakses di dalam class tersebut.
Dalam teori, dapatkah kita memberikan hak akses pada konstruktor??? Constructor berfungsi untuk menginisialisasi obyek dari class dan mempersiapkan ruang memory, sedangkan destructor menghapus dan membersihkan obyek ketika sudah tidak terpakai dan membebaskan memory yang tadinya terpakai. Constructor method merupakan method yang namanya sama dengan nama classnya dan bersifat public tapi tidak berjenis void ataupun non void. Constructor dapat menerima parameter namun tidak bisa mengembalikan nilai apapun.
Bagaimana solusi agar program dapat berjalan?? Konstruktor diubah menjadi protected atau public atau bisa juga menerapkan interface to access.
Program Sederhana
class belajar{
public String x =”Pintar”;
private String y = “Java”;
}
Pintar.Java
public class Pintar{
public static void main(String[]args){
Coba panggil = new Belajar();
System.out.println(“Panggil X : “+panggil.x);
System.out.println(“Panggil Y : “+panggil.y);
}}

Tugas Pemrograman Berbasis Objek

oleh : Rudy Eriyanto ( 56410268 ) dan Pulung Bagaskoro ( 55410416 ) 2IA14
Web : ebookrudy.wordpress.com Dan pulungbagaskoro.blogspot.com
Posted Maret 22, 2012
=========================================================
1. Membuat Operasi Penjumlahan, Pengurangan dan Perkalian Matriks
Listing Program
import java.io.*;
class MenuMatriks 
{
    BufferedReader input = new BufferedReader(new InputStreamReader(System.in));
    MenuMatriks(){
        int i,b;
        int [] ax = new int[100];
        System.out.println(“||=======================||”);
        System.out.println(“|| 1.Penjumlahan matriks ||”);
        System.out.println(“|| 2.Pengurangan matriks ||”);
        System.out.println(“|| 3.Perkalian matriks   ||”);
        System.out.println(“|| 4.Keluar              ||”);
        System.out.println(“||=======================||”);
        try
        {
        System.out.print(“Silahkan pilih menu : “);
        b = Integer.parseInt(input.readLine());
        switch (b)
        {
        case 1:
            ax=masukData();
            tambah(ax);
        break;
        case 2:
            ax=masukData();
            kurang(ax);
        break;
        case 3 :
            ax=masukData();
            kali(ax);
        break;
        case 4:
            System.out.println(“BYE!!!”);
            System.exit(0);
        
        }
        }
        catch (IOException o)
        {
        }
    }
        
        int[] masukData(){
        int i;
        int a=0;
        int [] arr = new int[100];
        int [] hasil = new int [100];
        
        try
        {
            System.out.println(“Nilai matriks 1″);
            System.out.println(“”);
        for (i=0;i<4;i++)
        {
            System.out.print(“Masukan nilai matrik kolom ["+(i+1)+"] : “);
            arr[i]=Integer.parseInt(input.readLine());
        }
        System.out.println(“\nNilai matriks 2″);
            System.out.println(“”);
        for (i=4;i<8;i++)
        {
            System.out.print(“Masukan nilai matrik kolom ["+(a+1)+"] : “);
            arr[i]=Integer.parseInt(input.readLine());
            a++;
        }
        System.out.println(“\n\n\n”);
        }
        catch(IOException e){
        }
        return (arr);
        }
        
        void tambah(int [] arr){
        int [] arrt = new int[100];
        int [] hasil = new int [100];
        arrt=arr;
        System.out.println(“\n\n\n”);
        hasil[0]=arrt[0]+arrt[4];
        hasil[1]=arrt[1]+arrt[5];
        hasil[2]=arrt[2]+arrt[6];
        hasil[3]=arrt[3]+arrt[7];
        System.out.println(“| “+arrt[0]+”  “+arrt[1]+” |  “+” | “+arrt[4]+”  “+arrt[5]+” |  “+” | “+hasil[0]+”   “+hasil[1]+” | “);
        System.out.println(“|      | + |      | = |       |”);
        System.out.println(“| “+arrt[2]+”  “+arrt[3]+” |  “+” | “+arrt[6]+”  “+arrt[7]+” | “+”  | “+hasil[2]+”   “+hasil[3]+” | “);
        System.out.println(“”);
        
    }
    void kurang(int[]arr){
        int [] arrk = new int[100];
        int [] hasil = new int [100];
        arrk=arr;
        System.out.println(“\n\n\n”);
        hasil[0]=arrk[0]-arrk[4];
        hasil[1]=arrk[1]-arrk[5];
        hasil[2]=arrk[2]-arrk[6];
        hasil[3]=arrk[3]-arrk[7];
        System.out.println(“| “+arrk[0]+”  “+arrk[1]+” |  “+” | “+arrk[4]+”  “+arrk[5]+” |  “+” | “+hasil[0]+”   “+hasil[1]+” | “);
        System.out.println(“|      | – |      | = |       |”);
        System.out.println(“| “+arrk[2]+”  “+arrk[3]+” |  “+” | “+arrk[6]+”  “+arrk[7]+” | “+”  | “+hasil[2]+”   “+hasil[3]+” | “);
        System.out.println(“”);
        
    }
    void kali(int[]arr){
        int [] arrkl = new int[100];
        int [] hasil = new int [100];
        arrkl=arr;
        System.out.println(“\n\n\n”);
        hasil[0]=(arrkl[0]*arrkl[4])+(arrkl[1]*arrkl[6]);
        hasil[1]=(arrkl[2]*arrkl[4])+(arrkl[3]*arrkl[6]);
        hasil[2]=(arrkl[0]*arrkl[5])+(arrkl[1]*arrkl[7]);
        hasil[3]=(arrkl[2]*arrkl[5])+(arrkl[3]*arrkl[7]);
        System.out.println(“| “+arrkl[0]+”  “+arrkl[1]+” |  “+” | “+arrkl[4]+”  “+arrkl[5]+” |  “+” | “+hasil[0]+”   “+hasil[2]+” | “);
        System.out.println(“|      | x |      | = |       |”);
        System.out.println(“| “+arrkl[2]+”  “+arrkl[3]+” |  “+” | “+arrkl[6]+”  “+arrkl[7]+” | “+”  | “+hasil[1]+”   “+hasil[3]+” | “);
        System.out.println(“”);
        
    }
    public static void main(String[] args) 
    {
        MenuMatriks mm = new MenuMatriks();
    }
}
Output Program
Penjumlahan                              Pengurangan                            Perkalian
   
Logika Program
Pertama-tama buat dulu nama classnya, trus juga jangan lupa kita import java.io.*; itu buat import kelas java yang gunanya buat input/output data. jadi program ini bisa buat nilai sesuai dengan keinginan kita buat input dan output data. kemudian deklarasiin kelas yang kita import tadi, disini kita memakai BufferedReader, dan class ini kita jadikan object yang namanya input. jadi kalau kita ingin memasukan nilai, kita tinggal panggil input.readLine() aja, gampang kan 
Setelah dibuat objek BufferedReader kita buat konstruktor dari kelas yang kita buat tadi, untungnya jika kelas ini sudah kita inisiasi maka konstruktor ini yang akan dijalankan. disini kita buat tampilan menu, ada 4 menu disini. buat jumlah,kurang dan kali, terakhir keluar. dan kita disuruh input nilai yang ada diinput, yaitu dari 1-4 lalu setelah kita masukan inputan, program akan memanggil kedalam percabangan switch.
Nah, karena java itu setiap akan dijalankan pasti yang pertama dijalankan yaitu method mainnya. Jadi ketika kita menjalankan program ini, java akan membuat objek dari kelas MenuMatriks ini. Karena sudah dibuat objek, maka java langsung menjalankan konstruktor (jika ada) dan ternyata diclass ini ada konstruktor, maka ya dijalanin lah konstruktor yang ada.