Sedikit berbagi informasi..mengenai UML…karena mau tidak mau saya harus menggunakannya dalam penyelesaian project PP saya (maklum PP saya menggunakan OOP…… ^U^)
1. Use Case
Sebuah use case menggambarkan suatu urutan interaksi antara satu atau lebih aktor dan sistem. Dalam fase requirements, model use case mengambarkan sistem sebagai sebuah kotak hitam dan interaksi antara aktor dan sistem dalam suatu bentuk naratif, yang terdiri dari input user dan respon-respon sistem. Setiap use case menggambarkan perilaku sejumlah aspek sistem, tanpa mengurangi struktur internalnya. Selama pembuatan model use case secara pararel juga harus ditetapkan obyek-obyek yang terlibat dalam setiap use case.
Perhatikan satu contoh sederhana dari proses perbankan, yaitu mesin teller otomatis (Automated Teller Machine-ATM) yang memberikan kemudahan pada customernya untuk mengambil uang dari rekening bank secara langsung. Pada proses ini terdapat satu aktor, yaitu ATM Customer dan satu use case, yaitu Penarikan Dana. Proses ini dapat dilihat pada Gambar 1. Use case Penarikan Dana menggambarkan urutan interaksi antara customer dengan sistem, diawali ketika customer memasukan kartu ATM ke dalam mesin pembaca kartu dan akhirnya menerima pengeluaran uang yang dilakukan oleh mesin ATM.
2. Aktor
Sebuah aktor mencirikan suatu bagian outside user atau susunan yang berkaitan
dengan user yang berinteraksi dengan sistem [Rumbaugh, Booch, dan Jacobson 1999]. Dalam model use case, aktor merupakan satu-satunya kesatuan eksternal yang berinteraksi dengan sistem.
Terdapat beberapa variasi bagaimana aktor dibentuk [Fowler dan Scott 1999]. Sebuah aktor sering kali merupakan manusia (human user). Pada sejumlah sistem informasi, manusia adalah satu-satunya aktor. Dan mungkin saja dalam sistem informasi, seorang aktor bisa saja menjadi suatu sistem eksternal. Pada aplikasi real-time dan distribusi, sebuah aktor bisa saja menjadi satu perangkat eksternal I/O atau sebuah alat pengatur waktu. Perangkat eksternal I/O dan pengatur waktu aktor secara khusus lazimnya berada dalam real-time yang tersimpan dalam sistem (real-time embedded systems), sistem berinteraksi dengan lingkungan eksternal melalui sensor dan aktuator.
Primary actor (aktor utama) memprakarsai sebuah use case. Jadi, suatu primary aktor memegang peran sebagai proaktif dan yang memulai aksi dalam sistem. Aktor lainnya yang berperan sebagai secondary aktor bisa saja terlibat dalam use case dengan menerima output dan memberikan input. Setidaknya satu actor harus mendapatkan nilai dari use case. Biasanya adalah primary aktor (actor utama). Bagaimanapun, dalam real-time embedded systems, primary aktor dapat berperan sebagai perangkat eksternal I/O atau pengatur waktu, penerima utama dari use case bisa menjadi secondary human aktor yang menerima sejumlah informasi dari system. Contoh pada gambar 1 :
Aktor manusia bisa saja menggunakan berbagai perangkat I/O untuk berinteraksi fisik dengan sistem. Aktor manusia dapat berinteraksi dengan sistem melalui perangkat standar I/O, seperti keyboard, display, atau mouse. Aktor manusia bisa juga berinteraksi dengan sistem melalui perangkat non-standar I/O seperti bermacam-macam sensor. Dalam keseluruhan hal tersebut, manusia merupakan aktor dan perangkat I/O adalah bukan aktor.
Perhatikan beberapa contoh human aktor (aktor manusia). Pada system perbankan, satu contoh aktor adalah manusia yang berperan sebagai teller yang berinteraksi dengan sistem melalui perangkat standar I/O, seperti keyboard, display, atau mouse. Contoh lainnya adalah manusia yang berperan sebagai customer yang berinteraksi dengan sistem melalui mesin teller otomatis (ATM). Dalam hal ini, customer berinteraksi dengan sistem dengan menggunakan beberapa perangkat I/O, termasuk perangkat pembaca kartu (card reader), pengeluar uang (cash dispenser), dan pencetak tanda terima (receipt printer), ditambah lagi keyboard dan display.
Pada beberapa kasus, bagaimana pun juga sebuah aktor bisa saja berupa perangkat I/O. Hal ini bisa terjadi ketika sebuah use case tidak melibatkan manusia, seperti yang sering terjadi pada aplikasi-aplikasi real-time. Dalam hal ini, I/O aktor berinteraksi dengan sistem melalui sebuah sensor. Contoh actor yang merupakan perangkat input adalah Arrival Sensor pada Sistem Kontrol Elevator. Sensor ini mengidentifikasi elevator tersebut pada saat hendak mencapai lantai dan perlu dihentikan. Kemudian sensor tersebut menginisiasikan Stop Elevator at Floor use case. Aktor lain dalam Elevator Control System adalah orang yang berada dalam elevator (human passenger) yang berinteraksi dengan sistem melalui tombol-tombol nomor pada tingkat lantai dan tombol-tombol elevator. Input dari aktor secara aktual dideteksi melalui sensor-sensor tombol lantai dan sensor-sensor tombol elevator berturut-turut.
Aktor dapat pula menjadi sebuah alat pengukur waktu yang secara periodik
mengirimkan pengukuran waktu kejadian (timer events) pada sistem. Use case-use case secara periodik diperlukan ketika beberapa informasi perlu di-output oleh sistem pada suatu basis reguler. Hal ini sangat penting dalam sistem-sistem real-time, dan juga sangat berguna dalam sistem informasi. Walaupun sejumlah metodologi menganggap pengukur waktu merupakan hal internal bagi sistem, dan akan lebih berguna dalam desain aplikasi real-time untuk memperhatikan pengukur-pengukur waktu sebagai eksternal logis bagi sistem dan menganggapnya sebagai primary aktor yang memulai aksi dalam sistem.
Contohnya, pada sistem monitoring mobil, beberapa use case di-inisialisasi dengan suatu aktor pengukur waktu. Sebagai contoh dapat dilihat pada Gambar 2. Timer aktor mengawali Calculate Trip Speed use case, yang secara periodic menghitung rata-rata kecepatan melalui suatu jalan/ jejak dan menampilkan nilai ini ke driver. Dalam hal ini, pengukur waktu merupakan primary aktor (actor utama) dan driver merupakan secondary aktor (aktor kedua). Gambar 2 :
Suatu aktor bisa juga menjadi sistem eksternal yang melakukan inisiatif (sebagai primary aktor) atau partisipan (sebagai secondary aktor) dalam use case. Satu contoh aktor sistem eksternal adalah pabrik robot dalam Automation System. Robot mengawali proses dengan use case Generate Alarm dan Notify, robot menggerakkan alarm conditions yang dikirim ke operator pabrik yang berkepentingan, yang telah terdaftar untuk menerima alarms. Dalam use case ini, robot merupakan primary aktor yang mengawali inisiatif use case, dan operator merupakan secondary aktor yang menerima alarms.
3. Identifikasi Use Case
Sebuah use case dimulai dengan masukan/input dari seorang aktor. Use case merupakan suatu urutan lengkap kejadian-kejadian yang diajukan oleh seorang aktor, dan spesifikasi interaksi antara aktor dengan sistem. Use case yang sederhana hanya melibatkan satu interaksi/hubungan dengan sebuah aktor, dan use case yang lebih kompleks melibatkan beberapa interaksi dengan aktor. Use cases yang lebih kompleks juga melibatkan lebih dari satu aktor.
Untuk menjabarkan use case dalam sistem, sangat baik bila dimulai dengan memperhatikan aktor dan actions/aksi yang mereka lakukan dalam sistem. Setiap use case menggambarkan suatu urutan interaksi antara aktor dengan sistem. Sebuah use case harus memberikan sejumlah nilai pada satu aktor.
Kemudian, kebutuhan fungsional sistem dijelaskan dalam use case yang merupakan suatu spesifikasi eksternal dari sebuah sistem. Bagaimanapun juga, ketika membuat use case, sangatlah penting menghindari suatu dekomposisi fungsional yang dalam beberapa use case kecil lebih menjelaskan fungsi-fungsi individual sistem daripada menjelaskan urutan kejadian yang memberikan hasil yang berguna bagi aktor.
Perhatikan lagi contoh pada perbankan. Disamping penarikan melalui ATM, ATM Customer, aktor juga bisa menanyakan jumlah rekening atau mentransfer dana antar dua rekening. Karena terdapat fungsi-fungsi yang berbeda yang diajukan oleh customer dengan hasil-hasil guna yang berbeda, fungsi-fungsi pertanyaan dan pentransferan harus dibuat sebagai use case yang terpisah, daripada menjadi bagian dari original use case. Oleh karena itu, customer dapat mengajukan tiga use case seperti yang dapat dilihat di Gambar. 3; Withdraw Funds (Penarikan dana), Query Account, dan Transfer Funds (Pentransferan Dana). Gambar 3 :
Urutan utama use case menjelaskan urutan interaksi yang paling umum antara aktor dan sistem. Dan mungkin saja terdapat cabang-cabang urutan use case utama, yang mengarah pada berkurangnya frekuensi interaksi antara actor dengan sistem. Deviasi-deviasi dari urutan utama hanya dilaksanakan pada beberapa situasi, contohnya jika aktor melakukan kesalahan input pada sistem. Ketergantungan pada aplikasi kebutuhan, alternatif ini memecahkan use case dan kadang-kadang bersatu kembali dengan urutan utama. Cabang-cabang alternative digambarkan juga dalam use case.
Dalam use case Withdraw Funds, urutan utama adalah urutan tahap-tahap dalam keberhasilan pelaksanaan penarikan (withdrawal). Cabang-cabang alternatif digunakan untuk mengarahkan berbagai error cases, seperti ketika kartu ATM tidak dikenali atau dilaporkan telah hilang dan lain sebagainya.
4. Pendokumentasian Model Use Case
Use case didokumentasi dalam use case model sebagai berikut:
• Use Case Name. Setiap use case diberi nama.
• Summary. Deskripsi singkat use case, biasanya satu atau dua kalimat.
• Dependency. Bagian ini menggambarkan apakah use case yang satu tergantung pada use case yang lain, dalam arti apakah use case tersebut termasuk pada use case yang lain atau malah memperluas use case lain.
• Actors. Bagian ini memberikan nama pada actor dalam use case. Selalu terdapat use case utama (primary use case) yang memulai use case. Disamping itu terdapat juga secondary use case yang terlibat dalam use case. Contohnya, dalam use case Withdraw Funds, ATM Customer adalah actor-nya.
• Preconditions. Satu atau lebih kondisi harus berjalan dengan baik pada permulaan use case; contohnya mesin ATM yang tidak jalan, menampilkan pesan Selamat Datang.
• Deskripsi. Bagian terbesar dari use case merupakan deskripsi naratif dari urutan utama use case yang merupakan urutan yang paling umum dari interaksi antara aktor dan sistem. Deskripsi tersebut dalam bentuk input dari aktor, diikuti oleh respon pada sistem. Sistem ditandai dengan sebuah kotak hitam (black box) yang berkaitan dengan apa yang sistem lakukan dalam merespon input aktor, bukan bagaimana internal melakukannya.
• Alternatif-alternatif. Deskripsi naratif dari alternatif merupakan cabang dari urutan utama. Terdapat beberapa cabang alternatif dari urutan utama. Contohnya, jika rekening customer terdapat dana yang tidak sesuai, akan tampil permohonan maaf dan menolak kartu.
• Postcondition. Kondisi yang selalu terjadi di akhir use case, jika urutan utama telah dilakukan; contohnya dana customer telah ditarik.
• Outstanding questions. Pertanyaan-pertanyaan tentang use case didokumentasikan untuk didiskusikan dengan para user.
nah mybe segini dlu..next dilanjutin….
would you be my frendz….?
fs : crbn_ku@yahoo.com
ym : crbn_ku
contact :
willmen46@gmail.com
willmen46.wordpress.com




