Anda di halaman 1dari 14

MAKALAH REKAYASA PERANGKAT LUNAK

DESAIN BERORIENTASI OBJEK


OOD (Object Oriented Design)

DOSEN PEMBIMBING
Bu Noor Fauziyah, S.Kom

Oleh:
Agus Anto (14552022112)

TEKNIK INFORMATIKA
UNIVERSITAS RADEN RAHMAT MALANG
2016

KATA PENGANTAR
Puji syukur kehadirat Allah SWT, rahmat, hidayah serta inayahnya penulis dapat
menyelesaikan makalah DESAIN BERORIENTASI OBJEK
OOD (Object Oriented Design).
Sholawat serta semoga akan selalu tercurahkan kepada Rasulullah SAW, yang telah
membawa kita dari jalan kegelapan menuju jalan yang terang benderang, dan yang kita
nantikan syafaatnya di dunia dan akhirat.
Penulis sadar bahwa dirinya hanyalah manusia biasanya yang pastinya mempunyai
banyak kesalahan, tentunya dalam makalah ini terdapat banyak kesalahan. Untuk itu penulis
mengharap kritik dan saran yang membangun demi kesempurnaan pengembangan berikutnya.
Semoga makalah ini dapat bermanfaat bagi mahasiswa Teknik Informatika khususnya
dan untuk mata kuliah Rekayasa Perangkat Lunak.
Selesainya makalah ini tentunya tidak terlepas dari berbagai pihak. Dalam lembar ini
penulis ingin mengucapkan terima kasih yang setinggi-tingginya kepada :
1.

Kedua orang tua penulis yang selalu mendukung penulis, yang selalu mendoakan

penulis dan selalu mendukung baik moril maupun materi.


2.

Rektor Universitas Raden Rahmat Malang yang telah memberikan kesempatan penulis

untuk mengembangkan bakat dan minatnya.


3.

Bu Nor Fauziyah, S.Kom selaku dosen pembimbing mata kuliah Rekayasa Perangkat

Lunak.
4.

Semua pihak yang telah berkenan memberikan dukungan dan semangat yang penulis

tidak bisa sebutkan satu-persatu, semoga Allah SWT melimpahkan rahmat, hidayah, serta
inayah-Nya.

Malang, 17 Januari 2016

Penulis

ii

DAFTAR ISI

KATA PENGANTAR .............................................................................................................. ii


DAFTAR ISI..............................................................................................................................iii
BAB I PENDAHULUAN..........................................................................................................1
BAB II PEMBAHASAN............................................................................................................2
2.1 Konsep Dasar OOD (Object Oriented Design).................................................................2
Karakteristik dari Object ................................................................................................... 5
2.2 Teknik Pemodelan dalam OOD .. 6
Tentag Pola Desain ............................................................................................................ 7
BAB III PENUTUP .... 16
3.1. Kesimpulan ...................................................................................................................16
REFERENSI ... 17

iii

BAB I
PENDAHULUAN

Secara tradisional rekayasa perangkat lunak dan manajemen basis data yang ada
merupakan disiplin ilmu yang terpisah. Teknologi basis data momfokuskan pada aspek-aspek
statik media penyimpanan informasi, sedangkan rekayasa perangkat lunak merupakan model
aspek dinamik dari perangkat lunak.
Dengan adanya generasi ketiga dari sistem manajemen basis data yang disebut Object
Database Management Systems (ODBMSs), dua disiplin ilmu tadi telah dikombinasikan
untuk menyediakan modelling yang dapat berjalan bersama yaitu data dan aksi pemrosesan
terhadap data. ODBMSs sering disebut Object Oriented DBMSs atau Object Data
Management Systems.
Object oriented merupakan suatu pendekatan baru dari pembuatan perangkat lunak
yang sangat menjanjikan untuk memecahkan beberapa masalah klasik dari pengembangan
perangkat lunak. Konsep yang mendasari teknik objek ini adalah bahwa seluruh software
sebaiknya dapat dibangun melebihi standar, komponen-komponen dapat digunakan kembali
apabila dimungkinkan.
OOD mengubah model konseptual yang dihasilkan dalam analisis berorientasi objek
memperhitungkan kendala yang dipaksakan oleh arsitektur yang dipilih dan setiap nonfungsional teknologi atau lingkungan kendala, seperti transaksi throughput, response time,
run waktu platform, lingkungan pengembangan, atau bahasa pemrograman.
Analisis dan desain berorientasi objek adalah cara baru dalam memikirkan suatu
masalah dengan menggunakan model yang dibuat menurut konsep sekitar dunia nyata. Dasar
pembuatan adalah objek, yang merupakan kombinasi antara struktur data dan perilaku dalam
satu entitas. Model berorientasi objek bermanfaat untuk memahami masalah, komunikasi
dengan ahli aplikasi, pemodelan suatu organisasi, menyiapkan dokumentasi serta perancangan
program dan basis data. Pertama-tama suatu model analisis dibuat untuk menggambarkan
aspek dasar dari domain aplikasi, di mana model tersebut berisi objek yang terdapat dalam
domain aplikasi termasuk deskripsi dari keterangan objek dan perilakunya.

