UML (Unified Modeling Language)
Unified Modeling Language (UML) adalah bahasa spesifikasi standar untuk
mendokumentasikan, menspesifikasikan, dan membangun sistem perangkat lunak.
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.
Sampai era tahun 1990 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 bulan Oktober 1994 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
Bagian-bagian utama dari UML adalah view, diagram, model element, dan general mechanism
a. View
View digunakan untuk melihat sistem yang dimodelkan dari beberapa aspek yang
berbeda. View bukan melihat grafik, tapi merupakan suatu abstraksi yang berisi
sejumlah diagram. Beberapa jenis view dalam UML antara lain: use case view, logical view,
component view, concurrency view, dan deployment view.
- Use case view
Mendeskripsikan fungsionalitas sistem yang seharusnya dilakukan sesuai yang
diinginkanexternal actors. Actor yang berinteraksi dengan sistem dapat berupa user atau sistem
lainnya.
- Logical view
Mendeskripsikan bagaimana fungsionalitas dari sistem, struktur statis (class,
object,danrelationship ) dan kolaborasi dinamis yang terjadi ketika object mengirim pesan
ke object lain dalam suatu fungsi tertentu.
- Component view
Mendeskripsikan implementasi dan ketergantungan modul. Komponen yang merupakan tipe
lainnya dari code module diperlihatkan dengan struktur dan ketergantungannya juga alokasi
sumber daya komponen dan informasi administrative lainnya.
- Concurrency view
Membagi sistem ke dalam proses dan prosesor. View ini digambarkan dalam diagram dinamis
(state, sequence, collaboration, dan activity diagrams) dan diagram implementasi
(componentdan deployment diagrams) serta digunakan untuk pengembang (developer),
pengintegrasi (integrator), dan penguji (tester).
- Deployment view
Mendeskripsikan fisik dari sistem seperti komputer dan perangkat (nodes) dan bagaimana
hubungannya dengan lainnya.
b. Diagram
Diagram berbentuk grafik yang menunjukkan simbol elemen model yang disusun untuk
mengilustrasikan bagian atau aspek tertentu dari sistem. Sebuah diagram merupakan bagian
dari suatu view tertentu dan ketika digambarkan biasanya dialokasikan untuk view tertentu.
Adapun jenis diagram antara lain :
UML menyediakan 13 macam diagram untuk memodelkan aplikasi berorientasi objek, yaitu:
1. Use Case Diagram untuk memodelkan proses bisnis.
Use case diagram menggambarkan fungsionalitas yang diharapkan dari sebuah sistem. Yang
ditekankan adalah “apa” yang diperbuat sistem, dan bukan “bagaimana”. Sebuah use case
merepresentasikan sebuah interaksi antara aktor dengan sistem. Use case merupakan sebuah
pekerjaan tertentu, misalnya login ke sistem, meng-create sebuah daftar belanja, dan
sebagainya.
2. Conceptual Diagram untuk memodelkan konsep-konsep yang ada di dalam aplikasi.
3. Sequence Diagram untuk memodelkan pengiriman pesan (message) antar objects.
Sequence diagram merupakan diagram yang menggambarkan pola hubungan diantara
sekumpulan objek yang saling mempengaruhi menurut urutan waktu. Sebuah objek
berinteraksi dengan objek lain melalui pengiriman pesan (messages). Sequence diagram
biasanya digunakan untuk mengilustrasikan sebuah use case.
4. Collaboration Diagram untuk memodelkan interaksi antar objects.
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.
5. State Diagram untuk memodelkan perilaku objects di dalam system
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).
6. Activity Diagram untuk memodelkan perilaku Use Cases dan objects di dalam system.
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.
7. Class Diagram untuk memodelkan struktur kelas.
Class diagram menggambarkan struktur dan deskripsi class, package dan objek beserta
hubungan satu sama lain seperti containment, pewarisan, asosiasi, dan lain-lain.
8. Object Diagram untuk memodelkan struktur object.
Pada object diagram digambarkan hubungan antar elemen dalam model, tapi dengan memakai
objeknya, bukan class. Class ialah kumpulan dari objek-objek yang memiliki attribute,
behaviour atau operation yang sama.
Class dan object di dalam tahapan design digambarkan dengan letak yang memiliki tiga bagian.
Pada bagian atas diberi nama class atau object. Bagian tengah merupakan bagian yang berisi
attribute yang dimiliki dan bagian bawah berisi operation.
9. Component Diagram untuk memodelkan komponen object.
Component Diagram merupakan gambaran aspek fisik sistem berbasis objek dengan
menunjukkan hubungan dan ketergantungan dalam serangkaian komponen. Menggambarkan
komponen fisik software termasuk source code, run time (binary) code, executable file, table,
library, dan dokumen. Meliputi komponen, interface, dependency, generalization, association,
realization, notes, constraint, packages, subsystem dari sebuah model.
10. Deployment Diagram untuk memodelkan distribusi aplikasi.
Deployment diagram menggambarkan sumber fisik dalam sistem, termasuk node, komponen
dan koneksi (model implementasi sistem yang statistik). Dalam hal ini meliputi topologi
hardware yang dipakai sistem.
11. Interaction overview diagram menunjukan layout dari activity diagram untuk
memodelkan alur dari logic dalam sekumpulan interaksi.
12. Package diagram menggambarkan dekomposisi dari sistem menjadi unit-unit dan
hubungan ketergantungannya.
13. Timing diagram menyediakan perubahan statis yang menekankan pada waktu sebenarnya.
Kesimpulan
Unified Modeling Language (UML) adalah bahasa pemodelan umum yang digunakan untuk
melakukan spesifikasi, visualisasi, konstruksi dan dokumentasi artifak dari software system.
UML bukanlah sebuah standar proses pengembangan dalam metode pengembangan sistem
tertentu, namun pada umumnya UML dipakai dalam memodelkan sistem yang dibangun
berbasiskan objek.
Tujuan UML menurut Booch, Rumbaugh dan Jacobson :
Memberikan model yang siap pakai, bahasa pemodelan visual yang ekspresif untuk
mengembangkan dan saling menukar model dengan mudah dan dimengerti secara umum.
Memberikan bahasa pemodelan yang bebas dari berbagai bahasa pemograman dan proses
rekayasa.
Menyatukan praktek-praktek terbaik yang terdapat dalam pemodelan.
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.

