Anda di halaman 1dari 16

Mengenal Use Case Diagram

Pengertian :

Use-case diagram merupakan model diagram UML yang digunakan untuk menggambarkan
requirement fungsional yang diharapkan dari sebuah sistem. Use-case diagram menekankan pada
“siapa” melakukan “apa” dalam lingkungan sistem perangkat lunak akan dibangun. Use-case
diagram sebenarnya terdiri dari dua bagian besar; yang pertama adalah use case diagram
(termasuk gambar use case dependencies) dan use case description.

Use-case diagram adalah gambaran graphical dari beberapa atau semua actor, use-case, dan
interaksi diantara komponen-komponen tersebut yang memperkenalkan suatu sistem yang akan
dibangun. Use-case diagram menjelaskan manfaat suatu sistem jika dilihat menurut pandangan
orang yang berada di luar sistem. Diagram ini menunjukkan fungsionalitas suatu sistem atau
kelas dan bagaimana sistem tersebut berinteraksi dengan dunia luar.

Use-case diagram dapat digunakan selama proses analisis untuk menangkap requirement system
dan untuk memahami bagaimana sistem seharusnya bekerja. Selama tahap desain, use-case
diagram berperan untuk menetapkan perilaku (behavior) sistem saat diimplementasikan. Dalam
sebuah model mungkin terdapat satu atau beberapa use-case diagram. Kebutuhan atau
requirements system adalah fungsionalitas apa yang harus disediakan oleh sistem kemudian
didokumentasikan pada model use-case yang menggambarkan fungsi sistem yang diharapkan
(use-case), dan yang mengelilinginya (actor), serta hubungan antara actor dengan use-case (use-
case diagram) itu sendiri.

● Use case class digunakan untuk memodelkan dan menyatakan unit fungsi/layanan yang
disediakan oleh sistem (or bagian sistem: subsistem atau class) ke pemakai.

● Use case dapat dilingkupi dengan batasan sistem yang diberi label nama sistem.

● Use case adalah sesuatu yang menyediakan hasil yang dapat diukur ke pemakai atau sistem
eksternal.

Karakteristik :
– Use cases adalah interaksi atau dialog antara sistem dan actor, termasuk pertukaran pesan dan
tindakan yang dilakukan oleh sistem.

– Use cases diprakarsai oleh actor dan mungkin melibatkan peran actor lain. Use cases harus
menyediakan nilai minimal kepada satu actor.

– Use cases bisa memiliki perluasan yang mendefinisikan tindakan khusus dalam interaksi atau
use case lain mungkin disisipkan.

– Use case class memiliki objek use case yang disebut skenario. Skenario menyatakan urutan
pesan dan tindakan tunggal.

Berikut adalah cara menggambar use-case diagram:

Catatan:
Sebelum membuat use-case diagram, sebaiknya diawali dengan membuat FDD terlebih dahulu.
Hal ini sekedar untuk membantu mengidentifikasi proses-proses dalam sistem.
1) Mulai dengan mendaftarkan aktor yang berhubungan dengan Use-case, baik sebagai sender
maupun receiver.
2) Komponen dalam use-case diagram adalah Nama Use-case, Deskripsi Use-case dan Pelaku
yang berpartisipasi dan perannya.
3) Temukan dependency yang mendemonstrasikan hubungan semantik antara dua Use-case. Jika
Use-case “A” berubah dapat mengakibatkan Use-case “B” akan berubah pula.
Ada 2 macam dependency yang perlu diperhatikan yaitu include dan extend.

Dependency include:
Sebuah Use-case dapat meng-include fungsionalitas Use-case lain sebagai bagian dari proses
dalam dirinya. Secara umum diasumsikan bahwa Use-case yang di-include akan dipanggil setiap
kali Use-case yang meng-include dieksekusi secara normal. Sebuah Use-case dapat di-include
oleh lebih dari satu Use-case lain, sehingga duplikasi fungsionalitas dapat dihindari dengan cara
menarik keluar fungsionalitas yang common.
Contoh Use-case (include)

Keterangan:
Pasien harus membuat temu janji sebelum diberikan perawatan yang diperlukan untuk mengobati
penyakit yang dideritanya. Use-case “Make Appointment” meng-include fungsionalitas dari Use-
case “Get Treatment” sebagai bagian dari proses saat dieksekusi.

