253 495 1 SM
253 495 1 SM
PERANCANGAN
BERORIENTASI OBJEK
Dr. Ir. Sumijan, M.Sc
soe@upiyptk.org
sumijan@upiyptk.ac.id
Analisis Berientasi Objek
• Tahapan untuk menganalisis spesifikasi atau
kebutuhan akan sistem yang akan dibangun
dengan konsep berorientasi objek,apakah
benar kebutuhan yang ada dapat
diimplementasikan menjadi sistem
berorientasi objek.
• Analisis ini sebaiknya dilakukan oleh orang-
orang yang benar-benar memahami
implementasi sistem yang berbasis atau
berorientasi objek ,karena tanpa pemahaman
ini maka sistem yang dihasilkan bisa jadi tidak
realistis jika diimplementasikan.
• OOA (Object Oriented Analysis)
biasanya menggunkan kartu CRC
untuk membangun kelas-kelas yang
akan digunakan atau menggunakan
UML pada bagian diagram Use
Case,diagram kelas dan diagram
objek.
• Sebelum perkembangan UML ada
beberapa bahasa pemodelan yang
berkembang untuk memodelkan
sistem berorientasi objek.
Bahasa Pemodelan tersebut :
1. CRC
(Component,Responsibility,Collaborator).
2. Metode Booch.
3. OMT (Object Modelling Technique).
4. OOSE (Object Oriented Software
Engineering).
5. Metode Coad Yourdan.
CRC
• Merupakan bagian dari Object-Oriented
Programming,System,Languages And
Application(OOPSLA).
• Dibuat untuk bakal yang akan menjadi kelas yang
akan dianalisis.
• Berikut Contoh sebuah kartu CRC
Nama kelas : Manusia
Kelas Anak :
Atribut
Operasi
Mempunyai Atribut
Operasi
Pewarisan
Dinstansisasi
Digunakan
Nama Kelas Nama Kelas
Nama Kelas
Atribut Atribut
Atribut Operasi Operasi
Operasi
OMT
• Dikembangkan oleh James Rumbaugh
sebagai metode untuk mengembangkan
sistem berorientasi objek dan untuk
mendukung pemograman berorientasi
objek.
• Berikut adalah sebuah contoh.
Nama kelas Nama kelas
Atribut Atribut
Operasi Operasi
Operasi Operasi
Metode Coad Yourdan
• Menyediakan sebuah diagram kelas, pembuatannya
dengan langkah-langkah berkut :
1. Mendefenisikan kelas dan objek
2. Mengidentifikasi struktur kelas dan objek.
3. Mendefenisikan subjek nama kelas.
4. Mendefenisikan atribut.
5. Mendefenisikan operasi/layanan (service).
Nama Nama
Atribut Atribut
Layanan Layanan
Nama Nama
Atribut Atribut
Layanan Layanan Nama
Atribut
Layanan
Nama
Atribut
Layanan
Actor uses
Use case
uses
uses
uses
Use case
Use case
actor
• Metode yang paling banyak digunakan
adalah menggunakan UML .
• Metode-metode yang sudah dibahas
terdahulu menjadi dasar dalam
pengembangan metode UML.
Disain Berorientasi Objek
• Adalah tahapan perantara untuk
memetakan spesifikasi atau kebutuhan
sistem yang akan dibangun dengan konsep
berorientasi objek ke disain pemodelan
agar lebih mudah diimplementasikan
dengan pemograman berorientasi objek.
• Pemodelan berprientasi objek biasanya
dituangkan dalam dokumentasi perangkat
lunak dengan menggunakan perangkat
pemodelan berorientasi objek UML.
• Kendala dan permasalahan pembangunan
sistem berorientasi objek biasanya dapat
dikenali dalam tahap analisis.
• OOA & OOD dalam proses yang berulang-
ulang sering kali memiliki batasan yang
samar ,sehingga kedua tahapan ini disebut
OOAD (Object Oriented Analysis & Design).
CASE Tools
• Alat bantu untuk pengembangan perangkat
lunak agar hasilnya lebih baik dan waktu
pengerjaannya lebih singkat.
• Perangkat lunak yang termasuk CASE tools
dapat merupakan perangkat lunak dalam
tahap analisis,disain,dokumentasi maupun
implementasi ke dalam kode program dan
pengujian program.
Pengelompokan CASE Tools
1. Pendukung alur hidup perangkat lunak.
2. Dimensi Integritas.
3. Dimensi Konstruksi.
4. Dimensi CASE berbasis keilmuan.
Pengertian Pemograman Berorientasi
Objek
• Metodologi berorientasi objek adalah suatu
strategi pembangunan perangkat lunak
yang mengorganisasikan perangkat lunak
sebagai kumulan objek yang berisi data dan
operasi yang dilakukan terhadapnya.
• Metodologi berorientasi objek merupakan
suatu cara bagaimana sistem perangkat
lunak dibangun melalui pendekatan objek
secara sistematis.
• Metode berorientasi objek meliputi
rangkaian aktivitas analisis
berorientasi objek ,perancangan
berorientasi objek,pemograman
berorientasi objek dan pengujian
berorientasi objek.
• Metode berorientasi objek banyak
dipilih karena metodologi lama banyak
menimbulkan masalah.
Keuntungan Metodologi Berorientasi
Objek
1. Meningkatkan produktivitas.
2. Kecepatan pengembangan.
3. Kemudahan pemeliharaan.
4. Adanya konsistensi.
5. Meningkatkan kualitas perangkat lunak.
• Meningkatkan Produktivitas karena kelas dan
objek yang ditemukan dalam masalah masih dapat
dipakai ulang untuk masalah lainnya yang melibatkan
objek tersebut (reusable).
• Kecepatan Pengembangan karena sistem yang
dibangun dengan baik dan benar pada saat analisis
dan perancangan akan menyebabkan berkurangnya
kesalahan pada saat pengodean
• Kemudahan pemeliharaan karena dengan
model objek,pola-pola yang cenderung tetap
dan stabil .
• Adanya Konsistensi karena sifat pewarisan
dan penggunaan notasi yang sama pada saat
analisis,perancangan maupun pengodean.
• Meningkatkan Kualitas Perangkat Lunak
karena pendekatan pengembangan lebih dekat
dengan dunia nyata dan adanya konsistensi
pada saat pengembangannya , perangkat lunak
yang dihasilkan akan mampu memenuhi
kebutuhan pemakai .
• Bahasa Pemograman yang mendukung pemograman
berorientasi objek :
1. Bahasa Pemograman Smalltalk.
2. Bahasa Pemograman Eiffel.
3. Bahasa Pemograman C++
4. Bahasa Pemograman Java.
5. Bahasa Pemograman PHP (web).
Konsep Dasar Berorientasi Objek
• Pendekatan berorientasi objek merupakan
suatu teknik atau cara pendekatan dalam
melihat permasalahan dalam sistem.
• Pendekatan berorientasi objek akan
memandang sistem yang akan
dikembangkan sebagai suatu kumpulan
objek yang berkorespondensi dengan
objek dunia nyata.
• Dalam rekayasa perangkat lunak konsep
pendekatan berorientasi objek dapat
diterapkan pada tahap
analisis,perancangan, pemograman dan
pengujian perangkat lunak.
• Ada berbagai teknik yang dapat digunakan
pada masing-masing tahap tersebut dengan
aturan dan alat bantu pemodelan tertentu.
• Sistem berorientasi objek merupakan sebuah
sistem yang dibangun dengan berdasarkan
metode berorientasi objek adalah sebuah
sistem yang komponennya dibungkus
(enkapsulasi) menjadi kelompok data dan
fungsi.
• Setiap komponen dalam sistem tersebut dapat
mewarisi atribut dan sifat dari komponen lain
dan dapat berinteraksi satu sama lain.
Konsep Dasar Metodologi Berorientasi
Objek
1. Kelas (Class) 9. Reusability
2. Objek (Object) 10. Generalisasi
3. Metode (Method) 11. Komunikasi
4. Atribut (Attribute) 12. Polymorfisme
5. Abstraksi (Abstraction) 13. Package
6. Enskapsulasi (Encapsulation)
7. Pewarisan (Inheritance)
8. Antarmuka
• Kelas (Class) kumpulan objek-objek
dengan karakter yang sama. Sebuah kelas
mempunyai sifat(atribut),kelakuan
(operasi/metode),hubungan (relationship)
dan arti. Suatu kelas dapat diturunkan dari
kelas yang lain,dimana atribut dan kelas
semula dapat diwariskan ke kelas yang baru.
Kelas adalah sebuah struktur tertentu dalam
pembuatan perangkat lunak. Kelas
merupakan bentuk struktur pada kode
program yang menggunakan metodologi
berorientasi objek.
• Objek (Object) abstraksi dan sesuatu
yang mewakili dunia nyata. Objek
merupakan suatu entitas yang mampu
menyimpan informasi (status) dan
mempunyai operasi (kelakuan) yang dapat
diterapkan.
• Metode operasi atau metode pada kelas
hampir sama dengan fungsi atau prosedur
pada metodologi terstruktur. Operasi
merupakan fungsi atau transformasi yang
dapat dilakukan terhadap objek atau
dilakukan objek.
• Atribut variabel global yang dimiliki kelas.
Atribut dapat berupa nilai atau elemen –
elemen data yang dimiliki oleh objek dalam
kelas. Atribut dipunyai secara individu oleh
suatu objek misalnya berat,jenis.
• Abstraksi prinsip untuk merepresentasikan
dunia nyata yang kompleks menjadi suatu
bentuk model yang sederhana dengan
mengabaikan aspek-aspek lain yang tidak
sesuai dengan masalah.
• Enskapsulasi pembungkusan atribut
data dan layanan (operasi-operasi) yang
dipunyai objek untuk menyembunyikan
implementasi dan objek sehingga objek
lain tidak mengetahui cara kerjanya.
• Pewarisan mekanisme yang
memungkinkan satu objek mewarisi
sebagian atau seluruh dan objek lain
sebagai bagian dari dirinya.
• Antar muka biasanya digunakan agar
kelas yang lain tidak mengakses langsung ke
suatu kelas.
• Reusability pemanfaatan kembali objek
yang sudah didefenisikan untuk suatu
permasalahan pada permasalahan lainnya
yang melibatkan objek tersebut.
• Generalisasi & spesialisasi menunjukan
hubungan antar kelas dan objek yang umum
dengan kelas dan objek yang khusus.
• Komunikasi Antar Objek dilakukan lewat
pesan (message) yang dikirim dari satu
objek ke objek lainnya.
• Polimorfisme kemampuan suatu objek
untuk digunakan di banyak tujuan yang
berbeda dengan nama yang sama sehingga
menghemat program.
• Package sebuah kontainer atau kemasan
yang dapat digunakan untuk mengelompok
kelas-kelas yang bernama sama disimpan
dalam package yang berbeda.
Perbandingan Pendekatan OO &
Terstruktur
• Perbedaan yang paling dasar dari pendekatan
terstruktur dan pendekatan OO adalah pada
metode berorientasi fungsi atau aliran data
dekomposisi permasalahan dilakukan berdasarkan
fungsi atau proses secara hierarki mulai dari
konteks sampai proses yang lebih kecil.
• Pada metode berorientasi objek dekomposisi
permasalahan dilakukan berdasarkan objek-objek
yang ada dalam sistem.
• Pendekatan terstruktur mempunyai kelebihan
dalam kemudahan untuk memahami sistem.
Konsep dekomposis permasalahan mulai dari
paling dasar (diagram konteks) sampai paling
detail cukup memudahkan dalam pemahaman
bentuk sistem khususnya bagi user yang
mempunyai pemahaman tentang sistem yang
cukup rendah.
• Pendekatan berorientasi objek mempunyai
kelebihan dalam peningkatan produktivitas karena
mempunyai reusability yang cukup tinggi dibanding
dengan pendekatan lain.
• Kelas-kelas dalam pemograman berorientasi objek
dapat dengan mudah dimanfaatkan untuk sistem
lain yang dikembangkan.
Sistem
akademik
Composite Interaction
structure diagram Overview diagram
Package Diagram
Deployment
diagram
• Structure Diagram yaitu kumpulan diagram yang
digunakan untuk menggambarkan suatu struktur
statis dari sistem yang dimodelkan.
• Behavior Diagram yaitu kumpulan diagram yang
dgunakan untuk menggambarkan kelakuan sistem
atau rangkaian perubahan pada sebuah sistem.
• Interaction Diagram yaitu kumpulan diagram yang
digunakan untuk menggambarkan interaksi sistem
dengan sistem lain maupun interaksi antar sub
sistem pada suatu sistem.
Class Diagram
• Menggambarkan struktur sistem dari segi
pendefenisian kelas-kelas yang akan dibuat
untuk membangun sistem.
• Kelas memiliki apa yang disebut atribut dan
metode atau operasi.
• Atribut merupakan variabel –variabel yang
dimiliki suatu kelas & operasi atau metode
adalah fungsi-fungsi yang dimiliki suatu
kelas.
• Kelas-kelas yang ada pada struktur sistem harus dapat melakukan fungsi-fungsi sesuai
dengan kebutuhan sistem.
• Susunan struktur kelas yang baik pada diagram kelas sebaiknya memiliki jenis kelas
berikut :
1. Kelas Main kelas yang memiliki fungsi awal dieksekusi ketika sistem dijalankan.
2. Kelas yang menangani tampilan Sistem kelas yang mendefenisikan dan mengatur
tampilan pemakai.
3. Kelas yang diambil dari Pendefenisian Use Case kelas yang menangani fungsi-
fungsi yang harus ada diambil dari pendefenisian use case.
4. Kelas yang diambil dari Pendefenisian Data Kelas yang digunakan untuk
membungkus data .
• Dalam mendefenisikan metode yang ada
dalam kelas perlu memperhatikan
Cohesion & Coupling.
• Cohesion adalah ukuran seberapa dekat
keterkaitan instruksi di dalam sebuah
metode terkait satu sama lain.
• Coupling adalah ukuran seberapa dekat
keterkaitan instruksi antara metode yang
satu dengan metode yang lain dalam
sebuah kelas.
Simbol Deskripsi
Kelas Kelas pada struktur sistem
Nama_kelas
+atribut
+operasi()
View
Simbol Deskripsi
Package Package merupakan sebuah bunkusan
dari satu atau lebih komponen
portName: EntityName[n]
property Port digambarkan menempel
property jika fungsi tersebut dapat
diakses public.cSedangkan port
Port multeplicity (optional) digambarkan di dalam suatu
property jika fungsi tersebut bersifat
PortName: EntityName[n] protected.
Package Diagram
• Menyediakan cara mengumpulkan elemen-
elemen yang saling terkait dalam diagram
UML.
• Hampir semua diagram pada UML dapat
dikelompokkan menggunakan package
diagram.
Simbol Deskripsi
Package Package
merupakan sebuah
bungkusan dari
package suatu atau lebih
kelas atau elemen
diagram UML
lainnya.
Elemen dalam package digambarkan di dalam package
utilitles
Timer Queue
Semaphore
Elemen dalam package digambarkan di luar package
Utilitles
package
……………………………..
Aktor / actor Orang, proses, atau sistem lain yang berinteraksi dengan sistem
informasi yang akan dibuat di luar sistem informasi yang akan dibuat
itu sendiri, jadi walaupun simbol dari aktor adalah gambar orang,
tapi aktor belum tentu merupakan orang; biasanya dinyatakan
menggunakan kata benda di awal frase nama aktor
Asosiasi / association Komunikasi antara aktor dan use case yang berpartisipasi pada use
case atau use case memiliki interaksi dengan aktor
Ekstensi / extend Relasi use case tambahan ke sebuah use case di mana use case yang
ditambahkan dapat berdiri sendiri walau tanpa use case tambahan
itu; mirip dengan prinsip inheritance pada pemograman berorientasi
objek; biasanya use
Simbol Deskripsi
Case tambahan memiliki nama depan yang sama dengan use
<<extend>> case yang ditambahkan, misal
…………………..
Validasi
username
<<extend>>
Validasi user
<<extend>>
Validasi sidik
jari
Arah panah mengarah pada use case yang ditambahkan
Generalisasi / generalization Hubungan generalisasi dan spesialisasi (umum-khusus) antara
dua buah use case dimana fungsi yang satu adalah fungsi
yang lebih umum dari lainnya, misalnya:
Ubah data
Mengola
data
Simbol Deskripsi
<<include>> Fungsinya atau sebagaisyarat dijalankan use case ini
………………………. Ada dua sudut pandang yang cukup besar mengenai include di use case:
• Include berarti use case yang ditambahkan akan
Selalu dipanggil saat use case tambahan dijalankan,
<<uses>> Misal pada kasus beikut:
Validasi
username
<<include>>
login
• include berarti use case yang tambahan akan selalu
melakukan pengecekan apakah use case yang ditambahkan
telah dijalankan sebelum use case tambahan dijalankan
s sebelum use case tambahan dijalankan, misal pada khusus
berikut:
Validasi
<<include>> user
Aktivitas
atau
Nama swimlane
State Machine Diagram
• Menggambarkan perubahan status dari sebuah
mesin atau sistem.
• Perubahan tersebut digambarkan dalam sebuah
graf berarah.
• Cocok digunakan untuk menggambarkan alur
interaksi pengguna dengan sistem.
Simbol Deskripsi
Start (Initial state) Start atau initial state adalah state atau
keadaan awal pada saat sistem mulai
kehidupan.
End (Final state) End atau final state adalah state keadaaan
akhir dari daur hidup suatu sistem.