Unified Modelling Language UML

5 Perancangan Kelas Class adalah sebuah spesifikasi yang jika diinstansiasi akan menghasilkan sebuah objek dan merupakan inti dari pengembangan dan desain berorientasi objek. Class menggambarkan keadaan atributproperti suatu sistem, sekaligus menawarkan layanan untuk memanipulasi keadaan tersebut metodefungsi. Class diagram menggambarkan struktur dan deskripsi class, package dan objek beserta hubungan satu sama lain.

2.4.2 Unified Modelling Language UML

1 Sejarah UML Grady Booch dan Jim Rumbaugh memulai penelitian di Rational Software Co. sekitar tahun 1994. Tujuan mereka yakni menciptakan sebuah metode baru yang dapat menciptakan metode-metode sebelumnya yang dapat digunakan pada semua kalangan. Sekitar tahun 1995 Ivar Jacobson, seorang tokoh yang menciptakan OOSE and Objectory Methode bergabung. Selain itu, perusahaan Rational Software Co. Membeli lisensi Objectory System dari Swedish Company sebagai pengembang dan pendistribusinya. Maka lahirnya sebuah metode baru yang mereka beri nama “Unified Modeling Languange” yang diharapkan dapat menjadi sebuah bahasa pemodelan standar seperti yang terlihat pada Gambar 2.3 Unsur-unsur Pembentuk UML. Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber. Gambar 2.3 Unsur-unsur Pembentuk UML 2 Definisi Unified Modelling Language Unified Modelling Language merupakan sebuah notasi grafis standar untuk menggambarkan sistem berorientasi objek yang merupakan hasil kerja sama dari Grady Booch, James Rumbaugh dan Ivar Jacobson. Menurut Bahrami 1999, Unified Modeling Language UML adalah suatu bahasa untuk menetapkan, membangun, memvisualisasikan, dan mendokumentasikan sistem perangkat lunak dan komponen-komponennya. Dari definisi di atas UML merupakan sebuah bahasa pemodelan suatu sistem berdasarkan grafik atau gambar untuk menspesifikasikan, membangun, memvisualisasikan dan mendokumentasikan suatu sistem perangkat lunak berorientasi objek. UML memberikan standar penulisan sebuah sistem yang meliputi konsep bisnis proses, penulisan kelas, skema database, dan komponen yang diperlukan dalam sistem perangkat lunak. Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber. 3 View Dalam UML UML dibangun atas model 4+1 view. Model ini didasarkan pada fakta bahwa struktur sebuah sistem dideskripsikan dalam 5 view di mana salah satu di antaranya use case view. Use case view ini memegang peran untuk mengintegrasikan content ke view yang lain seperti yang terlihat pada Gambar 2.4 Model 4+1 View. Gambar 2.4 Model 4+1 View Use case View mendefinisikan perilaku eksternal sistem. Hal ini menjadi daya tarik bagi end-user, analis dan tester. Selanjutnya Design view mendeskripsikan struktur logika yang mendukung fungsi-fungsi yang dibutuhkan di use case. Design view berisi definisi komponen program, class-class utama bersama-sama dengan spesifikasi data, perilaku dan interaksinya. Implementation view menjelaskan komponen-komponen fisik dari sistem yang akan dibangun. Process view berhubungan dengan hal-hal yang berkaitan dengan concurrency di dalam sistem. Sedangkan deployment view menjelaskan bagaimana Design Implementation Process Deployment Use Case komponen- komponen fisik didistribusikan ke lingkungan fisik. Kedua view ini menunjukkan kebutuhan non-fungsional dari sistem. Deployment View menjelaskan bagaimana komponen-komponen fisik didistribusikan ke lingkungan fisik seperti jaringan Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber. komputer, printer dan peralatan lainnya serta bagaimana peralatan tersebut dihubungkan dengan peralatan yang lainnya di mana sistem akan dijalankan. 4 Diagram-Diagram Unified Modelling Language Setiap sistem yang kompleks memiliki pendekatan yang terbaik melalui suatu himpunan kecil dalam pandangan semua view dalam suatu model, tidak ada single view yang terpenuhi. Setiap model bisa dinyatakan pada tingkat yang berbeda dari ketepatannya. Diagram-diagram yang terdapat pada UML seperti yang dapat terlihat pada Gambar 2.5 Klasifikasi Jenis Diagram UML Versi 1.3. Gambar 2.5 Klasifikasi Jenis Diagram UML Versi 1.3 Diagram kelas bersifat statis, diagram ini memperlihatkan himpunan kelas- kelas, serta relasi-relasi. Diagram ini umum dijumpai pada pemodelan sistem berorientasi objek. Meskipun bersifat statis, sering pula diagram kelas memuat kelas-kelas aktif. Diagram Objek bersifat statis, diagram ini memperlihatkan Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber. objek-objek serta relasi-relasi antar objek. Diagram objek memperlihatkan instansiasi statis dari segala sesuatu yang dijumpai pada diagram kelas. Use Case Diagram bersifat statis, diagram ini memperlihatkan himpunan use case dan aktor-aktor suatu jenis khusus dari kelas. Diagram ini terutama sangat penting untuk mengorganisasi dan memodelkan perilaku dari suatu sistem yang dibutuhkan serta diharapkan pengguna. Sequence diagram bersifat dinamis, diagram urutan adalah diagram interaksi yang menekankan pada pengiriman pesan message dalam suatu waktu tertentu. Collaboration diagram Bersifat dinamis, diagram kolaborasi adalah diagram interaksi yang menekankan organisasi struktural dari objek-objek yang menerima serta mengirim pesan message. Statechart diagram bersifat dinamis, diagram state ini memperlihatkan state-state pada sistem memuat state, transisi, even, serta aktivitas. Diagram ini terutama penting untuk memperlihatkan sifat dinamis dari antarmuka interface, kelas, kolaborasi dan terutama penting pada pemodelan sistem-sistem reaktif. Activity diagram bersifat dinamis, diagram aktivitas ini adalah tipe khusus dari diagram state yang memperlihatkan aliran dari suatu aktivitas ke aktivitas lainnya dalam suatu sistem. Diagram ini terutama penting dalam pemodelan fungsi-fungsi dalam suatu sistem yang memberi tekanan pada aliran kendali antar objek. Component diagram bersifat statis, diagram komponen ini memperlihatkan organisasi serta kebergantungan sistemperangkat lunak pada komponen- komponen yang telah ada sebelumnya. Diagram ini berhubungan dengan diagram kelas di mana komponen secara tipikal dipetakan ke dalam satu atau lebih kelas- kelas, antarmuka-antarmuka interfaces, serta kolaborasi-kolaborasi. Deployment diagram bersifat statis, diagram ini memperlihatkan konfigurasi saat aplikasi Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber. dijalankan saat runtime. Diagram ini memuat simpul-simpul node beserta komponen-komponen yang ada di dalamnya. Deployment diagram berhubungan erat dengan diagram komponen di mana deployment diagram memuat satu atau lebih komponen-komponen. Diagram ini sangat berguna saat aplikasi kita berlaku sebagai aplikasi yang dijalankan pada banyak mesin distributed computing. Class diagram, juga dikenal sebagai objek modeling, adalah diagram analisis statis yang utama. Diagram ini menunjukkan struktur yang statis dari suatu model. Suatu class diagram adalah suatu koleksi unsur-unsur modeling yang statis, seperti kelas-kelas dan relationship yang dihubungkan sebagai suatu grafik antara yang satu dengan yang lainnya beserta isi-isinya. Sebagai contoh, hal yang ada seperti kelas-kelas, struktur-struktur class diagram internal, dan hubungan class diagram dengan kelas-kelas yang lain. Class diagram tidak menunjukkan informasi yang temporal, yang diperlukan di dalam pemodelan yang dinamis. Class diagram memodelkan struktur kelas dan isinya dengan menggunakan elemen-elemen model seperti class, package, dan objek. Kelas terdiri dari tiga bagian yaitu nama kelas, attribute dan operations. Kelas didefinisikan secara global dapat diakses oleh objek di luar kelas tersebut seperti yang terlihat pada Tabel 2.1 Notasi pada Class Diagram. Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber. Tabel 2.1 Notasi pada Class Diagram Fungsi Pengertian Simbol Class Class adalah blok - blok pembangun pada pemrograman berorientasi objek. Sebuah class digambarkan sebagai sebuah kotak yang terbagi atas 3 bagian. Bagian atas adalah bagian nama dari class. Bagian tengah mendefinisikan propertyatributte class. Bagian akhir mendefinisikan method- method dari sebuah class. Assosiation Sebuah asosiasi merupakan sebuah relationship paling umum antara 2 class, dan dilambangkan oleh sebuah garis yang menghubungkan antara 2 class. Garis ini bisa melambangkan tipe-tipe relationship dan juga dapat menampilkan hukum-hukum multiplisitas pada sebuah relationship Contoh: One-to-one, one-to-many, many-to-many. Dependency Kadangkala sebuah class menggunakan class yang lain. Hal ini disebut dependency. Umumnya penggunaan dependency digunakan untuk menunjukkan operasi pada suatu class yang menggunakan class yang lain. Sebuah dependency dilambangkan sebagai sebuah panah bertitik-titik. Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber. Fungsi Pengertian Simbol Aggregation Aggregation mengindikasikan keseluruhan bagian relationship dan biasanya disebut sebagai relasi “mempunyai sebuah” atau “bagian dari”. Sebuah aggregation digambarkan sebagai sebuah garis dengan sebuah jajaran genjang yang tidak berisitidak solid. Generalization Sebuah relasi generalization sepadan dengan sebuah relasi inheritance pada konsep berorientasi objek. Sebuah generalization dilambangkan dengan sebuah panah dengan kepala panah yang tidak solid yang mengarah ke kelas “parent”-nyainduknya. Sumber : http:resources.visual-paradigm.com Diagram kelas memodelkan struktur kelas dan isinya. Kelas terdiri dari Nama Kelas, Atribut dan Operasi seperti yang terlihat pada Gambar 2.6 Diagram Kelas. Gambar 2.6 Diagram Kelas Class name bagian yang paling atas berisi nama kelas, nama kelas diambil dari domain permasalahan dan harus sejelas mungkin. Oleh karena itu, nama kelas Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber. haruslah berupa kata benda. Attribute kelas memiliki attribute yang menggambarkan karakteristik dari objek. Attribute kelas yang benar adalah yang dapat mencakup informasi yang dilukiskan dan mengenali instance tertentu dari kelas. Tipe attribute dapat berupa primitive attribute atau tipe lainnya. Method Operations operations digunakan untuk memanipulasi attribute atau menjalankan aksi-aksi. Class diagram terdiri dari beberapa relationship, di antaranya Generalization, Diagram objek, Aggregation dan Association. Generalisasi adalah hubungan antara suatu kelas secara umum dengan suatu kelas yang lebih spesifik. Generalisasi adalah suatu yang dipertunjukkan sebagai suatu garis berarah dengan tertutup. UML membiarkan suatu label diskriminator untuk dihubungkan dengan suatu Generalization superclass. Diagram objek, suatu diagram objek yang statis adalah satu kejadian dari suatu diagram kelas. Itu menunjukkan suatu snapshot dari status yang terperinci dari sistem pada suatu momen yang tepat. Notasi adalah sama selama satu diagram objek dan suatu diagram kelas. Diagram kelas dapat berisi objek, maka suatu diagram kelas dengan objek dan tidak ada kelas- kelas adalah satu diagram objek. Aggregation adalah suatu bentuk asosiasi. Komposisi, juga yang dikenal sebagai a-part-of adalah suatu wujud aggregation dengan kepemilikan yang kuat untuk menunjukkan komponen dari suatu objek yang kompleks. Komposisi juga dikenal sebagai suatu part-whole relationship. Notasi UML untuk komposisi adalah suatu berlian yang padat pada akhir suatu alur seperti yang terlihat pada Gambar 2.7 Contoh Aggregation. Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber. Gambar 2.7 Contoh Aggregation Nugroho, 2005 Association didefinisikan sebagai penghubung objek-objek pada kelas yang sama. Multiplicity atau multiplisitas adalah jumlah banyaknya objek sebuah class yang berelasi dengan sebuah objek lain pada class lain yang berasosiasi dengan class tersebut. Untuk menyatakan multiplisitas anda dapat meletakkannya di atas garis asosiasi berdekatan dengan class yang sesuai. Notasi-notasi yang ada pada multiplisitas seperti yang terlihat pada Tabel 2.2 Notasi Multiplisitas. Tabel 2.2 Notasi Multiplisitas Multiplitas Arti Banyak Nol 1 Satu 0… Nol atau banyak 1… Satu atau banyak 0…1 Nol atau satu 1…1 Hanya satu Sumber: Nugroho, 2005. Konsep use case diperkenalkan oleh Ivan Jacobson di dalam Object Oriented Software Engineering OOSE. Use case adalah deskripsi fungsi dari sebuah sistem dari perspektif pengguna. Use case akan menggambarkan cara kerja suatu software dengan aktor. Dalam use case diagram akan digambarkan Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber. hubungan antara aktor dengan use case. Aktor adalah orang atau subsistem lain yang akan berinteraksi dengan sistem. Sementara use case menggambarkan proses yang akan dilakukan oleh aktor terhadap sistem seperti yang terlihat pada Gambar 2.8 Simbol Use Case Diagram. Gambar 2.8 Simbol Use Case Diagram Uraian suatu use case menggambarkan apa yang terjadi di dalam sistem ketika use case dilaksanakan. Pada intinya hubungan-hubungan ini ditunjukkan di suatu diagram use case diantaranya Communication, hubungan komunikasi dari suatu aktor di suatu use case, ditunjukkan dengan menghubungkan simbol aktor kepada simbol use case dengan suatu alur yang padat. Aktor itu dikatakan “komunikasi” dengan use case. Uses, menggunakan hubungan antara use case ditunjukkan oleh panah generalisasi dari use case seperti yang terlihat pada Gambar 2.9 Contoh Kondisi Uses. Gambar 2.9 Contoh Kondisi Uses Extends, perluasan hubungan digunakan ketika kita mempunyai satu use case yang serupa dengan use case yang lain tetapi lebih banyak. Pada intinya, itu seperti suatu subclass seperti yang terlihat pada Gambar 2.10 Contoh Kondisi Extends. Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber. Gambar 2.10 Contoh Kondisi Extends Berikut merupakan notasi-notasi untuk use case diagram seperti yang terlihat pada Tabel 2.3 Notasi Use Case Diagram di bawah ini. Tabel 2.3 Notasi Use Case Diagram Fungsi Kegunaan Simbol Actor Actor adalah pengguna sistem. Actor tidak terbatas hanya manusia saja, jika sebuah sistem berkomunikasi dengan aplikasi lain dan membutuhkan input atau memberikan output, maka aplikasi tersebut juga bisa dianggap sebagai actor. Use Case Use case digambarkan sebagai lingkaran elips dengan nama use case dituliskan didalam elips tersebut. Association Asosiasi digunakan untuk menghubungkan actor dengan use case. Asosiasi digambarkan dengan sebuah garis yang menghubungkan antara Actor dengan Use Case. Depends on Menyatakan hubungan ketergantungan antar Use Case, yakni pelaksanaan suatu use case baru bisa dilakukan setelah pelaksanaan use case lain selesai. Sumber : http:resources.visual-paradigm.com Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber. Gambar 2.11 Contoh Use Case Diagram Sequence diagram menggambarkan interaksi antar objek di dalam dan di sekitar sistem termasuk pengguna, display dan sebagainya berupa message yang digambarkan terhadap waktu. Sequence diagram terdiri atas dimensi vertikal waktu dan dimensi horizontal objek-objek yang terkait. Berikut adalah notasi- notasinya seperti yang terlihat pada Tabel 2.4 Notasi Sequence Diagram. Tabel 2.4 Notasi Sequence Diagram Fungsi Pengertian Simbol Object Object merupakan instance dari sebuah class dan dituliskan tersusun secara horizontal. Digambarkan sebagai sebuah class kotak dengan nama objek di dalamnya yang diawali dengan sebuah titik koma. Actor Actor juga dapat berkomunikasi dengan objek, maka actor juga dapat diurutkan sebagai kolom. Simbol Actor sama dengan simbol pada Actor Use Case Diagram. Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber. Fungsi Pengertian Simbol Lifeline Lifeline mengindikasikan keberadaan sebuah objek dalam basis waktu. Notasi untuk Lifeline adalah garis putus-putus vertikal yang ditarik dari sebuah objek. Activation Activation dinotasikan sebagai sebuah kotak segi empat yang gambar pada sebuah lifeline. Activation mengindikasikan sebuah objek yang akan melakukan sebuah aksi. Message Message, digambarkan dengan anak panah horizontal antara Activation. Message mengindikasikan komunikasi antara objek – objek Sumber : http:resources.visual-paradigm.com Berikut ini adalah contoh dari Sequence Diagram seperti yang terlihat pada Gambar 2.12 Contoh Sequence Diagram. Gambar 2.12 Contoh Sequence Diagram Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber. Activity diagram menggambarkan berbagai alur aktivitas dalam sistem yang sedang dirancang, bagaimana masing-masing alir berawal, keputusan yang mungkin terjadi, dan bagaimana mereka berakhir. Activity diagram juga dapat menggambarkan proses paralel yang mungkin terjadi pada beberapa eksekusi. Berikut adalah notasi activity diagram seperti yang terlihat pada Tabel 2.5 Notasi Activity Diagram. Tabel 2.5 Notasi Activity Diagram Simbol Keterangan Titik Awal Titik Akhir Activity Pilihan Untuk mengambil Keputusan Fork; Digunakan untuk menunjukkan kegiatan yang dilakukan secara paralel menggabungkan dua kegiatan paralel menjadi satu. Rake; Menunjukkan adanya dekomposisi Tanda Waktu Tanda pengiriman Tanda penerimaan Aliran akhir Flow Final Sumber: http:resources.visual-paradigm.com Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.

2.5 Rational Rose