Jumat, 13 Januari 2017

SISTEM BERORIENTASI OBJEK



             SISTEM BERORIENTASI OBJEK

1.1 Pendahuluan
Objek adalah kombinasi antara struktur data dan perilaku dalam satu entitas dan mempunyai nilai tertentu yang membedakan entitas tersebut. Pengertian berorientasi objek berarti pengorganisasian perangkat lunak sebagai kumpulan dari objek tertentu yang memiliki struktur data dan perilakunya. Konsep fundamental dalam analisis sistem berorientasi objek adalah objek itu sendiri.
1.2 Karakteristik Objek dan Kelas Objek
Setiap objek mempunyai identitas yang dapat diukur dan memiliki nilai yang bertujuan untuk membedakan entitas antara satu objek dengan objek lain. Pada objek terdapat sifat konkrit yang melekat pada identitas objek tersebut yang berfungssi untuk membedakan setiap objek walaupun nilai atributnya hampir sama atau identik.
Objek yang terbagi dalam atribut, operasi, metode, hubungan, dan makna yang sama akan membentuk sebuah kelas yang merupakan wadah bagi objek yang dapat digunakan untuk menciptakan objek, atau dengan kata lain suatu kelas objek menggambarkan kumpulan dari objek yang mempunyai sifat (atribut), perilaku umum (operasi), relasi umum dengan objek lain dan semantik umum. Fungsi kelas objek adalah mengumpulkan data (atribut) dan perilaku (operasi) yang mempunyai struktur data sama ke dalam satu grup
Beberapa istilah yang berhubungan dengan objek antara lain :
Atribut
Atribut menggambarkan data yang dapat memberikan informasi mengenai kelas atau objek dimana atribut tersebut berada.
1. Metode
Metode adalah subprogram yang tergabung dalam objek bersama – sama dengan atribut. Metode dipergunakan untuk pengaksesan terhadap data yang terdapat dalam objek tersebut. Sering juga disebut sebagai procedure atau function.
2. Message
Message merupakan cara untuk berhubungan antara satu objek dengan objek lain dengan cara mengikirimkan pesan oleh suatu objek kepada objek tertentu.
3. Operasi
Fungsi di dalam kelas yang dikombinasikan ke bentuk tingkah laku kelas suatu objek

1.3 Metodologi Berorientasi Objek
Dalam metodologi berorientasi objek terdapat tiga cara yang sering
digunakan antara lain :
1. Encapsulation(Pengkapsulan)
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 kecuali prosedur yang berada dalam objek itu sendiri.
2.  Inheritance(Pewarisan)
Inheritance adalah teknik yang menyatakan bahwa anak dari objek akan mewarisi data atau atribut dan metode dari induknya langsung. Atribut dan metode dari sebuah objek induk akan diturunkan kepada anak objek dan demikian seterusnya. Ini menandakan bahwa atribut dan operasi yang dimiliki secara bersama dalam sebuah kelas objek mempunyai hubungan secara hirarki. Metode ini menggambarkan generalisasi dari sebuah kelas objek.
3. Polymorphism(Polimorfisme)
Polimorfisme merupakan konsep yang menyatakan bahwa sesuatu yang sama dapat mempunyai bentuk dan perilaku berbeda. Ini berarti bahwa operasi yang sama mungkin saja mempunyai perbedaan dalam kelas yang berbeda atau bergantung kepada kelas yang menciptakan objek tersebut.

1.4  Pemodelan Berorientasi Objek
Sebuah model objek menangkap struktur statis dari sistem dengan menggambarkan objek dalam system. Model berorientasi objek lebih mendekati keadaan nyata, dan dilengkapi dengan penyajian grafis dari sistem yang sangat bermanfaat untuk komunikasi dengan user dan pembuatan dokumentasi struktur dari sistem.
Dari sisi desain, pemodelan berorientasi objek menggunakan tiga macam model antara lain :
1.Model Objek
Model objek yaitu menggambarkan struktur statis dari suatu objek dalam sistem dan relasinya yang berisi diagram objek yaitu suatugraph dimana node-nya adalah kelas yang mempunyai relasi antar kelas.
2. Model Dinamik
Model dinamik yaitu menggambarkan aspek dari sistem yang berubah setiap saat yang dipergunakan untuk menyatakan aspek kontrol dari sistem yang berisi state diagram yaitu suatugraph dimananode-nya adalahstate danarc adalah tarnsisi antarasta te yang disebabkan olehevent.
3. Model Fungsional
Model fungsional yaitu menggambrakan transformasi nilai data di dalam sistem yang flow diagram yaitu suatugraph dimananodenya menyatakan proses danarc-nya adalah aliran data.
Untuk mempermudah dalam pemodelan abstrak dan pembuatan perancangan program maka digunakan diagram objek untuk melengkapi notasi grafik dalam pemodelan objek, kelas dan relasinya dengan yang lain.
1.5 Struktur Objek dan Hirarki Kelas
Struktur kelas pada sistem berorientasi objek dibagi atas dua, yaituWhole – Part Structuredan Gen – Spec Structure. Pada Whole-Part Structure memperlihatkan hirarki dari suatu kelas sebagai komponen dari kelas lain yang disebut juga sebagai sub objek. Contohnya, kelas Mobil adalahWhole dan komponennya Mesin, Rangka, dll merupakan Part1, Part 2, …, Partn. Sedangkan Gen – Spec Structure memperlihatkan kelas sebagai spesialisasi dari kelas di atasnya. Kelas yang mempunyai sifat umum disebutGeneral i zation,Superclassatau Topclass, sedangkan kelas yang mempunyai sifat khusus  disebut Specialization. Contohnya, kelas Mobil adalah Generalization, sedangkan Sedan, Truk, Minibus, dll merupakan Specizlization1, Specialization2, …, Specializationn, yaitu kelas yang mempunyai sifat khusus.


