Delicious Digg Facebook Favorites More Stumbleupon Twitter
Blog seputar hobby

Saturday, November 10, 2012

Posted by Unknown 12:13 AM
Sebelum saya jelaskan apa itu Pemrograman Berorientasi Objek bahasa inggris:Object Oriented Programming (OOP). Saya coba jelaskan terlebih dahulu mengenai Arsitektur Perangkat Lunak (Software).


Apa itu arsitektur perangkat lunak, seberapa pentingkah hal tersebut?, mari kita bahas bersama-sama.

1. Arsitektur Perangkat Lunak (Software).

1. 1. Pengertian Arsitektur Perangkat Lunak.

Arsitektur perangkat lunak didefinisikan sebagai aturan, ilmu pengetahuan dan pola yang mengatur :
  • Membagi masalah dan sistem yang akan dibangun menjadi potongan-potongan/bagian-bagian tertentu
  • Teknik yang digunakan untuk membuat antarmuka antara potongan-potongan
  • Teknik yang digunakan untuk mengelola struktur keseluruhan dan aliran
  • Teknik yang digunakan untuk antarmuka sistem dengan lingkungannya
  • Sesuai penggunaan pendekatan pengembangan dan pengiriman, teknik dan alat.

1.2. Mengapa Arsitektur penting?

OOP.jpg
Tujuan utama dari arsitektur perangkat lunak adalah untuk menentukan kebutuhan non-fungsional dari sistem dan menentukan lingkungan. Desain rinci diikuti oleh definisi cara menyampaikan perilaku fungsional dalam aturan arsitektur. Arsitektur ini penting karena:
  • Kontrol kompleksitas
  • Menegakkan praktik terbaik
  • Memberikan konsistensi dan keseragaman
  • Meningkatkan prediktabilitas
  • Memungkinkan penggunaan kembali.

2. Pemrograman Berorientasi Objek


Pemrograman berorientasi objek merupakan pemrograman yang menjadikan objek sebagai komponen utama dalam sistem. Objek merupakan gabungan dari data(attribute)/variable dan behavior(method)/fungsi, dimana sebuah objek dibuat dari sebuah class.

2. 1. Objek

Objek merupakan hasil dari sebuah class, jika diibaratkan object adalah kue, maka kelas adalah cetakan kuenya, dimana kue dibuat menggunakan cetakan tersebut. Dan sebuah cetakan kue dapat membuat beberapa kue, artinya sebuah kelas dapat membuat beberapa objek.

Untuk membuat objek dalam java diperlukan perintah new, dimana cara pembuatannya sama dengan pembuatan variable.

Membuat Objek
Manusia maulana = new Manusia();
Manusia merupakan class, dan maulana merupakan object dari Manusia 

Jika dalam kelas yang dibuat objek tersebut terdapat atribut, maka dapat dipanggil menggunakan . (titik).

maulana.tinggi = 172;

memanggil atribut tinggi pada objek maulana dan mengubah nilainya

Jika dalam kelas tersebut memiliki sebuah fungsi (metode), maka dapat dipanggil menggunakan . (titik) dan diakhiri dengan ()

memanggil fungsi
maulana.berjalan();

2. 2. Class


Class itu merupakan blue print dari object, jadi class itu yang menghasilkan object. Seperti contoh sebelumnya, class itu seperti cetakan kue. cetakan kue bisa menghasilkan satu kue atau lebih. begitu juga class, bisa menghasilkan satu object atau lebih dengan Atribut dan Method yang sama tapi dengan nilai yang berbeda di setiap Objeknya.

Perhatikan contoh berikut.

Manusia.java
manusiaBeraksi.java
Contoh di atas, membuktikan bahwa satu class bisa menghasilkan beberapa objek, dari contoh diatas kelas Manusia bisa menghasilkan 2 objek. Yaitu maulana dan yusuf.


Tips membuat class.
  1. Satu file bisa berisi lebih dari satu class, tapi agar lebih mudah dipahami lebih baik satu file berisi 1 class
  1. Satu file hanya dapat berisi 1 public class, nama public class harus sama dengan nama file
  1. Java menganut case-sensitif

2.3. Method

Ada dua method yaitu fungsi dan prosedure, apa bedanya? secara fungsi mungkin hampir sama. Hanya cara mengerjakannya saja yang beda. Mari kita lihat contoh dibawah ini :


Dari contoh di atas, ada dua method. beriTauNama() dan ambilTinggi(). ambilTinggi() merupakan fungsi/function karena mengembalikan nilai sedangkan beriTauNama() merupakan prosedur karena tidak mengembalikan nilai. Saat membuat fungsi harus ada nilai yang dikembalikan, untuk mengembalikan nilainya menggunakan kata kunci return. Berikut adalah contoh cara mengambil nilai dari fungsi :

Method adalah implementasi dari bagaimana bekerjanya sebuah class.
Yang dilakukan method adalah:
  1. Manipulasi data
  2. Operasi Aritmatik
  3. Memonitor kejadian dari sebuah event

2.4. Parameter

Parameter itu, variable atau atribut yang digunakan sebuah method(prosedur/fungsi) untuk melakukan proses sesuai dengan kebutuhan fungsi tersebut. Banyaknya parameter dalam suatu fungsi tergantung kebutuhan, tapi suatu fungsi tidak wajib memiliki parameter.

