oop, object oriented programming, pemrograman berorientasi objek
DESCRIPTION
OOP, Java, Makalah Java, Makalah OOP, Berorientasi ObjekTRANSCRIPT
-
Konsep Dasar Pemrograman Berorientasi Objek
Nur Hadi Indra 2014
1
BAB I
PENDAHULUAN
A. Latar Belakang
Pemrograman Berorientasi Objek (Object Oriented Programming atau
OOP) merupakan paradigma pemrograman yang terkini. Dimana objek adalah
struktur data yang terdiri dari bidang data dan metode bersama dengan interaksi
mereka untuk merancang aplikasi dan program komputer. Semua data dan fungsi
di dalam paradigma ini dibungkus dalam kelas-kelas atau objek-objek.
Bandingkan dengan logika pemrograman terstruktur. Setiap objek dapat menerima
pesan, memproses data, dan mengirim pesan ke objek lainnya. Pada jaman
sekarang, banyak bahasa pemrograman yang mendukung OOP.
OOP adalah paradigma pemrograman yang cukup dominan saat ini,
karena mampu memberikan solusi kaidah pemrograman modern. Meskipun
demikian, bukan berarti bahwa pemrograman prosedural sudah tidak layak lagi.
OOP diciptakan karena dirasakan masih adanya keterbatasan pada bahasa
pemrograman tradisional. Konsep dari OOP sendiri adalah semua pemecahan
masalah dibagi ke dalam objek. Dalam OOP data dan fungsi-fungsi yang akan
mengoperasikannya digabungkan menjadi satu kesatuan yang dapat disebut
sebagai objek. Proses perancangan atau desain dalam suatu pemrograman
merupakan proses yang tidak terpisah dari proses yang mendahului, yaitu analisis
dan proses yang mengikutinya.
Model data berorientasi objek dikatakan dapat memberi fleksibilitas yang
lebih, kemudahan mengubah program, dan digunakan luas dalam teknik piranti
lunak skala besar. Lebih jauh lagi, pendukung OOP mengklaim bahwa OOP lebih
mudah dipelajari bagi pemula dibanding dengan pendekatan sebelumnya, dan
pendekatan OOP lebih mudah dikembangkan dan dirawat.
-
Konsep Dasar Pemrograman Berorientasi Objek
Nur Hadi Indra 2014
2
B. Rumusan Masalah
Dengan memperhatikan Latar belakang tersebut, maka penulis
mengemukakan beberapa rumusan masalah. Rumusan masalah tersebut
diantaranya adalah :
1. Pengertian OOP (Object Oriented Programming)?
2. Apa keuntungan penerapan OOP?
3. Bahasa apa saja yang mendukung OOP?
4. Apa itu Object dan Class?
5. Apa saja karakteristik OOP?
C. Tujuan dan Manfaat
Tujuan dan Manfaat dari pembuatan makalah ini adalah selain daripada
salah salah satu syarat seleksi penerimaan Asisten Laboratorium Fakultas Ilmu
Komputer UMI, juga untuk mengetahui lebih jauh mengenai Pemrograman
Berorientasi Objek (Object Oriented Programming atau OOP).
-
Konsep Dasar Pemrograman Berorientasi Objek
Nur Hadi Indra 2014
3
BAB II
PEMBAHASAN
A. Pengertian Pemrograman Berorientasi Objek (OOP)
Pemrograman Berorientasi Objek atau Object Oriented Programming
disingkat OOP adalah suatu metode pemrograman yang berorientasikan kepada
objek seperti dalam dunia nyata. Dimana semua data dan fungsi di dalam metode
ini dibungkus didalam class-class atau object-object. Setiap objek yang kita buat
dapat menerima instruksi, memproses data, dan mengirim instruksi/data ke objek
lainnya, Pemrograman berorientasi objek memandang bahwa semua pemecahan
masalah dibagi ke dalam kelas (class). Class tersebutlah yang akan menciptakan
sebuah objek yang memiliki atribut/ciri-ciri dan metode/ tingkah laku.
B. Kelebihan Pemrograman Berorientasi Objek (OOP)
- Memungkinkan menggunakan penerapan dunia nyata (real-world modeling)
- Mendukung penggunaan kembali code yang telah ada (reusable sources)
- Menyediakan fleksibilitas dalam memodifikasi kode yang telah ada (fleksibel)
- Membantu dengan mudah pemeliharaan code yang telah ada (maintenable)
C. Bahasa Pemrograman yang menerapkan OOP
- Java
- C++ (dari bahasa C )
- Visual Basic.NET , C#
- SIMULA
- Smalltalk
- Ruby
- Python
- PHP
- Perl, dan sebagainya
-
Konsep Dasar Pemrograman Berorientasi Objek
Nur Hadi Indra 2014
4
D. Objek dan Kelas
1. Objek/ Object
Pada dasarnya semua benda yang ada di dunia nyata dapat
dianggap sebagai sebuah objek. Jika perhatikan lebih lanjut, pada dasarnya
ada dua karakteristik yang utama pada sebuah objek , yaitu :
- Setiap objek memiliki atribut/ciri-ciri sebagai status yang kemudian
akan disebut sebagai state.
- Setiap objek memiliki tingkah laku yang kemudian akan disebut
sebagai behaviour.
Contoh sederhananya adalah : objek mobilku
- Sepeda memiliki atribut ( state ) : merek: xenia, warna: putih, tahun
produksi: 2012, dll.
- Sepeda memiliki tingkah laku ( behaviour ) : kecepatannya menaik,
kecepatannya menurun, dan perpindahan gigi,dll.
Dalam pengembangan perangkat lunak berorientasi objek, objek dalam
perangkat lunak akan menyimpan state-nya dalam variabel dan
menyimpan informasi tingkah laku (behaviour) dalam Method atau
fungsi/prosedur.
2. Kelas/ Class
Kelas berbeda dengan objek. Kelas merupakan template/cetakan dari
objek yang mendefinisikan variabel dan Method secara umum. Sedangkan
objek pada sisi yang lain merupakan instansiasi/penerapan dari suatu kelas,
yang mendefinisikan variabel dan Method secara spesifik.
Sebuah Kelas juga merupakan type data, dapat digunakan untuk
mendeklarasi objek yang direferensikan dengan variabel-variabel. Banyak
objek yang dapat dibuat hanya menggunakan satu kelas.
-
Konsep Dasar Pemrograman Berorientasi Objek
Nur Hadi Indra 2014
5
Berikut adalah perbandingan sederhana antara Object dan Class :
Contoh penerapannya pada kode Java (nama file MobilBeraksi.java) :
class Mobil{
String merek,warna,noPlat;
int kecepatan = 0;
//Method
void getAtribut(){
System.out.println("Merek Mobil : "+merek);
System.out.println("Warna Mobil : "+warna);
System.out.println("Nomer Plat : "+noPlat);
}
void setKecepatan(int input){
kecepatan=kecepatan+input;
}
}
public class MobilBeraksi{
public static void main(String[] args) {
// Membuat object
Mobil mobilku = new Mobil();
//memanggil atribut dan memberi nilai
mobilku.merek="Avanza";
mobilku.warna="Hitam";
mobilku.noPlat="DD 24 IR";
// Memanggil Method dan menunjuk nilai parameter
mobilku.getAtribut();
mobilku.setKecepatan(30);
System.out.println ( "Mobil " + mobilku.merek + " warna " +
mobilku.warna + " bernomer plat " + mobilku.noPlat + " sedang
melaju dengan kecepatan " + mobilku.kecepatan + " km/jam " );
}
}
Class Object
Identifier Mobil Mobilku
Atribut/ State Merek, Warna, No.Plat Avanza, Hitam, DD 24 IR
Tingkah
Laku/
Method
Tambah kecepatan, Kurangi
kecepatan, dll
Tambah kecepatan, Kurangi
kecepatan, dll
-
Konsep Dasar Pemrograman Berorientasi Objek
Nur Hadi Indra 2014
6
E. Karakteristik Pemrograman Berorientasi Objek (OOP)
1. Abstraksi/ Abstraction
Abstraksi dapat didefinisikan sebagai 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.
2. Pembungkusan / Encapsulation
Tujuan utama enkapsulasi adalah menyederhanakan kerumitan
program menjadi beberapa bagian yang biasanya tidak perlu diketahui
prosesnya secara detail. Memastikan pengguna sebuah objek tidak dapat
mengganti keadaan dalam dari sebuah objek dengan cara yang tidak layak;
hanya metode dalam objek tersebut yang diberi izin untuk mengakses
keadaannya. Setiap objek mengakses interface yang menyebutkan bagaimana
objek lainnya dapat berinteraksi dengannya. Objek lainnya tidak akan
mengetahui dan tergantung kepada representasi dalam objek tersebut.
Inti dari enkapsulasi adalah :
- Menyembunyikan kompleksitas
- Memproteksi internal sistem
- Modularitas
-
Konsep Dasar Pemrograman Berorientasi Objek
Nur Hadi Indra 2014
7
3. Pewarisan/ Inheritance
Konsep pewarisan yaitu suatu kelas bisa diturunkan menjadi kelas
baru yang masih mewarisi sifat-sifat kelas induknya. Pewarisan adalah
keuntungan besar dalam pemrograman berbasis object karena suatu sifat atau
Method yang didefinisikan dalam superclass, secara otomatis diwariskan dari
semua subclasses. Jadi, penulisan kode Method hanya sekali dan dapat
digunakan oleh semua subclass. Subclass hanya butuh mengimplementasikan
perbedaannya sendiri dan induknya.
Contoh pewarisan :
Kelas Lingkaran dapat diturunkan menjadi kelas Kerucut dan kelas
Bola. Kelas kerucut dan kelas bola (disebut sub kelas/kelas perluasan) akan
mewarisi semua field dan Method dari kelas Lingkaran (kelas
induknya/superclass) selama field dan Method tersebut tidak dideklarasikan
sebagai private.
Contoh pewarisan pada Lingkaran.java mewarisi Tabung.java:
public class Lingkaran{ //super class
final double phi=3.14;
double jari2;
public Lingkaran(){
jari2=1.0;
}
public void setJari2(double input){
jari2=input;
}
Class Lingkaran
Class Tabung Class Kerucut
-
Konsep Dasar Pemrograman Berorientasi Objek
Nur Hadi Indra 2014
8
public double getJari2(){
return jari2;
}
public double Hitung_Luas(){
return (phi*jari2*jari2);
}
public static void main( String [] args ){
Lingkaran lingkar001 = new Lingkaran();
lingkar001.setJari2(100);
System.out.println("jari2 = "+lingkar001.getJari2());
double hasil = lingkar001.Hitung_Luas();
System.out.println("Luas = "+hasil);
}
}
Tabung.java :
public class Tabung extends Lingkaran{ //sub class
private double tinggi;
public Tabung(){
tinggi=1.0;
}
public void setTinggi(double input){
tinggi = input;
}
public double getTinggi(){
return tinggi;
}
public double Hitung_Volume(){
return (phi*jari2*jari2*tinggi);
}
public static void main( String [] args ){
Tabung tabung001 = new Tabung();
tabung001.setTinggi(10.0);
System.out.println("Tinggi = "+ tabung001.getTinggi());
double hasil = tabung001.Hitung_Volume();
System.out.println("Volume = "+hasil);
}
}
-
Konsep Dasar Pemrograman Berorientasi Objek
Nur Hadi Indra 2014
9
4. Polimorfisme/ Polymorphism
Kata polimorfisme yang berarti satu objek dengan banyak bentuk
yang berbeda, adalah konsep sederhana dalam bahasa pemrograman
berorientasi objek yang berarti kemampuan dari suatu variabel referensi objek
untuk memiliki aksi berbeda bila Method yang sama dipanggil, dimana aksi
Method tergantung dari tipe objeknya.
Kondisi yang harus dipenuhi agar polimorfisme dapat diterapkan adalah :
- Method yang dipanggil harus melalui variabel dari basic class atau
superclass.
- Method yang dipanggil harus juga menjadi Method dari basic class.
- Signature Method harus sama, baik pada superclass maupun subclass.
- Method access attribute pada subclass tidak boleh lebih terbatas dari
basis class.
Dalam konsep Polimorfisme, Method yang sama dapat memiliki aksi yang
berbeda, teknik ini dinamakan Overloading dan Overriding :
- Overloading
Penggunaan satu nama untuk beberapa Method yang berbeda (beda
parameter). Overloading mendefinisikan Method yang memiliki nama yang
sama, tetapi dengan signature yang berbeda dalam definisi kelas yang sama.
- Overriding
Terjadi ketika deklarasi Method subclass dengan nama dan parameter
yang sama dengan Method dari superclassnya. Untuk beberapa pertimbangan,
terkadang subclass perlu memiliki implementasi berbeda dari Method yang
khusus dari superclass tersebut. Oleh karena itulah, Method overriding
digunakan. Subclass dapat mengesampingkan Method yang didefinisikan
dalam superclass dengan menyediakan implementasi baru dari Method
tersebut.
-
Konsep Dasar Pemrograman Berorientasi Objek
Nur Hadi Indra 2014
10
Contoh Overloading Method pada Java (nama file Matematika.java):
public class Matematika {
int hasil;
//Method penjumlahan 2 bilangan
void penjumlahan (int x,int y) {
hasil = x + y;
System.out.println("penjumlahan "+x+" + "+y+" =
"+hasil);
}
//Method penjumlahan 3 bilangan
void penjumlahan (int x,int y, int z) {
hasil = x + y + z;
System.out.println("penjumlahan "+x+" + "+y+" + "+z+" =
"+hasil);
}
}
class MatematikaBeraksi {
public static void main(String[] args) {
Matematika operasi = new Matematika();
// Memanggil Method yang namanya sama
// tapi parameter yg menjadi pembeda
operasi.penjumlahan(2,4);
operasi.penjumlahan(3,5,2);
}
}
Contoh Overriding Method pada Java (nama file Overriding.java):
public class Overriding { //superclass
void tampil(){
System.out.println("Method Pertama");
}
}
class SubOverriding extends Overriding{ //subclass
@Override
void tampil(){ //meng-override Method dari superclass
System.out.println("Method Kedua, menimpa Method Pertama");
}
public static void main(String[] args){
SubOverriding obj = new SubOverriding();
obj.tampil();
}
}
-
Konsep Dasar Pemrograman Berorientasi Objek
Nur Hadi Indra 2014
11
BAB III
PENUTUP
A. Kesimpulan
- Pemrograman berorientasi objek memandang bahwa semua pemecahan
masalah dibagi ke dalam kelas (class). Kelas tersebutlah yang akan
menciptakan sebuah objek (object) yang memiliki atribut/ciri-ciri dan
Method/ tingkah laku.
- Kelebihan OOP :
- real-world modeling - fleksibel
- reusable sources - maintenable
- Java adalah bahasa pemrograman yang murni menerapkan konsep OOP.
- Class merupakan template atau cetakan dari object yang mendefinisikan
variabel dan Method secara umum.
- Objek merupakan instance atau penerapan dari class yang mendefinisikan
variabel dan Method secara spesifik.
- Abstraksi adalah cara pandang pemrograman yang berfokus pada inti
pemecahan masalah dan melewati aspek detail informasi yang diproses.
- Enkapsulasi adalah penyederhanaan suatu pemecahan masalah dengan cara
menyembunyikan kerumitan kode dan memproteksi beberapa bagian internal
program dari pengaksesan yang tidak perlu.
- Pewarisan adalah penurunan sifat (atribut dan Method) dari kelas induk
(superclass) ke kelas turunannya (subclass).
- Polimorfisme adalah satu objek dengan banyak bentuk yang berbeda, yaitu
objek yang memiliki satu Method sama tetapi implementasi yang berbeda.
Teknik polimorfisme yaitu Overloading Method dan Overriding Method.
B. Kritik dan Saran
Penulis mengharapkan kritik dan saran yang membangun agar memotivasi
kami untuk bisa membenahi dan berkarya lebih baik lagi dari sebelumnya.
-
Konsep Dasar Pemrograman Berorientasi Objek
Nur Hadi Indra 2014
12
DAFTAR PUSTAKA
1. Satriowahono Romi. 2008, Konsep Pemrograman Berorientasi Objek
E-book Ilmukomputer.com, Semarang.
2. Tim Pengembang JENI. 2007, JENI 1 - 4
Depdiknas, Jakarta.
3. Sun Microsystem. 2014 , OOP Concept
http://java.sun.com/docs/books/tutorial/java/concepts/index.html
4. Wikipedia. 2014, Pemrograman Berorientasi Objek
http://id.wikipedia.org/wiki/pemrograman-berorientasi-objek
5. India Rose. 2014, OOP in Java
http://www.roseindia.net/java/beginners/OOP-in-java.html