BAB IV STUDI KASUS

advertisement
BAB IV
STUDI KASUS
Sesuai dengan hasil studi dan analisis mengenai konsep SOA, komponen-komponen BPMS,
dan penerapannya pada Bab 2, selanjutnya dipilih sebuah studi kasus untuk menguji hasil
analisis tersebut. Studi kasus yang dipilih adalah Virtual Research Center (VRC). VRC
merupakan sebuah perangkat lunak yang berfungsi untuk mendukung penjalanan riset di
dalam organisasi yang berupa pusat penelitian. Istilah VRC sendiri diambil dari [LAN06]
yang menjelaskan mengenai perangkat lunak tersebut di Pusat Penelitian Teknologi Informasi
dan Komunikasi Institut Teknologi Bandung. Oleh karena itu dalam mengambil studi kasus
ini definisi dan kebutuhan perangkat lunak akan diambil berdasarkan yang ditulis pada
[LAN06].
4.1 Deskripsi Umum Sistem
4.1.1 Deskripsi Umum
VRC adalah sebuah perangkat lunak yang berfungsi sebagai digitalisasi pusat penelitian. VRC
berfungsi membantu jalannya sistem dalam pusat penelitian. Adapun pihak-pihak yang
terlibat dalam sistem ini adalah Ketua Pusat Penelitian (PP), Peneliti, Dekan, Ketua
Kelompok Keahlian (KK), Reviewer, Sponsor, dan Publik. Peneliti adalah seorang atau
kelompok peneliti yang mengadakan penelitian dengan difasilitasi oleh Ketua PP. Dekan dan
Ketua KK berperan untuk menyetujui setiap proposal penelitian yang diajukan oleh peneliti.
Reviewer merupakan pihak yang dipilih oleh Ketua Pusat Penelitian untuk memeriksa setiap
proposal yang masuk apakah layak untuk diteliti. Sponsor adalah pihak yang mendanai setiap
penelitian yang dilakukan oleh pusat penelitian.
Kebutuhan sistem ini adalah sebagai berikut [LAN06]:
1
Pengelolaan Program Penelitian. Pusat Penelitian memiliki beberapa program
penelitian, oleh karena itu, pada sistem ini dimungkinkan untuk mendefinisikan
program penelitian, pengiriman proposal oleh peneliti, proses review proposal dari
peneliti, penandatanganan perjanjian kontrak kerja, serta pemantauan dan evaluasi
program penelitian yang sedang berjalan.
2
Fungsi Layanan Informasi. Sistem ini akan memberikan informasi melalui web
terkait dengan pusat penelitian. Informasi tersebut terkait dengan berita, informasi
peneliti, dan informasi penelitian. Sistem ini menyediakan fungsi untuk mengelola
IV-1
IV-2
informasi tersebut.
3
Fungsi Pengelolaan Pengguna Sistem VRC. Seluruh pengguna dari sistem VRC akan
dapat dikelola oleh sistem ini oleh seorang administrator. Selain itu, setiap pengguna
sistem ini dapat juga mengelola informasi yang terkait dengan dirinya.
4
Fungsi Pengelolaan Situs Pusat Penelitian. Kebutuhan dari pengelolaan situs adalah
kemampuan untuk mengubah tampilan situs Pusat Penelitian dan adanya log untuk
setiap transaksi pengubahan data yang terkait dengan program penelitian.
Dalam studi kasus ini, akan dibangun VRC sebagai sebuah perangkat lunak dengan
menggunakan model penerapan BPM dan SOA. Namun, studi kasus yang diambil tidak
mencakup keseluruhan sistem, melainkan dibatasi pada bagian-bagian yang terkait pada
pembuatan Request For Proposal (RFP) dan proses pengiriman proposal untuk RFP tersebut
sehingga akhirnya menjadi sebuah penelitian.
Dikarenakan pembangunan studi kasus ini menggunakan model penerapan BPM pada SOA,
maka akan digunakan metodologi pembangunan seperti yang telah dijelaskan pada Bab 3.3.
Ada dua bagian analisis dan perancangan yang dilakukan, masing-masing untuk service dan
perangkat lunak client.
4.1.2 Proses Bisnis
Dalam studi kasus ini, akan diambil sebuah proses bisnis dari Pusat Penelitian yaitu
pengajuan proposal. Proses pengajuan proposal ini adalah pengiriman proposal yang
dilakukan peneliti kepada Ketua Pusat Penelitian untuk melakukan penelitian. Pengiriman
proposal ini dilakukan dengan mengacu pada RFP yang ada saat itu. Jika terdapat sebuah
RFP, maka peneliti berhak mengajukan proposal untuk penelitian sesuai kriteria yang telah
ditentukan di RFP tersebut. Adapun proses pengajuan proposal tersebut dapat dilihat sebagai
pada Gambar IV-1.
Berdasarkan Gambar IV-1 dapat dilihat bahwa proses dimulai dari pengajuan proposal dari
peneliti. Proposal tersebut lalu diproses sesuai jalur yang telah didefinisikan pada RFP. Ada
jalur yang membutuhkan persetujuan Ketua KK atau Dekan atau keduanya terlebih dahulu
sebelum diajukan ke Ketua Pusat Penelitian, ada pula yang langsung ke Ketua PP. Jika
proposal disetujui, maka proses akan dilanjutkan ke pemilihan reviewer oleh Ketua Pusat
Penelitian. Jika reviewer menerima, ia akan memberikan review terhadap proposal tersebut.
Hasil review akan menjadi pertimbangan Ketua Pusat Penelitian untuk menyetujui proposal
tersebut. Jika reviewer telah memberikan review dan proposalnya disetujui Ketua PP, maka
tahap selanjutnya adalah negosiasi dana. Jika dana penelitian dapat disepakati, maka
penelitian dapat dimulai.
IV-3
Gambar IV-1 Proses Bisnis Pengajuan Proposal
IV-4
4.2 Kebutuhan Perangkat Lunak
4.2.1 Fitur Perangkat Lunak
Daftar kebutuhan fungsional yang akan diimplementasi oleh perangkat lunak dalam studi
kasus ini dapat dilihat pada Tabel IV-1. Daftar kebutuhan fungsional ini dibutuhkan untuk
mengimplementasikan proses bisnis pengajuan proposal seperti di Bab 4.1.2.
Tabel IV-1 Kebutuhan Fungsional Virtual Research Center
SRS Fungsional
Keterangan
SRS-F-01
Pengelolaan request for proposal (RFP), meliputi pembuatan RFP,
modifikasi informasi RFP, penghapusan RFP, dan melihat RFP yang
ada.
SRS-F-02
Pengelolaan proposal, yaitu peneliti dapat mengajukan proposal jika
terdapat RFP dalam suatu program penelitian dan melihat status proposal
saat ini,
SRS-F-03
Persetujuan proposal, yaitu proposal dapat disetujui oleh ketua KK,
dekan, dan Ketua PP
SRS-F-04
Pemilihan reviewer, yaitu Ketua PP dapat memilih reviewer untuk
memberi review pada proposal
SRS-F-05
Persetujuan review, yaitu reviewer dapat memilih untuk menyetujui
untuk memberikan review terhadap proposal atau tidak.
SRS-F-06
Review proposal, yaitu proposal dapat di-review oleh reviewer untuk
selanjutnya diajukan kepada Ketua PP
SRS-F-07
Negosiasi dana, yaitu perangkat lunak memfasilitasi negosiasi dana
antara peneliti dan Ketua PP
SRS-F-08
Pembukaan penelitian, yaitu Ketua PP dapat membuka sebuah penelitian
baru jika proposal sudah disetujui
4.2.2 Pemodelan Kebutuhan Perangkat Lunak
Untuk memberikan gambaran lebih jelas mengenai fungsi yang disediakan oleh perangkat
lunak, maka akan dilakukan pemodelan perangkat lunak. Pemodelan ini akan ditunjukkan
dalam pemodelan fungsional, dalam bentuk diagram use case. Pemodelan fungsional ini
nantinya juga akan menghasilkan skenario yang akan menjadi pedoman untuk pembuatan
diagram interaksi elemen pada perancangan perangkat lunak, yang nantinya akan
menghasilkan kelas-kelas perancangan perangkat lunak.
Diagram use case dari perangkat lunak ini dapat dilihat pada Gambar IV-2.
IV-5
Gambar IV-2 Use Case Diagram Untuk VRC
4.3 Analisis Service
Salah satu tahapan dalam pembangunan perangkat lunak pada studi kasus ini adalah analisis
service. Pada analisis service, dihasilkan sekumpulan kandidat service beserta operasinya.
Untuk menghasilkan kandidat service ini, terlebih dahulu akan dilakukan identifikasi terhadap
proses bisnis yang berjalan di sistem, identifikasi kandidat service, dan identifikasi operasi
service.
Identifikasi proses bisnis telah dilakukan sebelumnya pada Bab 4.1.2. Maka dari itu
selanjutnya akan ditunjukkan identifikasi kandidat service dan operasi service.
4.3.1 Identifikasi Kandidat Service
Identifikasi service dilakukan dengan pendekatan entity-centric, dikarenakan pendekatan ini
akan menghasilkan perangkat lunak yang lebih moduler. Oleh karena itu, dilakukan analisis
terhadap entitas-entitas apa saja yang ada di dalam sistem ini beserta keterhubungannya. Hasil
analisis tersebut pada studi kasus ini diperoleh entitas-entitas yang terkait untuk
mengimplementasikan kedua proses bisnis sebagai berikut :
1. Entitas User, yang mewakili pengguna sistem secara keseluruhan.
2. Entitas RFP, yang mewakili request for proposal.
3. Entitas Proposal, yang mewakili proposal dan segala propertinya
4. Entitas Research, yang mewakili penelitian.
Keempat entitas tersebut akan menjadi empat buah service yang mewakili proses bisnis dari
VRC. Dikarenakan mewakili proses bisnis, maka keempat service ini secara lojik akan berada
pada business service layer.
Selain empat service yang telah ditemukan di atas, diperlukan sebuah service tambahan untuk
menangani manajemen file. Pada proses bisnis pengajuan proposal, manajemen file
dibutuhkan untuk melakukan upload dan menyimpan file proposal. Proses manajemen file ini
IV-6
sebaiknya terpisah dari service proposal karena manajemen file merupakan sebuah fungsi
yang bersifat generik. Dikarenakan service ini terkait dengan aplikasi, bukan proses bisnis,
maka secara lojik ia akan berada pada application service layer.
Selain itu, diperlukan sebuah service pada orchestration service layer. Service tersebut adalah
Submit Proposal Service. Service inilah yang akan dipanggil oleh aplikasi client saat
pengajuan proposal.
Jadi, dari proses identifikasi ini, diperoleh enam buah kandidat service, yaitu Submit Proposal
Service, User Service, RFP Service, Proposal Service, Research Service, dan File
Management Service. Ilustrasi dari kandidat service yang dihasilkan dari tahap ini dapat
dilihat pada Gambar IV-3.
Gambar IV-3 Hasil Identifikasi Kandidat Service
4.3.2 Identifikasi Operasi Service
Identifikasi operasi dilakukan berdasarkan identifikasi proses bisnis, yaitu dengan melihat
fungsi-fungsi apa saja yang dibutuhkan oleh proses bisnis tersebut agar bisa berjalan. Selain
itu, juga dilakukan penambahan operasi-operasi tertentu yang mendukung proses bisnis itu
namun berada di luar proses bisnis. Salah satu contohnya di sini adalah ketersediaan operasi
untuk menambah, mengurangi, dan menghapus RFP. Penambahan ini juga dilakukan dengan
melihat kebutuhan dari client, setelah analisis kebutuhan client dilakukan dan dilanjutkan oleh
pembangunan service pada iterasi berikutnya.
Hasil identifikasi operasi service yang diperoleh dapat dilihat padaTabel IV-2. Keterhubungan
antara SRS, Service, dan operasi dapat dilihat pada Tabel IV-3.
IV-7
Tabel IV-2 Hasil Identifikasi Operasi Service
No
Service
S-01
S-02
S-03
S-04
S-05
Submit Proposal
User
RFP
Research
Proposal
S-06
File Management
Operasi
•
•
•
•
•
•
•
•
•
•
•
•
•
•
Ajukan Proposal
Ambil Daftar Reviewer
Ambil Jalur Proposal
Buka Research
Kirim Proposal kepada KK
Kirim Proposal kepada Dekan
Kirim Proposal kepada Ketua PP
Kirim Tawaran Review kepada Reviewer
Kirim Kesediaan Review ke Ketua PP
Kirim Hasil review kepada Ketua PP
Kirim Tawaran Dana kepada Peneliti
Kirim Tawaran Dana ke Ketua PP
Kirim Persetujuan ke Ketua PP
Upload File
Tabel IV-3 Keterhubungan SRS, Use Case, dan Service
SRS
Use Case
Service
SRS-F-01
UC-01
S-03
SRS-F-02
UC-07, UC-08
S-01,S-05
SRS-F-03
UC-10
S-01, S-02, S-05
SRS-F-04
UC-02
S-01, S-02, S-05
SRS-F-05
UC-05
S-01, S-02, S-05
SRS-F-06
UC-06
S-01, S-02, S-05
SRS-F-07
UC-03, UC-09
S-01, S-02, S-05
SRS-F-08
UC-04
S-04
4.4 Perancangan Service
Tahap berikutnya adalah perancangan service. Perancangan service merupakan dasar untuk
melakukan pembangunan seluruh service untuk sistem. Pada perancangan ini, terlebih dahulu
ditetapkan pemilihan teknologi yang digunakan untuk implementasi setiap service, lalu akan
dilakukan identifikasi lebih lanjut mengenai operasi service. Selanjutnya untuk setiap service
akan dilakukan identifikasi kelas perancangan, perancangan representasi persisten kelas entity
jika menggunakan basis data, perancangan proses bisnis, dan pembuatan deployment
diagram.
Proses perancangan service ini berlangsung secara iteratif bersamaan dengan perancangan
perangkat lunak client, yang umumnya terus menambahkan operasi pada service yang ada.
Namun pada uraian di bawah, hanya dijelaskan hasil akhir dari identifikasi operasi service.
IV-8
4.4.1 Pemilihan Teknologi pada Service
Secara lojik, keenam service yang telah diidentifikasi sebelumnya berada pada tiga lapisan.
Seluruh service tersebut mengimplementasikan model yang telah didefinisikan pada Bab 3,
yaitu model arsitektur yang memiliki lapisan orkestrasi, fungsi bisnis, dan aplikasi. Adapun
pemilihan teknologi untuk setiap lapisan tersebut dijelaskan sebagai berikut.
1. Service pada lapisan orkestrasi diimplementasikan dengan menggunakan teknologi
WS-BPEL. Service tersebut dideskripsikan dengan bahasa BPEL dan akan dijalankan
dengan komponen process execution pada BPMS.
2. Service pada lapisan fungsi bisnis akan diimplementasikan menjadi sebuah web
service dengan teknologi JAX-WS pada Java.
3. Service pada lapisan aplikasi, yakni File Management, akan diimplementasikan
menjadi web service, namun akan menggunakan pilihan teknologi yang berbeda,
yaitu PHP. Pemilihan ini didasarkan atas ketersediaan source code untuk menunjang
web service ini dan sebagai simulasi bahwa arsitektur ini mampu berjalan di atas
teknologi yang berbeda-beda.
Untuk pembangunan BPEL, akan digunakan kakas process designer dari Intalio, seperti hasil
analisis pada Bab 3. Untuk menggunakan kakas ini proses bisnis terlebih dahulu akan
didefinisikan dalam bentuk format Business Process Modeling Notation (BPMN), yang
selanjutnya akan membangkitkan. kode BPEL proses tersebut. Penjelasan lebih lanjut
mengenai pembuatan proses bisnis ini dapat dilihat pada Bab 4.4.2.
4.4.2 Perancangan Proses Bisnis
Seperti telah dijelaskan sebelumnya, proses bisnis akan didefinisikan dengan menggunakan
teknologi WS-BPEL. Kode BPEL ini akan dibangkitkan menggunakan kakas process
designer dari BPMS yang digunakan.
Proses bisnis satu-satunya dalam studi kasus ini, yakni proses bisnis pengajuan proposal,
melibatkan banyak pengguna. Proses tersebut hanya bisa terus berlangsung jika pengguna
yang bertanggung jawab meneruskannya. Misalnya, proposal tidak dapat diproses oleh Ketua
Pusat Penelitian jika belum disetujui Dekan dan alur proposal tersebut melalui dekan. Akan
tetapi kakas Intalio BPMS yang digunakan tidak mendukung proses seperti itu. Oleh karena
itu, proses bisnis pengajuan proposal tersebut harus dipecah menjadi sepuluh proses. Jumlah
proses tersebut diambil berdasarkan jumlah kemungkinan masukan oleh pengguna. Ada
sepuluh kemungkinan masukan dalam proses tersebut, sehingga dihasilkan sepuluh subproses.
Kesepuluh proses tersebut dapat dilihat pada tabel Tabel IV-4.
IV-9
Tabel IV-4 Daftar Proses untuk Pengajuan Proposal
No
Nama Proses
Deskripsi
1
SubmitProposal
Menangani pengiriman proposal dari peneliti ke Ketua PP, memilih
jalur sesuai dengan data RFP
2
DekanApproval
Menangani persetujuan dekan dan meneruskan proposal sesuai
jalurnya
3
KetuaKKApproval
Menangani persetujuan ketua KK dan meneruskan proposal sesuai
jalurnya
4
PPApproval
Menangani persetujuan Ketua PP untuk melanjutkan proposal ke
tahap selanjutnya
5
ChooseReviewer
Menangani pemilihan reviewer untuk proposal tertentu
6
ReviewerApproval
Menangani pilihan reviewer untuk memilih setuju mereview atau
tidak
7
SubmitReview
Menangani pengiriman review dari reviewer ke Ketua PP
8
PPOfferBudget
Menangani penawaran dana oleh Ketua PP ke peneliti untuk sebuah
penelitian yang telah disetujui
9
PenelitiApproval
Menangani pilihan peneliti untuk menyetujui, menolak atau
menawar tawaran dana
10
OpenResearch
Menangani pembukaan penelitian baru oleh Ketua PP, yang
menandakan penelitian dapat mulai berjalan.
Pada Gambar IV-4 diperlihatkan contoh pendefinisian proses SubmitProposal dalam BPMN.
Gambar IV-4 Proses SubmitProposal dalam BPMN
Proses ini jika dibangkitkan oleh process designer akan menghasilkan kode BPEL ada pada
Lampiran B. Pendefinisian proses lainnya dalam BPMN dapat dilihat pada Lampiran A
IV-10
4.4.3 Identifikasi Operasi Service
Berikut hasil identifikasi operasi service beserta padanannya dengan operasi yang didapatkan
dari hasil analisis. Seluruh operasi tersebut dapat dilihat pada Tabel IV-5.
Tabel IV-5 Daftar Identifikasi Operasi Service
No
Nama Service
1
2
3
4
5
6
7
8
9
10
11
SubmitProposal
DekanApproval
KetuaKKApproval
PPApproval
ChooseReviewer
ReviewerApproval
SubmitReview
PPOfferBudget
PenelitiApproval
OpenResearch
WSUser
12
WSRFP
13
WSResearch
14
WSProposal
Operasi
submitProposal
dekanApproval
ketuaKKApproval
ppApproval
chooseReviewer
reviewerApproval
submitReview
ppOfferBudget
penelitiApproval
openResearch
validateLogin
getUserData
getUserPosition
getUsernameinPosition
createRFP
editRFP
deleteRFP
getRFP*
getAllRFP
createResearch
getResearch
getResearchList
getAllResearchList
submitProposal
changeStatus**
getStatus
getProposal
getProposalList
addReviewer
changeReviewerStatus
addReview
addOffer
15
WSFileManagement
getOffer
getOfferList
setBudget
getReview
getReviewListUsername
getReviewListID
uploadFile
Operasi Analisis
Ajukan Proposal
Ajukan Proposal
Ajukan Proposal
Ajukan Proposal
Ajukan Proposal
Ajukan Proposal
Ajukan Proposal
Ajukan Proposal
Ajukan Proposal
Ajukan Proposal
Ambil Daftar Reviewer
Ambil Jalur Proposal
Buka Research
Kirim Proposal kepada KK
Kirim Proposal kepada Dekan
Kirim Proposal kepada PP
Kirim Proposal kepada KK
Kirim Proposal kepada Dekan
Kirim Proposal kepada PP
Kirim Persetujuan kepada PP
Kirim Tawaran Review kepada Reviewer
Kirim Kesediaan review kepada PP
Kirim Tawaran dana kepada Peneliti
Kirim Tawaran dana ke PP
Kirim Tawaran Review kepada Reviewer
Kirim Kesediaan review kepada PP
Kirim Hasil review kepada PP
Kirim Tawaran dana kepada Peneliti
Kirim Tawaran dana ke PP
Upload File
IV-11
Keterangan:
*Pengambilan jalur proposal akan diwakilkan dengan operasi pengambilan data RFP (getRFP).
**Pengiriman persetujuan dan penanganan alur proposal dijadikan berupa manajemen status
proposal. Jadi proposal tidak secara fisik dikirimkan ke setiap pengguna, namun akan diubah
statusnya saja. Proposal akan mencapai pengguna (Ketua KK, Dekan, dan PP) jika memiliki status
tertentu.
Pada tabel di atas terdapat sejumlah operasi yang tidak memiliki padanan dengan operasi
analisis. Operasi tersebut muncul disebabkan munculnya kebutuhan pada perancangan client
dan tidak muncul pada analisis proses bisnis dan kebutuhan yang muncul saat mendefinisikan
proses dalam BPEL.
4.4.4 Identifikasi Kelas Perancangan
Berdasarkan kebutuhan analisis service yang dan identifikasi operasi service yang telah
didefinisikan sebelumnya, dilakukan identifikasi kelas-kelas perancangan yang akan
merepresentasikan seluruh service yang akan dibangun.
Khusus service yang berada pada lapisan orkestrasi, tidak akan dilakukan pembangunan
kelas. Hal ini disebabkan seluruh service tersebut didefinisikan dalam BPEL dan telah
dijelaskan dalam 4.4.2.
Pembangunan kelas ini akan didasarkan dengan penggunaan framework JAX-WS untuk web
service yang dibangun pada Java (WSUser, WSRFP, WSProposal, dan WSResearch) dan
penggunaan
Library
nuSOAP
untuk
pembangunan
web
service
dalam
PHP
(WSFileManagement).
Untuk web service yang diimplementasi dalam Java, akan dibentuk tiga buah paket yaitu
database, entitybeans, dan webservices. Ketiga paket tersebut dapat dilihat pada Gambar
IV-5.
Gambar IV-5 Diagram Paket Perancangan Web Service dalam Java
Sementara
untuk
implementasi
web
service
dengan
menggunakan
PHP
pada
WSFileManagement tidak digunakan paket karena tidak ada dukungan untuk paket dalam
PHP.
Gambaran umum kelas perancangan yang dihasilkan dapat dilihat pada Tabel IV-6. Daftar
kelas ini dibagi menjadi dua, yakni kelas perancangan untuk Java dan PHP.
IV-12
Tabel IV-6 Daftar Kelas Perancangan untuk Web Service
No
Nama Paket
Nama Kelas
Keterangan
Kelas perancangan untuk implementasi web service dalam Java
1
database
DBConnector
Kelas untuk konektivitas ke basis data
2
entitybeans
Proposal
Kelas entitas untuk proposal
RFP
Kelas entitas untuk RFP
Research
Kelas entitas untuk Research
Review
Kelas entitas untuk Review
User
Kelas entitas untuk User
Negotiation
Kelas entitas untuk negosiasi dana
3
webservices
WSProposal
Kelas untuk web service WSProposal
WSRFP
Kelas untuk web service WSRFP
WSResearch
Kelas untuk web service WSResearch
WSUser
Kelas untuk web service WSUser
Kelas perancangan untuk implementasi web service dalam PHP
1
WSFileManagement
Kelas untuk web service WSFileManagement
2
File
Library untuk penanganan file
Diagram kelas untuk seluruh kelas perancangan yang menggambarkan keterhubungan antar
kelas dapat dilihat pada Gambar IV-6. Seperti digambarkan di sana, untuk pembangunan
sebuah web service dibutuhkan sebuah kelas untuk web service, beberapa buah kelas entitas
untuk mendefinisikan data, dan sebuah kelas yang menangani konektivitas ke basis data jika
dibutuhkan. Misalnya seperti terlihat pada kelas web service WSProposal. Web service
tersebut membutuhkan kelas WSProposal untuk mendefinisikan web service, kemudian kelas
Proposal dan Review untuk mendefinisikan entitas yang digunakan oleh web service tersebut,
dan setiap kelas entitas tersebut akan menggunakan kelas koneksi ke basis data jika
dibutuhkan.
Gambaran lebih detil mengenai seluruh kelas yang dirancang dapat dilihat pada Lampiran A
Bab 3.4.
Gambar IV-6 Diagram Kelas Perancangan
IV-13
4.4.5 Perancangan Representasi Persisten Kelas Entity
Dari daftar kelas perancangan yang dihasilkan pada Bab 4.4.4, dibutuhkan representasi
persisten untuk kelas yang terdapat pada paket entitybeans. Representasi persisten tersebut
diwujudkan dalam sekumpulan tabel pada basis data. Daftar tabel yang dirancang untuk
implementasi representasi data tersebut dapat dilihat pada Tabel IV-7.
Tabel IV-7 Representasi Persisten Kelas Entity
No.
1.
2.
Nama Tabel
posisi_user
proposal
Nama Kelas Entity
Proposal
3.
research
Research
4.
5.
review
rfp
Review
RFP
6.
user
User
7.
budgetnegotiation
Negotiation
Atribut
username, posisi
id, id_rfp, username,judul_proposal,
periode_start, periode_finish,
file_proposal, draft_budget, budget,
waktu_masuk, status, downloaded,
abstraksi, feedback
id_research, id_ppict, nama_research,
username_headproject, keterangan,
closed, jumlah_term
id, idprop, reviewer, status, review
id, judul, for_public, jadwal, sponsor,
total_dana, batas_biaya, pj,
info_kontak, deskripsi,
ketentuan_umum, syarat, deadline,
file_detil, bidang_keilmuan
username, password, fullname, gender,
alamat, no_telp, no_hp, email,
NIP_NIM, golongan, pangkat,
univ_instansi, fak_sek, kk, gambar.
negotiationid, proposalid, budget,type
Khusus untuk tabel posisi_user, tabel ini tidak merepresentasikan kelas entity, tapi dibutuhkan
karena setiap pengguna (user) dapat memiliki lebih dari satu peran (misal: peneliti dan ketua
KK). Sementara untuk kelas File tidak dilakukan penyimpanan ke basis data dikarenakan
fungsinya menyimpan file di tempat fisik. Alamat penyimpanan sendiri akan berada pada
entitas yang menggunakannya. Misalkan pada kasus ini, alamat file proposal akan disimpan
pada atribut file_proposal pada tabel proposal.
4.4.5.1
Deployment Diagram
Rencana implementasi service dari VRC digambarkan seperti Gambar IV-7. Service yang
diimplementasi dalam Java akan dijalankan oleh web server Sun Application Server dan web
service yang diimplementasi dalam PHP akan dijalankan oleh web server Apache. Seluruh
web service di Web server Sun Application Server akan menggunakan basis data MySQL
menggunakan JDBC.
IV-14
Gambar IV-7 Deployment Diagram untuk Service pada VRC
4.5 Perancangan Client
Pada bagian ini akan dilakukan perancangan perangkat lunak client dengan melihat pada
analisis kebutuhan dan perancangan service yang dilakukan sebelumnya. Pada bagian ini akan
dihasilkan identifikasi kelas perancangan dengan sebelumnya memodelkan sequence diagram
perancangan berdasarkan skenario use case yang ada pada kebutuhan perangkat lunak. Selain
itu, juga akan dibuat perancangan antarmuka dan deployment diagram.
Perancangan perangkat lunak client dibangun berdasarkan teknologi JSP dan Servlet.
Kombinasi kedua teknologi ini akan menghasilkan sebuah aplikasi web yang dinamis. Kelas
perancangan akan dibuat berdasarkan teknologi Servlet dan antarmuka akan diirancang
dengan JSP.
Selain itu, dalam implementasi nantinya, aplikasi ini akan ditunjang oleh framework JAX-WS
dari Java untuk pemanggilan web service yang digunakan. Framework ini akan menghasilkan
kelas-kelas yang akan digunakan jika ingin memanggil operasi web service. Namun detil dari
tiap kelas yang dihasilkan tidak akan dijelaskan pada bagian ini.
4.5.1 Pemodelan Aplikasi Client
Untuk mempermudah penjelasan dan perancangan tentang fungsi aplikasi client maka akan
diberikan pemodelan khusus aplikasi ini. Berikut pemodelan use case diagram untuk aplikasi
client.
IV-15
Gambar IV-8 Diagram use case untuk client
Dari diagram use case tersebut terlihat bahwa aplikasi client akan terhubung dengan VRC
Service, sebuah aktor yang melambangkan seluruh service yang telah dianalisis dan dirancang
sebelumnya.
4.5.2 Identifikasi Kelas Perancangan
Berdasarkan analisis kebutuhan yang dilakukan sebelumnya maka akan dirancang kelas-kelas
yang akan merepresentasikan perangkat lunak ini. Seperti telah dijelaskan sebelumnya, kelaskelas perancangan ini dihasilkan dari pemodelan interaksi elemen (sequence diagram) yang
mengacu pada skenario use case.
Hasil identifikasi kelas perancangan ini menghasilkan tiga paket utama, yaitu paket servlet,
refprocess, dan refservices. Setiap paket akan memiliki sejumlah paket lagi di dalamnya.
Adapun ilustrasi dari paket-paket tersebut dapat dilihat pada Gambar IV-9 Diagram Paket
untuk Client VRC
IV-16
Gambar IV-9 Diagram Paket untuk Client VRC
Paket servlets merupakan paket yang yang digunakan untuk membuat tampilan dan mengatur
interaksi dengan user. Kelas-kelas yang berada di dalam subpaket ini akan menggunakan
kelas-kelas yang terdapat dalam subpaket di dalam refprocess dan refservices. Kedua paket
ini dan setiap subpaket di dalamnya ini berisikan kelas-kelas yang dibangkitkan oleh
framework JAX-WS khusus untuk memanggil web service yang digunakan oleh aplikasi
client. Setiap paket kelas akan dibangkitkan untuk sebuah web service. Adapun daftar web
service yang digunakan dan paket yang dibangkitkan untuknya dapat dilihat pada lampiran A.
Kelas perancangan yang bukan merupakan hasil pembangkitan adalah paket servlet dan setiap
subpaket yang ada di dalamnya. Adapun daftar kelas perancangan tersebut beserta web
service yang digunakan dapat dilihat pada Tabel IV-8.
Tabel IV-8 Daftar Kelas Perancangan Client VRC dan Web Service yang Digunakan
No
1
Nama Paket
servlets
Nama Kelas
Authentication
Dashboard
Logout
Approval
Negotiation
Proposal
RFP
Research
Review
Web Service yang Digunakan
WSUser
WSUser
WSUser
WSProposal, WSRFP, KetuaKKApproval,
DekanApproval
WSProposal, PPOfferBudget,
PenelitiApproval
WSProposal, WSRFP, SubmitProposal,
WSRFP
WSProposal, WSResearch, OpenResearch
WSProposal,WSRFP, WSUser,
ChooseReviewer, ReviewerApproval,
SubmitReview, PPApproval
4.5.3 Perancangan Antarmuka
Secara umum antarmuka dari client VRC dapat dilihat pada Gambar IV-10. Halaman akan
terdiri atas tiga bagian yaitu banner, isi halaman, dan menu. Banner akan menampilkan judul
IV-17
dari perangkat lunak, dalam hal ini Virtual Research Center. Isi halaman berisi informasi atau
form yang sedang aktif. Menu berisikan. Menu berisikan link yang mengacu kepada fitur-fitur
perangkat lunak ini, termasuk untuk login dan logout. Bagian menu ini akan bersifat dinamik
dan menyesuaikan dengan hak yang dimiliki oleh setiap pengguna.
Gambar IV-10 Perancangan Antarmuka
4.5.4 Deployment Diagram
Rencana implementasi dari perangkat lunak client ini dapat dilihat pada Gambar IV-11.
Perangkat lunak akan berjalan di atas web server Sun Application Server. Pengguna akan
langsung mengakses aplikasi ini dari browser ke web server. Perangkat lunak client ini
nantinya akan terhubung dengan service. Penjelasan mengenai hal tersebut akan digambarkan
pada Bab 4.6.
Gambar IV-11 Deployment Diagram Client VRC
4.6 Deployment Diagram Keseluruhan
Pada bab-bab sebelumnya telah digambarkan bagaimana deployment diagram untuk client dan
service. Pada bagian ini, keseluruhan sistem dari VRC akan dapat dilihat pada deployment
diagram keseluruhan yang melibatkan perangkat lunak client, service, dan BPMS dapat
dilihat pada Gambar IV-12.
IV-18
Gambar IV-12 Deployment Diagram Keseluruhan
Dari gambar dapat dilihat bahwa pengguna mengakses sistem melalui browser. Akses
dilakukan ke client VRC. Client VRC lalu memanggil proses dari Intalio BPMS Server atau
langsung ke web service VRC. Proses yang dipanggil melalui Intalio BPMS Server akan
memanggil web service yang ada. Saat dibutuhkan Web service ini nantinya akan
menggunakan basis data dan web service yang dibangun dengan PHP (WSFileManagement)
untuk menjalankan fungsinya.
Download