Pengenalan OOP

PENGENALAN OBJECT ORIENTED PROGRAMMING / PEMROGRAMAN BERORIENTASI OBJECT

 

Pembahasan OOP cukup luas, tetapi dengan konsep dasar ini, anda dapat digolongkan sebagai programmer berorientasi Object. Adapun yang akan dibahas dalam bab ini adalah antara lain :

 

Karakteristik OOP

Dari karakteristik OOP ini, kita dapat menggolongkan program atau perangkat lunak tergolong bahasa pemrograman berorientasi Object atau tidak. Karakteristik OOP antara lain : Encapsulation, Polymorphisme, Inheritance.

 

Selain dari karakteristik tersebut diatas, ada beberapa pengertian Penting OOP, antara lain : Object, Kelas, Metode, Konstraktor, Karakterisik, Variabel, Data.

Dalam pembahasan pngertian tersebut yang akan dibahas adalah mengenai :

 

Data

Data adalah istilah lain dari variabel OOP. Dalam pemrograman Java bisa juga disebut field, data member atau instance variabel. Data member dideklarasikan pada kelas.

 

Variable

Variable adalah bagian dari program yang digunakan untuk menyimpan data. Sebagai tempat menyimpan data, variable harus dideklarasikan, yaitu diberi tipe data, nama variable, dan dapat juga diberi nilai awal (inisiasi).

 

Object/Objek

Object adalah benda, baik yang berwujud nyata seperti yang dijumpai dalam kehidupan anda, maupun tidak nyata, seperti halnya yang berupa sistem atau konsep.

 

Class/Kelas

Class adalah wadah yang berisi abstraksi (permodelan) dari suatu Object(benda), yang mendeskripsikan data(sifat karakteristik) dan fungsi yang dimiliki oleh Object tersebut. Class disebut juga pemodelan dari Object yang berisi informasi (aturan) tentang sifat karakteristik (data) dan tingkah laku (method) yang dimiliki oleh Object tersebut.

 

Konstruktor

Konstruktor adalah method khusus yang memiliki nama sama dengan nama class. Konstruktor memiliki dua karakteristik sebagai berikut,

·      Konstruktor tidak mengembalikan nilai

·      Konstruktor mempunyai nama sama dengan nama class

Jika konstruktor tidak didefinisikan, Java memberikan konstruktor dengan nama constactor_default. Konstruktor default tidak melakukan apa – apa,namun variable yang dtidak diinisiasikan dianggap sebagai berikut,

·      Variable numeric diset ke 0

·      String diset ke null

·      Variable Boolean diset ke false

 

Method

Method / Prosedur / Fungsi / Behaviour merupakan istilah yang sama. Method adalah prosedur/fungsi yang dimiliki oleh sebuah Object. Karena pada dasarnya merupakan prosedur/fungsi, maka method ini akan mengolah atau mengubah data/variable yang ada di dalam Object sesuai dengan operasi yang dilakukan. Dari proses tersebut akan terjadi 3 kemungkinan :

1.   Mengembalikan suatu nilai akhir.

2.   Mengembalikan nilai yang bersifat sementara untuk kemudian diteruskan ke method lain.

3.   Tidak mengembalikan nilai sama sekali.

 

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

 

  1. You                 àobject pengirim
  2. YourBicycle    àobject penerima
  3. changeGears    àpesan berupa method yang dijalankan
  4. 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 

  1. Class: konsep dan deskripsi dari sesuatu

      Class mendeklarasikan method yang dapat digunakan (dipanggil) oleh object

  1. Object: instance dari class, bentuk (contoh) nyata dari class

      Object memiliki sifat independen dan dapat digunakan untuk memanggil method

  1. Contoh Class dan Object:

      Class: mobil

      Object: mobilnya pak Joko, mobilku, mobil berwarna merah

  1. Class seperti cetakan kue, dimana kue yg dihasilkan dari cetakan kue itu adalah object
  2. Warna kue bisa bermacam-macam meskipun berasal dari cetakan yang sama (object memiliki sifat independen)

 

Pilar – pilar dalam OOP (Object Oriented Programming)

 

Perwarisan (Inheritance)

Pewarisan merupakan salah satu karakteristik dari OOP. Mendefinisikan class berdasarkan class yang ada disebut penurunan. Class baru atau class turunan berhubungan langsung dengan class diatasnya. Class asal disebut superclass.Suatu class dapat mewariskan atribut  dan method kepada class lain (subclass), serta membentuk class hierarchy.Penting untuk Reusability. Menggunakan key word EXTENDS

 

Contoh kasus dibawah ini adalah telepon merupakan alat yang menjadi inspirasi dibuatnya HP. Dengan beberapa fungsi tambahan. Disini fungsi tambahannya hanya melakukan sms. Anda dapat mengembangkan dengan fungsi infrared, Bluetooth, kamera, 3G dan lain- lain.

 

 

Telepon

Berbicara()

 

HP

Berbicara()

SMS()

 

Contoh Programnya:

 class telepon{ // super class 

void berbicara(){

System.out.println(“Tekan nomor tujuan, panggil”);

System.out.println(“Berbicara dengan lawan bicara”);

System.out.println(“Setelah selesai, tutup”);

}

}

 

