Popular Post

By : Unknown
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.

Referensi
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/

- Copyright © . - Date A Live - Powered by Blogger - Designed by Johanes Djogan -