Kamis, 18 November 2021

Perancangan Object Oriented


1. Identifikasi Kelas Objek

Tujuan mengidentifikasi kelas objek dalam sistem 
berorientasi objek:
1. Gunakan analisis gramatikal dari deskripsi bahasa 
alami. Objek dan atribut adalah kata benda; operasi 
atau layanan adalah kata kerja.
2. Gunakan 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.
3. Gunakan analisis berbasis skenario dimana berbagai 
skenario penggunaan sistem diidentifikasi dan dianalisis 
secara bergantian.

2. Istilah dalam Objek Oriented

1. OBJEK (Object)
• Objek adalah konsep atau abstraksi tentang 
sesuatu yang memiliki arti untuk aplikasi yang akan 
dikembangkan
• Objek diwakili dengan kata benda
• Objek dapat berupa:
➢ 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

2. ATRIBUT (Attribute)
• Suatu objek memiliki atribut tertentu yang merupakan
karakteristik yang menggambarkan objek.
• Suatu atribut dapat mengambil sebuah nilai yang 
ditentukan berdasarkan domain yang dihitung.
• Domain merupakan satu himpunan nilai-nilai spesifik.
• 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

3. METODE (Method)
• Suatu metode 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.

4. 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.

Contoh Pesan :

Objek INSTRUCTOR mengirim pesan ENTER GRADE ke instance kelas STUDENT RECORD.
Objek INSTRUCTOR dan kelas STUDENT RECORD dapat digunakan kembali dengan sedikit modifikasi, di sistem informasi sekolah lain dimana banyak atribut dan metode akan serupa

Contoh Pesan :

5. KELAS (Class)
Kelas adalah deskripsi umum yang menggambarkan 
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.

Contoh Kelas dan Subkelas :

3. 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.

4. 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 
tetapi tidak mengubah metode internal objek lain.

Contoh Enkapsulasi :
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.

Contoh Pewarisan :
C. Polimorfis (Polymorphism)
• 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

Contoh Polimorfis :

5. 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
1. memperhalus kelas-kelas analisis dengan 
menyediakan detail perancangan yang 
memungkinkan kelas-kelas bisa diimplementasikan
2. 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.

A. Karakteristik Kelas Perancangan
a. Lengkap dan cukup
• Suatu kelas perancangan seharusnya 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 
layak diasosiasikan dengan pembuatan suatu scene 
video.

b. Sederhana
• Metode-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.

6. Pendekatan Pemrograman Terstruktur

Karakteristik Pendekatan Berorientasi 
Prosedur/Fungsi:
a. Penekanan pada sesuatu yang harus dikerjakan 
(algoritma pemecahan masalah)
b. Program berukuran besar dipecah menjadi program-
program yang lebih kecil
c. Kebanyakan fungsi/prosedur berbagi data global
d. Data bergerak secara bebas dalam sistem dari satu
fungsi ke fungsi yang lain yang terkait
e. Fungsi-fungsi mentransformasi data dari satu bentuk ke 
bentuk yang lain
f. Menggunakan pendekatan top-down

Struktur Umum Pemrograman Terstruktur :
Hubungan Data dan Fungsi pada Pemrograman Terstruktur :

7. Pendekatan Berorientasi Objek

Karakteristik Pada Pendekatan Berorientasi Objek:
• Pendekatan lebih kepada data (bukan fungsi/prosedur)
• Program besar dibagi menjadi beberapa objek
• Struktur data dirancang dan menjadi karakteristik dari 
objek-objek
• Fungsi-fungsi yang mengoperasikan data tergabung 
dalam suatu objek yang sama
• Data tersembunyi dan terlindung dari fungs/prosedur
yang ada di luar
• Objek-objek dapat saling berkomunikasi dengan saling 
mengirim message satu sama lain
• Menggunakan pendekatan bottom-up

Pengorganisasian Data dan Metode (Fungsi) pada Pendekatan Berorientasi Objek :

Tidak ada komentar:

Posting Komentar