photo black_rock_shooter___white_black_shooter_render_by_kanonvocaloid-d4p972q_zps19d9c032.png

Welcome To Renn Renn's Nikki!

Let's Have fun with my Blog... ^^

 photo black_rock_shooter___white_black_shooter_render_by_kanonvocaloid-d4p972q_zps19d9c032.png

Welcome To Renn Renn's Nikki!

Let's Have fun with my Blog... ^^

 photo black_rock_shooter___white_black_shooter_render_by_kanonvocaloid-d4p972q_zps19d9c032.png

Welcome To Renn Renn's Nikki!

Let's Have fun with my Blog... ^^

 photo black_rock_shooter___white_black_shooter_render_by_kanonvocaloid-d4p972q_zps19d9c032.png

Welcome To Renn Renn's Nikki!

Let's Have fun with my Blog... ^^

 photo black_rock_shooter___white_black_shooter_render_by_kanonvocaloid-d4p972q_zps19d9c032.png

Welcome To Renn Renn's Nikki!

Let's Have fun with my Blog... ^^

Senin, 23 Desember 2013

KALKULATOR SEDERHANA DENGAN FLOWCHART

Flowchart Kalkulator Sederhana

Kali ini saya akan membuat sebuah tutorial membuat Flowchart Kalkulator Sederhana menggunakan program Raptor.

1. Langkah pertama buka program Raptor. Maka akan muncul tampilan seperti pada gambar di
   bawah ini. Dan beri nama file raptor anda dengan cara save file.

2. Di dalam Flowchart Kalkulator kita membutuhkan sebuah inputan dari user sebagai nilai yang
    akan di olah dalam program Kalkulator yang akan kita buat. Oleh karena itu, kita buat tiga buah
    inputan user menggunakan Tool Input. Inputan pertama merupakan inputan Nilai Pertama yang
    akan kita set dengan variabel "a" . Inputan kedua merupakan inputan Operasi Bilangan  ( seperti
    "+","-","*" dan "/" ) yang akan kita set dengan variabel "pil". Inputan ketiga merupakan inputan
    Nilai Kedua yang akan  kita set dengan variabel "b" .

3.Langkah selanjutnya adalah membuat sebuah Selection  menggunakan Selection Tool. Atur
   Selection untuk memberi pilihan kondisi terhadap Inputan user dengan cara memberikan
   pernyataan pada Selection kita. Ketikkan pil = "+" pada Selection Condition. Dan pada bagian
   "Yes" kita beri Assignment atau pernyataan."penjumlahan = a+b" dan beri Output "Hasil
   Penjumlahan dari "+a+"+"+b+" = "+penjumlahan". Hal itu berarti bahwa jika user memilih Operasi
   Bilangan "+" maka variabel "a" dan "b"di jumlahkan dan hasil nya di set dengan variabel
   "penjumlahan" dan akhirnya di cetak di raptor.






   Lakukan hal yang sama pada bagian "No" seperti pada saat di bagian "Yes", tetapi kali ini
   Operasi Bilangannya merupakan"-" dan hasil nya di set dengan variabel "pengurangan".


  Lakukan juga hal tersebut pada Operasi Bilangan  "*" dan hasil nya di set dengan variabel
  "perkalian". Dan di bagian "No" pada Selection Operasi Bilangan "*" di berikan Assignment atau
   pernyataan "pembagian = a/b" dan beri Output "Hasil Pembagian dari "+a+":"+b+"="
  +pembagian". Hal itu berarti bahwa jika user memilih Operasi Bilangan "/" maka variabel "a"   dibagi oleh variabel "b" dan hasil nya di set dengan variabel "pembagian" dan akhirnya di cetak di
   raptor.


4. Dan Akhirnya Flowchart Kalkulator Sederhana sudah selesai. Run Flowchart dan lihat hasilnya.

Sekian Tutorial dari Saya. Saya ucapkan Terima Kasih.

Selasa, 17 Desember 2013

Poster

TUGAS PTI POSTER

Minggu, 15 Desember 2013

ARRAY ( LARIK )

Pengertian Array & Contoh Program Array