class HP extends telepon{ //subclass dengan pewarisan superclass dari telepon 

void SMS(){

System.out.println(“Ketik pesan yang hendak dikirimkan”);

System.out.println(“Kirim ke nomor yang dituju”);

System.out.println(“Tunggu balasan”);

}

 

public static void main(String[] args){

HP handphone = new HP();

System.out.println(“Fungsi dasar telepon”);

handphone.berbicara();

System.out.println(“Fungsi baru pada telepon tanpa kabel”);

handphone.SMS();

}

}

 

Pembungkusan (Encapsulation)

Dalam pemrograman Java yang berorientasi murni Object ini, program hanya dipusatkan pada aspek internal tidak melihat aspek ekternal masing-masing Object, sehingga pembuatan program tidak perlu memikirkan terlalu susah, bagaimana program berjalan. Hal ini yang disebut dengan Encapsulation atau data dan perilaku menjadi dalam satu program.

Contoh program memakai konsep encapsultation ini adalah program hak akses. Masing-masing data member memakai hak akses baik private, public maupun protected.

 

Karena itu dibutuhkan yang disebut dengan package atau paket. Paket adalah bagian implicit standar Java untuk mengelompokan class dengan interface menjadi suatu unit, yaitu koleksi dari class dengan nama tertentu. Tujuan mengelompokkan class dalam paket adalah memudahkan dalam menambahkan class ke dalam program. Dengan bergitu penerapan hak akses terhadap suatu variable dan Object.

 

Enkapsulasi data dapat dilakukan dengan cara:

1.      mendeklarasikan instance variable sebagai private

2.      mendeklarasikan method yang sifatnya public untuk mengakses variable tersebut

 

Modifier

Dalam Class yang Sama

Dalam Package yang Sama

DalamSubClass

Dalam Package Lain

private

ü

 

 

 

tanpatanda

ü

ü

 

 

protected

ü

ü

ü

 

public

ü

ü

ü

  ü

 

 

Banyak bentuk (Polymorphism)

Polymorphism berarti mempunyai banyak bentuk. Dua Object atau lebih mempunyai hal yang serupa tetapi mempunyai perilaku yang berbeda. Superclass dapat mempunyai method yang juga dimiliki oleh class turunannya. Method pada superclass dapat merupakan method virtual digunakan program yang memanggil suatu fungsi dari suatu class,mungkin memanggil fungsi pada class lain.Kemampuan untuk memperlakukan object yang memiliki perilaku (bentuk) yang berbeda.

Implementasi konsep polymorphism:

1.      Overloading: Kemampuan untuk menggunakan nama yang sama untuk beberapa method yang berbeda parameter (tipe dan atau jumlah).

2.      Overriding: Kemampuan subclass untuk menimpa method dari superclass, yaitu dengan cara menggunakan nama dan parameter yang sama pada method.

 

Contoh kasus dibawah ini. Kita akan menggunakan suatu method yang mempunyai beberapa bentuk masukan parameter, dimana masukan parameter tersebut tidak sama, sehingga bisa menentukan method mana yang akan dipanggil.

 

class HPMulti{

 

public void HP(long no_telp){

System.out.println(“Anda sedang menghubungi no. telp : “+ no_telp);

}

 

public void HP(long no_telp,String teks){

System.out.println(“Anda mengirim pesan ke no. telp : ” + no_telp);

System.out.println(“Pesan anda berisi : ” + teks);

}

 

public void HP(int a,int b){

System.out.println(“Hasil operasi penjumlahan 2 bilangan tersebut adalah “+(a+b));

}

}

  

class HPBerfungsi{

 

public static void main(String[] args){

 

HPMulti fungsi = new HPMulti();

 

System.out.println(“menggunakan fungsi panggilan”);

fungsi.HP(7716953);

System.out.println(“menggunakan fungsi SMS”);

fungsi.HP(9613932,”Assalamualaikum Wr.Wb”);

System.out.println(“menggunakan fungsi kalkulator”);

fungsi.HP(20,30);

}

}

 

Abstraction

Cara kita melihat suatu sistem dalam bentuk yang lebih sederhana, yaitu sebagai suatu kumpulan subsistem  (object) yang saling berinteraksi.Sebagai contoh,Mobil adalah kumpulan sistem pengapian, sistem kemudi, sistem pengereman.Alat meng-abstraksikan sesuatu adalah class. Object bersifat modularity. Object dapat ditulis dan dimaintain terpisah (independen) dari object lain.

 

PENGORGANISASIAN CLASS

 

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;

 

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.

 

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 library.

 

Sumber

http://java.sun.com/javase/7/docs/api/index.html

http://romisatriawahono.net/

http://riodasilalahi.blogspot.com/

 

Salam Java.

EL_Zalman’s

 

  1. 3 July 2014 at 3:05 pm

    maaf ya mas copas buat tugas

    • javanewbie
      12 July 2014 at 3:36 pm

      silahkan mbak, semoga bermanfaat

  2. 02101997
    5 April 2016 at 2:40 am

    Blog yang menarik bang, Bisa nambah ilmu buat belajar program .. ditunggu update materi selanjutnya bang😀 ..

  1. 19 March 2016 at 12:02 pm

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: