BERORIENTASI OBJEK
Di Sajikan :
Ferly Ardhy, S.Kom., M.TI
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.
Kelas Anak :
Atribut Mempunyai
Atribut
Operasi 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]
Port digambarkan menempel
property property jika fungsi tersebut dapat
diakses public.cSedangkan port
digambarkan di dalam suatu
Port multeplicity (optional)
property jika fungsi tersebut
bersifat protected.
PortName: EntityName[n]
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
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.