Anda di halaman 1dari 8

OBJECT ORIENTED PROGRAMMING

Object

Oriented

Programming

merupakan

paradigma

pemrograman

yang

berorientasikan kepada objek, jadi semua data dan fungsi di dalam paradigma ini dibungkus
dalam kelas-kelas atau objek-objek. Pemrograman berorientasi objek setiap objek dapat
menerima pesan, memproses data, dan mengirim pesan ke objek lainnya.
A. Pemrograman Berorientasi Objek (OOP)
OOP berputar pada konsep dari obyek yang merupakan elemen dasar dari program.
Ilustrasinya adalah Objek mobil mempunyai atribut tipe transmisi, warna dan
manufaktur, mobil juga mempunyai tingkah laku berbelok, mengerem dan berakselerasi.
Cara yang sama pula kita dapat mendefinisikan perbedaan sifat dan tingkah laku dari
singa. Pada perangkat lunak, menggunakan atribut sebagai data dan tingkah laku sebagai
method.

B. Class
Class adalah suatu struktur dalam program yang berisi satu atau beberapa metode (dapat
berupa fungsi dan/atau prosedur) dan atribut (dapat berupa data ataupun variabel yang
akan dioperasikan dalam metode).Dengan demikian atribut merupakan anggota kelas
yang bersifat statis, sedangkan metode merupakan anggota kelas yang bersifat dinamis.
Kumpulan atas definisi data dan fungsi-fungsi dalam suatu unit untuk suatu tujuan
tertentu. Sebagai contoh 'class of dog' adalah suatu unit yang terdiri atas definisi-definisi
data dan fungsi-fungsi yang menunjuk pada berbagai macam perilaku/turunan dari
anjing.
C. Object
Setiap obyek dibangun dari sekumpulan data (atribut) yang disebut variabel untuk
menjabarkan karakteristik khusus dari obyek, dan juga terdiri dari sekumpulan method
yang menjabarkan tingkah laku dari obyek.
Bisa dikatakan bahwa obyek adalah sebuah perangkat lunak yang berisi sekumpulan
variabel dan method yg berhubungan. Sebuah obyek adalah sebuah instance (keturunan)
dari class.

D. Perbedaan class dengan object


Misal, kita memiliki sebuah class mobil dimana dapat digunakan untuk medefinisikan
beberapa obyek mobil. Pada tabel dibawah, mobil A dan mobil B adalah obyek dari class
mobil. Class memiliki field nomor, plat, warna, manufaktur dan kecepatan yang diisi
dengan nilai pada obyek mobil A dan mobil B. Mobil juga dapat berakselerasi, berbelok
dan melakukan rem.

