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.
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.
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.
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
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:
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:
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:
UML
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.
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.
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).
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
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