UML (Unified Modeling Language) adalah sebuah bahasa yang berdasarkan grafik/gambar untuk memvisualisasi, menspesifikasikan, membangun

, dan

pendokumentasian dari sebuah sistem pengembangan software berbasis OO (ObjectOriented). 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

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 strukturprosedural berbasis fungsi-onal menuju perancangan

misalnya penanganan menu. ataupun penanganan event driven. Dengan prasarana yang tersedia.berorientasi-objek yang didukung oleh perkembangan visual modeling dengan implementasi pemro-graman berbasis/berorientasi-objek. klik button. Di sisi . para desainer perangkat lunak diharapkan dapat ³meninggalkan´ kerumitan user inter-face. 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´). penga-turan frame untuk tampilan. 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. dan lain-lain. Disainer dapat lebih berkonsentrasi pada penanganan persoalan utama (problem domain).

pemrograman. Oleh karena itu proses pengem-bangan perangkat lunak akan menentukan . programmer tidak lagi diharapkan untuk menuliskan program record per record. tetapi diharapkan menggunakan program-program (komponen) yang sudah ada (reuse). Booch (1998) pada journal (whitepaper) Rational Rose secara implisit menyatakan bahwa aplikasi/software berorientasi-objek bersifat arsitektur driven. 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. hal ini berarti objek oriented atau tidaknya software yang telah dibuat sangat tergantung pada disain rancang bangun atau arsitek-turnya. dapat dikatakan bahwa pemrograman mengarah ke µperakitan pogram¶.

akan mudah dipahami. mempunyai JURNAL TEKNIK ELEKTRO EMITOR Vol. 1. Eriksson dan Panker (1998). No. jika disusun dengan benar. Maret 2002 40 arsitektur yang terdefinisi dengan baik dan memungkinkan untuk membentuk reusable component. dilakukan verifikasi dan validasi. dikembangkan.apakah perangkat lunak yang dihasilkan objekoriented atau bukan. diubah. antara lain: memungkinkan penggunaan . memberikan pandangan bahwa model perangkat lunak objekoriented. sistem yang dibangun dengan menggunakan teknologi objekoriented akan fleksibel untuk diubah. Jika dilakukan dengan benar. Jauh sebelumnya Taylor (1992) menyatakan bahwa membangun software menggunaan pendekatan teknologi objek memberikan beberapa keuntungan. 2.

kembali objek yang ada (reusable). . bahasa pemodelan yang dapat digunakan untuk rancang bangun berorientsi-objek. UML dapat dikatakan merupakan alat bantu standar dalam bahasa pemodelan. UML dapat digunakan untuk spesifikasi. software berorientasi objek secara umum lebih mudah dimodifikasi dan dirawat karena sebuah objek dapat dimodifikasi tanpa banyak berpengaruh pada objek yang lain. memungkinkan software yang baru dengan konstruksi yang lebih besar. visualisasi dan dokumentasi sistem pada fase pengembangan (Eriksson dan Panker. Walaupun banyak alat bantu pemodelan berorientasi-objek lain. Hal ini terbukti dengan diterimanya UML sebagai standar oleh Object Management Group (OMG).1998). konsorsium terbesar dibidang bisnis-objek. Unified Modeling Language (UML) merupakan alat bantu.

dan notasi Objectory. Dengan menyatukan notasi metode-metode objek oriented tersebut. Disamping itu UML menyedia-kan tool revers engineering. UML merupakan unifikasi dari metode Booch. UML . serta ide-ide terbaik metodologi lainnya seperti terlihat pada Gambar 1. Unified Modeling Language (UML) Unified Modeling Language (UML) adalah alat bantu (tool) untuk pemodelan sistem. Java. CORBA. ³UML adalah bahasa yang dapat digunakan untuk spesifikasi.sehingga UML banyak diadop-si dan digunakan oleh banyak produsen perangkat lunak. UML (Rational Rose 2000) menyediakan implementasi desain pada pemrograman C++. dan dokumentasi sistem objek-oriented software pada fase pengembangan. untuk mem-bentuk model (kelas dan komponen) dari software yang telah jadi. dan Visual Basic. 2. OMT. visualisasi.

