Requirement Analysis:
Pak Joko, pemilik video rental, ingin mengkomputerisasi sistem peminjaman video di tempat usahanya. Karena Pak Joko tidak menyediakan anggaran yang banyak, dia ingin minta tolong anda dibuatkan sistem di video dia. Adapun cara kerja dan diskripsi dari sistem yang akan dibangun adalah sebagai berikut.
Apabila pelanggan ingin menyewa sebuah film, Pak Joko harus bisa mencari pelanggan tersebut dalam sistem atau untuk menambah pelanggan baru (nama, nomor KTP, alamat, nomor telepon) ke sistem. Jika pelanggan ingin tahu apakah suatu film tersedia, pelanggan harus dapat melakukan pencarian ke sistem.
Jika ada film yang baru dibeli, Pak Joko harus dapat menambahkannya ke sistem. Dia juga harus dapat mengedit informasi suatu film, misalnya tentang biaya sewanya. Dalam rangka untuk memikat lebih banyak pelanggan ke tokonya, Pak Joko memiliki penawaran istimewa "Empat Film Disewa, Dapatkan Film Kelima secara GRATIS!". Penawaran ini harus ditangani secara otomatis oleh sistem.
Ketika seorang pelanggan menyewa beberapa film, total biaya sewa yang harus dibayar harus tercantum secara otomatis, sehingga Pak Joko tidak perlu melakukan perhitungan secara manual. Juga penting diketahui bahwa data pelanggan dapat diperbarui jika perlu.
Pak Joko juga ingin dapat memantau film apa saja yang disewa oleh seseorang dan kapan kembalinya. Karena itu, dia ingin daftar semua film yang disewa dan kapan kembalinya diurutkan berdasarkan tanggal sehingga dia tahu pelanggan mana yang perlu ditelepon atau didatangi oleh centengnya.
Pak Joko juga harus bisa menghapus data pelanggan jika pelanggan menginginkan. Dia juga ingin bisa menghapus film jika film tersebut sudah dianggap kuno.
Requirement List:
Analisa:
Dari narasi tersebut akan dibuat Use Case Diagram. Kalimat-kalimat yang berisi kata kerja dipilih untuk dijadikan use case. Berikut adalah daftar kalimat-kalimat yang berisi kata kerja dan informasi pelakunya:
- Pelanggan dapat menyewa film jika sudah terdaftar sebagai anggota
- Pak Joko dapat mencari data pelanggan dalam sistem
- Pak Joko dapat menambah data pelanggan baru
- Pelanggan dapat melakukan pencarian film
- Sistem dapat melacak copy film yang disewa oleh pelanggan
- Pak Joko dapat menambahkan data film baru
- Pak Joko dapat mengedit informasi data film, misalnya mengubah harga sewanya
- Sistem dapat menangani bonus peminjaman jika pelanggan meminjam 4 buah film
- Pak Joko dapat memperbaharui data pelanggan
- Pak Joko dapat memantau film apa saja yang disewa oleh seorang pelanggan dan kapan kembalinya
- Pak Joko dapat menghapus data pelanggan
- Pak Joko dapat menghapus data film
Actor and Use Case
Dari daftar kebutuhan sistem tersebut dapat diketahui juga siapa pelaku-pelaku (Actors) yang terlibat. Berikut adalah daftar actor yang ada:
Pak Joko (atau operator)
Pelanggan, terdiri dari dua macam:
- Anggota (sudah terdaftar)
- Non-Anggota (belum terdaftar)
Diagram Use Case
Dari requirement list yang dihasilkan, dapat disusun Use Case Diagram sebagai berikut:

Diagram Use Case
Daftar Actors
Dari requirement analysis didapatkan beberapa actors berikut ini:

Operator adalah orang yang akan mengoperasikan software Video Rental yang akan dibuat. Dalam hal ini operator bisa Pak Joko atau salah satu karyawannya.
Pelanggan