BAB II
PEMBAHASAN
2.1 Konsep Dasar OOD (Object Oriented Design)
Desain berorientasi object adalah sebuah teknik yang memusatkan desain pada object
dan class berdasarkan pada skenario dunia nyata. Hal ini menegaskan keadaan(state),
behaviour dan interaksi dari object. Selain itu juga menyediakan manfaat akan kebebasan
pengembangan, meningkatkan kualitas, mempermudah pemeliharaan, mempertinggi
kemampuan dalam modifikasi dan meningkatkan penggunaan kembali software.
OOD mengubah model konseptual yang dihasilkan dalam analisis berorientasi objek
memperhitungkan kendala yang dipaksakan oleh arsitektur yang dipilih dan setiap nonfungsional teknologi atau lingkungan kendala, seperti transaksi throughput, response time,
run waktu platform, lingkungan pengembangan, atau bahasa pemrograman.
Desain berorientasi objek (object oriented design(OOD) ) mempergunakan desain data
ketika atribut direpresentasikan, desain interface ketika messaging model dikembangkan, dan
component level (procedural) design untuk desain operasi-operasi. Translasi model OOA ke
dalam model OOD dapat dilihat pada gambar.
Desain subsistem diturunkan dengan mempertimbangkan kebutuhan customer secara
keseluruhan (yang direpresentasikan dengan use-case), even dan state yang diobservasi secara
eksternal (object behavior model). Desain klas dan objek dipetakan berdasarkan deskripsi dari
atribut, operasi, dan kolaborasi yang terdapat dalam model CRC. Desain message diturunkan
dari object-relationship model. Dan desain responsibilities diturunkan menggunakan atribut,
operasi, dan kolaborasi yang digambarkan dalam model CRC.
Ada berbagai macam metoda OOD yang dibuat, seperti Booch, Rumbaugh, Jacobson,
Coad & Yourdon dan Wirfs-Brock. Meskipun terminologi dan proses untuk setiap metoda
OOD tersebut berbeda, secara keseluruhan proses OOD termasuk konsisten. Untuk
melaksanakan object-oriented design, ada beberapa langkah umum yang seharusnya
dilakukan :
a.

Gambarkan setiap subsistem dan alokasinya pada processor dan task.

b.

Pilih sebuah strategi desain untuk mengimplementasikan manajemen data, interface


support, dan manajemen task.

c.

Desain suatu mekanisme kontrol yang tepat untuk sistem

d.

Lakukan desain objek dengan membuat suatu representasi prosedural untuk setiap operasi
dan struktur data untuk setiap atribut klas.
2

e.

Lakukan desain message menggunakan kolaborasi di antara objek-objek dan hubungan


objek (object relationships).

f.

Buat messaging model.

g.

Tinjau model desain dan ulangi jika dibutuhkan.


Dalam OOD, motivasi utama untuk mengidentifikasi Class dan Object adalah untuk

