Senin, 26 Mei 2014

Konsep Dasar Pemrograman Java

,
Setelah kemaren saya posting tentang bahasa pemrograman java, sekarang saya ingin berbagi tentang konsep pemrograman berorientasi objek. Konsep pemrograman berorientasi objek atau Objek Oriented Programing (OOP) adalah inti dari sebuah pemrograman java yang didalamnya memiliki class, object, attribute, method, constructur yang menjadi dasar dari pemrograman java, dimana semua pemrograman java merupakan sebuah objek.

Pengertian Attribute
Attribute adalah data yang membedakan antara objek satu dengan yang lain. Elemen data yang terdapat pada suatu object yang berasal dari class yang menyimpan informasi tentang objek. Attribute dapat diartikan sebagai data, variabel, properti atau sebuah fiels data, dan setiap variabel harus memiliki tipe data dan nama yang unik untuk membedakan antara variabel satu dengan yang lainnya.
Dalam class, atribut sering disebut sebagai variabel. Atribute terbagi menjadi dua jenis yaitu Instance Variable dan Class Variable.
Instance variable adalah atribut untuk setiap objek dari class yang sama. Setiap objek mempunyai dan menyimpan nilai atributnya sendiri. Jadi, setiap objek dari class yang sama boleh mempunyai nilai yang sama atau berbeda.
Class variable adalah atribute untuk semua objek yang dibuat dari class yang sama. Semua objek mempunyai nilai atribut yang sama. Jadi semua objek dari class yang sama mempunyai hanya satu nilai yang value nya sama.

Pengertian Methods
Dalam java method disebut juga sebagai behavior, methods digunakan untuk merubah nilai attribute suatu objek, juga untuk menerima atau mengirim informasi dari/ke objek lain untuk melakukan instruksi.

Pengertian Constructor
Constructor adalah sebuah method khusus yang digunakan dalam kelas untuk membuat dan menganalisa sebuuah objek baru. Construktor berfungsi untuk menginisialisasi nilai terhadap data yang terdapat pada kelas yang berhubungan. Ketentuan constructor untuk melakukan inisialisasi :
  • Construktor harus sama dengan nama kelas
  • Constructor tidak menverifikasi tipe data yang dikirim
  • Kelas dapat berisi banyak constructor overloading yang memungkinkan objek diinisialisasi
Dalam pemrograman java terdapat konsep pemrograman java diantara nya sebagai berikut :
  1. Class
  2. Object
  3. Abstraksi
  4. Enkapsulasi (Encapsulation)
  5. Pewarisan (Inheritance)
  6. Polimorfisme
  7. Interface

1. Class
Class adalah tempat atau wadah yang digunakan untuk menciptakan objek yang menjelaskan data ( sifat karateristik data ) dan fungsi yang dimiliki suatu objek.

2. Object
Objek merupakan hasil dari sebuah kelas, artinya sebuah kelas dapat membuat beberapa object. Contoh sebuah rungan dimana ruangan tersebut terdapat berbagai objek seperti kursi , meja dan lainnya, jadi kelas adalah ruangan dan kursi, meja adalah objecy nya.

