Senin, 18 November 2013

pembahasan uml

BAB I
PENDAHULUAN

1.     1. LATAR BELAKANG
Saat ini piranti lunak semakin luas dan besar lingkupnya, sehingga tidak bisa lagi dibuat asal-asalan. Piranti lunak saat ini seharusnya dirancang dengan memperhatikan hal-hal seperti scalabilitysecurity, dan eksekusi yang robust walaupun dalam kondisi yang sulit. Selain itu arsitekturnya harus didefinisikan dengan jelas, agar bug mudah ditemukan dan diperbaiki, bahkan oleh orang lain selain programmer aslinya. Keuntungan lain dari perencanaan arsitektur yang matang adalah dimungkinkannya penggunaan kembali modul atau komponen untuk aplikasi piranti lunak lain yang membutuhkan fungsionalitas yang sama.
Pemodelan (modeling) adalah proses merancang piranti lunak sebelum melakukan pengkodean (coding). Model piranti lunak dapat dianalogikan seperti pembuatan blueprint pada pembangunan gedung. Membuat model dari sebuah sistem yang kompleks sangatlah penting karena kita tidak dapat memahami sistem semacam itu secara menyeluruh. Semakin komplek sebuah sistem, semakin penting pula penggunaan teknik pemodelan yang baik.
Dengan menggunakan model, diharapkan pengembangan piranti lunak dapat memenuhi semua kebutuhan pengguna dengan lengkap dan tepat, termasuk faktor-faktor seperti scalability, robustness, security, dan sebagainya.
Kesuksesan suatu pemodelan piranti lunak ditentukan oleh tiga unsur, yang kemudian terkenal dengan sebuan segitiga sukses (the triangle for success). Ketiga unsur tersebut adalah metode pemodelan (notation), proses (process) dan tool yang digunakan.
Memahami notasi pemodelan tanpa mengetahui cara pemakaian yang sebenarnya (proses) akan membuat proyek gagal. Dan pemahaman terhadap metode pemodelan dan proses disempurnakan dengan penggunaan tool yang tepat

1.     2. RUANG LINGKUP
Ruang lingkup dari pembahasan ini berkaitan dengan pengenalan UML serta membahas tentang berbagai macam diagram yang ada dalam UML. Dimana diagram tersebut merupakan sebuah artifak dalam pengembangan sistem, jumlah diagram tersebut ada 8 buah, yaitu Class diagram / Object diagram, Statechart diagram, Component diagram, Deployment diagram, Use case diagram, Sequence diagram, Collaboration diagram, Activity diagram.

1.     3.  TUJUAN
Tujuan dari penulisan ini adalah untuk menjelaskan UML sebagai suatu bahasa permodelan modern pengembangan piranti l unak yang sering dikaitkan erat dengan OOADSerta menjelaskan tujuan dari UML itu sendiri bagi pembaca paper ini.




1.     4.  METODE PENULISAN
Metodologi penulisan yang digunakan didalam penulisan ini yaitu:
·         Metode pengumpulan data
Metode yang digunakan untuk mengumpulkan data untuk penulisan ini adalah studi pustaka. Studi pustaka ini dilakukan dengan cara membaca dan meringkas literatur yang ada dan mengumpulkan informasi yang berhubungan dengan topik paper ini melalui internet.






















BAB II
PEMBAHASAN MASALAH

2.1.         PENGERTIAN UML
UML (Unified Modeling Language) adalah sebuah bahasa untuk menetukan, visualisasi, kontruksi, dan mendokumentasikan artifact (bagian dari informasi yang digunakan atau dihasilkan dalam suatu proses pembuatan perangkat lunak. Artifact dapat berupa model, deskripsi atau perangkat lunak) dari system perangkat lunak, seperti pada pemodelan bisnis dan system non perangkat lunak lainnya.

UML merupakan suatu kumpulan teknik terbaik yang telah terbukti sukses dalam memodelkan system yang besar dan kompleks. UML tidak hanya digunakan dalam proses pemodelan perangkat lunak, namun hampir dalam semua bidang yang membutuhkan pemodelan