Array adalah sekumpulan variabel yang memiliki tipe data yang sama dan dinyatakan dengan nama yang sama. Array merupakan konsep yang penting dalam pemrograman, karna array memungkinkan untuk menyimpan data maupun referensi objek dalam jumlah banyak dan terindeks. Array menggunakan indeks integer untuk menentukan urutan elemen-elemennya, dimana elemen pertamanya dimulai dari indeks 0,elemen kedua memiliki indeks 1, dan seterusnya.
·         Contoh :
-          Angka untuk menyimpan sederetan bilangan
-          Buku untuk menyimpan sekumpulan data buku
-          Mahasiswa untuk menyimpan beberapa data mahasiswa
·         Sebagai contoh jika A merupakan sebuah array dengan tipe integer, maka notasi dari array A adalah: A[n], dengan n merupakan angka index dari array tersebut misal:
A[0]=100
A[1]=200
A[2]=300
A[3]=400
A.   Mendeklarasikan Variabel Array
·         Mendeklarasikan variabel array dengan tipe data yang diinginkan dengan cara yang hampir sama dengan variabel biasa. Misalnya untuk mendeklarasikan variabel bertipe integer, dapat dilakukan dengan cara :
int [ ] bilangan; atau int bilangan [ ];
Jadi perbedaan utama pendeklarasian variabel array dengan variabel biasa adalah adanya tanda kurung [ ] di akhir tipe data atau di akhir nama variabel array. Pada tahap pendeklarasian variabel array ini belum ada alokasi memory untuk menyimpan data.
B.   Mendefenisikan Array
·         Setelah mendeklarasikan array, kita perlu mendefenisikan array, dalam arti menentukan besar array yang diinginkan. Misalnya dengan cara :
Bilangan = new int [5];
·         Array memiliki ukuran yang tetap dalam arti tidak dapat membesar atau mengecil ukurannya setelah didefenisikan. Setelah didefenisikan, maka variabel dengan nama bilangan dapat menyimpan 5 nilai integer yang dapat diakses melalui indeks 0 sampai indeks 4. Setelah pendefenisian array, maka memori akan dialokasikan untuk menyimpan data dari array. Besar memori yang dialokasikan tergantung dari tipe data variabel array dan jumlah elemen array yang didefenisikan.
·  C.   Array Dua Dimensi
      Pada java juga menyediakan fasilitas untuk membuat array dua dimensi yang dapat membantu dalam pemrograman apabila array datu dimensi tidak mencukupi dalam menghasilkan suatu solusi. Array dua dimensi sebenarnya adalah array yang berisi array.

D.   Array Multidimensi
        Selain array satu dimensi dan array dua dimensi, dapat juga membuat array multi dimensi pada java. Array multidimensi merupakan array yang terdiri dari array yang tidak terbatas hanya dua dimensi saja. Kita dapat menggunakan kode berikut untuk mendapatkan array 3 dimensi :
Int [ ] [ ] array dimensi = new int [ 5 ] [ 10 ] [ 5 ] ;
  Dan pada array multidimensi , kita dapat menetukan ukuran array yang berbeda pada tiap array. Misalnya :
Int [ ] [ ] [ ] mdimensi = new int [ 5 ] [ ] [ ] ;
   Dari kode diatas, kita mendapatkan array pertama dengan 5 elemen, tetapi kita belum mendefinisikan ukuran array dimensi kedua dan ketiga.
Contoh ;
// Elemen 512 x 128 dari integer array
int[][] twoD = new int[512][128];
// karakter array 8 x 16 x 24
char[][][] threeD = new char[8][16][24];
// String array 4 baris x 2 kolom
String[][] dogs = {{ "terry", "brown" },
{ "Kristin", "white" },
{ "toby", "gray"},
{ "fido", "black"}
};
            Untuk mengakses sebuah elemen didalam array multidimensi, sama saja dengan mengakses array satu dimensi. Misalnya saja, untuk mengakses element pertama dari baris pertama didalam array dogs, kita akan menulis,
System.out.print( dogs[0][0] );
Kode diatas akan mencetak String “terry” di layar.

Contoh Program :
Buatlah flowchart dan program array satu dimensi dengan menggunakan inputan user ( min 6).
      Contoh :       1. nilai [0 ] = 12 ;
                              2. nilai [ 1] = 36 ;
                              3. nilai [ 2] = 45 ;
                                4. nilai [3] = 58 ;
                                5. nilai [ 4] = 93 ;
                                6. nilai [ 5] = 87 ;
