MODUL 1
DIAGRAM USE CASE
Diagram Use Case menggambarkan fungsionalitas yang diharapkan dari sebuah sistem.
Yang ditekankan pada diagram ini adalah “apa” yang diperbuat sistem, dan bukan
“bagaimana”. Sebuah use case merepresentasikan sebuah interaksi antara aktor dengan
sistem. Use case merupakan sebuah pekerjaan tertentu, misalnya login ke sistem, meng-
create sebuah daftar belanja, dan sebagainya. Seorang/sebuah aktor adalah sebuah entitas
manusia atau mesin yang berinteraksi dengan sistem untuk melakukan pekerjaan-
pekerjaan tertentu.
Diagram use case dapat sangat membantu bila kita sedang menyusun requirement sebuah
sistem, mengkomunikasikan rancangan dengan klien, dan merancang test case untuk
semua fitur yang ada pada sistem. 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 sama. Sebuah use case juga dapat meng-extenduse case lain dengan
behavior-nya sendiri. Sementara hubungan generalisasi antar use case menunjukkan
bahwa use case yang satu merupakan spesialisasi dari yang lain.
System
Use Case2
Actor3
Use Case3
Actor2
<<extend>>
Use Case5
3. Use Case
Mengidentifikasi fitur kunci dari sistem. Tanpa fitur ini, sistem tidak akan
memenuhi permintaan user/actor. Setiap use case mengekspresikan goal dari
sistem yang harus dicapai.
Diberi nama sesuai dengan tujuannya dan digambarkan dengan elips dengan
nama di dalamnya.
Fokus tetap pada tujuan bukan bagaimana mengimplementasikannya walaupun
use case berimplikasi pada prosesnya nanti.
4. Association
Mengidentifikasikan interaksi antara actor dengan use case.
Digambarkan sebagai garis antara actor terhadap use case yang bersangkutan.
Asosiasi bisa berarah (garis dengan anak panah) jika komunikasi satu arah,
namun umumnya terjadi kedua arah (tanpa anak panah) karena selalu diperlukan
demikian.
5. Stereotype
Memungkinkan perluasan UML tanpa memodifikasinya.
Berperan sebagai kualifier pada suatu elemen model.
Menyediakan informasi lebih banyak mengenai peranan dari elemen tanpa
menyebutkan implementasinya.
Terutama untuk menggambarkan: use case dependency, class-class, package,
classifier.
Notasi dalam diagram dengan Guile met “<<…>>”
6. Dependency
Dependensi <<include>>
- Mengidentifikasi hubungan antar dua use case dimana yang satu memanggil
yang lain.
- Jika pada beberapa use case terdapat bagian yang memiliki aktivitas yang
sama makan bagian aktivitas tersebut biasanya dijadikan use case tersendiri
dengan relasi dependensi setiap use case semula ke use case yang baru ini
sehingga memudahkan pemeliharaan.
- Digambarkan dengan garis putus-putus bermata panah dengan notasi
<<include>> pada garis.
- Arah mata panah sesuai dengan arah pemanggilan.
Dependensi <<extend>>
- Jika pemanggilan memerlukan adanya kondisi tertentu maka akan berlaku
dependensi <<extend>>.
- Perhatikan bahwa konsep “extend” ini berbeda dengan “extend” dalam Java.
- Digambarkan serupa dengan dependensi <<include>> kecuali arah panah
berlawanan.
7. Generalization
Mendefinisikan relasi Antara dua actor dan dua use case yang mana salah satunya
mewarisi (inherit) dan menambahkan (override) sifat dari yang lainnya.
Penggambaran menggunakan garis bermata panah kosong dari yang mewarisi
mengarah ke yang diwarisi.
Batasan Masalah
Sistem informasi perparkiran yang akan dibuat modelnya adalah sistem perparkiran
sederhana dengan fungsi mendasar yaitu: mencatat kendaraan masuk, menghitung
pembayaran, mencetak struk, dan update kapasitas. Pencatatan kendaraan masuk bersifat
manual yaitu menginput data nomor kendaraan di keyboard oleh petugas, dan bukan
menggunakan kamera otomatis. Sistem memiliki display untuk menampilkan sisa tempat
parkir yang masih tersedia dan menampilkan pesan “penuh” jika tempat parkir sudah
penuh. Area parkir terbagi atas area parkir mobil dan motor dengan tarif yang berbeda
untuk tiap areanya. Sistem yang akan dimodelkan tidak mencakup login petugas dan
penanganan denda jika tiket parkir hilang.
Penyelesaian
1. Identifikasi aktor yang terlibat: Petugas Loket Masuk dan Petugas Loket Keluar
2. Identifikasi use case apa yang digambarkan dalam sistem:
Use case Mencatat Kendaraan Masuk
Use case Menghitung Pembayaran
Use case Mencetak Struk
Use case Update Kapasitas
3. Kelompokkan use case yang telah diidentifikasi berdasarkan skenario kasusnya:
Use case (utama): Mencatat Kendaraan Masuk, Menghitung Pembayaran,
Mencetak Struk.
Use case yang dijalankan jika terjadi use case lain (include): use case Update
Kapasitas.
2. Klik simbol actor pada toolbox. Buat 2 aktor yaitu: Petugas Loket Masuk dan Petugas
Loket Keluar.
3. Klik simbol use case pada tool box. Buatlah 4 use case, yaitu Mencatat Kendaraan
Masuk, Menghitung Pembayaran, Mencetak Struk, dan Update Kapasitas.
4. Tambahkan asosiasi antar use case dengan aktoruntuk use case utama dengan
mengklik simbol Association pada toolbox.
5. Setelah itu, buatlah asosiasidependensi dan generalisasi (jika ada) dengan mengklik
simbol Generalization, Dependency, Include atau Extend pada toolbox.
6. Berikan batasan sistem dengan mengklik simbol System Boundary pada toolbox.
System
Mencatat Kendaraan Masuk
<<include>>
Menghitung Pembayaran
Mencetak Struk
Petugas Loket Keluar
jenis kendaraan.
5. Menampilkan total biaya di display
loket keluar.
Alur alternatif no.4
Jika data kendaraan yang dimasukkan tidak valid, maka akan menampilkan pesan
“data masukan tidak valid, ulangi input.”
Carilah sebuah contoh diagram Use Case (minimal mengandung 5 use case) dan buatlah
deskripsi sistem tentang aktor dan use case (fungsi) yang terlibat dalam sistem.
System
Peminjaman
Pengembalian
Anggota
<<extend>> Petugas
Pembayaran Denda
Pengelolaan buku
System
Pendaftaran Pasien
Petugas Loket
Pemeriksaan Kesehatan
Pemberian Resep
<<include>>
Apoteker
Pengambilan Obat
3. Buatlah diagram use case untuk Toko Buku Online berdasarkan deskripsi sistem
berikut.
a. Pembeli harus mendaftarkan data dirinya sebelum memesan buku.
b. Kemudian pembeli dapat mulai aktivitas pemesanan, yaitu: login ke sistem,
memesan buku, dan menambahkan buku ke keranjang belanja. Sambil
berbelanja, pembeli juga dapat meng-update data dirinya.
c. Pengelola toko bertugas meng-update data buku dan mengirim pesanan buku.
Untuk mengirim buku, pembeli harus menginputkan data alamat pengiriman.
d. Manajer toko dapat meng-update data staf/petugas.
PT. EBM Indonesia merupakan perusahaan swasta yang cukup besar yang bergerak
dalam bidang industri telekomunikasi. Setiap tahun, secara rutin perusahaan ini
mengadakan rekruitmen calon pegawai baru untuk memenuhi kebutuhan SDM-nya.
Untuk memperlancar proses ini, PT. EBM Indonesia bermaksud mempermudah sistem
rekruitmen pegawai ini dengan menerapkan sistem online.
2. Petugas SDM akan memasukkan data pelamar ke sistem, termasuk juga data
divisi/jabatan yang dilamar, berdasarkan berkas lamaran yang sudah diterima. Status
awal pelamar adalah ”Terdaftar”.
3. Kemudian petugas SDM akan memvalidasi data pelamar. Jika sudah sesuai dengan
persyaratan, maka status pelamar menjadi ”Belum Tes”. Kemudian petugas SDM
akan mencetak surat tes yang kemudian akan dikirimkan via email ke pelamar yang
lulus validasi berkas.
4. Pelamar akan melakukan tes offline pada tanggal tes yang sudah ditentukan.
5. Petugas SDM akan memasukkan data nilai tes ke sistem.
6. Petugas SDM juga dapat melihat data nilai tes pelamar.
7. Kemudian Panitia Penerimaan akan menentukan siapa saja pelamar yang lulus
seleksi, berdasarkan data pelamar, nilai tes dan kuota per divisi. Pelamar yang lulus
akan berubah status menjadi ”Lulus Seleksi”, sedangkan yang tidak lulus akan
berubah status menjadi ”Tidak Lulus Seleksi”.
8. Setelah itu, Panitia Penerimaan akan membuat surat pemberitahuan kelulusan kepada
pelamar yang lulus dan mengirimkannya via email.
9. Pelamar dapat melihat status seleksinya di web dengan memasukkan nomor peserta
yang tertera pada surat tes.