Selasa, 03 Maret 2015

Interaksi Antar Objek















Code diatas menjelaskan tentang 2 kelas yang berinteraksi, yang mana kelas pegawai mewariskan attribut dan methdo ke kelas PegawaiHarian, sehingga kelas PegawaiHarian disebut sebagai subclass. Pada kelas pegawai memiliki atribut: nama, noInduk, dan alamat yang digunakan pada kelas PehagaiHarian. Pada kelas PegawaiHarian, atribut yang ada di kelas pegawai diwariskan atau extends ke kelas PegawaiHarian. Dan pada kelas  PegawaiHarian terdapat code "super" yang berarti mewariskan method dan attributenya.
Sebagai contoh, pada contoh kelas pegawai dan PegawaiHarian







Kode  ini  memanggil  constructor  dari  superclass yaitu pegawai.
Lalu untuk mengeksekusi code, buat class Data pegawai seperti dibawah ini:












Sehingga, hasil eksekusi:














Selasa, 17 Februari 2015

Advantages of OOPs



­­1. Abstraksi

Abstraksi adalah kemampuan sebuah program untuk melewati aspek informasi yang diproses olehnya, yaitu kemampuan untuk memfokus pada inti.
Setiap objek dalam sistem melayani sebagai model dari "pelaku" abstrak yang dapat melakukan kerja, laporan dan perubahan keadaannya, dan berkomunikasi dengan objek lainnya dalam sistem, tanpa mengungkapkan bagaimana kelebihan ini diterapkan. Proses, fungsi atau metode dapat juga dibuat abstrak, dan beberapa teknik digunakan untuk mengembangkan sebuah pengabstrakan.

Contoh penerapan Abstraction dapat dilihat dibawah ini :
class Televisi
{
int volume = 0;
void naikkanvolume(int volume)
{
this.volume = this.volume + volume;
System.out.println(“Volume Televisi : ” + this.volume);
}
}
public class TelevisiBeraksi
{
public static void main (String[] args)
{
Televisi televisiku = new Televisi();
televisiku.naikkanvolume(5);
}
}
Dari contoh diatas, dapat dilihat terjadinya interaksi antar objek didalam system Televisi, saya mengambil contoh volume televisi. Dari public class TelevisiBeraksi berinteraksi dengan class Televisi dengan mengirimkan pesan informasi yang berupa parameter –> naikkanvolume(5)


2. Encapsulation

Encapsulation adalah pembungkus, pembungkus disini dimaksudkan untuk menjaga suatu proses program agar tidak dapat diakses secara sembarangan atau di intervensi oleh program lain.

Dalam OOP Encapsulation di wujudkan dalam bentuk “class”. Seperti yang telah dijalaskan sebelumnya dalam sebuah class terdapat property dan method yang memiliki hak akses tertentu terhadap environment/lingkungan-nya, hak akses ini biasa di sebut Access Modifier, access modifier terdiri dari private, protected, dan public.

• Private
Memberikan hak akses hanya kepada anggota class tersebut untuk menggunakan dan/atau mengubah nilai dari property atau method tersebut.

• Protected
Memberikan hak akses kepada anggota class nya dan anggota class hasil inheritance (penurunan sifat) dari class tersebut.

• Public
Memberikan hak akses kepada property dan method agar dapat digunakan diluar class tersebut.

Contoh Program Encapsulation :

public class Siswa {
public String nama;
public String nrp;
public void Info() {
System.out.println(“Saya adalah”);
System.out.println(“Nama ” + nama);
System.out.println(“Nrp ” + nrp);
}
}

// Setelah itu kita buat New Class lagi dengan nama IsiData
public class IsiData {
public static void main(String[] args) {
Siswa IT = new Siswa();
IT.nama = “Mirna”;
IT.nrp = “0320110013″;
IT.Info();
}
}


3. Polimorfisme

Polimorfisme adalah tidak bergantung kepada pemanggilan subrutin, bahasa orientasi objek dapat mengirim pesan; metode tertentu yang berhubungan dengan sebuah pengiriman pesan tergantung kepada objek tertentu di mana pesa tersebut dikirim. Contohnya, bila sebuah burung menerima pesan "gerak cepat", dia akan menggerakan sayapnya dan terbang. Bila seekor singa menerima pesan yang sama, dia akan menggerakkan kakinya dan berlari. Keduanya menjawab sebuah pesan yang sama, namun yang sesuai dengan kemampuan hewan tersebut. Ini disebut polimorfisme karena sebuah variabel tungal dalam program dapat memegang berbagai jenis objek yang berbeda selagi program berjalan, dan teks program yang sama dapat memanggil beberapa metode yang berbeda di saat yang berbeda dalam pemanggilan yang sama. Hal ini berlawanan dengan bahasa fungsional yang mencapai polimorfisme melalui penggunaan fungsi kelas-pertama.
Contoh program java nya :

Simpan dengan nama BeautyfullMahasiswa.java

public class BeautyfullMahasiswa extends Mahasiswa{
public void printNama(){
System.out.println(“Hallo, saya Mahasiswa yg cantik n baik”)
Super.printNama();
}
}

Simpan dengan nama Main.java

public class Main{
public static void main(String[] args]) {
BeautyfullMahasiswa mhs = new BeautyfullMahasiswa();
mhs.setNim(“0320110013”);
mhs.setNama(“Mirna Puji Rahayu”);
mhs.printNim();
mhs.printNama();
}
}

Kemudian compile dan run.

C:\>javac BeautyfullMahasiswa.java
C:\>javac Main.java
C:\>java Main


4. Inheritas

Inheritas adalah mengatur polimorfisme dan enkapsulasi dengan mengijinkan objek didefinisikan dan diciptakan dengan jenis khusus dari objek yang sudah ada - objek-objek ini dapat membagi (dan memperluas) perilaku mereka tanpa haru mengimplementasi ulang perilaku tersebut (bahasa berbasis-objek tidak selalu memiliki inheritas.
Contoh Programnya :

public class Mamalia () {
System.out.println(“Ciri umum mamalia adalah bernapas dengan paru-paru, ” +
“berkembang biak dengan cara beranak”);
}

class () Paus extends Mamalia () {
String x = “Ikan Paus”;
System.out.println(“Mamalia yang Anda pilih adalah “+ x );
System.out.println(“Mamalia ini berada di laut”);
System.out.println(“Paus termasuk jenis mamalia terbesar”);
}

class Sapi () extends Mamalia (){
String x = “Sapi”;
System.out.println(“Mamalia yang Anda pilih adalah “+ x );
System.out.println(“Mamalia ini berada di darat”);
System.out.println(“Sapi termasuk jenis mamalia pemamah biak”);
}

 Referensi: