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
Rektor Universitas Raden Rahmat Malang yang telah memberikan kesempatan penulis
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.
Penulis
ii
DAFTAR ISI
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.
b.
c.
d.
Lakukan desain objek dengan membuat suatu representasi prosedural untuk setiap operasi
dan struktur data untuk setiap atribut klas.
2
e.
f.
g.
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
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).
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 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 berisi data flow diagram. DFD adalah suatu graph dimananodenya
menyatakan proses dan arcnya adalah aliran data.
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