menyesuaikan gambaran teknikal dari sebuah sistem lebih dekatnya pada gambaran
conceptual dan domain implementasinya. Kata berikutnya yang berhubungan dengan OOD
adalah design dan analysis.
Analysis. Suatu practice/ kegiatan yang mempelajari sebuah domain masalah,
menuntun ke sebuah spesifikasi dari perilaku pengamatan secara eksternal; sebuah statement/
pernyataan yang lengkap, konsisten dan bisa diterima dari apa yang diperlukan. Sebuah
ulasan dari kedua secara fungsional dan karakteristik operasional terukur(e.g., reliability,
availability, performance)
Design. Kegiatan dari pengambilan sebuah spesifikasi dari perilaku luar yang bisa
diamati dan menambahkan detail yang dibutuhkan untuk implementasi sistem komputer
terkini, termasuk interkasi antar manusia, menejemen tugas/fungsi, dan detail manajemen
data.
Desain perangkat lunak berada pada inti teknik dari rekayasa perangkat lunak dan
diaplikasikan tanpa memperhatikan model proses perangkat lunak yang digunakan. Begitu
persyaratan/ requirement pearngkat lunak telah mulai dianlisis dan ditentukan, maka desain
perangkat lunak menjadi yang pertama dari tiga aktivitas teknikdesain, pembuatan kode,
dan pengujianyang diperlukan untuk membangun dan menguji perangkat lunak. Masing
masing aktivitas memindahkan informasi dengan suatu cara untuk menghasilkan software
komputer yang tervalidasi. Desain berfungsi untuk menentukan bagaimana sistem beroperasi,
dalam hal ini termasuk pada hardware, software, dan infrastuktur network; user interface,
forms dan reports; dan program yang dibuat, database, dan files yang akan dibutuhkan. Fase
desain memiliki empat langkah: desain arsitektur, desain interface, spesifikasi database dan
file, dan desain program. Pada fase desain terdapat fase merancang class dan methods
individual. Sistem object-oriented bisa sedikit kompleks, maka analis harus membuat intruksi
dan petunjuk untuk programer yang secara jelas menggambarkan bagaimana sistem itu
bekerja.
Hubungan antara OOA, OOD dan OOP adalah: hasil pemodelan atau pengumpulan
objek dari OOA akan digunakan oleh OOD dan hasil dari OOD akan digunakan sebagai
blueprint untuk membangun sistem dengan menggunakan OOP.

OOAD adalah metode analisis yang memerikasa requirements dari sudut pandang
kelas kelas dan objek yang ditemui dalam ruang lingkup permasalahan yang mengarahkan
arsitektur software yang didasarkan pada manipulasi objek-objek system atau
subsistem.OOAD merupakan cara baru dalam memikirkan suatu masalah dengan
menggunakan model yang dibuat menurut konsep sekitar dunia nyata. Dasar pembuatan
adalah objek,yang merupakan kombinasi antara struktur data dan perilaku dalam satu entitas.
OOAD memandang bahwa pemodelan objek terdiri dari beberapa prinsip, yaitu:
abstraction, encapsulation, modularity, hierarchy, typing, concurrency, dan persistence.
Untuk mengelola kompleksitas sistem object-oriented dengan menggunakan prinsip
antara lain[Coad and Yourdon]: 4 (empat) prinsip yang pertama, yaitu: abstraction,
encapsulation, modularity dan hierarchy merupakan prinsip utama yang harus dimiliki oleh
sebuah objek, sedangkan 3 (tiga) prinsip yang terakhir, yaitu: typing, concurrency, dan
persistence merupakan prinsip yang mendukung (optional) ke empat prinsip utama tersebut.
OOAD mencakup analisis dan desain sebuah sistem dengan pendekatan objek, yaiut
analisis berorientasi objek (OOA) dan desain berorientasi objek (OOD). OOA adalah metode
analisis yang memerika requirement (syarat/keperluan) yang harus dipenuhi sebuah sistem)
dari sudut pandang kelas-kelas dan objek-objek yang ditemui dalam ruang lingkup
perusahaan. Sedangkan OOD adalah metode untuk mengarahkan arsitektur software yang
didasarkan pada manipulasi objek-objek sistem atau subsistem.
4

