Hi, Assalamualaikum Warahmatulahi Wabarakatuh.
Bismillahirahmanirahim.
Kali ini aku bakal share penjelasan materi mata kuliah RPL Pertemuan 9 yaitu mengenai Perancangan Berorientasi Objek.
Semoga Bermanfaat! ✨
1. Pengenalan Sistem Berorientasi Objek
Sistem berorientasi objek terdiri
dari objek yang berinteraksi yang mempertahankan keadaan (state) lokal dan
menyediakan operasi pada state tersebut.
Representasi state bersifat pribadi dan tidak dapat diakses
langsung dari luar objek.
Proses desain berorientasi objek melibatkan perancangankelas
objek dan hubungan antara kelas-kelas tersebut.
2. Identifikasi Kelas Objek
Adapun tujuan mengidentifikasi kelas objek dalam sistem berorientasi
objek yaitu:
a. Menggunakan analisis gramatikal dari deskripsi
bahasa alami. Objek dan atribut adalah kata benda; operasi atau layanan adalah
kata kerja.
b. Menggunakan entitas nyata (benda) dalam domain
aplikasi seperti mobil, peran seperti manajer atau dokter, acara seperti
permintaan, interaksi seperti pertemuan, lokasi seperti kantor, unit organisasi
seperti perusahaan.
c. Menggunakan analisis berbasis skenario dimana
berbagai skenario penggunaan sistem diidentifikasi dan dianalisis secara
bergantian.
3. Istilah dalam Objek Oriented
a. Objek (Object)
Objek merupakan konsep atau abstraksi tentang sesuatu yang
memiliki arti untuk aplikasi yang akan dikembangkan. Objek harus diwakili
dengan kata benda. Contohnya:
* Objek orang/manusia: Karyawan, Mahasiswa.
* Objek tempat: Kantor, Gedung, Toko.
* Objek abstrak: Transaksi, Jadwal, Peminjaman.
* Objek organisasi: Divisi-IT, HRD.
* Objek peralatan/benda: Mobil, Buku, Baju.
b. Attribut (Attribute)
Suatu objek memiliki atribut tertentu yang merupakan karakteristik
yang menggambarkan objek. Suatu atribut dapat mengambil sebuah nilai yang ditentukan
berdasarkan domain yang dihitung. Contoh: Kelas MOBIL memiliki sebuah atribut WARNA.
Domain nilai untuk warna adalah {putih,hitam, perak, abu-abu, biru, merah,
kuning, hijau}.
Objek dapat memiliki atribut khusus yang disebut state. Keadaan
suatu objek adalah kata sifat yang menggambarkan status objek saat ini. Misalnya:
rekening bank dapat aktif, tidak aktif, tertutup, atau dibekukan.
c. Metode (Method)
Suatu metode yang mendefinisikan tugas-tugas spesifik yang dapat
dilakukan oleh suatu objek. Metode dituliskan dengan kata kerja yang menggambarkan
apa dan bagaimana suatu objek melakukan sesuatu. Misalnya: objek PELANGGAN
dapat melakukan tugas-tugas tertentu seperti melakukan pemesanan, membayar
tagihan, dan mengubah alamatnya.
d. Pesan (Message)
Pesan (Message) adalah perintah yang memberi tahu suatu objek untuk
melakukan metode tertentu. Misalnya: pesan TAMBAHKAN SISWA mengarahkan kelas
SISWA untuk menambahkan nomor siswa, nama, dan data lain tentang siswa itu.
Demikian pula, pesan bernama HAPUS SISWA memberi tahu kelas SISWA untuk
menghapus instance Siswa. Pesan yang sama untuk dua objek berbeda dapat menghasilkan
hasil yang berbeda.
e. Kelas (Class)
Kelas merupakan deskripsi umum tentang sebuah kumpulan
berisi objek-objek yang sama. Semua objek dalam kelas berbagi atribut dan
metode yang sama, sehingga kelas seperti blue print, atau template untuk semua
objek di dalam kelas. Superclass adalah generalisasi dari satu himpunan
kelas-kelas yang berhubungan. Subclass adalah spesialisasi dari superclass. Contoh:
superclass kendaraanBermotor adalah generalisasi dari kelas Truk, SUV, Minibus
dan Car. Subclass Minibus mewarisi semua atribut kendaraanBermotor, tetapi juga
menggabungkan atribut tambahan yang spesifik hanya untuk Minibus
4. Hubungan Antara Objek dan Kelas
Hubungan (relationship) memungkinkan objek untuk berkomunikasi dan
berinteraksi ketika mereka melakukan fungsi bisnis dan transaksi yang
diperlukan oleh sistem. Hubungan menggambarkan apa yang perlu diketahui objek
satu sama lain, bagaimana objek merespon perubahan pada objek lain, dan efek
keanggotaan dalam kelas, superclass, dan subclass.
Beberapa hubungan lebih kuat daripada yang lain (seperti hubungan
antara anggota keluarga lebih kuat dari satu hubungan antara kenalan biasa).
Hubungan terkuat disebut warisan.
5. Karakteristik Objek
a. Enkapsulasi (Encapsulation)
Data dan prosedur/fungsi dikemas bersama-sama dalam suatu objek, sehingga prosedur/fungsi lain dari luar tidak dapat mengaksesnya. Data terlindung dari prosedur atau objek lain kecuali prosedur yang berada dalam objek tersebut. Merupakan pembatasan ruang lingkup program terhadap data. Enkapsulasi memungkinkan objek untuk digunakan sebagai komponen modular di mana saja dalam sistem, karena objek mengirim dan menerima pesan tapitidak mengubah metode internal objek lain.
b. Pewarisan
(Inheritance)
Pewarisan adalah salah satu pembeda utama antara sistem konvensional
dan sistem berbasis objek. Subkelas Y mewarisi semua atribut dan operasi-
operasi yang terkait dengan superkelas X. Ini berarti semua struktur dan algoritma
data yang secara orisinal dirancang dan diimplementasikan untuk X segera
tersedia untuk Y. Perubahan apa pun pada atribut-atribut atau operasi- operasi
yang dimuat ke dalam sebuah superkelas, akan diwarisi oleh semua subkelas.
c. Polimorfis
(Polymorphism)
Polimorfis merupakan konsep yang menyatakan bahwa sesuatu yang
sama dapat mempunyai bentuk dan perilaku berbeda. Polimorfis juga mempunyai
arti bahwa operasi yang sama mungkin mempunyai perbedaan dalam kelas yang
berbeda. Polimorfis sangat mengurangi usaha yang diperlukan untuk memperluas perancangan
sistem berorientasi objek.
6. Kelas Perancangan
Model kebutuhan menentukan serangkaian kelas-kelas analisis yang
masing-masing kelas menggambarkan beberapa elemen masalah yang fokus pada
masalah yang dilihat oleh pengguna. Himpunan kelas-kelas perancangan adalah:
Memperhalus kelas-kelas analisis denganmenyediakan detail perancangan yang memungkinkan kelas-kelas bisa diimplementasikan
b.
Menciptakan suatu
himpunan kelas-kelas perancangan yang baru, yang mengimplementasikan suatu
infrastruktur PL yang mendukung solusi bisnis.
Kelas perancangan yang merepresentasikan lapisan berbeda dari
perancangan arsitektur:
a.
Kelas-kelas antarmuka.
Pengguna menentukan semua abstraksi yang diperlukan untuk interaksi manusia dengan
komputer
b.
Kelas-kelas bisnis.
Kelas-kelas mengidentifikasi atribut dan operasi/metode yang dibutuhkan untuk
mengimplementasikan beberapa elemen ranah bisnis.
c.
Kelas-kelas proses.
Mengimplementasikan abstraksi bisnis yang levelnya lebih rendah untuk
sepenuhnya mengelola kelas-kelas ranah bisnis.
d.
Kelas-kelas persisten.
Merepresentasikan data store yang akan terus ada setelah eksekusi PL.
e.
Kelas-kelas sistem.
Mengimplementasikan manajemen PL dan mengendalikan fungsi-fungsi agar mampu mengoperasikan
sistem dan berkomunikasi dengan dunia luar
Karakteristik Kelas Perancangan
a.
Lengkap dan cukup: Suatu
kelas perancangan harus menjadi enkapsulasi lengkap dari semua atribut dan
metode yang dapat layak diharapkan. Cukup berarti memastikan bahwa kelas perancangan
berisi hanya metode-metode yang cukup untuk mencapai tujuan kelas. Contoh:
kelas Scene adalah lengkap hanya jika kelas ini berisi semua atribut dan metode
yang dapat diasosiasikan dengan pembuatan suatu scene video.
b.
Sederhana: Metode yang
dihubungkan dengan sebuah kelas perancangan harus fokus ke pencapaian satu fungsi
spesifik pada kelas. Contoh: kelas VideoClip memiliki atribut StartPoint dan
EndPoint untuk mengindikasikan titik awal dan titik akhir.
c.
Kohesi tinggi: Kelas
perancangan kohesif adalah single minded. Artinya kelas ini memiliki satu
kumpulan kecil tanggung jawab yang fokus dan menerapkan atribut dan metode
untuk menjalankan tanggung jawab tersebut. Contoh: kelas VideoClip dapat berisi
satu kumpulan metode-metode untuk mengedit klip video. Kohesi dijaga asalkan
setiap metode fokus semata-mata pada atribut-atribut yang diasosiasikan dengan
klip video.
d.
Keterhubungan rendah: Jika
sebuah model perancangan memiliki keterhubungan tinggi (semua kelas perancangan
berkolaborasi dengan semua kelas perancangan lainnya), sistem menjadi sulit
diimplementasikan, diuji, dan dipelihara. Kelas perancangan pada subsistem
memiliki hanya pengetahuan terbatas tentang kelas-kelas lain. Pembatasan ini
dinamakan Law of Demeter yang menyatakan bahwa suatu metode seharusnya hanya
mengirim pesan ke metode-metode pada kelas-kelas yang berdekatan.
7. Pendekatan Pemrograman Terstruktur
Karakteristik Pendekatan Berorientasi. Prosedur/Fungsi:
a.
Penekanan pada sesuatu
yang harus dikerjakan (algoritma pemecahan masalah)
b.
Program berukuran besar
dipecah menjadi programprogram yang lebih kecil
c.
Kebanyakan
fungsi/prosedur berbagi data global
d.
Data bergerak secara
bebas dalam sistem dari satu
e.
fungsi ke fungsi yang
lain yang terkait
f.
Fungsi-fungsi
mentransformasi data dari satu bentuk ke
g.
bentuk yang lain
e.
Menggunakan pendekatan
top-down
8. Pendekatan Berorientasi Objek
Karakteristik Pada Pendekatan Berorientasi Objek:
a. Pendekatan lebih kepada data (bukan fungsi/prosedur)
b. Program besar dibagi menjadi beberapa objek
c. Struktur data dirancang dan menjadi karakteristik dari objek-objek
d. Fungsi-fungsi yang mengoperasikan data tergabung dalam suatu objek yang sama
e. Data tersembunyi dan terlindung dari fungs/prosedur yang ada di luar
f. Objek-objek dapat saling berkomunikasi dengan saling mengirim message satu sama laing. Menggunakan pendekatan bottom-up
Comments
Post a Comment