JURNAL
.
...".. ,
~ .•. ,1 I
,~
I
Kridanto Surendro
Audit Sistem lnformasi Rumah Sakit dengan Menggunakan Acuan COBIT
Arif Muntasa, M. Kautsar Sophan
Clustering Data dengan Menggunakan Fuzzy C-Means Model . Supervised
Khoiriyah Asiyanti, Sholiq
Penyelesaian Masalah Transportasi Menggunakan Ant Colony Algorithm
Diterbitkan oleh: Penelitian Pengabdian Masyarakat
Volume 6 Nomor 1, Desember 2004
ISSN 1411-2094
GEMATlKA Kridanto Surendro
Audit Sistem Informasi Rumah Sakit dengan Menggunakan Acuan COBIT
Arif Muntasa,
Clustering Data dengan MenggunakanFuzzy C-Means Model
Muhammad Kautsar Sophan
Supervised
Budi Sutedjo Dharma Oetomo,
Pemanfaatan Pohon Keputusan untuk Mernutuskan Kenaikan
Gunawan Santosa
Gaji Karyawan
Sholiq
Rancang Bangun Sistem Pendukung Keputusan Order Handling pada PT. Iglas (Persero)
Budi Hermawan
Multiplatform Mobile Database Administrator
Soetam Rizky Wicaksono
Akses Web Service dalam Aplikasi Berbasis Windows Menggunakan Proxy Class
Khoiriyah Asiyanti,
Penyelesaian Masalah Transportasi Menggunakan Ant Colony
Sholiq
Algorithm
Terakreditasi Berdasarkan SK Dirjen DIKTI Nomor : 23a/DIKTI/Kep/2004 Diterbitkan oleh: Penelitian Pengabdian Masyarakat Sekolah Tinggi Manajemen lnforrnatika & Teknik Komputer Surabaya GEMATIKA
Halaman 1-58
Surabaya, Desernber 2004
ISSN 1411-2094
AKSES WEB SERVICE DALAM APLIKAS I BERBASIS WINDOWS MENGGUNAKAN PROXY CLASS
Soetam Rizky W ica ksono'!'
Abstract: Web Service has been a very high tech trend among huge application in the world. Since its support among many programming language, a Web Service hasalready become global standard for many web application. However, web services also can be used in windows application, especially for applications which need standard web method from a web service. Thus, in order to apply such case, we must use proxy class to access a web service from a web server for a windows based application. Keywords: Web Service, Windows, Proxy Class, Visual Basic.NET
Meski di dalam dunia bahasa pemrograman,
vice, jika terdapat sebuah fungsi ataupun prosedur
web service telah memiliki eksistensi lama, tetapi tren
yang memiliki rumus atau hasil yang sama, dan dapat
penggunaan dari web service sendiri baru bisa di-
diterapkan secara seragam daJam berbagai bahasa
katakan mel ejit pada dekade tahun 2000 . Telah
pemrograman.
banyak situs - situs yang mengimplementasikan web
Mayoritas pro grammer atau sistern analis se-
service demi memudahkan programmer lain dalam
lalu bera sumsi bahwa sebuah web service han ya
melakukan akses data ataupun akses fungsi . Misal :
berfungsi untuk aplikasi - aplikasi yang dip eruntuk-
goo gle dengan API web service, Microsoft dengan
kan bagi sebuah browser, dengan kata lain, sebuah
.NET passportnya, atau dari dalam negeri adalah
web service se lalu diterapkan dalarn sebuah aplikasi
tabulasi nasion al pernilihan umurn yang telah me-
berbasis web . Dalam implementasinya, sebuah web
nyediakan web service agar hasil perhitungan bisa
service ternyatajuga mampu diimplementasikan ke
diakses dari situ s lain secara online.
dalam sebuah aplikasi berbasis windows. Implemen-
Web service send iri, secara sederhana dapat
tasi tersebut dap at dilakukan dengan menggunakan
d iasum sikan sebagai sebuah fun gsi yang merniliki
bantuan bahasa pemrograman Visua l Basic .N ET
jangkauan public dalam sebuah aplikasi, baik yan g
2003 , yan g didal amnya telah terdapat metode akses
berbasis web maupun berbasis wind ows . Seorang
web service d cn gan menggunakan proxy class
programmer akan rnembutuhkan sebuah web ser-
(Deitel,2002).
(/) Soetam Rizky Wicaks ono. S.kom .. Juru san Siste m lnfo rmas i, Sekolah Tinggi Manaje men Inf orm atika & Teknik Komput er Suraba ya
42
Wicaksono , Akses Web Service dalam Aplikas i Berbasis Windows 43
Tujuan penelitian ini adalah melakukan pe-
Sebu ah web service akan menyediakan be-
rancangan dan pemodelan akses web service di da-
berapa kompone n penting antara lain : protoko l
lam sebuah aplikasi berbasis windows dengan meng-
internet yan g terbuka, pesan berbasis XML dan
gunakan bantuan proxy class yang terdapat di dalam
SOAP, WSDL, deskrips i service melalui dis cov ery,
bahasa pemrograman Visual Basic .NET 2003.
dan UDDI (Williams, 2000).
Web service adalah seb uah entity dari elemen
Protokol internet yang terbuka adala h sebua h
tertentu yang memungki nkan untuk diprogram ulang
web service, secara umum, mampu memanfaatkan
berdasarka n fungsi tertentu, dan mampu diakses di
protokol yang lazim digunakan di dalam internet
siste m manapun dengan menggunakan standard di
secara terbuka, seperti XML, HITP maupun SMTP.
j nternet yaitu HTTP dan XML. Sebuah web servi ce
Hal ini untuk memenuhi sifat web service yang in-
bergantung kepada kemampuan sistem untuk meng-
dependen dari segala bahasa pemrograman serta dari
akses XML sebagai hasil dari sebuah fungsi atau
segala jenis sistem operasi .
prosedur. Kemampuan tersebut merupakan infra-
Simpl e Object A c c ess Proto col (SOAP)
struktur utama dalam pengembangan maupun im-
adalah standar industri da lam meng akses XML,
plementasi sebua h web service.
sehingga dapat merepresentasikan sebuah data atau
Karakteristik terpenting dari sebuah web service
perintah dalam suatu bentu k tertentu. Sebuah web
adalah abstraksi yang tinggi yang disediak an melalui
service tidaklah waj ib menggunakan SOAP dalam
pesan yang berbasis XML, seperti pada Garn bar 1.
mengak ses format pesan yang diha silkan. Selain
Dengan abstraksi tersebut, sebuah web service da-
SOAP, web se r vic e mampu menggun akan me-
pat diakses oleh programmer lain tanpa harus me-
kanisme umum internet seperti HTT P Post atau
ngetahui satu sama lain, tentang input, output atau-
HTT P Get, teta pi, metode tersebut tidakl ah sebagus
pun lokasi dari web service itu sendiri di saat program
SOAP yang mampu melak ukan passing parameter
dijal ankan, yang terlihat pada Gambar 2.
ataupun akses ke sebuah datas et. XML
.NET My Services / -
(
Client
" ".
Ga mbar 1 Skema Implementasi Web Service da lam XML
JURNAL MANAJEMEN INFORMATIKA , VOLUME 6 NOM OR I, DESEMB ER 2004
Pickyour The weather Forecast calls
The exchange rate
.:
... .. ~
Gambar 2 Ske ma Implementasi Web Service dalam Aplikasi
We b Service Description Langu age ( WSD L)
MEJODE
_a-t u se b ua h standar bahasa y ang haru s bisa
Sebuah modul dalam web service den gan men g-
.j"mengert i oleh semua aplikasi yang dibuat o le h
gunak a n bahasa pemrograman Vi sual Basic .N ET
o gra mmer dalam bahasa pemrograma n yang ber-
me m iliki dua bag ian yaitu : I )file berekstensi asmx,
da, sehingga pengguna web service dapat mere-
yang me nga nd ung petunjuk terhadap web servic e
presentas ika n metode serta ar gumen ma upun para-
yang mend eskr ipsi kan bah asa pemrograma n ya ng
mete r ata u informasi dari web service secara akurat
di gunakan ol eh program mer, nama file serta nama
dal am bentuk XM L. Standar bahasa ini bisa dianalo-
cl ass yang digunakan untuk mereferensika n web
gik an sebuah kontra k kerj asama antara web service
service, 2)file bereksten si asmx. vb, yang merupakan
den gan piha k pengakses (Yo ung, 2001).
isi dari web service itu sendi ri, dan akan di eksekusi
~
Des kripsi service melalui discovery merupakan
saat proses invoke dilakukan terh adap web service .
des krip si dari sebuah web service, sehingga para
Web service yan g dibuat den gan menggunakan
programmer yang akan memanfaatkan web service
Vis ua l Ba s ic .N ET diasu m sikan sebagai sebuah
ma mpu mengetahui cara aks es dan segala macam
proj ec t baru den gan t ipe A SP NE T. Saat pernbuatan
metode yan g terdapat dalarn web service te rsebut.
project pertama ka li d ilakukan, maka Visual Ba sic
Universal Discovery Description an d Int e-
.NE T secara otornatis akan beru saha mengakses web
g ra tion (UDDI) adal ah se b ua h kerangka atau
server yang telah didefini sikan se hing ga terbentuk
framework yang menyed iakan d irektori terd istribusi
sebu ah virtual direktori baru sebagai te mpat dari web
da ri web service. Di rektori tersebut akan memung-
service (B urrow s and Langford, 2003 ).
kinkan registrasi dan proses discovery dari sebuah
web service melalui sebuah pesan dal am SO A P.
Dengan men ggun akan Visua l Basic.N ET , maka seb uah web service membutuhkan web server ya ng
-
Wicaksono, Akses Web Service da/am Aplikasi Berbasis Windows 45
mampu mengeksekusi ASP.N ETversi 1.1. Selain itu,
terdefinisikan yang dalam Gambar 3 disebutkan
login administrator dibutuhkan saat proses pem-
sebagai web server denga n aspx atau dengan
buatan berlangsung. Hal ini merupakan salah satu
menggunakan ASPNET, karena yang dibahas adalah
kelemahan dalam pembuatan web service dengan
bahasa pemrograman Visual Basic .N ET.
media Visual Basic .N ET , karena banyak web
Sedangkan dalam sebuah aplikasi berbasis
hosting komersial yang tidak mampu dan tidak ingin
windows di dalam Visual Basic .NET , dibutuhkan
mengakomodir kebutuhan te rse but. Dikarenakan,
proxy class yang valid untuk mengakses sebuah web
kekhawatiran akan adanya exploit dari pihak yang
service. Proxy tersebut adalah penampung semen-
tidak bertanggung jawab saat proses pembuatan
tara dari sebuah web service yang sebelumnya telah
berlangsung.
terkoneksi dari web server yang menampungnya dan
Secara normal , sebuah web service diakses
akan menghemat waktu dan biaya koneksi antara
sebu ah aplikasi berbasis web dengan menggunakan
aplikasi berbasis windows dengan web server yang
protokol HTTP hingga akhimya basil dari webmethod
didalamnya mengandung sebuab web service, yang
yang dih arapkan muncul di dalam browser. Sebuah
terlihat pada gambar 3.
web service akan memproses fungsi dan prosedur
Saat sebuah web service selesai dibuat, langkah
yang ada, di dalam sebuah web server. Dengan pe-
berikutnya adaJah mempublikasikan web service
rant araan web serv er lain yang dibuat oleh pengem-
tersebut dengan alamat yan g dim iliki. Sedangkan bagi
bang dengan sebuah bahasa pemrograman yang telah
program mer yang akan memanfaatkan web service
HTIP Web Server with .asmx pages
HTIP ,",TTP , . e-•• h
:---.c
XML
Client Gambar 3 Skcm a Koneksi Web Service
-Server
Service
46 GEMATIKA J URNAL MANAJEMEN INFORMATIKA, VOLUME 6 NOMOR I, DESEMBER 2004
tersebut akan melakukan discovery ( dalam skema
ya ng akan .men gakse s se b ua h server database
disebut sebagai .disco). SeJanjutnya web service
sepert i Oracle atau SQL Server. Dengan menganut
akan diidentifikasi berdasarkan alamat yang telah
konsep tersebut, koneksi awal dari sebuah proxy
dipublikasi sebelumnya, kemudian membacadeskripsi
class akan terasa lebih lama bagi pen gguna diban-
web service tersebut dengan menggunakan WSDL.
dingkan waktu koneksi kedua dan seterusnya, yang
Saat sebuah web se rvice telah selesai ter-
dapatdilihat padaGambar 4 (Bradley dan Millspaugh,
identifikas i, maka langkah berikutn ya adalah
2003).
melakukan proses binding atau pengikatan web
Sedangkan kerugian dari konsep disconnected
service sec ara virtual ke dalam sebuah proxy class
scenario ad alah proses upd ate dari web service (jika
sehingga semua webmethod yang ada didalamnya
terjadi suatu perubahan dalam web service ) akan
mampu dikenal i dan digunakan sesuai parameter yang
terasa lambat dan baru bisa d ilakukan j ika dilakukan
tersed ia.
proses restart pada aplikasi berbasi s windows. Hal
Sebuah proxy cla ss yan g berhasil didefinisikan
ini berbeda dengan aplikasi berbasi s web yang lebih
akan men ganut konsep disconnected scenario di
ce pat dalam mer esponsi perubahan ya ng te rj adi
dalam Visual Basic .N ET. Terutama jika web service
dalam sebuah web service.
tersebutd itujukan untuk sebuah ap likasi basis data
Ga mba r 4 Skema Koncksi Proxy Class
Proses pengujian dil akukan den gan membuat
Wicaksono, Akses Web Service dalam Aplikasi Berbasis Windows 47
sebuah web service sederhana untuk menghitung
Visual Basic .NETyangakan mengimplementasikan
pajak pertambahan nilai dengan asumsi pajak yang
web service tentang perhitungan pajak tersebut.
dikenakan adalah sebesar 10% dari harga yang
Dengan mengimplementasikan proxy class , maka
ditetapkan. Pembuatan web service di lakukan
web service yang telah teridentifikasi alamatnya di-
dengan menggunakan Visual Basic .NET. lsi web
masukkan sebagai sebuah web reference yang d ilihat
method yang terdapat dalam web service adalah
pada Gambar 5. Jika proses inisialisasi web service telah selcsai
sebagai berikut :
dijalankan, maka programmer dapat langsung mulai < Web Method/) > Public Function _
menggunakan scluruh fungsi public yang terdapat
HitungPpn (ByVal x As Integer) _
dalam web service tersebut. Fungsi public dapat
As Decimal
diakses setelah proses pembentukan obyek dari
Return x End Function
* O. I
proxy class yang telah masuk sebagai sebuah web reference.
Setelah melalui proses testing dan implementasi serta invoking web service, selanjutnya adalah publikasi dari web service itu sendiri. Di dalam proses publikasi perlu diyakinkan terlebih dulu tentang
Dim wsTest As New loca/host.Service! Dim xTest As Decimal xTest = ws'Iest.Hitungl'pn _ (Clnt(TextBox!. Text)) MessageBox.Show(Format(xTest, _ " ###,### ")
autentikasi dari web service tersebut terhadap programmer yang akan memanfaatkan web service
HASIL DAN PEMBAHASAN
terse but.
Dari metode akses web service dengan mcng-
Langkah berikutnya adalah dengan mencoba
gunakan bantuan proxy class tersebut, dapat d i-
membuat sebuah aplikasi berbasis windows di dalam
pahami bahwa akses web service tidak hanya
O lla<~
0 !O
11,)~
. ~; 1 .~ ~p:~~~oflostltesf:~c!.Set :lcel '.~mx
Service!
, ..
-
Th ~ follo w,n o o pe r a tion ,; are SlI p p6 rtl!! d Fo r .. form .,l d o fil'"t< ~n . o tee se review th a ~ ---k.e Dgscrlptlon .
lEI . '.~
~ set vk e l
'-'. '
~? '0:' .' :~
':~: Webfefel~e ~:
.
. I"'....... .
:i":: .
.
~
Addaderrnce
:. :,;,~ .
..
:..~
~~: ' .
/ », ',. ' . .
..
~.
. . .'
~1
CM,'"
""" Gambar 5 Implementasi Web Service sebagai Web Reference
.;
I I
.
48 GEMATIKA J URNAL MANAJEMEN INFORMATIKA, VOLUME 6 NOMOR 1, DESEMBER 2004
mampu dilakukan di dalam sebuah aplikasi berbasis
service itusendiri. Web service menggunakan
web, tetapi juga bisa digunakan dalam aplikasi
protokol terbuka dari internet dan harus mampu
berbasis windows. Metode tersebut dalam imple-
diakses berbagai bahasa pemrograman , sehingga
mentasinya lebih dipermudah dengan menggunakan
pembuatan fungsi didalamnya telah menggunakan
bantuan bahasa pemrograman Visual Basic .NET .
parameter - parameter yang fleksibel untuk keper-
Dengan mengidentifikasi kelemahan serta
luan akses lebih lanjut
keuntungan dari metode itu, jelaslah bahwa peran-
Akses web service di dal am aplikasi berbasis
cangan dan implementasi sebuah web service wajib
windows rnenggunakan bantuan proxy class yang
memperhitungkan berbagai aspek seperti : kernarn-
akan menginisialisasi web service ke dalam sebuah
puan dan sekuritas web server, kemudahan serta
web ref erenc e. lnisial isasi proxy class akan mern-
jangkauan global dari fungsi yang diterapkan dalam
bentuk sebuah obyek di dalam Visual Basic .NET
web service serta tingkat urgensi dari se buah fungsi
yang mampu diimplementasikan ke dalam form
public yang didefinisikan dalam web service itu
aplikasi berbasis windows dengan inp utan dan
sendiri.
output yang standar.
Sedangkan dengan kapabilitas web service, perlu diperhitungkan aspek akses dari sebuah web
DAFTAR RUJUKAN
service yang memiliki sifat independen, baik terha-
Bradley, J.
da p bahasa pernrograman ataupun si stem operasi.
McGraw Hill Burrows, W. E., dan
Sehingga tidak terjadi kesalahan - kesalahan fatal yang bisa terjadi karena perbedaan sifat yang harusnya diakomodasi sejak awal perancangan web service itu sendiri. SIMPULAN
Perancangan web service harus mernperhatikan sejak awal mengenai sifat independensi dari web
c., dan Millspaugh, A.C. 2003. Advanced Programming Using Visual Basic .NET . Ne w York: Langford , J .D . 2003 . Learning Programming Using Visual Basic .NET . New York:
McGraw Hill Deitel. 2002 . Visual Basic .NET, How To Program. New Jersey : Prentice Hall Will iams, K. 2000. Pr ofessional XML Dat ab ases. Birmingham: Wro x Young, M. J. 200 I. XML. Step by Step . Jakarta: Pen erbit Elex Media Computindo .