2.2.         SEJARAH UML
UML dimulai secara resmi pada oktober 1994, ketika Rumbaugh bergabung dengan Booch pada Relational Software Corporation. Proyek ini memfokuskan pada penyatuan metode Booch dan OMT. UML versi 0.8 merupakan metode penyatuan yang dirilis pada bulan Oktober 1995. Dalam waktu yang sama, Jacobson bergabung dengan Relational dan cakupan dari UML semakin luas sampai diluar perusahaan OOSE. Dokumentasi UML versi 0.9 akhirnya dirilis pada bulan Juni 1996. Meskipun pada tahun 1996 ini melihat dan menerima feedback dari komunitas Software Engineering . Dalam waktu tersebut, menjadi lebih jelas bahwa beberapa organisasi perangkat lunak melihat UML sebagai strategi dari bisnisnya. Kemudian dibangunlah UML Consortium dengan beberapa organisasi yang akan menyumbangkan sumber dayanya untuk bekerja, mengembangkan, dan melengkapi UML.

Di sini beberapa partner yang berkontribusi pada UML 1.0, diantaranya Digital Equipment Corporation, Hewlett-Packard, I-Logix, Intellicorp, IBM, ICON Computing, MCI Systemhouse, Microsoft, Oracle, Relational, Texas Instruments dan Unisys. Dari kolaborasi ini dihasilkan UML 1.0 yang merupakan bahasa pemodelan yang ditetapkan secara baik, expressive, kuat, dan cocok untuk lingkungan masalah yang luas. UML 1.0 ditawarkan menjadi standarisasi dari Object Management Group (OMG). Dan pada Januari 1997 dijadikan sebagai standar bahasa pemodelan.

Antara Januari–Juli 1997 gabungan group tersebut memperluas kontribusinya sebagai hasil respon dari OMG dengan memasukkan Adersen Consulting, Ericsson, ObjectTimeLimeted, Platinum Technology, Ptech, Reich Technologies, Softeam, Sterling Software dan Taskon. Revisi dari versi UML (versi 1.1) ditawarkan kepada OMG sebagai standarisasi pada bulan Juli 1997. Dan pada bulan September 1997, versi ini dierima oleh OMG Analysis dan Design Task Force (ADTF) dan OMG ArchitectureBoard. Dan Akhirnya pada Juli 1997 UML versi 1.1 menjadi standarisasi.
Pemeliharaan UML terus dipegang oleh OMG Revision Task Force (RTF) yang dipimpin oleh Cris Kobryn. RTP merilis editorial dari UML 1.2 pada Juni 1998. Dan pada tahun 1998 RTF juga merilis UML 1.3 disertai dengan user guide dan memberikan technical cleanup


2.3.         BAGIAN-BAGIAN UML

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.

b. 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 diagramsdan kadang-kadang dengan activity diagrams. Viewini digunakan terutama untuk pelanggan, perancang (designer), pengembang (developer), dan penguji sistem (tester).

c. 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.
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).

d. 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).


e. 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).

f. Deployment view
Mendeskripsikan fisik dari sistem seperti komputer dan perangkat (nodes) dan bagaimana hubungannya dengan lainnya.
View ini digambarkan dalam deployment diagramsdan digunakan untuk pengembang (developer), pengintegrasi (integrator), dan penguji (tester).

g. 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 :

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 casemerupakan 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.

2Class Diagram
Class adalah dekripsi kelompok obyek-obyek dengan property, perilaku (operasi) dan relasi yang sama. Sehingga dengan adanya class diagram dapat memberikan pandangan global atas sebuah system. Hal tersebut tercermin dari class- class yang ada dan relasinya satu dengan yang lainnya. Sebuah sistem biasanya mempunyai beberapa class diagram. Class diagram sangat membantu dalam visualisasi struktur kelas dari suatu system.