Uml

  • 1.
    UML (Unified ModelingLanguage) Unified Modeling Language (UML) adalah bahasa spesifikasi standar untuk mendokumentasikan, menspesifikasikan, dan membangun sistem perangkat lunak. 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. Sampai era tahun 1990 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 bulan Oktober 1994 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 Bagian-bagian utama dari UML adalah view, diagram, model element, dan general mechanism a. View View digunakan untuk melihat sistem yang dimodelkan dari beberapa aspek yang berbeda. View bukan melihat grafik, tapi merupakan suatu abstraksi yang berisi sejumlah diagram. Beberapa jenis view dalam UML antara lain: use case view, logical view, component view, concurrency view, dan deployment view. - Use case view Mendeskripsikan fungsionalitas sistem yang seharusnya dilakukan sesuai yang diinginkanexternal actors. Actor yang berinteraksi dengan sistem dapat berupa user atau sistem lainnya. - Logical view Mendeskripsikan bagaimana fungsionalitas dari sistem, struktur statis (class, object,danrelationship ) dan kolaborasi dinamis yang terjadi ketika object mengirim pesan ke object lain dalam suatu fungsi tertentu. - Component view
  • 2.
    Mendeskripsikan implementasi danketergantungan modul. Komponen yang merupakan tipe lainnya dari code module diperlihatkan dengan struktur dan ketergantungannya juga alokasi sumber daya komponen dan informasi administrative lainnya. - Concurrency view Membagi sistem ke dalam proses dan prosesor. View ini digambarkan dalam diagram dinamis (state, sequence, collaboration, dan activity diagrams) dan diagram implementasi (componentdan deployment diagrams) serta digunakan untuk pengembang (developer), pengintegrasi (integrator), dan penguji (tester). - Deployment view Mendeskripsikan fisik dari sistem seperti komputer dan perangkat (nodes) dan bagaimana hubungannya dengan lainnya. b. Diagram Diagram berbentuk grafik yang menunjukkan simbol elemen model yang disusun untuk mengilustrasikan bagian atau aspek tertentu dari sistem. Sebuah diagram merupakan bagian dari suatu view tertentu dan ketika digambarkan biasanya dialokasikan untuk view tertentu. Adapun jenis diagram antara lain : UML menyediakan 13 macam diagram untuk memodelkan aplikasi berorientasi objek, yaitu: 1. Use Case Diagram untuk memodelkan proses bisnis. Use case diagram menggambarkan fungsionalitas yang diharapkan dari sebuah sistem. Yang ditekankan adalah “apa” yang diperbuat sistem, dan bukan “bagaimana”. Sebuah use case merepresentasikan sebuah interaksi antara aktor dengan sistem. Use case merupakan sebuah pekerjaan tertentu, misalnya login ke sistem, meng-create sebuah daftar belanja, dan sebagainya. 2. Conceptual Diagram untuk memodelkan konsep-konsep yang ada di dalam aplikasi. 3. Sequence Diagram untuk memodelkan pengiriman pesan (message) antar objects. Sequence diagram merupakan diagram yang menggambarkan pola hubungan diantara sekumpulan objek yang saling mempengaruhi menurut urutan waktu. Sebuah objek berinteraksi dengan objek lain melalui pengiriman pesan (messages). Sequence diagram biasanya digunakan untuk mengilustrasikan sebuah use case. 4. Collaboration Diagram untuk memodelkan interaksi antar objects. 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. 5. State Diagram untuk memodelkan perilaku objects di dalam system 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). 6. Activity Diagram untuk memodelkan perilaku Use Cases dan objects di dalam system. 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. 7. Class Diagram untuk memodelkan struktur kelas. Class diagram menggambarkan struktur dan deskripsi class, package dan objek beserta hubungan satu sama lain seperti containment, pewarisan, asosiasi, dan lain-lain. 8. Object Diagram untuk memodelkan struktur object.
  • 3.
    Pada object diagramdigambarkan hubungan antar elemen dalam model, tapi dengan memakai objeknya, bukan class. Class ialah kumpulan dari objek-objek yang memiliki attribute, behaviour atau operation yang sama. Class dan object di dalam tahapan design digambarkan dengan letak yang memiliki tiga bagian. Pada bagian atas diberi nama class atau object. Bagian tengah merupakan bagian yang berisi attribute yang dimiliki dan bagian bawah berisi operation. 9. Component Diagram untuk memodelkan komponen object. Component Diagram merupakan gambaran aspek fisik sistem berbasis objek dengan menunjukkan hubungan dan ketergantungan dalam serangkaian komponen. Menggambarkan komponen fisik software termasuk source code, run time (binary) code, executable file, table, library, dan dokumen. Meliputi komponen, interface, dependency, generalization, association, realization, notes, constraint, packages, subsystem dari sebuah model. 10. Deployment Diagram untuk memodelkan distribusi aplikasi. Deployment diagram menggambarkan sumber fisik dalam sistem, termasuk node, komponen dan koneksi (model implementasi sistem yang statistik). Dalam hal ini meliputi topologi hardware yang dipakai sistem. 11. Interaction overview diagram menunjukan layout dari activity diagram untuk memodelkan alur dari logic dalam sekumpulan interaksi. 12. Package diagram menggambarkan dekomposisi dari sistem menjadi unit-unit dan hubungan ketergantungannya. 13. Timing diagram menyediakan perubahan statis yang menekankan pada waktu sebenarnya. Kesimpulan Unified Modeling Language (UML) adalah bahasa pemodelan umum yang digunakan untuk melakukan spesifikasi, visualisasi, konstruksi dan dokumentasi artifak dari software system. UML bukanlah sebuah standar proses pengembangan dalam metode pengembangan sistem tertentu, namun pada umumnya UML dipakai dalam memodelkan sistem yang dibangun berbasiskan objek. Tujuan UML menurut Booch, Rumbaugh dan Jacobson : Memberikan model yang siap pakai, bahasa pemodelan visual yang ekspresif untuk mengembangkan dan saling menukar model dengan mudah dan dimengerti secara umum. Memberikan bahasa pemodelan yang bebas dari berbagai bahasa pemograman dan proses rekayasa. Menyatukan praktek-praktek terbaik yang terdapat dalam pemodelan. 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.