Coding :
package tupen;
import javax.swing.JOptionPane;
public class Array3 {
public static void main(String []args){
         int n=Integer.parseInt(JOptionPane.showInputDialog("Berapa Jumlah data"));
         int[]angka=new int[n];
    // menggunakan perulangan for
        for (int i=0;i
        angka [i]=Integer.parseInt(JOptionPane.showInputDialog("Data ke - " + i+"?" ) );
        }
                //menggunakan perulangan while
        int a=0;
        while(a
       System.out.println("Nilai Index ke -"+ a +" Adalah = " +angka [a]);
        a++ ;
                                 }
                        }
}

Sumber : http://belajarpemrograman-programmer.blogspot.com/2012/03/pengertian-array-contoh-program-array.html

Polimorfisme ( Polymorphism) Di OOP

Polimorfisme (Polymorphism) Di Java

Polymorphism merupakan salah satu konsep penting dalam object oriented programming (OOP) khusunya di bahasa Java setelah abstraction dan inheritance. Polymorphism berarti banyak bentuk. Ada beberapa definisi berbeda tentang polymorphism yang berkaitan dengan pemrograman berorientasi obyek. Sedangkan apa yang dimaksud dengan polymorphism sendiri, sebenarnya sulit untuk didefinisikan. Sejalan dengan contoh yang diberikan, Anda diharapkan dapat mengerti dan memahami konsep polymorphism itu sendiri.

Polymorphism sering dikaitkan dengan penggunaan lebih dari satu metoda dengan nama sama. Penggunaan metoda dengan nama sama dapat diterapkan dengan method overloading dan method overriding. Peran polymorphism sebenarnya tidak terbatas hanya pada hal tersebut. Ada keterkaitan antara polymorphism dan inheritance (turunan).

Dalam konsep turunan, saat obyek dari subclass dikonstruksi, obyek dari superclass juga ikut dikonstruksi. Jadi setiap instance dari subclass adalah juga instance dari superclass. Apabila Anda mendeklarasikan metoda dengan parameter dari tipe superclass, Anda diperbolehkan untuk memberi argumen berupa obyek subclass yang merupakan turunan dari superclass tersebut.
Berikut ini adalah contoh program yang dapat memberikan gambaran berkaitan dengan konsep polymorphism. Perlu dipahami dan dimengerti bahwa kelas Object merupakan akar dari semua kelas Java dan menduduki puncak tertinggi dalam hirarkhi. Program akan mendefinisikan kelas yang berkaitan dengan bidang datar secara sederhana termasuk beberapa kelas turunannya (kelas PersegiPanjang dan Balok) dan membatasi hanya pada penerapan method overriding.

 Contoh Polimorfisme:

// Nama file : Polimorphism.java
// Contoh penerapan konsep polimorphism
<span id="w2918ovx_2" class="w2918ovx">public class</span> Polimorphism {
   public static void main(String[ ] args) {
      cetakObjek(new Balok());
      cetakObjek(new PersegiPanjang());
      cetakObjek(new BangunDatar());
      cetakObjek(new Object());
   }
    
   public static void cetakObjek(Object objek) {
      System.out.println(objek);
   }
} // Akhir kelas Polimorphism
class Balok extends PersegiPanjang {
   public String toString() {
      return "Mempunyai sisi panjang, lebar dan tinggi";
   }
}
class PersegiPanjang extends BangunDatar {
   public String toString() {
      return "Mempunyai sisi panjang dan lebar";
   }
}
class BangunDatar extends Object {
   public String toString() {
      return "Mempunyai berbagai bentuk";
   }
}
 Baris nomor 14 -16 adalah deklarasi metoda cetakObjek yang mempunyai satu parameter dengan tipe kelas Object. Kelas Object merupakan akar dari semua kelas di Java. Langsung maupun tidak langsung, semua kelas di Java merupakan turunan dari kelas Object. Anda dapat memanggil atau menggunakan metoda cetakObjek dengan argumen berupa obyek yang dibuat dari kelas turunan superclass Object.

Ketika metoda cetakObjek dipanggil (baris nomor 8 – 11), argumen obyek akan diminta. obyek sebagai argumen metoda dapat berupa obyek yang merupakan kelas turunan dari kelas Object yaitu kelas BangunDatar, kelas PersegiPanjang maupun kelas Balok. Masing-masing kelas turunan mendeklarasikan ulang metoda toString yang mempunyai implementasi berbeda. Java Virtual Machine (JVM) akan menentukan secara dinamis implementasi metode toString yang akan digunakan saat program dijalankan. Kemampuan menentukan secara dinamis ini disebut dengan dynamic binding.

