tugas OOP

Jan 15, 2013 01:08



Object Oriented Programming atau yang lebih dikenal dalam bahasa Indonesia nya pemrograman berbasiskan object (PBO) merupakan terobosan baru dalam pemograman setela pemrograman prosedural, pemrograman modular dan pemrogramana abstraksi data. Menurut Bjarne Stroustrup dalam sebuah papernya yang berjudul “what is object oriented programming ?” paradigma dalam PBOadalah tentukan kelas yang kita inginkan, lengkapi sederetan operasi untuk kelas, tentukan struktur secara eksplisit dengan pewarisan. Sedangkan pemrograman prosedural berparadigma tentukan prosedur yang kita inginkan, gunakan algoritma terbaik yang bisa ditentukan. Dapat disimpulkan pemrograman prosedural berorientasi pada aksi, sedangkan PBO berorientasi pada objek.

kenapa harus PBO ? PBO memberikan kemudahan bagi pemakainya dalam pembuatan sebuah program,  lalu memberikan fleksibilitas yang lebih kemudia kemudahan penggunaan program dan dipakai luas  dalam software dalam skala besar. Selain itu kode yang yang dibuat akan lebih mudah dikembangkan  dan dimaintai dalam arti lain seorang programmer bisa menambah sebuah objek baru tanpa harus menggangu dan merubah modul yang lain

1.     Reusability, kode yang dibuat dapat digunakan kembali di aplikasi atau program lainnya

2.     Extendsibility, kita dapat membuat metode yang baru atau mengubah yang sudah ada sesuai dengan yang kita inginkan tanpa   membuat kode dari awal

3.     Maintainability, kode yng sudah dibuat lebih mudah di maintain atau diatur . apabila aplikasi yang dibuat adalah aplikasi dengan skala besar dan apabila terjadi error atau kesalahan maka dengan PBO, hal tersebut akan mudah ditangani karena peograman yang menggunakkan itu sudah modularitas atau memecahkan program yang besar menjadi bagian-bagian kecil maka itu perbaikan cukup pada modul-modul tertentu

Maka itu untuk memahami apa yang ada didalam PBO . kita perlu memahami dan menguasai Pemrograman Berorientasi objek perlu memahami betul konsep yang berlaku dalam pemrograman tersebut  sehingga dalam mempelajarinya lebih mudah untuk dipahami. Konsep dari PBO sendiri adalah semua pemecahan masalah dibagi ke dalam objek seperti inheritance atau pewarisan, encapsulation atau pembungkusan, dan polymorphism atau kebanyakrupaan.
Pewarisan (inheritance)

Terminologi asing untuk pewarisan adalah inheritance. Mungkin dalam literatur lain Anda akan sering menjumpai istilah ini. Secara gamblang, pewarisan berarti sebuah kelas mewarisi state dan behaviour dari kelas lain. Sebagai contoh, sebuah kelas RumahMewah akan mewarisi state dan behaviour dari kelas Rumah. Begitu juga dengan kelas RumahSederhana. Kelas RumahMewah dan RumahSederhana disebut subkelas, atau kelas anak, dari kelas Rumah, yang disebut superkelas, atau kelas induk.

Seluruh subkelas akan mewarisi (inherits) state dan behaviour dari superkelasnya. Dengan begitu, semua subkelas dari superkelas yang sama akan memiliki state dan behaviour yang sama. Namun, masing-masing subkelas bisa menambah sendiri state atau behaviournya. Misalkan, pada kelas Rumah tidak terdapat variable kolamRenang, namun subkelas RumahMewah memiliki variabel tersebut. Contoh lain misalnya kelas Rumah tidak memiliki metode nyalakanAlarm, namun rumah mewah memiliki metode itu.

Dalam kasus tertentu subkelas mungkin memiliki implementasi behaviour yang berbeda dengan superkelasnya. Hal seperti ini disebut override. Contohnya subkelas SepedaBalap memiliki implementasi metode ubahGigi yang berbeda dengan implementasi metode tersebut pada superkelas Sepeda.

Tingkat pewarisan tidak hanya terbatas pada dua tingkatan. Dari contoh di atas, kita bisa saja membuat subkelas dari kelas SepedaBalap, dan seterusnya. Kita bisa terus memperpanjang tingkat pewarisan ini sepanjang yang kita butuhkan. Dengan begitu, subkelas-subkelas yang dibuat akan lebih khusus dan lebih terspesialisasi. Namun terdapat batasan pewarisan dalam Java yang disebut single inheritance. Artinya sebuah kelas hanya dapat mewarisi sifat dari satu dan hanya satu superkelas saja. Dalam beberapa bahasa pemrograman berorientasi objek lain, yang berlaku adalah multiple inheritance. Artinya sebuah kelas dapat mewarisi sifat dari beberapa superkelas sekaligus.

Dalam Java, terdapat kelas Object yang merupakan superkelas dari semua kelas dalam Java, baik yang builtin ataupun yang kita buat sendiri, lansung maupun tidak langsung. Karena itu sebuah variabel bertipe Object akan dapat menyimpan referensi ke objek apapun dalam bahasa Java. Kelas Object ini memiliki behaviour yang dibutuhkan semua objek untuk dapat dijalankan di Java Virtual Machine. Sebagai contoh, semua kelas mewarisi metode toString dari kelas Object, yang mengembalikan representasi String dari objek tersebut.

Manfaat penggunaan konsep pewarisan antara lain: pertama, kita dapat menggunakan kembali kelas-kelas yang kita buat (sebagai superkelas) dan membuat kelas-kelas baru berdasar superkelas tersebut dengan karakteristik yang lebih khusus dari behaviour umum yang dimiliki superkelas. Kedua, kita dapat membuat superkelas yang hanya mendefinisikan behaviour namun tidak memberi implementasi dari metode-metode yang ada. Hal ini berguna jika kita ingin membuat semacam template kelas. Kelas semacam ini disebut kelas abstrak, karena behaviournya masih abstrak dan belum diimplementasikan. Subkelas-subkelas dari kelas semacam ini, yang disebut kelas konkret, mengimplementasikan behaviour abstrak tersebut sesuai dengan kebutuhan masing-masing.

Sedikit penjelasan mengenai kelas abstrak, kelas ini bisa memiliki hanya satu atau lebih metode abstrak. Subkelas dari kelas ini bertanggung jawab untuk memberikan implementasi untuk metode-metode abstrak tersebut. Sebagai akibat dari keberadaan metode abstrak ini, kelas abstrak tidak dapat diinstanskan (dibuatkan instansnya) atau digunakan untuk menciptakan sebuah objek dari kelas tersebut.

·

·

·  
Previous post
Up