'''Diagram use case''' merupakan gambaran atau representasi dari interaksi yang terjadi antara sistem dan lingkungannya. <ref>Jacobson, I., Christerson, M., Jonsson, P. and Overgaard, G. (1993). Object-Oriented Software Engineering. Wokingham: Addison-Wesley. </ref>Use case adalah teknik penemuan kebutuhan perangkat lunak yang dikenalkan pertama kali dalam metode pendekatan berbasis objek yang dikembangkan oleh [[Ivar_Jacobson|Jacobson]] dan kawan-kawan pada tahun 1990an. <ref name=":0">{{Cite book|last=Sommerville, Ian, 1951-|date=2011|url=https://www.worldcat.org/oclc/462909026|title=Software engineering|location=Boston|publisher=Pearson|isbn=978-0-13-703515-1|edition=9th ed|oclc=462909026}}</ref>Saat ini, diagram use case menjadi salah satu tipe dari Diagram [[Unified Modeling Language|''Unified Modeling Language'' (UML)]] berbasis tingkah laku. Menurut [[Alistair_Cockburn|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. <ref>{{Cite book|last=Pressman|first=Roger S.|last2=Maxim|first2=Bruce R.|date=2015|url=|title=Software Enginnering A practitioner's approach eighth edition|location=New York|publisher=Mc Graw Hill Education|isbn=978-0-07-802212-8|pages=|url-status=live}}</ref>
== Relasi pada diagram use case ==
[[Berkas:Restaurant Model.png|jmpl|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''.'' <ref name=":0" /> 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". <ref name=":1">{{Cite journal|last=Kurniawan|first=Tri Astoto|date=2018-03-02|title=Pemodelan Use Case (UML): Evaluasi Terhadap beberapa Kesalahan dalam Praktik|url=http://jtiik.ub.ac.id/index.php/jtiik/article/view/610|journal=Jurnal Teknologi Informasi dan Ilmu Komputer|volume=5|issue=1|pages=77|doi=10.25126/jtiik.201851610|issn=2528-6579}}</ref><ref name=":2">{{Cite web|last=|first=|date=|title=What's is the difference between include and extend in use case diagram?|url=https://courses.cs.ut.ee/MTAT.03.083/2015_fall/uploads/Main/ExtendInclude.pdf|website=|access-date=}}</ref>
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|nomor identifikasi pribadi]] dahulu sebelum dapat mengakses menu ATM. <ref name=":1" /><ref name=":2" /> 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. <ref>{{Cite web|last=|first=|date=|title=Guidelines: Use-Case-Generalization|url=https://sceweb.uhcl.edu/helm/RationalUnifiedProcess/process/modguide/md_ucgen.htm|website=|access-date=}}</ref> 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. <ref>{{Cite web|last=|first=|date=|title=Guidelines: Actor-Generalization|url=https://sceweb.uhcl.edu/helm/RationalUnifiedProcess/process/modguide/md_actgn.htm|website=|access-date=}}</ref> 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.<ref>{{Cite web|last=|first=|date=|title=Guidelines: Communicate-Association|url=https://sceweb.uhcl.edu/helm/RationalUnifiedProcess/process/modguide/md_comas.htm|website=|access-date=}}</ref>
== Referensi ==
|