Unified Modeling Language (UML)
2.1 Sejarah Unified Modeling Language (UML)
Tahun 1994, Grady Boch dan James Rumbaugh bergabung untuk menggunakan metode berorientasi objek. Ivan Jacobson bergabung pada tahun 1995, dan mereka bertiga fokus membuat suatu bahasa pemodelan objek standar sebagai ganti dari pendekatan atau metode objek standar. Berdasarkan kerja mereka dan hasil kerja lainnya pada industri, Unified Modeling Language (UML) versi 1.0 dirilis pada tahun 1997.
Unified Modeling Language (UML) tidak menentukan metode untuk sistem-sistem pengembangan, tetapi sudah diterima luas sebagai standar untuk pemodelan objek. Object Management Gorup/OMG, badan standar industri, mengadopsi UML pada bulan November 1997 dan terus bekerja sama untuk meningkatkannya berdasarkan kebutuhan industri. Pada saat ini, salah satu industri telah merilis sebuah sofware yang mendukung UML yaitu Visual Paradigm 6.4 Interprise edition. Berbagai industri juga bermunculan dan mendukung penggunaan UML dengan berbagai produk, diantaranya Rational Rose, SmartDraw, dan lain-lain.
2.2 Definisi Unified Modeling Language (UML)
Unified Modeling Language (UML) merupakan satu kumpulan konvensi pemodelan yang digunakan untuk menentukan atau menggambarkan sebuah sistem software yang terkait dengan objek (Whitten L. Jeffery et al, 2004). Sementara menurut Henderi (2007: 4) Unified Modeling Language (UML) adalah sebuah bahasa pemodelan yang telah menjadi standar dalam industri software untuk visualisasi, merancang, dan mendokumentasikan sistem perangkat lunak. Bahasa Pemodelan UML lebih cocok untuk pembuatan perangkat lunak dalam bahasa pemrograman berorientasi objek (C++, Java, VB.NET), namun demikian tetap dapat digunakan pada bahasa pemrograman prosedural (Ziga Turck, 2007)
Unified Modeling Language (UML) biasa digunakan untuk (Henderi, 2007 :11)
1.      Menggambarkan batasan sistem dan fungsi-fungsi sistem secara umum, dibuat dengan use case dan actor
2.      Menggambarkan kegiatan atau proses bisnis yang dilaksanakan secara umum, dibuat  dengan interaction diagrams
3.      Menggambarkan representasi struktur statik sebuah sistem dalam bentuk class diagrams
4.      Membuat model behavior ?yang menggambarkan kebiasaan atau sifat sebuah sistem? dengan state transition diagrams
5.      Menyatakan arsitektur implementasi fisik menggunakan component and development diagrams
6.      Menyampaikan atau memperluas fungsionality dengan stereotypes (Ziga Turck, 2007)
UML merupakan salah satu alat bantu yang sangat handal dalam bidang pengembangan sistem berorientasi objek karena UML menyediakan bahasa pemodelan visual yang memungkinkan pengembang sistem membuatblue print atas visinya dalam bentuk yang baku. UML berfungsi sebagai jembatan dalam mengkomunikasikan beberapa aspek dalam sistem melalui sejumlah elemen grafis yang bisa dikombinasikan menjadi diagram. UML mempunyai banyak diagram yang dapat mengakomodasi berbagai sudut pandang dari suatu perangkat lunak yang akan dibangun. Diagram-diagram tersebut digunakan untuk (Henderi et al, 2008:71):
1.      Mengkomunikasikan ide
2.      Melahirkan ide-ide baru dan peluang-peluang baru
3.      Menguji ide dan membuat prediksi
4.      Memahami struktur dan relasi-relasinya
2.3 Konsep Pemodelan Menggunakan Unified Modeling Language (UML)
                Pemodelan menggunakan Unified Modeling Language merupakan metode pemodelan berorientasi objek dan berbasis visual. Karenanya pemodelan menggunakan UML merupakan pemodelan objek yang fokus pada pendefinisian struktur statis dan model sistem informasi yang dinamis daripada mendefinisikan data dan model proses yang tujuannya adalah pengembangan tradisional. UML menawarkan diagram yang dikelompokan menjadi lima perspektif berbeda untuk memodelkan suatu sistem. Seperti satu set blue printyang digunakan untuk membangun sebuah rumah.
