Konsep Perancangan Berorientasi Objek (Pengenalan Singkat Tentang UML)
1. Konsep Perancangan Berorientasi
Objek
Pendekatan berorientasi objek merupakan satu
teknik atau cara pendekatan dalam melihat permasalahan dan system ( system perangkat
lunak, system informasi , atau system lainnya
. Konsep Perancangan Berorientasi Objek
Pendekatan berorientasi objek merupakan suatu teknik atau
cara pendekatan dalam melihat permasalahan dan sistem (sistem perangkat
lunak,sistem informasi,atau sistem lainnya). Pendekatan berorientasi objek akan
memandang sistem yang akan dikembangkan sebagai suatu kumpulan objek yang
berkorespondensi dengan objek-objek dunia nyata.Ada banyak cara untuk
mengabstraksikan dan memodelkan objek-objek tersebut,mulai dan abstraksi
objek,kelas,hubungan antarkelas sampai abstraksi sistem.Sistem berorientasi
objek merupakan sebuah sistem yang dibangun dengan berdasarkan metode
berorientasi objek adalah sebuah sistem yang komponennya 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. Hal-hal yang terlibat dalam perancangan
berorientasi objek yaitu:
a. 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 dari kelas tersebut.Suatu kelas dapat diturunkan dan
kelas yang lain , dimana atribut dan kelas semula dapat diwariskan ke kelas
yang baru.Ilustrasi dari sebuah kelas dapat dilihat pada gambar berikut.
Gambar ilustrasi Kelas
Contoh Kasus Class Diagram pada UML
Manajemen Rumah Sakit
Ini adalah contoh diagram model domain rumah sakit. Model
domain untuk Sistem Manajemen Rumah Sakit ditunjukkan oleh beberapa diagram
kelas. Tujuan dari diagram ini adalah untuk menunjukkan dan menjelaskan
struktur rumah sakit, staf, hubungan dengan pasien, dan terminologi perawatan
pasien.Pada diagram di bawah Orang dapat dikaitkan dengan Rumah Sakit yang
berbeda, dan Rumah Sakit dapat mempekerjakan atau melayani banyak Orang. Person
class telah diturunkan atribut name dan homeAddress. Nama mewakili nama lengkap
dan dapat digabungkan dari judul, nama (nama atau nama), nama tengah, dan
keluarga (atau nama terakhir) yang pertama (atau yang pertama). Kelas pasien
memiliki usia atribut yang diturunkan yang dapat dihitung berdasarkan tanggal
lahirnya dan tanggal saat ini atau tanggal masuk rumah sakit.
Kelas Pasien mewarisi atribut dari kelas Person. Beberapa
nama atribut, jenis kelamin, dan kelahiran bawaan.
Gambar Kasus Class Diagram
b. Objek (object)
Objek adalah abstraksi dan sesuatu yang mewakili dunia nyata
seperti benda,manusia,satuan organisasi,tempat,kejadian,struktur,status,atau
hal-hal lain bersifat abstrak.Objek merupakan suatu entitas yang mampu
menyimpan (status) dan mempunyai operasi (kelakuan) yang dapat diterapkan atau
dapat berpengaruh pada status objeknya.Objek mempunyai siklus hidup yaitu
diciptakan,dimanipulasi,dan dihancurkan.
Gambar Ilustrasi Kelas dan Objek
c. Method (Metode)
Metode merupakan fungsi atau transformasi yang dapat
dilakukan terhadap objek atau dilakukan oleh objek.Metode pada sebuah kelas
hampir sama dengan fungsi atau prosedur pada metodologi struktural.Metode dapat
berasal dari event,aktivitas,atau aksi keadaan,fungsi,atau kelakuan dunia
nyata.Contoh metode misal read,write,move,copy,dsb
d. Attribut
Attribut dari 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,dsb.
e. Operasi
Operasi adalah fungsi atau transformasi yang mungkin dapat
diaplikasikan ke/oleh suatu objek dalam kelas. Misalnya, suatu objek dalamkelas
manusia mungkin memiliki fungsi-fungsi tersenyum, marah, makan, minum, menerima
perlakuan tertentu, dan sebagainya.
Notasi dari operations
visibility name (parameter-list) : return-type
{property-string}
2. Tools Yang Digunakan Dalam Perancangan Berorientasi
Objek
- 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 Merhod dan Grady Booch [1994]
- Sritrop dan Steve Cook dan John Daniels [1994]
- UML (united modeling language) dari James Rumbaugh.Grady
Booch dan Ivar Jacobson [1997]
3. Karakteristik Metodologi Berorientasi Objek
Terdapat 3 karakteristik utama dalam metodologi pengembang
sistem berorientasi objek , yakni :
Polymorpshim
bisa disebut dengan polimorfisme adalah suatu konsep yang
menyatakan bahwa seseuatu yang sama bisa memiliki bentuk dan perilaku yang
berbeda . Intinya polimorfisme ini operasi yang sama mungkin memiliki perbedaan
dalam kelas yang berbeda.
Encapsulation
bisa disebut sebagai pengkapsulan yang merupakan suatu dasar
pembatasan ruang lingkup program terhadap data yang diproses sehingga data atau
method yang sudah dibatasi tidak dapat diakses dari luar sehingga data atau
method itu akan terlindungi
Inheritance
disebut dengan pewarisan merupakan teknik yang mengemukakan
bahwa anak dari objek akan mewarisi data atau atribut dari induknya secara
langsung.
4. Pengenalan UML (Unified Modeling Language)
a. Sejarah UML
Bahasa pemrograman berorientasi objek yang pertama
dikembangkan dikenal dengan nama Simula-67 yang dikembangkan pada tahun 1967.
Bahasa pemrograman ini kurang berkembang dan dikembangkan lebih lanjut, namun
dengan kemunculannya telah memberikan sumbangan yang besar pada developer
pengembang bahasa pemrograman berorientasi objek selanjutnya.
Perkembangan aktif dari pemrograman berorientasi objek mulai
menggeliat ketika berkembangnya bahasa pemrograman Smalltalk pada awal 1980-an
yang kemudian diikuti dengan perkembangan bahasa pemrograman beorientasi objek
yang lainnya seperti C objek, C++, Eiffel, dan CLOS. Secara aktual, penggunaan bahasa
pemrograman berorientasi objek pada saat itu masih terbatas, namun telah banyak
menarik perhatian di saat itu. Sekitar lima tahun setelah Smalltalk berkembang,
maka berkembang pula metode pengembangan berorientasi objek. Metode yang
pertama diperkenalkan oleh Sally Shlaer dan Stephen Mellor (Shlaer-Mellor,
1988) dan Peter Coad dan Edward Yourdon (Coad-Yourdon, 1991), diikuti oleh
Grady Booch (Booch, 1991), James R. Rumbaugh, Michael R. Blaha, William
Lorensen, Frederick Eddy, William Premerlani (Rumbaugh-Blaha-Premerlani-Eddy-Lorensen,
1991), dan masih banyak lagi. Buku terkenal yang juga berkembang selanjutnya
adalah karangan Ivar Jacobson (Jacobson, 1992) yang menerangkan perbedaan
pendekatan yang fokus pada use case dan proses pengembangan. Sekitar lima tahun
kemudian muncul buku yang membahas mengenai metodologi berorientasi objek yang
diikuti dengan buku-buku yang lainnya. Di dalamnya juga membahas mengenai
konsep, definisi, notasi, terminologi, dan proses mengenai metodologi
berorientasi objek.
Karena banyaknya metodologi-metodologi yang berkembang pesat
saat itu, maka muncullah ide untuk membuat sebuah bahasa yang dapat dimengerti
semua orang. Usaha penyatuan ini banyak mengambil dari metodologi-metodologi
yang berkembang saat itu. Maka dibuat bahasa yang merupakan gabungan dari
beberapa konsep seperti konsep Object Modelling Technique (OMT) dari Rumbaugh
dan Booch (1991), konsep The Classes, Responsibilities, Collaborators (CRC)
dari Rebecca Wirfs-Brock (1990), konsep pemikiran Ivar Jacobson, dan beberapa
konsep lainnya dimana James R. Rumbaigh, Grady Booch, dan Ivar Jacobson
bergabung dalam sebuah perusahaan yang bernama Rational Software Corporation
menghasilkan bahasa yang disebut dengan Unified Modeling Language (UML). Pada
1996, Object Management Group (OMG) mengajukan proposal agar adanya
standardisasi pemodelan berorientasi objek dan pada bulan September 1997 UML
diakomodasi oleh OMG sehingga sampai saat ini UML telah memberikan
kontribusinya yang cukup besar di dalam metodologi berorientasi objek dan
hal-hal yang terkait di dalamnya.
b. Pengenalan UML
UML (Unified Modelling Language) adalah salah satu alat
bantu yang sangat handal di dunia pengembangan sistem yang berorientasi
objek.UML merupakan kesatuan dari bahasa pemodelan yang dikembangkan oleh
Booch,Object Modelling Technique (OMT) dan Object Oriented Software Engineering
(OOSE).Metode Booch dari Grady Booch sangat terkenal dengan nama metode Design
Object Oriented.Metode ini menjadikan proses analisis dan design ke dalam empat
tahapan iteratif,yaitu: identifikasi kelas-kelas dan objek-objek,identifikasi
semantik dari hubungan objek dan kelas tersebut,perincian interface dan
implementasi.Keunggulan metode Booch adalah pada detil dan kayanya dengan
notasi dan elemen.
Gambar berikut adalah unsur-unsur yang membentuk UML.
Gambar unsur-unsur pembentukan UML
c. Mengapa UML Penting
UML adalah hasil kerja dari konsursium berbagai organisasi
yang berhasil dijadikan sebagai standar baku dalam OOAD (Object Oriented
Analysis & Design).Kontribusi untuk UML telah dihasilkan dari banyak
perusahaan-perusahaan ternama diantaranya Digital Equipment Corp,
Hewlet-Packard Company, i-Logic, Intellicorp, IBM, IconComputing, Electronic
Data Services Corporation, MCI System House, Microsoft, Orecle, Rational
Software, TI, Sterling Software, Taskon A/S, Unisys Platinum Technologies,
Ptech, Taskon & Reich Technologies dan Softeam.
UML tidak hanya dominan dalam penotasian di lingkungan OO
tetapi juga populer di luar lingkungan OO.Paling tidak ada tiga karakter
penting yang melekat di UML yaitu sketsa,cetak biru dan bahasa
pemrograman.Sebagai sebuah sketsa,UML bisa berfungsi sebagai jembatan dalam
mengkomunikasikan beberapa aspek dari sistem.UML bisa juga berfungsi sebagai
sebuah cetak biru karena sangat lengkap dan detil.Sebagai bahasa
pemrograman,UML dapat menterjemahkan diagram yang ada di UML menjadi code
program yang siap untuk dijalankan.UML dibangun atas model 4+1 view.Model ini
didasarkan pada fakta bahwa struktur sebuah sistem dideskripsikan dalam 5 view
dimana salah satu diantaranya use case view.Use case view ini memegang peran
khusus untuk mengintegrasikan content ke view yang lain.
Gambar Model 4+1 view
Kelima view tersebut tidak berhubungan dengan diagram yang
dideskripsikan di UML.Setiap view berhubungan dengan perspektif tertentu dimana
sistem akan diuji.View yang berbeda akan menekankan pada aspek yang berbeda
dari sistem yang mewakili ketertarikan sekelompok stakeholder
tertentu.Penjelasan lengkap tentang sistem bisa dibentuk dengan menggabungkan
informasi-informasi yang ada pada kelima view tersebut.
Use case view mendefinisikan kebutuhan sistem karena
mengandung semua view yang lain yang mendeskripsikan aspek-aspek tertentu dari
rancangan sistem.Itulah sebabnya use case view menjadi pusat peran dan sering
dikatakan yang mendrive proses pengembangan perangkat lunak.
Design view ini berisi definisi komponen program,class-class
utama bersama-sama dengan spesifikasi data,perilaku dan interaksinya.Informasi
yang terkandung di view ini menjadi perhatian para programmer karena
menjelaskan secara detil bagaimana fungsionalitas sistem akan
diimplementasikan.
Implementation view menjelaskan komponen-komponen fisik dari
sistem yang akan dibangun.Hal ini berbeda dengan komponen logic yang
dideskripsikan pada design view.Termasuk di sini diantaranya file exe,library
dan database.Informasi yang ada di view ini relefan dengan aktifitas-aktifitas
seperti manajemen konfigurasi dan integrasi sistem.
Proses view berhubungan dengan hal-hal yang berkaitan dengan
concurrency di dalam sistem.Sedangkan deployment view menjelaskan bagaimana
komponen-komponen fisik didistribusikan ke linkungan fisik seperti jaringan
komputer dimana sistem akan dijalankan.Kedua view ini menunjukkan kebutuhan non
fungsional dari sistem seperti toleransi kesalahan dan hal-hal yang berhubungan
dengan kinerja.
d. Diagram-diagram UML
Pada UML 2.3 terdiri dari 13 macam diagram yang
dikelompokkan dalam 3 kategori.Pembagian kategori dan macam-macam diagram
tersebut dapat dilihat pada gambar dibawah.
Diagram UML
Tipe Diagram UML
Berikut ini penjelasan singkat dari pembagian kategori
tersebut.
1. Structure diagrams yaitu kumpulan diagram yang digunakan
untuk menggambarkan suatu struktur statis dari sistem yang dimodelkan.
2. Behavior diagrams yaitu kumpulan diagram yang digunakan
untuk menggambarkan kelakuan sistem atau rangkaian perubahan yang terjadi pada
sebuah sistem.
3. Interaction diagrams yaitu kumpulan diagram yang
digunakan untuk menggambarkan interaksi sistem dengan sistem lain maupun
interaksi antar subsistem pada suatu sistem.








Komentar
Posting Komentar