Diagram use case

**Diagram use case** merupakan gambaran atau representasi dari interaksi yang terjadi antara sistem dan lingkungannya. Use case adalah teknik penemuan kebutuhan perangkat lunak yang dikenalkan pertama kali dalam metode pendekatan berbasis objek yang dikembangkan oleh Jacobson dan kawan-kawan pada tahun 1990an. Saat ini, diagram use case menjadi salah satu tipe dari Diagram ''Unified Modeling Language'' (UML) berbasis tingkah laku. Menurut Alistair Cockburn, use case mendeskripsikan tingkah laku sistem di berbagai kondisi dan bagaimana sistem tersebut menanggapi permintaan pengguna. Use case didefinisikan dari sudut pandang aktor yang terlibat. Aktor merupakan orang atau alat yang menggunakan sistem tersebut atau bisa juga sebagai apapun yang berinteraksi dengan sistem. Contoh penggunaan diagram *use case* diantaranya adalah sebagai sistem *startup*, *shutdown*, *session*, transaksi, transfer, tarik tunai dan cek saldo.

## Relasi pada diagram use case

Untuk menggambarkan interaksi antara sistem dan lingkungannya, use case diagram menggunakan beberapa simbol. Use case yang merepresentasikan tugas tertentu  yang melibatkan interaksi dengan lingkungannya menggunakan elips. Sementara aktor yang terlibat dalam use case tersebut dilambangkan dengan sosok tongkat*.*  Terdapat beberapa jenis relasi yang terjadi, baik antar-use case, antar-aktor, maupun antara use case dan aktor. Relasi yang terjadi antar use case, antara lain *extend, include* dan generalisasi. Relasi >* digunakan saat sebuah use case secara kondisional menambahkan tahapan lain dari use case pusat *(base use case).* Use case pusat ini masih dapat berdiri sendiri tanpa use case tambahan tersebut *(extend use case)*. Sebagai contoh, pada sistem Anjungan Tunai Mandiri (ATM), terdapat use case "Menarik uang". Use case ini dapat diperpanjang jika pengguna tidak menarik uang menggunakan mesin [[ATM]] yang sama dengan kartu ATM yang dimilikinya. Maka, use case "Menarik uang" dapat memiliki relasi *extend* dengan use case baru, yaitu  "Menghitung biaya tambahan".

Relasi <<*include>>* tidak bersifat kondisional, relasi ini menunjukkan bahwa use case pusat hanya dapat dipenuhi dengan melakukan use case yang memiliki relasi *include* dengannya *(include use case).'' Contohnya, pada saat pertama kali pengguna memasukkan kartu ATM ke mesin ATM, pengguna harus memasukkan nomor identifikasi pribadi dahulu sebelum dapat mengakses menu ATM. Generalisasi merupakan relasi yang terjadi dari use case anak ke use case induk yang menggambarkan bagaimana use case anak mewarisi semua tingkah laku dan karakteristik dari use case induknya secara lebih spesifik. Misalnya, pengguna ingin melakukan panggilan telepon. Use case induk "Melakukan panggilan telepon" dapat dibagi menjadi dua use case anak, yaitu "Melakukan panggilan ke 1 orang" dan "Melakukan panggilan ke banyak orang".

Selain pada use case, generalisasi juga dapat terjadi antar aktor.  Selain bentuk relasi yang telah dijelaskan sebelumnya, terdapat pula relasi asosiasi yang terjadi antara use case dan aktor yang menandakan bahwa terjadi interaksi atau komunikasi antara aktor dan use case. Sebuah use case memiliki paling tidak satu relasi asosiasi kepada satu aktor dan satu aktor memiliki paling tidak satu relasi asosiasi kepada satu use case.

## Referensi