Use Case Diagram: Pengertian dan Contoh Lengkap

Flinsetyadi.com – Pengembangan sistem memerlukan acuan untuk melihat gambaran cara kerja sistem. Salah satu acuan untuk melihat representasi dari interaksi yang terjadi antara sistem dan lingkungannya dapat menggunakan bantuan use case diagram, contoh dan pembahasan akan Kami jabarkan di artikel kali ini.

Dalam membuat sebuah sistem, langkah awal yang perlu dilakukan adalah menentukan kebutuhan. Terdapat dua jenis kebutuhan yaitu kebutuhan Funsional dan kebutuhan nonfungsional.

  1. Kebutuhan fungsional adalah kebutuhan pengguna dan stakeholder sehari-hari yang akan dimiliki oleh sistem, dimana kebutuhan ini akan digunakan oleh pengguna dan stakeholder.
  2. Kebutuhan nonfungsional adalah kebutuhan yang memperhatikan hal-hal berikut yaitu performansi, kemudahan dalam menggunakan sistem, kehandalan sistem, keamanan sistem, keuangan, legalitas, dan operasional.

Dalam hal ini, Kebutuhan fungsional akan digambarkan melalui sebuah diagram yang dinamakan diagram use case.

Baca Juga: Sequence Diagram Dalam Pemodelan Perangkat Lunak

Pengertian Use case Diagram

Yang dimaksud dengan use case diagram Use case diagram adalah visualisasi dari semua aktifitas yang dilakukan oleh suatu sistem dari sudut pandang pengamatan luar. Yang menjadi persoalan itu apa yang dilakukan bukan bagaimana melakukannya. Diagram Use Case dekat kaitannya dengan kejadian-kejadian. Kejadian (scenario) merupakan contoh apa yang terjadi ketika seseorang berinteraksi dengan sistem.

Sebuah use case merepresentasikan sebuah interaksi antara aktor dengan sistem. Use case merupakan sebuah pekerjaan tertentu, misalnya login ke sistem, mengcreate sebuah daftar belanja, dan sebagainya. Seorang/sebuah aktor adalah sebuah entitas manusia atau mesin yang berinteraksi dengan sistem untuk melakukan pekerjaan-pekerjaan tertentu.

Manfaat Use Case Diagram

Singkatnya, diagram use case digunakan untuk mengetahui fungsi apa saja yang ada di dalam sebuah sistem dan siapa saja yang berhak menggunakan fungsifungsi tersebut. Diagram Use Case berguna dalam tiga hal :

  • Menjelaskan fasilitas yang ada (requirements).Use Case baru selalu menghasilkan fasilitas baru ketika sistem dianalisa, dan design menjadi lebih jelas.
  • Komunikasi dengan klien. Penggunaan notasi dan simbol dalam diagram Use Case membuat pengembang lebih mudah berkomunikasi dengan klien-nya.
  • Membuat test dari kasus-kasus secara umum. Kumpulan dari kejadian-kejadian untuk Use Case bisa dilakukan test kasus layak untuk kejadian-kejadian tersebut

Untuk lebih memperjelas lihat gambaran suatu peristiwa untuk sebuah klinik kesehatan di bawah ini :

“Pasien menghubungi klinik untuk membuat janji (appointment) dalam pemeriksaan
tahunan. Receptionist mendapatkan waktu yang luang pada buku jadwal dan
memasukkan janji tersebut ke dalam waktu luang itu.”

Contoh Diagram Use Case pasien membuat janji
Contoh Diagram Use Case pasien membuat janji

Include dan Extend

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

Kemudian, 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 spesialisasi dari yang lain.

Komponen Use Case Diagram

1. Aktor

Yang dimaksud dengan aktor pada sebuah model use case adalah seseorang atau apa saja yang berhubungan dengan sistem yang sedang dibangun. Dimana Aktor sebaiknya diberi nama dengan kata benda. Ketika memberi nama actor, gunakan nama peranan dan jangan nama posisi. Seorang individu dapat memainkan beberapa peranan. Contoh aktor dengan peranan pasien dalam UML, direpresentasikan dengan notasi berikut ini:

Ada 3 tipe aktor yaitu:

  1. Pengguna sistem. Merupakan actor secara fisik atau seorang pengguna, gambaran secara umum dan selalu ada pada setiap sistem
  2. Sistem yang lain dan berhubungan dengan sistem yang dibangun. Misalkan pada sebuah sistem Informasi Puskesmas memerlukan koneksi dengan aplikasi sistem yang lain, semisal SIM rumah sakit. Maka dalam kasus ini, SIM rumah sakit adalah actor.
  3. Waktu. Dapat menjadi actor jika seiring perjalan waktu dapat memicu event/kejadian dalam sistem.