Pelanggan adalah orang yang datang ke Video Rental milik Pak Joko. Pelanggan ada yang sudah terdaftar sebagai anggota maupun pelanggan yang belum terdaftar sebagai anggota.
Pelanggan yang sudah terdaftar sebagai anggota dapat melakukan peminjaman, sedangkan pelanggan yang belum terdaftar sebagai anggota harus melakukan pendaftaran terlebih dahulu. Proses pendaftaran akan dilakukan oleh operator.
Deskripsi Setiap Use Case
Use Case Melihat Daftar Peminjaman

Operator dapat melihat daftar koleksi yang sedang dipinjam. Informasi yang ditampilkan meliputi koleksi yang sedang dipinjam, tanggal peminjaman dan siapa yang meminjam.
Use Case Menambah Anggota

Operator dapat menambah anggota, dengan memasukkan data-data yang diperlukan (nomor anggota, nama, nomor ktp, alamat, nomor telepon) dari anggota yang ingin didaftarkan ke sistem.
Use Case Menghapus Data Anggota dan Include Mencari Anggota

Operator dapat menghapus data anggota. Untuk menghapus, operator harus melakukan pencarian data anggota yang akan dihapus terlebih dahulu. Jika data anggota tersebut ditemukan, baru kemudian operator dapat menghapus data anggota tersebut.
Use Case Mengubah Data Anggota dan Include Mencari Anggota

Operator dapat mengubah data anggota jika diperlukan. Misalnya mengubah alamat atau nomor telepon anggota. Untuk mengubah, operator harus melakukan pencarian data anggota yang akan dihapus terlebih dahulu. Jika data tersebut ditemukan, baru kemudian operator dapat mengubah data anggota tersebut.
Use Case Melihat Katalog

Pelanggan dapat melihat daftar film (katalog) yang ada. Pelanggan bisa melihat katalog terlebih dahulu untuk mencari film yang akan disewanya.
Use Case Mencatat Peminjaman dan Extension Mencatat Bonus

Operator dapat mencatat peminjaman yang dilakukan oleh pelanggan. Jika pelanggan memenuhi syarat (yaitu meminjam 4 film sekaligus), maka pelanggan berhak untuk mendapatkan peminjaman 1 film gratis. Sistem dapat menangani hal ini dengan melakukan pencatatan bonus.
Use Case Mencatat Pengembalian dan Extension Mencatat Denda

Operator dapat mencatat pengembalian yang dilakukan oleh pelanggan. Jika pengembalian tersebut melewati batas waktu peminjaman maka pelanggan wajib untuk membayar denda. Sistem dapat menangani hal ini dengan melakukan pencatatan denda.
Use Case Menambah Koleksi

Operator dapat menambah koleksi film baru.
Use Case Mengubah Koleksi dan Include Mencari Koleksi

Operator dapat mengubah data koleksi yang sudah ada. Misalnya mengubah harga sewa film. Untuk mengubah data koleksi, operator harus melakukan pencarian terlebih dahulu, film mana yang akan diubah datanya. Jika film yang ingin diubah sudah ditemukan, selanjutnya operator dapat langsung mengubah datanya.
Use Case Menghapus Koleksi dan Include Mencari Koleksi

Operator dapat menghapus data koleksi yang sudah ada. Misalnya untuk menghapus film yang sudah rusak, hilang atau dianggap sudah kuno. Untuk menghapus, operator terlebih dahulu harus melakukan pencarian film yang akan dihapus. Jika film yang akan dihapus berhasil ditemukan, operator dapat langsung menghapus data film tersebut.
Activity Diagram
Activity Diagram untuk Use Case Melihat Daftar Peminjaman

Activity Diagram untuk Use Case Menambah Anggota

Activity Diagram untuk Use Case Mencari Anggota

Activity Diagram untuk Use Case Menghapus Data Anggota

