Analisis dan Perancangan Berorientasi Objek (Object-Oriented Analysis and Design/OOAD) merupakan pendekatan dalam pengembangan perangkat lunak yang mengandalkan konsep-konsep dasar dari pemrograman berorientasi objek. Dalam prosesnya, pendekatan ini berfokus pada analisis kebutuhan sistem dan perancangan solusi dengan cara memodelkan sistem sebagai kumpulan objek yang saling berinteraksi untuk menjalankan fungsi-fungsi tertentu.
👀Metodologi
Metodologi berorientasi objek merupakan strategi dalam pengembangan perangkat lunak yang memandang sistem sebagai kumpulan objek. Setiap objek menyimpan data dan memiliki operasi atau fungsi yang bisa dijalankan terhadap data tersebut. Pendekatan ini bukan sekadar teknik pemrograman, tapi juga cara pandang dalam memahami permasalahan dan merancang solusi. Dengan pendekatan berorientasi objek, sistem dikembangkan berdasarkan objek-objek yang merepresentasikan elemen-elemen di dunia nyata, sehingga lebih natural dan mudah dipahami oleh tim pengembang.
👀Konsep Dasar Kelas
Kelas bisa diartikan sebagai blueprint atau cetakan dari sekumpulan objek yang memiliki karakteristik dan perilaku yang sama. Dengan kata lain, kelas merupakan deskripsi dari satu atau lebih objek yang berbagi atribut dan layanan serupa. Selain itu, kelas juga menjelaskan bagaimana cara membuat atau membentuk objek-objek tersebut di dalam sistem.
👀Bagian dari Kelas
Atribut adalah variabel yang menyimpan data atau informasi mengenai keadaan suatu objek. Setiap objek dalam sebuah kelas bisa memiliki nilai atribut yang berbeda-beda, sesuai dengan kondisinya masing-masing.
Sementara itu, operation atau method—yang juga sering disebut layanan (service) atau operasi—adalah fungsi atau prosedur yang menggambarkan perilaku dari kelas dan objek tersebut. Method ini merupakan tanggung jawab objek, karena merekalah yang akan menjalankan logika atau aksi tertentu. Dalam pemrograman, method biasanya ditulis sebagai subprogram yang memanipulasi atau memanfaatkan atribut yang dimiliki objek.
👀Konsep Dasar Objek
Objek adalah representasi dari segala sesuatu, baik yang bersifat fisik seperti mobil atau meja, maupun yang bersifat konseptual seperti jadwal atau transaksi.
Dalam konteks pemrograman berorientasi objek, objek bisa dipahami sebagai entitas yang memiliki data dan identitas unik. Identitas inilah yang membedakan satu objek dengan objek lainnya, meskipun berasal dari kelas yang sama
👀Notasi OOAD (Whole part)
Dalam pemodelan berorientasi objek, sebuah objek bisa mewakili keseluruhan (whole) dan dapat dipecah menjadi bagian-bagian yang lebih kecil (parts). Hubungan antara whole dan part ini mirip dengan konsep kardinalitas dalam pemodelan Entity-Relationship (E-R), yang menunjukkan bagaimana elemen-elemen saling terhubung dalam suatu struktur.
Ada tiga jenis struktur whole-part yang umum digunakan:
1. Assembly-Part
Struktur ini menggambarkan satu kelas sebagai kumpulan dari berbagai elemen pembentuknya. Contohnya, sebuah PC bisa dianggap sebagai objek "whole", sementara bagian-bagian seperti hardisk, RAM, dan motherboard menjadi bagian-bagiannya (part).
2. Container-Contents
Dalam struktur ini, satu objek bertindak sebagai wadah yang berisi berbagai jenis objek lain. Misalnya, sebuah kotak pos sebagai "whole" bisa berisi berbagai macam isi seperti surat, majalah, atau kartu pos.
3. Collection-Members
Struktur ini menggambarkan satu kelas sebagai sebuah koleksi atau kumpulan, dan objek-objek anggotanya sebagai member dari koleksi tersebut. Misalnya, sebuah tim sepak bola adalah "whole", sedangkan para pemain adalah bagian-bagian atau anggotanya.
👀Karakteritik Metodologi Berorientasi
Objek
Dalam pengembangan sistem berorientasi objek, ada tiga karakteristik utama yang menjadi fondasi dari pendekatan ini. Ketiganya saling melengkapi dan berperan penting dalam membangun sistem yang fleksibel dan mudah dikembangkan.
1. Encapsulation (Pengkapsulan)
Konsep ini memungkinkan data dan fungsi yang bekerja pada data tersebut dibungkus menjadi satu kesatuan di dalam objek. Tujuannya adalah untuk menyembunyikan detail implementasi agar hanya bagian penting saja yang bisa diakses dari luar.
2. Inheritance (Pewarisan)
Pewarisan memungkinkan satu kelas mewarisi atribut dan method dari kelas lain. Dengan begitu, kita bisa membangun hierarki kelas yang efisien, serta mengurangi duplikasi kode.
3. Polymorphism (Polimorfisme)
Polimorfisme membuat objek bisa merespons terhadap satu antarmuka dengan cara yang berbeda-beda, tergantung pada kelasnya. Ini sangat berguna ketika kita ingin menulis kode yang lebih fleksibel dan mudah diperluas.
💢💢💢💢💢💢💢💢💢💢💢💢💢💢💢💢💢💢💢💢💢💢💢💢💢💢
Komentar
Posting Komentar