Tugas Bahasa Indonesia 2
1. PENDAHULUAN
Unified
Modeling Language (UML) adalah bahasa spesifikasi standar untuk
mendokumentasikan, menspesifikasikan, dan membangun system.
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.
2. KAJIAN PUSTAKA
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 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 Group
(OMG ).
3. BAGIAN-BAGIAN UML
Contoh
Diagram Activity ‘Pengambilan Uang melalui ATM’.
Gambar
Timing Diagram
Bagian-bagian
utama dari UML adalah view, diagram, model element, dan general mechanism.
1. 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.
2. Use case View
Mendeskripsikan
fungsionalitas sistem yang seharusnya dilakukan sesuai yang
diinginkan external actors. Actor yang berinteraksi dengan sistem
dapat berupa user atau sistem lainnya. View ini digambarkan dalam use
case diagrams dan kadang-kadang dengan activity diagrams. View ini digunakan
terutama untuk pelanggan, perancang (designer), pengembang (developer), dan
penguji sistem (tester).
3. Logical View
Mendeskripsikan
bagaimana fungsionalitas dari sistem, struktur statis (class, object, dan
relationship ) dan kolaborasi dinamis yang terjadi
ketika object mengirim pesan ke object lain dalam suatu
fungsi tertentu. View ini digambarkan dalam class diagrams untuk
struktur statis dan dalam state, sequence, collaboration, dan activity
diagram untuk model dinamisnya. View ini digunakan untuk perancang
(designer) dan pengembang (developer).
4. 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.
View ini digambarkan dalam component view dan digunakan untuk
pengembang (developer).
5. Concurrency View
Membagi
sistem ke dalam proses dan prosesor. View ini digambarkan dalam diagram
dinamis (state, sequence, collaboration, dan activity diagrams) dan
diagram implementasi (component dan deployment diagrams) serta digunakan
untuk pengembang (developer), pengintegrasi (integrator), dan penguji (tester).
6. Deployment View
Mendeskripsikan
fisik dari sistem seperti komputer dan perangkat (nodes) dan bagaimana
hubungannya dengan yang lain. View ini digambarkan dalam deployment
diagrams dan digunakan untuk pengembang (developer), pengintegrasi
(integrator), dan penguji (tester).
4.
DIAGRAM
- Use Case Diagram
- Activity Diagram
- Sequence Diagram
- Communication Diagram (Collaboration diagram in versi 1.x)
- Class Diagram
- State Machine Diagram (Statechart diagram in versi 1.x)
- Component Diagram
- Deployment Diagram
- Composite Structure Diagram
- Interaction Overview Diagram
- Object Diagram
- Package Diagram
- Timing Diagram
Berikut ini penjelasan
tentang diagram-diagram tersebut :
4.1.
Use Case Diagram
Use case
adalah abstraksi dari interaksi antara system dan actor. Use case bekerja
dengan cara mendeskripsikan tipe interaksi antara user sebuah system dengan
sistemnya sendiri melalui sebuah cerita bagaimana sebuah system
dipakai. Use case merupakan konstruksi untuk mendeskripsikan bagaimana
system akan terlihat di mata user. Sedangkan use case diagram memfasilitasi
komunikasi diantara analis dan pengguna serta antara analis dan client.
Gambar Use Case
Diagram
Diagram Use Case berguna dalam tiga hal :
-
Menjelaskan
fasilitas yang ada (requirements)
-
Use Case baru
selalu menghasilkan fasilitas baru ketika sistem di analisa, dan design menjadi
lebih jelas.
-
Komunikas dengan
klien
-
Penggunaan
notasi dan simbol dalam diagram Use Case membuat pengembang lebih mudah
berkomunikasi dengan klien-kliennya.
-
Membuat test
dari kasus-kasus secara umum
-
Kumpulan dari
kejadian-kejadian untuk Use Case bisa dilakukan test kasus layak untuk
kejadian-kejadian tersebut.
4.2.
Activity Diagram
Pada dasarnya diagram Activity sering
digunakan oleh flowchart. Diagram ini berhubungan dengan diagram
Statechart. Diagram Statechart berfokus pada obyek yang dalam suatu proses (atau
proses menjadi suatu obyek), diagram Activity berfokus pada aktifitas-aktifitas
yang terjadi yang terkait dalam suatu proses tunggal. Jadi dengan kata
lain, diagram ini menunjukkan bagaimana aktifitas-aktifitas tersebut bergantung
satu sama lain. Sebagai contoh, perhatikan proses yang terjadi. “Pengambilan
uang dari bank melalui ATM.” Ada tiga aktifitas kelas (orang, dan lainnya) yang
terkait yaitu : Customer, ATM, and Bank. Proses berawal dari lingkaran start
hitam pada bagian atas dan berakhir di pusat lingkaran stop hitam/putih pada
bagian bawah. Aktivitas digambarkan dalam bentuk kotak persegi. Lihat gambar di
bawah ini, agar lebih jelas :
Gambar
Diagram Activity dapat dibagi menjadi beberapa jalur
kelompok yang menunjukkan obyek mana yang bertanggung jawab untuk suatu
aktifitas. Peralihan tunggal (single transition) timbul dari setiap
adanya activity (aktifitas), yang saling menghubungi pada aktifitas
berikutnya. Sebuah transition (transisi) dapat membuat cabang ke dua
atau lebih percabangan exclusive transition (transisi eksklusif). Label Guard
Expression (ada didalam [ ]) yang menerangkan output (keluaran) dari
percabangan. Percabangan akan menghasilkan bentuk menyerupai bentuk intan. Transition
bisa bercabang menjadi beberapa aktifitas paralel yang disebut Fork. Fork
beserta join (gabungan dari hasil output fork) dalam diagram
berbentuk solid bar (batang penuh).
4.3.
Sequence Diagram
Diagram Class dan diagram Object merupakan suatu
gambaran model statis. Namun ada juga yang bersifat dinamis,
seperti Diagram Interaction. Diagram sequence merupakan salah satu
diagram Interaction yang menjelaskan bagaimana suatu operasi itu dilakukan; message
(pesan) apa yang dikirim dan kapan pelaksanaannya. Diagram ini diatur
berdasarkan waktu. Obyek-obyek yang berkaitan dengan proses berjalannya operasi
diurutkan dari kiri ke kanan berdasarkan waktu terjadinya dalam pesan yang
terurut. Di bawah ini adalah diagram Sequence untuk pembuatan Hotel
Reservation. Obyek yang mengawali urutan message adalah ‘aReservation
Window’.
Contoh
Diagram Sequence ‘Pemesanan kamar di Hotel’.
Gambar
‘Reservation window’ mengirim pesan makeReservation() ke ‘HotelChain’. Kemudian
‘HotelChain’ mengirim pesan yang sama ke ‘Hotel’. Bila ‘Hotel’ punya kamar
kosong, maka dibuat ‘Reservation’ dan ‘Confirmation’. Lifeline adalah garis
dot (putus-putus) vertikal pada gambar, menerangkan waktu terjadinya suatu
obyek. Setiap panah yang ada adalah pemanggilan suatu pesan. Panah berasal dari
pengirim ke bagian paling atas dari batang kegiatan (activation bar) dari
suatu pesan pada lifeline penerima. Activation bar menerangkan
lamanya suatu pesan diproses. Pada gambar diagram , terlihat bahwa ‘Hotel’
telah melakukan pemanggilan diri sendiri untuk pemeriksaan jika ada kamar
kosong. Bila benar, maka ‘Hotel’membuat ‘Reservation’ dan ‘Confirmation’.
Pemanggilan diri sendiri disebut dengan iterasi. Expression yeng
dikurung dengan “[ ]”, adalah condition (keadaan kondisi). Pada diagram
dapat dibuat note (catatan). Pada gambar, terlihat seperti selembar
kertas yang berisikan teks. Note bisa diletakan dimana saja pada diagram
UML.
4.4.
Communication
Diagram (Collaboration diagram in versi 1.x)
Collaboration diagram menggambarkan
interaksi antar objek seperti sequence
diagram, tetapi lebih menekankan pada peran masing-masing objek. Setiap message memiliki sequence number, di mana message dari level tertinggi memiliki
nomor 1. Messages dari level yang sama memiliki prefiks yang sama. Diagram
Collaboration juga merupakan diagram interaction. Diagram membawa
informasi yang sama dengan diagram Sequence, tetapi lebih memusatkan atau
memfokuskan pada kegiatan obyek dari waktu pesan itu dikirimkan.
Contoh
Diagram Collaboration ‘Pemesanan kamar di Hotel’.
Gambar
Kotak kegiatan obyek diberi label dengan nama kelas
atau obyek (atau keduanya). Nama kelas dibatasi dengan colons / titik dua (
: ). Setiap pesan pada diagram Collaboration mempunyai angka yang terurut.
Pesan yang tingkatannya tertinggi adalah angka 1. Pesan yang berada pada
tingkat yang sama memiliki prefix yang sama, namun suffix berbeda
bergantung pada posisinya; hanya untuk angka 1, 2, dan seterusnya.
4.5.
Class Diagram
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
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
Class dapat
merupakan implementasi dari sebuah interface,
yaitu class abstrak yang hanya
memiliki metoda. Interface tidak
dapat langsung diinstansiasikan, tetapi harus diimplementasikan dahulu menjadi
sebuah class. Dengan demikian interface mendukung resolusi metoda
pada saat run-time. Sesuai
dengan perkembangan class model,
class dapat dikelompokkan
menjadi package. Kita juga
dapat membuat diagram yang terdiri atas package.
Gambar Class Diagram
Hubungan Antar Class
- Asosiasi, yaitu hubungan statis antar class . Umumnya menggambarkan class yang memiliki atribut berupa class lain, atau class yang harus mengetahui eksistensi class lain. Panah navigability menunjukkan arah query antar class.
- Agregasi, yaitu hubungan yang menyatakan bagian (“terdiri atas..”).
- Pewarisan, yaitu hubungan hirarkis antar class . Class dapat diturunkan dari class lain dan mewarisi semua atribut dan metoda class asalnya dan menambahkan fungsionalitas baru, sehingga ia disebut anak dari class yang diwarisinya. Kebalikan dari pewarisan adalah generalisasi.
- Hubungan dinamis, yaitu rangkaian pesan ( message ) yang di-passing dari satu class kepada class lain. Hubungan dinamis dapat digambarkan dengan menggunakan sequence diagram yang akan dijelaskan kemudian.
4.6.
State
Machine Diagram (Statechart diagram in versi 1.x)
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 ). Dalam UML, state digambarkan berbentuk segiempat
dengan sudut membulat dan memiliki nama sesuai kondisinya saat itu. Transisi
antar state umumnya memiliki kondisi guard yang merupakan
syarat terjadinya transisi yang bersangkutan, dituliskan dalam kurung siku. Action
yang dilakukan sebagai akibat dari event tertentu dituliskan
dengan diawali garis miring. Titik awal dan akhir digambarkan berbentuk
lingkaran berwarna penuh dan berwarna setengah.
Gambar
State Machine Diagram (Statechart diagram in versi 1.x)
4.7.
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.
Gambar
Component Diagram
4.8.
Deployment
Diagram
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.
Gambar
Deployment Diagram
4.9.
Composite
Structure Diagram
Diagram struktur
komposit adalah diagram yang menunjukkan struktur internal classifier, termasuk
poin interaksinya ke bagian lain dari sistem. Hal ini menunjukkan konfigurasi dan
hubungan bagian, yang bersama-sama melakukan perilaku classifie. Diagram struktur
komposit merupakan jenis diagram struktur statis dalam Unified Modeling Language (UML), yang menggambarkan struktur internal kelas dan kolaborasi.
Struktur komposit
dapat digunakan untuk menjelaskan :
- Struktur dari bagian-bagian yang saling berkaitan
- Run-time struktur yang saling berhubungan
Contoh : Deskripsi dari bagian-bagian mesin yang saling
berhubungan untuk melakukan fungsi mesin.
Gambar
Composite Structure Diagram
4.10.
Interaction
Overview Diagram
Interaction Overview Diagram
adalah pencangkokan secara bersama antara activity diagram dengan sequence
diagram. Interaction Overview Diagram dapat dianggap sebagai activity
diagram dimana semua aktivitas diganti dengan sedikit sequence diagram,
atau bisa juga dianggap sebagai sequence diagram yang dirincikan dengan
notasi activity diagram yang digunakan untuk menunjukkan aliran
pengawasan.
Gambar
Interaction Overview Diagram
4.11.
Object
Diagram
Object diagram
merupakan sebuah gambaran tentang objek-objek dalam sebuah sistem pada satu
titik waktu. Karena lebih menonjolkan perintah-perintah 29 daripada class,
object diagram lebih sering disebut sebagai sebuah diagram perintah.
Gambar Object Diagram
4.12.
Package
Diagram
Diagram objek melengkapi notasi grafik untuk pemodelan objek, kelas dan
relasinya dengan yang lain. Diagram objek bermanfaat untuk pemodelan abstrak
dan membuat perancangan program. Untuk mengatur
pengorganisasian diagram Class yang kompleks, dapat dilakukan
pengelompokan kelas-kelas berupa package (paket-paket). Package adalah
kumpulan elemen-elemen logika UML. Gambar di bawah ini mengenai model bisnis
dengan pengelompokan kelas-kelas dalam bentuk paket-paket :
Contoh Diagram
Package.
Gambar Package Diagram
Ada jenis khusus dari diagram Class yaitu diagram
Object. Kegunaannya untuk penjelasan yang sedikit dengan relasi yang sulit,
khususnya relasi rekursif. Lihat gambar dibawah, diagram Class kecil
menunjukkan bahwa ‘department’ dapat mengandung banyak ‘department’ yang lain.
Class
yang relasinya rekursif.
Gambar
Setiap
tingkatan pada diagram berpengaruh pada single instance (bagian
tunggal). Nama bagian digarisbawahi dalam diagram UML. Untuk Class name (nama
kelas) maupun instance name (nama bagian) bisa mengambil dari diagram
Object selama arti diagram tersebut masih jelas.
Instance name memiliki huruf yang digarisbawahi.
Gambar
4.13.
Timing
Diagram
Timing Diagram
adalah bentuk lain dari interaction diagram, dimana fokus utamanya lebih
ke waktu. Timing diagram sangat berdaya guna dalam menunjukkan faktor pembatas
waktu diantara perubahan state pada objek yang berbeda.
5. 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.
6. SARAN
Dengan menggunakan UML , kita dapat berinteraksi dengan mudah dengan para perancang piranti lunak yang lain , karena kita menggunakan bahasa perancangan UML yang sifatnya universal , dan diketahui oleh semua perancang piranti lunak , sehingga kita dapat saling bertukar pikiran dengan para perancang yang lain dan menghilangkan perbedaan bahasa permodelan.
7. DAFTAR PUSTAKA
http://aisyahasmoro.blogspot.com/2011/11/u-m-l.html
http://noviastutik.blogspot.com/2012/09/diagram-diagram-dalam-uml-unified_24.html
http://informatika.web.id/pengertian-uml.htm
No comments:
Post a Comment