Dari gambaran program di atas, apabila parameter sebuah metoda adalah tipe superclass, maka argumen metoda yang diberikan dapat berupa tipe dari subclassnya. Kemampuan seperti inilah yang dimaksud dengan polymorphism. Dari gambaran tersebut, dapat didefinisikan kembali bahwa polymorphism adalah kemampuan untuk menghasilkan sesuatu yang berbeda dengan cara yang sama. Pemberian obyek dari subclass ke obyek dari superclass dapat dilakukan tanpa perlu melakukan konversi.

Sumber :
http://www.termasmedia.com/2012-05-29-02-56-17/java/250-memahami-konsep-polimorfisme-polymorphism-di-java.html

ENKAPSULASI PADA OOP

PENGERTIAN ENKAPSULASI

Enkapsulasi/ Pembungkusan (Encapsulation)
Enkapsulasi merupakan suatu cara pembungkusan data dan method yang menyusun suatu kelas sehingga kelas dapat dipandang sebagai suatu modul dan cara bagaimana menyembunyikan informasi detail dari suatu class (information hiding). Dalam OOP, enkapsulasi sangat penting untuk keamanan serta menghindari kesalahan permrograman, pembungkus disini dimaksudkan untuk menjaga suatu proses program agar tidak dapat diakses secara sembarangan atau di intervensi oleh program lain. Konsep enkapsulasi sangat penting dilakukan untuk menjaga kebutuhan program agar dapat diakses sewaktu-waktu, sekaligus menjaga program tersebut.
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.
Manfaat utama teknik encapsulation adalah kita mampu memodifikasi kode tanpa merusak kode yang telah digunakan pada class lain.
Enkapsulasi memiliki manfaat sebagai berikut:
> Modularitas
Source code dari sebuah class dapat dikelola secara independen dari source code class yang lain. Perubahan internal pada sebuah class tidak akan berpengaruh bagi class yang menggunakannya.
> Information Hiding
Penyembunyian informasi yang tidak perlu diketahui objek lain.
Contoh Enkapsulasi :

import java.io.*;
import java.util.Scanner;
class makanan
{
public int porsi;
public double harga;
}
class nasi extends makanan
{
public void setharga()
{
harga = 1000;
}
}
class lauk extends makanan
{
public void setharga()
{
harga = 2000;
}
}
class sayur extends makanan
{
public void setharga(double h) //set harga lewat input user
{
harga = h;
}
public double getharga() //mengambil info harga dr class
{
return(harga);
}
}
public class program //utk menjalankan program utama
{
public static void main(String[] args)
{
double h;
sayur s = new sayur(); //create object utk masing2 class
lauk l = new lauk();
nasi n = new nasi();
Scanner sc = new Scanner(System.in);

System.out.print(“Harga : “);
h = sc.nextDouble();
s.setharga(h);
System.out.println(“Harga sayur :”+s.getharga());
n.harga = 1000; //akses langsung ke atribut
n.porsi = 2;
biaya = n.harga * n.porsi;
System.out.println(“Biaya :”+biaya);

//menu program dan manipulasi object yg lain
//bisa diletakkan di sini
}
}



Sumber:

http://bluejundi.wordpress.com/2010/05/11/contoh-program-oop-dengan-inheritance-sederhana-dalam-bahasa-java/

OBJECT ORIENTED PROGRAMMING

Object Oriented Programming


1. Pengertian Object Oriented Programming (OOP)
Object Oriented Programming (OOP) adalah suatu metode pemrograman yang berbasiskan pada objek, secara singkat pengertian dari OOP adalah koleksi objek yang saling berinteraksi dan saling memberikan informasi satu dengan yang lainnya.
Suatu program disebut dengan pemrograman berbasis obyek (OOP) karena terdapat :
– Encapsulation (pembungkusan)
• Variabel dan method dalam suatu obyek dibungkus agar terlindungi
• Untuk mengakses, variabel dan method yang sudah dibungkus tadi perlu interface
• Setelah variabel dan method dibungkus, hak akses terhadapnya bisa ditentukan.
• Konsep pembungkusan ini pada dasarnya merupakan perluasan dari tipe data struktur
– Inheritance (pewarisan)
• Sebuah class bisa mewariskan atribut dan method-nya ke class yang lain
• Class yang mewarisi disebut superclass
• Class yang diberi warisan disebut subclass
• Sebuah subclass bisa mewariskan atau berlaku sebagai superclass bagi class yang lain => disebut multilevel inheritance.
Keuntungan Penggunaan Pewarisan
• Subclass memiliki atribut dan method yang spesifik yang membedakannya dengan superclass, meskipun keduanya mirip (dalam hal kesamaan atribut dan method).
• Dengan demikian pada pembuatan subclass, programmer bisa menggunakan ulang source code dari superclass yang ada => ini yang disebut dengan istilah reuse.
• Class-class yang didefinisikan dengan atribut dan method yang bersifat umum yang berlaku baik pada superclass maupun subclass disebut dengan abstract class.
– Polymorphism (polimorfisme – perbedaan bentuk)
Polimorfisme artinya penyamaran dimana suatu bentuk dapat memiliki lebih dari satu bentuk.