2. Use Case

Use Case adalah bagian fungsionalitas tingkat tinggi yang disediakan oleh sistem. Dengan kata lain, use case menggambarkan bagaimana seseorang menggunakan sistem. Contoh Use Case dengan fungsionalitas pendaftaran pasien dalam UML dinotasikan dengan simbol:

Pemberian nama use case sebaiknya :

  • Simple name. Biasanya berupa kata kerja + kata benda
  • Path name. Merupakan nama di bagian depan yang menyatakan paket (package) dimana use case tersebut berada

3. Relasi

Relasi yang menghubungkan antara actor dan use case

  • Arah panah menunjukkan siapa yang mengawali komunikasi.
  • Dengan mengecualikan use case dalam relasi include dan relasi extend, setiap use case harus diinisialisasi oleh actor
  • Relasi dinotasikan seperti gambar berikut :
Contoh Relasi Aktor Pasien dan use Case Registrasi Pasien
Contoh Relasi Aktor Pasien dan use Case Registrasi Pasien

Ada 3 jenis relasi yaitu Generalization, Include dan Extends.

Generalization

Generalisasi atau Generalization merupakan hubungan antara induk dan anak. Dimana Anak mewarisi sifat dan method dari induk. Induk disebut juga dengan root / base. Untuk class yang tidak memiliki anak disebut dengan leaf.

Gambarkan generalization/inheritance antara use case secara vertical dengan inheriting use case dibawah base/parent use case. Generalization/inheritance dipakai ketika ada sebuah keadaan yang lain sendiri/perlakuan khusus (single condition). Generalization Terbagi menjadi 2 yaitu: Actor Generalization dan Use Case Generalization.

Actor Generalization

  • Aktor bisa umum atau spesifik
  • Gambarkan generalization/inheritance antara actors secara vertical dengan inheriting actor di bawah base/parent use case
Contoh Actor Generalization
Contoh Actor Generalization

Use Case Generalization

Use case anak mewarisi arti dari use case induk sambil menambahkan/memodifikasi behaviour dari induk.

Contoh Use Case Generalization
Contoh Use Case Generalization

Include

  • Memungkinkan (required/harus) satu use case menggunakan fungsionalitas yang disediakan oleh use case lainnya.
  • Tanda panah terbuka harus terarah ke sub use case
  • Gambarkan association include secara horizontal
Contoh Relasi Include
Contoh Relasi Include

Extend

  • Memungkinkan suatu use case secara optional menggunakan fungsionalitas yang disediakan oleh use case lainnya.
  • Kurangi penggunaan association Extend ini, terlalu banyak pemakaian association membuat diagram sulit dipahami.
  • Tanda panah terbuka harus terarah ke parent/base use case
  • Gambarkan association extend secara vertical
  • Contoh :
    • Use case pemeriksaan kesehatan suatu saat memerlukan tes laboratorium, tapi pada saat lain tidak. Tergantung pada kondisi pasien yang diperiksa.
Contoh Relasi Extend pada pemeriksaan kesehatan
Contoh Relasi Extend pada pemeriksaan kesehatan

4. System Boundary

Untuk memperlihatkan batasan sistem dalam diagram use case, Anda dapat menggambarkan sebuah kotak yang melingkupi semua use case, namun actor tetap berada di luar kotak. System boundary boxes dalam penggunaannya tidak wajib atau optional.

Contoh System Boundary (1)
Contoh System Boundary (1)
Contoh System Boundary (2 )
Contoh System Boundary (2 )

Baca Juga: Class Diagram: Konsep dan Studi kasus

Simbol Use Case Diagram

diagram berikut yang digunakan dalam mendeskripsikan usecase secara umum

SimbolDeskripsi
Aktor - Use case Diagram
Aktor
Mempresentasikan seseorang atau sesuatu (seperti perangkat, sistem lain) yang berinteraksi dengan sistem. Actor hanya berinteraksi dengan use case tetapi tidak memiliki kontrol atas use case.
Dependency - Use Case Diagram
Dependency
Hubungan dimana perubahan yang terjadi pada suatu elemen mandiri / independent akan mempengaruhi elemen yang bergantung pada elemen yang tidak mandiri
Generalization - use Case Diagram
Generalization
Hubungan dimana objek anak / Descendent berbagi perilaku dan struktur data dari objek yang ada di atasnya objek induk / ancestor
Include - Use Case Diagram
Include
Include adalah Relasi use case tambahan ke sebuah use case dimana use case yang ditambahkan memerlukan use case ini untuk menjalankan fungsinya
Extend - Use Case Diagram
Extend
Extend adalah Relasi use case tambahan ke sebuah use case dimana use case yang ditambahkan dapat berdiri sendiri walau tanpa use case tambahan itu.
association atau asosiasi - use Case Diagram
Association
Association dalam Use Case Diagram (Include, Extend dan Inheritance) berfungsi untuk Menghubungkan link antar element
System Boundary - Use Case Diagram
System Boundary
Untuk memperlihatkan batasan sistem dalam use case
Use Case
Use Case
Menggambarkan bagaimana aktor menggunakan sistem
Collaboration - use Case Diagram
Collaboration
Interaksi aturan-aturan dan elemen lain yang bekerja sama untuk menyediakan perilaku yang lebih besat dari jumlah dan elmen-elemennya (sinergi)
Note - Use Case Diagram
Note
Elemen fisik yang eksis saat aplikasi dijalankan dan mencerminkan suatu sumber daya komputasi
Simbol Use Case Diagram

