Search This Blog

Monday, April 11, 2016

JURNAL TENTANG PEMEROGRAMAN BERORIENTASI-OBJEK(OBJECT ORIENTED PROGRAMING)

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

No comments:

Post a Comment