Definisi UML

23

Click here to load reader

Transcript of Definisi UML

Page 1: Definisi UML

UML (Unified Modeling Language) adalah sebuah bahasa yang berdasarkan

grafik/gambar untuk memvisualisasi, menspesifikasikan, membangun, dan

pendokumentasian dari sebuah sistem pengembangan software berbasis OO (Object-

Oriented). UML sendiri juga memberikan standar penulisan sebuah sistem blue print,

yang meliputi konsep bisnis proses, penulisan kelas-kelas dalam bahasa program yang

spesifik, skema database, dan komponen-komponen yang diperlukan dalam sistem

software (http://www.omg.org).

Case Tool Pengembangan Perangkat Lunak Berorientasi-objek menggunakan Unified

Modeling Language (UML)

Nurokhim

P2PLR - Badan Tenaga Nuklir Nasional

Puspiptek Serpong Tangerang

Ratnasari Nur Rohmah

Teknik Elektro Universitas Muhammadiyah Surakarta

Page 2: Definisi UML

Abstrak

Metode objek-oriented banyak digunakan dalam pengembangan perangkat lunak.

Unified Modeling Language (UML) adalah bahasa yang dapat digunakan untuk

spesifikasi, visualisasi dan dokumentasi sistem software pada fase pengembangan.

UML merupakan unifikasi metode-metode Booch, OMT dan Objectory serta beberapa

metode lainnya, de facto UML merupakan standar bidang analisis dan desain sistem

objek-oriented. View adalah jendela (window) yang merupakan aspek pandang UML

terhadap sistem. UML memperkenalkan lima buah view untuk memandang sistem yaitu

: Use-Case View, Logical View, Component view, Deployment View dan Concurrency

View (Eriksson dan Penker, 1998). Booch (1998) menyebut view ini sebagai “Arsitektur

4+1” dan menyebut Concurrency View sebagai Process View. Tahap pengembangan

sistem perang kat lunak didalam UML meliputi: Analisis Kebutuhan (Requirement

Analysis), Analisis Sistem (Analysis), Desain (Design), Implementasi (Implementation)

dan Testing.

Kata Kunci: Unified Modeling Languge, orientasi-objek.

1. Pendahuluan

Teknologi rancang bangun perangkat lunak telah

berkembang pesat, dari peran-cangan struktur-

prosedural berbasis fungsi-onal menuju perancangan

Page 3: Definisi UML

berorientasi-objek yang didukung oleh perkembangan

visual modeling dengan implementasi pemro-graman

berbasis/berorientasi-objek. Meyer (1997) menyatakan

bahwa rancang bangun berorientasi-objek merupakan

komplemen dan dalam banyak kasus menggantikan

kedudukan rancang bangun terstruktur sebagai

teknologi tinggi yang bagus (“good”). Seiring dengan

per-kembangan itu literatur dan alat bantu (case tool)

untuk rancang bangun ber-orientasi-objek juga telah

banyak di rilis para pakar teknologi objek-oriented.

Dengan prasarana yang tersedia, para desainer

perangkat lunak diharapkan dapat “meninggalkan”

kerumitan user inter-face, misalnya penanganan menu,

penga-turan frame untuk tampilan, ataupun pena-

nganan event driven, klik button, dan lain-lain.

Disainer dapat lebih berkonsentrasi pada penanganan

persoalan utama (problem domain). Di sisi

Page 4: Definisi UML

pemrograman, programmer tidak lagi diharapkan

untuk menuliskan program record per record, tetapi

diharapkan menggunakan program-program

(komponen) yang sudah ada (reuse), dapat dikatakan

bahwa pemrograman mengarah ke ‘perakitan pogram’.

Namun demikian ke-mudahan yang diberikan bahasa

pemro-graman berorientasi-objek khususnya visual

programing tidak otomatis menjamin bahwa produk

yang dihasilkan dari pemrograman merupakan

perangkat lunak yang objek-oriented. Booch (1998)

pada journal (whitepaper) Rational Rose secara

implisit menyatakan bahwa aplikasi/software ber-

orientasi-objek bersifat arsitektur driven, hal ini

berarti objek oriented atau tidaknya software yang

telah dibuat sangat tergantung pada disain rancang

bangun atau arsitek-turnya. Oleh karena itu proses

pengem-bangan perangkat lunak akan menentukan

Page 5: Definisi UML

apakah perangkat lunak yang dihasilkan objek-

oriented atau bukan.

Eriksson dan Panker (1998), memberikan

pandangan bahwa model perangkat lunak objek-

oriented, jika disusun dengan benar, akan mudah

dipahami, diubah, dikembangkan, dilakukan verifikasi

dan validasi. Jika dilakukan dengan benar, sistem yang

dibangun dengan menggunakan teknologi objek-

oriented akan fleksibel untuk diubah, mempunyai JURNAL TEKNIK ELEKTRO EMITOR

Vol. 2, No. 1, Maret 2002

40

arsitektur yang terdefinisi dengan baik dan

memungkinkan untuk membentuk reusable

component. Jauh sebelumnya Taylor (1992)

menyatakan bahwa membangun software menggunaan

pendekatan teknologi objek memberikan beberapa

keuntungan, antara lain: memungkinkan penggunaan

Page 6: Definisi UML

kembali objek yang ada (reusable), memungkinkan

software yang baru dengan konstruksi yang lebih

besar, software berorientasi objek secara umum lebih

mudah dimodifikasi dan dirawat karena sebuah objek

dapat dimodifikasi tanpa banyak berpengaruh pada

objek yang lain.

Unified Modeling Language (UML) merupakan

alat bantu, bahasa pemodelan yang dapat digunakan

untuk rancang bangun berorientsi-objek. UML dapat

digunakan untuk spesifikasi, visualisasi dan dokumen-

tasi sistem pada fase pengembangan (Eriksson dan

Panker,1998). Walaupun banyak alat bantu pemodelan

berorientasi-objek lain, UML dapat dikatakan

merupakan alat bantu standar dalam bahasa

pemodelan. Hal ini terbukti dengan diterimanya UML

sebagai standar oleh Object Management Group

(OMG), konsorsium terbesar dibidang bisnis-objek,

Page 7: Definisi UML

sehingga UML banyak diadop-si dan digunakan oleh

banyak produsen perangkat lunak. UML (Rational

Rose 2000) menyediakan implementasi desain pada

pemrograman C++, Java, CORBA, dan Visual Basic.

Disamping itu UML menyedia-kan tool revers

engineering, untuk mem-bentuk model (kelas dan

komponen) dari software yang telah jadi.

2. Unified Modeling Language (UML)

Unified Modeling Language (UML) adalah alat

bantu (tool) untuk pemodelan sistem, “UML adalah

bahasa yang dapat digunakan untuk spesifikasi,

visualisasi, dan dokumentasi sistem objek-oriented

software pada fase pengembangan. UML merupakan

unifikasi dari metode Booch, OMT, dan notasi

Objectory, serta ide-ide terbaik metodologi lainnya

seperti terlihat pada Gambar 1. Dengan menyatukan

notasi metode-metode objek oriented tersebut, UML

Page 8: Definisi UML

merupakan standar dasar dalam bidang analisis dan

desain berorientasi-objek” (Quatrani, 1998).

3. View dan Diagram UML

View adalah jendela (window) yang merupakan

aspek pandang UML terhadap sistem. Sebuah sistem

harus dijelaskan dengan sejumlah aspek/pandangan

yang berbeda, misalnya aspek fungsional (struktur

statik dan interaksi dinamik), aspek non-fungsional

(timing requirement, reliability, deployment), dan

aspek organisasional (pengorganisasian pekerjaan,

mapping ke kode, dan modul). Sistem dijelaskan oleh

sejumlah view, dimana masing-masing view

merupakan proyeksi dari sistem secara komplit yang

memperlihatkan aspek tertentu dari sistem.

UML memperkenalkan lima buah view untuk

memandang sistem yaitu: Use-Case View, Logical

Page 9: Definisi UML

View, Component view, Deployment View dan

Concurrency View (Eriksson dan Penker, 1998).

Booch (1998) menyebut view ini sebagai “Arsitektur

4+1” dan menyebut Concurrency View sebagai

Process View.

1. Use-Case View. Untuk menampilkan fungsi-

fungsi dari sistem berkaitan dengan aktor

eksternal. Aktor yang ber-interaksi dengan sistem

dapat berupa seorang user atau sistem lainnya.

Use-case view ditujukan untuk para cus-tomer,

designer, developer, dan tester. Use-case view

merupakan bagian sentral dari view karena isinya

menjadi pengen-dali view yang lain. Tujuan akhir

dari sebuah sistem adalah untuk menyedia-kan

fungsi-fungsi yang dijelaskan dalam use-case

view, karena itu use-case view mempengaruhi

seluruh view lainnya. Use-case View juga

Page 10: Definisi UML

digunakan untuk validasi dan verifikasi sistem

2. Logical View. Untuk menampilkan bagaimana

fungsi-fungsi didisain didalam sistem , dalam

kaitannya dengan struktur statik dan perilaku

dinamik sistem. Logical view menjelaskan

bagaimana fungsi-fungsi sistem di sediakan,

terutama berguna bagi para designer dan

developer. Berbeda dengan use case view, logical

view melihat bagian dalam dari sistem. Sistem

dijelaskan dengan struktur statik (kelas, objek, dan

relasi) dan kolaborasi dinamik yang terjadi ketika

objek-objek mengirim pesan satu sama lain.

Struktur statik di visualisasikan dalam diagram

kelas dan objek, sedang model dinamiknya

divisualisasi dalam diagram state, diagram

sekuen, diagram kola-borasi dan diagram aktivity.

3. Component View. Untuk menampilkan

Page 11: Definisi UML

pengorganisasian program (code) dari komponen

code, menjelaskan implementasi dari modul-

modul yang tersedia dan dependensinya.

Component View terutama untuk para

pengembang, view berisi diagram komponen.

4. Concurrency/Process View. Untuk menampilkan

concurrency di dalam sistem, khususnya pada

persoalan yang berhubungan dengan komunikasi

dan sinkronisasi yang muncul dalam sistem

concurrent. Concurrency/Prosess view ditujukan

bagi para pengembang dan integrator sistem,

berisi diagram dinamik (state, sekuen, kolaborasi,

dan aktivity) dan diagram implementasi (diagram

komponen dan deployment)

Gambar 1. Unifikasi berbagai metode

pengembangan objek kedalamUML. Nurokhim, Case Tool Pengembangan Perangkat

Lunak Berorientasi Objek Menggunakan UML

Page 12: Definisi UML

41

5. Deployment View. Memperlihatkan deployment

sistem pada arsitektur fisik dengan komputer dan

piranti pendukung yang diperkenalkan sebagai

nodes. Deploymen view ditujukan bagi pe-

ngembang, integrator, dan tester, isi view berupa

diagram deployment. View ini juga mencakup

mapping yang memperlihatkan bagaimana

komponen-komponen di-deployment pada

arsitektur fisik; misalnya program atau objek yang

mana di eksekusi pada komputer tertentu.

Diagram adalah visualisasi grafik yang

memperlihatkan susunan dari simbol-simbol elemen

yang disusun untuk menggambarkan bagian atau aspek

tertentu dari sistem. Sebuah model sistem secara

Page 13: Definisi UML

tipikal mem-punyai beberapa diagram. Sebuah

diagram adalah bagian spesifik dari view, apabila

digambarkan akan mengambil tempat pada view

tertentu. Beberapa jenis diagram dapat menjadi bagian

dari beberapa view, tergantung pada isi diagram. UML

memperkenalkan sembilan macam diagram yaitu:

diagram Use Case, Kelas, Objek, State, Sekuen,

kolaborasi, Aktivity, Kom-ponen dan diagram

Deployment. Tabel 1 memperlihatkan penempatan

diagram dalam view UML.

4. Tahap Pengembangan Perangkat

Lunak

Tahap pengembangan sistem perangkat lunak

didalam UML meliputi: Analisis Kebutuhan

(Requirement Analysis), Analisis Sistem (Analysis),

Desain (Design), Implementasi ( Implementation) dan

Testing.

Page 14: Definisi UML

1. Analisis Kebutuhan: UML menggunakan Use

cases untuk menangkap kebutuhan customer/user.

Melalui Use cases aktor luar yang berinteraksi

dengan sistem dimodelkan bersama dengan

fungsi-fungsi yang mereka perlukan dari sistem

(use cases). Aktor dan use cases dihubungkan

dengan suatu relasi (relationship). Actor dan use

cases ditampilkan dalam bentuk diagram beserta

dokumentasinya pada view diagram Use case.

Dokumentasi use cases dalam bentuk text

diberikan secara terpisah (file) untuk memperjelas

use cases.

2. Analisis sistem: Fase analisis konsen dengan

abstraksi primer (kelas dan objek) dan mekanisme

yang muncul dalam problem domain. Kelas-kelas

diidentifikasi bersama dengan relasinya satu sama

lain, dan ditampilkan pada diagram kelas.

Page 15: Definisi UML

Kolaborasi antar kelas untuk mengerjakan use

case juga dijelaskan melalui model dinamik UML.

Pada fase analisis ini hanya kelas-kelas dalam

problem domain yang dimodelkan, bukan kelas-

kelas implementasi teknik.

3. Desain: Pada tahap desain hasil analisis

didetailkan untuk solusi teknik. Kelas-kelas baru

ditambahkan untuk menyediakan infrastruktur

teknik: user interface, penanganan database untuk

menyimpan objek kedalam database, komunikasi

dengan sistem lain, interfacing dengan peralatan

dalam sistem ditambahkan.

4. Implementasi/programming: Pada tahap pro-

gramming kelas-kelas yang dibentuk pada tahap

desain dikonversi menjadi code sesungguhnya

dalam bahasa pemrograman objek-oriented

melalui proses generate. Hasil generate berupa

Page 16: Definisi UML

skeleton dari program. Selanjutnya menjadi tugas

programmer untuk menyelesaikan program hasil

generate. Editing yang dilakukan oleh

programmer tidak akan di dihapus (ditimpa) saat

model di generate ulang.

5. Testing: Testing terhadap sistem software

biasanya berupa tes unit, tes integrasi, tes sistem,

dan tes acceptance. Tes unit adalah tes terhadap

kelas individual atau terhadap sekelompok kelas,

biasanya dilakukan oleh programmer. Tes

integrasi mengintegrasikan komponen dan kelas-

kelas dalam rangka verifikasi. Tes sistem

memandang sistem sebagai kotak hitam (black

box) dalam rangka validasi bahwa sistem

berfungsi sesuai dengan harapan end user. Tes

acceptance dilakukan oleh customer untuk

verifikasi bahwa sistem sesuai dengan kebutuhan,

Page 17: Definisi UML

sama seperti tes sistem. Test unit menggunakan

diagram kelas dan spesifikasi kelas, test integrasi

menggunakan diagram komponen dan diagram

kolaborasi, dan tes sistem menggunakan diagram

use-case untuk melakukan validasi.

5. Model Desain dan Implementasi

Model desain (diagram kelas, komponen,

deployment) ditampilkan dalam view-view UML

seperti telah dibicarakan diatas. Sedangkan

implementasi desain dila-kukan dengan ‘generate’

program dari diagram kelas atau diagram komponen

ke bahasa pemrograman yang diinginkan. Bahasa

pemrogaraman yang bisa digunakan diantaranya Java,

C++, dan Visual Basic.

6. Penutup

Secara umum proses pengembangan perangkat

lunak mencakup lima tahap, yaitu: analisis kebutuhan,

Page 18: Definisi UML

analisis sistem, desain, implementasi dan testing. UML

menye-diakan notasi dan diagram untuk menjelaskan

masing-masing tahap proses pengembangan. Pada

tahap analisis kebutuhan, UML mengunakan model

Use Case untuk menangkap kebutuhan Customer/

User. Pada tahap analisis sistem, UML menyediakan

abstraksi untuk pembentukan klas serta diagram klas,

Tabel 1. Penempatan diagram dalam view UML. JURNAL TEKNIK ELEKTRO EMITOR

Vol. 2, No. 1, Maret 2002

42

menggunakan objek-objek yang berkolaborasi

mengerjakan use case melalui model dinamik diagram

sekuen dan diagram kolaborasi. Pada tahap desain,

UML menyediakan detail desain spesifikasi klas-

klas/komponen-komponen hasil analisis untuk solusi

teknik. Pada tahap implementasi, UML menyediakan

fasilitas untuk generate program (code) dari kelas-

Page 19: Definisi UML

kelas atau komponen-komponen detail desain.

Sedangkan pada tahap testing, diagram dan spesifikasi

klas dapat digunakan untuk verifikasi/tes unit, diagram

komponen dan kolaborasi untuk tes integrasi dan use

case untuk tes sistem.

Daftar Pustaka

Booch G. (1998), Architectural Patterns, whitepapers, Rational Rose, www.rational.com.

Eriksson H-E and Penker M. (1998), UML Toolkit, John Wiley & Son Inc.

Heinckiens Peter M. (1998), Building Scalable Database Applications, Object-Oriented

Design, Architectures, and Implementations, Addison-Weslay Longman, Inc.

Meyer B. (1997), Object-oriented Software construction, 2nd, prentice Hall PTR Upper

Saddle River New Jersey 07458.

Nurokhim (2001), Penggunaan Unified Modeling Languagepada Rancang Bangun

Sistem Inventori Bahan Radioaktif. Tesis Magister Teknik Informatika Institut teknologi

Sepuluh November Surabaya.

Priestley M. (1997), Practical Object-Oriented design, The McGraw-Hill Company, USA.

Rumbough J., et. al. (1991), Object-Oriented Modeling and Design, prentice-Hall,

Englewood Cliffs, New Jersey.

Page 20: Definisi UML

Quatrani Terry (1998), Visual Modeling With Rational Rose and UML, Addison wesley

Longman, Inc.

Rational Rose (1998), Integrating Object and Relational Technologies, whitepapers,

www.rational.com.

Rational Rose (1998), A Rational Approach to Software Development Using Rational

Rose 4.0, whitepapers, www.rational.com.

Richter Charles (1999), Designing Flexible Object-Oriented System with UML,

Macmillan Technical Publishing, 201 West 103rd street, Indianapolis, IN 46290 USA.