2.3.1 Diagram Dasar dalam Unified Modeling Language (UML)
Berikut ini adalah penjelasan mengenai berbagai diagram UML serta tujuannya:
1.      Model Use Case Diagram
Use Case Diagram secara grafis menggambarkan interaksi antara sistem, sistem eksternal, dan pengguna. Dengan kata lain Use Case diagram secara grafis mendeskripsikan siapa yang akan menggunakan sistem dan dalam cara apa pengguna (user) mengharapkan interaksi dengan sistem itu. Use Case secara naratif digunakan untuk secara tekstual menggambarkan sekuensi langkah-langkah dari setiap interaksi.
2.      Diagram Struktur Statis
UML menawarkan dua diagram untuk memodelkan struktur statis sistem informasi, yaitu:
a.Class Diagrammenggambarkan struktur object sistem. Diagram ini menunjukan class object yang menyusun sistem dan juga hubungan antara class object tersebut
b.Object Diagram: serupa dengan class diagram, tetapi object diagram memodelkan isntance object actual dengan menunjukan nilai-nilai saat ini dari atribut instance. Object Diagram menyajikan ?snapshot/potret? tentang objek sistem pada point waktu tertentu. Diagram ini tidak digunakan sesering Class Diagram, tetapi saat digunakan dapat membantu seorang developer memahami struktur sistem secara lebih baik.
3.      Diagram Interaksi
Diagram interaksi memodelkan sebuah interaksi, terdiri dari satu set objek, hubungan-hubungannya, dan pesan yang terkirim di antara objek. Model diagram ini memodelkan behavior (kelakuan) sistem yang dinamis dan UML memiliki dua diagram untuk tujuan ini, yaitu:
a.Diagram rangkaian/Sequence Diagram: secara grafis menggambarkan bagaimana  objek berinteraksi dengan satu sama lain melalui pesan pada sekuensi sebuah use case atau operasi. Diagram ini mengilustrasikan bagaimana pesan terkirim dan diterima di antara objek dan dalam sekuensi atau timing apa.
b.Diagram kolaborasi/Collaboration Diagram: serupa dengan diagram rangkaian/sekuensi, tetapi tidak fokus pada timing atau sekuensi pesan. Diagram ini justru menggambarkan interaksi (atau kolaborasi) antara objek dalam sebuah format jaringan.
Diagram rangkaian maupun diagram kolaborasi merupakan isomorphic artinya kita dapat mengubah dari satu diagram ke diagram lain.
4.      Diagram State/State Diagram
UML memiliki sebuah diagram untuk memodelkan behavior objek khusus yang kompleks (statecahrt) dan sebuah diagram untuk memodelkan behavior dari sebuah use case atau sebuah metode, yaitu:
a.Diagram statechart: digunakan untuk memodelkan behavior objek khusus yang dinamis. Diagram ini mengilustrasikan siklus hidup objek-berbagai keadaan yang dapat diasumsikan oleh objek dan event-event (kejadian) yang menyebabkan objek beralih dari satu state ke state lain.
b.Diagram aktivitas/Activity Diagram: secara grafis digunakan untuk menggambarkan rangkaian aliran aktivitas baik proses bisnis maupun use case. Activity diagram dapat juga digunakan untuk memodelkan action yang akan dilakukan saat sebuah operasi dieksekusi, dan memodelkan hasil dari action tersebut.
5.      Diagram Implementasi
Diagram implementasi juga memodelkan struktur sistem informasi, yaitu:
a.Diaram komponen/Component Diagram: digunakan untuk menggambarkan organisasi dan ketergantungan komponen-komponen software sistem. Komponen diagram dapat digunakan untuk menunjukan bagaimana kode pemrograman dibagi menjadi modul-modul (atau komponen).
b.Diagram penguraian/Deployment: digunakan untuk mendeskripsikan arsitektur fisik dalam istilah ?node? untuk hardware dan software dalam sistem. Diagram ini menggambarkan konfigurasi komponen-komponen software real-time, prosesor, dan peralatan yang membentuk arsitektur sistem