Saturday, June 15, 2013

Kaidah Dasar Pemrograman Berbasis Objek (OOP)

Pada Perkembangannya, komputer sudah menjadi kebutuhan di era sekarang ini. Semua hal dapat dilakukan oleh system yang ada pada komputer. Nah disini saya akan memberikan penjelasan mengenai perkembangan system informasi dan/atau perangkat lunak.
Pengembangan system/perangkat lunak lebih merupakan kerja kelompok (team work) dimana untuk itu dibutuhkan sarana komunikasi antaranggoa kelompok. Saat inilah orang mulai merancang metode-metode yang berfungsi mentransformasikan ide-ide dari seseorang kepada seseorang yang lainnya demi keberhasilan proyek mereka.
Sampai beberapa tahun yang lalu, pendekatan serta metodologi terstruktur adalah pendekatan yang terbaik dalam usaha mengembangkan system informasi dan/atau perangkat lunak. Tapi, keinginan dan harapan pengguna serta teknologi berkembang lebih jauh sehingga pendekatan metodologi terstruktur tidak cukup memadai untuk mengembangkan perangkat lunak dan/atau system informasi yang berbiaya relatif rendah, sesuai dengan kebutuhan dan harapan pengguna. Oleh karena itu, saat ini (tepatnya awal 1990-an) para pengebang lebih menyukai pendekatan dengan metodologi berorientasi objek (Object Oriented Programming – OOP ) yang memberikan hasil jauh lebih baik dibandingkan dengan pendekatan terstruktur.
OOP adalah suatu cara baru dalam berfikir serta berlogika dalam menghadapi masalah-masalah yang akan diatasi dengan bantuan komputer. OOP tidak seperti pendahulunya (pemrograman terstruktur), mencoba melihat permasalahan lewat pangamatan dunia nyata dimana setiap objek adalah entitas tunggal yang memiliki kombinasi struktur data dan fungsi tertentu. Ini kontras dengan pemrograman terstruktur dimana struktur data dan fungsi didefinisikan secara terpisah dan tidak berhubungan secara erat.
Setelah kita tahu apa itu OOP, sekarang kita simak apa itu objek?objek itu apa sih??. Objek adalah konsep atau abstraksi tentang sesuatu yang memiliki arti bagi aplikasi yang akan kita kembangkan. Objek biasanya adalah kata benda, namun objek dalam konteks OOP disini bukan hanya objek nyata  yang bisa diraba dan dilihat secara kasat mata seperti Anda, Saya, mobil, motor, pesawat, kuda, kerbau, buku, pensil, handphone, dll, namun juga menyangkut entitas-entitas konseptual seperti rumus persamaan kuadrat,liberalism, marxisme, dsb. Selain itu juga mengenali konsep identitas dimana menurut Khoshafian (1995) (dikutip dari buku Object Oriented Modeling And Design tulisan Rumbaugh, dkk) definisinya adalah sebagai berikut “identitas adalah sesuatu yang membedakan suatu objek dari objek lainnya”.
Menurut Ali Bahrami,1999 , objek digolongkan enjadi beberapa kategori sebagai berikut :
1.    Objek Konsep
Adalah ide atau pemahaman yang kita miliki tentang suatu fakta yang ada di dunia nyata. Objek konsep tidak terukur tetapi sering digunakan untuk mengorganisasi aktivitas bisnis atau untuk berkomunikasi. Contoh : Kinerja.
2.    Objek Event
Adalah sebuah titik dalam waktu yang harus direkam. Sesuatu terjadi, selalu terjadi pada waktu tertentu baik sebaga event tunggal maupun sebagai bagian dari urutan event. Event adalah pertanyaan-pertanyaan seperti kapan,siapa,apa,dimana,bagaimana, atau mengapa. Contoh Pendaratan, Interupsi dan Pemesanan.
3.    Objek Organisasi
Adalah kumpulan orang-orang, sumberdaya, fasilitas-faslitas, atau kelompok yang dimiliki pengguna. Contoh : Departemen Akuntansi, Departemen Riset dan Pengembangan , dsb.
4.    Objek Manusia
Adalah objek yang menampilkan peran-peran yang berbeda dalam hubungannya dengan sistem/perangkat lunak yang kita kembangkan. Menurut Coad & Yourdan objek manusia terbagi menjadi 2 kategori yaitu pengguna yang berinteraksi dengan system dan orang-orang yang tidak menggunakan system tetapi informasi tentang orang-orang ini dipelihara oleh system. Contoh : Klien, Karyawan, Direktur, Dosen serta Manager.
5.    Objek Tempat
Adalah objek yang meliputi lokasi fisik yang harus dicatat dalam system. Contoh : Gedung, Toko, Kantor,dsb
6.    Sesuatu Yang Terukur Serta Objek Peralatan
Adalah objek ini meliputi objek fisik serta kelompok objek yang terukur serta peralatan-peralatan yang berinteraksi dengan system yang kita kembangkan. Contoh : Mobil adalah sesuatu yang terukur sedangkan sensor tekanan adalah peralatan.
   
