Pemodelan Sistem Registrasi Terpadu Berbasis Web Menggunakan

advertisement
Bab 2
Tinjauan Pustaka
2.1 Penelitian Terdahulu
Telah dibuat sebuah sistem infomasi kepariwisataan terpadu yang
dikembangkan dengan menggunakan teknologi web service. Keperluan
tersebut diuraikan contoh dua buah web service yaitu web service
WisataBudayaJawa yang berfungsi untuk memberikan rekomendasi obyekobyek wisata di propinsi Jawa Tengah dan Daerah Istimewa Yogyakarta, dan
web service kurs yang berfungsi untuk memberikan informasi harian
mengenai nilai tukar sejumlah mata uang asing terhadap mata uang rupiah.
Kedua web service tersebut saling diintegrasikan untuk memberikan
gambaran mengenai sistem multi-tier serta dimanfaatkan untuk membangun
sebuah program aplikasi web. Dari pengembangan sistem, diperoleh hasil
yang menunjukkan bahwa web service sangat efektif untuk digunakan dalam
pengembangan aplikasi karena programmer hanya memberikan input ke
webservice dan mengambil hasil pengolahan data atau output dari web
service. Sedangkan dari percobaan
penggunaan web service pada komputer dengan sistem operasi Linux
menunjukkan bahwa web service dapat digunakan pada komputer dengan
sistem operasi yang berbeda dengan sistem operasi dimana web service
tersebut dikembangkan.
2.2 Internet
Internet berasal dari kata interconection networking yang
mempunyai hubungan berbagai komputer dan berbagai tipe komputer
yang membentuk sistem jaringan yang mencakup seluruh dunia
(jaringan global) dengan melalui jalur telekomunikasi seperti telepon,
6
wireless dan lainnya. Internet juga dapat digambarkan sebagai kota
elektronik berukuran raksasa, dimana setiap penduduk memiliki
alamat masing-masing (internet address) yang dapat digunakan untuk
berkirim surat. Pengguna internet dapat menjangkau semua orang
dari berbagai usia dan melalui internet pula orang dapat
berkomunikasi serta mendapatkan informasi secara on-line dan realtime.
Internet
menggunakan
hitungan
client/server
untuk
mengontrol pengiriman dan penerimaan informasi melalui internet.
Hitungan client/server itu sangat sederhana, satu komputer (yang
disebut server) menyediakan informasi. Komputer lainnya (client)
akan menggunakan informasi itu, yang umumnya karena seseorang
telah meminta komputer tersebut untuk menggunakannya. Kedua
komputer tersebut dihubungkan dalam hal ini melalui jaringan kerja
internet dan client tersebut dapat meminta sesuatu dari server dan
server tersebut dapat mengirimkan jawaban.
Proses komunikasi internet adalah sebagai berikut : transport
layer mengambil aliran data dan memecah-mecahnya menjadi
datagram. Datagram ditransmisikan melalui internet. Ketika aliran
data
tersebut
mencapai
mesin
tujuan,
potongan-potongan
dihubungkan kembali oleh network layer menjadi datagram orisil.
Kemudian datagram diserahkan ke transport layer, yang disisipkan
kedalam aliran input proses penerima.
2.2.1
Internet Protocol (IP)
Internet Protocol adalah perekat yang menyatukan
internet bersama-sama. Sejak awal IP dirancang untuk tujuan
internetworking. Tugasnya adalah menyediakan cara terbaik
untuk membawa datagram dari sumber ke tujuan, tanpa
7
memperdulikan apakah mesin yang bersangkutan berada pada
jaringan yang sama atau tidak, serta terdapat jaringan-jaringan
lainnya antara sumber dan tujuan atau tidak.
Sebuah diagram IP terdiri dari bagian header dan
bagian teks. Header mempunyai bagian tetap sebesar 20 byte
dan bagian optimal yang panjangnya dapat berubah-ubah.
2.2.2
Internet Protocol Address (IP Address)
Setiap host dan router di internet memiliki alamat IP,
yang
meng-encode
nomor
jaringan
dan
nama
host.
Kombinasinya bersifat unik : tidak ada dua mesin yang
memiliki alamat IP yang sama. Semua alamat IP mempunyai
panjang 32 bit dan digunakan dalam field-field source address
paket IP. Mesin-mesin yang terhubung ke jaringan yang
banyak mempunyai alamat-alamat yang berbeda pada masingmasing jaringan.
Format-format A, B, C dan D mengizinkan sehingga
126 jaringan dengan masing-masing 16 juta host, 16382
jaringan dengan 64 K host, 2 juta jaringan masing-masing 254
host dan multicast, dimana datagram ditujukan ke sejumlah
host. Alamat jaringan yang berupa nomor dengan panjang 32
bit, biasanya ditulis dalam bentuk notasi desimal bertitik.
Untuk setiap 4 byte ditulis dengan bilangan desimal mulai 0
sampai 255. Alamat IP terendah adalah 0.0.0.0 dan data yang
tertinggi adalah 255.255.255.255.
8
2.2.3
World Wide Web (WWW)
World Wide Web adalah koleksi informasi yang
sangat luas yang tersebar ratusan ribu komputer. World Wide
Web merupakan jaringan beribu komputer yang semuanya
dibagi menjadi dua kategori yaitu client dan server. Melalui
penggunaan software khusus dibentuk sebuah jaringan yang
disebut jaringan client-server. World Wide Web adalah
sebuah jaringan terdistribusi dimana tidak terdapat komputer
pusat. Sebuah server di web tidak berfungsi, tidak akan
mempengaruhi server lain.
Server
menyimpan
informasi
dan
memproses
permintaan client. Kemudian mengirimkan informasi yang
diminta kepada client. Informasi mengandung semua jenis
data termasuk gambar, suara dan teks. Server juga
mengirimkan
perintah-perintah
kepada
client
tentang
bagaimana menampilkan semua informasi. Instruksi tersebut
dikirim dalam bentuk HTML.
Kehebatan World Wide Web adalah tidak pernah tahu
ke mana Anda pergi dan siapa yang perlu Anda hubungi.
Hypertext mengaitkan lompatan otomatis dan memanggil
informasi dari komputer mana saja yang diperlukan tanpa
interaksi khusus dari pemakai. World Wide Web adalah yang
paling berguna dari semua layanan internet.
2.2.4
Arsitektur Aplikasi Web
Pada tingkat yang paling rendah, web bekerja pada
arsitektur client server yang berarti antara keduanya baik
sentral server dan aplikasi client bertanggungjawab pada
9
sejumlah proses, secara detail arsitektur aplikasi web
digambarkan pada gambar 2.1. Berbeda dengan program lain
yang dapat berjalan tanpa bantuan server.
Relational Database
(My SQL, Oracle, MSQL)
Web Server
Middleware
(Apache, IIS,...dsb)
(PHP, Coldfusion, ASP, ISP)
Web Browser
Internet
(Internet Explorer, Netscape)
Gambar 2.1 Arsitektur Aplikasi Web
Berikut ini beberapa penjelasan dari gambar 2.1 arsitektur aplikasi
web diatas :
a. Client
Aplikasi client tunggal yang dapat dikembangkan
melalui My SQL dan PHP adalah web browser dan bahasa
utama dari web browser adalah HTML yang menyedi akan
sekumpulan
teks
yang
ditampilkan.
10
menjelaskan
bagaimana
teks
b. Server
Kebanyakan dari seluruh pekerjaan aplikasi web
terletak di server, aplikasi tersebut disebut sebagai web server
yang akan bertanggung jawab untuk berkomunikasi dengan
browser yang ada pada client.
c. Sistem Operasi
Web server, bahasa pemograman, database server
harus bekerja dengan sistem operasi. Data base server adalah
server yang menangani database. Banyak sekali sistem
operasi yang populer saat ini, seperti Windows 98, Windows
NT/2000, Macintosh, Unix, Linux dan masih banyak lagi
lainnya.
d. Web Server
Web server merupakan penyimpan data web. Misalnya
komputer A menyimpan data web miliknya sendiri. Ia
memberikan service kepada komputer lain yang ingin
mengakses data web tersebut (tentunya bila sudah ada koneksi
antara komputer A dengan komputer lainnya tersebut).
Hampir semua pekerjaan dari aplikasi web berada di server.
Aplikasi web server tersebut bisa berupa Apache (web server
yang bekerja pada Windows OS dan merupakan komponen
kunci dari Microsoft ASP) dan sebagainya.
e. Middleware
PHP termasuk dalam class bahasa middleware. Bahasa
ini bekerja pada web server sebagai interpreter permintaan
dari client, memproses permintaan, menghubungkan dengan
program-program lain diserver untuk memenuhi permintaan
dan kemudian dikirimkan kembali ke browser client.
11
f. Relational Database
Relational Database Management System (RDBMS)
menyediakan cara yang terbaik untuk menyimpan dan
mengakses suatu informasi yang komplek. Beberapa RDBM
komersial yang populer antara lain : Oracle, MSSQL Server,
IBM db2 sebagai tambahan untuk My SQL pada saat ini
terdapat dua open source RDBMS yang besar yaitu :
PostgressQL dan My SQL.
2.3 Web Service
Web service adalah sebuah software aplikasi yang tidak
terpengaruh oleh platform yang menyediakan method-method yang
dapat diakses oleh network. Web service juga akan menggunakan
XML untuk pertukaran data, khususnya pada dua entities bisnis yang
berbeda.
Discover
(UDDI,ebXML registries)
XML
Describe
(WSDL)
Communication Layer
(HTTP, SMTP, other
protocol)
Gambar 2.2 Arsitektur Web Service
12
Gambar 2.2 memberikan gambaran tentang susunan layer
yang terdapat dalam sebuah web service. Pada tingkat tinggi adalah
Discover yang berupa UDDI, kemudian di bawahnya terdapat
Describe yang berupa WSDL. Pada tingkat di bawahnya terdapat
Access yang berupa SOAP, kemudian di bawahnya merupakan XML,
barulah pada tingkat dasar terdapat Communication Layer seperti
HTTP.
1. Discover Web Service
Client
Application
2. See how to call web service
3. Access web service with
SOAP
4. Receive SOAP message response
UDDI
registry
WSDL for
Web service A
Web
Service
A
Gambar. 2.3 Skenario umum penggunaan web service.
Skenario penggunaan web service dapat dilihat pada gambar
2.2. Pada gambar tersebut client application meminta layanan kepada
UDDI registry, kemudian melihat bagaimana pemanggilan web
service setelah diperoleh WSDL dari layanan yang diinginkan. Tahap
selanjutnya adalah mengakses web service dengan menggunakan
SOAP untuk pertukaran data dan diperoleh layanan yang diinginkan.
Pertukaran data dalam web service menggunakan Extensible
Markup Language (XML), sehingga apabila terjadi perubahan pada
aplikasi yang mengakses web service yang sama, aplikasi lain tidak
perlu melakukan perubahan.
13
2.3.1 Extensible Markup Language
XML
merupakan
sebuah
meta-language
untuk
mendeskripsikan data, dan digunakan untuk merepresentasikan data
tanpa tergantung kepada sistem yang digunakan. Selain itu, XML
juga dapat digunakan sebagai extention markup languages atau
digunakan sebagai ekstensi untuk file XML.
XML merepresentasikan data ke dalam sebuah dokumen yang
terstruktur, karena dituliskan dengan menggunakan tag seperti halnya
file HTML. Tag XML bersifat extensible yang memungkinkan
seorang desainer sistem untuk menuliskan sendiri tag XML-nya. Tag
didefinisikan
menggunakan
XML
schema
language,
yang
mendefinisikan struktur dari file XML tersebut.
Sebuah Document Type Definition schema adalah bagian dari
spesifikasi XML. Pemanggilan schema yang ditulis dalam bahasa ini
disebut sebagai DTD. DTD ini juga mendefinisikan tag atau atribut
mana yang sangat diperlukan dan mana yang bersifat optimal.
2.3.2 Simple Object Access Protocol (SOAP)
SOAP merupakan sebuah XML-based markup language yang
digunakan untuk pergantian pesan antar aplikasi. Oleh karena itu,
SOAP berfungsi sebagai amplop yang digunakan untuk pertukaran
data di dalam jaringan.
SOAP dapat dikatakan sebagai gabungan antara HTTP dan
XML, karena pada umumnya SOAP menggunakan protocol HTTP
sebagai sarana komunikasi dan data yang dipertukarkan ditulis dalam
format XML. Oleh karena itu SOAP memungkinkan pihak-pihak
yang mempunyai perbedaan platform, sistem operasi, dan software
dapat melakukan pertukaran data.
14
2.3.3 NuSOAP
NuSOAP adalah sebuah kumpulan class-class PHP yang
memungkinkan user untuk mengirim dan menerima pesan SOAP
melalui protokol HTTP. NuSOAP didistribusikan oleh NuSphere
Corporation sebagai open source toolkit di bawah lisensi GNU
LGPL.
Salah satu keuntungan dari NuSOAP adalah bahwa NuSOAP
bukan merupakan PHP extension, sehingga penggunaannya tidak
membutuhkan registrasi khusus ke Sistem Operasi maupun web
server. NuSOAP ditulis dalam kode PHP murni sehingga semua
developer web dapat mengunakan tool ini tanpa tergantung pada jenis
web server yang digunakan.
NuSOAP merupakan toolkit web service berbasis komponen.
NuSOAP memiliki sebuah class dasar yang menyediakan method
seperti serialisasi variabel dan pemaketan SOAP-Envelope. Interaksi
web service dilakukan dengan class client yang disebut dengan class
“soapclient”
dan
class
server
yang
disebut
dengan
class
“soap_server”. Class-class ini mengizinkan user untuk melakukan
proses pengiriman dan penerimaan pesan-pesan SOAP dengan
bantuan beberapa class-class pendukung lainnya untuk melengkapi
proses tersebut.
Operasi-operasi pengiriman pesan SOAP dijalankan dengan
melibatkan paramater nama operasi yang diinginkan melalui method
call(). Jika web service yang dituju menyediakan sebuah file WSDL,
maka class “soapclient” akan mengacu langsung pada URL file
WSDL tersebut dan menggunakan class “wsdl” untuk mem-parsing
file WSDL dan mengekstrak seluruh datanya. Class “wsdl”
15
menyediakan method-method untuk mengekstrak data per-operasi
dan per-binding.
Class “soapclient” menggunakan data dari file WSDL untuk
menerjemahkan parameter-parameternya sekaligus menyusun SOAP
envelope ketika user mengeksekusi suatu pemanggilan service.
Ketika pemanggilan ini dieksekusi, class “soapclient” menggunakan
“soap_transport_http” untuk mengirim pesan SOAP request dan
menerima pesan SOAP response. Selanjutnya pesan SOAP response
yang diterima di-parsing dengan menggunakan class “soap_parser” .
Berikut ini adalah diagram proses web service dengan
menggunakan NuSOAP:
Gambar 2.4 Diagram proses web service dengan NuSOAP
2.3.4 Web Service Description Language (WSDL)
WSDL merupakan sebuah XML-based markup language
untuk mendeskripsikan XML, yang menyediakan service request
dengan
menggunakan
protocol
yang berbeda.
WSDL akan
menjembatani komunikasi antar aplikasi.
Terdapat 7 elemen utama dlam sebuah dokumen WSDL (JENI, 2008) :
a. Types (elemen <type>) – berfungsi untuk mendefinisikan tipe
data yang akan digunakan dalam pertukaran data.
16
b. Message
(elemen
<message>)
–
berfungsi
untuk
mendefinisikan format pesan. Pesan ini digunakan sebagai
struktu input atau output untuk setiap layanan yang disediakan.
c. Operation
(elemen
<operation>)
–
berfungsi
untuk
mendefinisikan sebuah operasi dan input atau output yang
berkaitan dengan operasi tersebut.
d. Port
type
(elemen
<port
type>)
–
berfungsi
untuk
mendefinisikan sekumpulan operasi yang terdapat dalam
layanan.
e. Binding (elemen <binding>) – berfungsi untuk memetakan
operasi-operasi dan pesan yang telah didefinisikan pada port
type ke protocol tertentu.
f. Port (elemen <port>) – berfungsi untuk memetakan binding ke
lokasi dari sebuah web service.
g. Service (elemen <service>) – berfungsi untuk mendefinisikan
sekumpulan port-port yang saling berhubungan.
2.3.5 Universal Description, Discovery, and Integration (UDDI)
UDDI merupakan sebuah service registry bagi pengalokasian
web service, yang mengkombinasikan SOAP dan WSDL untuk
pembentukan registry API bagi pendaftaran dan pengenalan web
servive.
Dalam pencarian sebuah web service, consumer service
konsumen terlebih dahulu mengirimkan permintaan kepada UDDI
registry untuk mencari service yang diinginkan. Selanjutnya
consumer service akan mendapatkan deskripsi WSDL. Deskripsi
17
yang diperoleh ini kemudian digunakan oleh consumer service untuk
membuat pesan SOAP untuk berkomunikasi dengan web service
yang diinginkan.
Oleh karena itu UDDI dapat diartikan sebagai sebuah
framework yang mendefinisikan XML-based registry dimana suatu
organisasi dapat meng-upload service yang mereka berikan.
2.4 Entity Object
Entitas bertugas merepresentasikan tabel dalam basis data
relasional. Sebuah entitas tidak terbatas hanya dalam entity class saja,
karena sebuah entitas dapat menggunakan bantuan dari kelas lainnya.
Kelas entitas dapat memiliki relasi dengan beberapa kelas entitas
lainnya, dan setiap relasinya diekspresikan dengan relational
metadata, sedangkan persistence properties akan menggunakan
anotasi relational mapping dalam memetakan entitas beserta
hubungannya dengan entitas lain ke dalam basis data relasional yang
digunakan.
Dalam sebuah entitas, terdapat beberapa hal yang harus
diperhatikan, antara lain (Jendrock, dkk, 2008) :
a. Sebuah
class
harus
dilengkapi
dengan
anotasi
javax.pesistence.Entity.
b. Sebuah class dapat menggunakan access modifier public
ataupun protected, tanpa argument-constructor, tetapi sebuah
entitas dimungkinkan memiliki sebuah constructor.
c. Sebuah class entitas tidak dapat dideklarasikan final, hal ini
berlaku juga pada method dan variabel persistence instance
yang berkaitan.
18
d. Sebuah entitas dapat melakukan extend baik dengan entitas
maupun kelas non-entitas, dan kelas non-entitas juga dapat
melakukan extend terhadap beberapa kelas entitas.
e. Apabila sebuah entitas memiliki primary key yang nantinya
akan menjadi primary key pada tebel basis data, maka kelas
entitas yang berkaitan harus bersifat serializable dan memiliki
hak akses public, baik access control modifier, property dari
primary key class, serta class constructor. Selain kelas entitas
diharuskan untuk melakukan implement terhadap method
hashCode() serta equals (Object object).
19
Download