dari contoh diatas, variable goldar merupakan parameter dari prosedur gantiGolonganDarah(). Jika dibutuhkan lebih dari satu parameter dalam sebuah fungsi, tinggal dipisahkan menggunakan , (koma). Contoh:

void gantiUmurdanGoldah(int umurnya=0, String goldah){
--
}

2. 5. Kata kunci this

Perhatikan gambar disamping:
perhatikan baris kode no 13 dan baris kode no 32 sampai 34. Di sana terdapat nama atribut/avariable yang sama yaitu tempatLahir. Sekarang lihat baris kode no 33, di sana tertulis this.tempatLahir = tempatLahir. Mana yang merupakan parameter dan yang merupakan variableya, benar. tempatLahir merupakan variable yang ada di class Manusia, sedangkan tempatLahir merupakan parameter. Jadi?, ya benar. Saya sudah paham.







2. 6. Konstruktor

Method yang digunakan untuk menentukan nilai awal saat objek pertama kali dibuat, dipanggil secara otomatis ketika new digunakan untuk membuat instan class.
Sifat konstruktor adalah :
  • Nama konstruktor sama dengan nama class
  • Tidak memiliki nilai balik dan tidak boleh ada kata kunci void.
Masih ingat pembahasan bab Objek?, yang ini:

Membuat Objek
Manusia maulana = new Manusia();
Manusia merupakan class, dan maulana merupakan object dari Manusia

Manusia()-> Adalah konstruktor dari class Maulana. Di java, jika kita tidak membuat konstruktor. Maka, java secara otomatis akan membuatkan kontruktor untuk class public yang kita buat. Bingung?, perhatikan contoh dibawah ini.

Pada gambar di samping, class Manusia tidak memilki konstruktor. Kenapa?, karena konstruktor itu method yang namanya sama dengan nama class. Jika kondisinya seperti ini, maka java secara otomatis akan membuatkan kontruktor untuk class yang kita buat. Seperti itu...., ok?, bagus. Kita lanjutkan, ke contoh berikutnya.




gambar di atas menunjukan bahwa class Manusia memiliki Konstruktor dengan parameter namaOrangTua dan tempatLahir. Sehingga, ketika kita akan menggunakan class Manusia ini, kita harus menentukan nilai awal pada masing-masing variable yang menjadi parameter konstruktor tersebut. Dalam hal ini adalah namaOrangTua dan tempatLahir. Contoh pemanggilannya adalah sebagai berikut :

perhatikan baris kode no 13, itu adalah contoh membuat objek maulana dari class Manusia yang konstruktornya memiliki parameter. Konstruktor pada suatu class bisa lebih dari satu, asal parameternya beda, maksudnya seperti ini. Lihat gambar di bawah:
Pada gambar diatas, class Manusia memiliki 2 konstruktor yang pertama adalah dari baris kode 20 sampai 22, dan yang ke 2 adalah dari baris 24 samapi 27. Ketika kita membuat objek dari kelas Manusia, semua konstruktor bisa dipanggil sesuai dengan pola masing-masing atau hanya salah satu.

2. 7. Visibilitas Pada Java



Perhatikan Contoh berikut:

Perhatikan, di class Manusia2 variable nama merupakan variable private, sehingga ketika class manusiaBeraksi mengakses variable nama yang ada di class Manusia2 maka terjadi error. Begitupun dengan visibilitas yang lainnya, berlaku sesuai dengan keterangan yang ada.

2. 8. Overloading

Overloading bisa terjadi pada konstruktor dan method, berikut contoh overloading:
Over loading pada kontruktor:

Overloading pada method:
Jadi, overoading itu apa?. Ya benar, overloading adalah pembuatan lebih dari 1 method atau konstruktor dengan nama yang sama. Tapi, yang harus dibedakan adalah jumlah prameternya atau type data parameternya.

2. 9. Pewarisan(inheritance)

Pewarisan adalah mekasnisme,dimana sebuah kelas bisa mewarisi seluruh atribut dan method dari class lain sesuai dengan ketentuan yang berlaku. Perhatikan contoh dibawah ini :
Class Handphone
Class smartPhone
Class Iphone










Dari contoh diatas, ada tiga class yaitu Handphone, smartPhone dan iPhone. Di class iPhone, saya membuat objek handPhoneSaya dari class smartPhone, kemudian memanggil method menelpon, padahal method menelpon tersebut tidak ada di class smartPhone, adanya di class Handphone. Tapi kenapa bisa dipanggil melalui class smartPhone?, ya benar. Karena class Handphone sudah diturunkan ke class smartPhone sehingga class smartPhone bisa menggunakan semua yang ada di class Handphone yaitu denganmenggunakan kata kunci extends. Di java, pewarisan tidak bisa lebih dari satu class.

Dalam pewarisan biasanya visibilitas protected digunakan. Di pewarisan juga ada namanya Overriding, apa itu overriding?, mari kita lihat contoh berikut ini :
Ketika kita panggil method menelpon di class iPhone, maka yang akan dikerjakan adalah method menelpon yang ada di class smartPhone, bukan yang di class Handphone. Itulah, overrid.....




Search

Our Sponsors