aspek non-fungsional (timing requirement. mapping ke kode. 1998). Logical . 3. Sistem dijelaskan oleh sejumlah view. reliability. deployment). misalnya aspek fungsional (struktur statik dan interaksi dinamik). 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. View dan Diagram UML View adalah jendela (window) yang merupakan aspek pandang UML terhadap sistem. dan aspek organisasional (pengorganisasian pekerjaan.merupakan standar dasar dalam bidang analisis dan desain berorientasi-objek´ (Quatrani. dan modul). Sebuah sistem harus dijelaskan dengan sejumlah aspek/pandangan yang berbeda.

developer. Use-case view ditujukan untuk para cus-tomer. Tujuan akhir dari sebuah sistem adalah untuk menyedia-kan fungsi-fungsi yang dijelaskan dalam use-case view. Deployment View dan Concurrency View (Eriksson dan Penker. karena itu use-case view mempengaruhi seluruh view lainnya. Use-case view merupakan bagian sentral dari view karena isinya menjadi pengen-dali view yang lain. designer. Use-case View juga . Component view. Booch (1998) menyebut view ini sebagai ³Arsitektur 4+1´ dan menyebut Concurrency View sebagai Process View.View. Untuk menampilkan fungsifungsi dari sistem berkaitan dengan aktor eksternal. 1998). 1. Aktor yang ber-interaksi dengan sistem dapat berupa seorang user atau sistem lainnya. Use-Case View. dan tester.

diagram kola-borasi dan diagram aktivity. dalam kaitannya dengan struktur statik dan perilaku dinamik sistem. terutama berguna bagi para designer dan developer. dan relasi) dan kolaborasi dinamik yang terjadi ketika objek-objek mengirim pesan satu sama lain. Logical View. objek. sedang model dinamiknya divisualisasi dalam diagram state. Sistem dijelaskan dengan struktur statik (kelas. Untuk menampilkan bagaimana fungsi-fungsi didisain didalam sistem . Untuk menampilkan . Struktur statik di visualisasikan dalam diagram kelas dan objek. logical view melihat bagian dalam dari sistem. Berbeda dengan use case view. Logical view menjelaskan bagaimana fungsi-fungsi sistem di sediakan. Component View. 3. diagram sekuen.digunakan untuk validasi dan verifikasi sistem 2.

berisi diagram dinamik (state. view berisi diagram komponen. sekuen. dan aktivity) dan diagram implementasi (diagram komponen dan deployment) Gambar 1. Concurrency/Process View. menjelaskan implementasi dari modulmodul yang tersedia dan dependensinya.pengorganisasian program (code) dari komponen code. kolaborasi. khususnya pada persoalan yang berhubungan dengan komunikasi dan sinkronisasi yang muncul dalam sistem concurrent. Nurokhim. Concurrency/Prosess view ditujukan bagi para pengembang dan integrator sistem. Component View terutama untuk para pengembang. Untuk menampilkan concurrency di dalam sistem. Case Tool Pengembangan Perangkat Lunak Berorientasi Objek Menggunakan UML . 4. Unifikasi berbagai metode pengembangan objek kedalamUML.

isi view berupa diagram deployment. View ini juga mencakup mapping yang memperlihatkan bagaimana komponen-komponen di-deployment pada arsitektur fisik. Sebuah model sistem secara . Diagram adalah visualisasi grafik yang memperlihatkan susunan dari simbol-simbol elemen yang disusun untuk menggambarkan bagian atau aspek tertentu dari sistem. misalnya program atau objek yang mana di eksekusi pada komputer tertentu. Deployment View. dan tester. Memperlihatkan deployment sistem pada arsitektur fisik dengan komputer dan piranti pendukung yang diperkenalkan sebagai nodes.41 5. Deploymen view ditujukan bagi pengembang. integrator.

Kelas. UML memperkenalkan sembilan macam diagram yaitu: diagram Use Case. Tahap Pengembangan Perangkat Lunak Tahap pengembangan sistem perangkat lunak didalam UML meliputi: Analisis Kebutuhan (Requirement Analysis). Tabel 1 memperlihatkan penempatan diagram dalam view UML. Sekuen. . Kom-ponen dan diagram Deployment. Desain (Design).tipikal mem-punyai beberapa diagram. Implementasi ( Implementation) dan Testing. kolaborasi. Analisis Sistem (Analysis). tergantung pada isi diagram. Objek. Beberapa jenis diagram dapat menjadi bagian dari beberapa view. Sebuah diagram adalah bagian spesifik dari view. State. Aktivity. apabila digambarkan akan mengambil tempat pada view tertentu. 4.

2. dan ditampilkan pada diagram kelas. Melalui Use cases aktor luar yang berinteraksi dengan sistem dimodelkan bersama dengan fungsi-fungsi yang mereka perlukan dari sistem (use cases). Analisis Kebutuhan: UML menggunakan Use cases untuk menangkap kebutuhan customer/user. Actor dan use cases ditampilkan dalam bentuk diagram beserta dokumentasinya pada view diagram Use case.1. Kelas-kelas diidentifikasi bersama dengan relasinya satu sama lain. Aktor dan use cases dihubungkan dengan suatu relasi (relationship). Analisis sistem: Fase analisis konsen dengan abstraksi primer (kelas dan objek) dan mekanisme yang muncul dalam problem domain. Dokumentasi use cases dalam bentuk text diberikan secara terpisah (file) untuk memperjelas use cases. .

4. Implementasi/programming: Pada tahap programming kelas-kelas yang dibentuk pada tahap desain dikonversi menjadi code sesungguhnya dalam bahasa pemrograman objek-oriented melalui proses generate. interfacing dengan peralatan dalam sistem ditambahkan. bukan kelaskelas implementasi teknik. Hasil generate berupa . komunikasi dengan sistem lain. Kelas-kelas baru ditambahkan untuk menyediakan infrastruktur teknik: user interface. penanganan database untuk menyimpan objek kedalam database. Desain: Pada tahap desain hasil analisis didetailkan untuk solusi teknik. Pada fase analisis ini hanya kelas-kelas dalam problem domain yang dimodelkan.Kolaborasi antar kelas untuk mengerjakan use case juga dijelaskan melalui model dinamik UML. 3.

5. Editing yang dilakukan oleh programmer tidak akan di dihapus (ditimpa) saat model di generate ulang. tes integrasi. . biasanya dilakukan oleh programmer. Testing: Testing terhadap sistem software biasanya berupa tes unit. Selanjutnya menjadi tugas programmer untuk menyelesaikan program hasil generate. Tes unit adalah tes terhadap kelas individual atau terhadap sekelompok kelas. Tes sistem memandang sistem sebagai kotak hitam (black box) dalam rangka validasi bahwa sistem berfungsi sesuai dengan harapan end user. tes sistem.skeleton dari program. Tes acceptance dilakukan oleh customer untuk verifikasi bahwa sistem sesuai dengan kebutuhan. Tes integrasi mengintegrasikan komponen dan kelaskelas dalam rangka verifikasi. dan tes acceptance.

yaitu: analisis kebutuhan. Model Desain dan Implementasi Model desain (diagram kelas. 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.sama seperti tes sistem. dan tes sistem menggunakan diagram use-case untuk melakukan validasi. 5. . deployment) ditampilkan dalam view-view UML seperti telah dibicarakan diatas. test integrasi menggunakan diagram komponen dan diagram kolaborasi. 6. Test unit menggunakan diagram kelas dan spesifikasi kelas. C++. Penutup Secara umum proses pengembangan perangkat lunak mencakup lima tahap. dan Visual Basic. komponen.

desain. JURNAL TEKNIK ELEKTRO EMITOR Vol. Pada tahap analisis sistem. 1. UML menyediakan abstraksi untuk pembentukan klas serta diagram klas. 2. Pada tahap implementasi. implementasi dan testing. No. UML menyediakan detail desain spesifikasi klasklas/komponen-komponen hasil analisis untuk solusi teknik. Pada tahap desain. UML menyediakan fasilitas untuk generate program (code) dari kelas- . Penempatan diagram dalam view UML. UML mengunakan model Use Case untuk menangkap kebutuhan Customer/ User. Maret 2002 42 menggunakan objek-objek yang berkolaborasi mengerjakan use case melalui model dinamik diagram sekuen dan diagram kolaborasi. UML menye-diakan notasi dan diagram untuk menjelaskan masing-masing tahap proses pengembangan. Pada tahap analisis kebutuhan.analisis sistem. Tabel 1.

Englewood Cliffs. Rational Rose. Object-Oriented Design. USA. et.rational. whitepapers. Addison-Weslay Longman. Heinckiens Peter M. Rumbough J. (1998). Architectural Patterns. diagram komponen dan kolaborasi untuk tes integrasi dan use case untuk tes sistem. www. (1998). Sedangkan pada tahap testing. . Tesis Magister Teknik Informatika Institut teknologi Sepuluh November Surabaya.. Priestley M. Practical Object-Oriented design. New Jersey.com. Nurokhim (2001). al. Inc. (1998). and Implementations. UML Toolkit. diagram dan spesifikasi klas dapat digunakan untuk verifikasi/tes unit. Building Scalable Database Applications. Object-Oriented Modeling and Design. (1991).kelas atau komponen-komponen detail desain. Eriksson H-E and Penker M. Object-oriented Software construction. Meyer B. (1997). Architectures. 2nd. The McGraw-Hill Company. prentice-Hall. (1997). John Wiley & Son Inc. Penggunaan Unified Modeling Languagepada Rancang Bangun Sistem Inventori Bahan Radioaktif. Daftar Pustaka Booch G. prentice Hall PTR Upper Saddle River New Jersey 07458.

0. www. Designing Flexible Object-Oriented System with UML. Visual Modeling With Rational Rose and UML. 201 West 103rd street.com. Integrating Object and Relational Technologies. IN 46290 USA. Addison wesley Longman. Macmillan Technical Publishing.com. Indianapolis. Inc. . Richter Charles (1999). whitepapers. www. whitepapers. A Rational Approach to Software Development Using Rational Rose 4. Rational Rose (1998).rational. Rational Rose (1998).Quatrani Terry (1998).rational.