2. Perbedaan Object Oriented Programming (OOP) dengan Procedural Programmming
1. Pemrograman Prosedural Fungsi dan data menjadi satu kesatuan yang disebut obyek sedangkan Pemrograman Prosedural Diselesaikan dalam bentuk prosedur atau fungsi
2.Pemrograman Prosedural Obyek-obyek dalam OOP bersifat aktif sedangkan Pemrograman Prosedural Program merupakan urut-urutan Instruksi
3. Pemrograman Prosedural Cara pandang : program bukan urut-urutan instruksi tapi diselesaikan oleh obyek-obyek yang bekerjasama untuk menyelesaikan masalah sedangkan Pemrograman Prosedural Program dipecah-pecah ke dalam sub
program yang lebih sederhana
4. Pemrograman Prosedural Fungsi dan prosedur digunakan untuk memanipulasi data
5. Pemrograman Prosedural Sedangkan data sendiri bersifat pasif
Kesimpulan Perbedaan antara prosedural dan OOP
• Prosedural : Fokus pada bagaimana cara komputer menangani masalah
• OOP : Fokus pada masalah yang ditangani dengan menggunakan komputer.
Dengan OOP, kita dapat mengimplementasikan objekt data yang tidak hanya memiliki ciri khas (attribut), melainkan juga memiliki metode untuk memanipulasi attribut tersebut. Singkatnya, OOP memiliki keunggulan dari konsep pemrograman terstruktur, selain itu juga memiliki kemampuan untuk mengimplementasikan objek dalam kehidupan nyata.

3. Pengertian Class dalam OOP
Class adalah suatu frame yang merupakan definisi yang memuat data dan metod pengolah data. Class juga dapat diartikan sebagai tempat untuk membuat obyek. Di dalam class dideklarasikan variable dan method yang dimiliki oleh obyek. Proses pembuatan obyek dari sebuah class disebut dengan instantiation. Jadi obyek merupakan hasil instansiasi dari class. Obyek disebut juga dengan instance.
Class memiliki anggota yang disebut Anggota Class (class member).
Anggota Class terdiri dari :
1. atribut
2. method.
Tiap anggota class memiliki kontrol pengaksesan tersendiri, artinya apakah anggota tersebut dapat diakses dengan bebas (tipe public) atau hanya dapat diakses melalui sebuah interface.
Contoh pembuatan class:
class BilanganRasional
{
public :
void assign (int,int);
void cetak();
private :
int pembilang, penyebut;
};
Perhatikan contoh di atas. Untuk mendefinisikan sebuah kelas, dipakai kata kunci class, diikuti dengan pendeklarasian nama kelas tersebut. Fungsi assign() dan cetak() disebut member function (member fungsi). Sedangkan variabel pembilang dan penyebut disebut member data (member data atau member variabel). Disebut member karena kesemuanya merupakan anggota dari kelas BilanganRasional.
Perhatikan kata kunci Public dan Private. Member functions pada contoh di atas dideklarasikan sebagai fungsi global, sedangkan member data dideklarasikan sebagai lokal. Perbedaannya, member global dapat diakses dari luar kelas, sedangkan member lokal hanya dapat diakses dari kelas itu sendiri.