3. Abstraksi
Abstraksi adalah pengabstrakan atau penyembunyian kerumitan suatu proses. Hal ini bertujuan untuk membuat kelas abstrak dimana kelas lain dapat memanfaatkannya (extends) dengan cara menjadi subclass dari kelas abstrak tersebut. Abstrak class digunakan untuk mendeklarasikan karakteristik umum dari subclass. Abstract class tidak bisa diinstansiasi sama halnya dengan kelas interface. Abstract class hanya bisa digunakan sebagai superclass, tapi juga bisa diturunkan dari class abstract lainnya.
Untuk mendeklarasikan sebuah abstract class digunakan keyword abstract,
[abstract] class [class_name]. Sebuah abstract class pada dasarnya tidak jauh beda dengan class lainnya, yakni juga berisi method yang menggambarkan karakteristik dari kelas abstract tersebut, bedanya yakni sebuah abstract class bisa berisi method tanpa diimplementasikan artinya sebuah method tanpa body, method seperti ini disebut method abstract. Untuk pendeklarasiannya digunakan keyword abstract: [abstract] modifier class [class_name] berikut contoh program yang menggunakan class abstract.
Contoh Abstrak class :
abstract class Shape{
public String color;
//constractor default, constraktor yang tidak memiliki argumen dan isi
public Shape(){
}
//sama halnya dengan kelas biasa abstract class juga bisa berisi method
//seperti yang ada pada kelas biasa
public void setColor(String c){
color = c;
}
public String getColor(){
return color;
}
//sebuah abstract method yang tidak memiliki body
//method ini akan diinisialisasi nantinya pada subclass yang mewarisi kelass abstract Shape ini
//semua abstract method yang ada pada class abstract harus diimplementasikan
//semua oleh subclass
abstract public double area();
}
//keyword extends adalah keyword yang digunakan oleh subclass
//ketika melakukan pewarisan terhada super class
public class Point extends Shape{
static int x, y;
public Point(){
x = 0;
y = 0;
}
public double area(){
return 0;
}
public double perimeter(){
return 0;
}
public static void print(){
System.out.println("point: " + x + "," + y);
}
public static void main(String args[]){
Point p = new Point();
p.print();
}
}
Hasil output :
clip_image002

4. Enkapsulasi (Encapsulation)
Enkapsulasi atau pembungkusan adalah membungkus atribut (field atau variabel) dan tingkah laku (method) didalam sebuah class. Dalam pemrograman java terdapat 3 tingkatan akses data untuk melakukan pembungkusan kode dan data yaitu :
a. Tingkat akses Private.
Dalam encapsulation-private ini dapat diartikan bahwa method yang digunakan hanya dapat diakses oleh kelas yang memilikinya, dan tidak mengijinkan kelas lain yang berada dalam program untuk mengakses dang menggunakan method tersebut. Untuk mendeklarasikannya menggunakan kata kunci private.
b. Tingkat akses Protected.
Dalam encapsulation-protected ini dapat diartikan bahwa method yang digunakan dapat diakses oleh kelas yang memilikinya dan kelas yang masih memiliki hubungan turunan. Kelas yang dapat mengakses adalah kelas yang berada dalam package yang sama dan subclass yang berada dalam package yang berbeda. Untuk mendeklarasikannya menggunakan kata kunci protected.
c. Tingkat akses Public.
Encapsulation-public ini merupakan kebalikan dari encapsulation-private, dapat diartikan bahwa method yang digunakan dapat diakses oleh semua bagian dalam kelas atau program, meskipun kelas tersebut tidak memiliki hubungan sama sekali ( meliputi semua kelas, kelas turunan dan kelas lain ).

5. Pewarisan (Inheritance)
Pewarisan adalah penurunan ( pewarisan ) suatu atribut maupun method dari sebuah kelas ke kelas lainnya. Pewarisan di java terdiri dari 2 macam yaitu superclass dan subclass.
a. Superclass
Superclass adalah class yang letaknya di atas class tertentu didalam hierarki, atau dapat diartikan class yang mewarisi ke class yang lain.
b. Subclass
Subclass adalah class yang letaknya di bawah class tertentu didalam hierarki, atau dapat diartikan class yang diwarisi dari class yang lain. Untuk pewarisan dalam java terdapat istilah yang namanya Multiple Inheritance, Multiple Inheritance adalah subclass yang menjadi sebagai superclass bagi class yang lain. Untuk mengambil sebuah class, dapat menggunakan kata kunci extends.
Keuntungan penggunaan Inheritance dalam OOP adalah :
1. Ketika behavior ( method ) dideklarasikan dalam superclass, behavior tersebut otomatis diwariskan ke seluruh subclass.
2. Jadi, kita dapat meng-enkode method hanya sekali dan method tersebut dapat digunakan oleh seluruh subclass.
3. Sebuah subclass hanya perlu mengimplementasikan perbedaan antara dirinya sendiri dan parent-nya.

