Tujuan Pembelajaran:
1. Memahami teknik dasar analisa dan perancangan berorientasi obyek (OOAD).
2. Memahami konsep dasar pemodelan berorientasi obyek menggunakan UML.
3. Membuat dokumentasi pengembangan sistem perangkat lunak.
BAB I
PENGANTAR PARADIGMA BERORIENTASI OBYEK
Dua yang harus diperhatikan agar dapat menguasai UML dengan baik, yaitu:
1. Menguasai pembuatan diagram UML. Sebagai sebuah ”bahasa pemodelan”
maka UML memiliki tata aturan dalam menggambar setiap diagram. Untuk
dapat mengoptimalkan manfaat UML, maka tentu saja, harus dikuasai tata
aturan penggambaran setiap diagram UML tersebut. Setiap diagram UML
memiliki notasi gambar dan cara untuk menggambar. Notasi dan cara untuk
menggambar harus dikuasai dengan baik, bagi mereka yang ingin
menggunakan UML.
2. Menguasai langkah-langkah dalam analisa dan perancangan dengan UML.
Proses analisa dan perancangan sistem perangkat lunak berorientasi obyek
dengan menggunakan UML merupakan sebuah proses integral dari tahapan
pengembangan sistem perangkat lunak. Langkah proses ini seperti ”memiliki
pasangan” diagram UML tertentu yang dapat mengabstraksikan salah satu
aspek dari sistem perangkat lunak.
Ada 8 diagram UML untuk memodelkan sistem perangkat lunak di mana masing-
masing diagram UML didesain untuk menunjukkan satu sisi dari bermacam-macam
sudut pandang (perspektif) dan terdiri dari tingkat abstraksi yang berbeda. 8 diagram
UML adalah sebagai berikut: Diagram Use Case, Diagram Kelas, Diagram Statechart,
Rangkuman dari UML (Dharwiyanti & Wahono, 2003) dapat dilihat pada Gambar 1
sebagai berikut
Gambar 1. Konsep Dasar UML
A. Proses Analisa dan Perancangan Menggunakan UML
Menggambar model perangkat lunak berorientasi obyek dengan menggunakan UML
memiliki banyak teknik pendekatan. Salah satu teknik pendekatan yang disarankan
dapat dilihat pada Gambar 2 dibawah.
Gambar 3 memetakan langkah, proses dan diagram UML pada fase pengembangan
sistem perangkat lunak.
-End1 -End2
Aktor Relasi antara aktor
(Receiver or Sender) * *
dan use case
Actor1 Dependency
(include or extend)
UseCase1 Use Case
Obyek entiti
Note
Obyek antarmuka
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 dari include (lihat Gambar 5):
Head Admin dapat melakukan Proses Manajemen Data secara simultan yakni
proses Tambah, Ubah dan Hapus. Namun Head Admin harus terlebih dahulu
diidentifikasi sebagai Akun Obyek Head Admin sebelum melakukan proses
“Manajemen Data”. Use Case “Managemen Data” meng-include fungsionalitas
dari use case “Tambah Data”, ”Ubah Data” dan “Hapus Data” sebagai bagian
dari proses saat dieksekusi.
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 dari Extend (lihat Gambar 6):
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.
4. Ada 2 macam interaksi yang dapat digambarkan dengan menggunakan use
case diagram, yaitu:
a. interaksi antara aktor dan system
b. interaksi use case dan use case lainnya.
5. Mengisi use case description (harus dibuat untuk setiap use case)
6. Untuk memperhalus model use case, maka perlu dilakukan pemodelan
interaksi dan behaviour obyek yang mendukung scenario use case. Pemodelan
ini terdiri dari 5 langkah berikut ini (Whitten et. al, 2004):
a. mengidentifikasi dan mengelompokkan obyek desain use case
b. mengidentifikasi atribut obyek
c. memodelkan interaksi obyek tingkat tinggi untuk sebuah use case
d. mengenali state, behaviour, dan tanggung jawab obyek
e. memodelkan interaksi obyek detil untuk sebuah use case (lihat
sequence diagram).
Contoh berikut (Gambar 6) ini akan menggambarkan interaksi antara aktor dan
sistem. Selain itu, gambar ini juga mendemonstrasikan penggunaan include dan
extend.
Gambar 6 Contoh Interaksi Antara Aktor dan Sistem (Use Case)
Gambar 7 memberikan contoh penulisan Use Case Description (atau disebut juga Use
Case Table)
Gambar 7 Use Case Description
Nama Use Make Appointment
Case:
Aktor: Patient dan scheduler
Deskripsi: Membuat temu janji untuk berobat
Normal 1. Patient menginisialisasi proses ini dengan
Course: membuat temu janji untuk berobat dengan
mendatangi tempat praktek.
2. Hal ini kemudian dicatat oleh scheduler.
Alternate 1a. Patient dapat membuat janji lewat telpon.
Course: 2a. Scheduler dapat menuliskan temu janji berdasarkan informasi yang diberikan oleh
patient.
Pre- Patient sakit
Condition:
Post- Cancel appointment, check patient‟s record, request medication
Condition:
Assumption: -
Pemodelan interaksi dan behaviour obyek yang mendukung scenario use case.
Pemodelan ini terdiri dari 4 langkah berikut ini (Whitten et. al, 2004):
1. mengidentifikasi dan mengelompokkan obyek desain use case
2. mengidentifikasi atribut obyek
3. memodelkan interaksi obyek tingkat tinggi untuk sebuah use case
4. mengenali state, behaviour, dan tanggung jawab obyek
3. Memodelkan interaksi obyek tingkat tinggi untuk sebuah use case. Contohnya
dapat dilihat pada ilustrasi gambar berikut:
Form Appointment
AppointmentId
Appointment Manager
*
AppointmentDate
* **
Actor2
PatientId
4. Mengenali state, behaviour, dan tanggung jawab obyek. Langkah ini dapat
dilakukan dengan membuat Tabel, seperti yang dicontohkan berikut ini:
Tabel State, Behaviour, dan Tanggung Jawab Obyek
Behaviour Otomatis/Manual Tipe Obyek
Make appointment Otomatis Entiti
Cancel appointment Manual
Check patient record Manual/Otomatis Kontrol
Pay bill Manual
Menampilkan form Otomatis Antarmuka
appointment
2) Diagram Aktivitas
Tujuan penggunaan Diagram Aktivitas adalah untuk menggambarkan berbagai alir
aktivitas dalam sistem yang sedang dirancang, bagaimana masing-masing alir
berawal, decision yang mungkin terjadi, dan bagaimana mereka berakhir; juga untuk
menggambarkan proses paralel yang mungkin terjadi pada beberapa eksekusi.
Perbedaan antara use case diagram dan activity diagram:
Sebuah aktivitas dapat direalisasikan oleh satu use case atau lebih. Aktivitas
menggambarkan proses yang berjalan, sementara use case menggambarkan
bagaimana aktor menggunakan sistem untuk melakukan aktivitas.
Notasi Diagram Aktivitas dapat dilihat pada Gambar 8 berikut ini.
Gambar 8 Notasi Diagram Aktivitas
Activity
Control Flow
Condition
<no send action> Signal Send
Note
Gambar 9 adalah Diagram Aktivitas dari proses Ibadah Anak Sekolah Minggu.
3) Diagram Kelas
Diagram Kelas biasanya digunakan untuk menggambarkan keadaan (atribut/properti)
suatu sistem, sekaligus menawarkan layanan untuk memanipulasi keadaan tersebut
(metoda/fungsi); juga untuk menggambarkan struktur dan deskripsi class, package
dan objek beserta hubungan satu sama lain seperti containment, pewarisan, asosiasi,
dan lain-lain
Dalam konsep berorientasi obyek, maka entitas Class memiliki tiga area pokok, yaitu
Nama (dan stereotype); Atribut dan Operasi/metode (lihat Gambar 10 dan Gambar
11)
Gambar 10 Diagram Kelas
Nama Class
-atribut
+operation()
Apabila atribut dan operasi digabungkan maka ini disebut function. Atribut dan
operasi dapat memiliki salah satu sifat berikut :
Private, tidak dapat dipanggil dari luar class yang bersangkutan. Notasi: “-“
Protected, hanya dapat dipanggil oleh class yang bersangkutan dan anak-anak
yang mewarisinya. Notasi: “#”
Public, dapat dipanggil oleh siapa saja. Notasi: “+”
Gambar 11 Notasi Class Diagram
- Private
Package
+ Public
# Protected «interface»
Interface
0..1 Zero-to-one
1..* One-to-many
1 1..*
Association
Patient Treatment
Generalization
Realization
Berikut ini (Gambar 12) adalah contoh Diagram Kelas beserta dengan hubungan antar
kelas.
Gambar 12 Contoh Hubungan Antar Kelas
4) Diagram Sequence
Diagram sequence biasanya ditujukan untuk menggambarkan interaksi antar objek di
dalam dan di sekitar sistem (termasuk pengguna, display, dan sebagainya) berupa
message yang digambarkan terhadap waktu; juga untuk menggambarkan skenario
atau rangkaian langkah-langkah yang dilakukan sebagai respons dari sebuah event
untuk menghasilkan output tertentu (lihat Gambar 13 untuk notasi Diagram Sequence)
Object1
Object Lifeline
Activation Bar
Simple Message
Lifeline
Assynchronous Message
Synchronous Message
Message Return
Note
Loop
Contoh lain dari sequence diagram dapat dilihat pada ilustrasi Gambar 20 – 22
berikut (Sumber: Schmuller, 1999). Sequence diagram ini yang menggambarkan
proses pembelian minuman yang dilakukan oleh seorang actor lewat vending
machine. Agar penggambaran proses pembelian mudah untuk dimengerti, maka
proses ini dibagi menjadi 3 bagian dengan scenario yang berbeda-beda.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.
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.
Gambar 21. Contoh ke-2 Sequence Diagram (Membeli Minuman – Part 2)
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.
Gambar 22 Contoh ke-2 Sequence Diagram (Membeli Minuman – Part 3)
5) Diagram Component
Tujuan penggunaaan Diagram Komponen adalah untuk menggambarkan struktur dan
hubungan antar komponen piranti lunak, termasuk ketergantungan (dependency)
diantaranya; dan untuk menunjukkan bagaimana kode pemrograman dibagi ke dalam
modul-modul (komponen).
Komponen piranti lunak adalah modul berisi code, baik berisi source code maupun
binary code, baik library maupun executable, baik yang muncul pada compile time,
link time, maupun run time. Umumnya komponen terbentuk dari beberapa class
dan/atau package, tetapi dapat juga dari komponen-komponen yang lebih kecil.
Komponen dapat juga berupa interface, yaitu kumpulan layanan yang disediakan
sebuah komponen untuk komponen lain. Dengan kata lain, component diagram ini
terdiri dari kumpulan komponen, interfaces, dan relasinya. (untuk notasi Diagram
Komponen dapat dilihat pada Gambar 23)
Gambar 23 Notasi Diagram Komponen
Dependency relationship
Package
Interface
Note
Vending Machine
Register Dispenser
Classes: Classes:
InputValidator BeverageSelection
CheckForChange CheckBeverage
DeliverChange DeliverBeverage
6) Diagram Deployment
Tujuan penggunaan Diagram Deployment adalah: menggambarkan detail bagaimana
komponen di-deploy dalam infrastruktur sistem, di mana komponen akan terletak
(pada mesin, server atau piranti keras apa), bagaimana kemampuan jaringan pada
lokasi tersebut, spesifikasi server, dan hal-hal lain yang bersifat fisikal; juga
digunakan untuk menggambarkan arsitektur fisik dari perangkat keras dan PL pada
suatu sistem.
Sebuah node adalah server, workstation, atau piranti keras lain yang digunakan untuk
men-deploy komponen dalam lingkungan sebenarnya. Sebuah node juga merupakan
fisik dari elemen-elemen yang ada pada saat dijalankannya sebuah sistem, contohnya
adalah sebuah komputer, umumnya mempunyai sedikitnya memory dan processor.
Hubungan antar node (misalnya TCP/IP) dan requirement dapat juga didefinisikan
dalam diagram ini.
Cara menggambarkan deployment diagram:
1. Tentukan node-node yang akan digunakan untuk mengimplementasikan
komponen dalam lingkungan sebenarnya.
2. Pada setiap node tersebut harus diisikan dengan component-component yang
dapat berupa code, interface, dan class.
3. Kemudian, gunakan garis untuk menghubungkan node-node untuk
mengindikasikan jalur komunikasi di antara peralatan.
Notasi Diagram Deployment dapat dilihat pada gambar 25, sedangkan untuk contoh
penggunaan dapat dilihat pada Gambar 26
Gambar 25 Notasi Deployment Diagram
Dalam UML, bagian-bagian yang digunakan yaitu: views, diagram, dan elemen
model.
a. View. View menunjukkan perbedaan dari berbagai aspek-aspek suatu
sistem yang dimodelkan. View bukan sebuah graph, tetapi sebuah
abstraksi yang terdiri dari beberapa diagram. Hanya dengan
mendefinisikan sejumlah view, dimana setiap view menunjukkan aspek
yang berbeda dan saling terpisah dari sistem, maka gambaran sebuah
sistem secara komplit dapat dibentuk. Rational rose memiliki empat view
yaitu: Use case View, Logical View, Component View, dan Deployment
View.
b. Diagram. Diagram merupakan graph yang menjelaskan tentang isi dari
sebuah view. UML memiliki beberapa tipe diagram yang berbeda yang
dapat digunakan untuk mengkombinasi dalam menyusun semua dari
sebuah sistem. Rational Rose 2000, memiliki delapan diagram yaitu: Use
case diagram, Sequence diagram, Collaboration diagram, Activity
Diagram, Class Diagram, Statechart Diagram, Component Diagram dan
Deployment Diagram.
c. Elemen Model. Konsep-konsep yang digunakan dalam diagram
merupakan elemen-elemen model yang menyatakan konsep-konsep
berorientasi obyek secara umum , seperti class, object, dan message, serta
hubungan antar konsep-konsep tersebut termasuk association, dependency,
dan generelization. Sebuah elemen model digunakan dalam beberapa
diagram yang berbeda tetapi selalu memiliki simbol dan arti yang sama.
Langkah-langkah:
1. Pertama-tama perhatian arahkan ke Browser
2. Menyiapkan use case diagram window: - Klick kanan Use case view
new uses case diagram memberi nama dobel klick
3. Membuat Actor:
● Klick kanan Use case view new Actor memberi nama
● Mengisi dokumentasi aktor: Pindahkan kursor di Window Document.
Ketikkan keterangan secukupnya, misalnya: “mahasiswa yang terdaftar
dalam semester”.
● Menempatkan aktor ke dalam use case diagram: Drag dan Drop Icon
Aktor ke dalam use case window.
● Lakukan beberapa kali sesuai jumlah Actor yang diinginkan
4. Membuat Use case:
● Klick kanan Use case view new Use case memberi nama
● Mengisi dokumentasi use case: Pindahkan kursor di Window
Document. Ketikkan keterangan secukupnya, misalnya: “Use ini
dimulai dari Mahasiswa. Digunakan untuk membuat dan atau melihat
jadwal mahasiswa yang terdaftar dalam semester”.
● Menempatkan Use case ke dalam use case diagram: Drag dan Drop
Icon use case ke dalam use case window.
5. Membuat komunikasi Association (Communicates Associations)
Perlu diingat, menghapus sebuah obyek dari hubungan antar diagram tidak
menghapus hubungan class dari model.
Menambah obyek ke Collaboration Diagram
Jika obyek Actor telah ditambahkan ke diagram, maka tahap berikutnya adalah
menambakan ke obyek lainnya. Untuk menambahkan obyek ke collaboration
diagram:
Sama dengan penghapusan Actor dari diagram, bahwa penghapusan obyek dari
diagram tidak menghapus hubungan class dari model.
3. Pilih icon Link Message atau Reverse Link Message pada toolbar.
4. Click Link antara dua object. Hasilnya akan ditampilkan arah message, seperti
pada gambar dibawah.
5. Dengan pesan yang dipilih, ketikkan tipe teks dari message.
1. Memunculkan Class dari toolbar: pilih icon Class pada toolbar click
sekali pada Class diagram yang terbuka.
2. Memberi nama: Click dobel pada class tersebut pilih General tab dalam
window specification tuliskan nama yang diinginkan dalam kolom name.
Dokumentasi Class
1. Menentukan Class yang akan diberi dokumentasi: Lihat daftar Class dalam
browser Click pada Class yang dipilih.
2. Menuliskan dokumentasi: Pindahkan kursor pada documentation window
tuliskan keterangan secukupnya. (misal: Seseorang yang terdaftar dalam semester
ini.)
atau
1. Lihat daftar Class dalam browser atau pada windows Class Diagram.
2. Click Dobel pada Class yang dipilih pilih General tab dalam window Class
specification tuliskan dokumentasi..
Membuat Relasi Association
Membuat multiplicity
1. Click dobel pada garis relasi untuk memunculkan Specification
2. Pilih Menu Detail pada peran yang akan dimodifikasi (Detail Role A atau Role B)
3. Tentukan multiplicity yang diinginkan
3. Untuk setiap subclass yang merupakan bagian dari Generalisation: pilih icon
Generalisation dari toolbar click pada subclass dan drag garis Generalisation
ke ujung generali yang sudah terbentuk.
Menambahkan attribute ke suatu Class
1. Memilih Class pada Browser: Click sekali pada tanda plus (+) pada Logical View
agar terurai isinya. (jika Logical View sedang bertanda +, atau tidak terurai).
2. Pilih Class yang akan ditambahi attribute.
3. Membuka menu attribute: Click kanan dari class yang telah dipilih
4. Pilih New Attribute, dan Ketikkan attribute yang diinginkan.
5. Memberi tipe attribute: Click pada attribute yang baru saja ditambahkan.
6. Click kanan dan pilih menu open Specification.
7. Arahkan kursor ke tipe. Pilih tipe attribute yang diinginkan dengan membuka
menu option.
Menambah paket
Paket (package) dibuat dalam Logocal View dari browser. Untuk menambahkan
sebuah paket yang sudah ada untuk Class diagram, pindahkan dengan men-drag
paket dari browser ke dalam Class Diagram.
Menambahkan paket yang baru ke Class diagram:
Untuk menambahan paket dalam sebuah paket maka Click kanan pada paket yang
sudah ada dan ikuti langkah seperti diatas.
Menghapus Paket
Menghapus paket dari Class diagram:
1. Pilih paket pada Class diagram.
2. Tekan tombol Delete
Catatan:
Menghapus paket dari sebuah Class diagram, tidak otomatis menghapus paket pada
browser dan dalam class diagram yang lain.
Menghapus paket dari model:
1. Click kanan pada paket di browser Delete
Atau
1. Pilih paket pada Class diagram.
2. Pilih Edit Delete from Model, atau tekan Ctrl+D.
Membuat paket yang memiliki ketergantungan (Package Dependencies)
Sifat dependency merupakan tipe relasi yang hanya terjadi dalam menggambarkan
antar paket. Sebuah package dependency, seperti sebuah class dependency yang
digambarkan dengan panah bergari putus-putus. Sebuah package dependency dari
paket A ke paket B memberikan gambaran bahwa beberapa class dalmapaket A
memiliki unidirectional relationship ke beberapaclass dalam paket B.
Dengan kata lain, beberapa class dalam A ingin mengetahui beberapa class dalam B.
Membuat package dependency pada Class diagram:
paket Komopnen
Dependency relasi
Component diagram merupakan gambaran secara fisik dari model yang sedang
dibangun.
Componen Diagram menunjukkan dari organisasi dan keterikatan dari komponen-
komponen perangkat lunak, meliputi komponen-komponen source code, komponen-
komponen code biner, dan komponen-komponen executable. Keterikatan antar
komponen merupakan ikatan hubungan antara komponen-komponen dengan
interface terhadap komponen-kompone yang lain.
Penambahan elemen model yang lain dapat dilakukan dengan cara sama seperti diatas
seperti menggunakan:
Sebuah connection menunjukkan sebuah bagian komunikasi antara dua prosesor, dua
device, atau sebuah prosesor dan sebauh device. Sebuah connection biasanya
menyatakan penggandengan hardware secara langsung, seperti kabel RS232, dan
dapat juga menyatakan penggandengan yang tidak langsung.
3. Untuk membuat koneksi : Click icon connection pada toolbar Click Node
yang merupakan „client‟ drag (connectin line) ke node yang merupakan
„supplier‟ Click dobel tuliskan nama koneksi tekan OK.
Dengan langkah seperti diatas dapat dibuat 5 buah node yaitu : Registration,
Database, Main Building, Dorm, Library. Kelima node ini terkoneksi sebagai berikut :
Klik Next
Kemudian klik Next Lagi dan Finish:
Langkah selanjutnya adalah klik unsigned class kemudian akan terlihat class-
clas yang belum diassignment. Setelah klik pada class tersebut dan drag ke
visual basic yang ada di sebelah kiri, lakukan hal ini untuk semua class-class
yang ada pada unsigned class. Setelah class di drag maka pada menu visual
basic kiri akan keluar menu project 1, pastikan bahwa class-class lainnya di
drag pada project 1 bukan pada visual basic karena akan menghasilkan project
baru (lihat gambar)
Setelah semua class di-assign ke project1, kemudian klik Ok.
3. Langkah terakhir dari generating code ini adalah melakukan update code,
berikut inia dalah langkah-langkah untuk melakukan update code:
Klik pada tools Visual Basic kemudian update code
Setelah orm code update tool muncul, kemudian klik next, setelah itu akan
muncul project visual basic yang akan digenerate, beri tanda check pada project
1 kemudian klik Next
Langkah update code yang terakhir adalah FINISH, klik finish maka code
visual basic akan langsung digenerate
4. Setelah tombol Finish di klik maka code visual basic akan langsung
digenerate tapi sebelumnya Rational Rose akan meminta konfirmasi
penyimpanan file. Simpanlah file rational yang baru dengan nama baru
kemudian close form update code. Contoh hasil code visual basic dapat dilihat
pada gambar dibawah.
BAB IV CONTOH KASUS PENGGUNAAN UML
Membuat use case diagram yang berisi uses case dan actor, serta hubungan antara
uses-case dangan use-case atau use case dengan actor.
5) Merealisasikan interaction diagram sequence: sequence diagram dan collaboration
diagram.
a. Sequence diagram : menggambarkan interaksi obyek yang disusun dalam suatu
deretan waktu. Obyek disni berupa: Aactor dan Class. Untuk menggambarkan
sequence diagram setiap aktor didefinisikan aktifitasnya urut berdasarkan waktu.
Aktor Mahasiswa untuk memilih matakuliah melakukan proses:
Mengisi semua isian yang terdapat pada lembar pendaftaran
Menyerahkan lembar pendaftaran tersebut
Kabag pendaftaran menerima pendaftaran,dan menambahkan data mahasiswa dan
matakuliah yang diambil.
Message yang dibentuk dari aktivitas tersebut :
Mahasiswa form pendaftaran, message: menulis isian
Mahasiswa form pendaftaran, message: menyerahkan
Form pendaftaran kabag pendaftaran, message: daftar kuliah(nama,kuliah)
Kabag pendaftaran matakuliah, message: apakah diadakan?
Kabag pendftaran matakuliah, message: daftar (nama,kuliah)
Aktor Dosen melakukan aktivitas:
Membaca daftar kuliah yang ditawarkan
Melakukan modifikasi kuliah jika diperlukan
Mengajar sesuai matakuliah yang ditawarkan sesuai tugasnya
Aktor Sistem Pembayaran melakukan aktivitas:
Menerima informasi dari sistem pendaftaran tentang mahasiswa
Mencatat daftar matakuliah yang diambil
Menghitung besar biaya yang harus dibayar oleh mahasiswa
Aktor Kabag Pendaftaran melakukan aktivitas:
Login ke sistem
Menentukan pilihan semester
Menawarkan daftar matakuliah pada semseter tertentu ditawarkan ke dosen
Keterangan:
1. Jenis sistem aplikasi
eGov = eGovernment, sistem aplikasi e-Government; Sim = Similar, bukan sistem aplikasi e-Government, tetapi dianalogikan
serupa, sejenis dengan sistem aplikasi e-Government; Diff = Different, bukan sistem aplikasi e-Government, dan tidak dapat
dianalogikan/tidak serupa/tidak sejenis dengan sistem aplikasi e-Government
2. Status sistem aplikasi
COTS = Commercialy Off The Shelf; sudah dibangun dan sudah ada di pasaran, tinggal dibeli dan dipasang tanpa perlu usaha
modifikasi atau kustomisasi yang memerlukan kompilasi ulang source code dari sistem aplikasi tersebut; Mod = Modification;
basis/aplikasi dasar sudah ada, tetapi untuk dapat dipasang dan dipergunakan di tempat pengguna harus dilakukan modifikasi
atau kustomisasi sulu yang memerlukan kompilasi ulang source code dari sistem aplikasi tersebut; Dev = Development;
basis/aplikasi dasar belum ada, sehingga untuk dapat dipasang dan dipergunakan di tempat pengguna, sistem aplikasi tersebut
harus dikembangkan terlebih dahulu.
3. Modifikasi
- Pengaturan atau setting komputer, setting nilai default atau data awal atau pembuatan file konfigurasi atau pekerjaan sejenisnya
tidak termasuk atau tidak dianggap sebagai modifikasi
- Modifikasi dalam jumlah dan volume pekerjaan yang cukup besar dianggap sebagai pengembangan aplikasi baru
10. Dokumen Penjadwalan Proyek
Penjelasan: Dokumen ini menjelaskan jadwal pengembangan yang diusulkan oleh kontraktor/vendor
mitra pengembang/vendor, dimulai dari penandatanganan kontrak sampai dengan instalasi. Sedangkan
jadwal pelatihan, dapat diusulkan dulu, bersifat tentative. Pelaksanaan pelatihan nantinya harus
dikoordinasikan dengan pihak pengguna, kesiapan hari dan jadwal pengguna, fasilitas belajar-
mengajar, dan lain-lain. Dalam jadwal yang ditawarkan, kontraktor/mitra pengembang/vendor sangat
dianjurkan untuk memberikan opsi untuk pengiriman paket sistem aplikasi dalam beberapa kali
tahapan (incremental release). Misalnya sistem aplikasi dikirim dalam 2 tahapan. Pengiriman tahap
pertama mencakup seluruh fungsi utama sistem aplikasi sedangkan pengiriman kedua merupakan
tambahan-tamabahn rinci seperti onlie help, wizard, dan/atau fitur-fitur yang bersifat add-on lainnya.
Pengiriman secara bertahap dimaksudkan sebagai salah satu mekanisme untuk menyediakan prototype
sedemikian sehingga pengguna mendapat kesempatan untuk mengevaluasi sistem aplikasi tersebut
sebelum akhirnya diserahkan dan dipasang serta beroperasi penuh di tempat pengguna.
Jadwal minimal harus mencantumkan kegiatan/aktivitas penting seperti:
- Penandatanganan kontrak,
- Evaluasi awal sistem aplikasi (ditahap ini pengembang menyerahkan seluruh rancangan, termasuk
rancangan user interface untuk dievaluasi dan disetujui oleh pengguna);
- Audit (ditahap ini pengembang harus memebrikan kesempatan kepada pengguna minimal satu kali
untuk melakukan audit terhadap proses pengembangan yang dilakukan di tempat pengembang, terlepas
dari apakah audit tersebut nantinya benar-benar dilaksanakan atau tidak
- Evaluasi Akhir sistem aplikasi (ditahap ini pengembang harus menyerahkan dan memasang sistem
aplikasi versi beta di tempat pengguna untuk evaluasi dan mendapatkan masukan-masukan dari
pengguna)
- Pengujian Penerimaan (ditahap ini pengembang harus memberikan kesempatan kepada pengguna
minimal satu kali untuk melakukan audit terhadap kelengkapan produk yang akan diserahkan baik
kelengkapan fungsional ataupun kelengkapan fisik seperti dokumentasi, dan lain sebagainya)
- Dan lain-lain aktivitas/kegiatan yang menurut pengembang dianggap perlu dan penting untuk
diketahui, misalnya masa pengembangan, pengujian dan integrasi.
Harga Penawaran:
Item Uraian QTY Satuan Harga (Rp)
I Pengembangan Aplikasi Lumpsum
II Pelatihan Wajib 1 Kelas
III. Jaminan Operasional 1 Tahun
IV. Dukungan Teknis 1 tahun
12. Penutup. Penutup berisi penjelasan tentang hal-hal yang belum sempat dijelaskan
pada bagian sebelumnya.
13. Bagian Optional yakni Dokumen Compliance Check List.
Penjelasan: Biasanya dokumen ini terdiri dari dua bagian. Yakni bagian dokumen referensi milik mitra
pengembang, dokumen referensi milik pemilik proyek dan Tabel Compliance.
1. Dokumen referensi milik mitra pengembang/vendor yang berisi (a) spesifikasi produk sistem
aplikasi, rev:...., tanggal: dd-mm-yyyy; (b) Dokumen-dokumen penunjang lainnya yang menerangkant
entang spesifikasi, fitur atau kemampuan sistem aplikasi
2. Dokumen refernsi milik proyek sponso yang berisi: (a) Spesifikasi kebutuhan pengembangan sistem
aplikasi; (b) Dokumen-dokumen lain yang menerangkan kebutuhan Pemda akan sistem aplikasi
tersebut berkaitan dengan spesifikasi, fitur atau kemampuan sistem aplikasi
3. Tabel Compliance
Berikut disajikan contoh table compliance yang disarankan:
Par : paragraph
C : comply/terpenuhi/sesuai
NC: Not Comply/tidak terpenuhi/tidak sesuai/tidak ada/belum diimplementasikan
Keterangan:
Req_ID adalah indeks identifikasi fitur, Tingkat kedalaman jenjang suatu fitur dapat dikenali dari indeksnya. Contoh:
1. FItur Utama
1.1 Fitur lebih rinci (jenjang tingkat 2)
2. FItur Utama
2.1 Fitur lebih rinci (jenjang tingkat 2)
2.1.1 Fitur sangat rinci (jenjang tingkat 3)
2.1.2 FItur sangat rinci (jenjang tingkat 3)
2.2 Fitur lebih rinci (jenjang tingkat 2)
Prioritas adalah tipe prioritas kebutuhan tersebut, misalnya (M)andatory atau (o)psional. Di kolom ini cukup dituliskan satu saja,
misalnya huruf “O”, maka selain yang ditandai dengan “o” berarti Mandatory atau Wajib.
Deskripsi adalah penjelasan lengkap dari kebutuhan / fitur sistem aplikasi yang diinginkan
6.1 Kebutuhan Fungsional
Penjelasan: Tuliskan semua deskripsi dari kebutuhan fungsional disini. Kebutuhan fungsional merinci
semua fitur utama sistem aplikasi dan menjabarkannya kedalam fitur-fitur yang lebih kecil. Tataletak
penulisan kebutuhan ini biasanya merupakan terjemahan dari proses kerja sistem aplikasi tersebut,
yang dikelompokkan dalam modul-modul aplikasi.
Contoh penulisan daftar kebutuhan fungsional
Req_ID Prioritas Deskripsi
1 M Sistem aplikasi harus mempunyai fungsi untuk proses pengajuan
anggaran
2 M Sistem aplikasi harus mempunyai fungsi untuk proses pengelolaan
anggaran
3 O dll
4 O dll
Contoh #2 Penulisan Hasil Pengujian ((tata cara penulisan digabung menjadi beberapa kebutuhan yang
lebih besar)
Req_ID Deskripsi Metode UAD Hasil UAT Ket
(D/A/P/K) (P/F/S)
1. Sistem aplikasi XYZ memberikan data A P
anggaran ke sistem aplikasi PQR
.....................dst
1.1 ....................dst
1.2
2. Sistem aplikasi XYZ membutuhkan D S Note-1
data-data account instansi dan account
personal dari sistem aplikasi ABC
Data account instansi=(nama
2.1 bank+nama account instansi)
Sistem aplikasi harus dapat
2.2 mengakomodasikan: instansi yg
mempunyai account tersebar
dibeberapa bank
Data account personal = (nama bank +
2.3 nama account personal)
Contoh #3 Penulisan Hasil Pengujian (tatacara penulisan digabung dengan cara tertentu berdasarkan
scenario kasus)
Req_ID Deskripsi Metode UAD Hasil UAT Ket
(D/A/P/K) (P/F/S)
Kasus: Penyiapan RASK D P
1. .....................dst
1.1 ....................dst
2
Kasus: Perubahan RASK D S Note-1
1.1 ..............................dst
2.1 .............................dst
2.6 .............................dst
3 .............................dst
3.2 ............................dst
5. Penutup
Penjelasan: Disini disajikan rangkuman hasil pengujian dan evaluasi/penilaian terhadap hasil tersebut
untuk menentukan apakah sistem aplikasi:
(a) Sudah dapat berfungsi seperti yang diharapkan, sehingga sistem aplikasi tersebut dinyatakan dapat
diterima
(b) Belum dapat berfungsi dengan penuh seperti yang diharapkan, sehingga sistem aplikasi tersebut
dinyatakan tidak dapat diterima tau diterima dengan catatan
Contoh Tabel Rangkuman Hasil Pengujian:
Kelompok Kebutuhan Jumlah Total Kebutuhan Hasil Pengujian
P F S
1. Kebutuhan Fungsional 55 50 2 3
2. Kebutuhan Interface 40 30 0 10
3. Kebutuhan Basis data 20 18 2 0
4. Kebutuhan Adaptif 10 10 0 0
Total 125 10814 13
Untuk hasil yang tidak memuaskan (tidak dapat diterima, atau diterima dengan catatan), maka beberapa
langkah dapat diambil, misalnya:
(a) Proyek sponsor menunda pembayaran, atau bahakn membatalkan pekerjaan pengembangan sistem
aplikasi tersebut
(b) Dilakukan addendum (atau perubahan) kontrak bertujuan untuk memberikan kesempatan kepada
mitra pengembang untuk menyelesaikan yang hasilnya belum memuaskan tersebut.
DAFTAR PUSTAKA