Contoh Use Case Diagram

use case diagram untuk interaksi antara klien (aktor) dengan sebuah restoran (sistem)
https://en.wikipedia.org/wiki/Use_case_diagram
use case diagram untuk interaksi antara klien (aktor) dengan sebuah restoran (sistem)
Contoh Use Case Diagram Sistem Informasi Klinik
Contoh Use Case Diagram Sistem Informasi Klinik
Contoh Use Case Diagram Sistem Informasi Puskesmas
Contoh Use Case Diagram Sistem Informasi Puskesmas

Urutan langkah membuat use case diagram yang benar?

  1. Pertama menemukan aktor pada use case diagram sebagai pelaku bisnis
  2. Menemukan Use case sebagai persyaratan bisnis
  3. Tentukan relasi dan fungsi sesuai urutan
  4. Deksripsikan setiap use case, bisa dengan bentuk tabel atau narasi

Baca Juga: White Box Testing pada Rekayasa Perangkat Lunak

Menemukan Aktor pada Use Case Diagram

Pekerjaan awal adalah menemukan aktor, menemukan fungsionalitas dan membatasi sistem yang akan dibuat. Pembatasan sistem ini penting untuk menemukan aktor. Karena dari sinilah kita akan menentukan apakah sesuatu itu adalah aktor dan apakah aktor tersebut akan berbentuk orang atau sistem lain.

Cara mudah untuk menemukan aktor dalam use case diagram adalah dengan menjawab pertanyaan berikut ini:

  • SIAPA yang akan menggunakan sistem?
  • APAKAH sistem tersebut akan memberikan NILAI bagi aktor?

Tidak semua aktor adalah manusia, bisa saja sistem lain yang berinteraksi dengan sistem yang anda buat. Untuk menemukan sistem lain sebagai aktor, hal-hal di bawah ini bisa menjadi pertimbangan :

  • Jika anda bergantung pada sistem lain untuk melakukan sesuatu, maka sistem lain itu adalah aktor.
  • Jika sistem lain itu meminta (request) informasi dari sistem anda, maka sistem lain itu adalah aktor

Untuk penamaan aktor diberi nama sesuai dengan PERAN-nya. Berikut ini contoh menemukan aktor use case diagram pada sistem pencatatan penjualan di Supermarket.

PertanyaanAnalisis
Siapa sajakah yang berinteraksi dengan sistem pencatatan penjualan di Supermarket?– Bagian yang akan mencatat penjualan barang
– Bagian yang ingin tahu berapa besar keuntungan yang didapatkan
– Bagian yang ingin tahu berapa banyak produk yang berkurang
Peran apa saja yang terlibat?Kasir, Manajer, bagian gudang
Nilai apa sajakah yang akan diberikan sistem kepada aktor?Nilai bagi kasir:
– Ia akan mendapatkan struk belanja
– Lama aktivitas kerja akan terekam di dalam sistem

Nilai bagi Manajer:
– Ia perlu mengetahui laporan keuntungan dalam rentang waktu tertentu

Nilai bagi bagian gudang:
– Ia perlu mengetahui jumlah dan produk apa saja yang berkurang
Apakah sistem pencatatan penjualan di Supermarket bergantung pada sesuatu?Printer: Untuk mencetak struk
Mesin debit ATM: Untuk menarik sejumlah uang pada account seseorang
contoh menemukan aktor pada sistem pencatatan penjualan di Supermarket.

Aktor pada Sistem Pencatatan penjualan di Supermarket

Menemukan Aktor pada Sistem Pencatatan penjualan di Supermarket

INGAT !! Dalam kasus ini, PELANGGAN tidak berinteraksi langsung dengan sistem, KASIR yang berinteraksi langsung dengan sistem.

