BAB II LANDASAN TEORI DAN KERANGKA PEMIKIRAN
2.2 Teori Tentang Materi Pembahasan
2.2.8 Unified Modelling Language (UML)
4. Untuk menyediakan output yang tepat dan sesuai dengan kebutuhan-kebutuhan pemakai.
2.2.8 Unified Modelling Language (UML)
1. Use Case
Use case adalah abstraksi dari interaksi antara system dan aktor.
Use case bekerja dengan cara mendeskripsikan tipe interaksi antara user
sebuah sistem dengan sistemnya sendiri melalui sebuah cerita bagaimana sebuah sistem dipakai. Diagram use case mendeskripsikan sebuah interaksi antara satu atau lebih aktor dengan sistem yang akan dibuat. Diagram use case digunakan untuk mengetahui fungsi apa saja yang ada di dalam sebuah sistem dan siapa saja yang berhak menggunakan fungsi-fungsi tersebut. Yang ditekankan pada diagram ini adalah “apa” yang diperbuat sistem, dan bukan “bagaimana”.
23
Sumber: Pemodelan Basis Data Berorientasi Objek (Utomo H.W. 2011) a. Sistem
Menyatakan batasan sistem dalam relasi dengan aktor-aktor yang menggunakannya (di luar sistem) dan fitur-fitur yang harus disediakan (dalam sistem). Digambarkan dengan segi empat yang membatasi semua use case dalam sistem terhadap pihak mana sistem akan berinteraksi. Sistem disertai label yang menyebutkan nama dari sistem, tapi umumnya tidak digambarkan karena tidak terlalu memberi arti tambahan pada diagram.
b. Aktor
Aktor adalah segala hal diluar sistem yang akan menggunakan sistem tersebut untuk melakukan sesuatu. Bisa merupakan manusia, sistem, atau device yang memiliki peranan dalam keberhasilan operasi dari sistem. Cara mudah untuk menemukan aktor adalah dengan bertanya hal-hal berikut: SIAPA yang akan menggunakan sistem? APAKAH sistem tersebut akan memberikan NILAI bagi aktor?
c. Use case
Mengidentifikasi fitur kunci dari sistem. Tanpa fitur ini, sistem tidak akan memenuhi permintaan user/aktor. Setiap use case mengekspresikan goal dari sistem yang harus dicapai. Diberi nama sesuai dengan goal-nya dan digambarkan dengan elips dengan nama di dalamnya. Fokus tetap pada goal bukan bagaimana mengimplementasikannya walaupun use case berimplikasi pada
24
prosesnya nanti. Setiap use case biasanya memiliki trigger/pemicu yang menyebabkan use case memulai (misalnya, pasien mendaftar dan membuat janji baru atau meminta untuk membatalkan atau mengubah janji yang sudah ada ). Ada 2 triger pertama triger eksternal, seperti pelanggan memesan atau mengubah janji, kedua triger temporal, seperti tanggal pengembalian buku terlewati di perpustakaan atau keterlambatan bayar sewa.
d. Association (Asosiasi)
Mengidentifikasikan interaksi antara setiap aktor tertentu dengan setiap
use case tertentu. Digambarkan sebagai garis antara aktor terhadap use case
yang bersangkutan. Asosiasi bisa berarah (garis dengan anak panah) jika komunikasi satu arah, namun umumnya terjadi kedua arah (tanpa anak panah) karena selalu diperlukan demikian.
e. Dependency
Dependensi <<include>>
1). Mengidentifikasi hubungan antar dua use case di mana yang satu memanggil yang lain.
2) Jika pada beberapa use case terdapat bagian yang memiliki aktivitas yang sama maka bagian aktivitas tersebut biasanya dijadikan use case tersendiri dengan relasi dependensi setiap use case semula ke use case yang baru ini sehingga memudahkan pemeliharaan.
3) Digambarkan dengan garis putus-putus bermata panah dengan notasi <<include>> pada garis.
25
4) Arah mata panah sesuai dengan arah pemanggilan. Dependensi <<extend>>
1) Jika pemanggilan memerlukan adanya kondisi tertentu maka berlaku dependensi <<extend>>.
2) Note: konsep “extend” ini berbeda dengan “extend” dalam Java! 3) Digambarkan serupa dengan dependensi <<include>> kecuali arah
panah berlawanan.
f. Generalization
Mendefinisikan relasi antara dua aktor atau dua use case yang mana salah satunya meng-inherit dan menambahkan atau override sifat dari yang lainnya. Penggambaran menggunakan garis bermata panah kosong dari yang meng-inherit mengarah ke yang di-inherit.
Kelebihan:
1) Interaksi antara pengguna dan system lain dengan sistem yang akan di buat cukup tergambar dengan baik.
2) Penggambaran dengan sederhana membuat identifikasi kebutuhan dengan use case dapat dengan lebih mudah untuk dipahami.
3) Pendekatan identifikasi kebutuhan dapat berdasarkan top down (keinginan dari manajemen level atas) maupun bottom up (keinginan pengguna akhir).
4) Dapat meng-include (memasukkan) fungsionalitas use case lain sebagai bagian dari proses dalam dirinya.
26
5) Dapat di-include oleh lebih dari satu use case lain, sehingga duplikasi fungsionalitas dapat dihindari dengan cara menarik keluar fungsionalitas yang common.
6) Dapat meng-extend (memperpanjang) use case lain dengan behaviour-nya sendiri.
7) Sementara hubungan generalisasi antar use case menunjukkan bahwa
use case yang satu merupakan spesialisasi dari yang lain.
Kelemahan:
Kekurangan mengenai data masih kurang teridentifikasi dengan baik.
2. Sequence Diagram
Diagram sequence merupakan salah satu yang menjelaskan bagaimana suatu operasi itu dilakukan; message (pesan) apa yang dikirim dan kapan pelaksanaannya. Diagram ini diatur berdasarkan waktu. Obyek-obyek yang berkaitan dengan proses berjalannya operasi diurutkan dari kiri ke kanan berdasarkan waktu terjadinya dalam pesan yang terurut.
Diagram sequence menampilkan interaksi antar objek dalam dua dimensi. Dimensi vertikal adalah poros waktu, dimana waktu berjalan ke arah bawah. Sedangkan dimensi horizontal merepresentasikan objek-objek individual. Tiap objek (termasuk aktor) tersebut mempunyai waktu aktif yang direpresentasikan dengan kolom vertikal yang disebut dengan lifeline. Pesan (message) direpresentasikan sebagai panah dari satu lifeline ke lifeline yang lain. Message digambarkan sebagai garis berpanah dari satu
27
objek ke objek lainnya. Pada fase desain berikutnya, message akan dipetakan menjadi operasi/metoda dari class.
Diagram sequence ini biasa digunakan untuk menggambarkan skenario atau rangkaian langkah-langkah yang dilakukan sebagai respon dari sebuah event untuk menghasilkan output tertentu, dan perubahan apa saja yang terjadi secara internal dan output apa yang dihasilkan. Masing-masing objek, termasuk aktor, memiliki lifeline vertikal. Message digambarkan sebagai garis berpanah dari satu objek ke objek lainnya.
Berikut beberapa komponen yang terdapat di dalam diagram sequence, yaitu:
Gambar 2.5 Simbol-simbol pada Sequence Diagram
Sumber: Pemodelan Basis Data Berorientasi Objek (Utomo H.W. 2011) a. Object, komponen yang digunakan sebagai objek-objek yang akan
28
b. Stimulus, komponen ini menandakan hubungan komunikasi antara dua buah objek. Komunikasi yang terjadi berupa pengiriman pesan (message).
c. Self Stimulus, komponen ini memiliki fungsi yang sama dengan
Stimulus, hanya saja pengiriman pesan dilakukan ke pada dirinya
sendiri (objek itu sendiri), bukan antar objek.
3. Activity Diagram
Activity Diagram merupakan diagram yang menggambarkan
berbagai alir aktivitas dalam sistem yang sedang dirancang, bagaimana masing-masing alir berawal, decision yang mungkin terjadi, dan bagaimana mereka berakhir.
Activity Diagram berfungsi untuk menggambarkan workflow/aliran
kerja dari suatu proses bisnis. Suatu aliran kerja bisa saja dituangkan dalam bentuk narasi/teks, akan tetapi jika aliran kerjanya sudah kompleks maka kita akan kesulitan untuk membayangkan bagaimana proses itu terjadi. Oleh karena itu, dibuatlah Activity Diagram sebagai salah satu cara untuk menggambarkan aliran kerja tersebut.
29
Dalam Activity Diagram terdapat symbol-simbol sebagai berikut:
Gambar 2.6 Simbol-simbol pada Activity Diagram
Sumber: Pemodelan Basis Data Berorientasi Objek (Utomo H.W. 2011) a. Start point, menunjukan titik awal dari workflow, hanya ada 1 start
point dalam 1 Activity Diagram.
b. End point, menunjukan titik akhir dari Activity Diagram, dalam 1 diagram bisa terdapat lebih dari 1 end point.
c. Activity, menggambarkan sebuah pekerjaan/aktivitas dalam workflow. d. Action, penggambaran langkah-langkah yang lebih detail dari activity,
action dapat berupa entry action (terjadi segera saat aktivitas dimulai, ditandai dengan kata “entry”), exit action (terjadi ketika meninggalkan aktivitas, ditandai dengan kata “exit”), do action (terjadi saat di dalam aktivitas, ditandai dengan kata “do”), dan event action (terjadi jika dan hanya jika kejadian spesifik terjadi, ditandai dengan kata “event”).
30
e. Fork, menunjukan adanya percabangan secara paralel dari aktivitas.
f. Join, menunjukan adanya penggabungan aktivitas.
g. Decision, mengindikasikan suatu kondisi dimana ada kemungkinan perbedaan transisi.
h. Swimlane, menggambarkan obyek mana yang bertanggung jawab terhadap suatu aktivitas tertentu.
4. Class Diagram
Class diagram adalah model statis yang menggambarkan struktur dan
deskripsi class serta hubungannya antara class. Class diagram mirip ER-Diagram pada perancangan database, bedanya pada ER-diagram tidak terdapat operasi/methode tapi hanya atribut. Class terdiri dari nama kelas, atribut dan operasi/method.
Gambar 2.7 Simbol-simbol pada Class Diagram
31