Konsep OOP Java & Contoh

Konsep OOP di Java
Sumber : http://getcharintegerina.wordpress.com/2012/03/06/konsep-oop-di-java/

Mengenal Object, Class, Method, dan Property

Burung itu ibarat objek yang punya nama, mata, kaki, sayap, warna, jenis. Burung juga dapat terbang, berkicau dan berjalan. Mata, kaki sayap dan warna dalam dunia pemrograman disebut juga atribut atau properties. Sedangkan aktifitasnya yaitu terbang, berkicau dan berjalan dalam dunia pemrograman disebut sebagai method.

Class adalah cetakan, template, prototype,tempat dari object, sedangkan object adalah isi dari kelas. Satu kelas dapat mempunyai object lebih dari satu atau banyak. Contoh sederhananya seperti berikut : satu cetakan bias menghasilkan banyak kue.

Contoh penerapannya di Java :

public class Burung {
String nama; //atribut nama
String jenis; //atribut jenis
String warna; //atribut warna
String sayap; //atribut sayap
//method terbang
public void terbang(){
this.sayap = “mengepak”;
System.out.println(“Burung “+this.nama+” Sedang Terbang”);
}
//method tidur
public void tidur(){
this.sayap = “diam”;
System.out.println(“Burung “+this.nama+” Sedang Tidur”);
}
}

Dari contoh diatas bisa diambil pengerian Attribute adalah Berbagai variable yang mengitari class, dengan nilai datanya bisa ditentukan di object. nama, warna, sayap, dan jenis adalah atribute dari class Burung. Method adalah implementasi dari bagaimana aktifitas / bekerjanya sebuah class. terbang dan tidur adalah method atau behaviour dari class Burung

Ada 3 Konsep Dasar OOP pada Java :

A. 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();
}
}


B. Inheritance

Inheritance adalah pewarisan yang artinya sebuah class dapat mewarisi atribut dan metho dari class lain. 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 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”);
}


C. Polymorism

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.

Polymorism 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 :

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

Kontruksi objek mahasiswa

Nim : 0320110013
Hallo, saya Mahasiswa yg cantik n baik
Nama : Mirna Puji Rahayu

C:\>

Terlihat bahwa disini kita mengoverride method printNama(), dengan menambahkan beberapa teks tambahan, sehingga method printNama(), pada class BeautyfullMahasiswa, memiliki perilaku yang berbeda dengan class Mahasiswa.

15 comments:

  1. Pagi.... ko ada nama saya disini yah?

    ReplyDelete
  2. itu kayanya pengagum rahasia alias cinta dalam hati.. wkwkwwk

    ReplyDelete
  3. sekarang baru pusinggggggggggg,,,,

    ReplyDelete
  4. This comment has been removed by the author.

    ReplyDelete
  5. Males mikir... lama kepala bisa penyok 😂😂😂😂😂😂😂😂😂😂😂😂😆😆😆😆😆

    ReplyDelete
  6. terima kasih bermanfaat banget kunjungi balik website ane gan

    https://odoree.com

    ReplyDelete
  7. saat di run,
    does not havemain method .. tolong pencerahannya

    ReplyDelete
  8. Maaf min maksudnya Polimophisme mungkin bukan Polimorism

    ReplyDelete
  9. Wah masi smp udh tertarik ya sama java langsung yang susah mainnya. Mungkin belajar database dl dek. Karna kadang org tau program tp gk tau data basenya. Padahal database itu penting. Belajar bahasa program yg sederhana dl. Kaya pascal. Pascal itu beda si sama java. Cuma pascal itu bahasa pemrograman yang biasa di bilang paling gampang. Atau kaya buat yang seru" kaya program citra digital, saya lupa si apa nama aplikasinya. Itu enak belajrnya. Kaya ngedit foto, tapi lewat program bukan aplikasi. Saya gk tau si apa yg saya bilang ini bener apa tidak. Mungkin kamu lebih tau banyak dari saya, apalagi udah gabung k forum dan belajar trs. Semangat dek. Intinya selalu coba sampai running apa yg kamu buat. Gk kaya saya buat program aja nangis 😂

    ReplyDelete