Selasa, 15 November 2011

Sistem Berorientasi Objek / UML

Sistem Berorientasi Objek
 
PENDAHULUAN

Analisis dan disain 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.
Pengertian "berorientasi objek" berarti bahwa kita mengorganisasi
perangkat lunak sebagai kumpulan dari objek tertentu yang memiliki
struktur data dan perilakunya.

Konsep Pemrograman Berorientasi Objek (OOP)

Program adalah suatu bentuk aplikasi atau bisa juga disebut software yang dibuat dengan menggunakan
Bahasa Pemrograman dan dapat menyelesaikan suatu Tugas, Fungsi, Perhitungan dengan menggunakan
komputer. Bahasa Pemrograman merupakan kumpulan perintah-perintah yang dimengerti komputer
untuk melakukan tugas-tugas tertentu. Sedangkan Pemrograman atau Programming merupakan teknik
untuk membuat suatu Program dengan menggunakan Bahasa Pemrograman.
Pemrograman Berorientasi Objek (Object Oriented Programming) merupakan teknik membuat suatu
program berdasarkan objek. Untuk lebih memudahkan pemahaman tentang objek, saya beri sebuah
contoh : Meja, Kursi, Jam Dinding dan yang lainnya merupakan contoh objek. Objek yang disebutkan
tadi umumnya berada didalam sebuah ruangan, ruangan apabila kita melihatnya dari sebuah rumah bisa
juga dikategorikan sebuah objek dan rumah jika dilihat dari cara pandang yang lebih luas lagi juga
merupakan objek. Jadi sebuah Objek merupakan suatu bentuk atau model yang tergantung dari cara
pandang objek dimaksud.
Karakteristik dari Objek

1.   Identitas berarti bahwa data diukur mempunyai nilai tertentu yang
membedakan entitas disebut Objek.
2.   Objek dapat kongkrit, seperti halnya arsip dalam sistem, atau
konseptual seperti kebijakan penjadualan dalam multiprocessing
pada sistem operasi.
Setiap objek mempunyai sifat yang melekat pada identitasnya.
3.   Dua objek dapat berbeda walaupun bila semua nilai atributnya
identik.





Kelas Objek

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

Istilah-istilah Objek

1.  Atribut : Data item yang menegaskan Objek
2.  Operasi : Fungsi di dalam kelas yang dikombinasikan ke bentuk
tingkah laku kelas
3.  Metode : Pelaksanaan prosedur (badan dari kode yang
mengeksekusi respon terhadap permintaan objek lain di
dalam sistem).
Karakteritik Metodologi Berorientasi Objek

Metodologi pengembangan sistem berorientasi objek mempunyai tiga
karakteristik utama :
1. Encapsulation
2. Inheritance
3. Polymorphism



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.
ð  Data terlindung dari prosedur atau objek lain, kecuali prosedur
yang berada dalam objek itu sendiri.


2.     INHERITANCE (PEWARISAN)
ð  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.
ð  Suatu kelas dapat ditentukan secara umum, kemudian ditentukan
spesifik menjadi subkelas. Setiap subkelas mempunyai hubungan
atau mewarisi semua sifat yang dimiliki oleh kelas induknya, dan
ditambah dengan sifat unik yang dimilikinya.
ð  Kelas Objek dapat didefinisikan atribut dan service dari kelas
Objek lainnya.
ð  Inheritance menggambarkan generalisasi sebuah kelas



3.    POLYMORPHISM (POLIMORFISME)
ð  Polimorfisme yaitu konsep yang menyatakan bahwa seuatu yang
sama dapat mempunyai bentuk dan perilaku berbeda.
ð  Polimorfisme mempunyai arti bahwa operasi yang sama mungkin
mempunyai perbedaan dalam kelas yang 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.


Model Berorientasi Objek
Sebuah model objek menangkap struktur statis dari sistem dengan
menggambarkan objek dalam sistem, hubungan antara objek, serta
atribut dan operasi yang merupakan karakteristik setiap kelas dan
objek.
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.











Unified Modeling Language/ UML


PENDAHULUAN