Ketika diinisialisi, setiap obyek mendapat satu set variabel yang baru. Bagaimanapun,
implementasi dari method dibagi diantara objek pada class yang sama. Class
menyediakan keuntungan dari reusability. Programmer perangkat lunak dapat
menggunakan sebuah kelas beberapa kali untuk membuat banyak objek.
Analogi lain:
Class = cetakan kue
Object = kue-nya
E. Konsep Pemrograman Berorientasi Object dalam Java
1. Class adalah Class merupakan suatu blueprint atau cetakan untuk menciptakan suatu
instant dari object. class juga merupakan grup suatu object dengan kemiripan
attributes/properties, behaviour dan relasi ke object lain.
Contoh Deklarasi :
Class SuperHero {
String superPowers[];
void setSuperPowers(String superPowers[]) {
this.superPowers = superPowers; }
void printSuperPowers() {
for (int i = 0; i < superPowers.length; i++) {
System.out.println(superPowers[i]); } }
2. Object merupakan bentuk konkrit dari class yang dengannya data dan metod dapat
direalisasikan.
Contoh Deklarasi:
String str = new String();
Random r = new Random();
Pegawai p2 = new PEgawai();
Date hari = new Date();

3. Atribut merupakan nilai data yang terdapat pada suatu object di dalam class.
Attribute mempunyai karakterisitik yang membedakan object yang satu dengan
object yang lainya.
Contoh Deklarasi :
public class AttributeDemo {
private String studNum;
public boolean graduating = false;
protected float unitsTaken = 0.0f;
String college; }
4. Method merupakan suatu operasi berupa fungsi-fungsi yang dapat dikerjakan oleh
suatu object. Method didefinisikan pada class akan tetapi dipanggil melalui object.
Contoh Deklarasi :
class MethodDemo {
int data;
int getData() {
return data; }
void setData(int data) {
this.data = data; }
void setMaxData(int data1, int data2) {
data = (data1>data2)? data1 : data2; } }
5. Constructor merupakan method khusus yang digunakan untuk menginisialisasi
objek, dan tiap class boleh memiliki lebih dari satu constructor.
Contoh Deklarasi :
class ConstructorDemo {
private int data;
public ConstructorDemo() {
data = 100; }
ConstructorDemo(int data) {
this.data = data; } }
6. Package adalah koleksi dari beberapa class dan interface yang berhubungan, dan
menyediakan proteksi akses dan pengelolaan namespace.
Contoh Deklarasi :

package registration.reports;
import registration.processing.*;
import java.util.List;
import java.lang.*;
class MyClass {
/* rincian dari MyClass */
}
7. Enkapsulasi adalah pembungkus. Maksud dari pembungkus adalah suatu cara untuk
Meyembunyikan implementasi detil dari class untuk mencegah akses yang ilegal.
Contoh Deklarasi :
class Encapsulation {
private int secret; //field tersembunyi public boolean setSecret(int secret)
{ if (secret < 1 || secret > 100) {return false;}
this.secret = secret; return true; } public getSecret() {
return secret; } }
8. Abstraksi adalah kemampuan manusia untuk mengenali keserupaan antara objectobject, situasi-situasi atau proses-proses yang berbeda di dunia nyata dan keputusan
untuk berkonsentrasi pada keserupaan-keserupaan itu dan mengabaikan yang disebut
sebagai perbedadan-perbedaan kecil yang ada.
Contoh Deklarasi :
abstract class SuperHero {
String superPowers[];
void setSuperPowers(String superPowers[]) {
this.superPowers = superPowers; }
void printSuperPowers() {
for (int i = 0; i < superPowers.length; i++) {
System.out.println(superPowers[i]); } }
abstract void displayPower(); }
class UnderwaterSuperHero extends SuperHero {
void displayPower() {
System.out.println("Communicate with sea creatures...");
System.out.println("Fast swimming ability..."); } }

class FlyingSuperHero extends SuperHero {


void displayPower() {
System.out.println("Fly..."); } }
9. Inheritance atau pewarisan pada pemrograman berorientasi objek merupakan
suatu hubungan dua buah kelas atau lebih. Dalam hal ini ada kelas yang memiliki
atribut dan metode yang sama dengan kelas lainnya beserta atribut dan metode
tambahan yang merupakan sifat khusus kelas yang menjadi turunannya.
Contoh Deklarasi :
import java.awt.*; class Point { int x; int y;}
class ColoredPoint extends Point {
Color color; }
10. Polymorphism

merupakan

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.
Contoh Deklarasi:
import java.util.Random;
public class Polimorfisme{
public static void main (String args[]) {
Hewan[] hewannya = {
new Kucing ("Kiti", "Persia "),
new Ayam ("Jalu","Buras ")};
Hewan pilihHewan ;
Random pilih = new Random ();
for (int i=0;i<2 ;i++ ) {
pilihHewan= hewannya [pilih.nextInt (hewannya.length)];
System.out.println("\nPilihan Anda:\n"+pilihHewan); pilihHewan.bersuara(); } } }
11. Interface adalah class yang hanya berisi deklarasi method tanpa memiliki
implementasi dan semua property yang dimilikinya bersifat final. Interface mirip
dengan class abstrak, tetapi interface tidak terikat dengan class hierarki. Interface
mendefinisikan sebuah(signature) dari sebuah kumpulan method tanpa tubuh.
Contoh Deklarasi :

interface MyInterface {
void iMethod(); } class MyClass1 implements MyInterface {
public void iMethod() { System.out.println("Interface method."); }
void myMethod() {
System.out.println("Another method."); } }
class MyClass2 implements MyInterface {
public void iMethod() {
System.out.println("Another implementation."); } }
class InterfaceDemo {
public static void main(String args[]) {
MyClass1 mc1 = new MyClass1();
MyClass2 mc2 = new MyClass2();
mc1.iMethod();
mc1.myMethod();
mc2.iMethod(); } }
12. Keyword
a. This
Keyword yang digunakan untuk menyatakan objek sekarang dan tanpa
instansiasi.
Contoh Deklarasi :
class ThisDemo1 { int data; void method(int data) {
this.data = data;
/* this.data menunjuk ke atribut
sementara data menunjuk ke variabel lokal */ } }
b. Super
Digunakan untuk mengakses anggota kelas diwariskan oleh kelas di mana ia
muncul. Memungkinkan subclass untuk mengakses ditimpa metode dan anggota
tersembunyi dari superclassnya.Kata kunci super juga digunakan untuk
meneruskan panggilan dari konstruktor ke konstruktor di superclass.
Contoh Deklarasi :
class Superclass{
int a;
void display_a(){
System.out.println("a = " + a);
}}
class Subclass extends Superclass {
int a; void display_a(){
System.out.println("a = " + a);
}
void set_super_a(int n){
super.a = n;
} void display_super_a(){
super.display_a();
}}
class SuperDemo {

public static void main(String args[]){


Superclass SuperObj = new Superclass();
Subclass SubObj = new Subclass();
SuperObj.a = 1; SubObj.a = 2;
SubObj.set_super_a(3);
SuperObj.display_a();
SubObj.display_a();
SubObj.display_super_a(); System.out.println(SubObj.a); } }
c. Final
Dengan keyword ini kelas tidak dapat menurunkan kelas lain, method tidak dapat
dioverride oleh method lain, membentuk suatu attribute menjadi konstanta.
Contoh Deklarasi :
class Kampus {
final void tampil() { System.out.println(I LOVE JAVA) } }
d. Static
Dengan keyword ini method dan attribute milik kelas menjadi sifat bersama dari
semua objek dalam kelas tersebut (tidak memerlukan instansiasi dan tidak bisa
dioverride).
Contoh Deklarasi:
class Demo {
static int a = 0;
static void staticMethod(int i) {
System.out.println(i); }
static { //blok static
System.out.println("This is a static block."); a += 1; } }
class StaticDemo {
public static void main(String args[]) {
System.out.println(Demo.a);
Demo.staticMethod(5);
Demo d = new Demo();
System.out.println(d.a);
d.staticMethod(0);
Demo e = new Demo();
System.out.println(e.a);
d.a += 3;
System.out.println(Demo.a+", " +d.a +", " +e.a); } }
13. Overloading dan overriding method
a. Overloading method
Overloading adalah method dengan nama yang sama dengan method lain pada
suatu class tetapi dengan parameter yang berbeda.
Contoh Deklarasi :
class Pertambahan{
public void tambah1(){

int a=5, b=10;


System.out.println("Hasil Pertambahann dari metod tambah1 ke-1 =
"+(a+b)); }
//Metod tambah1 di overloading dengan 2 parameter (int x, int y)
public void tambah1(int x, int y){
System.out.println("Hasil Pertambahann dari metod tambah1 ke-2 =
"+(x+y)); }
public static void main(String [] args){
Pertambahan pp;
pp = new Pertambahan();
pp.tambah1();//memanggil metod tambah1 ke-1
pp.tambah1(5,5);//memanggil metod tambah1 ke-2 }}
b. Overriding method
Overriding adalah method subclass sama dengan method super class,
parameternya sama tetapi pernyataan atau implementasinya berbeda.
Contoh Deklarasi :
class Nama{
public void Sapa(){
System.out.println("david andika putra"); }
public static void main(String [] args){ Siapa ss;
Nama nn;
ss = new Siapa();
nn = new Nama();
ss.Sapa();//memanggil method Sapa() pada class Siapa
nn.Sapa();//memanggil method Sapa() pada class Nama } }
class Siapa extends Nama{
//Method Sapa() pada class Nama di override
public void Sapa(){
System.out.println("Yesica Dwi Lestari"); } }

Anda mungkin juga menyukai