SISTEM BERORIENTASI OBJEK
A. 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.
B. 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
C. 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(Poli morfi sme)
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.
D. 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.
Unified Modeling Language (UML)
A. Pendahuluan Dan Definisi
Unified Modeling Language (UML) adalah bahasa spesifikasi standar untuk mendokumentasikan, menspesifikasikan, dan membangun sistem
Unified Modeling Language (UML) adalah himpunan struktur dan teknik untuk pemodelan desain program berorientasi objek (OOP) serta aplikasinya. UML adalah metodologi untuk mengembangkan sistem OOP dan sekelompok perangkat tool untuk mendukung pengembangan sistem tersebut. UML mulai diperkenalkan oleh Object Management Group, sebuah organisasi yang telah mengembangkan model, teknologi, dan standar OOP sejak tahun 1980-an. Sekarang UML sudah mulai banyak digunakan oleh para praktisi OOP. UML merupakan dasar bagi perangkat (tool) desain berorientasi objek dari IBM.
UML adalah suatu bahasa yang digunakan untuk menentukan, memvisualisasikan, membangun, dan mendokumentasikan suatu sistem informasi. UML dikembangkan sebagai suatu alat untuk analisis dan desain berorientasi objek oleh Grady Booch, Jim Rumbaugh, dan Ivar Jacobson Namun demikian UML dapat digunakan untuk memahami dan mendokumentasikan setiap sistem informasi. Penggunaan UML dalam industri terus meningkat. Ini merupakan standar terbuka yang menjadikannya sebagai bahasa pemodelan yang umum dalam industri peranti lunak dan pengembangan sistem.Singkatnya Unified Modelling Language (UML) adalah sebuah “bahasa” yg telah menjadi standar dalam industri untuk visualisasi, merancang dan mendokumentasikan sistem piranti lunak.UML menawarkan sebuah standar untuk merancang model sebuah sistem.
Sampai era tahun1990 puluhan metodologi pemodelan berorientasi objek telah bermunculan di dunia. Diantaranya adalah: metodologi booch, metodologi coad, metodologi OOSE, metodologi OMT, metodologi shlaer-mellor, metodologi wirfs-brock, dsb. Masa itu terkenal dengan masa perang metodologi (method war) dalam pendesainan berorientasi objek. Masing-masing metodologi membawa notasi sendiri-sendiri, yang mengakibatkan timbul masalah baru apabila kita bekerjasama dengan kelompok/perusahaan lain yang menggunakan metodologi yang berlainan.
Dimulai pada bulanOktober1994 Booch, Rumbaugh dan Jacobson, yang merupakan tiga tokoh yang boleh dikata metodologinya banyak digunakan mempelopori usaha untuk penyatuan metodologi pendesainan berorientasi objek. Pada tahun 1995 direlease draft pertama dari UML (versi 0.8). Sejak tahun 1996 pengembangan tersebut dikoordinasikan oleh Object Management Group (OMG ).
B.Konsep Dasar UML
Untuk dapat mememahami UML diperlukan pemahaman tentang konsep bahasa pemodelan dan tiga eleman utama UML.Tiga elemen utama UML antara lain:
a. Buiding Bloks
Building bloks ini terdapat beberapa bagian :
a. Benda / Things / Objek
Objek merupakan bagian paling statik dari sebuah model, yang menjelaskan elemen – elemen lainnya dari sebuah konsep .
Bentuk dari beberapa objek
1)Classes, sekelompok dari object yang mempunyai atribute, operasi, dan hubungan yang semantik
2)Interfaces, antar-muka yang menghubungkan dan melayani antarkelas dan atau elemen dan mendefinisikan sebuah kelompok dari spesifikasi pengoperasian
3)Collaboration, interaksi dari sebuah kumpulan kelas – kelas atau elemen – elemen yang bekerja secara bersama – sama.
4)Use cases, pembentuk tingkah laku objek dalam sebuah model serta di realisasikan oleh sebuahcoll aborati on.
5)Nodes, bentuk fisik dari elemen – elemen yang ada pada saat dijalankannya sebuah system.
b. Hubungan / Relationship
Ada 4 macam hubungan dalam penggunaan UML, yaitu;
1)Dependency, hubungan semantik antara dua objek yang mana sebuah objek berubah mengakibatkan objek satunya akan berubah pula.
2)Association, hubungan antar benda secara struktural yang terhubung diantara objek dalam kesatuan objek.
3)Generalizations, hubungan khusus dalam objek anak yang menggantikan objek induk . dan memberikan pengaruhnya dalam hal struktur dan tingkah lakunya kepada objek induk
4)Realizations, hubungan semantik antarpengelompokkan yang menjamin adanya ikatan diantaranya yang diwujudkan diantara interface dan kelas atau elements, serta antara use casesdan collaborations.
c. Diagram UML
- Use Case Diagram untuk memodelkan proses bisnis.
- Conceptual Diagram untuk memodelkan konsep-konsep yang ada di dalam aplikasi.
- Sequence Diagram untuk memodelkan pengiriman pesan (message) antar objects.
- Collaboration Diagram untuk memodelkan interaksi antar objects.
- State Diagram untuk memodelkan perilaku objects di dalam sistem.
- Activity Diagram untuk memodelkan perilaku Use Cases dan objects di dalam system.
- Class Diagram untuk memodelkan struktur kelas.
- Object Diagram untuk memodelkan struktur object.
- Component Diagram untuk memodelkan komponen object.
- Deployment Diagram untuk memodelkan distribusi aplikasi.
Berikut akan dijelaskan 4 macam diagram yang paling sering digunakan dalam pembangunan aplikasi berorientasi object, yaitu use case diagram, sequence diagram, collaboration diagram, dan class diagram. Dan juga aka dijelaskan 3 macam diagram yang lain, yaitu Statechart diagram, Activity diagrams, Component diagram.
Use Case Diagram
Use case diagram digunakan untuk memodelkan bisnis proses berdasarkan perspektif pengguna sistem. Use case diagram terdiri atas diagram untuk use case dan actor. Actor merepresentasikan orang yang akan mengoperasikan atau orang yang berinteraksi dengan sistem aplikasi.
Use case merepresentasikan operasi-operasi yang dilakukan oleh actor. Use case digambarkan berbentuk elips dengan namaoperasi dituliskan di dalamnya. Actor yang melakukan operasi dihubungkan dengan garis lurus ke use case.
Sequence Diagram
Sequence diagram menjelaskan secara detil urutan proses yang dilakukan dalam sistem untuk mencapai tujuan dari use case: interaksi yang terjadi antar class, operasi apa saja yang terlibat, urutan antar operasi, dan informasi yang diperlukan oleh masing-masing operasi.
Sequence diagram menggambarkan interaksi antar objek di dalam dan di sekitar sistem (termasuk pengguna, display, dan sebagainya) berupa message yang digambarkan terhadap waktu. Sequence diagram terdiri atar dimensi vertikal (waktu) dan dimensi horizontal (objek-objek yang terkait).
Sequence diagram biasa digunakan untuk menggambarkan skenario atau rangkaian langkah-langkah yang dilakukan sebagai respons dari sebuah event untuk menghasilkan output tertentu. Diawali dari apa yang men-trigger aktivitas tersebut, proses dan perubahan apa saja yang terjadi secara internal dan output apa yang dihasilkan
Collaboration Diagram
Collaboration diagram dipakai untuk memodelkan interaksi antar object di dalam sistem. Berbeda dengan sequence diagram yang lebih menonjolkan kronologis dari operasi-operasi yang dilakukan, collaboration diagram lebih fokus pada pemahaman atas keseluruhan operasi yang dilakukan oleh object.
Collaboration diagram juga menggambarkan interaksi antar objek seperti sequence diagram, tetapi lebih menekankan pada peran masing-masing objek dan bukan pada waktu penyampaian message.
Setiap message memiliki sequence number, di mana message dari level tertinggi memiliki nomor 1. Messages dari level yang sama memiliki prefiks yang sama.
Class Diagram
Class diagram merupakan diagram yang selalu ada di permodelan sistem berorientasi objek.Class diagram menunjukkan hubungan antar class dalam sistem yang sedang dibangun dan bagaimana mereka saling berkolaborasi untuk mencapai suatu tujuan.
Class adalah sebuah spesifikasi yang jika diinstansiasi akan menghasilkan sebuah objek dan merupakan inti dari pengembangan dan desain berorientasi objek. Class menggambarkan keadaan (atribut/properti) suatu sistem, sekaligus menawarkan layanan untuk memanipulasi keadaan tersebut (metoda/fungsi).
Class diagram menggambarkan struktur dan deskripsi class, package dan objek beserta hubungan satu sama lain seperti containment, pewarisan, asosiasi, dan lain-lain.
Class memiliki tiga area pokok :
1.Nama (dan stereotype)
2. Atribut
3. Metoda
2. Atribut
3. Metoda
Atribut dan metoda dapat memiliki salah satu sifat berikut :
- Private, tidak dapat dipanggil dari luar class yang bersangkutan
- Protected, hanya dapat dipanggil oleh class yang bersangkutan dan anak-anak yang mewarisinya
- Public, dapat dipanggil oleh siapa saja
Statechart diagram
Statechart diagram menggambarkan transisi dan perubahan keadaan (dari satu state ke state lainnya) suatu objek pada sistem sebagai akibat dari stimuli yang diterima. Pada umumnya statechart diagram menggambarkan class tertentu (satu class dapat memiliki lebih dari satu statechart diagram).
Activity diagrams
Activity diagrams menggambarkan berbagai alir aktivitas dalam sistem yang sedang dirancang, bagaimana masing-masing alir berawal, decision yang mungkin terjadi, dan bagaimana mereka berakhir. Activity diagram juga dapat menggambarkan proses paralel yang mungkin terjadi pada beberapa eksekusi.
Activity diagram merupakan state diagram khusus, di mana sebagian besar state adalah action dan sebagian besar transisi di-trigger oleh selesainya state sebelumnya (internal processing). Oleh karena itu activity diagram tidak menggambarkan behaviour internal sebuah sistem (dan interaksi antar subsistem) secara eksak, tetapi lebih menggambarkan proses-proses dan jalur-jalur aktivitas dari level atas secara umum.
Component diagram
Component diagram menggambarkan struktur dan hubungan antar komponen piranti lunak, termasuk ketergantungan (dependency) di antaranya.
Komponen piranti lunak adalah modul berisi code, baik berisi source code maupun binary code, baik library maupun executable, baik yang muncul pada compile time, link time, maupun run time. Umumnya komponen terbentuk dari beberapa class dan/atau package, tapi dapat juga dari komponen-komponen yang lebih kecil.Komponen dapat juga berupa interface, yaitu kumpulan layanan yang disediakan sebuah komponen untuk komponen lain.
Deployment/physical diagram menggambarkan detail bagaimana komponen di-deploy dalam infrastruktur sistem, di mana komponen akan terletak (pada mesin, server atau piranti keras apa), bagaimana kemampuan jaringan pada lokasi tersebut, spesifikasi server, dan hal-hal lain yang bersifat fisikal
Sebuah node adalah server, workstation, atau piranti keras lain yang digunakan untuk men-deploy komponen dalam lingkungan sebenarnya. Hubungan antar node (misalnya TCP/IP) dan requirement dapat juga didefinisikan dalam diagram ini.
C. Langkah-langkah Pembuatan UML
Langkah-langkah pembuatan UML (1):
1. Buatlah daftar business process dari level tertinggi untuk mendefinisikan aktivitas dan proses yang mungkin muncul.
2. Petakan use case untuk tiap business process untuk mendefinisikan dengan tepat fungsionalitas yang harus disediakan oleh sistem. Kemudian perhalus use case diagram dan lengkapi dengan requirement, constraints dan catatan-catatan lain.
3. Buatlah deployment diagram secara kasar untuk mendefinisikan arsitektur fisik sistem.
4. Definisikan requirement lain (non-fungsional, security dan sebagainya) yang juga harus disediakan oleh sistem.
5. Berdasarkan use case diagram, mulailah membuat activity diagram.
Langkah-langkah pembuatan UML (2):
1. Definisikan objek-objek level atas (package atau domain) dan buatlah sequence dan/atau collaboration diagram untuk tiap alir pekerjaan. Jika sebuah use case memiliki kemungkinan alir normal dan error, buatlah satu diagram untuk masing-masing alir.
2. Buarlah rancangan user interface model yang menyediakan antarmuka bagi pengguna untuk menjalankan skenario use case.
3. Berdasarkan model-model yang sudah ada, buatlah class diagram. Setiap package atau domain dipecah menjadi hirarki class lengkap dengan atribut dan metodanya. Akan lebih baik jika untuk setiap class dibuat unit test untuk menguji fungsionalitas class dan interaksi dengan class lain.
4. Setelah class diagram dibuat, kita dapat melihat kemungkinan pengelompokan class menjadi komponen-komponen. Karena itu buatlah component diagram pada tahap ini. Juga, definisikan tes integrasi untuk setiap komponen meyakinkan ia berinteraksi dengan baik.
Langkah-langkah pembuatan UML (3):
1. Perhalus deployment diagram yang sudah dibuat. Detilkan kemampuan dan requirement piranti lunak, sistem operasi, jaringan, dan sebagainya.Petakan komponen ke dalam node.
2. Mulailah membangun sistem. Ada dua pendekatan yang dapat digunakan
- Pendekatan use case, dengan meng-assign setiap use case kepada tim pengembang tertentu untuk mengembangkan unit code yang lengkap dengan tes.
- Pendekatan komponen, yaitu meng-assign setiap komponen kepada tim pengembang tertentu.
- Pendekatan use case, dengan meng-assign setiap use case kepada tim pengembang tertentu untuk mengembangkan unit code yang lengkap dengan tes.
- Pendekatan komponen, yaitu meng-assign setiap komponen kepada tim pengembang tertentu.
3. Lakukan uji modul dan uji integrasi serta perbaiki model berserta codenya. Model harus selalu sesuai dengan code yang aktual
4. Piranti lunak siap dirilis.
Refrensi
Tidak ada komentar:
Posting Komentar