OBJECT ORIENTED CONCEPTS AND TECHNOLOGY
A. Object oriented
• The development of object-oriented systems differ from conventional development thatviews software as an isolated function and data.
• This view can be expressed by equation Niklaus Wirth expressed as follows:
Algorithms + Data Structures = Programs
• The equation that states that software programs are:
"a set of mechanisms that perform certain actions on certain data. "
• Thus, in this approach there are 2 (two) different things that complement each other inlooking at software development, namely:
Algorithms + Data Structures = Programs
• The equation that states that software programs are:
"a set of mechanisms that perform certain actions on certain data. "
• Thus, in this approach there are 2 (two) different things that complement each other inlooking at software development, namely:
1. Dapat berfokus pada fungsi,
2. Berfokus pada data
• Pada pendekatan konvensional, kebanyakan berfokus pada fungsi.
• Namun juga terdapat pendekatan yang fokus pada data, terutama pada basis data dan pemodelan informasi.
• Sedangkan pandangan berorientasi obyek berpusat pada obyek yang mengkombinasikan data dan fungsionalitas.
• Pendekatan berorientasi obyek adalah
“ cara memandang persoalan menggunakan model-model yang diorganisasikan seputar konsep obyek yang mengkombinasikan struktur data dan perilaku suatu entitas “.
• Pada pendekatan berorientasi objek, blok pembangun utama sistem perangkat lunak adalah obyek dan/atau kelas.
B. Dampak Pendekatan Berorientasi Obyek
Perbedaan antara pendekatan berorientasi obyek dengan pendekatan pengembangan perangkat lunak konvensional mempengaruhi proses pengembangan dan produk perangkat lunak itu sendiri, di antaranya :
1. Penggeseran usaha pengembangan menjadi intensif pada fase analisis dan perancangan.
2. Penekanan pada obyek bukan data ataupun fungsi.
3. Proses pengembangan yang seamlessness.
4. Iteratif bukan sekuen.
C. Keunggulan Pendekatan Berorientasi Obyek
Keunggulan pendekatan berorientasi obyek adalah :
1. Bekerja yang mendekati kognisi manusia.
2. Menghasilkan sistem yang dibangun di atas bentuk-bentuk antara yang stabil, dengan demikian lebih mampu untuk mengikuti perubahan.
3. Dapat digunakan tidak hanya pada perancangan perangkat lunak, tetapi juga seluruh proses pengembangan perangkat lunak.
4. Mereduksi resiko pengembangan sistem-sistem kompleks.
5. Dapat membantu mengeksploitasi keampuhan bahasa pemrograman berbasis obyek.
D. OBYEK
• Obyek adalah :“ segala sesuatu yang ada di sekitar kita, dimana obyek-obyeklah yang menyusun dunia ini “.
Misal : manusia, gunung, mobil, becak, dll.
• Setiap obyek mempunyai informasi-informasi atau atribut-atribut dan perilaku sebagai suatu operasi pengaturnya.
• Atribut-atribut obyek contohnya adalah : jumlah tangan, jumlah kaki, jumlah roda, warna, berat, dan seterusnya.
• Sedangkan operasi-operasi pengatur obyek contohnya adalah : berjalan, meletus, belok kanan, belok kiri, menaikkan kecepatan, dan seterusnya.
E. CLASS (Kelas)
• Himpunan obyek-obyek yang sejenis disebut Class (Kelas).
• Obyek adalah contoh /instance dari sebuah class.
• Sebagai contoh class binatang adalah berekor dan berkaki empat.
• Contoh/instance yang mungkin pada class ini adalah kucing, gajah, kuda, dll.
F. ENCAPSULATION (PENGKAPSULAN)
• Encapsulation (pengkapsulan) sering disebut dengan penyembunyian informasi (information hiding).
• Konsep ini sebenarnya lebih didasari pada fakta yang ada di dunia nyata bahwa tidak semua hal perlu diperhatikan.
• Contoh :
- remote control televisi yang menyembunyikan informasi untuk perubahan channel, volume.
- monitor menyembunyikan operasinya terhadap CPU.
- Pada software, jika suatu kesalahan/error terjadi pada suatu obyek, hanya perlu memperbaiki obyek tersebut tanpa perlu mengotak-atik obyek yang lain.
G. POLIMORPHISME
• Polimorphisme adalah :
• konsep yang sangat handal bagi pengembang perangkat lunak untuk pemisahan secara jelas diantara sub sistem yang berbeda.
• Sebuah sistem akan bisa dimodifikasi secara mudah karena hanya dibutuhkan interface antar class.
• Contoh : Hitung Gaji,Baca Koran dll.
H. Generalisasi
• Generalisasi di OO digunakan untuk :
• menjelaskan hubungan kesamaan diantara class. Obyek-obyek class bisa diatur secara hierarkies.
• Manfaatnya :
• Bisa mengetahui antara class induk dengan class sub-sub dibawahnya.
• Minimal 1 atribut yang dimiliki class induk akan turun (mengalir) ke class-class subnya.
I. INHERITANCE
• Yang dimaksud dengan inheritance adalah:
• Apapun atribut dan operasi dari class induk akan dimiliki juga oleh semua obyek yang diinherit/diturunkan dari class tersebut.
• Sifat ini tidak hanya berlaku untuk obyek terhadap class, tetapi juga berlaku untuk class terhadap class lainnya.
J. ASOSIASI
• Asosiasi adalah :“kelas-kelas yang terhubungkan satu sama lain secara konseptual”
• Contoh :
• Ketika sebuah kelas berasosiasi dengan yang lain, setiap kelas biasanya memainkan peran pada asosiasi tersebut.
No comments:
Post a Comment