3. Component Diagram
Component software merupakan bagian fisik dari sebuah system, karena menetap di komputer tidak berada di benak para analis. Komponent merupakan implementasi software dari sebuah atau lebih class. Komponent dapat berupa source code, komponent biner, atau executable component. Sebuah komponent berisi informasi tentang logic class atau class yang diimplementasikan sehingga membuat pemetaan dari logicalview ke component view.Sehingga component diagram merepresentasikan dunia riil yaitu component software yang mengandung component, interface dan relationship.
4. Deployment Diagram
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.

5. State Diagram
Menggambarkan semua state (kondisi) yang dimiliki oleh suatu object dari suatu class dan keadaan yang menyebabkan state berubah. Kejadian dapat berupa object lain yang mengirim pesan. State class tidak digambarkan untuk semua class, hanya yang mempunyai sejumlah state yang terdefinisi dengan baik dan kondisi class berubah oleh stateyang berbeda.

6. Sequence Diagram
Sequence Diagram digunakan untuk menggambarkan perilaku pada sebuah scenario. Kegunaannya untuk menunjukkan rangkaian pesan yang dikirim antara object juga interaksi antaraobject, sesuatu yang terjadi pada titik tertentu dalam eksekusi sistem.

7. Collaboration Diagram
Menggambarkan kolaborasi dinamis sepertisequence diagrams. Dalam menunjukkan pertukaran pesan, collaboration diagrams menggambarkan objectdan hubungannya (mengacu ke konteks). Jika penekannya pada waktu atau urutan gunakansequencediagrams, tapi jika penekanannya pada konteks gunakan collaboration diagram.

8. Activity Diagram
Menggambarkan rangkaian aliran dari aktivitas, digunakan untuk mendeskripsikan aktifitas yang dibentuk dalam suatu operasi sehingga dapat juga digunakan untuk aktifitas lainnya seperti use caseatau interaksi.

2.4.         KONSEP DASAR UML
Untuk dapat mememahami UML diperlukan pemahaman tentang konsep bahasa
pemodelan dan tiga eleman utama UML.Tiga elemen utama UML antara lain:

a. Buiding Bloks
Building bloks ini terdapat beberapa bagian ;

Benda / Things / Objek
Objek merupakan bagian paling statik dari sebuah model, yang menjelaskan elemen – elemen lainnya dari sebuah konsep.

Bentuk dari beberapa objek:
1)Classes, sekelompok dari object yang mempunyai atribute, operasi, dan hubungan yang semantic.

2)Interfaces, antar-muka yang menghubungkan dan melayani antarkelas 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 sebuahcoll aborati on.

5)Nodes, bentuk fisik dari elemen – elemen yang ada pada saat dijalankannya sebuah system

b. Hubungan / Relationship

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 casesdan collaborations.

c. Bagan atau Diagrams
Diagram adalah yang menggambarkan permasalahan maupun solusi dari
permasalahan suatu model. UML mempunyai 9 diagram, yaitu;

1)Diagram Use Case, menggambarkan apa saja aktifitas yang dilakukan oleh suatu sistem dari sudut pandang pengamatan luar.

Diagram Use Case berguna dalam tiga hal :
a.Menjelaskan fasilitas yang ada (requirements)
b. Komunikas dengan klien
c. Membuat test dari kasus – kasus secara umum

2)Diagram Class, memberikan pandangan secara luas dari suatu sistem dengan menunjukan kelas – kelasnya dan hubungan mereka.
Diagram Class mempunyai 3 macam relationalships (hubungan),

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. 

3)Diagram Package dan Object,merupakan kumpulan elemen – elemen logika UML yang bertujuan untuk mengelompokkan Diagram class yang lebih kompleks. 

4)DiagramSequence, merupakan salah satu diagramIntera ction yang menjelaskan bagaimana suatu operasi itu dilakukan yang diatur berdasarkan waktu. 

5)DiagramCollaboration merupakan diagramInteraction  berfungsi membawa informasi yang sama dengan diagram Sequence, tetapi lebih memusatkan atau memfokuskan pada kegiatan obyek dari waktu informasi itu dikirimkan.

 6)DiagramStateChart merupakan indikator yang menunjukan kemungkinan dari keadaan obyek dan proses yang menyebabkan perubahan pada keadaannya.

