Jumat, 06 Juni 2014

Laporan Buku Tentang UML

1.      PENDAHULUAN

1 . 1 Latar Belakang
            UML ( Unified Modeling Language ) adalah ‘bahasa’ pemodelan untuk sistem atau perangkat lunak yang berparadigma ‘berorientasi objek’. Pemodelan (modeling) sesungguhnya digunakan untuk penyederhanaan permasalahan – permasalahan yang kompleks sedemikian rupa sehingga lebih mudah di pahami dan di pelajari. Adapun tujuan pemodelan ( dalam kerangka pengembangan sistem / perangkat lunak aplikasi ) yaitu sebagai sarana analisis , pemahaman , visualisasi , dan komunikasi antar anggota tim pengembang , serta sebagai sarana dokumentasi.
            Pemodelan perangkat lunak ( software modeling ) bekerja dengan cara yang cukup serupa layaknya seorang arsitek atau insinyur yang akan membuat sebuah bangunan / gedung yang berskala besar. Dalam hal ini , kita bisa menggambarkan komponen – komponen perangkat lunak dalam bentuk – bentuk geometri tertentu , misalnya untuk menggambarkan suatu kelas ( class ) dalam perangkat lunak , kita bisa menggunakan dalam bentuk geometri empat – persegi – panjang; untuk menggambarkan hubungan antar kelas ( asosiasi ) , kita dapat menggunakan bentuk geometri garis – lurus.

1 . 2 Tujuan
            Tujuan pembuatan ini adalah untuk menyelesaikan tugas membuat laporan buku tentang UML dan memberikan informasi dan pemahaman tentang UML ( Unified Modeling Language ).

2.      Kajian Pustaka
Bahasa pemodelan berorientasi objek muncul antara sekitar pertengahan tahun 1970-an dan akhir tahun 1980-an yang dikenal dengan bahasa pemograman berorientasi objek dan aplikasi komplek yang berkembang, yang dimulai untuk eksperimen dengan pendekatan alternatif untuk analisis dan desain. Sejumlah metode berorientasi objek bertambah dari kurang lebih 10 sampai lebih dari 50 selama periode 1989 dan 1994. Beberapa user pengguna metode ini menemukan permasalahan dalam bahasa pemodelan ini yang dibutuhkan mereka untuk kelengkapan, sehingga timbul yang dinamakan perang metode. Belajar dari pengalaman, metode generasi baru mulai muncul dengan metode yang terkemuka, seperti Booch, Jacobson’s OOSE (Object Oriented Software Engineering) dan Rumbaugh’s OMT (Object Modelling Technique). Metode penting lainya seperti Fusion, Shler_mellor dan Coad-Yourdan. Setiap metode ini merupakan metode yang lengkap, meskipun setiap metode diakui memiliki kelebihan dan kekurangan. Dalam waktu yang singkat metode Booch paling terasa dalam mendesain dan membangun tahapan project,OOSE memberikan dukungan yang baik untuk use cases seperti cara untuk menjalankan permintaan, analisis dan desain level tinggi, dan OMT-2 sangat berguna untuk analisis dan sistem informasi data intensif.
Banyak ide-ide yang kritis dimulai dari pertengahan tahun 1990-an ketika Grady Booch (Relational Software Corporation), Ivar Jacobson (Objectory) dan James Rumbaugh (General Electric) mulai mengadopsi ide-ide dari metode lainnya yang dikumpulkan yang akhirnya diakui sebagai Metode Object Oriented yang mudah diseluruh dunia. Kemudian mereka termotivasi untuk membangun UML(Unified Modelling Language).
UML dimulai secara resmi pada oktober 1994, ketika Rumbaugh bergabung dengan Booch pada Relational Software Coorporation. Proyek ini mengfokuskan pada penyatuan metode Booch dan OMT. Versi 0.8 merupakan Metode Penyatuan yang direlease pada bulan oktober 1995. Dalam waktu yang sama Jacobson bergabung dengan Ralational dan cakupan dari UML semakin luas sampai diluar perusahaan OOSE. Dokumentasi UML versi 0.9 akhirnya direlease 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 software melihat kalau UML merupakan strategi dari bisnisnya. Kemudian dibangunlah UML Consortium dengan beberapa organisasi yang akan menyumbangkan sumber dayanya untuk bekerja mengembangkan dan melengkapi UML.
Disini beberapa patner 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 Colaboration 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 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 3.1 dengan disertai dengan user guide dan memberikan technical cleanup.
                                                                                                             