Karakteristik dari Objek


1. Objek
Objek adalah benda secara fisik dan konseptual yang ada di sekitar kita. Sebuah objek
memiliki keadaan sesaat yang disebut state. Objek dapat kongkrit, seperti halnya arsip
dalam sistem, atau konseptual seperti kebijakan penjadwalan dalam multiprocessing pada
sistem operasi. Dua objek dapat berbeda walaupun bila semua nilai atributnya identik.
State dari sebuah objek adalah kondisi dari objek atau himpunan keadaan yang
menggambarkan objek tersebut. State dinyatakan dengan nilai dari atribut objeknya.
Atribut adalah nilai internal suatu objek yang mencerminkan karakteristik objek,
kondisi sesaat, koneksi dengan objek lain dan identitas.
Behaviour (perilaku objek) mendefinisikan bagaimana sebuah objek bertindak dan
memberi reaksi. Behaviour ditentukan oleh himpunan semua atau beberapa operasi yang
dapat dilakukan oleh objek tersebut, yang dicerminkan oleh interface, service, dan method
dari objek tersebut.
Interface adalah pintu untuk mengakses service dari objek. Service adalah fungsi yang
dapat dikerjakan oleh sebuah objek. Method adalah mekanisme internal objek yang
mencerminkan perilaku objek tersebut

2. Kelas Objek
Kelas merupakan gambaran sekumpulan Objek yang terbagi dalam atribut, operasi,
metode, hubungan, dan makna yang sama. Suatu kegiatan mengumpulkan data (atribut)
dan perilaku (operasi) yang mempunyai struktur data sama ke dalam satu grup. Kelas
Objek merupakan wadah bagi Objek. Dapat digunakan untuk menciptakan Objek. Objek
mewakili fakta/keterangan dari sebuah kelas.

Istilah-istilah Objek
Atribut : Data item yang menegaskan Objek.
Operasi : Fungsi di dalam kelas yang dikombinasikan ke bentuk tingkah laku kelas.
Metode : Pelaksanaan prosedur (badan dari kode yang mengeksekusi respon terhadap
permintaan objek lain di dalam sistem).

2.2 Teknik Pemodelan dalam OOD


Model Objek :

Model objek Menggambarkan struktur statis dari suatu objek dalam sistem dan
relasinya

Model objek berisi diagram objek. Diagram objek adalah graph dimana nodenya
adalah kelas yang mempunyai relasi antar kelas.

Model Dinamik

Model dinamik menggambarkan aspek dari sistem yang berubah setiap saat.

Model dinamik dipergunakan untuk menyatakan aspek kontrol dari sistem.

Model dinamik berisi state diagram. State diagram adalah graph dimana nodenya
adalah state dan arc adalah tarnsisi antara state yang disebabkan oleh event.

Model Fungsional

Model fungsional menggambrakan transformasi nilai data di dalam sistem.

Model fungsional berisi data flow diagram. DFD adalah suatu graph dimananodenya
menyatakan proses dan arcnya adalah aliran data.

Tentang Pola Desain


