GHOFFAR SETIAWAN
G64103058
DEPARTEMEN ILMU KOMPUTER
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
INSTITUT PERTANIAN BOGOR
Skripsi
Sebagai salah satu syarat untuk memperoleh gelar Sarjana Komputer
pada Fakultas Matematika dan Ilmu Pengetahuan Alam
Institut Pertanian Bogor
Oleh:
GHOFFAR SETIAWAN
G64103058
DEPARTEMEN ILMU KOMPUTER
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
INSTITUT PERTANIAN BOGOR
Web service merupakan salah satu bentuk implementasi Service Oriented Architecture yang dapat memberikan banyak keuntungan bagi sebuah organisasi. Sebuah aplikasi berbasis teknologi
Web service dapat menyediakan data maupun fungsi tertentu bagi aplikasi lain meskipun berbeda sistem operasi, perangkat keras, maupun bahasa pemrograman yang digunakan untuk
membangunnya. Keunggulan web service ini dapat dimanfaatkan untuk memecahkan
permasalahan integrasi sistem informasi dalam suatu organisasi. Institusi pendidikan merupakan sebuah organisasi yang di dalamnya terdapat beberapa entitas/unit yang memiliki fungsi khusus. Setiap unit dapat memiliki satu atau lebih sistem perangkat lunak yang berbeda-beda. Dalam menjalankan suatu fungsi tertentu, suatu perangkat lunak bisa jadi memerlukan data atau fungsi dari unit lain.
Penelitian ini adalah menerapkan konsep Service Oriented Architecture pada pengembangan
sistem informasi akademik sehingga memiliki interoperability lintas platform dan mampu
berkomunikasi dengan unit lain dengan menyediakan service yang dapat diakses oleh aplikasi lain.
Publikasi service dilakukan pada Universal Description Discovery and Integration server yang
menyimpan informasi alamat untuk proses service binding. Strategi tertentu perlu digunakan untuk
mengembalikan data dalam web service tergantung pada data yang dikembalikan. Pembuatan web
service harus memastikan SOAP dapat dibentuk dari objek yang menjadi nilai kembalian bagi web service client. Pada penelitian ini, penggunaan array suatu tipe data struktur digunakan untuk mengganti objek yang tidak dapat dikonversi menjadi SOAP.
Menyetujui:
Pembimbing I
Wisnu Ananta Kusuma, ST., MT.
NIP
132312485
Pembimbing II
Rindang Karyadin, ST., M.Kom.
NIP
132311915
Mengetahui:
Dekan Fakultas Matematika dan Ilmu Pengetahuan Alam
Institut Pertanian Bogor
Prof. Dr. Ir. Yonny Koesmaryono, MS
NIP 131473999
dan salam selalu untuk junjungan Nabi Muhammad Shallalahu ‘alaihi wasallam beserta keluarga dan sahabat.
Penulis menyadari bahwa selesainya penulisan karya ilmiah ini tidak terlepas dari pihak-pihak yang telah banyak membantu. Oleh karena itu penulis ingin mengucapkan terima kasih
kepada Ayah, Ibu, serta adikku yang selalu mengalirkan do’a, kasih sayang, dan dukungannya
kepada penulis. Bapak Wisnu Ananta Kusuma, ST, MT. selaku pembimbing I, Bapak Rindang Karyadin, ST, M.Kom. selaku pembimbing II yang telah memberikan bimbingan, wawasan, saran, dan kritik yang membangun bagi penulis selama pengerjaan tugas akhir ini.
Ungkapan terima kasih penulis sampaikan kepada teman seangkatan ilkomerz 40 yang banyak membantu penulis menyelesaikan karya ilmiah ini baik secara langsung maupun tidak. Semangat penulis terpompa kembali tatkala mendapat sms motivasi dari Meynar dan Arum. Bantuan Risha “Mamen” Raditya kepada penulis mendapatkan komponen server dan diskusi
membahas web service turut memperkaya wawasan penulis. Motivasi, inspirasi, dan informasi
juga diperoleh penulis melalui rekan-rekan Sarang Rayap dan Bboys yaitu Nono, Dona,Pis, Pandi,
Mulyadi, Nacha, Gemma, Iqbal,Ryan. Pengujian interoperability dapat dilakukan dengan mudah
berkat web server portable dari Dhanny. Bantuan Nurhadi “Cunning” Susanto memperoleh sistem
operasi versi server, database server, dan konfigurasi jaringan dalam mesin virtual sangat
meringankan beban penulis dalam implementasi sistem. Bantuan Albert, Meynar dan Rachman SJMP menjelang sidang sangat memperingan penulis dalam menempuh sidang.
Penulis bersyukur memiliki rekan-rekan di Himasurya Plus yang turut memotivasi penulis sehingga tidak mudah patah semangat menyelesaikan karya ilmiah ini. Kepedulian Sika, Anggi, Dian, Mada, dan Ratna turut membesarkan hati penulis. Semangat juang penulis raih juga dari adik kelas SMU asal penulis, Yuki, Doddy, Putri, dan Triyanto.
Sebagaimana manusia yang tidak luput dari kesalahan. Penulis menyadari bahwa karya ilmiah ini jauh dari sempurna. Penulis berharap semoga tulisan ini dapat bermanfaat khususnya di
bidang software engineering di lingkungan Departemen Ilmu Komputer Institut Pertanian Bogor.
Jazakumullahu khairan katsiira.
Bogor, Agustus 2007
Halaman
DAFTAR GAMBAR ...viii
DAFTAR LAMPIRAN ...viii
PENDAHULUAN Latar Belakang ... 1
Tujuan ... 1
Ruang Lingkup ... 1
Manfaat ... 1
TINJAUAN PUSTAKA Service Oriented Architecture ... 1
Web Service ... 2
Komponen Web Service ... 2
Protokol Web Service ... 2
Arsitektur Model Aplikasi Three-Tier ... 3
Linear Sequential Model ... 3
METODE PENELITIAN Analisis Kebutuhan ... 4
Perancangan ... 4
Implementasi ... 4
Pengujian ... 4
Lingkungan Implementasi ... 4
HASIL DAN PEMBAHASAN Analisis kebutuhan ... 4
Identifikasi Pengguna Sistem ... 4
Kebutuhan Fungsional ... 4
Pemodelan Kebutuhan Fungsional ... 5
Kebutuhan Antarmuka dan Komunikasi ... 7
Perancangan ... 7
Arsitektur Model Aplikasi... 7
Perancangan Basis Data ... 7
Identifikasi Kelas Domain... 9
Identifikasi Kelas Aplikasi dan Interaksinya ... 11
Perancangan Arsitektur Fisik ... 11
Perancangan Antarmuka ... 12
Penanganan Kesalahan... 13
Implementasi ... 13
Typed Dataset... 13
Pembuatan Pustaka Kelas ... 13
Pembuatan Komponen Service ... 13
Penanganan Kegagalan SOAP Serialization oleh Interface ICollection ... 13
Publikasi Web Service ... 14
Pembuatan Lapisan User Interface ... 14
Penanganan Kesalahan... 14
Keunggulan Sistem ... 14
Pengujian ... 15
KESIMPULAN DAN SARAN Kesimpulan ... 15
Saran ... 15
DAFTAR GAMBAR
Halaman
1 Pola SOA. ... 2
2 Pemetaan pola SOA dalam web service. ... 2
3 Model aplikasi three-tier. ... 3
4 Metode linear sequential model... 3
5 Diagram use case subsistem manajemen data mahasiswa. ... 5
6 Diagram use case subsistem manajemen data akademik. ... 6
7 Diagram use case subsistem manajemen data wisuda. ... 6
8 Diagram use case subsistem pembayaran SPP. ... 7
9 Entity relationship diagram. ... 9
10 Diagram kelas domain. ... 10
11 Deployment diagram. ... 12
12 Perancangan antarmuka operator client . ... 13
13 Perancangan halaman web. ... 13
14 Contoh penggunaan try…catch…finally. ... 14
15 Pengujian interoperability. ... 15
DAFTAR LAMPIRAN
Halaman 1 Table-oriented steps (TOS) ... 172 Skema tabel ... 36
3 Kelas MataKuliah dan turunannya ... 37
4 KelasSPP dan turunannya... 37
5 KelasDokCetak dan turunannya ... 38
6 KelasDaftar dan turunannya ... 38
7 KelasDaftarDomain dan turunannya ... 38
8 KelasDaftarHasilPencarian dan turunannya ... 39
9 KelasPencari dan turunannya ... 39
Latar Belakang
Service oriented architecture (SOA)
merupakan sebuah konsep arsitektur
perangkat lunak yang mendefinisikan
penggunaan layanan untuk memenuhi
kebutuhan suatu perangkat lunak. Layanan ini tidak hanya dapat digunakan oleh sistem yang menaunginya namun dapat digunakan juga oleh sistem lain yang berbeda, sehingga
integrasi antarsistem dapat dicapai.
Dibandingkan dengan arsitektur berorientasi objek terdistribusi, SOA lebih sesuai untuk mengintegrasikan sistem yang heterogen dan lebih mudah beradaptasi dengan perubahan lingkungan.
Web service merupakan salah satu bentuk implementasi SOA yang dapat memberikan banyak keuntungan bagi sebuah organisasi.
Web service menggunakan seperangkat
teknologi standar terbuka yang
memungkinkan sebuah aplikasi dapat
berkomunikasi dan menyediakan layanan bagi
aplikasi lain melalui jaringan komputer. Web
service memberikan kemudahan upaya
integrasi antarsistem dengan latar belakang teknologi yang heterogen. Sebuah aplikasi
berbasis teknologi Web service dapat
menyediakan data maupun fungsi tertentu bagi aplikasi lain meskipun berbeda sistem operasi, perangkat keras, maupun bahasa
pemrograman yang digunakan untuk
membangunnya.
Keunggulan web service ini dapat
dimanfaatkan untuk memecahkan
permasalahan integrasi sistem informasi dalam suatu organisasi, misalnya institusi pendidikan tinggi. Institusi pendidikan
merupakan sebuah organisasi yang di
dalamnya terdapat beberapa entitas/unit yang memiliki fungsi khusus. Setiap unit dapat memiliki satu atau lebih sistem perangkat lunak yang berbeda-beda. Dalam menjalankan suatu fungsi tertentu, suatu perangkat lunak bisa jadi memerlukan data atau fungsi dari unit lain. Sebagai contoh untuk menjalankan salah satu proses bisnis atau layanan yang dimiliki oleh unit administrasi akademik, yaitu pengelolaan wisuda, diperlukan data bebas pustaka dari perpustakaan dan bebas SPP dari bank. Tanpa SOA, data ini diperoleh secara manual sehingga menjadi tidak efisien.
Dengan adanya web service, data dari
perpustakaan dan bank dapat diperoleh dengan mudah.
architecture menggunakan Web service pada pengembangan sistem informasi akademik. Sistem ini memiliki fungsi utama mengelola data mahasiswa dan akademik. Penerapan
SOA memungkinkan sistem informasi
akademik dapat diintegrasikan dengan sistem
di perpustakaan dan bank untuk
menyelesaikan proses bisnis tertentu.
Tujuan
Tujuan penelitian ini adalah menerapkan konsep SOA pada pengembangan sistem
informasi akademik sehingga memiliki
interoperability lintas platform dan mampu berkomunikasi dengan unit lain dengan
menyediakan service yang dapat diakses oleh
aplikasi lain.
Ruang Lingkup
Ruang lingkup penelitian ini adalah:
1 Sistem informasi akademik mengelola
data terbatas pada mahasiswa dan yang terkait langsung dengan perkuliahan.
2 Uji interoperability dengan sistem
eksternal dilakukan dengan
mengembangkan sistem yang dapat
mengkonsumsi service dengan
lingkungan pengembangan yang
berbeda, tidak dengan memanfaatkan sistem yang ada pada entitas/unit yang bersangkutan.
Manfaat
Sistem yang dikembangkan dalam
penelitian ini diharapkan memberikan
gambaran pengembangan sistem informasi akademik di lingkungan institusi pendidikan.
Penggunaan web service memungkinkan
sistem mampu menyediakan service bagi
sistem lain. Penyediaan service dapat
meningkatan efisiensi pengembangan sistem dalam lingkungan yang heterogen yaitu multi
entitas dan multi platform. Sistem ini bersifat
interoperability lintas platform sehingga memudahkan proses integrasi sistem secara keseluruhan.
TINJAUAN PUSTAKA
Service Oriented Architecture
Service oriented architecture atau SOA didefinisikan sebagai kebijakan, praktek,
kerangka kerja yang memungkinkan
fungsionalitas aplikasi disediakan dan
dikonsumsi sebagai seperangkat service pada
dipulikasikan, ditemukan, dan diabstraksikan menggunakan standar antarmuka (Sprott & Wilkes 2004).
SOA menggambarkan pola yang
membantu sebuah aplikasi client terhubung
pada sebuah service. Pola tersebut menyajikan
mekanisme yang digunakan untuk
menggambarkan sebuah service,
mempublikasikan dan menemukan service,
dan berkomunikasi dengan service. Pola
tersebut digambarkan pada Gambar 1 (Manes 2003).
perangkat lunak yang didesain untuk
mendukung interaksi machine-to-machine
yang dapat beroperasi melalui suatu jaringan.
Web service memiliki sebuah antarmuka yang digambarkan dalam sebuah format yang dapat diproses mesin (khususnya WSDL). Sistem
lain berinteraksi dengan Web service dengan
cara yang ditentukan oleh deskripsi Web
service. Deskripsi ini menggunakan pesan SOAP yang disampaikan menggunakan HTTP dengan sebuah serialisasi XML yang dengan berhubungan standar web lain yang. (W3C 2004)
Komponen Web Service
Komponen utama arsitektur web service
adalah service provider, service registry, dan
service requester. Sebuah service adalah sebuah aplikasi yang tersedia untuk digunakan
oleh requester yang sesuai prasyarat awal
yang ditetapkan oleh service provider. Web
service dapat disusun dengan berbagai service
lain menjadi service atau aplikasi baru.
Berbagai service disebar pada suatu tempat
pada web oleh service provider. Sebuah
service tertentu yang disebut registry
menyediakan dukungan untuk
mempublikasikan dan menemukan service.
penyimpanan deskripsi service yang dapat
dicari dimana service provider
mempublikasikan service-nya. Sebuah bahasa
deskripsi digunakan untuk mendeskripsikan
web service. Fungsionalitas dan kebijakan akses dicatat dan diterbitkan dengan sebuah
registry. Berbagai service digunakan melalui
sebuah jaringan dengan menggunakan
informasi yang disimpan dalam deskripsi
service (Menasce & Almeida 2002).
Web service bersandar pada pola SOA.
Pemetaan pola SOA dalam web service
beserta komponennya dapat dilihat pada Gambar 2 (Manes 2003).
UDDI
Gambar 2 Pemetaan pola SOA dalam web
service.
Protokol Web Service
Web service berdasarkan pada sekumpulan
protokol kunci. Protokol-protokol ini
merupakan blok bangunan web service
platform. Protokol utama adalah (Turban et
all 2005):
XML
Extensible Markup Language membuat
web service lebih mudah bertukar data antaraplikasi yang bervariasi dan untuk mengesahkan dan menerjemahkan data
tersebut. Sebuah dokumen XML
menggambarkan sebuah web service dan
memasukkan detil informasi bagaimana
web service dapat dijalankan.
SOAP
Simple Object Access Protocol adalah seperangkat aturan yang memfasilitasi XML untuk melakukan pertukaran data
antaraplikasi jaringan. SOAP
mendefinisikan sebuah standar umum
yang mengijinkan berbagai web service
yang berbeda untuk saling beroperasi.
SOAP merupakan spesifikasi platform
antara dua sistem perangkat lunak
melalui penggunaan XML. Pesan
tersebut khususnya mengikuti pola
request/response.
WSDL
Web Service Description Language
digunakan untuk menciptakan dokumen XML yang menggambarkan tugas yang
dilakukan oleh web service. WSDL
mendefinisikan antarmuka yang dari web
service.
UDDI
Universal Description Discovery and
Integration memungkinkan untuk
pembuatan direktori publik atau privat.
Direktori web service ini dapat dicari.
UDDI merupakan registry dari deskripsi
web service.
Protokol Keamanan
Standar keamanan yang masih dalam
tahap pengembangan adalah Security
Assertion Markup Language (SAML) . Standar ini digunakan untuk autentikasi dan otorisasi. Standar keamanan lainnya
adalah XML Signature, XML
Encryption, XKMS, dan XACML.
Arsitektur Model Aplikasi Three-Tier
Berbicara mengenai suatu aplikasi, ada
beberapa komponen yang terlibat di
dalamnya, yaitu user interface, business
service, dan data provider. Lapisan user interface merupakan bagian aplikasi yang
berinteraksi dengan user. Lapisan ini
menampilkan semua data yang diperlukan
dengan menggunakan objek-objek window.
Lapisan ini menerima masukan dan
modifikasi user terhadap data dengan
menggunakan objek-objek window. Lapisan
business service mengendalikan semua data
yang diakses dan meng-update data yang ada
dalam basis data. Lapisan ini biasanya dapat digunakan oleh modul-modul lain dalam
aplikasi. Lapisan data provider bertanggung
jawab menyimpan data dan menyediakan data
yang akan diberikan ke lapisan user interface.
Arsitektur model aplikasi three-tier
memisahkan lapisan user interface, business
service, dan data provider dalam bagian yang berbeda sebagaimana terlihat pada Gambar 3 (Hadiwinata 2003).
interface service provider
Gambar 3 Model aplikasi three-tier.
Linear Sequential Model
Pada metode Linear Sequential Model,
proses pengembangan sistem dibagi menjadi 4 tahap utama, yaitu tahap analisis, tahap perancangan, tahap implementasi dan tahap pengujian. Antara tahap yang satu dengan tahap yang lain saling berhubungan. Pada saat berada pada suatu tahap, dapat melanjutkan ke tahap selanjutnya apabila tahap tersebut dianggap selesai atau kembali ke tahap sebelumnya jika terdapat perubahan atau penambahan proses baru. Tahapan metode
Linear Sequential Model dapat dilihat pada
Gambar 4(Pressman 2001).
analysis design code test
Gambar 4Metode linear sequential model.
Tahap Analisis
Kegiatan pada tahap analisis adalah melakukan analisis untuk menentukan
kebutuhan (reqiurement) dalam proses
pengembangan sistem. Setelah diperoleh kebutuhan dalam pembangunan suatu
sistem aplikasi, kemudian disusun
diagram konteks. Hasil dari tahap ini adalah deskripsi umum sistem, analisis kebutuhan, dan diagram konteks.
Tahap Perancangan
Kegiatan pada tahap perancangan adalah
menerjemahkan kebutuhan-kebutuhan
yang didefinisikan dalam tahapan analisis ke dalam bentuk model presentasi sistem aplikasi. Pada tahap ini dirancang arsitektur perangkat lunak, antarmuka,
input, proses dan output dalam
menggunakan aplikasi.
Tahap Implementasi
Kegiatan pada tahap implementasi adalah mengimplementasikan rancangan yang telah disusun pada tahap perancangan
menjadi instruksi-instruksi program.
Dalam tahap implementasi, antarmuka dibuat agar dapat dimengerti untuk
memudahkan pengguna dalam
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.
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 kode-kode 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.
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 telahdibuat.
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,
out.
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.
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 sistem
selengkapnya adalah:
1 Menyimpan data KRS
2 Mengubah data KRS
3 Mencari data KRS
4 Menyimpan data mata kuliah
5 Mengubah data mata kuliah
6 Menghapus data mata kuliah
7 Mencari data mata kuliah
8 Mengelola data tugas akhir
9 Mencetak transkrip
10 Mencetak daftar kuliah
11 Mencetak KRS
12 Menyimpan data mahasiswa
13 Mengubah data mahasiswa
14 Menghapus data mahasiswa
15 Mencari data mahasiswa
16 Memeriksa kelengkapan syarat wisuda
17 Mengelola data SPP
18 Membaca data pembayaran SPP
19 Mencatat history/log sistem
21 Memeriksa validitas mahasiswa
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 garis-garis 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.
<<system>>
Sistem Informasi Kemahasiswaan
Operator pegawai AJMP
Staff administrasi akademik departemen
mencetak transkrip nilai mahasiswa
mencetak daftar kuliah
mencetak KRS
<<SubSystem>> Manajemen Data
Akademik
mahasiswa
menyimpan data KRS
memeriksa validitas mahasiswa
memeriksa validitas operator
menyimpan data mata kuliah
mengubah data mata kuliah
menghapus data mata kuliah
mencari data mata kuliah
mencatat history/log sistem
mengubah data KRS
mencari data KRS
Mengelola data tugas akhir
Gambar 6 Diagram use case subsistem manajemen data akademik.
<<system>>
Sistem Informasi Kemahasiswaan
Operator pegawai AJMP
<<aktor>> Sistem pencatatan
peminjaman/ pengembalian buku
perpustakaan <<aktor>> Sistem manajemen Transaksi keuangan
bank
<<SubSystem>> Manajemen Data Wisuda
memeriksa kelengkapan syarat wisuda
memeriksa validitas operator
<<include>>
Sistem Informasi Kemahasiswaan Mengelola data SPP <<include>
> <<include>>
Gambar 8Diagram 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 masing-masing 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
mayor-minor 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.
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
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
Memilih
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.
+New()
+TahunAkademik[1] : String = 1000/1001 +Semester[1] : JenisSemester = ganjil +TingkatStudi[1] : JenisTingkatStudi = TPB +KodeTempatStudi[1] : String
+MemeriksaSyaratBebabStudiTerpenuhi(in CalonWisudawan : Mahasiswa) : Boolean +YangHarusMemenuhi[1] : Mahasiswa
+Tulis(in Log : Log)
+TentukanPosisiFile(in Posisi : String) +Posisi[1] : String
PenulisLog +New()
+DapatkanDaftarPilihanMataKuliah(in KodeKRS : String) : DaftarPilihanMataKuliah +HitungJumlahSKS(in MataKuliahYangDiambil : DaftarPilihanMataKuliah) : Byte +SimpanKRS()
+UbahKRS() +HapusKRS() +KodeKRS[1] : String
+TahunAkademik[1] : String = 1000/1001 -SemesterKe[1] : JenisSemester
+CariBerdasarkan(in KriteriaPencarian : String, in YangDicari : String) : DaftarHasilPencarian +ParameterPencarian[1] : 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 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. Berbagaikelas yang digunakan
untuk memenuhi kebutuhan fungsional
tersebut adalah kelas turunan kelas domain dokumen cetak yang dimodelkan dengan diagram pada Lampiran 5.
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 Kelas Aplikasi dan Interaksinya
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
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
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
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.
Web Client
Browser support javascript
Web Server
Web Server IIS 6 .Net Framework 2.0
Operator Client
Sistem Operasi Windows XP SP2 .Net Framework 2.0
<<Executable>> SimakOptUI.exe
<<File>> Simak Web Site (ekstensi .aspx)
* 1
<<internet>>
Application Server
.Net Framework 2.0
<<File>>
Simak Web Service (ekstensi .asmx)
Database Server
Windows Server 2003 SP2
SQL Server 2005
<<File>>
Penyedia data web service (ekstensi .asmx) .Net Framework 2.0 Web Server IIS 6 UDDI Server
Windows Server 2003 SP2
Windows Server 2003 SP2
Gambar 11Deployment 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
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 dibuatmelalui 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
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
CollectionBase.
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 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 berbagaikelas
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
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
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
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/File-27842 [7 November 2006]
Manes, A.T. 2003. Web Services A Manager’s
Guide. USA: Addison-Wesley.
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
TOS untuk use case menyimpan data KRS
Use case name :menyimpan data KRS
Description :use case ini memasukkan data KRS baru mahasiswa pada awal semester.
Main Course of events : muncul data KRS baru dalam database
Precondition : aktor baik operator pegawai AJMP atau staff administrasi akademik departemenberhasil masuk sistem dan berhadapan dengan jendela utama aplikasi.
Successful postcondition : aktor berhadapan dengan jendela utama aplikasi
operator pegawai AJMP / staff administrasi
akademik departemen Sistem
1. use case ini dimulai dengan menjalankan step 1
use case memeriksa validitas operator
2. memilih menu menyimpan data KRS 3. menampilkan jendela form pengisian
KRS
4. memberikan masukan data KRS 5. memasukkan KRS ke dalam database
6. menampilkanpesan data KRS berhasil
disimpan
7. menjalankan step 1 use case mencatat
histori/log sistem
8. use case ini berakhir dan aktor berhadapan dengan jendela utama aplikasi
Alternate Course # 1 : mata kuliah dalam KRS dimana syaratnya belum terpenuhi
Precondition : saatstep 4, aktor memasukkan mata kuliah yang syartnya belum terpenuhi
operator pegawai AJMP / staff administrasi
akademik departemen Sistem
1. memeriksa status mata kuliah berdasarkan
2. menampilkan pesan bahwa mata kuliah tidak
dapat diambil
3. use case berlanjut pada step 4
Alternate Course# 2 : aktor membatalkan menyimpan data KRS
Precondition : saatstep 2 atau 4, aktor aktor memutuskan untuk tidak menyimpan data KRS
Postcondition : aktor berhadapan dengan jendela utama aplikasi dan tidak ada penambahan data KRS
operator pegawai AJMP / staff administrasi
akademik departemen Sistem
1. meminta membatalkan menyimpan data
KRS
2. menutup jendela anak dari menu menyimpan
TOS untuk use case mengubah data KRS
Use case name: mengubah data KRS
Description : use case ini mengubah item data KRS dalam database Main Course of events : data KRS berubah
Precondition : aktor baik operator pegawai AJMP atau staff administrasi akademik departemen berhasil masuk sistem dan berhadapan dengan jendela utama aplikasi.
Successful postcondition : aktor berhadapan dengan jendela utama aplikasi
operator pegawai AJMP / staff administrasi
akademik departemen Sistem
1. use case ini dimulai dengan menjalankan step 1
use case memeriksa validitas operator
2. memilih menu mengubah data KRS 3. meminta NIM, semester dan tahun ajaran
4. memberikan NIM dan semester 5. mencari data KRS
6. menampilkan data KRS
7. mengubah item data KRS 8. memeriksa status mata kuliah
9. menyimpan perubahan KRS
10. menampilkanpesan perubahan KRS
berhasil
11. menjalankan step 1 use case mencatat
histori/log sistem
12. use case ini berakhir dan aktor berhadapan dengan jendela utama aplikasi
Alternate Course# 1 : syaratitemmata kuliah baru belum terpenuhi
Precondition : saatstep 7, aktor memasukkan mata kuliah yang syartnya belum terpenuhi
operator pegawai AJMP / staff administrasi
akademik departemen Sistem
1. memeriksa status mata kuliah berdasarkan
2. menampilkan pesan bahwa mata kuliah tidak
dapat diambil
3. use case berlanjut pada step 7
Alternate Course# 2 : aktor membatalkan untuk menyimpan data KRS
Precondition : saatstep 4 atau 7, aktor memutuskan untuk tidak mengubah data KRS
Postcondition : aktor berhadapan dengan jendela utama aplikasi
operator pegawai AJMP / staff administrasi
akademik departemen Sistem
1. meminta membatalkan mengubah data KRS 2. menutup jendela anak dari menu mengubah
TOS untuk use case mencari data KRS
Use case name : mencari data KRS
Description : use case ini mencari data KRS
Main Course of events : pencariandata KRS sukses
Precondition : aktor baik operator pegawai AJMP, staff administrasi akademik departemen maupun mahasiswa berhasil masuk sistem dan berhadapan dengan jendela utama aplikasi.
Successful postcondition : aktor berhadapan dengan data KRS yang dicari
operator pegawai AJMP / staff administrasi
akademik departemen/mahasiswa Sistem
1. use case ini dimulai dengan menjalankan step 1
use case memeriksa validitas operator/mahasiswa
2. memilih menu mencari KRS 3. meminta kriteria dan parameter
pencarian
4. memberikan kriteria dan parameter pencarian 5. mencari data KRS dalam database
6. menampilkan hasil pencarian
7. use case berakhir
Alternate Course# 1 : aktor membatalkan untuk mencari data KRS
Precondition : saatstep 4, aktor memutuskan untuk tidak mencari data KRS
Postcondition : aktor berhadapan dengan jendela utama aplikasi
operator pegawai AJMP / staff administrasi
akademik departemen Sistem
1. meminta membatalkan mencari KRS 2. menutup jendela anak dari menu mencari
TOS untuk use case menyimpan data mata kuliah
Use case name : menyimpan data mata kuliah
Description : use case ini memasukkan data mata kuliah
Main Course of events : muncul data mata kuliah baru dalam database
Precondition : aktor baik operator pegawai AJMP atau staff administrasi akademik departemenberhasil masuk sistem dan berhadapan dengan jendela utama aplikasi.
Successful postcondition : aktor berhadapan dengan jendela utama aplikasi
operator pegawai AJMP / staff administrasi
akademik departemen Sistem
1. use case ini dimulai dengan menjalankan step 1
use case memeriksa validitas operator
2. memilih menu menyimpan data mata kuliah 3. menampilkan jendela form pengisian
data mata kuliah
4. memberikan masukan data mata kuliah 5. memeriksa validitas masukan
6. memasukkan data mata kuliah ke dalam
database
7. menampilkanpesan data mata kuliah
berhasil disimpan
8. menjalankan step 1 use case mencatat
histori/log sistem
9. use case ini berakhir dan aktor berhadapan dengan jendela utama aplikasi
Alternate Course# 1 : masukan tidak valid
Precondition : saatstep 4, aktor memasukkan nilai yang tidak valid
operator pegawai AJMP / staff
administrasi akademik departemen Sistem
1. menampilkan pesan bahwa masukan tertentu tidak
valid
2. use case berlanjut pada step 3
Alternate Course# 2 : penambahan data gagal karena internal error database Precondition : saatstep 6, muncul internal error dalam database
Postcondition : aktor berhadapan dengan jendela utama aplikasi dan tidak ada penambahan data KRS
operator pegawai AJMP / staff
administrasi akademik departemen Sistem
1. menampilkan pesan penambahan data gagal dan
deskripsi error
2. use case berlanjut pada step 3
Alternate Course# 3 : aktor membatalkan menyimpan data mata kuliah
Precondition : saatstep 4, aktor memutuskan untuk tidak menyimpan data mata kuliah
Postcondition : aktor berhadapan dengan jendela utama aplikasi
operator pegawai AJMP / staff administrasi
akademik departemen Sistem
1. meminta membatalkan menyimpan data
mata kuliah
2. menutup jendela anak dari menu menyimpan
TOS untuk use case menghapus data mata kuliah
Use case name: menghapus data mata kuliah
Description : use case ini menghapus data mata kuliah tertentu dalam database Main Course of events : penghapusan data mata kuliah berhasil
Precondition : aktor baik operator pegawai AJMP atau staff administrasi akademik departemen berhasil masuk sistem dan berhadapan dengan jendela utama aplikasi.
Successful postcondition : aktor berhadapan dengan jendela utama aplikasi
operator pegawai AJMP / staff administrasi
akademik departemen Sistem
1. use case ini dimulai dengan menjalankan step 1
use case memeriksa validitas operator
2. memilih menu menghapus data mata kuliah 3. meminta kode mata kuliah
4. memberikan kode mata kuliah 5. mencari data mata kuliah
6. menampilkan data mata kuliah yang
ditemukan
7. meminta penghapusan 8. menghapus data mata kuliah
9. menjalankan step 1 use case mencatat
histori/log sistem
10. use case ini berakhir dan aktor berhadapan dengan jendela utama aplikasi
Alternate Course# 1 : mata kuliah yang dihapus menjadi syarat mata kuliah lain
Precondition : saatstep 8, sistem gagal menghapus mata kuliah
operator pegawai AJMP / staff administrasi
akademik departemen Sistem
1. menampilkan mata kuliah yang bergantung
pada mata kuliah yang dihapus
2. merubah syarat mata kuliah pada mata
kuliah yang bergantung pada mata kuliah yang dihapus
3. use case berlanjut pada step 7
Alternate Course# 2 : aktor membatalkan untuk menghapus data mata kuliah
Precondition : saatstep 4 atau 7, aktor memutuskan untuk tidak menghapus data mata kuliah
Postcondition : aktor berhadapan dengan jendela utama aplikasi
operator pegawai AJMP / staff administrasi
akademik departemen Sistem
1. meminta membatalkan menghapus data mata
kuliah
2. menutup jendela anak dari menu menghapus