Dependency extend:
Sebuah Use-case juga dapat meng-extend Use-case lain dengan behaviour-nya sendiri.
Sementara hubungan generalisasi antar Use-case menunjukkan bahwa Use-case yang satu
merupakan spesialisasi dari yang lain.
Contoh Use-case (extend):

Keterangan:
Setelah pasien membuat temu janji dengan dokter, pasien ini tiba-tiba mendapat halangan
sehingga tidak dapat memenuhi janjinya. Oleh karena itu, pasien ini membatalkan janji yang
sudah dibuat. Ini merupakan contoh dari kasus extend dimana “Make Appointment” adalah base
Use-case dan “Cancel Appointment” merupakan extended Use-case.

Gambar Contoh Interaksi Antara Aktor dan Sistem (Use-case):

Berikut adalah Contoh Use-case description:


Keterangan
Normal course:
Rangkaian kejadian yang terjadi sesuai harapan.
Alternate course:
Mendokumentasikan kelakuan Use-case jika terjadi exception.
Pre-condition:
Kondisi yang harus dipenuhi sebelum Use-case ini dijalankan. Hal ini dapat dilakukan dengan
memberikan penjelasan singkat atau dapat pula berupa nama Use-case.
Post-condition:
Batasan pada keadaan sistem setelah Use-case ini diesksekusi dengan baik. Dapat berupa nama
Use-case.

Komponen Pembentuk Use Case Diagram :


1. Actor
Pada dasarnya actor bukanlah bagian dari use case diagram, namun untuk dapat terciptanya
suatu use case diagram diperlukan beberapa actor. Actor tersebut mempresentasikan seseorang
atau sesuatu (seperti perangkat, sistem lain) yang berinteraksi dengan sistem. Sebuah actor
mungkin hanya memberikan informasi inputan pada sistem, hanya menerima informasi dari
sistem atau keduanya menerima, dan memberi informasi pada sistem. Actor hanya berinteraksi
dengan use case, tetapi tidak memiliki kontrol atas use case. Actor digambarkan dengan stick
man . Actor dapat digambarkan secara secara umum atau spesifik, dimana untuk
membedakannya kita dapat menggunakan relationship.
2. Use Case
Use case adalah gambaran fungsionalitas dari suatu sistem, sehingga customer atau pengguna
sistem paham dan mengerti mengenai kegunaan sistem yang akan dibangun.

Catatan : Use case diagram adalah penggambaran sistem dari sudut pandang pengguna sistem
tersebut (user), sehingga pembuatan use case lebih dititikberatkan pada fungsionalitas yang ada
pada sistem, bukan berdasarkan alur atau urutan kejadian.

Cara menentukan Use Case dalam suatu sistem:


a. Pola perilaku perangkat lunak aplikasi.
b. Deskripsi tugas dari sebuah actor.
c. Sistem atau “benda” yang memberikan sesuatu yang bernilai kepada actor.
d. Apa yang dikerjakan oleh suatu perangkat lunak (*bukan bagaimana cara mengerjakannya).

Relasi dalam Use Case


Ada beberapa relasi yang terdapat pada use case diagram:

1. Association, menghubungkan link antar element.


2. Generalization, disebut juga inheritance (pewarisan), sebuah elemen dapat merupakan
spesialisasi dari elemen lainnya.
3. Dependency, sebuah element bergantung dalam beberapa cara ke element lainnya.
4. Aggregation, bentuk assosiation dimana sebuah elemen berisi elemen lainnya.

Tipe relasi/stereotype yang mungkin terjadi pada use case diagram:

1. include, yaitu kelakuan yang harus terpenuhi agar sebuah event dapat terjadi, dimana
pada kondisi ini sebuah use case adalah bagian dari use case lainnya.
2. kelakuan yang hanya berjalan di bawah kondisi tertentu seperti menggerakkan roda.
3. communicates, mungkin ditambahkan untuk asosiasi yang menunjukkan asosiasinya
adalah communicates association . Ini merupakan pilihan selama asosiasi hanya tipe
relationship yang dibolehkan antara actor dan use case.

Sequence Diagram

Menggambar Sequence Diagram