Setiap pola menjelaskan berulang kali terjadi di sekitar kita, juga sebagai solusi
untuk masalah inti. - Christopher Alexander. Pola desain Perangkat Lunak menjelaskan
proses desain, masalah umum kelas solusi umum. Pola desain berorientasi objek
menggambarkan proses desain berorientasi obyek, adegan-adegan tertentu, objek kelas
untuk berkomunikasi satu sama lain antara hubungan organisasi umum.
Desain pola dan berorientasi obyek
Pola desain berorientasi objek untuk memecahkan objek "kelas untuk
berkomunikasi dengan setiap hubungan lain antara organisasi, termasuk peran mereka,
tanggung jawab, beberapa aspek pendekatan kolaboratif. Pola desain berorientasi objek
adalah "desain berorientasi objek yang baik", yang disebut "desain berorientasi obyek yang
bagus," yang memenuhi jawaban "untuk mengubah, memperbaiki ulang" desain. Perangkat
lunak berorientasi objek pola desain menggambarkan desain, sehingga tidak tergantung
pada bahasa pemrograman, pola desain berorientasi obyek, tetapi implementasi akhir
masih menggunakan bahasa pemrograman berorientasi objek untuk mengekspresikan.
Algoritma untuk teknik berorientasi objek seperti pola desain, Anda dapat menyalin
foto yang digunakan, didasarkan pada "object-oriented," terampil dan pemahaman
mendalam tentang dasar pengetahuan empiris. Pegang premis pola desain berorientasi
obyek adalah yang pertama untuk menguasai "berorientasi objek!"
Dari pemahaman intuitif bahasa pemrograman berorientasi obyek antara berbagai
bahasa pemrograman berorientasi obyek yang berbeda, tetapi mereka dapat melihat tiga
mekanisme utama dukungan berorientasi objek, yaitu: "enkapsulasi, pewarisan,
polimorfisme,"
- Paket, pelaksanaan internal yang tersembunyi
- Warisan, menggunakan kembali kode yang sudah ada
- Multi-state, ditulis ulang objek perilaku
Enkapsulasi
Dalam istilah berorientasi-objek, enkapsulasi berkaitan dengan penyembunyian
informasi. System-sistem yang tidak berorientasi-objek berdasarkan pada rutin dan
subprogram yang berbagi-pakai data global, atau yang menerima data yang dikirimkan
oleh pemanggil.Pendekatan berorientasi-objek, di pihak lain, mengadopsi konsep bahwa
data dan fungsi mestinya dipaketkan bersama ke dalam sebuah kapsul tunggal. Bentuk
kelas ini melayani maksud tersebut. Sebuah kelas terdiri dari elemen data dan elemen
7

pemrosesan. Elemen data sebuah kelas disebut attribute, dan operasi pemrosesan disebut
metodenya. Atribut dan metode merupakan anggota kelas: atribut adalah anggota data dan
metode adalah fungsi anggota.
Maksud enkapsulasi disini adalah menyembunyikan detail implementasi sementara
memusatkan pada antarmuka. Tujuannya adalah membuat sebuah abstraksi yang memaksa
programmer berpikir secara konseptual. Biasanya, anggota anggota data dari sebuah
kelas terlihat oleh penggunanya. Jika sebuah anggota data harus dibuat agar dapat diakses
oleh client kelas, maka kelas tersebut menyediakan sebuah metode yang memeriksanya
dan mengembalikan nilainya. Saat sebuah kelas mengekspos anggota data, ia dikatakan
memecahkan enkapsulasi.
Pewarisan
Pewarisan adalah keuntungan besar dalam pemrograman berbasis object karena
suatu sifat atau method didefinisikan dalam superclass, sifat ini secara otomatis diwariskan
dari semua subclasses. Jadi, Anda dapat menuliskan kode method hanya sekali dan mereka
dapat digunakan oleh semua subclass.
Dari konsep penurunan ini suatu kelas bisa diturunkan menjadi kelas baru yang
masih mewarisi sifat-sifat kelas orangtuanya. Hal ini dapat dianalogikan dengan kelas
manusia. Manusia merupakan turunan dari orang tuanya dan sifat-sifat orang tua diwarisi
olehnya. Bisa ditarik kesimpulan bahwa semua kelas di dunia selalu memiliki hirarki yang
menggambarkan silsilah kelas tersebut.
Polimorfisme
Polimorfisme (polymorphism) erat kaitannya dengan Pewarisan. Polimorfisme
adalah pemikiran bahwa objek dinamis suatu kelas dasar dapat berperilaku seperti kelas
turunan. Ketika objek tersebut menunjuk kelas dasar, objek tersebut berperilaku seperti
kelas dasar, tetapi ketika objek tersebut menunjuk kelas turunan, objek tersebut berperilaku
seperti kelas turunan. Dalam hal ini objek dapat memiliki beberapa bentuk, tergantung
pada saat itu kelas mana yang ditunjuk. Yang perlu menjadi catatan, bahwa perubahan
perilaku ini dari kelas dasar kepada kelas turunan, tidak dapat objek kelas turunan
menunjuk kelas dasar.
Polimorfisme dimungkinkan karena adanya mekanisme ikatan dinamis (dynamic
binding). Ikatan dinamis adalah ikatan yang terjadi pada saat program dijalankan (runtime). Ikatan yang terjadi pada saat kompile disebut ikatan statis. Ikatan dinamis hanya

