Penerapan Service Oriented Architecture

advertisement
4
Tahap Pengujian
Pengujian
Hasil implementasi kemudian diuji dan
dievaluasi,
selanjutnya
pengujian
dibandingkan dengan hasil uji yang
diharapkan. Apabila tidak sesuai dengan
yang
diharapkan
akan
dilakukan
perbaikan kemudian diuji kembali,
sampai memenuhi hasil yang diharapkan.
Tahap ini dilakukan dengan memeriksa
apakah
semua service telah memenuhi
spesifikasi kebutuhan yang telah ditentukan
melalui antarmuka yang telah dibuat. Jika
sudah tidak ditemukan kesalahan pada seluruh
service, suatu perangkat lunak akan dibuat
untuk uji interoperability. Perangkat lunak ini
dibuat dengan lingkungan pengembangan
yang berbeda dan mampu mengonsumsi
service yang telah dibuat.
METODE PENELITIAN
Pengembangan
sistem
informasi
akademik akan menerapkan SOA dengan
metode pengembangan linear sequential
model.
Analisis Kebutuhan
Tahap
ini
dilakukan
untuk
mengidentifikasi kebutuhan sistem yang akan
dikembangkan dan tipe pengguna sistem.
Kebutuhan meliputi kebutuhan fungsional dan
kebutuhan non fungsional. Kebutuhan
fungsional dimodelkan dengan pembuatan
diagram use case dan instrumen lain untuk
memudahkan pemahaman dalam tahap
selanjutnya. Kebutuhan sistem dipengaruhi
oleh tipe pengguna sistem.
Perancangan
Aktivitas dalam tahap perancangan
meliputi perancangan basis data yang
diwujudkan dengan pembuatan Entity
Relationship Diagram (ERD). Pembuatan
diagram Unified Modelling Language (UML)
untuk pemodelan objek dalam sistem baik
objek yang berfungsi sebagai penyedia service
maupun eksekutor proses bisnis, serta
pemodelan arsitektur sistem.
Implementasi
Tahap ini dilakukan untuk menransformasi
model pada tahap perancangan menjadi kodekode yang bisa dieksekusi komputer untuk
setiap tier sistem. Untuk data provider, wujud
implementasinya adalah kueri berbasis
pemrograman yang dapat dieksekusi oleh
DBMS. Untuk Business service, wujud
implementasinya adalah kumpulan kelas yang
saling bekerjasama untuk mencapai tujuan
tertentu. Kumpulan kelas tersebut digunakan
untuk pembuatan service. Untuk user
interface wujud implementasinya adalah
antarmuka yang berinteraksi langsung dengan
pengguna serta meminta service. Berbagai
service yang dihasilkan dipublikasikan ke
server UDDI.
Lingkungan Implementasi
Lingkungan implementasi yang digunakan
adalah sebagai berikut:
Perangkat lunak: Microsoft Windows
Server 2003 SP 2, IIS Versi 6, Microsoft
SQL Server 2005, Microsoft Visual
Studio 2005, Microsoft Office Visio
2003, Crystal report 11, VMWare
Workstation 4.5.2, Microsoft Windows
XP SP2, WOS Portable 2 (PHP 5.1.6,
Apache 2, Mysql 5), Zend Studio 5,
Mozilla Firefox 2.
Perangkat keras: Prosesor Intel Pentium
IV 2.8 GHz, RAM 1430 MB, harddisk 80
GB, keyboard, mouse, dan monitor.
HASIL DAN PEMBAHASAN
Analisis kebutuhan
Tahap analisis kebutuhan meliputi
identifikasi pengguna, membuat daftar
kebutuhan fungsional serta pemodelannya,
dan
mengidentifikasi
kebutuhan
non
fungsional.
Identifikasi Pengguna Sistem
Pengguna sistem dikategorikan menjadi
tiga, yaitu mahasiswa, pegawai staf akademik
departemen, dan staf kantor Administrasi dan
Jaminan Mutu Pendidikan (AJMP). Setiap
kategori pengguna memiliki hak akses yang
berbeda terhadap fitur sistem. Setiap
pengguna sistem memiliki identitas pengenal
dan password yang unik dan disimpan dalam
basis data. Identitas pengenal dan password
digunakan tatkala akan memasuki sistem.
Kebutuhan Fungsional
Sistem yang dikembangkan harus mampu
melakukan operasi terhadap data dalam basis
data.
Operasi
meliputi
penambahan,
penghapusan, pengubahan dan pencarian yang
biasa disingkat CRUD (Create, Read, Update,
Delete). Data yang dikelola meliputi data
5
model kurikulum mayor-minor dan passing
out.
20
21
Untuk memudahkan proses administrasi,
sistem
harus mampu membangkitkan
dokumen yang siap dicetak. Dokumen
memiliki format tetap namun isinya berbeda
sesuai parameter masukan dalam operasi serta
data yang dilibatkan.
Pemodelan Kebutuhan Fungsional
Pemodelan dilakukan untuk memudahkan
pemahaman dan mengomunikasikan tujuan
suatu kebutuhan serta pihak-pihak yang
terlibat. Pemodelan dilakukan dengan
pembuatan diagram use case
yang
menggambarkan aktor beserta use case dalam
sistem. Aktor ialah segala sesuatu yang
berinteraksi secara langsung dengan sistem,
baik manusia maupun non manusia. Dalam
penelitian ini, aktor meliputi mahasiswa, staf
administrasi akademik departemen, staf kantor
AJMP, sistem pengelolaan pembayaran SPP
di bank, dan sistem pencatatan peminjaman
dan pengembalian buku di perpustakaan.
Aktor manusia digambarkan sebagai garisgaris dan lingkaran sedangkan aktor non
manusia digambarkan dengan kotak dengan
stereotype aktor.
Pemodelan sistem dibagi menjadi empat
subsistem berdasarkan data yang dikelola.
Keempat subsistem tersebut adalah subsistem
manajemen data akademik, subsistem
manajemen data mahasiswa, subsistem
manajemen data wisuda, dan subsistem
manajemen data SPP. Pembagian sistem ke
dalam empat
subsistem
juga dapat
mempermudah pembacaan diagram use case.
Diagram Use case disajikan pada Gambar 5
hingga Gambar 8.
Jika terdapat operasi yang menyebabkan
perubahan data dalam basis data, sistem harus
mencatat informasi yang bersangkutan dengan
operasi tersebut dalam sebuah log file.
Kebutuhan
fungsional
selengkapnya adalah:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Memeriksa validitas operator
Memeriksa validitas mahasiswa
sistem
Menyimpan data KRS
Mengubah data KRS
Mencari data KRS
Menyimpan data mata kuliah
Mengubah data mata kuliah
Menghapus data mata kuliah
Mencari data mata kuliah
Mengelola data tugas akhir
Mencetak transkrip
Mencetak daftar kuliah
Mencetak KRS
Menyimpan data mahasiswa
Mengubah data mahasiswa
Menghapus data mahasiswa
Mencari data mahasiswa
Memeriksa kelengkapan syarat wisuda
Mengelola data SPP
Membaca data pembayaran SPP
Mencatat history/log sistem
<<system>>
Sistem Informasi Kemahasiswaan
<<SubSystem>>
Manajemen Data
Mahasiswa
Operator pegawai AJMP
menyimpan data
<<
mahasiswa
in <<inc
cl u
lude>
>
de
>>
mengubah data
<<i
n cl
mahasiswa
u
Staff administrasi
akademik
departemen
clu
<<in
cl u
inc
<<
>>
memeriksa
validitas operator
de>
>
de
>>
menghapus data <<in
mahasiswa
<<In
e
lud
de>>
clud
de>>
<<inclu
e>>
mencatat
history/log sistem
mencari data
mahasiswa
Gambar 5 Diagram use case subsistem manajemen data mahasiswa.
6
<<system>>
Sistem Informasi Kemahasiswaan
<<SubSystem>>
Manajemen Data
Akademik
mencetak transkrip
nilai mahasiswa
mencetak daftar
kuliah
mencetak KRS
menyimpan data KRS
mencatat
history/log sistem
mengubah data KRS
Operator pegawai AJMP
mencari data KRS
menyimpan data
mata kuliah
Staff administrasi
akademik
departemen
memeriksa
validitas operator
mengubah data mata
kuliah
menghapus data
mata kuliah
mencari data mata
kuliah
mahasiswa
memeriksa
validitas mahasiswa
Mengelola data
tugas akhir
Gambar 6 Diagram use case subsistem manajemen data akademik.
<<system>>
Sistem Informasi Kemahasiswaan
<<SubSystem>>
Manajemen Data Wisuda
<<include>>
memeriksa
kelengkapan syarat wisuda
memeriksa
validitas operator
<<aktor>>
Sistem manajemen
Transaksi keuangan
bank
Operator pegawai AJMP
<<aktor>>
Sistem pencatatan
peminjaman/
pengembalian buku
perpustakaan
Gambar 7 Diagram use case subsistem manajemen data wisuda.
7
<<system>>
Sistem Informasi Kemahasiswaan
<<SubSystem>>
Pembayaran SPP
>
lude>
Mengelola data SPP <<<<inincc
lud
memeriksa
validitas operator
e>>
mencatat
history/log sistem
Operator pegawai AJMP
membaca data
pembayaran SPP
<<aktor>>
Sistem manajemen
Transaksi keuangan
bank
Gambar 8 Diagram use case subsistem pembayaran SPP.
Setiap Use case memiliki skenario utama
dan beberapa skenario alternatif. Diagram Use
case tidak mendeskripsikan secara jelas jalur
skenario, jadi diperlukan instrumen tersendiri
untuk
menjelaskannya.
Untuk
mendeskripsikan jalur skenario setiap Use
case digunakan table-oriented steps yang
terdapat pada Lampiran 1.
Kebutuhan Antarmuka dan Komunikasi
Sistem memerlukan antamuka berbasis
web yang bisa diakses melalui web browser
dan antarmuka operator client yang diakses
melalui komputer khususnya yang terhubung
dalam intranet. Sistem melibatkan lebih dari
satu komputer yang saling terhubung melalui
jaringan baik intranet maupun internet.
Komunikasi antarkomputer dilakukan dengan
protokol TCP/IP yang mampu melewatkan
data berbasis teks.
Perancangan
Penerapan
SOA
pada
sistem
memungkinkan sistem menyediakan fungsi
yang dapat dipakai oleh sistem lain. Fungsi
sistem harus mengakses basis data dan
mengakomodasi proses bisnis tertentu.
Dengan demikian sistem melibatkan banyak
pengguna dan melibatkan jaringan komputer.
Antarmuka sistem melibatkan antarmuka
berbasis web untuk diakses melalui internet
dan operator client untuk lingkungan intranet.
Arsitektur Model Aplikasi
Sistem dibagi menjadi tiga lapisan, yaitu
user interface, business service dan data
provider. Lapisan User interface berinteraksi
langsung dengan pengguna yaitu mahasiswa,
staf administrasi akademik departemen, dan
staf kantor AJMP. Pengguna memberikan
masukan,
menerima
data
dan
memodifikasinya melalui lapisan ini. Wujud
nyata lapisan user interface adalah halaman
web dan antarmuka operator client. Lapisan
business service menyediakan service bagi
lapisan user interface dan mengolah data yang
diambil dari lapisan data provider. Lapisan
business service terdiri atas kumpulan
komponen yang mengeksekusi fungsi tertentu
dan menghasilkan dokumen WSDL yang
mendeskripsikan service. Lapisan data
provider
melibatkan
DBMS
untuk
memanipulasi, menyimpan, dan menyediakan
data. Ketiga proses tersebut menggunakan
Stored procedure dan berbagai kelas.
Perancangan Basis Data
Entitas yang diperlukan adalah pengguna
sistem, pegawai, fakultas, departemen,
mahasiswa, mata kuliah, KRS, SPP, dosen,
tugas akhir. Entitas Mahasiswa memiliki
atribut agama dan jalur masuk yang nilainya
spesifik. Karena agama dan jalur masuk hanya
memiliki beberapa kemungkinan dan masingmasing kemungkinan dapat memiliki atribut
tambahan yang spesifik, maka agama dan
jalur masuk dijadikan entitas. Data mata
kuliah yang terlibat dalam sistem meliputi
mata kuliah mayor-minor dan passing out.
Mata kuliah mayor-minor memiliki atribut
yang berbeda dengan mata kuliah passing out,
sehingga muncul entitas mata kuliah mayorminor dan mata kuliah passing out. SPP yang
dikelola juga memilki tipe mayor-minor dan
passing out. Atribut SPP mayor-minor lebih
banyak daripada SPP passing out sehingga
muncul entitas SPP mayor-minor.
Seorang mahasiswa dapat mengambil
banyak mata kuliah dan satu mata kuliah
8
dapat diambil banyak mahasiswa, sehingga
keterhubungan “mengambil” antar mahasiswa
dan mata kuliah adalah N:N. Keterhubungan
antara mahasiswa dan mata kuliah merupakan
konsekuensi dari keterhubungan menentukan
antara mahasiswa dan KRS, sehingga
keterhubungan antara mahasiswa dan mata
kuliah merupakan realisasi penentuan KRS
dengan bentuk nyata adalah kuliah. Dengan
demikian keterhubungan antara mahasiswa
dan mata kuliah lebih tepat memiliki nama
“kuliah”. Entitas tugas akhir dan dosen juga
memiliki keterhubungan N:N. Seorang dosen
dapat membimbing banyak tugas akhir dan
satu tugas akhir dapat dibimbing oleh dua atau
lebih dosen. Nama keterhubungan adalah
“bimbingan tugas akhir”.
Mahasiswa dan pegawai bisa menjadi
pengguna sistem. Setiap mahasiswa dan
pegawai memiliki identitas yang unik
sehingga entitas mahasiswa dan pegawai
memiliki keterhubungan 1:1 dengan entitas
pengguna sistem dengan nama keterhubungan
“menjadi”. Mahasiswa memiliki 1 agama dan
diterima di universitas melalui satu jalur
penerimaan, sehingga entitas mahasiswa
memiliki keterhubungan 1:1 dengan entitas
agama
dengan
nama
keterhubungan
“menganut” dan memiliki keterhubungan 1:1
dengan entitas jalur masuk dengan nama
keterhubungan “melalui”. Satu mahasiswa
diwajibkan menyelesaikan satu tugas akhir,
sehingga
entitas mahasiswa
memiliki
keterhubungan 1:1 dengan entitas tugas akhir
dengan
nama
keterhubungan
“menyelesaikan”. Setiap KRS dapat disahkan
jika SPP telah dibayar, sehingga entitas KRS
memiliki keterhubungan 1:1 dengan entitas
SPP
dengan
nama
keterhubungan
“membiayai”.
Satu mata kuliah mata passing out bisa
menjadi syarat bagi mata kuliah passing out
lainnya, dengan demikian entitas mata kuliah
memiliki keterhubungan 1:N dengan dirinya
sendiri
dengn
nama
keterhubungan
“mensyaratkan”. Hal ini terjadi juga pada
entitas mata kuliah mayor minor. Satu fakultas
terdiri atas beberapa departemen dan satu
departemen hanya terdapat pada satu fakultas,
sehingga
entitas
fakultas
memiliki
keterhubungan 1:N dengan entitas departemen
dengan nama keterhubungan “membawahi”.
Seorang mahasiswa hanya dapat memilih satu
departemen dan satu departemen memiliki
banyak
mahasiswa,
sehingga
entitas
mahasiswa memiliki keterhubungan
1:N
dengan entitas departemen dengan nama
keterhubungan
“memilih”.
Seorang
mahasiswa wajib membayar SPP setiap
semester dan satu SPP dibayar atas nama
hanya satu mahasiswa, dengan demikian
entitas mahasiswa memiliki keterhubungan
1:N dengan entitas SPP dengan nama
keterhubungan
“membayar”. Seorang
mahasiswa wajib menentukan KRS pada
setiap semester dan satu KRS hanya berlaku
untuk satu mahasiswa, sehingga entitas
mahasiswa memiliki keterhubungan
1:N
dengan KRS dengan nama keterhubungan
“menentukan”.
Seorang
dosen
dapat
mengesahkan banyak KRS pada setiap
semester dan satu KRS hanya dapat disahkan
oleh satu dosen, sehingga entitas dosen
memiliki keterhubungan 1:N dengan KRS
dengan
nama
keterhubungan
“menandatangani”.
Entitas memiliki lebih dari satu atribut.
Satu atau lebih atribut pada setiap entitas
menjadi primary key. Entitas dan primaty key
dimodelkan dengan ERD pada Gambar 9
sedangkan atribut entitas secara lengkap
terdapat Lampiran 2.
9
Departemen
KodePeg
PenggunaSistem
Pegawai
1
1
N
KodeMK
JalurMasukIPB
MataKuliahMami
1
Menjadi
1
1
Membawahi
KodeJalurMasuk
N
Fakultas
ID
1
KodeDept
1
KodeFak
Mensyaratkan
1
Menjadi
Melalui
Memilih
KodeMK
Bertipe
N
1
Nim
KodeMK
N
KodeKRS
Nim
Mahasiswa
N
1
MataKuliah
N
Mengikuti
1
1
1
MataKuliahPO
1
Bertipe
Mengikuti
1
N
1
N
1
KodeSKL
Membayar
Mensyaratkan
N
1
Wisuda
Nim
N
Nim
KodeKRS
Menentukan
KodeAgama
Menganut
Membiayai
1
SPP
1
1
Agama
Bertipe
Merealisasikan
1
1
KodeTA
N
Menyelesaikan
SPPMayorMinor
1
N
TugasAkhir
KodeTA
Membimbing
KRS
Nip
N
Nip
Nim
KodeKRS
N
Dosen
1
1
Menandatangani
NamaDosen
KodeKRS
Gambar 9 Entity relationship diagram.
Identifikasi Kelas Domain
Kelas domain merupakan kelas stabil yang
dapat digunakan kembali berdasarkan dunia
nyata dan merepresentasikan domain bisnis
tertentu. Kelas domain pada sistem informasi
akademik yaitu mata kuliah, SPP, mahasiswa,
dokumen cetak, tugas akhir, KRS, dan syarat
wisuda. Kelas domain digunakan pada lapisan
business service untuk melakukan fungsi
tertentu.
Selain kelas domain tersebut, diperlukan
kelas
pendukung yang mendukung
terpenuhinya kebutuhan fungsional. Adanya
kebutuhan fungsional mencatat log operasi
yang mengubah data menyebabkan perlunya
kelas pengguna, log dan penulis log. Sistem
harus mampu melakukan operasi pencarian
data yang setiap hasil yang ditemukan
diwujudkan dalam kelas domain. Operasi
tersebut dilakukan oleh kelas pencari. Setiap
kelas domain hasil pencarian dikumpulkan
pada suatu kelas tertentu. Kelas yang
menampung kelas domain ialah kelas daftar
yang merupakan kelas abstrak turunan kelas
CollectionBase dalam .Net Framework.
Seluruh kelas domain dimodelkan dalam
kelas diagram pada Gambar 10.
10
Pencari
Daftar
+ParameterPencarian[1] : String
+KriteriaPencarian[1] : String
+New()
+CariBerdasarkan(in KriteriaPencarian : String, in YangDicari : String) : DaftarHasilPencarian
memeriksa
1
1
memakai
1
memohon4
1
melunasi
1
DokCetak
1
1
1
1
mengelola
mengambil
1
mengelola
1
mengelola
1
1
1
Pengguna
-Username[1] : String
-Level[1] : LevelPengguna
-Bagian[1] : String
-AlamatIP[1] : String
-Antarmuka[1] : JenisAntarmuka
-WaktuLogin[1] : Date
+New()
1
1
+Pemohon[1] : Mahasiswa
+Pencetak[1] : Pengguna
+TanggalCetak[1] : Date
+WaktuCetak[1] : Date
+TahunAkademik[1] : String = 1000/1001
+Semester[1] : JenisSemester = ganjil
+TingkatStudi[1] : JenisTingkatStudi = TPB
+KodeTempatStudi[1] : String
+SudahTercetak[1] : Boolean
+New()
+Mencetak()
1
1
SPP
memeriksa
1
1
+Pembayar[1] : Mahasiswa
+UntukPembayaran[1] : KRS
+BatasWaktuPembayaran[1] : Date
+TanggalPembayaran[1] : Date
+NilaiPembayaran[1] : Integer
+SudahLunas[1] : Boolean
+TotalBiayaSPP[1] : Integer
+Keterangan[1] : String
+BPMK[1] : Integer
+BPMP[1] : Integer
+BPIF[1] : Integer
+Status[1] : StatusSPP
+New()
+HitungTotalBiayaSPP() : Integer
+UbahDataSPP()
+SimpanDataSPP()
+HapusDataSPP()
TugasAkhir
+Kode[1] : String
+Judul[1] : String
+Peneliti[1] : Mahasiswa
+NamaPembimbing[1..*] : String
+NrpPembimbing[1..*] : String
+New()
+SimpanTugasAkhir()
+UbahTugasAkhir()
+HapusTugasAkhir()
KRS
+KodeKRS[1] : String
+TahunAkademik[1] : String = 1000/1001
-SemesterKe[1] : JenisSemester
+JumlahSKS[1] : Byte
+JumlahSKSKumulatif[1] : Byte
+NIPDosen[1] : String
+NamaDosen[1] : String
+Pengambil[1] : Mahasiswa
+MataKuliahYangDiambil[1] : DaftarPilihanMataKuliah
+New()
+DapatkanDaftarPilihanMataKuliah(in KodeKRS : String) : DaftarPilihanMataKuliah
+HitungJumlahSKS(in MataKuliahYangDiambil : DaftarPilihanMataKuliah) : Byte
+SimpanKRS()
+UbahKRS()
+HapusKRS()
1
1 mencari info
mencatat
1
memenuhi
mengelola
1
mencatat
MataKuliah
+Kode[1] : String
+Nama[1] : String
+JumlahSKS[1] : Byte
+SKSKuliah[1] : Byte
+SKSPraktikum[1] : Byte
+KodeMataKuliahSyarat[1] : String
+Deskripsi[1] : String
+New()
+KapanDiselenggarakan() : String
+IdentifikasiDepartemen() : String
+SimpanMataKuliah()
+UbahMataKuliah()
+HapusMataKuliah()
+New()
+TambahItem()
+ItemSelanjutnya()
+ItemSebelumnya()
+HapusItem()
+HitungJumlahItem() : Integer
1
menyelesaikan
1
+Nim[1] : String
+Nama[1] : String
+TanggalLahir[1] : Date
+AsalSMU[1] : String
+Kelamin[1] : JenisKelamin
+Agama[1] : Agama
+AlamatAsal[1] : String
+AlamatLokal[1] : String
+TahunMasuk[1] : Integer
+StatusStudi[1] : StatusStudi
+StatusPernikahan[1] : StatusPernikahan
+JalurMasukIPB[1] : JalusMasukIPB
+KotaAsal[1] : String
+KodeDepartemen[1] : String
+New()
+SimpanMahasiswa()
+UbahMahasiswa()
+HapusMahasiswa()
+DapatkanNamaDepartemen() : String
+DapatkanKodeFakultas() : String
+DapatkanNamaFakultas() : String
1
1
1
Mahasiswa
1
+Item[1] : String
1
SyaratWisuda
1
+YangHarusMemenuhi[1] : Mahasiswa
+SyaratBebanStudiTerpenuhi[1] : Boolean
+SyaratSemuaSudahLunas[1] : Boolean
+SyaratSudahBebasPustaka[1] : Boolean
+New()
+MemeriksaSyaratBebabStudiTerpenuhi(in CalonWisudawan : Mahasiswa) : Boolean
1
1
1
menulis
1
Log
-Operasi[1] : JenisOperasi
-TargetOperasi[1] : String
-WaktuOperasi[1] : Date
-PemakaiSistem[1] : Pengguna
+New()
PenulisLog
+Posisi[1] : String
+Tulis(in Log : Log)
+TentukanPosisiFile(in Posisi : String)
Gambar 10 Diagram kelas domain.
Kelas domain mata kuliah memiliki dua
turun yaitu kelas mata kuliah passing out dan
mata kuliah mayor-minor. Hal ini karena
sistem melibatkan data mata kuliah passing
out dan mata kuliah mayor minor yang
memiliki atribut dan fungsi yang berbeda.
Dengan alasan yang sama, kelas domain SPP
juga memiliki dua turunan yaitu kelas SPP
passing out dan kelas SPP mayor minor.
Pemodelan kelas domain mata kuliah pada
Lampiran 3 sedangkan kelas domain SPP
pada Lampiran 4.
Kelas domain dokumen cetak merupakan
kelas abstrak. Kelas ini memiliki turunan yang
menyediakan informasi yang akan dicetak.
Kebutuhan fungsional sistem di antaranya
ialah mencetak KRS, daftar kuliah, dan
transkrip nilai. Berbagai kelas yang digunakan
untuk memenuhi kebutuhan fungsional
tersebut adalah kelas turunan kelas domain
dokumen cetak yang dimodelkan dengan
diagram pada Lampiran 5.
Kelas daftar
memiliki dua turunan.
Pertama ialah kelas daftar domain yang
11
berfungsi untuk mengumpulkan kelas domain
dan kedua ialah kelas daftar hasil pencarian
yang berfungsi mengumpulkan berbagai kelas
yang terbentuk dari hasil pencarian. Kelas
daftar beserta kedua turunannya dimodelkan
pada Lampiran 6.
Kelas daftar domain dan kelas daftar hasil
pencarian diturunkan lagi sesuai untuk
memenuhi kebutuhan fungsional. Sebagai
contoh,
kebutuhan fungsional mencetak
transkrip nilai memerlukan kelas yang
memiliki properti yang bertipe nilai
mahasiswa. Kelas ini adalah kelas daftar nilai
yang merupakan turunan dari kelas daftar
domain. Kelas daftar domain beserta
turunannya dimodelkan dalam Lampiran 7.
Contoh lainnya, kebutuhan fungsional
mencari data mahasiswa memerlukan kelas
yang menampung kelas mahasiswa yang
terbentuk dari hasil pencarian data, kelas ini
adalah kelas daftar hasil pencarian mahasiswa
dan merupakan turunan kelas daftar hasil
pencarian. Kelas daftar hasil pencarian beserta
turunannya domodelkan pada Lampiran 8.
Kelas pencari berfungsi memenuhi
kebutuhan
fungsional
pencarian
data,
sehingga kelas pencari diturunkan sesuai
dengan data yang dicari. Sebagai contoh,
kebutuhan fungsional mencari mata kuliah
melibatkan kelas pencari mata kuliah yang
merupakan turunan kelas pencari. Kelas
pencari beserta turunannya dimodelkan pada
Lampiran 9.
Identifikasi
Interaksinya
Kelas
Aplikasi
dan
Kelas aplikasi merupakan semua kelas
terdapat pada sistem baik pada lapisan user
interface, business service, maupun data
provider. Kelas aplikasi dari ketiga lapiasan
saling berinteraksi untuk menyelesaikan satu
use case tertentu. Sebagai contoh pada use
case mencari data mahasiswa. Kelas aplikasi
pada lapisan data provider berfungsi
memanggil stored procedure dan menampung
hasil eksekusinya. Kelas aplikasi ini kemudian
memberikan datanya kepada kelas aplikasi
pada lapisan business service untuk
menginisiasi kelas domain yang sesuai. Ketika
pemrosesan data telah terpenuhi pada lapisan
business service, langkah selanjutnya adalah
menampilkan hasil melalui kelas pada lapisan
user interface.
Kelas aplikasi dibagi menjadi tiga
golongan, yaitu kelas controller, kelas view,
dan kelas boundary. Kelas controller adalah
kelas yang mengelola interaksi antara
pengguna dan kelas domain dalam aplikasi
atau sistem. Controller mengetahui kapan
meminta domain kelas menjalankan aplikasi.
Controller kelas biasanya ditambahkan untuk
setiap use case. Fungsi utama controller
adalah meyakinkan pengguna berinteraksi
dengan sistem sesuai definisi pada use case.
Kelas view memiliki fungsi utama mengelola
antamuka
pengguna
yang
membatasi
pengguna dengan sistem. Setiap kelas view
mengetahui bagaimana menampilkan kelas
domain dengan tampilan yang spesifik. Kelas
boundary berinteraksi dengan sistem lain,
basis data, dan piranti eksternal dengan sistem
yang dibuat, sebagai contoh, sebuah kelas
boundary digunakan untuk memisahkan
sistem yang dibuat dari basis data. Jika objek
apapun dalam aplikasi memerlukan data dari
basis data, objek ini meminta kelas boundary
untuk mengambil data dari basis data. Dengan
demikian jika basis data berubah, hanya kerja
internal dalam kelas boundary yang harus
disesuaikan.
Ketiga golongan kelas aplikasi memiliki
ciri khusus pada namanya. Kelas controller
memiliki nama dengan akhiran manager,
sebagai
contoh
KRSManager
dan
MahasiswaManager. Kelas view memiliki
nama dengan awalan UI, sebagai contoh
UISPPPO dan UIMahasiswa. Kelas boundary
yang memiliki nama dengan awalan
DBAccessor,
sebagai
contoh
DBAccessorUntukMataKuliah.
Interaksi kelas aplikasi pada untuk use
case melibatkan kelas service yang
merupakan turunan dari kelas dalam .Net
framework yaitu kelas WebService dalam
namespace
System.Web.Services.
Kelas
service mampu menggunakan secara langsung
objek-objek dalam .Net Framework untuk
mengekspos XML Web Service. Interaksi
kelas aplikasi dimodelkan dengan sequence
diagram pada Lampiran 10.
Perancangan Arsitektur Fisik
Antarmuka sistem meliputi antamuka
berbasis web dan operator client. Antarmuka
berbasis web diperuntukkan bagi pengguna
mahasiswa sedangkan operator client
diperuntukkan bagi pengguna staf administrasi
departemen dan staf kantor AJMP. Halaman
web sistem dapat diakses melalui komputer
yang terhubung dengan internet, sedangkan
antarmuka operator client hanya dapat
berfungsi pada komputer dalam intranet.
12
mengeksekusi
proses
bisnis
dan
mempublikasikan service terdapat dalam
application server.
Dengan demikian
application server merupakan target operasi
publish, find dan bind terhadap service.
Application server dapat mengambil data pada
database server. Tempat penyimpanan semua
data adalah database server. Pemisahan server
menjadi tiga agar beban sistem tidak tertumpu
pada satu sumber daya dan memudahkan
pemeliharaan seperti pada Gambar 11.
Terdapat tiga server yang digunakan dalam
sistem ,yaitu web server, application server,
dan database server. Web server berfungsi
menyediakan layanan antarmuka kepada
pengguna yang mengakses melalui internet.
Halaman-halaman web yang merupakan
lapisan user interface disimpan pada directory
dalam web server. Applicaton server berfungsi
menyediakan service yang dapat dikonsumsi
oleh halaman web pada web server maupun
antarmuka operator client. Komponen yang
Web Server
Windows Server 2003 SP2
Web Client
<<internet>>
Browser support javascript
Web Server IIS 6
*
1
.Net Framework 2.0
<<File>>
Simak Web Site (ekstensi .aspx)
<<Lan>>
1
1
Application Server
Windows Server 2003 SP2
Operator Client
Sistem Operasi Windows XP SP2
.Net Framework 2.0
.Net Framework 2.0
<<Lan>>
*
UDDI Server
1
Web Server IIS 6
<<File>>
Simak Web Service (ekstensi .asmx)
<<Executable>>
SimakOptUI.exe
<<Lan>>
1
1
Database Server
Windows Server 2003 SP2
SQL Server 2005
.Net Framework 2.0
<<File>>
Penyedia data web service (ekstensi .asmx)
Gambar 11 Deployment diagram.
Perancangan Antarmuka
Antarmuka operator client merupakan
aplikasi multiple document interface (MDI).
Aplikasi memiliki jendela utama yang dapat
menampung banyak jendela anak. Jendela
utama memiliki tombol navigasi untuk
menampilkan maupun menutup jendela anak.
Satu jendela anak menampilkan domain data
tertentu beserta data domain lain sebagai
pelengkap. Sebagai contoh jendela anak
untuk data mahasiswa, SPP, KRS. Setiap
jendela anak memiliki tombol untuk
melakukan operasi terhadap data, seperti
pencarian, penghapusan, penambahan, dan
pengubahan data. Antarmuka sistem dalam
bentuk halaman web mengandung header,
menu, dan bagian untuk menampilkan data
secara tabular.
Menu operasi
antara
antarmuka operator client dan antarmuka web
berbeda karena disesuaikan dengan use case
bagi setiap pengguna. Sebelum pengguna
memasuki
jendela atau halaman utama,
pengguna harus memberikan identitas dan
password pengguna. Antarmuka operator
client digambarkan pada Gambar 12
sedangkan halaman web digambarkan pada
Gambar 13.
13
Menu Utama
Menu pada jendela anak
Menu pada jendela anak
Jendela anak
Jendela anak
Gambar 12 Perancangan antarmuka operator
client .
Header
Menu operasi
Tempat menampilkan hasil
operasi
Gambar 13 Perancangan halaman web.
Penanganan Kesalahan
Kesalahan atau error dapat terjadi pada
lapisan data provider, business service,
maupun user interface. Kesalahan yang
muncul pada lapisan data provider seringkali
disebabkan oleh interaksi yang tidak tepat
antara aplikasi dengan basis data, sebagai
contoh aplikasi mengakses database server
yang tidak sedang berjalan. Kesalahan pada
lapisan user interface sering muncul saat kelas
pada lapisan user interface melakukan proses
binding terhadap service. Kelas pada lapisan
data provider harus memiliki mekanisme
penanganan error tatkala berinteraksi dengan
basis data dan kelas pada lapisan user
interface
harus
memiliki
mekanisme
penanganan error saat binding service.
Implementasi
Pada tahap implentasi, hasil yang didapat
pada tahap perancangan diwujudkan melalui
pembuatan kelas dengan barisan kode yang
dapat dieksekusi oleh .Net Framework. Kelas
pada lapisan data provider, business service,
dan user interface dibuat melalui project yang
berbeda dalam Visual Studio.Net namun
dalam satu solution. Pemisahan project
berdasarkan perbedaan lapisan memberi
kemudahan dalam perawatan sistem, seperti
upaya update fitur maupun pengubahan layout
antarmuka.
Typed Dataset
Dataset berisi tabel-tabel data yang
menyimpan data yang digunakan dalam
aplikasi secara sementara. Data dalam basis
data dapat dimuat dalam dataset sehingga data
tersedia bagi aplikasi dalam memori lokal.
Aplikasi dapat bekerja dengan data dalam
dataset sekalipun koneksi dengan basis data
terputus. Pembuatan typed dataset dapat
menyimpan informasi basis data yang
digunakan, seperti tabel, kolom, relasi,dan
stored procedure. Dataset termasuk lapisan
data provider dan berbagai kelas dalam
lapisan tersebut yang menggunakannya secara
langsung.
Pembuatan Pustaka Kelas
Pembuatan
pustaka
kelas
dapat
meningkatkan cohesion dalam aplikasi. Kelas
pada lapisan data provider dan business
service serta tipe data enumeration dibuat
dalam satu project dan dikompilasi bersama
menjadi sebuah file pustaka kelas. Pustaka
kelas ini digunakan untuk mengeksekusi
proses bisnis yang diinginkan, seperti
mengubah data mahasiswa dan mencetak
transkrip nilai.
Pembuatan Komponen Service
Komponen
service
berfungsi
menghasilkan
web
service
sehingga
fungsionalitas pada sistem dapat diakses oleh
lapisan user interface sistem maupun lain.
Pembuatan komponen service dilakukan
dalam project tersendiri dan memiliki
referensi pada pustaka kelas sebab pustaka
kelas
merupakan
komponen
yang
mengeksekusi proses bisnis. Seluruh web
service dibuat dalam satu komponen service
untuk
meminimalkan
ketergantungan
antarkomponen dalam aplikasi. Setiap
pembuatan web service dalam komponen
service dilakukan dengan pembuatan web
method.
Penanganan Kegagalan SOAP Serialization
oleh Interface ICollection
Setiap data hasil eksekusi suatu proses
bisnis akan dikonversi oleh komponen service
menjadi dokumen SOAP yang dapat
dieksekusi oleh sistem atau mesin lain. Data
hasil eksekusi dapat diberikan kepada web
service client dengan melewatkan suatu objek
dalam web method. Web service dapat
menghasilkan data tunggal maupun tidak,
namun permasalahan muncul tatkala web
method harus melewatkan objek yang
merupakan turunan kelas CollectionBase yang
menggunakan
interface
ICollection.
Komponen service dalam .Net Framework
hanya dapat menghasilkan SOAP dari objek
14
yang
tidak
menjadi
CollectionBase.
turunan
kelas
Untuk memecahkan masalah tersebut, web
method yang mengembalikan banyak data
tidak melewatkan objek turunan kelas
CollectionBase namun array yang berisi tipe
data struktur. Struktur didefinisikan menurut
data yang dieksekusi dan diinisialisasi dalam
controller kelas. Sebagai contoh, jika web
service harus mengembalikan banyak data
mahasiswa, maka web method akan
mengembalikan array StrukMahasiswa yang
diinisialisasi oleh kelas MahasiswaManager.
Publikasi Web Service
Web service harus dipublikasikan sehingga
dapat ditemukembalikan oleh subsistem atau
entitas di luar sistem. Temukembali web
service merupakan langkah awal untuk proses
binding. Publikasi web service dilakukan
melalui UDDI Server. Informasi yang harus
diberikan sebagai masukan UDDI server
meliputi
service
provider,
contact
information, dan access point yang merupakan
alamat URL tempat web service berada.
Bagian service provider berisi informasi
yang terkait organisasi atau lembaga yang
mempublikasikan service,
misal nama
organisasi dan kategori bidang usaha. Bagian
contact information berisi informasi bagi web
service client untuk menghubungi pihak yang
mempublikasikan web service, misal alamat
dan nomor telepon. Alamat URL pada bagian
Access point menunjuk pada direktori dimana
dokumen WSDL disimpan. Alamat URL
memungkinkan
WSDL
dapat dilihat
langsung web service client melalui web
browser.
Pembuatan Lapisan User Interface
Pembuatan antarmuka pengguna meliputi
project untuk antarmuka operator client dan
web site. Kedua project memiliki referensi
kepada web service sesuai access point yang
ditunjukkan UDDI server. Pembuatan
antarmuka operator client dilakukan dengan
membuat
beberapa kelas turunan
System.Windows.Forms.Form dalam .Net
Framework. Satu kelas ditentukan sebagai
parent window yang dapat menampung kelas
lain
sebagai child window. Pembuatan
antarmuka berbasis web dilakukan dengan
membuat
beberapa
kelas
turunan
System.Web.UI.Page dalam .Net Framework.
Kelas yang dibuat dalam kedua project
menginisialisasi komponen-komponen visual
yang telah ada dalam .Net Framework sesuai
perancangan antarmuka.
Penanganan Kesalahan
Dalam
.Net
Framework
terdapat
pernyataan digunakan untuk menangkap
berbagai kelas berfungsi menunjukkan
eksepsi.
Pernyataan
tersebut
adalah
Try…Catch…Finally. Pernyataan ini dipakai
untuk menangkap eksepsi saat berbagai kelas
dalam lapisan data provider berusaha bekerja
dengan basis data dan berbagai kelas dalam
lapisan
user
interface
berusaha
menginisialiasasi web service. Gambar 14
adalah contoh potongan kode yang
menunjukkan
penggunaan
pernyataan
Try…Catch…Finally
dalam suatu kelas
untuk menangkap eksepsi yang muncul pada
service binding.
Dim SimakServ As SimakIpbService.Service = New SimakIpbService.Service
Try
If SimakServ.PeriksaKelengkapanSyaratWisuda(Me.TextBox1.Text) = True Then
Me.lblStatus.Text = "Status : Syarat Wisuda telah Terpernuhi"
Else
Me.lblStatus.Text = "..." + ControlChars.NewLine + "..."
End If
Catch ex As Exception
MsgBox("Server mati", MsgBoxStyle.Information, "Peringatan")
End Try
Gambar 14 Contoh penggunaan try…catch…finally.
Keunggulan Sistem
Sistem menyediakan fungsionalitasnya
dalam bentuk service yang dapat digunakan
sistem lain. Sistem juga dapat menggunakan
service yang telah disediakan oleh sistem
lain. Hal ini menunjukkan sistem memiliki
kemampuan interoperability sekaligus dapat
diintegrasikan dengan sistem lain. Contoh
15
pemakaian service sistem informasi akademik
adalah ketika diperlukan pemeriksaan seorang
mahasiswa apakah telah memenuhi syarat
wisuda. Sistem di perpustakaan dapat
mengonsumsi service yang memberikan data
mahasiswa untuk pemeriksaan syarat bebas
pustaka. Jika mahasiswa dinyatakan bebas
pustaka, bukti elektronik dapat diberikan
kepada sistem informasi akademik dalam
bentuk service. Hal ini lebih handal dan cepat
daripada pemrosesan secara manual.
Pengujian
Pengujian sistem dibagi menjadi dua, yaitu
pengujian fungsionalitas web service dan
pengujian
interoperability.
Pengujian
fungsionalitas web service dilakukan dengan
metode black box melalui antarmuka operator
client
dan
web
site.
Pengujian
interoperability dilakukan dengan pembuatan
web service lain dengan lingkungan
pengembangan yang berbeda, yaitu PHP dan
web server Apache untuk dikonsumsi oleh
web service sistem informasi akademik seperti
pada Gambar 15.
Sistem Untuk Uji Introperability
Windows XP SP2
Apache 2
MySql 5
Simak Server
service
Windows Server 2003
SQL Server 2005
penelitian selanjutnya integrasi sistem
informasi akademik dengan sistem lain dalam
satu lingkungan universitas dapat dilakukan
untuk meningkatkan efisiensi dan integritas
data dan untuk mewujudkan proses bisnis
yang lebih komprehensif.
Penerapan protokol keamanan web service
pada sistem informasi akademik dapat
menjadi
topik
penelitian
dengan
memanfaatkan hasil penelitian ini. Salah satu
penelitian yang dapat dilakukan
adalah
penerapan Security Assertion Markup
Language (SAML) pada sistem informasi
akademik dengan memperhatikan kebutuhan
service berbagai unit/entitas dalam institusi
pendidikan.
DAFTAR PUSTAKA
Hadiwinata, Mario. 2003. XML Web Service
dengan Visual Basic.Net. Jakarta: Elex
Media Komputindo.
Koolwaij, et al. 2002. The Promise of Web
Service
an
Analysis.
https://doc.telin.nl/dscgi/ds.py/Get/File27842 [7 November 2006]
Manes, A.T. 2003. Web Services A Manager’s
Guide. USA: Addison-Wesley.
IIS 6
PHP 5
Gambar 15 Pengujian interoperability.
KESIMPULAN DAN SARAN
Kesimpulan
SOA dapat diterapkan dalam sistem
informasi akademik. Fungsionalitas sistem
disajikan dalam bentuk service yang dapat
dikonsumsi sistem lain. Web service sistem
juga dapat mengonsumsi web service dari
sistem lain. Hal ini mengindikasikan
interoperability telah tercapai.
Strategi tertentu perlu digunakan untuk
mengembalikan data dalam
web service
tergantung pada data yang dikembalikan.
Tidak semua objek yang dihasilkan dari
lingkungan pengembangan dapat dikonversi
menjadi SOAP yang merupakan protokol
standar pertukaran data. Salah satu strategi
yang bisa ditempuh adalah mengembalikan
array dari struktur yang berisi data objek yang
tidak dapat dikonversi.
Saran
Sistem yang telah dikembangkan telah
memenuhi kemampuan interoperability yang
menjadi dasar upaya integrasi sistem. Pada
Menasce DA, Almeida VAF. 2002. Capacity
Planning for Web Service Metrics,
Models, and Methods. Upper Saddle
River New Jersey: Prentice Hall PTR.
Pressman, R.S. 2001. Software Engineering:
A Practitioner’s Approach. Fifth
Edition. New York,USA: McGraw Hill.
Sprott D, Wilkes L. 2004. Understanding
Service Oriented Architecture. 10:17.
[Microsoft
Architect
Journals].
http://www.architecturejournal.net/200
4/issue1/pdf/journal1_english.pdf
[7 November 2006]
Turban, et al. 2005. Introduction to
Information Technology. USA: John
Wiley & Sons, Inc.
[W3C] World Wide Web Consortium. 2004.
Web
Service
Architecture
http://www.w3.org/TR/ws-arch/
[15 Juli 2006]
Download