PEMEROGRAMAN
BERORIENTASI-OBJEK(object oriented
programming =oop)
DISUSUN OLEH:
1. AGUNG SEPTARIO(LEADER)
2. ALVIN HADIASYAH
3. SONY RAMADHAN
4. DEMASTA WIJAYA
TAHUN AJARAN 2015/2016 UNIVERSITAS
BINA DARMA
PEMEROGRAMAN BERORIENTASI OBJEK(OBJEK ORIENTED PROGRAMING = OOP)
1.DEFINISI
Sistem
berorientasi objek (OOP) merupakan model dasar data berorientasi objek yang konsepnya lebih mudah dipelajari, dan
untuk dikembangkan. Pada bulan Oktober 1994 Booch, Rumbaugh dan Jacobson, yang
merupakan tiga tokoh pelopor usaha
penyatuan metodologi pendesainan berorientasi objek, dan sejak tahun 1996,
Object Management Group mulai mengembangkan UML ( suatu bahasa yang digunakan
untuk menentukan, memvisualisasikan, membangun, dan mendokumentasikan suatu
sistem informasi) yang sebelumnya telah direalease dalam UML versi 0.8 pada
tahun 1995
Era
tahun 1990 puluhan metodologi pemodelan berorientasi objek telah bermunculan di
dunia. Diantaranya adalah: metodologi Grady Booch OOD (Object-Oriented Design),
metodologi coad, metodologi Ivar Jacobson OOSE (Object-Oriented Software
Engineering), metodologi Jim Rumbaugh OMT (Object Modeling Technique),
metodologi shlaer-mellor, metodologi wirfs-brock, dsb.
Object-Oriented Programming (OOP)
adalah sebuah pendekatan untuk pengembangan / development suatu software dimana
dalam struktur software tersebut didasarkan kepada interaksi object dalam
penyelesaian suatu proses / tugas. Interaksi tersebut mengambil form dari
pesan-pesan dan mengirimkannya kembali antar object tersebut. Object akan
merespon pesan tersebut menjadi sebuah tindakan / action atau metode. Jika kita
mencoba melihat bagaimana tugas disekitar kita diselesaikan, kita akan
mengetahui bahwa kita berinteraksi dalam sebuah object-oriented world. Jika
akan bepergian kita pasti berinteraksi dengan object mobil. Sebagai sebuah
object, mobil berisi object-object lain yang berinteraksi untuk melakukan
tugasnya membawa kita.
Object-oriented programs terdiri dari
objects yang berinteraksi satu sama lainnya untuk menyelesaikan sebuah tugas.
Seperti dunia nyata, users dari software programs dilibatkan dari logika proses
untuk menyelesaikan tugas. Contoh, ketika kamu mencetak sebuah halaman diword
processor, kamu berarti melakukan inisialisasi tindakan dengan mengklik tombol
printer. Kemudian kamu hanya menunggu respon apakah job tersebut sukses atau
gagal, sedangkan proses terjadi internal tanpa kita ketahui. Tentunya setelah
kamu menekan tombol printer, maka secara simultan object tombol tersebut
berinteraksi dengan object printer untuk menyelesaikan job tersebut.
2. istilah-Istilah Pada OOP Antara Lain
2.1.
Kelas (Class)
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. Sebuah class adalah dasar dari modularitas dan
struktur dalam pemrograman berorientasi object. Sebuah class secara tipikal
sebaiknya dapat dikenali oleh seorang non-programmer sekalipun terkait dengan
domain permasalahan yang ada, dan kode yang terdapat dalam sebuah class
sebaiknya (relatif) bersifat mandiri dan independen (sebagaimana kode tersebut
digunakan jika tidak menggunakan OOP). Dengan modularitas, struktur dari sebuah
program akan terkait dengan aspek-aspek dalam masalah yang akan diselesaikan
melalui program tersebut. Cara seperti ini akan menyederhanakan pemetaan dari masalah
ke sebuah program ataupun sebaliknya.
2.2.
Objek (Object)
Membungkus
data dan fungsi bersama menjadi suatu unit dalam sebuah program komputer,
objekmerupakan dasar dari modularitas dalam sebuah program komputer
berorientasi objek.
2.3.
Metode (Method)
Method
adalah merupakan suatu operasi berupa fungsi-fungsi yang dapat dikerjakan oleh
suatu object. Method didefinisikan pada class akan tetapi dipanggil melalui
object.
Contoh :
pada object mangga : terdapat method
ambilRasa , kupasKulit dan lain-lain.
Metode menentukan perilaku objek,
yakni apa yang terjadi ketika objek itu dibuat serta berbagai operasi yang
dapat dilakukan objek sepanjang hidupnya. Metode memiliki 4 (empat) bagian dasar :
1. Nama metode
2. Tipe Objek atau tipe primitive yang
dikembalikan metode.
3. Daftar parameter.
4. Badan atau isi metode.
Tiga bagian pertama mengindikasikan
informasi penting tentang metode itu sendiri. Dengan kata lain, nama metode
tersebut=metode lain dalam program. Dalam java kita dapat memiliki
metode-metode berbeda yang memiliki nama sama tetapi berbeda tipe kembalian
atau daftar argumennya, sehingga bagian-bagian definisi metode ini menjadi
penting. Ini disebut overloading metode.
A. Bentuk Umum Method
[modifier1] tipeNilaiKembalian
namaMethod (parameter input) {
Method body;
}
Jenis Method: Setter dan Getter
Contoh :
-Setter adalah method untuk memberikan
atau merubah nilai suatu variable class yang tidak bertipe public yang hanya
bisa dirubah melalui method class tersebut.
public void menabung(double setoran){
saldo += setoran;
}
-Getter adalah method untuk memberikan
atau merubah nilai suatu variable class yang tidak bertipe public yang hanya
bisa diambil melalui method class tersebut.
public double saldo(){
return saldo;
}
Parameter
Sepeda akan berguna apabila ada object
lain yang berinterasi dengan sepeda tersebut
Object software berinteraksi dan
berkomunikasi dengan object lain dengan cara mengirimkan message atau pesan
Pesan adalah suatu method, dan
informasi dalam pesan dikenal dengan nama parameter
You àobject pengirim
YourBicycle àobject penerima
changeGears àpesan berupa method yang dijalankan
lowerGear àparameter yang dibutuhkan method
(pesan) untuk dijalankan
Kata Kunci this
Digunakan pada pembuatan class dan
digunakan untuk menyatakan object sekarang. Penggunaan this lebih kepada
flexibilitas dalam refactoring,konsistensi dan keakuratan.
Dalam pemrograman berorientasi Object,
focus utama adalah pada Object. Sebelum membuat program lebih dahulu memahami
masalah dengan memandang sistem sebagai kumpulan Object. Persyaratan membuat
program berorientasi Object dengan Java dapat disimpulkan sebagai berikut,
·
Mendefinisikan class dengan pewarisannya. Hal ini dilakukan dengan
membuat diagram class yang memperlihatkan class serta struktur hirarkinya dalam
sistem.
·
Menentukan atribut dan method dengan memperlihatkan bahwa class turunan
mewarisi atribut dan method dari class induknya.
·
Menentukan message uang ada dari
satu class ke class lainnya. Diagram class yang dilengkapi dengan atribut,
method, dan serta hubungan message tersebut.
·
Membuat program dengan jaba berdasarkan diagram Object tersebut.
Perbedaan Class dan Object
Class: konsep dan deskripsi dari
sesuatu
•
Class mendeklarasikan method yang dapat digunakan (dipanggil) oleh
object
Object: instance dari class, bentuk
(contoh) nyata dari class
•
Object memiliki sifat independen dan dapat digunakan untuk memanggil
method
Contoh Class dan Object:
•
Class: mobil
•
Object: mobilnya pak Joko, mobilku, mobil berwarna merah
Class seperti cetakan kue, dimana kue
yg dihasilkan dari cetakan kue itu adalah object
Warna kue bisa bermacam-macam meskipun
berasal dari cetakan yang sama (object memiliki sifat independen)
3.KARAKTERISTIK OOP(OBJECT ORIENTED PROGRAMING)
3.1.
Abtraksi (Abstraction)
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.
3.2.
Enkapsulasi (Encapsulation)
Memastikan
pengguna sebuah objek tidak dapat mengganti keadaan dalam dari sebuah objek
dengan cara yang tidak layak, hanya metode dalam objek tersebut yang diberi
ijin 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.
3.3.
Polimorfisme (Polymorphism)
Melalui
pengiriman pesan. 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.
-Overloading dan overreading
a. Overloading
overloading adalah salah satu cara
penerapan dalam konsep polimorfisme
ada dua jenis,yaitu:
1.Overloading method
2.Overloading constructor
-Overloading method
Dalam Java memungkinkan untuk
mendefinisikan dua atau lebih metode dalamkelas yang sama, menggunakan nama
yang sama, tetapi parameter yangdideklarasikan harus berbeda (jumlah atau tipe
parameternya).jika jumlah parameternya sama maka Tipe harus berbeda semua,
tetapi jika jumlah parameternya berbeda-beda maka boleh tipenya sama.
Jenis-jenis metode overloading:
1.Jumlah parameter beda, tipe beda
2.Jumlah parameter sama, tipe beda
3.Jumlah parameter beda, tipe sama
-Overloading Contructor
Overloading selain diterapkan pada
metode juga diterapkan pada konstuktor.Bedanya overloading constructor terjadi
pada objek yang berbeda-beda, nilaiargument berbeda, sehingga metode bisa lebih
dari satu. Penerapan overloading pada kelas Java akan menjadi suatu norma tanpa
perkecualian.
b. Overloading
Overriding
Metode overriding adalah metode pada
subclass yang mempunyai nama dan tipeidentik/sama dengan metode superclass.
Jika kita ingin memanggil metode superclass pada subclass dapat menggunakan
statemen berikut:
3.4.
Inheritas (inheritance)
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.)
Dengan
menggunakan OOP maka dalam melakukan pemecahan suatu masalah kita tidak melihat
bagaimana cara menyelesaikan suatu masalah tersebut (terstruktur) tetapi
objek-objek apa yang dapat melakukan pemecahan masalah tersebut. Sebagai contoh
anggap kita memiliki sebuah departemen yang memiliki manager, sekretaris,
petugas administrasi data dan lainnya. Misal manager tersebut ingin memperoleh
data dari bag administrasi maka manager tersebut tidak harus mengambilnya
langsung tetapi dapat menyuruh petugas bag administrasi untuk mengambilnya.
Pada kasus tersebut seorang manager tidak harus mengetahui bagaimana cara
mengambil data tersebut tetapi manager bisa mendapatkan data tersebut melalui
objek petugas administrasi. Jadi untuk menyelesaikan suatu masalah dengan
kolaborasi antar objek-objek yang ada karena setiap objek memiliki deskripsi
tugasnya sendiri
4. PENGORGANISASIAN CLASS
4.1.
Packages
Package adalah koleksi
dari beberapa class dan interface yang berhubungan, dan menyediakan proteksi
akses dan pengelolaan namespace. 1 package adalah 1 folder di file
system.Package berguna untuk mengorganisir file dalam suatu project atau
library. Nama package menggunakan lowercase. Nama package mengikuti nama domain
(perusahaan) dengan susunan terbalik. Menggunakan keyword: package name;
4.2.
Interface
Interface digunakan
apabila kita ingin menentukan apa yang harus dilakukan oleh suatu class tapi
tidak menentukan bagaimana cara untuk melakukannya. Interface sebenarnya sama
dengan class, tapi hanya memiliki deklarasi method tanpa implementasi.
4.3.
Kompresi dengan JAR
JAR atau Java Archive
adalah metode kompresi standard dari file-file yang berisi program Java. JAR
menampung file .class dan file lain yang dibutuhkan supaya program bisa
berjalan dengan baik. Kompresi dapat dilakukan setelah semua class dikompilasi.
Penggunaan JAR
Perintah Membuat file
JAR:
jar –cvf namafile.jar file1.class
file2.class
Perintah Melihat isi
dalam file JAR:
jar –tvf namafile.jar
Perintah Mengekstraksi
isi file JAR:
jar –xvf namafile.jar
Keterangan Pilihan:
• c = create (membuat file JAR)
• v = verbose (menampilkan informasi pada
layar)
• f = filename (daftar nama file yang akan
dikompresi)
JAR Manifest
JAR Manifest dibuat
secara otomatis dan diletakkan di dalam folder META-INF pada file kompresi yang
kita buat. JAR Manifest digunakan untuk mendeskripsikan file-file yang terdalam
dalam file JAR.
Java API Library and
Documentation
API: Application
Programming Interface. API documentation: daftar class dan method di java libary
\5.CONTOH PROGRAM
-PROGRAM SEDERHANA
class HalloWorld
{
void tes()
{
System.out.println("hello
dunia apa kabar, kpaan kita akan bersenang-senang");
}
}
class Uji
{
public static void
main(String[]arg)
{
HalloWorld pp=new
HalloWorld();
pp.tes();
}
}
-program penggunaan setter dan getter
class Hitung
{
private float
jarijari; private double hasil;
void setnilai(float T)
{
this.jarijari=T;
}
double gethasil()
{
return hasil;
}
float getjarijari()
{
return jarijari;
}
void Lo()
{
hasil=3.14*jarijari;
}
}
class CobaHitung
{
public static void
main(String[]args)
{
Hitung C=new Hitung();
C.setnilai(5);
C.Lo();
System.out.println("luaslingkarang=3.14xR(jari-jari)");
System.out.println("3.14"+
"x" +C.getjarijari()+"="+C.gethasil());
C.Lo();
}
}
-Program overloading Constructor
class Terus
{
private String
namaMtkuliah,belajar;
void tampillagi()
{
namaMtkuliah=("konsep
oop");
belajar=("metode
abstrak");
System.out.println(namaMtkuliah+belajar);
}
void tampillagi(String
nama,String java){
this.namaMtkuliah=nama;
this.belajar=java;
}
public String
getnamaMtkuliah()
{
return namaMtkuliah;
}
public void
setnamaMtkuliah(String nama)
{
this.namaMtkuliah=nama;
}
public String getbelajar()
{
return belajar;
}
public void setbelajar(String java)
{
this.belajar=java;
}
public void tampilpesan()
{
System.out.println("welcome");
}
}
public class Teruskan
{
public static void main(String[]args)
{
Terus buku=new Terus();
buku.tampillagi("object
oriented programing","OOP()_()");//apabila variable ini tidak
diisi maka yang akan
ditampilkan adalah inputan awal pada class Terus tadi
buku.tampilpesan();
System.out.println(buku.getnamaMtkuliah()+"
"+buku.getbelajar());
}
}
SOURCE:
-https://javanewbie.wordpress.com/java/dasar-java/pengenalan-oop/
- http://www.academia.edu/4776958/Laporan_OOP_3