Nopember 20, 2007 pukul 6:23 pm
trima kasih mas will atas bantuannya blogmu ini jd ref pustaka lho..
, btw ditunggu bagian 4 dst nya..
Nopember 21, 2007 pukul 12:01 pm
to iip :
sama2 bro…thanx juga udah mau jadiin blogs pribadi ku
sebagai pustaka…
hmm nanti aq usahakan untuk bagian 4 dst nya
maklum aq gi agak sibuk nech…setidaknya ditengah kesibukan
aq masih bisa membantu orang lain dan apa yang aq kasih
bisa membantu orang lain
thnx coment na
willmen46
Januari 17, 2008 pukul 3:11 am
thx bgt nih oom dasarnya….
btw.. punya contoh sistem lengkap tp sederhana yang menggunakan UML ga???
masih bingung dalam pengaplikasiannya…
mungkin dengan contoh seperti sistem penjualan ato ga sistem admininstrasi sederhana….
soalnya buku yang aku punya contoh UML-nya terpisah n bukan merupakan suatu kesatuan pada sistem…
Januari 18, 2008 pukul 9:04 am
to and1 :
hmm aq masih kuliah kali blm jadi oom
wkakakakak
tapi gpp ntr juga jadi oom kan
hmm contoh..ada sech itu pun waktu saya PP
alias program profesional
ato waktu ada project untuk toko bunga punya tmn
untuk skripsi dia soal webs gitu…mau..??
silahkan email aja ke diri ku
salam kenal
Januari 22, 2008 pukul 4:00 am
wah kyanya boleh tuh minta contoh2nya…
btw ak dah kirim email tuh…
reply yah..
thx.
Januari 22, 2008 pukul 2:02 pm
@abin :
udah sampe ko email na
and sudah saya balas juga
hmm contoh2 y..mau yg kaya gimana..??
Januari 25, 2008 pukul 2:56 pm
Halooo will, met kenal. will, km ada file tentang dasar2 UML dari awal ampe akhir tapi pake bahasa indo? kalo ada tolong email kan ke ak ya. BTW, ulasan km lumayan loo. Ak jadi ada bayangan dikit hehehehe..
Oh ya.. ak juga minta contoh penerapane UML kalo dalam pembuatan website. Informasinya segera ya. kirim di emailku. Makasihh!!
Januari 26, 2008 pukul 10:29 am
@Aldwin
hmm klo soal2 UML kayanya banyak tuh di internet….y skali2 pake inggris kan gpp bro hikz. hmm thanx y untuk pujian na…secara aq juga masih baru ko didunia UML. oh mau yg tentang pembuatan webs y..boleh saja..silahkan kirim via email pribadi.
thnx
Januari 27, 2008 pukul 5:03 pm
maksud km, km dah kirimin di email ak tah? Ato jangan2 km lum tau email ak yoo?? hahaha..
Nih email ak ya. simonaldwin@gmail.com
bukane ak ndak mau baca2 file inggris, cuman takut ndak mudeng aj. Soale ak takut salah ngartiin. gituu.
Thanks.
Januari 28, 2008 pukul 10:17 am
@Aldwin :
mmm y kirim via email pribadi ke diri ku lah
yang butuh siapa..ko jadi aq yg harus kirimin loe email y
ya salah gpp yg penting kan ngerti
lagipula kan ada kamus jadi kenapa harus takut
Januari 28, 2008 pukul 6:07 pm
sudah will.. tolong di reply ya. Eh wil ak mau tanya, kalo ak mau buat website dengan menggunakan VWD tapi pemodelannya menggunakan UML, apa bisa?
Thanks before
Januari 30, 2008 pukul 1:57 am
oh iy..nanti saya cek email dlu
maklum tanggal tua jadi dana untuk ngenet sudah ngk ada
wkakakakkakakakk
hmm visual webs developer (VWD) Express 2005 y..??
berhubung aq blm terlalu punya bayangan lbh jauh tentang webs (maklum baru ambil pemograman internet semester ini hikz) jadi blm bisa aq jawab, tapi klo untuk php sepertinya sudah bisa dengan UML. ya asal webs nya dengan VWD itu semua dijadikan sebagai objek tentu saja dapat menggunakan pemodelan UML.
Februari 22, 2008 pukul 8:43 am
salam kenal willmen46!
Saya juga lagi blajar UML sekarang. Tadi kamu bilang :
willmen46 Says:
Januari 18, 2008 at 9:04 am
to and1 :
hmm aq masih kuliah kali blm jadi oom
wkakakakak
tapi gpp ntr juga jadi oom kan
hmm contoh..ada sech itu pun waktu saya PP
alias program profesional
ato waktu ada project untuk toko bunga punya tmn
untuk skripsi dia soal webs gitu…mau..??
silahkan email aja ke diri ku
salam kenal
mau dong tolong dikirim ke emailku yaa he2 buat referensi blajar:
crixalis.sk@gmail.com
Thanx be4!
April 18, 2008 pukul 8:46 am
tolong buatin usecase buat data anggota koperasi dong.. plis buat skripsi aku nihh!!
April 24, 2008 pukul 9:46 am
Om Will,
Salam kenal yah…,
maaf mampir nih…,
saya lagi nyari contoh UML, kebetulan baru belajar dan baru kenal dgn UML, biasanya yang saya gunakan model Diagram Berjenjang dengan DFD,
Kalau punya contoh yang bisa membantu bisa kirim dunk ke email aku…,
kalau boleh add ym ku juga di priyatna1983
Makasih banyak sebelumnya
Regards
Yatna
April 24, 2008 pukul 9:47 am
@Anak kampung :
jadi aq tahu
hmm entitas untuk data anggota koperasi na apa saja ne
dan juga proses yg dikenakan apa saja
lebih langkap y
Agustus 13, 2008 pukul 3:31 am
mau nanya dong, boleh gak kalo use case itu didekomposisi menjadi beberapa use case lagi… kalo bisa , bagi2 referensinya dong… makasih