UML sebagai sebuah bahasa yang memberikan vocabulary dan tatanan penulisan
kata-kata dalam ‘MS Word’ untuk kegunaan komunikasi. Sebuah bahasa model
adalah sebuah bahasa yang mempunyai vocabulary dan konsep tatanan / aturan
penulisan serta secara fisik mempresentasikan dari sebuah sistem. Seperti halnya
UML adalah sebuah bahasa standard untuk pengembangan sebuah software yang
dapat menyampaikan bagaimana membuat dan membentuk model-model, tetapi
tidak menyampaikan apa dan kapan model yang seharusnya dibuat yang
merupakan salah satu proses implementasi pengembangan software.
3/10
UML tidak hanya merupakan sebuah bahasa pemograman visual saja, namun
juga dapat secara langsung dihubungkan ke berbagai bahasa pemograman,
seperti JAVA, C++, Visual Basic, atau bahkan dihubungkan secara langsung ke
dalam sebuah object-oriented database. Begitu juga mengenai
pendokumentasian dapat dilakukan seperti; requirements, arsitektur, design,
source code, project plan, tests, dan prototypes.
Untuk dapat memahami UML membutuhkan bentuk konsep dari sebuah bahasa
model, dan mempelajari 3 (tiga) elemen utama dari UML seperti building block,
aturan-aturan yang menyatakan bagaimana building block diletakkan secara
bersamaan, dan beberapa mekanisme umum (common).
Dalam suatu proses pengembangan software, analisa dan rancangan telah
merupakan terminologu yang sangat tua. Pada saat masalah ditelusuri dan
spesifikasi dinegosiasikan, dapat dikatakan bahwa kita berada pada tahap
rancangan. merancang adalah menemukan suatu cara untuk menyelesaikan
masalah, salah satu tool/model untuk merancang pengembangan software yang
berbasis object-oriented adalah UML. Alasan mengapa UML digunakan adalah,
pertama, scalability dimana objek lebih mudah dipakai untuk menggambarkan
sistem yang besar dan komplek. Kedua, dynamic modeling, dapat dipakai untuk
pemodelan sistem dinamis dan real time.
Sebagaimana dalam tulisan pertama, penulis menjelaskan konsep mengenai
obyek, OOA&D (Obyek Oriented Analyst/ Design) dan pengenalan UML, maka
dalam tulisan kedua ini lebih ditekankan pada cara bagaimana UML digunakan
dalam merancang sebuah pengembangan software yang disertai gambar atau
contoh dari sebuah aplikasi.




Konsep Objek

Obyek dalam ‘software analysis & design’ adalah sesuatu berupa konsep
(concept), benda (thing), dan sesuatu yang membedakannya dengan
lingkungannya. Secara sederhana obyek adalah mobil, manusia, alarm dan lainlainnya.
Tapi obyek dapat pula merupakan sesuatu yang abstrak yang hidup
didalam sistem seperti tabel, database, event, system messages.
Obyek dikenali dari keadaannya dan juga operasinya. Sebagai contoh sebuah
mobil dikenali dari warnanya, bentuknya, sedangkan manusia dari suaranya. Ciriciri
ini yang akan membedakan obyek tersebut dari obyek lainnya.
Alasan mengapa saat ini pendekatan dalam pengembangan software dengan
object-oriented, pertama adalah scalability dimana obyek lebih mudah dipakai
untuk menggambarkan sistem yang besar dan komplek. Kedua dynamic
modeling, adalah dapat dipakai untuk permodelan sistem dinamis dan real time.

Teknik Dasar OOA/D (Object-Oriented Analysis/Design)
Dalam dunia pemodelan, metodologi implementasi obyek walaupun terikat
kaidah-kaidah standar, namun teknik pemilihan obyek tidak terlepas pada
subyektifitas software analyst & designer. Beberapa obyek akan diabaikan dan
beberapa obyek menjadi perhatian untuk diimplementasikan di dalam sistem. Hal
ini sah-sah saja karena kenyataan bahwa suatu permasalahan sudah tentu
memiliki lebih dari satu solusi. Ada 3 (tiga) teknik/konsep dasar dalam OOA/D,
yaitu pemodulan (encapsulation), penurunan (inheritance) dan polymorphism.


Building blocks
3 (tiga) macam yang terdapat dalam building block adalah katagori
benda/Things, hubungan, dan diagram. Benda/things adalah abstraksi yang
pertama dalam sebuah model, hubungan sebagai alat komunikasi dari bendabenda,
dan diagram sebagai kumpulan / group dari benda-benda/things.


Benda/Things
Adalah hal yang sangat mendasar dalam model UML, juga merupakan bagian
paling statik dari sebuah model, serta menjelaskan elemen-elemen lainnya dari
sebuah konsep dan atau fisik. Bentuk dari beberapa benda/thing adalah sebagai
berikut:
Pertama, adalah sebuah kelas yang diuraikan sebagai sekelompok dari object
yang mempunyai atribute, operasi, hubungan yang semantik. Sebuah kelas
mengimplementasikan 1 atau lebih interfaces. Sebuah kelas dapat digambarkan
sebagai sebuah persegi panjang, yang mempunyai sebuah nama, atribute, dan
metoda pengoperasiannya.