6. Polimorphisme
Polimorphism adalah suatu konsep dalam pemrograman java dimana objek yang berbeda dapat memiliki berbagai bentuk dengan nama yang sama pada suatu kelas (class). Polimorphism juga merupakan aspek kedua setelah reusable dari pewarisan ( inheritance ).
Contoh memahami konsep polymorphism adlah ketika anda memiliki jam beker, kemudian anda menetapkan waktu tertentu pada jam. Ketika waktu yang ditentukan tepat, maka jam beker tersebut akan bordering biasa dan jam beker yang lain mungkin dapat bergetar sambil menyanyikan music kesayangan anda.
Dari contoh diatas dapat kita ketahui bahwa objek dasar dari suatu jam beker memiliki kemampuan untuk mengeluarkan bunyi ketika waktunya tepat. Namum demikian, perilaku dari tiap-tiap jam beker dapat berbeda-beda, misalnya dalam bentuk tradisional, digital, dan sebagainya.

7. Interface
Interface adalah sekumpulan metode abstrak yang tidak memiliki implementasi. Interface selalu abstrak meskipun tidak secara ekplisit dideklarasikan sebagai abstrak.
Dalam Java, kata interface adalah kata kunci yang memiliki arti tambahan. Suatu interface dalam hal ini adalah antar muka yang terdiri dari subrutin tanpa implementasi apa-apa. Suatu kelas dapat mengimplementasi suatu interface dengan memberikan kode detail pada setiap subrutin yang ditulis pada interface tersebut.
Didalam interface javaterdapat istilah interface-modifier yang merupakan salah satu atau gabungan dari kata kunci public, protected, private, abstract, static, dan strictfp.
a. Interface-Modifier: Public
Sebuah interface harus dideklarasikan dengan modifier public, agar dapat diakses dari package yang lain. Nama dari interface ini harus sama dengan nama file source .java.
b. Interface-Modifier: Protected
Interface-modifier ini hanya berlaku untuk member-interface yang berada didalam sebuah class. Jika member-interface berada dalam sebuah interface maka secara implicit ia public, sehingga tidak dapat lagi memakai modifier protected.
c. Interface-Modifier: Private
Interface-modifier ini hanya berlaku untuk member-interface yang berada didalam sebuah class. Jika member-interface berada dalam sebuah interface maka secara implicit ia public, sehingga tidak dapat lagi memakai modifier private. Jika modifier private dipakai oleh sebuah modifier-interface, maka member-interface tersebut hanya akan terlihat ( dapat diakses ) di dalam class yang memilikinya.
d. Interface-Modifier: Abstract
Semua interface ( termasuk member-interface ) secara inplisit selalu abstract, karena interface ditunjukan untuk menyimpan anggota berupa abstract-method. Dengan demikian, meskipun deklarasi interface tidak menggunakan modifier abstract secara eksplisit, Ia akan selalu abstract.
e. Interface-Modifier: Static
Interface-modifier ini hanya berlaku untuk member-interface. Jika member-interface berada dalam sebuah class, maka secara implicit ia static. Jika member-interface berada dalam sebuah interface, maka secara implicit ia static dan public. Sehingga meski member-interface tidak memakai modifier static, ia akan selalu dianggap static. Dengan demikian, member-interface akan diinisialisasi hanya sekali saja. Yaitu pada saat class atau interface yang dimilikinya diinisialisasi.

sumber :
  1. Indrajani, S.Kom, MM dan Martin S.Kom.2007.Pemrograman Berbasis Objek dengan Bahasa Java.Jakarta : PT Elex Media Komputindo.448.
  2. Dosen Pemrograman Java STMIK Widya Pratama Pekalongan
  3. Google.com
share this article :

3 komentar:

 

.

.

IP