Sistem dibangun untuk menyediakan kebutuhan bagi aktor, jika suatu saat nanti stakeholder akan menentukan bahwa sistem pencatatan penjualan akan berinteraksi dengan pelanggan, maka aktor di atas pun tentu saja akan berubah. Inilah yang dimaksud dengan batasan sistem. Stakeholder dan pengguna akan menentukan batasan sistem yang akan dibuat.

Menemukan Use Case

Jika anda sudah berhasil menemukan aktor, maka untuk menemukan use case akan lebih mudah dilakukan. Sebuah use case harus mendeskripsikan sebuah pekerjaan dimana pekerjaan tersebut akan memberikan NILAI yang bermanfaat bagi aktor.

Untuk menemukan use case, mulailah dari sudut pandang aktor, misalnya dengan bertanya:

  • Informasi apa sajakah yang akan didapatkan aktor dari sistem?
  • Apakah ada kejadian dari sistem yang perlu diberitahukan ke aktor?

Sedangkan dari sudut pandang sistem, misalnya dengan pertanyaan sebagai berikut :

  • Apakah ada informasi yang perlu disimpan atau diambil dari sistem?
  • Apakah ada informasi yang harus dimasukkan oleh aktor?

Kesalahan Umum pada pembuatan Use Case Diagram

Seringkali sebuah use case dianggap sebagai sebuah “function” atau item menu, hal tersebut merupakan suatu KESALAHAN. Perhatikan contoh berikut:

Use case di atas menggambarkan mengenai apa yang harus dilakukan oleh sistem yang terdiri dari beberapa proses yaitu menyetujui pemesanan, memesan informasi, mengubah pemesanan, menghapus pemesanan, dan menambah pemesanan.

Diagram di atas memperlihatkan proses penguraian fungsi-fungsi (functional decomposition) yaitu mengurai proses kedalam bagian yang lebih kecil. Hal ini adalah salah karena use case di atas tidak memberikan nilai kepada aktor.

Cobalah bertanya seperti ini: Apakah saya akan menggunakan proses mengubah pemesanan jika saya tidak pernah melakukan pemesanan? Tentu saja tidak. Semua proses di atas akan menjadi berguna jika terdapat proses melakukan pemesanan, dan semua proses di atas sebenarnya berkaitan dengan melakukan pemesanan

Apanya yang salah ?

Diagram di atas tidak memberikan nilai kepada aktor, atau dengan kata lain jika kita menggambarkan diagram seperti di atas, nilai akan menjadi hilang. Sebuah use case seharusnya dibuat untuk menghasilkan suatu nilai kepada aktor, pada level tertentu jika aktor melakukan pemesanan maka proses tersebut akan memberikan nilai kepada aktor. Tapi jika proses pemesanan saja tidak pernah dilakukan, apakah hal ini akan memberikan nilai? Tentu saja tidak.

Yang BENAR adalah

Gambarlah diagram use case yang berfokus pada nilai yang akan diberikan kepada aktor.

Perhatikan Urutan Use Case

contoh use case diagram yang berurutan
contoh use case diagram yang berurutan

Tidak boleh ada komunikasi langsung antar actor (Actors don’t interact with one another)

Letakkan actor utama pada pojok kiri atas dari diagram, Mengapa ? dalam budaya barat orang-orang membaca dari kiri ke kanan, atas ke bawah. Actor jangan digambarkan ditengah-tengah use case.

Deskripsi Use Case Diagram

Setiap use case harus dijelaskan alur prosesnya melalui sebuah deskripsi use case (use case description) atau scenario use case. Deskripsi use case berisi:

  1. Nama use case yaitu penamaan use case yang menggunakan kata kerja
  2. Deskripsi yaitu penjelasan mengenai tujuan use case dan nilai yang akan didapatkan oleh aktor
  3. Kondisi sebelum (pre-condition) yaitu kondisi-kondisi yang perlu ada sebelum use case dilakukan.
  4. Kondisi sesudah (post-condition) yaitu kondisi-kondisi yang sudah dipenuhi ketika uses case sudah dilaksanakan
  5. Alur dasar (basic flow) yaitu alur yang menceritakan jika semua aksi yang dilakukan adalah benar atau proses yang harusnya terjadi
  6. Alur alternatif (alternatif flow) yaitu alur yang menceritakan aksi alternatif, yang berbeda dari alur dasar.

Contoh Deskripsi Use Case Diagram

Nama Use Case: Login
Skenario:

Contoh Deskripsi Use Case Diagram Login
Contoh Deskripsi Use Case Diagram

Baca Juga: Activity Diagram dalam Unified Modeling Language (UML)

Referensi

Permatasari D.I. 2017. USE CASE DIAGRAM. Surabaya: Politeknik Elektronika Negeri Surabaya