Kedua, yang menggambarkan ‘interface’ merupakan sebuah antar-muka yang
menghubungkan dan melayani antar kelas dan atau elemen. ‘Interface’ / antarmuka
mendefinisikan sebuah set / kelompok dari spesifikasi pengoperasian,
umumnya digambarkan dengan sebuah lingkaran yang disertai dengan namanya.
Sebuah antar-muka berdiri sendiri dan umumnya merupakan pelengkap dari
kelas atau komponen.
Ketiga, adalah collaboration yang didefinisikan dengan interaksi dan sebuah
kumpulan / kelompok dari kelas-kelas/elemen-elemen yang bekerja secara
bersama-sama. Collaborations mempunyai struktura dan dimensi. Pemberian
sebuah kelas memungkinkan berpartisipasi didalam beberapa collaborations dan
digambarkan dengan sebuah ‘elips’ dengan garis terpotong-potong.
Keempat, sebuah ‘use case’ adalah rangkaian/uraian sekelompok yang saling
terkait dan membentuk sistem secara teratur yang dilakukan atau diawasi oleh
sebuah aktor. ‘use case’ digunakan untuk membentuk tingkah-laku benda/ things
dalam sebuah model serta di realisasikan oleh sebuah collaboration. Umumnya
‘use case’ digambarkan dengan sebuah ‘elips’ dengan garis yang solid, biasanya
mengandung nama.

Kelima, sebuah node merupakan fisik dari elemen-elemen yang ada pada saat
dijalankannya sebuah sistem, contohnya adalaha sebuah komputer, umumnya
mempunyai sedikitnya memory dan processor. Sekelompok komponen mungkin
terletak pada sebuah node dan juga mungkin akan berpindah dari node satu ke
node lainnya. Umumnya node ini digambarkan seperti kubus serta hanya
mengandung namanya

Hubungan / Relationship

Ada 4 macam hubungan didalam penggunaan UML, yaitu; dependency,
association, generalization, dan realization.
Pertama, sebuah dependency adalah hubungan semantik antara dua
benda/things yang mana sebuah benda berubah mengakibatkan benda satunya
akan berubah pula. Umumnya sebuah dependency digambarkan sebuah panah
dengan garis terputus-putus.
Kedua, sebuah association adalah hubungan antar benda struktural yang
terhubung diantara obyek. Kesatuan obyek yang terhubung merupakan hubungan
khusus, yang menggambarkan sebuah hubungan struktural diantara seluruh atau
sebagian. Umumnya assosiation digambarkan dengan sebuah garis yang
dilengkapi dengan sebuah label, nama, dan status hubungannya.
Ketiga, sebuah generalization adalah menggambarkan hubungan khusus dalam
obyek anak/child yang menggantikan obyek parent / induk . Dalam hal ini, obyek
anak memberikan pengaruhnya dalam hal struktur dan tingkah lakunya kepada
obyek induk.
Keempat, sebuah realization merupakan hubungan semantik antara
pengelompokkan yang menjamin adanya ikatan diantaranya. Hubungan ini dapat
diwujudkan diantara interface dan kelas atau elements, serta antara use cases
dan collaborations.

Diagram

UML sendiri terdiri atas pengelompokkan diagram-diagram sistem menurut
aspek atau sudut pandang tertentu. Diagram adalah yang menggambarkan
permasalahan maupun solusi dari permasalahan suatu model. UML mempunyai 9
diagram, yaitu; use-case, class, object, state, sequence, collaboration, activity,
component, dan deployment diagram.
Diagram pertama adalah use case menggambarkan sekelompok use cases dan
aktor yang disertai dengan hubungan diantaranya. Diagram use cases ini
menjelaskan dan menerangkan kebutuhan / requirement yang diinginkan/
dikehendaki user/pengguna, serta sangat berguna dalam menentukan struktur
organisasi dan model dari pada sebuah sistem.


PENUTUP


KESIMPULAN:
Pendekatan berorientasi objek dengan menggunakan notasi UML dapat diterapkan pada pengembangan aplikasi portal informasi berbasis web. Teknik pemodelan UML sesuai untuk digunakan bersama prinsip-prinsip pengembangan system berorientasi objek, karena dapat mempermudah pemodelann pendeskripsian dan perancangan portal yang di bangun



















Tidak ada komentar:

Posting Komentar