**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
----------------------------

Diagram use case-Sistem Restoran
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 <<*extend>>* 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
---------

1. ↑  Jacobson, I. Christerson, M. Jonsson, P. and Overgaard, G. (1993). Object-Oriented Software Engineering. Wokingham: Addison-Wesley.
2. 1 2  Sommerville, Ian, 1951- (2011). *Software engineering* (edisi ke-9th ed). Boston: Pearson. ISBN 978-0-13-703515-1. OCLC 462909026. Pemeliharaan CS1: Banyak nama: authors list (link) Pemeliharaan CS1: Teks tambahan (link)
3. ↑  Pressman, Roger S.; Maxim, Bruce R. (2015). *Software Enginnering A practitioner's approach eighth edition*. New York: Mc Graw Hill Education. ISBN 978-0-07-802212-8.  Parameter `|url-status=` yang tidak diketahui akan diabaikan (bantuan)
4. ↑  Nurchaliza, Rachmatia (2024-01-15). "Apakah Diagram Usecase Adalah Komponen Terpenting Pada Aplikasi?". *D3 Rekayasa Perangkat Lunak Aplikasi Telkom University*. Diakses tanggal 2024-02-22.
5. 1 2  Kurniawan, Tri Astoto (2018-03-02). "Pemodelan Use Case (UML): Evaluasi Terhadap beberapa Kesalahan dalam Praktik". *Jurnal Teknologi Informasi dan Ilmu Komputer*. **5** (1): 77. doi:10.25126/jtiik.201851610. ISSN 2528-6579.
6. 1 2  "What's is the difference between include and extend in use case diagram?" (PDF).
7. ↑  "Guidelines: Use-Case-Generalization".
8. ↑  "Guidelines: Actor-Generalization".
9. ↑  "Guidelines: Communicate-Association".