Apa tujuan membuat UML Sequence Diagram? Ada beberapa tujuan mengapa harus
membuat Sequence Diagram diantaranya adalah 1). untuk menggambarkan interaksi
antar objek di dalam dan di sekitar sistem termasuk pengguna, display, dan sebagainya,
yang digambarkan dengan hubungan message dan waktu; 2) untuk menggambarkan
skenario atau rangkaian langkah-langkah yang dilakukan sebagai respons dari sebuah
event untuk menghasilkan output tertentu.
Cara menggambarkan sequence diagram:
1) Sequence diagram terdiri atas dimensi vertikal (waktu) dan dimensi horizontal (obyek-
obyek yang terkait).
2) Diawali dari apa yang men-trigger aktivitas tersebut, proses dan perubahan apa saja
yang terjadi secara internal dan output apa yang dihasilkan.
3) Masing-masing objek, termasuk aktor, memiliki lifeline vertikal.
4) Message digambarkan sebagai garis berpanah dari satu objek ke objek lainnya. Pada
fase desain berikutnya, message akan dipetakan menjadi operasi/metode dari class.
5) Activation bar menunjukkan lamanya eksekusi sebuah proses, biasanya diawali dengan
diterimanya sebuah message.
6) Untuk objek-objek yang memiliki sifat khusus, standar UML mendefinisikan icon
khusus untuk objek boundary, controller dan persistent entity.

Berikut saya berikan contoh sebuah proses menggambar Sequence Diagram. Proses
bisnis yang digambarkan adalah proses pembelian minuman yang dilakukan oleh seorang
actor lewat vending machine. Untuk mempermudah proses penggambaran maka bisnis
proses ini dibagi menjadi 3 bagian dengan scenario yang berbeda-beda.
Identifikasi dan klasifikasi obyek adalah:
Front adalah interface, register adalah controller untuk pembayaran, dan dispenser
adalah controller untuk pilihan minuman.
Scenario pertama mendemonstrasikan proses pembelian dimana:
1) Actor mengisi uang (insert input) sesuai dengan harga minuman.
2) Input ini diteruskan ke bagian register control. Oleh karena jumlah uang yang
dimasukkan sama persis dengan harga minuman, maka dari itu proses ini berhenti disini
saja.
3) Selain uang, actor juga menyeleksi minuman yang diinginkan (select selection).
Dispenser controller mengirim minuman tersebut ke front.
Lihar Gambar Sequence Diagram Skenario Pertama dibawah ini:

Sequence Diagram (Membeli Minuman – Part 1)


Sumber: Schmuller (1999, hal.109)

Scenario kedua:
1) Ada 2 kondisi untuk input yaitu input = price dan input > price.
2) Jika input=price dan pilihan minuman tersedia,maka dispenser akan langsung
mengirim minuman tersebut. (Prosesnya sama dengan gambar sequence diagram di
atas).
3) Perbedaan antara kedua sequence diagram ini yaitu diagram kedua menambahkan
sebuah kondisi jika input > price.
4) Ada 2 hal yang akan divalidasi di sini yaitu:
a. Jika tidak ada uang kembalian tersedia di register controller, maka register akan
mengembalikan input (uang) dan transaksi berakhir.
b. Jika ada uang kembalian, maka register akan meneruskan transaksi ini dengan
mengirimkan message ke dispenser controller. Kemudian, register akan mengembalikan
uang kembalian tersebut. Setelah itu, dispenser controller akan mengirimkan minuman
sesuai pilihan si actor.
Lihat Gambar Sequence Diagram Skenario Kedua dibawah ini:

Sequence Diagram (Membeli Minuman – Part 2)


Sumber: Schmuller (1999, hal.111)

Scenario ketiga:
1) Proses ketiga ini adalah lanjutan dari proses sebelumnya.
2) Perbedaannya terletak pada pilihan minuman.
3) Ada 2 hal mengenai pilihan minuman yang akan divalidasi di sini yaitu:
c. Jika minuman yang diinginkan tidak tersedia di dispenser controller, maka dispenser
akan menampilkan message untuk memberitahukan hal tersebut ke actor.
d. Jika pilihan minuman tersedia, maka dispenser controller akan mengirimkan minuman
sesuai pilihan si actor lewat front interface.
Lihat Gambar Sequence Diagram Skenario Ketiga dibawah ini:

Sequence Diagram (Membeli Minuman – Part 3)


Sumber: Schmuller (1999, hal.111)
TIPS menggambar Sequence Diagram adalah:
PASANGKAN dengan Use Case Tabel !!!
(dan COCOKKAN dengan ACTIVITY DIAGRAM)

UML

USE CASE DIAGRAM


Use case adalah deskripsi fungsi dari sebuah system dari perspektif pengguna. Use
case bekerja dengan cara mendeskripsikan tipikal interaksi antara user(pengguna) sebuah
system dengan sistemnya sendiri melalui sebuah cerita bagaimana sebuah system dipakai.

CONTOH USE CASE DIAGRAM

Use case diagram menggambarkan fungsionalitas yang diharapkan ari sebuh system,
yang ditekankan adalah” Apa” yang diperbuat system, dan bukan “bagaiman”. Sebuah use
case mempresentasikan sebuah interaksi antara actor dengan system . Use case
menggambarkan kata kerja sseper ti Login ke system, maintenance user dan sebagainya.
Model use case seperti gambar di bawah ini.

Actor adalah segala sesuatu yang berinteraksi langsung dengan system aplikasi komputer,
seperti orang, benda atau lainnya.
Tugas actor adalah memberikan informasi kepada rystem dan dapat memerintahkan
system agar melakukan sesuatu tugas.

Urutan langkah-langkah yang menerangkan antara pengguna dan system disebut


scenario.
Sebuah use case dapat meng-include fungsionalitas use case lain sebagai bagian dari
proses dalam dirinya. Secara umum diasumsikan bahwa use case yang di-include akan
dipanggil setiap kali use case yang meng-include dieksekusi secara normal.

Sebuah use case dapat di-include oleh lebih dari satu use case lain, sehingga duplikasi
fungsionalitas dapat dihindari dengan cara menarik keluar fungsionalitas yang common.
Sebuah use case juga dapat meng-extend use case lain dengan behaviour-nya sendiri.
Sementara hubungan generalisasi antar use case menunjukkan bahwa use case yang satu
merupakan sperialisasi dari yang lain.

Pada Latihan Pertama Seorang siswa untuk menjadi anggota harus mendaftar
terlebih dahulu kepada petugas setelah mendaftar mahasiswa tersebut boleh membaca
buku. Jika sudah menjadianggota, siswa tersebut boleh meminjam buku kepada petugas
perpustakaan dan mengembalikannya sesuai dengan ketentuan tersebut apabila anggota
tersebut telat mengembalikan buku maka anggota dikenakan denda dan membayar denda
tersebut kepada petugas.
Pada latihan ini seorang penjaga toko mencatat permintaan setelah itu melihat berapa
banyak permintaan yang masuk.kemudian penjaga toko harus membuat laporannya.
Petugas stok menghitung stok barang apa saja barang yang di stok kemudian membuat
laporannya dan untuk petugas keuangan yaitu menghitung barang yang sudah dijual dan
pemasukannya kemudian membuat laporan keuangan.

Activity Diagram

Activity diagram : menggambarkan berbagai alir aktivitas dalam sistem yang sedang
dirancang, bagaimana masing-masing alir berawal, decision yang mungkin terjadi, dan
bagaimana mereka berakhir. Activity diagram juga dapat menggambarkan proses
paralel yang mungkin terjadi pada beberapa eksekusi.

Activity diagram merupakan state diagram khusus, di mana sebagian besar state
adalah action dan sebagian besar transisi di-trigger oleh selesainya state sebelumnya
(internal processing). Oleh karena itu activity diagram tidak menggambarkan
behaviour internal sebuah sistem (dan interaksi antar subsistem) secara eksak, tetapi
lebih menggambarkan proses-proses dan jalur-jalur aktivitas dari level atas secara
umum.

Contoh Activity Diagram


Diagram Pendaftaran.
Logika untuk table pendaftaran yaitu Siswa harus mendaftar terlebih dahulu kepada petugas, kemudian
petugas registrasi dan membuatkan kartu untuk siswa tersebut, setelah kartu tersebut di buat maka siswa
tersebut mendapatkan kartu dan syah menjadi anggota.

