By : Unknown
Referensi
PERANCANGAN BERORIENTASI OBJEK DAN UNIFIED MODELING LANGUAGE(UML)
Perancangan berorientasi objek adalah suatu cara pendekatan
terhadap masalah dari perspektif obyek, tidak pada perspektif fungsional
seperti pada pemrograman terstruktur . Pengertian "berorientasi
objek" berarti bahwa kita mengorganisasi perangkat lunak sebagai kumpulan
dari objek tertentu yang memiliki struktur data dan perilakunya.
Sistem
berorientasi objek merupakan sebuah sistem yang dibangun dengan berdasarkan
metode berorientasi objek adalah sebuah sistem yang komponennva dibungkus
(dienkapsulasi) menjadi kelompok data dan fungsi. Setiap komponen dalam sistem
tersebut dapat mewarisi atribut dan sifat dan komponen lainnya. dan dapat
berinteraksi satu sama lain.
1. Tools Yang Digunakan
- Object
Oriented Analysis (OOA) dan Object Oriented Design (OOD) dari Peter Coad
dan Edward Yourdon [1990].
- Object
Modeling Technique (OMT) dan James Rumbaugh, Michael Blaha, William
Premerlan, Frederick Eddy dan William Lorensen [1991].
- Object
Oriented Software Engineering (OOSE) dan Ivar Jacobson [1992].
- Booch
Method dan Grady Booch [1994].
- Sritrop
dan Steve Cook dan John Daniels [1994].
- UML
(Unified Modeling Language) dari James Rumbaugh. Grady Booch dan Ivar
Jacobson [1997].
2.
konsep dasar yang harus dipahami tentang metodologi
berorientasi objek
1.
Kelas (class)
Kelas adalah kumpulan objek-objek dengan karakteristik yang sama. Kelas
merupakan definisi statik dan himpunan objek yang sama yang mungkin lahir atau
diciptakan dan kelas tersebut. Sebuah kelas akan mempunvai sifat (atribut).
kelakuan (operasi/metode), hubungan (relationship) dan arti. Suatu kelas dapat
diturunkan dan kelas yang lain, dimana atribut dan kelas semula dapat
diwariskan ke kelas yang baru. Secara
teknis, kelas adalah sebuah struktur tertentu dalam pembuatan perangkat lunak.
Kelas merupakan bentuk struktur pada kode program yang menggunakan metodologi
berorientasi objek.
2. Objek (object)
Objek adalah abstraksi dan sesuatu yang mewakili dunia nyata seperti
benda, manusia, satuan organisasi, tempat, kejadian, struktur, status, atau
hal-hal lain yang bersifat abstrak. Objek merupakan suatu entitas yang mampu
menyimpan informasi (status) dan mempunvai operasi (kelakuan) yang dapat
diterapkan atau dapat berpengaruh pada status objeknya. Objek mempunyai siklus
hidup yaitu diciptakan, dimanipulasi, dan dihancurkan.
3. Metode (method)
Operasi atau metode atau method pada sebuah kelas hampir sama dengan
fungsi atau prosedur pada metodologi struktural. Sebuah kelas boleh memiliki
lebih dan satu metode atau operasi. metode atau operasi yang berfungsi untuk
memanipulasi objek itu sendiri. Operasi atau metode merupakan fungsi atau
transformasi yang dapat dilakukan terhadap objek atau dilakukan oleh objek.
4. Atribut (attribute)
Atribut dan
sebuah kelas adalah variabel global yang dimiliki sebuah kelas. Atribut dapat berupa
nilai atau elemen-elemen data yang dimiliki oleh objek dalam kelas objek.
Atribut dipunyai secara individual oleh sebuah objek, misalnya berat, jenis,
nama, dan sebagainya. Atribut sebaiknya bersifat privat untuk menjaga konsep
enkapsulasi.
5. Abstraksi (abstraction)
Prinsip untuk merepresentasikan dunia nyata yang kompleks menjadi satu
bentuk model yang sederhana dengan mengabaikan aspek-aspek lain yang tidak
sesuai dengan permasalahan.
6. Enkapsulasi (encapsulation)
Pembungkusan atribut data dan layanan (operasi-operasi) yang dipunyai
objek untuk menyembunyikan implementasi dan objek sehingga objek lain tidak mengetahui
cara kerja nya.
7. Pewarisan (inheritance)
Mekanisme yang memungkinkan satu objek mewarisi sebagian atau seluruh
definisi dan objek lain sebagai bagian dan dirinya.
8. Antarmuka (interface)
Antarmuka atau interface sangat mirip dengan kelas, tapi tanpa atribut
kelas dan memiliki metode yang dideklarasikan tanpa isi. Dekiarasi metode pada
sebuah interface dapat diimplementasikan oleh kelas lain. Sebuah kelas dapat
mengimplementasikan lebih dan satu antarmuka dimana kelas ini akan
mendeklarasikan metóde pada antarmuka yang dibutuhkan oleh kelas itu sekaligus
mendefinisikan isinya pada kode program kelas itu.
Metode pada antarmuka yang
diimplementasikan pada suatu kelas harus sama persis dengan yang ada pada
antarmuka. Antarmuka atau interface biasanya digunakan agar kelas yang lain
tidak mengakses langsung ke suatu kelas, mengakses antarmukanya.
9. Reusabilily
Pemanfaatan kembali objek yang sudah didefinisikan untuk suatu
permasalahan pada permasalahan lainnya yang melibatkan objek tersebut. Misalkan
dalam sebuah aplikasi peminjaman buku diperlukan kelas Anggota, maka ketika
membuat aplikasi penyewaan VCD, kelas anggota ini bisa digunakan kembali dengan
sedikit perubahan untuk aplikasi penyewaan VCD tanpa harus membuat dan awal
kembali.
10. Generalisasi dan Spesialisasi
Menunjukkan hubungan antara kelas dan objek yang umum dengan kelas dan
objek yang khusus. Misalnya kelas yang lebih umum (generalisasi) adalah
kendaraan darat dan kelas khususnya (spesialisasi) adalah mobil, motor, dan
kereta.
11. Komunikasi Antar Objek
Komunikasi
antar-objek dilakukan lewat pesan (message) yang dikirim dari satu objek ke
objek lainnya.
12. Polimorfisme (polymorphism)
Kemampuan suatu objek untuk digunakan di banyak tujuan yang berbeda
dengan nama yang sama sehingga menghemat bans program.
13. Package
Package adalah sebuah kontainer atau kemasan yang dapat digunakan untuk
mengelompokkan kelas-kelas sehingga memungkinkan beberapa kelas yang bernama
sama disimpan dalam package yang berbeda. ilustrasi dan sebuah package dapat
dilihat pada gambar berikut.
3.
Metodelogi
Perancangan Berorientasi Objek Metodologi
Perancangan Terstruktur
Encapsulation
- Encapsulation merupakan dasar untuk pembatasan
ruang lingkup program terhadap data yang diproses.
- Data dan prosedur atau fungsi dikemas
bersama-sama dalam suatu objek, sehingga prosedur atau fungsi lain dari
luar tidak dapat mengaksesnya.
- Data terlindung dari prosedur atau objek lain,
kecuali prosedur yang berada dalam objek itu sendiri.
Inheritance
- Inheritance adalah teknik yang menyatakan bahwa
anak dari objek akan mewarisi data/atribut dan metode dari induknya
langsung. Atribut dan metode dari objek dari objek induk diturunkan kepada
anak objek, demikian seterusnya.
- Inheritance mempunyai arti bahwa atribut dan operasi
yang dimiliki bersama di anatara kelas yang mempunyai hubungan secara
hirarki.
- Inheritance menggambarkan generalisasi sebuah
kelas.
Polymorphism
- Polimorfisme yaitu konsep yang menyatakan bahwa
sesuatu yang sama dapat mempunyai bentuk dan perilaku berbeda.
- Kemampuan objek-objek yang berbeda untuk
melakukan metode yang pantas dalam merespon message yang sama.
- Seleksi dari metode yang sesuai bergantung pada
kelas yang seharusnya menciptakan objek.