4. Object
Objek adalah sesuatu yang memiliki identitas (informasi tentang dirinya) dan tingkah laku (apa yang dapat dilakukan) contoh objek dalam dunia nyata adalah rumah, sepeda, motor, manusia, hewan dll. Identitas dari suatu objek adalah informasi tentang dirinnya sebagai contoh adalah objek Hewan memiliki indentas berupa nama, jenis, tangan, kaki, mata dll, tingkah laku dari objek hewan adalah berjalan, berlari, tidur dll.Dalam pemrograman identitas dapat dikatakan sebagai properties, sebagai contoh membuat program multimedia berupa share video, objeknya berupa video yang mempunyai identitas berupa nama video, size video, format file dan jenis video. Untuk tingkah laku disebut sebagai methode.
• Obyek diciptakan dengan perintah new.
• Misal akan diciptakan obyek baru dari class mobil dengan nama mobilku
• Maka perintah penciptaan obyek mobilku dari class Mobil :
Mobil mobilku = new Mobil();

5. Ciri-ciri Object
• Obyek memiliki status (state) dan tingkah laku (behavior).
• Status (state) disebut juga dengan atribut.
• Contoh obyek : obyek mobil
– Atribut : merek, warna, bahan bakar.
– Method : pindah persnelling, kecepatan bertambah, dll.
• Pada OOP : status disimpan dalam variabel, dan tingkah laku disimpan dalam method.

INHERITANCE ( PEWARISAN )

Inheritance ( Pewarisan ) Pada Object Oriented Programming

Sebelum berbicara lebih jauh mengenai Konsep OOP Inheritance pada Pemrograman JAVA , terlebih dahulu kita akan mengenal terlebih dahulu mengenai konsep dasar dari OOP itu sendiri.

I. PEMROGRAMAN BERORIENTASI OBJEK
OOP kepanjangan dari Object Oriented Programming atau biasa disebut dengan Pemrograman Berorientasi Objek . Paradigma pada pemrograman yang berorientasi objek didasari oleh istilah object ( Objek ) dan class ( Kelas )

OBJECT ( OBJEK )
Pada dasarnya semua benda yang ada di dunia nyata dapat dianggap sebagai sebuah objek, nah Jika perhatikan lebih lanjut, pada dasarnya ada dua karakteristik yang utama pada sebuah objek , yaitu setiap objek memiliki atribut sebagai status yang kemudian akan disebut sebagai state. Dan Setiap objek memiliki tingkah laku yang kemudian akan disebut sebagai behaviour.

Sebagai contoh sederhana adalah : Manusia memiliki state: umur, tinggi, berat dan sebagainya. Demikian pula manusia memiliki behaviour: menua, meninggi, makan (menambah berat badan) dan sebagainya. Dalam pemrograman JAVA state bisanya dikatakan sebagai variabel dan behaviour adalah method.


CLASS ( KELAS )
Class merupakan prototipe yang mendefinisikan variabel-variabel dan method-method secara umum. Sedangkan objek pada sisi yang lain merupakan instansiasi dari suatu kelas.

ATTRIBUTE
Atribut adalah data yang dapat membedakan antara satu obyek dengan obyek yang lain.
Contoh untuk class mahasiswa terdapat obyek mahasiswa si A,dan obyek mahasiswa si B. Yang membedakan antara obyek si A dan obyek si B adalah NIM-nya yang merupakan Atribut dari obyek tersebut.


II. KONSEP PEWARISAN (INHERITANCE ) PADA OOPSebagai Informasi bahwa Ciri khas Pemrograman Berorientasi Objek ada tiga hal yaitu:
1. Enkapsulasi ( Pembungkusan )
2. Inheritance ( Pewarisan )
3. Polymorphism ( Perbedaan Bentuk )

A. PENGERTIAN PEWARISAN (INHERITANCE)
Konsep inheritance ini mengadopsi dunia riil dimana suatu entitas/obyek 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. Suatu subclass dapat mewarisi apa-apa yang dipunyai oleh parent class.

Karena suatu subclass dapat mewarisi apa apa yang dipunyai oleh parent class-nya, maka member dari suatu subclass adalah terdiri dari apa-apa yang ia punyai dan juga apa-apa yang ia warisi dari class parent-nya.

Kesimpulannya, boleh dikatakan bahwa suatu subclass adalah tidak lain hanya memperluas (extend) parent class-nya.

Dari hirarki diatas dapat dilihat bahwa, semakin kebawah, class akan semakin bersifat spesifik. Class mamalia memiliki seluruh sifat yang dimiliki oleh binatang, demikian halnya juga macan , kucing, Paus dan Monyet memiliki seluruh sifat yang diturunkan dari class mamalia.