Diagram Peminjaman

Untuk diagram peminjaman anggota harus membawa kartu jika ia ingin meminjam buku, kemudoan
kartu tersebut diserahkan kepasa petugas, dan petugas mengecek kartu tersebut dan mengecek buku yang
ingin di pinjam oleh anggota tersebut jika anggota tersebut memenuhi syarat-syarat untuk meminjam
buku maka anggota berhak menerima buku tersebut dan jika tidak memenuhi syarat-syaratnya maka
anggota tidak menerima buku yang akan ia pinjam.
SEQUENCE DIAGRAM

Sequence diagram adalah interaksi antar objek di dalam dan di sekitar sistem
(termasuk pengguna, display, dan sebagainya) berupa message yang digambarkan
terhadap waktu. Sequence diagram terdiri atar dimensi vertikal (waktu) dan dimensi
horizontal (objek-objek yang terkait).

Sequence diagram biasa digunakan untuk menggambarkan skenario atau rangkaian


langkah-langkah yang dilakukan sebagai respons dari sebuah event untuk
menghasilkan output tertentu. Diawali dari apa yang men-trigger aktivitas tersebut,
proses dan perubahan apa saja yang terjadi secara internal dan output apa yang
dihasilkan.
CONTOH SEQUENCE DIAGRAM

Diagram Peminjaman

Untuk diagram peminjaman Petugas dan pinjam sebagai objek, ketika anggota
mengembalikan buku maka petugas memasukan id buku dan id siswa pada pinjaman
kemudian diproses querynya, setelah berhasil diproses maka maka sistem akan
menampilkan data buku yang akan dipinjam oleh siswa tersebut, setelah itu petugas
menyimpan data pinjaman pada database pinjaman,kemudian sistem akan memberi pesan
kepada petugas bahwa data tersebut sudah berhasil disimpan.

Diagram Pengembalian

Untuk diagram pengembalian petugas dan form buku sebagai objek, jika siswa mau
mengembalikan buku maka petugad harus memasukan data buku yaitu id buku,setelah itu
system akan memproses query dan menampilkan data siswa kepada petugas, kemudian
petugas menginput tanggal dimana tanggal tersebut ketika siswa meminjam buku, dan
system akan mengecek apakah siswa tersebut terlambat atau tidak-nya untuk
mengembalikan buku, jika terlambat maka system akan menampilkan denda tersebut
kepada petugas, pastinya siswa akan membayar denda tersebut dan petugas menyimpan
pengembalian buku yang di pinjam siswa pada database bahwa siswa tersebut sudah
mengembalikan buku, maka system akan menyampaikan pesan kepada petugas bahwa
menyimpan pengembalian buku sudah berhasil.

Sequence diagram biasanya digunakan untuk tujuan analisa dan desain,


memfokuskan pada identifikasi method didalam sebuah system. Sequence diagram
biasanya dipakai untuk memodelkan :
Deskripsi tentang system yang ada pada sebuah / beberapa use case pada use case
diagram, yang menggambarkan hubungan antara actor dan use case diagram.
Logika dari method (operation, function atau procedure).
Logika dari service (high level method).

sequence diagram

Actor
Sebuah actor bisa diwakili dengan gambar stick figure atau sebuah kotak.
Interface
Sebuah Interface bisa diwakili dengan Gambar Boundary atau sebuah Kotak
(Boxes).

Message.
- Message digunakan untuk menggambarkan hubungan antara objek yang ada
dalam sistem.
- Message digambarkan dengan garis berpanah, yang menunjukkan arah messages.
- Message yang dikirim untuk dirinya sendiri (boxes).
Return Value
- Ditampilkan dengan garis berpanah terputus, yang menggambarkan hasil dari
pengiriman

- Return value digambarkan dengan arah dari kanan ke kiri.


- Messages dan return Value dapat digabungkan.
Control
Digunakan untuk menggambarkan hubungan antara interface dengan database
melalui fungsi/method yang ada dalam sistem dengan perantara message.

Database (Tempat Penyimpanan)


Digunakan untuk menggambarkan database / tempat penyimpanan yang digunakan
dalam sistem

Anda mungkin juga menyukai