Unified Modelling Language
Unified Modelling Language adalah suatu metode permodelan secara visual untuk sarana
perancangan sistem berorientasi objek, atau definisi UML yaitu sebagai
suatu bahasa yang sudah menjadi standar pada visualisasi, perancangan dan juga
pendokumentasian sistem software. Saat ini UML sudah menjadi bahasa
standar dalam penulisan blue print software.
1. Tujuan atau fungsi dari penggunaan UML
Inilah beberapa tujuan
atau fungsi dari penggunaan UML, yang diantaranaya:
- Dapat
memberikan bahasa permodelan visual kepada pengguna dari berbagai macam
pemerograman maupun proses rekayasa.
- Dapat
menyatukan praktek-praktek terbaik yang ada dalam permodelan.
- Dapat
memberikan model yang siap untuk digunakan, merupakan bahasa permodelan
visual yang ekspresif untuk mengembangkan sistem dan untuk saling menukar
model secara mudah.
- Dapat
berguna sebagai blue print, sebab sangat lengkap dan detail dalam
perancangannya yang nantinya akan diketahui informasi yang detail mengenai
koding suatu program.
- Dapat
memodelkan sistem yang berkonsep berorientasi objek, jadi tidak hanya
digunakan untuk memodelkan perangkat lunak (software) saja.
- Dapat
menciptakan suatu bahasa permodelan yang nantinya dapat dipergunakan oleh
manusia maupun oleh mesin.
2. Jenis-Jenis diagram UML
·
Use case diagram
Use case diagram yaitu
salah satu jenis diagram pada UML yang menggambarkan interaksi antara sistem
dan aktor, use case diagram juga dapat men-deskripsikan tipe interaksi antara
si pemakai sistem dengan sistemnya.
·
Activity Diagram
Activity diagram atau
diagram aktivitas yaitu salah satu jenis diagram pada UML yang dapat memodelkan
proses-proses apa saja yang terjadi pada sistem.
·
Sequence diagram
Sequence diagram yaitu
salah satu jenis diagram pada UML yang menjelaskan interaksi objek yang
berdasarkan urutan waktu, sequence diagram juga dapat menggambarkan urutan atau
tahapan yang harus dilakukan untuk dapat menghasilkan sesuatu seperti pada use
case diagram.
·
Class diagram
Class diagram yaitu
salah satu jenis diagram pada UML yang digunakan untuk menampilkan kelas-kelas
maupun paket-paket yang ada pada suatu sistem yang nantinya akan
digunakan. Jadi diagram ini dapat memberikan sebuah gambaran mengenai
sistem maupun relasi-relasi yang terdapat pada sistem tersebut.
·
Statemachine diagram
Statemachine diagram
yaitu salah satu jenis diagram pada UML yang menggambarkan transisi maupun
perubahan keadaan suatu objek pada sistem.
·
Communication diagram
Communication diagram
yaitu salah satu jenis diagram pada UML yang dapat menggamabarkan tahapan
terjadinya suatu aktivitas dan diagram ini juga menggambarkan interaksi antara
objek yang ada pada sistem. Hampir sama seperti sequence diagram akan tetapi
communication diagram lebih menekankan kepada peranan masing-masing objek pada
sistem.
·
Deployment diagram
Deployment diagram
yaitu salah satu diagram pada UML yang menunjukan tata letak suatu sistem
secara fisik, dapat juga dikatakan untuk menampilkan bagian-bagian softwere
yang terdapat pada hardwere dan digunakan untuk menerapkan suatu sistem
dan hubungan antara komponen hardwere. Jadi Deployment diagram intinya untuk
menunjukan letak softwere pada hardwere yang digunakan sistem.
·
Component diagram
Component diagram
yaitu salah satu jenis diagram pada UML yang menggambarkan softwere pada
suatu sistem. Component diagram merupakan penerapan softwere dari satu
ataupun lebih class, dan biasanya berupa file data atau .exe, source kode,
table, dokumen dsb.
·
Object diagram
Object diagram yaitu
salah satu jenis diagram pada UML yang menggambarkan objek-objek pada suatu
sistem dan hubungan antarnya.
·
Composite structure diagram
Composite structure
diagram yaitu salah satu jenis diagram pada UML yang menggambarkan struktur
internal dari penklasifikasian (class, component atau use case) dan termasuk
titik-titik interaksi penklasifikasian kebagian lainnya dari suatu sistem. Ini
hampir mirip seperti class diagram akan tetapi composite structure diagram
menggambarkan bagian-bagian dari individu kelas saja bukan semua kelas.
·
Interaction Overview Diagram
Interaction Overview
diagram yaitu salah satu jenis diagram pada UML yang berguna untuk
men-visualisasikan kerjasama dan hubungan antara activity diagram dengan sequence
diagram.
·
Package diagram
Package diagram yaitu
salah satu jenis diagram pada UML digunakan untuk mengelompokan kelas dan juga
menunjukan bagaimana elemen model akan disusun serta mengambarkan
ketergantungan antara paket-paket.
·
Diagram Timing
Diagram timing yaitu
salah satu jenis diagram pada UML yang disebut sebagai bentuk lain dari
interaksi diagram, dimana fokus yang paling utamanya kepada waktu. Diagram
timing berguna untuk menunjukan faktor-faktor yang membatasi waktu antara
perubahan state terhadap objek yang berbeda.
Perbedaan Rancangan Terstruktur dan Rancangan Berorientasi Objek pada Perancangan Sistem Informasi. (2011, November). Retrieved from echyaya.blogspot.co.id: http://echyaya.blogspot.co.id/2011/11/perbedaan-rancangan-terstruktur-dan.html
hardianto, w. (2016, Desember 8). Konsep Dasar
Pemrograman Berorientasi Objek. Retrieved from
indonesiagotit.blogspot.com:
http://indonesiagotit.blogspot.com/2016/12/konsep-dasar-berorientasi-objek.html
N, S. (2015, September 24). Pengertian UML Dan
Jenis-Jenisnya Serta Contoh Diagramnya. Retrieved from
www.pengertianku.net:
http://www.pengertianku.net/2015/09/pengertian-uml-dan-jenis-jenisnya-serta-contoh-diagramnya.html
By : Unknown
Perbedaan Antara Perancangan
Terstruktur dan Berorientasi Objek
Perancangan
Terstruktur
Perancangan terstruktur
merupakan aktivitas mentransformasikan suatu hasil analisis ke dalam suatu
perencanaan untuk dapat diimplementasikan (diotomasikan). Pendekatan
terstruktur dilengkapi dengan alat-alat (tools) dan teknikteknik yang
dibutuhkan dalam pengembangan sistem, sehingga hasil akhir dari sistem yang
dikembangkan akan diperoleh sistem yang strukturnya didefinisikan dengan baik
dan jelas.
1. Tools Yang Digunakan
- DFD( Data Flow Diagram )
- Kamus Data
- Entity Relationship Diagram (ERD)
- State Transition Diagram (STD)
2.
Metodologi
Perancangan Terstruktur
Metodologi pemecahan fungsional
Metodologi ini menekankan pada pemecahan sistem ke dalam
subsistem-subsistem yang lebih kecil, sehingga akan lebih mudah untuk dipahami,
dirancang, dan diterapkan.
Metodologi berorientasi data
Metodologi
ini menekankan pada karakteristik data yang akan diproses.
Prescriptive methodologies
Metodologi ini merupakan metodologi yang dikembangkan oleh
sistem house dan pabrik-pabrik perangkat lunak dan tersedia secara komersial
dalam paket-paket program.
3.
Kelebihan
dan Kekurangan Perancangan Terstruktur Kelebihan
- Milestone diperlihatkan dengan jelas yang memudahkan dalam manajemen proyek.
- SSAD merupakan pendekatan visual, ini membuat metode ini mudah dimengerti oleh pengguna atau programmer.
- Penggunaan analisis grafis dan tool seperti DFD menjadikan SSAD menjadikan bagus untuk digunakan.
- SSAD merupakan metode yang diketahui secara umum pada berbagai industry.
- SSAD sudah diterapkan begitu lama sehingga metode ini sudah matang dan layak untuk digunakan.
- SSAD memungkinkan untuk melakukan validasi antara berbagai kebutuhan
- SSAD relatif simpel dan mudah dimengerti.
Kekurangan
- SSAD berorientasi utama pada proses, sehingga mengabaikan kebutuhan non-fungsional.
- Sedikit sekali manajemen langsung terkait dengan SSAD.
- Prinsip dasar SSAD merupakan pengembangan non-iterative (waterfall), akan tetapi kebutuhan akan berubah pada setiap proses.
- Interaksi antara analisis atau pengguna tidak komprehensif, karena sistem telah didefinisikan dari awal, sehingga tidak adaptif terhadap perubahan (kebutuhan-kebutuhan baru).
- Selain dengan menggunakan desain logic dan DFD, tidak cukup tool yang digunakan untuk mengkomunikasikan dengan pengguna, sehingga sangat sulit bagi pengguna untuk melakukan evaluasi.
- Pada SAAD sulitt sekali untuk memutuskan ketika ingin menghentikan dekomposisi dan mliai membuat sistem.
- SSAD tidak selalu memenuhi kebutuhan pengguna.
- SSAD tidak dapat memenuhi kebutuhan terkait bahasa pemrograman berorientasi obyek, karena metode ini memang didesain untuk mendukung bahasa pemrograman terstruktur, tidak berorientasi pada obyek (Jadalowen, 2002).
Perancangan berorientasi
objek
Perancangan berorientasi objek adalah suatu
cara pendekatan terhadap masalah dari
perspektif obyek, tidak pada perspektif fungsional seperti pada pemrograman
terstruktur . Pengertian "berorientasi objek" berarti
bahwa kita mengorganisasi perangkat lunak sebagai kumpulan dari objek tertentu
yang memiliki struktur data dan perilakunya.
1.
Tools Yang Digunakan
- Object Oriented Analysis (OOA) dan Object Oriented Design (OOD) dari Peter Coad dan Edward Yourdon [1990].
- Object Modeling Technique (OMT) dan James Rumbaugh, Michael Blaha, William Premerlan, Frederick Eddy dan William Lorensen [1991].
- Object Oriented Software Engineering (OOSE) dan Ivar Jacobson [1992].
- Booch Method dan Grady Booch [1994].
- Sritrop dan Steve Cook dan John Daniels [1994].
- UML (Unified Modeling Language) dari James Rumbaugh. Grady Booch dan Ivar Jacobson [1997].
2.
Metodologi
Perancangan Terstruktur
Encapsulation
- Encapsulation merupakan dasar untuk pembatasan ruang lingkup program terhadap data yang diproses.
- Data dan prosedur atau fungsi dikemas bersama-sama dalam suatu objek, sehingga prosedur atau fungsi lain dari luar tidak dapat mengaksesnya.
- Data terlindung dari prosedur atau objek lain, kecuali prosedur yang berada dalam objek itu sendiri.
Inheritance
- Inheritance adalah teknik yang menyatakan bahwa anak dari objek akan mewarisi data/atribut dan metode dari induknya langsung. Atribut dan metode dari objek dari objek induk diturunkan kepada anak objek, demikian seterusnya.
- Inheritance mempunyai arti bahwa atribut dan operasi yang dimiliki bersama di anatara kelas yang mempunyai hubungan secara hirarki.
- Inheritance menggambarkan generalisasi sebuah kelas.
Polymorphism
- Polimorfisme yaitu konsep yang menyatakan bahwa sesuatu yang sama dapat mempunyai bentuk dan perilaku berbeda.
- Kemampuan objek-objek yang berbeda untuk melakukan metode yang pantas dalam merespon message yang sama.
- Seleksi dari metode yang sesuai bergantung pada kelas yang seharusnya menciptakan objek.
3.
Kelebihan
dan Kekurangan Perancangan Terstruktur
Kelebihan
- Dibandingkan dengan metode SSAD, OOAD lebih mudah digunakan dalam pembangunan sistem
- Dibandingkan dengan SSAD, waktu pengembangan, level organisasi, ketangguhan,dan penggunaan kembali (reuse) kode program lebih tinggi dibandingkan dengan metode OOAD (Sommerville, 2000).
- Tidak ada pemisahan antara fase desain dan analisis, sehingga meningkatkan komunikasi antara user dan developer dari awal hingga akhir pembangunan sistem.
- Analis dan programmer tidak dibatasi dengan batasan implementasi sistem, jadi desain dapat diformliasikan yang dapat dikonfirmasi dengan berbagai lingkungan eksekusi.
- Relasi obyek dengan entitas (thing) umumnya dapat di mapping dengan baik seperti kondisi pada dunia nyata dan keterkaitan dalam sistem. Hal ini memudahkan dalam mehami desain (Sommerville, 2000).
- Memungkinkan adanya perubahan dan kepercayaan diri yang tinggi terhadap kebernaran software yang membantu untuk mengurangi resiko pada pembangunan sistem yang kompleks (Booch, 2007).
- Encapsliation data dan method, memungkinkan penggunaan kembali pada proyek lain, hal ini akan memperingan proses desain, pemrograman dan reduksi harga.
- OOAD memungkinkan adanya standarisasi obyek yang akan memudahkan memahami desain dan mengurangi resiko pelaksanaan proyek.
- Dekomposisi obyek, memungkinkan seorang analis untuk memcah masalah menjadi pecahan-pecahan masalah dan bagian-bagian yang dimanage secara terpisah. Kode program dapat dikerjakan bersama-sama. Metode ini memungkinkan pembangunan software dengan cepat, sehingga dapat segera masuk ke pasaran dan kompetitif. Sistem yang dihasilkan sangat fleksibel dan mudah dalam memelihara.
Kekurangan
- Pada awal desain OOAD, sistem mungkin akan sangat simple.
- Pada OOAD lebih fockus pada coding dibandingkan dengan SSAD.
- Pada OOAD tidak menekankan pada kinerja team seperti pada SSAD.
- Pada OOAD tidak mudah untuk mendefinisikan class dan obyek yang dibutuhkan sistem.
- Sering kali pemrogramam berorientasi obyek digunakan untuk melakukan anlisisis terhadap fungsional siste, sementara metode OOAD tidak berbasis pada fungsional sistem.
- OOAD merupakan jenis manajemen proyek yang tergolong baru, yang berbeda dengan metode analisis dengan metode terstruktur. Konsekuensinya adalah, team developer butuh waktu yang lebih lama untuk berpindah ke OOAD, karena mereka sudah menggunakan SSAD dalam waktu yang lama ( Hantos, 2005).
- Metodologi pengembangan sistem dengan OOAD menggunakan konsep reuse. Reuse merupakan salah satu keuntungan utama yang menjadi alasan digunakannya OOAD. Namun demikian, tanpa prosedur yang emplisit terhadap reuse, akan sangat sliit untuk menerapkan konsep ini pada skala besar (Hantos, 2005).
Referensi
Akira, K. (2011, November). Perancangan
Terstruktur dan Perancangan Berorientasi Objek. Retrieved from
kaze-akira.blogspot.co.id:
http://kaze-akira.blogspot.co.id/2011/11/perancangan-terstruktur-dan-perancangan.html
Perbedaan Rancangan Terstruktur dan Rancangan
Berorientasi Objek pada Perancangan Sistem Informasi. (2011, November). Retrieved from
echyaya.blogspot.co.id:
http://echyaya.blogspot.co.id/2011/11/perbedaan-rancangan-terstruktur-dan.html
Swandojo, D. K. (2911, november 8). Perbedaan
Antara Perancangan Terstruktur dan Berorientasi Objek . Retrieved from
eziekim.wordpress.com:
https://eziekim.wordpress.com/2011/11/08/perbedaan-antara-perancangan-terstruktur-dan-berorientasi-objek/