“Object-Oriented” (OO) mengandung arti mengorganisasikan perangkat lunak yang terdiri sekumpulan objek diskrit yang mempersatukan struktur data dan behavior. Secara umum ada empat askep sebagai karakteristik OO, yaitu : identity, classification, polymorphism and inheritance.
==Identity
Idendity mengandung arti data yang memiliki jumlah diskrit, membedakan entitas disebut object. Contoh : paragraph dalam dokumen, windows pada workstation
==Classification
Klasifikasi merupakan objek dengan kesamaan struktur data (attribute) dan behavior/prilaku (operation) dikelompokan menjadi sebuah calass. Paragrap dan window merupakan contoh dari class. Class adalah abstraksi yang menjelaskan propenrti penting untuk aplikasi.
==Polymorphism
Kebanyakrupaan (polymorphisme):
o pensubstitusian dinamis supertype oleh subtype
o pemanipulasian objek secara seragam dengan tipe yang berbeda-beda
contoh : operasi move memiliki prilaku yang berbeda pada class window dan bicycle class.
==Inheritance
Pewarisan (inherintance): pembentukan suatu hirarki atau jejaring akibat peng-umum-an atau pengkhususan (bergantung pada fokus perhatian).
Contoh penerapan inheritance : ScrollingWindow dan FixedWindows adalah subclass dari Window.
Object-Oriented Development
Pengembangan orientasi objek merupakan suatu cara baru tentang perangkat lunak yang berbasis abstakri yang terdapat pada dunia nyata. Prinsip abstraksi dan kemudian dilanjutkan penerapan dekomposisi merupakan ciri proses pengembangan perangkat lunak, yaitu :
- Abstraksi membantu dalam membuat pilihan yang tepat mengenai komponen-komponen pembentuk perangkat lunak
- Dekomposisi digunakan untuk memecah perangkat lunak menjadi komponen-komponen yang dapat dikombinasikan untuk menyelesaikan persoalan besar.
Abstraksi akan dibahas pada bagian berikutnya dalam diktat kuliah ini.
Langkah-langkah pengembangan perangkat lunak secara umum telah dibahas pada part one dalam diktat ini meliputi :
- Requiment analysis and definition
- System Design
- Program Design
- Write The Program
- Unit Testing
- Integration Testing
- System Testing
- System Delivery
Selanjutnya disebut Software Development Process.
Pengembangan perangkat lunak berorientasi objek memiliki kesamaan proses namun setiap tahapan memiliki pekerjaan pemodelan yang berbeda.
Banyak pada para ilmuwan, penulis buku/artikel mengusulkan bagaimana langkah-langka pengembangan perangkat lunak berorientasi objek dilaksanakan, berikut contoh-contoh metoda/metodologi yang ada :
– Shlaer/Mellor
– Coad/Yourdon
– Object Modelling Techniques (Rumbaugh, et. al.)
– Responsibility Driven Design (Wirfs-Brock, et. al.)
– Objectory
– OOAD Booch
– Fusion (Coleman, et. al.)
Antara metoda/metodologi yang satu dengan yang lain memiliki kekhususan masing-masing dalam hal teknik dan notasi yang digunakan.
Kesamaan umum dari semua metode/metodologi berorientasi objek terletak pada
– Cara pandang:
§ Static, menggambarkan keterkaitan lojik antar entitas pada sistem
§ Dynamic, menggambarkan hubungan yang terbentuk akibat dinamika sistem
– Penggambaran umum:
§ Class diagram
§ Object diagram
· Snapshot views: menggambarkan peta hubungan antarobjek pada suatu saat tertentu
· Functional/Sequencing views: menggambarkan fungsi yang perlu diperankan oleh sistem
§ Subsystem view: menggambarkan pengabstraksian/pembagian sistem secara lojik
§ Implementation view berupa module/component: menggambarkan pemisahan sistem menjadi suatu konfigurasi fisik produk yang akan diluncurkan