3.      Gambaran Umum
UML adalah salah satu tool / model untuk merancang pengembangan software yang berbasis 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.
UML sebagai sebuah bahasa yang memberikan vocabulary dan tatanan penulisan kata­kata dalam `MS Word' untuk kegunaan komunikasi. Sebuah bahasa model adalah sebuah bahasa yang mempunyai vocabulary dan konsep tatanan / aturan penulisan serta secara fisik mempresentasikan dari sebuah sistem. UML adalah sebuah bahasa standar untuk pengembangan sebuah software yang dapat menyampaikan bagaimana membuat dan membentuk model­ - model, tetapi tidak menyampaikan apa dan kapan model yang seharusnya dibuat yang merupakan salah satu proses implementasi pengembangan software. UML tidak hanya merupakan sebuah bahasa pemograman visual saja, namun juga dapat secara langsung dihubungkan ke berbagai bahasa pemograman, seperti JAVA, C++, Visual Basic, atau bahkan dihubungkan secara langsung ke dalam sebuah object­ oriented database. Begitu juga mengenai pendokumentasian dapat dilakukan seperti; requirements, arsitektur, design, source code, project plan, tests, dan prototypes. Untuk dapat memahami UML membutuhkan bentuk konsep dari sebuah bahasa model, dan mempelajari 3 (tiga) elemen utama dari UML, seperti building block, aturan­aturan yang menyatakan bagaimana building block diletakkan secara bersamaan, dan beberapa mekanisme umum (common).
·         UML sebagai Bahasa Pemodelan
UML merupakan Bahasa pemodelan yang memiliki pembendaharaan kata dan cara untuk mempresentasikan secara fokus pada konseptual dan fisik dari suatu sistem. Contoh untuk sistem software yang intensive membutuhkan bahasa yang menunjukkan pandangan yang berbeda dari arsitektur sistem, ini sama seperti menyusun/mengembangkan software development life cycle. Dengan UML akan memberitahukan kita bagaimana untuk membuat dan membaca bentuk model yang baik, tetapi UML tidak dapat memberitahukan model apa yang akan dibangun dan kapan akan membangun model tersebut. Ini merupakan aturan dalam software development process.
·         UML sebagai bahasa untuk Menggambarkan Sistem(Visualizing)
UML tidak hanya merupakan rangkaian simbol grafikal, cukup dengan tiap simbol pada notasi UML merupakan penetapan simantik yang baik. Dengan cara ini, satu pengembang dapat menulis model UML dan pengembang lain atau perangkat yang sama lainnya dapat mengartikan bahwa model tersebut tidak ambigu. Hal ini akan mengurangi error yang terjadi karena perbedaan bahasa dalam komunikasi model konseptual dengan model lainnya.
UML menggambarkan model yang dapat dimengerti dan dipresentasikan ke dalam model tekstual bahasa pemograman. Contohnya kita dapat menduga suatu model dari sistem yang berbasis web tetapi tidak secara langsung dipegang dengan mempelajari code dari sistem. Dengan model UML maka kita dapat memodelkan suatu sistem web tersebut dan dipresentasikan ke bahasa pemogranan.
UML merupakan suatu model ekaplisit yang menggambarkan komunikasi informasi pada sistem. Sehingga kita tidak kehilangan informasi code implementasi yang hilang dikarenakan developer memotong coding dari implementasi.
·         UML sebagai bahasa untuk Menspesifikasikan Sistem (Specifying)
Maksudnya membangun model yang sesuai, tidak ambigu dan lengkap. Pada faktanya UML menunjukan semua spesifikasi keputusan analisis, desin dan implementasi yang penting yang harus dibuat pada saat pengembangan dan penyebaran dari sistem software intensif.
·         UML sebagai bahasa untuk Membangun Sistem(Constructing)
UML bukan bahasa pemograman visual, tetapi  model UML dapat dikoneksikan secara langsung pada bahasa pemograman visual. Maksudnya membangun model yang dapat dimapping ke bahasa pemograman seperti java, C++, VB  atau tabel pada database relational atau penyimpanan tetap pada database berorientasi objek.
·         UML sebagai bahasa untuk Pendokumentasian Sistem (Documenting)
Maksudnya UML menunjukan dokumentasi dari arsitektur sistem dan detail dari semuanya.UML hanya memberikan bahsa untuk memperlihatkan permintaan dan untuk tes. UML menyediakan bahasa untuk memodelkan aktifitas dari perencanaan project dan menejemen pelepasan (release management).

Area Penggunaan UML

UML digunakan paling efektif pada domain seperti :
-          Sistem Informasi Perusahaan
-          Sistem Perbankan dan Perekonomian
-          Bidang Telekomunikasi
-          Bidang Transportasi
-          Bidang Penerbangan
-          Bidang Perdagangan
-          Bidang Pelayanan Elekronik
-          Bidang Pengetahuan
-          Bidang Pelayanan Berbasis Web Terdistribusi

Namun UML tidak terbatas untuk pemodelan software. Pada faktanya UML banyak untuk memodelkan sistem nonsoftware seperti:
-          Aliran kerja pada sistem perundangan.
-          Struktur dan Kelakuakn dari sistem Kepedulian Kesehatan Pasien
-          Desain Hardware dll.

4.      Isi
UML terdiri atas pengelompokkan diagram – diagram sistem menurut aspek atau sudut pandang tertentu. Diagram adalah yang menggambarkan permasalahan maupun solusi dari permasalahan suatu model. Diagram berbentuk grafik yang menunjukan simbol elemen model yang disusun utuk mengilustrasikan bagain atau aspek tertentu dari sistem. Sebuah model sistem biasanya mempunyai beberapa diagram untuk setiap jenisnya. UML memiliki 9 diagram yaitu :
·         Diagram Use Case
Menggambarkan sejumlah eksternal actor dan hubungannya ke Use Case yang diberikan oleh sistem. Use Case digambarkan hanya yang dilihat dari luar oleh actor (keadaan lingkungan sistem yang dilihat user) dan bagaimana fungsi yang ada didalam sistem.

·         Diagram Class
Memberikan pandangan secara luas dari suatu sistem dengan menunjukkan kelas – kelasnya dan hubungan mereka. Diagram class bersifat statis yaitu menggambarkan hubungan apa yang terjadi buakn apa yang terjadi jika mereka berhubungan. Class dapat dihubungkan dengan lainnya melalui sejumlah cara : assasiated (terhubung satu dengan yang lain), dependent (satu class tergantung / menggunakan class yang lainnya), specialiized (satu class merupakan spesialisasi dari class lainnya), atau packaged (grup bersama sebagai suatu unit).

·         Diagram Package
Untuk mengatur pengorganisasian diagram class yang kompleks , dapat dilakukan pengelompokkan kelas – kelas berupa package ( paket – paket ). Package merupakan kumpulan elemen – elemen logika UML.

·         Diagram Sequence
Merupakan salah satu diagram interaction yang menjelaskan bagaimana suatu operasi itu dilakukan. Message ( pesan ) apa yang dikirim dan kapan pelaksanaannya. Objek – objek yang berkaitan dengan proses berjalannya operasi diurutkan dari kiri ke kanan berdasarkan waktu terjadinya dalam pesan yang terurut.

·         Diagram Collaboration
Menggambarkan kolaborasi dinamis seperti sequence diagram. Dalam menjukkan pertukaran pesan, collaboration diagram menggambarkan object dan hubungannya (mengacu ke konteks). Jika penekanannya pada waktu atau urutan gunakkan sequence diagram, tetapi jika penekanannya pada konteks gunakan collaboration diagram.

·         Diagram StateChart
Menggambarkan semua state (kondisi) yang dimiliki oleh suatu object dari suatu class dan kejadian yang menyebabkan state berubah secara dinamis.

·         Diagram Activity
Menggambarkan rangkaian aliran dari aktivitas, digunakkan untuk mendeskripsikan aktivitas yang dibentuk dalam suatu operasi sehingga dapat juga digunakan untuk aktivitas lainnya seperti use case atau interaksi.

·         Diagram Deployment
Menerangkan bahwa konfigurasi fisik software dan hardware.  Menggambarkan arsitektur fisik dari perangkat keras dan perangkat lunak sistem, menunjukkan hubungan komputer dengan perangkat (nodes) satu sama lain dan jenis hubungannya. Di dalam nodes, executable, component dan object yang dialokasikan untuk memperlihatkan unit perangkat lunak yang dieksekusi oleh node tertentu dan ketergantungan komponen.

5.      Kesimpulan dan Saran
UML adalah sebuah bahasa standar untuk pengembangan sebuah software yang dapat menyampaikan bagaimana membuat dan membentuk model­model, tetapi tidak menyampaikan apa dan kapan model yang seharusnya dibuat yang merupakan salah satu proses implementasi pengembangan software. Jadi , dalam membuat suatu konsep dalam sebuah sistem dapat menggunakan UML karena dengan menggunakan UML dapat mempermudah menyederhanakan dan menggambarkan suatu permasalahan. Dengan terdapatnya bermacam – macam diagram yang dapat membentuk sebuah alir proses , maka akan mempermudah untuk melihat dan menggambarkan suatu alur terjadinya sebuah proses.
Saran   : Dalam penggunaan UML tidaklah mudah , user harus sangat memahami macam – macam bentuk alir diagram sesuai dengan tujuan pembuatan atau perancangan sistem. Berbagai macam tools yang ada pada masing – masing diagram akan menyulitkan user dalam pembuatan suatu konsep alur sistem. Oleh karena itu disarankan agar user harus memahami UML dan tujuan dari pembuatan UML tersebeut.

6.      Daftar Pustaka
Buku Rekayasa Perangkat Lunak Berorientasi Objek dengan Metode USDP (Unified Software Development Process)" oleh Adi Nugroho.

Tidak ada komentar:

Posting Komentar