Pada activity diagram ini terdapat activity untuk mencari data anggota. Pada Use Case menghapus data anggota selalu melakukan pencarian data anggota terlebih dahulu. Data anggota yang ditemukan sesuai pencarian dapat langsung dihapus.
Activity Diagram untuk Use Case Mengubah Data Anggota

Activity diagram ini memuat activity Mencari Anggota, karena pada proses perubahan data anggota, operator harus melakukan pencarian terlebih dahulu anggota yang akan diubah datanya. Setelah data anggota ditemukan, baru kemudian dapat dilakukan perubahan datanya.
Activity Diagram untuk Use Case Melihat Katalog

Activity Diagram untuk Use Case Mencatat Peminjaman dan Extension Mencatat Bonus

Activity Diagram untuk Use Case Mencatat Pengembalian dan Extension Mencatat Denda

Activity Diagram untuk Use Case Menambah Koleksi

Activity Diagram untuk Use Case Mencari Koleksi

Activity Diagram untuk Use Case Mengubah Koleksi

Activity diagram ini memuat activity Mencari Koleksi, karena pada Use Case Mengubah Koleksi selalu dilakukan proses mencari koleksi terlebih dahulu. Setelah koleksi yang akan diubah datanya ditemukan, baru proses perubahan data dapat dilakukan.
Activity Diagram untuk Use Case Menghapus Koleksi

Activity diagram ini memuat activity Mencari Koleksi, karena pada Use Case Menghapus Koleksi selalu dilakukan proses pencarian koleksi terlebih dahulu. Setelah koleksi yang akan dihapus sudah ditemukan, operasi penghapusan dapat dilakukan.
Sequence Diagram untuk Use Case Melihat Daftar Peminjaman

Sequence Diagram untuk Use Case Menambah Anggota

Sequence Diagram untuk Use Case Mencari Anggota

Sequence Diagram untuk Use Case Menghapus Data Anggota

Sequence Diagram untuk Use Case Mengubah Data Anggota

Sequence Diagram untuk Use Case Melihat Katalog

Sequence Diagram untuk Use Case Mencatat Bonus

Sequence Diagram untuk Use Case Mencatat Peminjaman

Sequence Diagram untuk Use Case Mencatat Denda

Sequence Diagram untuk Use Case Mencatat Pengembalian

Sequence Diagram untuk Use Case Menambah Koleksi

Sequence Diagram untuk Use Case Mencari Koleksi

Sequence Diagram untuk Use Case Mengubah Koleksi

Sequence Diagram untuk Use Case Menghapus Koleksi

Class Diagram

Class diagram tersebut hanya menampilkan hubungan antara entitas (Anggota, Transaksi dan Film). Boundary class dan control class tidak ditampilkan di class diagram ini.
Entitas Anggota merupakan perwujudan dari anggota, dimana seorang anggota memiliki data nama, alamat, nomor ktp, nomor telepon. Seorang anggota juga dapat melakukan peminjaman maupun pengembalian
Entitas Transaksi merupakan perwujudan dari transaksi peminjaman atau pengembalian film. Transaksi dapat melakukan pencatatan peminjaman, pencatatan pengembalian, mengatur tentang bonus peminjaman dan denda.
Entitas Film merupakan perwujudan dari koleksi film yang dimiliki oleh Video Rental pak Joko. Film memiliki data id film, judul film, harga sewa, lama pinjam.
Relasi antara class Anggota dan class Transaksi adalah relasi Association, di mana setiap Anggota dapat memiliki 0 atau lebih Transaksi (Peminjaman atau pengembalian).
Relasi antara class Transaksi dan class Film adalah relasi Komposisi, di mana satu Transaksi terdiri dari 1 atau lebih film. Sebuah transaksi peminjaman terdiri dari peminjaman 1 film atau lebih. Relasinya adalah komposisi karena jika Transaksi dihapus (dibatalkan) maka daftar film yang dipinjam juga akan dihapus (dibatalkan).