7)Diagram Activ ty, menunjukkan bagaimana aktifitas – aktifitas tersebut bergantung satu sama lain. dan berfokus pada aktifitas – aktifitas yang terjadi yang terkait dalam suatu proses tunggal.

8)DiagramComponent adalah sebuah kode – kode modul yang merupakan fisik sebenarnya dari diagramC lass.  

9)DiagramDeployment menerangkan bahwa konfigurasi fisiksoftware
danhardware. 









2.5.          KEUNGGULAN UML
·                     Uniformity
Pengembang cukup menggunakan 1 metodologi dari tahap analsis hingga perancangan. Memungkinkan merancang komponen antarmuka secara terintegrasi bersama perancangan PL dan perancangan struktur data

·                     Understandability
Kode yang dihasilkan dapat diorganisasi kedalam kelas-kelas yangberhubungan dengan masalah sesungguhnya sehingga lebih mudah untuk dipahami.

·                     Stability
Kode program yang dihasilkan relatif stabil sepanjang waktu, karena mendekati permasalahan yang sesungguhnya.

·                     Reusability
Dengan metodologi berorientasi objek, dimungkinkan penggunaan ulang kode, sehingga pada akhirnya akan sangat mempercepat waktu pengembangan perangkat lunak (atau sistem informasi)


2.6.         LANGKAH-LANGKAH PENGGUNAAN UML
Berikut ini adalah tips pengembangan piranti lunak dengan menggunakan UML:

1.Buatlah daftar business process dari level tertinggi untuk mendefinisikan aktivitas dan proses yang mungkin muncul.

2.Petakan use case untuk tiap business process untuk mendefinisikan dengan tepatfungsionalitas yang harus disediakan oleh sistem. Kemudian perhalus use case diagram danlengkapi dengan requirement, constraints dan catatan-catatan lain.

3.Buatlah deployment diagram secara kasar untuk mendefinisikan arsitektur fisik sistem.

4.Definisikan requirement lain (non-fungsional, security dan sebagainya) yang juga harus disediakan oleh sistem.

5.Berdasarkan use case diagram, mulailah membuat activity diagram.

6.Definisikan objek-objek level atas (package atau domain) dan buatlahsequence dan/atau collaboration diagram untuk tiap alir pekerjaan. Jika sebuah use case memiliki kemungkinan alir normal dan error, buatlah satu diagram untuk masing-masing alir.

7.Buarlah rancangan user interface model yang menyediakan antarmuka bagi pengguna untuk menjalankan skenario use case.

8.Berdasarkan model-model yang sudah ada, buatlah class diagram. Setiappackage atau domain dipecah menjadi hirarki class lengkap dengan atribut dan metodanya. Akan lebih baik jika untuk setiap class dibuat unit testuntuk menguji fungsionalitas class dan interaksi dengan class lain.

9.Setelah class diagram dibuat, kita dapat melihat kemungkinan pengelompokan class menjadi komponen-komponen. Karena itu buatlah component diagram pada tahap ini. 


Juga,definisikan tes integrasi untuk setiap komponen meyakinkan ia berinteraksi dengan baik.

10.Perhalus deployment diagram yang sudah dibuat. Detilkan kemampuan danrequirement piranti lunak, sistem operasi, jaringan, dan sebagainya. Petakan komponen ke dalam node.

11.Mulailah membangun sistem. Ada dua pendekatan yang dapat digunakan :

•  Pendekatan use case, dengan meng-assign setiap use case kepada tim pengembang tertentu untuk mengembangkan unit code yang lengkap dengan tes.
•  Pendekatan komponen, yaitu meng-assign setiap komponen kepada tim pengembang tertentu.

12.Lakukan uji modul dan uji integrasi serta perbaiki model bersertacodenya. Model harus selalu sesuai dengan code yang aktual.

13. Piranti lunak siap dirilis.