Satu hal yang harus kita ingat bahwa setiap objek adalah nyata dan dapat dibedakan satu dari yang lainnya. Sekalipun 2 objek bernama sama, namun ia tetap dapat dipisahkan. Walaupun objek itu kembar tapi kita tetap bisa membedakannya dari satu individu terhadap individu lainnya. Contoh objek kembar, sesuatu yang membedaknnya dalah namanya, sehingga objek yang satu memiliki identitas yang berbeda dengan yang lainnya.
Semoga bermanfaat !!

Karakteristik Objek dan Kelas Objek

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.
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.
            Metodologi Berorientasi Objek
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.
a. Pemodulan (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. Dan data terlindung dari prosedur atau objek lain, kecuali prosedur yang berada dalam objek itu sendiri.
b. Penurunan (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 antara 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.
c. Polymorphism
Merupakan konsep yang menyatakan bahwa sesuatu yang sama dapat mempunyai bentuk dan perilaku berbeda.
d. Abstraksi
Prinsip untuk merepresentasikan dunia nvata yang kompleks menjadi satu bentuk model yang sederhana dengan mengabaikan aspek-aspek lain yang tidak sesuai dengan permasalahan.
e. Reusabilily
Pemanfaatan kembali objek yang sudah didefinisikan untuk suatu permasalahan pada permasalahan lainnva yang melibatkan objek tersebut.
f. Generalisasi dan Spesialisasi
Menunjukkan hubungan antara kelas dan objek yang umum dengan kelas dan objek yang khusus.
g. Komunikasi Antar Objek
Komunikasi antar objek dilakukan lewat pesan (message) yang dikirim dan satu objek ke objek lainnya.

Sejarah Singkat UML

Unified Modelling Language (UML) adalah sebuah "bahasa" yang telah menjadi standar dalam industri untuk menentukan, visualisasi, merancang dan mendokumentasikan artifact dari sistem software, untuk memodelkan bisnis dan sistem non software lainnya. UML merupakan suatu kumpulan teknik terbaik yang telah terbukti sukses dalam memodelkan sistem yang besar dan kompleks.
Dengan menggunakan UML kita dapat membuat model untuk semua jenis aplikasi piranti lunak, dimana aplikasi tersebut dapat berjalan pada piranti keras, sistem operasi dan jaringan apapun, serta ditulis dalam bahasa pemrograman apapun. Tetapi karena UML juga menggunakan class dan operation dalam konsep dasarnya, maka ia lebih cocok untuk penulisan piranti lunak dalam bahasa-bahasa berorientasi objek seperti C++, Java, VB.NET. Walaupun demikian, UML tetap dapat digunakan untuk modeling aplikasi prosedural dalam VB atau C.
Seperti bahasa-bahasa lainnya, UML mendefinisikan notasi dan syntax/semantik. Notasi UML merupakan sekumpulan bentuk khusus untuk menggambarkan berbagai diagram piranti lunak. Setiap bentuk memiliki makna tertentu, dan UML syntax mendefinisikan bagaimana bentuk-bentuk tersebut dapat dikombinasikan. Notasi UML terutama diturunkan dari 3 notasi yang telah ada sebelumnya: Grady Booch OOD (Object-Oriented Design), Jim Rumbaugh OMT (Object Modeling Technique), dan Ivar Jacobson OOSE (Object-Oriented Software Engineering).
Sejarah UML sendiri cukup panjang. Sampai era tahun 1990 seperti kita ketahui 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, dan sebagainya. 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 bekerja sama dengan group/perusahaan lain yang menggunakan metodologi yang berlainan.
Dimulai pada bulan Oktober 1994 Booch, Rumbaugh dan Jacobson, yang merupakan tiga tokoh yang boleh dikatakan 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 – http://www.omg.org). Tahun 1997 UML versi 1.1 muncul, dan saat ini versi terbaru adalah versi 1.5 yang dirilis bulan Maret 2003. Booch, Rumbaugh dan Jacobson menyusun tiga buku serial tentang UML pada tahun 1999. Sejak saat itulah UML telah menjelma menjadi standar bahasa pemodelan untuk aplikasi berorientasi objek.
Object Management Group, Inc. (OMG) adalah sebuah organisasi international yang dibentuk pada 1989, didukung lebih dari 800 anggota, terdiri dari perusahaan sistem informasi, software developer, dan pada user system komputer. organisasi ini salah satunya bertugas membuat spesifikasi “manajemen objek” untuk menetapkan kerangka bersama dalam rekayasa software. Sasaran OMG adalah membantu perkembangan object-oriented technology dan mengarahkannya dengan mendirikan Object Management Architecture (OMA). OMA menentukan infrastruktur konseptual yang didasarkan pada seluruh spesifikasi yang dikeluarkan OMG. OMG kemudian mengeluarkan UML, dimana dengan adanya UML ini diharapkan dapat mengurangi kekacauan dalam bahasa pemodelan yang selama ini terjadi dalam lingkungan industri. UML diharapkan juga dapat menjawab masalah penotasian dan mekanisme tukar menukar model yang terjadi selama ini.

Pengertian UML

    UML (Unified Modeling Language) adalah metode pemodelan (tools/model) secara visual sebagai sarana untuk merancang dan atau membuat software berorientasi objek dan memberikan standar penulisan sebuah sistem untuk pengembangan sebuah software yang dapat menyampaikan beberapa informasi untuk proses implementasi pengembangan software.
Tujuan UML :
a. Memberikan model yang siap pakai, bahasa pemodelan visual yang ekspresif untuk mengembangkan dan saling menukar model dengan mudah dan dimengerti secara umum.
b. Memberikan bahasa pemodelan yang bebas dari berbagai bahasa pemrograman dan proses rekayasa.
c. Menyatukan praktik-praktik terbaik yang terdapat dalam pemodelan.

Konsep Dasar UML

    Untuk dapat memahami UML diperlukan pemahaman tentang konsep bahasa pemodelan dan tiga elemen utama UML. Tiga elemen utama UML antara lain :
A.    Benda / Things / Objek
Objek merupakan bagian paling statik sebuah model, yang menjelaskan elemen-elemen lainnya dari sebuah konsep. Bentuk dari beberapa objek :
1.    Classes, Sekelompok dari objek yang mempunyai atribute, operasi, dan hubungan yang sematik.
2.    Interfaces, antar-muka yang menghubungkan dan melayani anterkelas 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 sebuah collaboration.
5.    Nodes, bentuk fisik dari elemen-elemen yang ada pada saat dijalakannya sebuah sistem.

B.    Hubungan / Ralationship
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 cases dan collaborations.

C.    Bagan Atau Diagram
Diagram adalah yang menggambarkan permasalahan maupun solusi dari permasalahan suatu model. Pada UML 1.0 ada 9 jenis model diagram, yang kemudian UML berkembang menjadi UML 2.0 menjadi 13 jenis model diagram, yaitu:

1.    Diagram Use Cases
Use cases diagram merupakan suatu bentuk diagram yang menggambarkan fungsi-fungsi yang diharapkan dari sebuah sistem yang dirancang. Dalam Use cases diagram penekanannya adalah apa yang diperbuat oleh sistem, dan bukan bagaimana. Sebuah use cases akan merepresentasikan sebuah interaksi antara pelaku atau actor dengan sistem. Use cases diagram yang digunakan dalam merancang suatu sistem dapat sangat membantu pada saat kita menyusun requirement sebuah sistem, mengomunikasikannya dengan klien, dan merancang pengujian untuk semua fitur yang terdapat dalam sistem. Dalam suatu sistem aplikasi database, use cases diagram sangat membantu requierement apa saja yang diperlukan.
Use cases diagram menjelaskan manfaat sistem jika dilihat menurut pandangan orang yang berada di luar sistem (actor). Diagram ini menunjukkan fungsionalitas suatu sistem atau kelas dan bagaimana sistem berinteraksi dengan dunia luar. Pada tahap analisa, Use cases Diagram sangat berperan untuk menemukan requirement-requirement sistem dan untuk memahami bagaimana sistem seharusnya bekerja. Dalam sebuah model mungkin terdapat satu atau beberapa use cases diagram. Use cases diagram terdiri dari:
a.    Use Case
Use case menggambarkan perilaku software aplikasi, termasuk didalamnya interaksi antara aktor dengan software aplikasi. Use case dibuat berdasarkan proses-proses yang dilakukan untuk kepentingan aktor untuk menggambarkan apa yang dikerjakan oleh aplikasi, bukan bagaimana aplikasi mengerjakannya (logical).



   
Gambar 1.1 Simbol Use Case
b.    Actors
Aktor merupakan istilah yang digunakan untuk menggambarkan pengguna aplikasi. Aktor bisa berupa orang, hardware, atau sistem informasi lai yang berinteraksi dengan use case.

Gambar 1.2 Simbol Actors

c.    Association
Asosiasi merupakan komunikasi antara aktor dengan use case, digambarkan sebagai sebuah garis lurus tanpa putus antara aktor dan use case.
Ada 4 jenis relasi yang biasa timbul pada use case diagram :
1.    Association antara actor dan use case
2.    Association antara use case
3.    Generalization/Inheritance antara use case
4.    Generalization/Inheritance antara actors


Gambar 1.3 Simbol Association Biasa

d.    System Boundary Boxes (optional)
Untuk memperlihatkan batasan sistem dalam diagram use case, Anda dapat menggambarkan sebuah kotak yang melingkupi semua use case, namun actor tetap berada diluar kotak. Biasanya digunakan apabila memberikan beberapa alternative system yang dapat dijadikan pilihan.



Gambar 1.4 Simbol System Boundary Boxes

2.    Diagram Activity
Menunjukkan bagaimana aktifitas – aktifitas tersebut bergantung satu sama lain dan berfokus pada aktifitas – aktifitas yang terjadi yang terkait dalam suatu proses tunggal. Menggambarkan berbagai alir aktivitas dalam sistem yang sedang dirancang, bagaimana masing-masing alir berawal, decision yang mungkin terjadi, dan bagaimana mereka berakhir.

3.    Diagram Class
Sebuah Class Diagram menunjukkan struktur yang statis dari beberapa class dalam suatu sistem. Class-class merepresentasikan suatu keadaan (atribut/properti) dan yang akan dikerjakan oleh sistem (metoda/fungsi).
Diagram Class mempunyai 3 macam relationalships (hubungan), sebagai berikut :
a.    Association, suatu hubungan antara bagian dari dua kelas yang terjadi jika salah satu bagian dari kelas mengetahui kelas yang lain dalam melakukan suatu kegiatan.
b.    Aggregation, hubungan association dimana salah satu kelasnya merupakan bagian dari suatu kumpulan dan memiliki titik pusat yang mencakup keseluruhan bagian.
c.    Generalization, hubungan turunan dengan mengasumsikan satu kelas merupakan suatu kelas super dari kelas yang lain.

4.    Diagram Communication
Communication diagram memberikan pandangan alternatif dari interaksi dinamis yang terjadi antara objek dalam suatu sistem informasi berorientasi objek. Diamana sequence diagram menekankan penyusunan berbasis waktu dari suatu kegiatan, diagram komunikasi lebih berfokus pada suatu set pesan yang disampaikan dalam sekumpulan obyek yang berorientasi. Dengana kata lain, diagram komunikasi mengggambarkan bagaimana objek dapat berkolaborasi untuk mendukung beberapa aspek dari fungsi yang diperlukan dari sistem. Urutan atau penyusunan berdasarkan waktu dari pesan ditunjukan melalui skema urutan panorama. Dari sudut pandang praktis, diagram komunikasi dan sequence diagram menyediakan informasi yang sama.

5.    Diagram Component
Component diagram berfungsi untuk menggambarkan komponen run-time dan executable yang dibuat untuk sistem. Komponen saling berelasi menggunakan depedecy relation (Hubungan ketergantungan, yang ditandai dengan garis putus-putus). Komponen run-time memperlihatkan pengelompokan kelas untuk run-time library seperti Java Applet, Active-X Component dan Dynamic Libraries. Komponen executable memperlihatkan interface dan memanggil dependencies beberapa executable. Interface kelas diperlihatkan seperti lollypop.

6.    Diagram Deployment
Menggambarkan tata letak sebuah system secara fisik, menampakkan bagian-bagian software yang berjalan pada bagian-bagian hardware, menunjukkan hubungan komputer dengan perangkat (nodes) satu sama lain dan jenis hubungannya. Di dalam nodes, executeable component dan object yang dialokasikan untuk memperlihatkan unit perangkat lunak yang dieksekusi oleh node tertentu dan ketergantungan komponen.
Bersifat statis. Diagram ini memperlihatkan konfigurasi saat aplikasi dijalankan saat run time. Diagram ini membuat simpul-simpul (node) beserta komponen-komponen yang ada di dalamnya.

7.    Diagram Object
Object diagram sangat mirip dengan diagram kelas. Perbedaan utama adalah bahwa diagram objek menggambarkan objek dan hubungan mereka. Tujuan utama dari diagram objek adalah untuk memungkinkan analis untuk mengungkap rincian tambahan kelas. Dalam beberapa kasus, pernyataan variabel dari sebuah class diagram dapat membantu pengguna atau analis dalam menemukan atribut tambahan yang relevan, hubungan, dan atau operasi, atau mungkin menemukan bahwa beberapa atribut, hubungan, atau operasi yang salah tempat.
Bersifat statis. Diagram ini mempelihatkan objek-objek serta relasi-relasi antar objek. Diagram objek memperlihatkan instansiasi statis dari segala sesuatu yang dijumpai pada diagram kelas.

8.    Diagram Package
Package diagram utamanya digunakan untuk mengelompokan elemen diagram yang berlainan secara bersama-sama ke dalam tingkat pembangunan yang lebih tinggi yaitu berupa sebuah paket. Diagram paket pada dasarnya adalah diagram kelas yang hanya menampilkan paket, disamping kelas, dan hubungan ketergantungan, disamping hubungan khas yang ditampilkan pada diagram kelas.
Sebagai contoh jika kita memiliki sistem pendaftaran untuk kantor dokter, mungkin masuk akal untuk kelompok kelas pasien dengan kelas sejarah medis pasien bersama-sama untuk membentuk paket kelas pasien. Selain itu dapat berguna untuk membuat paket perawatan yang mengandung gejala penyakit, penyakit, dan obat-obatan khas yang diresepkan untuk mereka.
Bersifat statis. Diagram komponen ini memperlihatkakan organisasi serta kebergantungan system/perangkat lunak pada komponen-komponen yang telah ada sebelummnya.

9.    Diagram Sequence
Sequence diagram menjelaskan interaksi objek yang disusun berdasarkan urutan waktu. Secara mudahnya sequence diagram adalah gambaran tahap demi tahap yang seharusnya dilakukan untuk menghasilkan sesuatu sesuai dengan use case diagram.
Bersifat dinamis. Diagram urutan adalah interaksi yang menekankan pada pengiriman pesan (message) dalam suatu waktu tertentu. Sequence diagram menekankan penyusunan berbasis waktu untuk kegiatan yang dilakukan dengan satu set dari objek yang berkolaborasi. Sequence diagram sangat berguna dalam membantu analis, memahami spesifikasi real-time dan menggunakan kasus yang rumit. Diagram ini dapat diguanakan untuk mendeskripsikan baik secara fisik dan logis interaksi antara objek.

10.    Diagram State Machine
    Menggambarkan transisi dan perubahan keadaan (dari satu state ke state lainnya) suatu objek pada sistem sebagai akibat dari stimulans yang diterima. State machine diagram untuk memodelkan behavior/methode (lifecycle) sebuah kelas atau object memperlihatkan urutan kejadian sesaat (state) yang dilalui sebuah object, transisi dari sebuah state ke state lainnya.

11.    Diagram Composite Struktur
Diagram structur komposit ini digunakan untuk model hubungan antar bagian-bagian dari sebuah kelas. Sebagai contoh, ketika pemodelan pendaftaran penggajian, analis mungkin ingin kelas yang mewakili seluruh laporan serta kelas-kelas yang mewakili header, footer, dan garis-garis detail laporan. Dalam sebuah diagram kelas standar, ini akan membutuhkan analis untuk memodelkan pendaftaran penggajian menjadi empat kelas terpisah yang memiliki hubungan, kemudian menghubungkan mereka bersama-sama. Sebaliknya, diagram struktur komposit akan berisi tiga subclass: header, footer, dan garis detail. Diagram struktur komposit juga berguna ketika dilakukan pemodelan struktur internal komponen untuk sistem berbasis komponen. Seringkali, diagram struktur komposit merupakan mekanisme pemodelan yang kurang efektif karena pemodelan juga bisa dilakukan dengan mengkomunikasikan penggunaan paket dan diagram paket.

12.    Diagram Interaction Overview
Diagram yang memperlihatkan alur control dalam system atau business process. Setiap node/activity di dalam diagram mewakili interaction diagram yang lain. Interaction Overview Diagram menggunakan notasi yang dipakai pada Activity diagram dan Sequence Diagram Interaction.
Interaction overview diagram membantu analis memahami use case yang kompleks. Mereka memberikan gambaran aliran proses dari kontrol. Diagram gambaran interaksi memperluas diagram aktivitas melalui penambahan pragmen sequence dari sequence diagram. Akibatnya, urutan fragmen diperlakukan seolah-olah fragmen merupakan aktifitas dalam diagram aktivitas. Keuntungan utama menggunakan diagram gambran interkasi adalah bahwa anda dapat dengan mudah memodelkan aliran urutan alternatif. Walaupun, dalam prakteknya , hal ini bisa dicapai dengan menggunakan diagram aktifitas disamping diagram use case.

13.    Diagram Timing
Memperlihatkan interaksi ketika tujuan utama diagram adalah waktu. Menggambarkan perubahan dalam state atau kondisi dari pengelompokkaninstance atau tugas berlebihan. Biasanya dipakai untuk memperlihatkan perubahan dalam state objectberlebihan dalam merespon ke external events. Dipakai untuk memperlihatkan perilaku dari sebuah/ beberapa object melaluiperiode waktu.
     Ada 2 jenisTiming diagram yaitu :
•    Concise/simple notation : Dipakai untuk mengeksplorasi sebuah / beberapa object melalui periode waktu.
•    Robust notation

      Diagram tersebut akan menjadi ideal ketika kita mampu menyeimbangkan ke-6 elemen yang ada, bukan menariknya ke satu atau dua arah saja. Tiap orang biasanya punya satu elemen yang dominan, tinggal bagaimana mengoptimalkan elemen-elemen yang lain saja.

Pemodelan Sistem Berbasis Objek

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.
(Article by : http://id.wikipedia.org/)

Berikut adalah contoh UML Activity Diagram untuk Pemesanan Tempat (Reservasi) :



  1. Customer datang untuk memesan tempat, Start.
  2. Mengidentifikasi customer jika sudah terdaftar, tapi jika belum masuk ke pilihan daftar customer.
  3. Mencari permohonan pemesanan tempat.
  4. Mengecek tempat yang tersedia.
  5. Jika ada tempat yang kosong maka OK, tapi jika tidak ada maka reservasi batal.
  6. Mereservasi ke Buku Reservasi.
  7. Mengkonfirmasi ke Customer.
  8. Proses selesai, Finish.
Hasilnya seperti dibawah ini :
Pemodelan berbasis objek