dapat terjadi antara suatu objek dinamis dengan metode yang dinamis juga, dalam hal ini
metode virtualnya (maya).

BAB III
PENUTUP

3.1. Kesimpulan
Desain berorientasi object adalah sebuah teknik yang memusatkan desain pada
object dan class berdasarkan pada skenario dunia nyata.
OOAD adalah metode analisis yang memerikasa requirements dari sudut pandang
kelas kelas dan objek yang ditemui dalam ruang lingkup permasalahan yang
mengarahkan arsitektur software yang didasarkan pada manipulasi objek-objek system
atau subsistem.
Selama desain sistem tujuan sistem diorganisasi ke dalam sub-sistem berdasar pada
struktur analisa dan arsitektur yang dibutuhkan. System designer menentukan
karakteristik penampilan secara optimal, menentukan strategi memecahkan masalah, dan
menentukan pilihan alokasi sumber daya. Desain model berdasarkan model analisa tetapi
berisi detail implementasi. Fokus dari object design adalah perencanaan struktur data dan
algoritma yang diperlukan untuk implementasi setiap kelas. Objek domain aplikasi dan
objek domain komputer dijelaskan dengan menggunakan konsep dan notasi berorientasi
objek yang sama.
Teknik pemodelan dalam OOD meliputi model obyek, model dinamik dan model
fungsional.
Tiga mekanisme utama dukungan berorientasi objek, yaitu enkapsulasi, pewarisan,
polimorfisme.

10

REFERENSI

Booch Grady, et al. Object Oriented Analysis & Design With Applications, 3rd
Edition.2007.Pearson Education
http://aimyaya.com/id/komputer/desain-berorientasi-objek/
http://eprints.ums.ac.id/778/1/Emitor_RNR_CaseTool.pdf
http://tanzir.staff.gunadarma.ac.id/Downloads/files/6970/OOSysDev.ppt
http://www.softcov.com/id/design-and-optimization/object--oriented-design-patterns-andprinciples-1.html
http://sa3o.net/ringkasan-tentang-ooad/
http://iirc.ipb.ac.id/jspui/bitstream/123456789/17981/1/G08rha_abstract.pdf
http://www.softcov.com/id/design-and-optimization/object-oriented-relational-databasedesign.html
http://bimoananto.students-blog.undip.ac.id/
http://adesta2008.wordpress.com/
http://repository.usu.ac.id/bitstream/123456789/16461/5/Chapter%20I.pdf
http://ariefnote.blogspot.com/2009/03/diagram-object-object-oriented.html
http://www.softcov.com/id/design-and-optimization/new--perspective-on-object-orienteddesign.html
ratih.staff.gunadarma.ac.id/Downloads/files/.../OBJECT+ORIENTED.ppt
ayuliana_st.staff.gunadarma.ac.id/.../Pertemuan+07+-++(OOA+and+OOD+Testing).pdf
http://wibisoni.students-blog.undip.ac.id/2010/02/09/object-oriented-design-andquality-software/
http://zulvani.wordpress.com/2010/08/16/metodologi-booch%E2%80%99s-object-orientedanalysis-design-ooad/
lecturer.eepis-its.edu/~arna/.../8.%20Desain%20Object%20Oriented.pdf
http://dewa-hendra.blogspot.com/2010/04/i.html
http://blog.unsri.ac.id/destyrodiah/object-oriented-analysis-design-ooad/resume-ooad/pdf/7415/
http://sa3o.net/ringkasan-tentang-ooad/
http://trista-dears.blogspot.com/2010/05/object-oriented-database-ood.html
http://saiiamilla.wordpress.com/2010/06/04/ooad-object-oriented-analysis-dan-design/
http://logsmylife.wordpress.com/2010/04/28/konsep-dasar-object-oriented-programming-oop-dijava/

11

Anda mungkin juga menyukai