Dengan konsep ini, karakteristik yang dimiliki oleh class binatang cukup didefinisikan didefinisikan dalam class binatang saja.

Class mamalia tidak perlu mendefinisikan ulang apa yang telah dimiliki oleh class binatang, karena sebagai class turunannya, ia akan mendapatkan karakteristik dari class binatang secara otomatis. Demikian juga dengan class macan, kucing, Paus dan monyet, hanya perlu mendefinisikan karakteristik yang spesifik dimiliki oleh class-nya masing-masing.

Dengan memanfaatkan konsep pewarisan ini dalam pemrograman, maka hanya perlu mendefinisikan karakteristik yang lebih umum akan didapatkan dari class darimana ia diturunkan.


B. DEKLARASI PEWARISAN (INHERITANCE)

Deklarasi yang digunakan adalah 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.

public class B extends A { … }

Pada saat dikompilasi, Kompiler Java akan membacanya sebagai subclass dari class Object.

public class A extends Object { … }

C. KAPAN KITA MENERAPKAN INHERITANCE?
Kita baru perlu menerapkan inheritance pada saat kita jumpai ada suatu class
yang dapat diperluas dari class lain.

Misal terdapat class Pegawai public class Pegawai { public String nama; public double gaji; } Misal terdapat class Manager public class Manajer { public String nama; public double gaji; public String departemen; }

Dari 2 buah class diatas, kita lihat class Manajer mempunyai data member yang identik sama dengan class Pegawai, hanya saja ada tambahan data member departemen.

Sebenarnya yang terjadi disana adalah class Manajer merupakan perluasan dari class Pegawai dengan tambahan data member departemen.

Disini perlu memakai konsep inheritance, sehingga class Manajer dapat kita tuliskan seperti berikut :

public class Manajer extends Pegawai { public String departemen; }

D. KEUNTUNGAN INHERITANCE


1. Subclass menyediakan state/behaviour yang spesifik yang membedakannya dengan superclass, hal ini akan memungkinkan programmer Java untuk menggunakan ulang source code dari superclass yang telah ada.

2. Programmer Java dapat mendefinisikan superclass khusus yang bersifat generik, yang disebut abstract class, untuk mendefinisikan class dengan behaviour dan state secara umum.
E. ISTILAH INHERITANCE

Extends
Keyword ini harus kita tambahkan pada definisi class yang menjadi subclass.

Superclass Superclass digunakan untuk menunjukkan hirarki class yang berarti class dasar dari subclass/class anak.

Subclass Subclass adalah class anak atau turunan secara hirarki dari superclass.

Super Keyword ini digunakan untuk memanggil konstruktor dari superclass atau menjadi variabel yang mengacu pada superclass.

Methode Overriding Pendefinisian ulang method yang sama pada subclass

Dalam inheritance, method overriding berbeda dengan method overloading. Kalau method overriding adalah mendefinisikan kembali method yang sama, baik nama method maupun signature atau parameter yang diperlukan dalam subclass, kalau method overloading adalah mendefinisikan method yang memiliki nama yang sama, tetapi dengan signature yang berbeda dalam definisi class yang sama.

E. CONTOH LATIHAN INHERITANCE :
class Kotak{
double sisi1;
double sisi2;
double sisi3;
Kotak(){
}
Kotak(double satu, double dua, double tiga){
sisi1=satu;
sisi2=dua;
sisi3=tiga;
}
public void CetakKotak(){
System.out.println(”Isi Kotak adalah = ” + sisi1 + sisi2 + sisi3);}
}
public class Kotakku extends Kotak{
double sisi1;
Kotakku(double pertama, double kedua, double ketiga, double tambahan)
{
super(pertama,kedua,ketiga);
sisi1=tambahan;
}
public static void main(String[] args) {
Kotakku Kotaksaya= new Kotakku(10,5,15,30);
Kotaksaya.CetakKotak();
System.out.println(”Sisi Pertama dari Kotak adalah = ” + Kotaksaya.sisi1);
System.out.println(”Sisi Pertama dari Kotak adalah = ” + Kotaksaya.sisi2);
System.out.println(”Sisi Pertama dari Kotak adalah = ” + Kotaksaya.sisi3);
}
}
maka jika dijalankan program diatas hasilnya akan seperti gambar di bawah ini :




by : http://mungjava.blogspot.com/2009/05/memahami-konsep-inheritance-pewarisan.html

Diberdayakan oleh Blogger.