2.7.         Tujuan Penggunaan UML
1.      Memberikan bahasa pemodelan yang bebas dari berbagai bahas pemrograman dan proses rekayasa.
2.      Menyatukan praktek-praktek terbaik yang terdapat dalam pemodelan.
3.      Memberikan model yang siap pakai, bahsa pemodelan visual yang ekspresif untuk mengembangkan dan saling menukar model dengan mudah dan dimengerti secara umum.
4.      UML bisa juga berfungsi sebagai sebuah (blue print) cetak biru karena sangat lengkap dan detail. Dengan cetak biru ini maka akan bias diketahui informasi secara detail tentang coding program atau bahkan membaca program dan menginterpretasikan kembali ke dalam bentuk diagram (reserve enginering).

2.8.         Perangkat lunak yang mendukung pembuatan diagaram UML
1.      StarUML (http://staruml.sourceforge.net/en/)
StarUML adalah sebuah proyek open source untuk mengembangkan cepat, fleksibel,extensible, featureful, dan bebas-tersedia UML / platform MDA berjalan pada platformWin32.Tujuan dari proyek StarUML adalah untuk membangun sebuah alat pemodelan perangkat lunak dan juga platform yang menarik adalah pengganti alat UML komersial seperti Rational Rose, Bersama dan sebagainya
Acceleo adalah generator kode yang mengubah model menjadi kode. Acceleo mudah digunakan dan menyediakan “dari rak” generator (Jee,. Bersih, Php …) dan template editor untuk Eclipse.
ArgoUML adalah open source UML modeling tool terkemuka dan termasuk dukungan untuk semua diagram UML standar 1,4. Ini berjalan pada setiap platform Java dan tersedia dalam bahasa sepuluh. ArgoUML ditulis seluruhnya di Jawa dan menggunakan Java Kelas Foundation.Hal ini memungkinkan ArgoUML untuk berjalan di hampir semua platform

















BAB III
PENUTUP


 3.1. 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 mendefinisikan diagram-diagram sebagai berikut:
·         usecase diagram
·         class diagram
·         statechart diagram
·         activity diagram
·         sequence diagram
·         collaboration diagram
·         component diagram
·         deployment diagram

Saat ini banyak sekali tool pendesainan yang mendukung UML, baik itu tool komersial maupun opensource. Beberapa diantaranya adalah:
·         Rational Rose (www.rational.com)
·         Together (www.togethersoft.com)
·         Object Domain (www.objectdomain.com)
·         Jvision (www.object-insight.com)
·         Objecteering (www.objecteering.com)
·         MagicDraw (www.nomagic.com/magicdrawuml)
·         Visual Object Modeller (www.visualobject.com




3.2. SARAN

UML adalah suatu bahasa perancangan modern yang paling umum dipakai pada saat ini, dimana UML ini sering dikaitkan dengan bahasa pengembangan piranti lunak berbasis objek. Dengan menggunakan UML sebagai bahasa perancangan maka kita dapat membuat suatu rancangan piranti lunak yang dimana bahasa tersebut menyatukan berbagai praktik-praktik terbaik dalam permodelan, sehingga hasil rancangan kita dapat dimengerti secara umum dan universal.
            Dengan menggunakan UML, maka kita dapat berinteraksi lebih mudah dengan para perancang piranti lunak yang lain, karena kita memakai bahasa perancangan UML yang bersifat universal, dan diketahui oleh hampir semua perancang piranti lunak. Sehingga kita dapat saling bertukar pikiran atas rancangan yang kita buat dengan perancang lain, dan menghilangkan gap dalam perbedaan bahasa permodelan.






























DAFTAR PUSTAKA

http://mo3da.wordpress.com/2008/09/19/pengenalan-uml/
http://sttdb.wordpress.com/2010/07/13/pengertian-uml/
http://www.scribd.com/doc/26601970/SISTEM-BERORIENTASI-OBJEK
http://www.pribadiraharja.com/yusliana/perancis.html
http://edwin-uad.tk/makalah-tentang-uml/
http://mirzanshari.blogspot.com/2011/11/makalah-uml.html



Tidak ada komentar:

Posting Komentar