• Tidak ada hasil yang ditemukan

Web Service Sebagai Metode Penghubung Antaraplikasi Komputer Dengan Bahasa Pemrograman Yang Berbeda

N/A
N/A
Protected

Academic year: 2016

Membagikan "Web Service Sebagai Metode Penghubung Antaraplikasi Komputer Dengan Bahasa Pemrograman Yang Berbeda"

Copied!
93
0
0

Teks penuh

(1)

PEMROGRAMAN YANG BERBEDA

SKRIPSI

LITA ELISABETH 031401054

PROGRAM STUDI S-1 ILMU KOMPUTER

DEPARTEMEN ILMU KOMPUTER

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

UNIVERSITAS SUMATERA UTARA

(2)

SKRIPSI

Diajukan untuk melengkapi tugas dan memenuhi syarat mencapai gelar Sarjana Komputer

LITA ELISABETH 031401054

PROGRAM STUDI S-1 ILMU KOMPUTER DEPARTEMEN ILMU KOMPUTER

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA

(3)

Judul : WEB SERVICE SEBAGAI METODE PENGHUBUNG

ANTARAPLIKASI KOMPUTER DENGAN

BAHASA PEMROGRAMAN YANG BERBEDA

Kategori : SKRIPSI

Nama : LITA ELISABETH

Nomor Induk Mahasiswa : 031401054

Program Studi : SARJANA (S1) ILMU KOMPUTER

Departemen : ILMU KOMPUTER

Fakultas : MATEMATIKA DAN ILMU PENGETAHUAN

ALAM (FMIPA) UNIVERSITAS SUMATERA UTARA

Diluluskan di

Medan, Maret 2010

Komisi Pembimbing :

Pembimbing 2, Pembimbing 1,

Drs. M. Syafi’i Siregar, MA Drs. James Piter Marbun, M.Kom NIP. 195611131986011001 NIP. 195806111986031002

Diketahui/Disetujui oleh

Departemen S1 Ilmu Komputer FMIPA USU Ketua,

(4)

PERNYATAAN

WEB SERVICE SEBAGAI METODE PENGHUBUNG ANTARAPLIKASI KOMPUTER DENGAN BAHASA PEMROGRAMAN YANG BERBEDA

SKRIPSI

Saya mengakui bahwa skripsi ini adalah hasil kerja saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya.

Medan, Maret 2010

(5)

PENGHARGAAN

Puji dan syukur penulis panjatkan kepada Tuhan Yesus Kristus Yang Maha Pemurah dan Maha Penyayang, dengan limpah karunia-Nya tugas akhir ini berhasil diselesaikan dalam waktu yang ditetapkan.

Ucapan terima kasih penulis sampaikan kepada Bapak Drs. James Piter Marbun, M.Kom dan Drs.Syafi’i selaku pembimbing pada penyelesaian tugas akhir ini yang telah memberikan panduan dan kepercayaan penuh kepada penulis untuk menyempurnakan kajian ini. Serta kepada Bapak Prof. Dr. Muhammad Zarlis dan Bapak M. Andrri B, ST, MCompSc, MEM selaku pembanding. Bimbingan ringkas, padat, dan profesional telah diberikan kepada penulis agar penulis dapat menyelesaikan tugas ini. Ucapan terima kasih juga ditujukan kepada Ketua Departemen Ilmu Komputer, Bapak Prof. Dr. Muhammad Zarlis, dan Sekretaris Departemen Ilmu Komputer, Bapak Syahriol Sitorus, S.Si, M.I.T, Dekan dan Pembantu Dekan Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Sumatera Utara, semua dosen di Departemen Ilmu Komputer FMIPA USU, pegawai di Ilmu Komputer FMIPA USU. Ungkapan terima kasih yang tak terkira kepada Ayahanda B. Rajagukguk, Ibunda K. Br Sinaga, abangku, Jan Peter Alexander, dan adikku, Tessa Saskia yang selama ini memberikan bantuan, doa, dan dorongan semangat yang diperlukan, serta rekan-rekan kuliah angkatan 2003, khususnya Ita, Siska, Adi, Syafi’i, dan Dicky yang selalu memberikan semangat dan dukungan. Semoga Tuhan Yesus Kristus memberikan limpahan karunia kepada semua pihak yang telah memberikan bantuan, perhatian, dan kerja samanya kepada penulis dalam menyelesaikan tugas akhir ini.

(6)

ABSTRAK

(7)

WEB SERVICE AS A METHOD FOR CONNECTING COMPUTER APPLICATIONS WITH DIFFERENT PROGRAMMING LANGUAGES

ABSTRACT

(8)

DAFTAR ISI

1.4 Tujuan Penelitian 2

1.5 Manfaat Penelitian 3

1.6 Metode Penelitian 3

1.7 Sistematika Penulisan 4

BAB 2 TINJAUAN PUSTAKA 5

2.1 Sejarah Perkembangan Web Service 5

2.1.1 Sejarah Web 5

2.1.2 Web Service 7

2.2 Definisi Web Service 9

2.3 Komponen Web Service 11

2.3.1 HTTP 11

2.3.2 XML 13

2.3.3 WSDL 19

2.3.4 SOAP 20

2.3.4.1.Manfaat SOAP 21

2.3.4.2.Kelemahan SOAP 22

2.3.5 UDDI (Universal Description, Discovery,

Integration) 22

2.4 Cara Kerja Web Service 23

2.5 Software Yang Dibutuhkan 28

2.5.1 XAMPP 28

2.5.2 Sun Java SDK 28

3.1 Sejarah perkembangan java 29

3.2 Kelebihan java 30

(9)

2.5.3 Netbeans IDE 32

BAB 3 ANALISIS PERANCANGAN WEB SERVICE 34

3.1 Analisis Masalah 34

3.2 Penyelesaian Masalah 34

3.3 Perancangan Web Service 35

3.4 Perancangan Antarmuka 38

BAB 4 IMPLEMENTASI PERANGKAT LUNAK 40

4.1 Implementasi Web Service 40

4.2 Implementasi Web Service pada server 40 4.3 Implementasi Web Service pada sisi klien 43

BAB 5 PENUTUP 55

5.1 Kesimpulan 55

5.2 Saran 55

DAFTAR PUSTAKA 57

(10)

DAFTAR GAMBAR

Halaman

Gambar 2.1 Web Browser pertama, Mosaic 7

Gambar 2.2 Tampilan dokumen XML pada browser 15 Gambar 2.3 Contoh diagram hirarki pohon pada dokumen XML 16 Gambar 2.4 Dokumen XML yang digabung dalam HTML 18 Gambar 2.5 Proses perpesanan menggunakan SOAP 21

Gambar 2.6 Contoh transaksi Web Service 23

Gambar 2.7 Perusahaan mengambil data WSDL dari UDDI untuk dapat

mengakses Web Service perusahaan B 24

Gambar 2.8 Perusahaan A mengirim pesan SOAP kepada perusahaan B 27 Gambar 3.1a Flowchart tahap pembuatan Web Service pada sisi server 36 Gambar 3.1b Flowchart tahap pembuatan Web Service (lamjutan) 37 Gambar 3.2 Tahap pembuatan Web Service pada sisi klien 37 Gambar 3.3 Perancangan antarmuka aplikasi Web Service 38

Gambar 4.1 Database student di phpMy Admin 41

Gambar 4.2 Web Service yang sudah aktif 42

Gambar 4.3 XAMPP Control Panel 42

Gambar 4.4 Task Manager 43

Gambar 4.5 Tampilan awal program perekaman data pada klien 44 Gambar 4.6 Mengambil data murid yang sudah ada di server 44 Gambar 4.7 Data pertama yang ada pada server 45

Gambar 4.8 Data kedua dari server 45

Gambar 4.9 Data yang akan disunting 46

Gambar 4.10 Penyuntingan data klien 46

Gambar 4.11 Penyuntingan data pada server berhasil dilakukan 47 Gambar 4.12 Tampilan setelah tombol ”tambah siswa” 47

Gambar 4.13 Data yang akan ditambahkan 48

Gambar 4.14 Tampilan awal setelah penambahan data murid 48

Gambar 4.15 Data yang ditambahkan 49

Gambar 4.16 Tampilan setelah tombol ”sunting” diaktifkan kembali 49 Gambar 4.17 Penambahan data pada server berhasil dilakukan 50

Gambar 4.18 Data yang akan dihapus 50

Gambar 4.19 Tampilan setelah tombol ”hapus ” ditekan 51 Gambar 4.20 Data terakhir setelah data kedua dihapus 51 Gambar 4.21 Penghapusan data pada server berhasil dilakukan 52 Gambar 4.22 Ketiadaan server dilihat dari Task Manager 52

Gambar 4.23 Tampilan awal aplikasi klien 53

Gambar 4.24 Tampilan aplikasi klien saat server tidak dapat diakses 53 Gambar 4.25 Aplikasi klien tidak berfungsi dengan benar karena tidak adanya

(11)

ABSTRAK

(12)

WEB SERVICE AS A METHOD FOR CONNECTING COMPUTER APPLICATIONS WITH DIFFERENT PROGRAMMING LANGUAGES

ABSTRACT

(13)

BAB I

PENDAHULUAN

1.1 Latar Belakang

Seiring dengan perkembangan internet, teknologi komputer juga terus berkembang. Banyak program dan sistem komputer dikembangkan untuk semakin memutakhirkan aplikasi agar dapat digunakan di internet. Sebuah organisasi dapat memiliki banyak aplikasi komputer yang dibuat dengan bahasa pemrograman dan platform yang berbeda-beda. Masalah timbul ketika aplikasi-aplikasi tersebut perlu beroperasi bersama untuk melakukan suatu fungsi layanan tertentu.

Agar masalah perbedaan bahasa pemrograman ini tidak menjadi penghambat bagi aplikasi dalam berkomunikasi dan bertukar data, maka dirancanglah suatu metode bernama Web Service. Pada dasarnya, Web Service memandang aplikasi sebagai sebuah service dalam web. Penggunaan protokol transport HTTP dan format data XML dalam Web Service sebagai standar web yang sudah umum dipakai, memungkinkan untuk menghubungkan berbagai service dalam web tanpa menyinggung masalah perbedaan bahasa pemrograman yang ada.

1.2 Perumusan Masalah

Adapun permasalahan dalam penggunaan Web Service yang akan dibahas pada tugas akhir ini adalah sebagai berikut

a Mengapa Web Service dapat mengatasi masalah penggunaan bahasa pemrograman dan aplikasi yang beraneka ragam dalam pertukaran data.

(14)

c Standar protokol dan format data yang dibutuhkan dalam pengunaan Web Service untuk mengakses aplikasi.

1.3 Batasan Masalah

Adapun batasan dalam penelitian masalah yang terdapat dalam penggunaan Web Service sebagai berikut ini

a Format data yang digunakan dalam Web Service adalah XML (Extensible Markup Language)

b Standar Web Service yang dibahas meliputi: 1. WSDL ( Web Service Description Language) 2. UUDI (Universal Description and Integration) 3. SOAP (Simple Object Acsess Protocol)

1.4 Tujuan Penelitian

Tujuan yang ingin dicapai penulis dalam penulisan tugas akhir “Web Service Sebagai Metode Penghubung Antaraplikasi Komputer dengan Bahasa Pemrograman yang Berbeda ” ini adalah:

a Mampu memahami bagaimana Web Service dapat menjadi solusi persoalan perbedaan bahasa pemrograman antaraplikasi komputer.

b Mengetahui dan memahami baik materi dan pengaplikasian Web Service dalam suatu jaringan.

(15)

1.5 Manfaat Penelitian

Penelitian ini diharapkan dapat memberi manfaat untuk penggunaan Web Service dan pengembangan Web Service sehingga masalah perbedaan bahasa pemrograman dalam sistem jaringan komputer dapat teratasi.

1.6 Metode Penelitian

Penelitian dilakukan dalam beberapa tahap yang sistematis. Berikut adalah susunan tahap yang dilakukan dalam penelitian.

a Penelitian kepustakaan

Metode ini dilakukan dengan membaca berbagai sumber penelitian berupa buku-buku dan artikel-artikel di intenet.

b Diskusi

Pada tahap ini diskusi dilakukan dengan dosen pembimbing dan orang yang mahir dalam pembelajaran ini sehingga dapat memperoleh data yang lebih akurat.

c Analisis

Data yang diolah untuk kemudian dianalisis sehingga menjadi suatu informasi yang berguna.

d Perancangan

Sebuah sistem dirancang untuk mendukung dan mempertegas analisis yang telah dilakukan.

e Pengujian

Pada tahap ini dilakukan pengujian terhadap sistem yang telah dibuat. f Penyusunan tugas akhir

(16)

1.7 Sistematika Penulisan

Sistematika penulisan tugas akhir “Web Service Sebagai Metode Antaraplikasi Komputer dengan Bahasa Pemrograman yang Berbeda” ini dibagi atas lima bab, yaitu :

Bab 1 Pendahuluan

Bab 1 berisi masalah yang melatarbelakangi penyusunan tugas akhir, yaitu perbedaan bahasa pemrograman yang menghambat komunikasi antaraplikasi komputer dan metode yang digunakan untuk menyelesaikan masalah tersebut, yaitu dengan membangun Web Service.

Bab 2 Tinjauan Pustaka

Bab 2 mengandung penjelasan mengenai sejarah perkembangan web dan Web Service. Bab ini juga membahas mengenai definisi dan teori yang mendukung pembangunan Web Service, komponen-komponen Web Service berupa format data XML dan protokol transport HTTP, serta protokol standar Web Service, yaitu WSDL, UUDI, dan SOAP. Bab ini juga membahas software yang digunakan untuk membangun Web Service.

Bab 3 Analisis dan Perancangan Sistem Web Service

Bab ini berisikan analisis masalah dan perancangan Web Service secara fungsional dan struktural dengan contoh sistem perekaman data murid.

Bab 4 Implementasi dan Sistem Keamanan

Pada bab ini dijabarkan rangkuman implementasi dan pengujian Web Service sistem perekaman data murid untuk menemukan

kelebihannya dalam mempermudah pertukaran data dan informasi.

Bab 5 Penutup

(17)

BAB II

TINJAUAN PUSTAKA

2.1 Sejarah Perkembangan Web

2.1.1 Sejarah Web

Sejarah Web bermula di European Laboratory for Particle Physics (yang lebih dikenal dengan nama CERN), di kota Geneva dekat perbatasan Perancis dan Swiss. CERN merupakan suatu organisasi yang didirikan oleh 18 negara di Eropa. Di tahun 1980, seorang Inggris Tim Berners-Lee, kontraktor independen di ENQUIRE, sebuah basis data personal dan model software, juga berkesempatan untuk bermain dengan konsep hypertext; dimana setiap halaman informasi baru di ENQUIRE tersambung secara langsung ke halaman yang ada.

Tahun 1984, Tim Berners-Lee kembali ke CERN dan memperesentasikan masalah bahwa semua fisikawan di dunia butuh untuk melakukan berbagi data, sayangnya tidak ada perangkat keras dan perangkat lunak yang memungkinkan hal itu terjadi. Atasan Tim, Mike Sendall, meminta Tim untuk mengimplementasikan idenya di mesin workstation NeXT yang baru saja diterima oleh beberapa nama yang dipikirkan untuk itu, mulai dari Information Mesh, The Information Mine atau Mine of Information, akhirnya dipilihkan World Wide Web.

(18)

Sayangnya hanya dapat dijalankan di NeXT. Nicola Pellow kemudian membuat browser text sederhana yang dapat dioperasikan di hampir semua komputer.

Mei 1991, Paul Kunz dari Stanford Linear Accelerator Center (SLAC) mengunjungi perangkat lunak NeXT ke SLAC, dimana pustakawan Louise Addis mengadaptasikannya untuk sistem operasi VM/CMS di IBM mainframe untuk memperlihatkan katalog dari dokumen online di SLAC; Web ini merupakan Web Server pertama di luar Eropa dan pertama di Amerika Utara.

Pada tanggal 6 Agustus 1991, Tim Berners-Lee mem-posting resume singkat dari proyek World Wide Web di kelompok diskusi alt.hypertext. Tanggal ini ditandai sebagai pertama kali Web muncul secara publik di Internet.

“The WorldWideWeb (WWW) project aims to allow links to be made to any

information anywhere. [...] The WWW project was started to allow high energy

physicists to share data, news, and documentation. We are very interested in

spreading the web to other areas, and having gateway servers for other data.

Collaborators welcome!" — dari posting pertama Tim Berners-Lee.

Web browser pertama dibuat dengan berbasiskan pada teks. Untuk menyatakan

suatu link, dibuat sebarisan nomor yang mirip dengan suatu menu. Pemakai mengetikkan suatu nomor untuk melakukan navigasi di dalam Web. Kebanyakan software tersebut dibuat untuk komputer-komputer yang menggunakan Sistem

Operasi UNIX, dan belum banyak yang bisa dilakukan oleh pemakai komputer saat itu yang telah menggunakan Windows. Tetapi semua ini berubah setelah munculnya browser Mosaic dari NCSA (National Center for Supercomputing Applications).

Di bulan Mei 1993, Marc Andreesen dan beberapa murid dari NCSA membuat Web browser untuk sistem X-Windows yang berbasiskan grafik dan yang mudah

(19)

mengembangkan versi-versi Mosaic lainnya untuk komputer berbasis UNIX, NeXT, Windows, dan Macintosh.

Gambar 2.1 Web browser pertama, Mosaic

Pada tahun 1994, Marc Andreesen meninggalkan NCSA, dan kemudian bersama Jim Clark, salah satu pendiri dari Silicon Graphics, membuat Netscape versi pertama. Kehadiran Netscape ini menggantikan kepopuleran Mosaic sebagai Web browser dan bahkan sampai saat ini Netscape merupakan browser yang banyak

digunakan setelah Internet Explorer dari Microsoft. Pada tahun yang sama CERN dan MIT mendirikan suatu konsorsium yang dinamakan World Wide Web Consortium (W3C) yang bertugas untuk membangun standar bagi teknologi Web.

(20)

2.1.2 Web Service

Perkembangan Web Service terutama dipengaruhi oleh keinginan untuk menciptakan sebuah standar umum agar kerja sama bisnis dapat dilakukan dalam suatu jaringan komputer secara luas. Electronic Data Interchange (EDI) diperkenalkan pada tahun 1975 untuk menjawab kebutuhan ini. Sejak saat itu, selama 25 tahun telah muncul berbagai usaha dalam menghubungkan logika bisnis dalam sebuah jaringan: Common Object Request Broker Architecture, Distributed Component Object Model, Unix Remote Procedure Call, and Java Remote Method Invocation. Setiap teknologi ini gagal memperoleh simpati dari dunia bisnis. Semuanya masih digunakan sampai sekarang ini, tapi tidak secara luas.

EDI sulit diimplementasikan karena kompleksitasnya dan biaya yang tinggi. CORBA, yang banyak digunakan oleh para vendor sistem UNIX, dan DCOM, yang merupakan teknologi Microsoft, telah bersaing selama bertahun-tahun. Keduanya sulit bagi para pemrogram dan tidak pernah memperoleh dukungan dari kalangan industri. Unix RPC, tidak pernah dikembangkan di luar sistem UNIX. Demikian juga dengan teknologi Java RMI milik Sun.

Sebelum adanya Web, adalah mustahil mendapatkan dukungan seluruh vendor perangkat lunak besar untuk menyetujui sebuah standar protokol komunikasi bagi aplikasi web. Dan Web menjawab kebutuhan ini dengan membuat spesifikasi protokol transpor level bawah untuk standar komunikasi, dengan menggunakan HTTP yang berjalan pada TCP/IP. Dengan demikian, yang diperlukan selanjutnya adalah standar perpesanan dan enkapsulapsi data.

(21)

Pada bulan Desember tahun 1999, Microsoft mengadakan pertemuan dengan IBM dan perusahan-perusahaan lain untuk mempromosikan SOAP 1.0, yaitu spesifikasi bagi standarisasi protokol penyampaian pesan berbasis XML. SOAP memiliki banyak keunggulan, tetapi karena Microsoft yang menawarkannya, banyak perusahaan yang skeptis terhadapnya. IBM yang menyetujui pemikiran ini kemudian bekerja sama dengan Microsoft untuk mengembangkan SOAP 1.1.

Pada tahun 2000, SOAP memperoleh lebih banyak dukungan. IBM dan Microsoft masing-masing mengerjakan program untuk mendeskripsikan bagaimana untuk berhubungan dengan Web Service. Sehingga kemudian, di musim dingin tahun 2000, dengan adanya penggabungan spesifikasi dari IBM dan Microsoft, terciptalah Web Services Description Language.

Dengan SOAP dan WSDL, perusahaan dapat menciptakan dan mendeskripsikan Web Service miliknya. Tetapi tetap diperlukan cara untuk mempromosikan dan mengalokasikan Web Service. Maka pada Maret 2000, IBM, Microsoft, and Ariba mulai mengerjakan solusinya yang berupa Universal Description, Discovery, and Integration. Di bulan September tahun 2000, spesifikasi UDDI 1.0 diumumkan

SOAP, WSDL, and UDDI sebagai standar untuk menciptakan Web Services telah dibuat. Tetapi baru pada akhir tahun 2000, kelima vendor infrastruktur perangkat lunak besar mengumumkan komitmennya terhadap Web Service. Oracle, HP, Sun, IBM, and Microsoft menyatakan keinginannya untuk mendukung dan menggunakan standar Web Service dalam produk mereka.

2.2 Definisi Web Service

Kata ”Web Service” secara harfiah berarti layanan web. Ini benar namun belum sepenuhnya mencakup pengertian Web Service yang sebenarnya. Kata ”Web” pada Web Service mengarah pada penggunaan aplikasi Web Service pada suatu jaringan,

(22)

Web Service juga bisa dipakai dengan protokol lain seperti SMTP (Simple Mail

Transfer Protocol), tetapi sangat jarang dilakukan.

Sedangkan kata ”Service” pada Web Service mengacu pada aplikasi komputer yang digunakan untuk mendukung suatu layanan (service) tertentu. Berbagai jenis service ini melakukan komunikasi satu sama lain, baik itu berupa pengiriman data

koordinasi untuk melakukan suatu kegiatan maupun informasi yang akan diperoleh . Untuk dapat menghubungkan berbagai service tersebut tanpa memperhatikan perbedaan bahasa pemrograman, maka dirancanglah Web Service.

Definisi dari W3C (World Wide Web Consortium) menyatakan Web Service sebagai suatu sistem perangkat lunak yang didesain untuk mendukung interaksi mesin ke mesin pada suatu jaringan. Sedangkan menurut Michael C. Daconta, Web Service adalah aplikasi perangkat lunak yang dapat ditemukan, diuraikan, dan diakses berdasarkan pada XML dan protokol standar Web pada intranet, extranet, dan internet.

Web Service bertujuan untuk meningkatkan kolaborasi antar pemrogram dan

perusahaan, yang memungkinkan sebuah fungsi di dalam Web Service dapat dipinjam oleh aplikasi lain tanpa perlu mengetahui detil pemrograman yang terdapat di dalamnya.

Beberapa alasan digunakannya Web Service adalah sebagai berikut:

1. Web Service dapat digunakan untuk mentransformasikan satu atau beberapa class dan objek yang terpisah dalam satu ruang lingkup yang menjadi satu,

sehingga tingkat keamanan dapat ditangani dengan baik.

2. Web Service memiliki kemudahan dalam proses deployment-nya, karena tidak memerlukan registrasi khusus ke dalam suatu sistem operasi. Web Service cukup di-upload ke web server dan siap diakses oleh pihak-pihak yang telah diberikan otorisasi.

(23)

Web Service dapat diimplementasikan baik untuk lingkungan internal (intranet)

maupun untuk lingkungan publik (internet). Dalam lingkungan internal, Web Service memberikan kemudahan dan solusi baru untuk mengintegrasikan berbagai platform aplikasi yang ada dalam organisasi atau perusahaan. Pada lingkungan publik, Web Service akan memperbaharui konsep transaksi data berbasis internet, dan menawarkan

teknologi yang mampu mengintegrasikan data dari berbagai sumber data dalam organisasi atau perusahaan terkait maupun dengan rekan bisnis secara lebih mudah, sederhana, dan murah. Dan secara umum, Web Service akan mengubah paradigma para pengguna maupun pengembang perangkat lunak, dari berbasis API (application program interface) menjadi berbasis pesan (message-based).

2.3 Komponen Web Service

2.3.1 HTTP

Hypertext Transfer Protocol (HTTP) adalah sebua

yang digunakan unt

menggunakan

meminta/menjawab antar

tidak berstatus, dan generik yang dapat dipergunakan berbagai macam tipe dokumen.

Penggunaan HTTP pada umumnya berupa pengambilan sumber daya yang saling terhubung dengan tautan, yang disebut dengan dokume

menggunakan dokumen hypertext inilah,

kemudian membent

diakses dengan menggunakan HTTP diidentifikasi dengan menggunakan

(URL), menggunakan

(24)

dikenal sebagai user agent. Server yang meresponnya, yang juga menyimpan sumber daya seperti berkas HTML dan gambar, dikenal sebagai origin server. Di antara user agent dan origin server bisa terdapat penghubung, seperti tunnel, proxy, dan gateway.

Hingga kini, ada dua versi mayor dari protokol HTTP, yakni HTTP/1.0 yang menggunakan koneksi terpisah untuk setiap dokumen, dan HTTP/1.1 yang dapat menggunakan koneksi yang sama untuk melakukan transaksi. Dengan demikian, HTTP/1.1 bisa lebih cepat karena tidak membuang waktu untuk pembuatan koneksi berulang-ulang.

Pengembangan HTTP dikoordinasi oleh Konsorsium World Wide Web (W3C) dan Internet Engineering Task Force (IETF). Kedua grup ini bekerja dalam pengembangan standar HTTP yang menghasilkan beberapa dokumen

Dukungan untuk HTTP/1.1 yang belum disahkan (pada waktu itu dikenal

sebagai

pada tahun

oleh

da

bahwa hingga

mereka merupakan

HTTP/1.1 yang didefinisikan dalam

1997. Peningkatan dan pembaruan terhadap standar HTTP/1.1 dirilis dengan

dokumen

digunakan sekarang ini.

HTTP tidaklah terbatas untuk penggunaan dengan TCP/IP, meskipun HTTP merupakan salah satu protokol aplikasi TCP/IP paling populer melalui Internet. Memang HTTP dapat diimplementasikan di atas protokol yang lain di atas Internet atau di atas jaringan lainnya, tapi HTTP membutuhkan sebuah protokol lapisan transport yang dapat diandalkan.

(25)

XML terletak pada inti Web Service, yang digunakan untuk mendeskripsikan data. Fungsi utama dari XML adalah komunikasi antar aplikasi, integrasi data, dan komunikasi aplikasi eksternal dengan partner luaran. Dengan standarisasi XML, aplikasi-aplikasi yang berbeda dapat dengan mudah berkomunikasi antara satu dengan yang lain.

XML dikembangkan mulai tahun 1996 dan mendapatkan pengakuan dari W3C pada bulan Februari 1998. Teknologi yang digunakan pada XML sebenarnya bukan teknologi baru, tapi merupakan turunan dari SGML yang telah dikembangkan pada awal 80-an dan telah banyak digunakan pada dokumentasi teknis proyek-proyek berskala besar. Ketika HTML dikembangkan pada tahun 1990, para penggagas XML mengadopsi bagian paling penting pada SGML dan dengan berpedoman pada pengembangan HTML menghasilkan markup language yang tidak kalah hebatnya dengan SGML.

XML adalah singkatan dari eXtensible Markup Language. Bahasa markup adalah sekumpulan aturan-aturan yang mendefinisikan suatu sintaks yang digunakan untuk menjelaskan, dan mendeskripsikan teks atau data dalam sebuah dokumen melalui penggunaan tag. Bahasa markup lain yang populer seperti HTML, menggambarkan kepada web browser tentang bagaimana menampilkan format teks, data, dan grafik ke layar komputer ketika sedang mengunjungi sebuah situs web.

XML adalah sebuah bahasa markup yang digunakan untuk mengolah meta- data (informasi tentang data) yang menggambarkan struktur dan maksud/tujuan data yang terdapat dalam dokumen XML, namun bukan menggambarkan format tampilan data tersebut. XML adalah sebuah standar sederhana yang digunakan untuk mendeskripsikan data teks dengan cara self-describing (deskripsi diri). XML juga dapat digunakan untuk mendefinisikan domain tertentu lainnya, seperti musik, matematika, keuangan dan lain-lain yang menggunakan bahasa markup terstruktur.

(26)

<?xml version="1.0" encoding="ISO-8859-1"?><contact> <contact>

<name>Yadi Utama</name>

<company>PT. Gamatechno Indonesia</company> <address>Jl. Cik Di Tiro No.34</address> <city>Yogyakarta</city>

<state>Indonesia</state> <zip>55284</zip>

<phone>081328462499</phone>

<email>yadi@gamatechno.com</email> </contact>

Seperti HTML, XML juga menggunakan elemen yang ditandai dengan tag pembuka (diawali dengan ‘<’ dan diakhiri dengan ‘>’), tag penutup (diawali dengan ‘</ ‘diakhiri ‘>’) dan atribut elemen (parameter yang dinyatakan dalam tag pembuka, misalnya: <form name=”isidata”>). Tag pada dokumen XML bersifat case sensitif di mana tag pembuka dan tag penutup harus ekivalen. Seperti pada contoh, tag pembuka “<Buku>” harus ditutup dengan tag “</Buku>”.

Pada HTML tag dan atribut yang dipakai didefinisikan dari awal, sedangkan pada XML, tag dan atribut bisa digunakan sesuai dengan kehendak pemrogram. Berikut ini adalah tampilan dokumen XML dari program di atas apabila dijalankan pada sebuah browser.

(27)

Dokumen XML memiliki sintaks yang sederhana. Perhatikan kembali contoh dokumen XML contact person di atas. Baris pertama pada dokumen XML di atas adalah deklarasi header standar yang mendefinisikan versi XML dan karakter encoding yang digunakan dalam dokumen XML. Dalam dokumen ini, XML mengacu pada versi 1.0 dan menggunakan standar encoding karakter set ISO-8859-1 (Latin-1/West European). Perlu diingat bahwa header standar XML <?xml version=”1.0”

encoding=”iso-8859-1”?> bukanlah node instruksi. Header standar bukanlah

bagian dari hirarki pohon dokumen XML dan tidak turut dikompilasi.

Baris selanjutnya menggambarkan elemen induk (root) dokumen “<contact>..</contact>”. Kemudian baris ke 3-10 menggambarkan elemen anak (child) dari elemen induk dokumen (name, company, address, city, state, zip, phone, dan email). Dengan demikian, dapat diasumsikan bahwa dokumen XML ini mengandung data contact person milik orang yang bernama Yadi Utama.

Pada dasarnya, dokumen XML harus mempunyai elemen root, yang merupakan induk dari semua elemn lainnya. Elemen-elemen dalam dokumen XML membentuk struktur pohon. Struktur ini bermula dari root hingga ke bagian terbawah pohon. Semua elemen bisa memiliki subelemen (elemen child), teks, dan atribut (sama seperti HTML).

<root>

<child>

<subchild>…..</subchild>

</child>

</root>

Misalkan ada sebuah dokumen XML dengan sebuah elemen root

<bookstore>. Semua elemen <book> terkandung dalam <bookstore>. Dengan demikian, elemen <book> merupakan elemen child dari elemen <bookstore>.

(28)

Gambar 2.3. Contoh diagram hirarki pohon pada dokumen XML

Struktur penulisan dokumen XML dari diagram di atas dapat ditulis sebagai berikut.

<bookstore>

<book category="COOKING">

<title lang="en">Everyday Italian</title> <author>Giada De Laurentiis</author> <year>2005</year>

<price>30.00</price> </book>

<book category="CHILDREN">

<title lang="en">Harry Potter</title> <author>J K. Rowling</author>

<year>2005</year> <price>29.99</price> </book>

<book category="WEB">

<title lang="en">Learning XML</title> <author>Erik T. Ray</author>

<year>2003</year> <price>39.95</price> </book>

</bookstore>

Pada penjelasan sebelumnya, diberikan contoh sebuah dokumen XML yang berisi data contact person yang terdiri dari elemen “name”, “company”, “address”, “city”, “state”, “zip”, “phone”, dan “email”. Tidak seperti HTML, data-data dalam dokumen XML tidak dapat ditampilkan dalam format tampilan tertentu dalam web browser. Namun XML dapat dimanipulasi sebagai “pulau data” untuk ditampilkan

(29)

Dokumen XML tersebut dapat digabungkan dengan HTML untuk ditampilkan dalam sebuah web browser dengan membangun sebuah tabel dalam kode HTML dan mengasosiasikan nilai pada kolom-kolomnya dengan data dari elemen-elemen XML tersebut. <address>Jl. Cik Di Tiro No.34</address> <city>Yogyakarta</city>

(30)

Gambar 2.4 Dokumen XML yang digabung dalam HTML

XML untuk saat ini bukan merupakan pengganti HTML. Masing-masing dikembangkan untuk tujuan yang berbeda. Jika HTML digunakan untuk menampilkan informasi dan berfokus pada bagaimana informasi terlihat, maka XML mendeskripsikan susunan informasi dan berfokus pada informasi itu sendiri. XML terutama dibutuhkan untuk menyusun dan menyajikan informasi dengan format yang tidak mengandung format standar layaknya heading, paragraph, table dan lain sebagainya.

Sama dengan HTML, file XML berbentuk teks sehingga bila diperlukan dapat dibaca tanpa memerlukan bantuan software khusus. Hal ini memudahkan pengembang aplikasi yang menggunakan XML untuk men-debug programnya. XML lebih fleksibel dibanding HTML dalam hal kemampuannya menyimpan informasi dan data. Pada XML, data bisa disimpan, baik dalam atribut maupun sebagai isi elemen yang diletakkan di antara tag pembuka dan tag penutup.

Kelebihan lain yang dimiliki XML adalah bahwa informasi bisa dipertukarkan dari satu sistem ke sistem lain yang berbeda platform. Misalnya dari Windows ke Unix, atau dari PC ke Macintosh, bahkan dari internet ke handphone dengan teknologi WAP.

2.3.3 WSDL (Web Service Description Language)

WSDL adalah sebuah dokumen yang diajukan oleh World Wide Consortium (W3C) untuk mendeskripsikan service. Dokumen WSDL dibentuk dengan format XML yang isinya menjelaskan spesifikasi operasi yang dapat dilakukan oleh sebuah service. WSDL dapat dikatakan sebagai “kontrak” yang menjamin service yang tersedia. WSDL menyediakan deskripsi lengkap Web Service berupa:

a. Nama Web Service dan informasi pengalamatan

(31)

c. Tipe informasi seperti operasi, parameter, dan tipe data yang membentuk antarmuka Web Service.

Dalam dokumen WSDL terdapat pernyataan versi XML yang dipakai. Kemudian sebuah komponen root Definition yang merupakan tag tertinggi dalam dokumen WSDL. Tag-tag lainnya harus berada di dalam tag ini. Di dalamnya terdapat berbagai atribut berupa sebuah Name (nama service) dan sebuah TargetNameSpace dan nol atau lebih namespaces. Namespaces digunakan untuk menghindari konflik penamaan ketika beberapa service atau aplikasi diintegrasikan.

Sebuah komponen Definition mengandung komponen-komponen berikut:

a. Types, mendefinisikan tipe data yang digunakan dalam pesan, misal XSD. Di dalam bagian ini didefinisikan tipe-tipe data kompleks yang digunakan oleh Web Service. Tipe data sederhana seperti integer, double, dan string tidak

didefinisikan lagi.

b. Message merupakan bagian yang mengandung informasi yang dibutuhkan untuk melakukan operasi, serta parameter input dan output apa saja yang akan digunakan.

c. Operation adalah sebuah deskripsi abstrak dari aksi yang dilakukan oleh service. Setiap operation dapat disamakan dengan method atau function call dalam sebuah bahasa pemrograman tradisional. Di sini aksi SOAP didefinisikan dan pesan di-encode.

d. Port Type, mendefinisikan operasi yang tersedia dalam Web Service dan pesan yang digunakan untuk melakukan operasi.

e. Binding, menspesifikasikan Port Type, mendefinisikan operasi, protokol yang digunakan untuk memanggil operasi tersebut (HTTP atau SMTP), bagaimana operasi tersebut dilakukan, dan gaya binding yang diterapkan (document atau RPC).

f. Port, mendefinisikan alamat jaringan Web Service. Bagian ini biasanya direperesentasikan dengan sebuah string url http sederhana.

(32)

2.3.4 SOAP

SOAP mulanya merupakan kepanjangan dari Simple Object Access Protocol. Namun seiring dengan perkembangan Web Service, kepanjangan tersebut tidak lagi dipakai. Dalam Web Service, SOAP merupakan format standar dokumen berbentuk XML yang digunakan untuk melakukan proses request dan response antara Web Service dengan aplikasi yang memanggilnya. Peran SOAP di dalam teknologi Web Service adalah sebagai protokol pemaketan untuk pesan-pesan yang digunakan secara bersama.

SOAP menjadi sangat mudah diterima oleh berbagai pihak, terutama oleh kalangan TI karena protokol ini memanfaatkan berbagai teknologi yang sudah ada dan telah banyak digunakan. Misalnya untuk protokol transport, yang paling sering digunakan adalah HTTP, walaupun dimungkinkan untuk menggunakan protokol transport lainnya. Sedangkan untuk format data, digunakan XML yang tidak diragukan lagi manfaat dan perannya di dalam pertukaran data.

SOAP menspesifikasikan secara jelas bagaimana cara untuk meng-encode header HTTP dan file XML sehingga program pada suatu komputer dapat memanggil

program pada pada komputer lain dan mengirimkan informasi, dan bagaimana program yang dipanggil memberikan tanggapan.

Sebuah pesan SOAP terdiri dari SOAP Envelop dan bisa terdiri dari Attachments atau tidak memiliki attachment. SOAP Envelop tersusun dari SOAP Header dan SOAP Body. SOAP Attachment membolehkan data non-XML untuk dimasukkan ke dalam pesan SOAP.

Method-1 Method-2 … Method-n

APLIKASI SOAP Response (XML)

(33)

Gambar 2.5 Proses Perpesanan menggunakan SOAP

Sebuah pesan SOAP adalah sebuah dokumen XML yang berisi elemen-elemen berikut.

a. Elemen envelope mengidentifikasi dokumen XML sebagai sebuah pesan SOAP.

b. Elemen header berisi informasi yang sifatnya tambahan dan opsional.

c. Elemen body berisi panggilan dan respon terhadap informasi yang dipertukarkan antara Web Service dan aplikasi.

d. Elemen fault berisi pesan kesalahan yang terjadi pada waktu proses. Elemen ini bersifat opsional.

2.3.4.1Manfaat SOAP

Adapun manfaat penggunaan SOAP dalam Web Service adalah sebagai berikut.

1. Menggunakan SOAP melalui HTTP memberikan kemudahan komunikasi melewati proxy dan firewall.

2. SOAP memungkinkan penggunaan protokol transpor yang berbeda. 3. SOAP adalah protokol independen.

4. SOAP adalah bahasa yang independen.

2.3.4.2Kelemahan SOAP

SOAP memiliki beberapa kelemahan seperti berikut ini.

1. SOAP lambat jika dibandingkan dengan teknologi middleware seperti CORBA. 2. Kebanyakan penggunaan HTTP sebagai protokol transport digunakan dengan

ketidaktahuan bagaimana operasi dapat dimodelkan dalam HTTP.

(34)

2.3.5 UDDI (Universal Description, Discovery, and Integration)

UDDI (Universal Description, Discovery, and Integration) adalah spesifikasi yang diakui secara luas untuk mendaftarkan suatu Web Service. UDDI mendefinisikan metadata dan protokol yang digunakan untuk mengetahui dan mengubah informasi dari Web Service. Registri ini dapat digunakan untuk jaringan publik maupun dalam sebuah infrastruktur internal organisasi.

UDDI menawarkan sebuah mekanisme berstandar untuk mengklasifikasi, mengkatalog, dan mengatur Web Services sehingga dapat ditemukan dan digunakan oleh aplikasi lain. Dengan demikian, UDDI menawarkan beberapa manfaat penting bagi sebuah organisasi, yakni:

1. Mempublikasikan informasi tentang Web Service dan mengkategorisasikan aturan-aturan yang spesifik pada sebuah perusahaan.

2. Menemukan Web Service (dalam sebuah organisasi atau dalam organisasi lain) yang memenuhi kriteria yang diperlukan.

3. Menentukan protokol transport dan keamanan yang didukung oleh Web Service dan parameter yang dibutuhkan untuk memanggil service.

4. Menyediakan cara untuk melindungi aplikasi (dan menyediakan routing intelijen) dari kegagalan atau perubahan dalam service.

Dalam UDDI, penyimpanan dilakukan dalam tiga cara yaitu:

1. Public UDDI, dianggap sebagai sumber (resource) bagi Web Service berbasis internet. Salah satu contohnya adalah UDDI Businnes Registry (UBR) yang terdiri dari IBM, Micosoft, SAP.

2. Intra Enterprise UDDI, merupakan tempat penyimpanan pribadi yang menyediakan service bagi kalangan internal suatu perusahaan.

(35)

2.4 Cara Kerja Web Service

Berikut contoh skenario cara kerja Web Service. Kasusnya berupa pengaksesan sistem permintaan stok perusahaan B oleh perusahaan A. Skenario awal diperlihatkan pada Gambar 2.6.

Gambar 2.6 Contoh transaksi Web Service

Pada gambar di atas, perusahaan A ingin menggunakan sistem permintaan stok yang disediakan oleh perusahaan B. Langkah pertama, perusahaan A harus mencari tahu tentang Web Service perusahaan B. Hal ini dilakukan dengan menggunakan regisri UDDI.

Dalam penggunaannya, ada kekuatiran yang muncul bahwa UDDI dapat digunakan oleh sembarang pihak. Hal ini tidak benar. Seperti transaksi bisnis pada umumnya, UDDI hanya dapat diakses oleh pihak-pihak yang telah saling mengenal dan bekerja sama.

Pada dasarnya, UDDI menyediakan cara untuk mempublikasikan informasi tentang Web Service terbaru yg tersedia. Atau untuk menyediakan informasi tentang antarmuka Web Service yang telah diubah. Sebuah contoh UDDI ditunjukkan pada program di bawah.

<find_business generic='1.0' xmlns='urn:uddi-org:api'> <name>Company B</name>

</find_business>

(36)

Gambar 2.7 Perusahaan A mengambil data WSDL dari UDDI untuk dapat mengakses web service perusahaan B

Untuk menyederhanakan contoh, diasumsikan perusahaan B hanya mempunyai satu buah Web Service. Maka respon dari UDDI berupa program di bawah ini.

<businessList generic="1.0" operator="Company B" truncated="false" xmlns="urn:uddi-org:api">

<businessInfos>

<businessInfo businessKey="cbfa05fb-277d-4b7e-a101-e6925b376c18">

<serviceInfo serviceKey="5f73eff6-7a85-41cf-99d9-66cda3a82e63"

Pada program di atas, terlihat nilai serviceKey untuk service permintaan stok. Perusahaan A dapat menggunakan nilai serviceKey untuk menghasilkan query untuk mendapatkan informasi binding mengenai service permintaan stok dengan menggunakan XML di program berikut ini.

<get_serviceDetail generic='1.0' xmlns='urn:uddi-org:api'>

<serviceKey>5f73eff6-7a85-41cf-99d9-66cda3a82e63</serviceKey> </get_serviceDetail>

(37)

<serviceDetail generic="1.0" operator="Company B" truncated="false" xmlns="urn:uddi-org:api">

<businessService serviceKey="be1a0b34-e2f1-4f4b-dae6-258c338ae358"

businessKey="cbea05fb-277d-4b7e-a101-e6925b376c18"> <name>Stock Ordering Service</name>

<description xml:lang="en">NYSE and Nasdaq Stock Ordering Service.</

description>

<bindingTemplates>

<bindingTemplate serviceKey="be1a0b34-e2f1-4f4b-aae6-258c338ae358"

bindingKey="00cbd2b2-2333-4f85-b144-369be3d95f7c">

<description xml:lang="en">NASDAQ and NYSE Stock Ordering Service with

<tModelInstanceInfo tModelKey="uuid:64c756d1-3374-4e00-ae83-ee12e38fae63">

<keyedReference tModelKey="uuid:a035a07c-f362-44dd-8f95-e2b134bf43b4"

keyName="KEYWORD" keyValue="STOCK"></keyedReference> </categoryBag>

</businessService> </serviceDetail>

Sekarang perusahaan A telah memiliki informasi yang cukup untuk mendapatkan dokumen WSDL dari perusahaan B. WSDL diperlukan perusahaan A untuk membangun pesan SOAP yang akan dikirimkan kepada service permintaan stok dari perusahaan B. Pesan WSDL ditunjukkan pada program berikut ini.

(38)

type="string"/>

<!-- request StockOrder is of type StockOrderRequest --> <wsdl:message name="GetLastTradePriceInput">

<wsdl:part name="body" element="xsd1:TradePriceRequest"/> </wsdl:message>

<wsdl:portType name="StockOrderPortType"> <wsdl:operation name="StockOrder">

<wsdl:input message="tns:StockOrderRequest"/> <wsdl:output message="tns:StockOrderRequest"/> </wsdl:operation>

</wsdl:portType>

<wsdl:binding name="StockOrderSoapBinding" type="tns:StockOrderPortType">

<soap:binding style="document" transport="http:// schemas.xmlsoap.org/soap/http"/>

<wsdl:operation name="GetLastTradePrice">

<soap:operation soapAction="http://www.stockquote.com/ StockOrder"/>

(39)

.

Gambar 2.8 Perusahaan A mengirim pesan SOAP kepada perusahaan B

Program di bawah ini menampilkan pesan SOAP yang dikirimkan perusahaan A kepada perusahaan B.

<SOAP-ENV:Envelope

xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"> <SOAP-ENV:Header>

</SOAP-ENV:Header> <SOAP-ENV:Body

<StockOrder:StockOrder

xmlns:StockOrder="https://www.stockorder.com/Stock"> <StockOrder:symbol>SGP</StockOrder:symbol>

<StockOrder:quantity>2000</StockOrder:quantity> <StockOrder:market>New York</StockOrder:market> </order:buy>

</SOAP-ENV:Body> </SOAP-ENV:Envelope>

Setelah ini, perusahaan B dapat memberikan pesan SOAP yang berisikan data permintaan stok yang diminta oleh perusahaan A. Dengan demikian kedua perusahaan tersebut bertukar data dengan menggunakan pesan SOAP.

2.5 Software yang Dibutuhkan

2.5.1 XAMPP

(40)

XAMPP juga memiliki phpMyAdmin, yaitu sebuah program untuk mengatur database MySQL.

Instalasi XAMPP dapat dilakukan dengan mudah, hanya dengan men-download programnya di www.sourceforge.net. Kemudian instal program tersebut di

direktori yang diinginkan. Tidak perlu ada perubahan di Windows registri dan tidak perlu untuk mengedit file konfigurasi. XAMPP mempunyai versi stabil yang tersedia untuk Windows, termasuk Vista dan untuk beberapa versi Linux. Sebagai tambahan, versi XAMPP juga tersedia untuk MAC dan Solaris, tetapi versi-versi ini masih baru dan belum teruji dan dikembangkan secara baik.

Sotware yang digunakan dalam tugas akhir ini adalah XAMPP 1.7.1, yang

terdiri dari software-software pendukung sebagai berikut: a. Apache HTTPD 2.2.11 + Openssl 0.9.8i

b. MySQL 5.1.33 c. PHP 5.2.9

d. phpMyAdmin 3.1.3.1 e. XAMPP CLI Bundle 1.3 f. FileZilla FTP Server 0.9.31

g. Mercury Mail Transport System 4.62

2.5.2 Sun Java SDK

Sun Java SDK adalah Java SDK yang diproduksi oleh Sun Microsystems, dimana Sun adalah pencipta Java itu sendiri. Sun Java SDK adalah sebuah produk open source dengan lisensi GPL. Source codenya dapat di-download di websitenya. Selain GPL, source code Sun Java SDK juga memiliki lisensi lain, yaitu SCSL dan JRL.

(41)

18 bulan, dari awal tahu Patrick Naughton, Mike Sheridan, pemrogram lainnya dari Duke yang dibuat ole

Pertemuan proyek berlangsung di sebuah gedung perkantoran Sand Hill Road d sebuah program Java Oak pertama, yang ditujukan sebagai pengendali sebuah peralatan dengan teknologi layar sentuh (touch screen), seperti pada PDA sekarang ini. Teknologi baru ini dinamai "*7" (Star Seven).

Setelah era Star Seven selesai, sebuah anak perusahaan orang dari proyek The Green Project tertarik untuk mengembangkannya. Mereka memusatkan kegiatannya pada sebuah ruangan kantor di 100 Hamilton Avenue, dalam waktu singkat dari 13 menjadi 70 orang. Pada rentang waktu ini juga ditetapkan pemakaian awal tahun 1990-an, Internet masih merupakan rintisan, yang dipakai hanya di kalangan

Perambah (browser perambah Java pertama yang dinamai Web Runner. Pada perkembangan rilis pertama, Web Runner berganti nama menjadi Hot Java. Mulanya, nama Oak akan dipakai sebagai nama program ini Nama ini diambil dari pohon oak yang tumbuh di depan jendela ruangan kerja "Bapak Java", karena sebuah perangkat lunak sudah terdaftar dengan merek dagang tersebut, sehingga diambil nama penggantinya menjadi "Java". Nama ini diambil dari kopi murni yang digiling langsung dari biji (kopi tubruk) kesukaan Gosling.

(42)

kemudian terjadi perpecahan di antara para pemimpin proyek pengembangan Java ini. Tiga dari pimpinan utama proyek,

2.5.2.2 Kelebihan Java

Java memiliki beberapa kelebihan, antara lain:

a. Multiplatform. Kelebihan utama dari Java ialah dapat dijalankan di beberapa platform

menulis sebuah program Java dan dikompilasi (diubah dari bahasa yang dimengerti manusia menjadi bahasa mesin/bytecode) sekali, lalu hasilnya dapat dijalankan di atas beberapa platform tanpa perubahan. Kelebihan ini memungkinkan sebuah program berbasis Java dikerjakan di sistem operasi Linux dan tetap dapat dijalankan dengan baik di sistem operasi Microsoft Windows. Platform yang didukung sampai saat ini adalah

b.

artinya semua aspek yang terdapat di Java adalah satu bahasa pemrograman berbasis objek secara murni. Semua tipe data diturunkan dari kelas dasar yang disebut Object. Hal ini sangat memudahkan pemrogram untuk me kesalahan sebuah program dengan basis Java secara cepat, tepat, mudah dan terorganisir. Kelebihan ini menjadikan Java sebagai salah satu bahasa pemograman termudah, bahkan untuk fungsi yang advance seperti antara komputer sekalipun.

c. Perpustakaan kelas yang lengkap. Java terkenal dengan kelengkapan library

(43)

didukung oleh keberadaan komunitas Java yang terus menerus membuat beragam perpustakaan baru untuk melingkupi seluruh kebutuhan pembangunan aplikasi. d. Bergaya C++. Java memiliki sintaks seperti bahasa pemrograman

menarik banyak pemrogram C++ untuk pindah ke Java. Saat ini pengguna Java sangat banyak, sebagian besar adalah pemrogram C++ yang pindah ke Java. Universitas-universitas di mengajarkan Java kepada murid-murid yang baru karena lebih mudah dipahami oleh murid dan dapat berguna juga bagi mereka yang bukan mengambil jurusan komputer.

e. Java memiliki fasilitas pengaturan penggunaan memori sehingga para pemrogram tidak perlu melakukan pengaturan memori secara langsung (seperti halnya dalam bahasa C++ yang dipakai secara luas).

2.5.2.3. Kekurangan Java

Selain berbagai kelebihan tersebut, Java juga memiliki beberapa kekurangan berupa:

a. Kompatibilitas. Masih ada beberapa hal dalam Java yang tidak kompatibel antara bridge sampai sekarang tidak berfungsi pad

b. Mudah dibajak. Program pada Java mudah didekompilasi. Dekompilasi adalah proses membalikkan dari kode jadi menjadi kode sumber. Ini dimungkinkan karena kode jadi Java merupakan bytecode yang menyimpan banyak atribut bahasa tingkat tinggi, seperti nama-nama kelas, metode, dan tipe data. Dengan demikian, algoritma yang digunakan program akan lebih sulit disembunyikan dan mudah dibajak/direverse-engineer.

(44)

(karena trend memori terpasang makin murah), tetapi menjadi masalah bagi mereka yang memiliki komputer dengan spesifikasi terdahulu.

2.5.3 NetBeans IDE

Banyak pihak telah membuat Pengembangan Terintegrasi) untuk Java. Beberapa di antaranya adalah:

a.

b.

c.

pemrogram menulis, mengompilasi, mencari kesalahan dan menyebarkan program. Netbeans IDE ditulis dalam Java - namun dapat mendukung bahasa pemrograman lain. Netbeans adalah salah satu IDE Java yang sangat komplit karena mendukung pengembangan semua tipe aplikasi Jav aplikasi

NetBeans dibentuk oleh Sun Microsystems pada bulan Juni 2000 sebagai proyek open source. Versi terkininya memiliki Matisse, sebuah GUI Editor yang menurut pendapat umum merupakan yang terbaik. NetBeans merupakan sebuah proyek open source yang sukses dengan pengguna yang sangat luas, komunitas yang terus tumbuh, dan memiliki hampir 100 mitra.

(45)

pengembangan Java dalam satu download, memungkinkan pengguna untuk segera bekerja. Pemrograman modular juga memungkinkan NetBeans untuk diperluas.

Fitur-fitur baru seperti dukungan untuk bahasa pemrograman lain, dapat ditambah dengan meng-instal modul tambahan. Sebagai contoh, Studio Enterprise, dan dibentuk berdasarkan NetBeans IDE.

(46)

BAB III

ANALISIS DAN PERANCANGAN WEB SERVICE

3.1 Latar Belakang Masalah

Seiring dengan perkembangan internet, teknologi komputer juga terus berkembang. Banyak program dan sistem komputer dikembangkan untuk semakin memutakhirkan aplikasi agar dapat digunakan di internet. Sebuah organisasi dapat memiliki banyak aplikasi komputer yang dibuat dengan bahasa pemrograman dan platform yang berbeda-beda. Masalah timbul ketika aplikasi-aplikasi tersebut perlu beroperasi bersama untuk melakukan suatu fungsi layanan tertentu.

3.2 Penyelesaian Masalah

Agar masalah perbedaan bahasa pemrograman tidak menjadi penghambat bagi aplikasi dalam berkomunikasi dan bertukar data maka dirancanglah suatu metode bernama Web Service. Pada dasarnya, Web Service memandang aplikasi sebagai sebuah service dalam web. Penggunaan protokol transport HTTP dan format data XML dalam Web Service sebagai standar web yang sudah umum dipakai, memungkinkan untuk menghubungkan berbagai service dalam web tanpa menyinggung masalah perbedaan bahasa pemrograman yang ada.

(47)

Program aplikasi yang dimiliki oleh server ini mempunyai beberapa fungsi, yaitu:

1. Membuat data murid baru

2. Memodifikasi data murid yang sudah ada 3. Menghapus data murid

4. Mendapatkan data seluruh murid, dan 5. Menampilkan data seorang murid

Program aplikasi server ini nantinya diubah menjadi Web Service agar dapat diakses oleh klien.

Sedangkan pengguna service atau klien hendak membangun aplikasi perekaman data murid dengan menggunakan bahasa pemrograman Java. Agar aplikasi klien dapat mengakses database server dan menggunakannya, maka dibangunlah Web Service.

3.3 Perancangan Web Service

Tahap pertama, database dirancang sedemikian rupa sehingga dapat menyimpan data murid berupa No. Induk, Nama, Kelas, dan Alamat. Database yang digunakan adalah MySQL. Database tersebut diakses dengan menggunakan bahasa pemrograman PHP. Agar dapat diakses oleh aplikasi/service lain, maka aplikasi diubah menjadi Web Service dengan menggunakan Web Service Helper. Program ini dengan otomatis akan

membangkitkan WSDL bagi service perekaman data murid.

Di sisi klien, sebuah aplikasi berupa antarmuka untuk mempermudah perekaman data murid dibuat dengan menggunakan bahasa pemrograman Java. Selanjutnya, aplikasi tersebut diubah menjadi Web Service secara otomatis oleh Apache Axis.

(48)

diasumsikan memiliki komputer yang berbeda sehingga keduanya memerlukan Web Service untuk dapat saling berhubungan.

Tahapan pembuatan Web Service dari sisi server adalah sebagai berikut

Gambar 3.1.a Flowchart tahap pembuatan Web Service pada sisi server MULAI

Buat database menggunakan MySQL

• Nomor Induk

• Nama

• Kelas

• Alamat

Buat program pengakses database dengan PHP

index,php

Buat class untuk menyimpan data murid

Student.class.php

A Buat class untuk memodifikasi data

murid

(49)

Gambar 3.1.b Flowchart tahapan pembuatan Web Service (lanjutan)

Selanjutnya, tahapan pembuatan Web Service dari sisi klien adalah:

Gambar 3.2 Tahap pembuatan web service pada sisi klien

A

config.php Menjadikan class sebagai Web Service

Membangkitkan dokumen WSDL

StudentManager.wsdl

SELESAI

MULAI

Buat aplikasi Java untuk mengakses database

StudentFrame.java dan

Main.java

Buat Web Service secara otomatis dengan Axis

(50)

3.4 Perancangan Antarmuka

Gambar 3.3 Perancangan antarmuka aplikasi Web Service

Keterangan: 1. Menu “File”

Jika dipilih, maka akan keluar 2 submenu, yaitu:

a. Ambil Data, yaitu pilihan untuk mengambil data tersedia di server. b. Keluar, yaitu pilihan untuk keluar dari aplikasi.

2. Tombol “<<”

Merupakan tombol yang berfungsi untuk menampilkan satu data sebelum data yang tampil.

3. Tombol “>>”.

Merupakan tombol yang berfungsi untuk menampilkan satu data setelah data yang tampil. Textbox yang berada di antara tombol “<<” dan “>>” menunjukkan urutan data yang sedang ditampilkan oleh aplikasi. Pada gambar di atas, data yang ditampilkan merupakan data pertama.

<< 1 >> Sunting Hapus Simpan Tambah Siawa File

Nomor Induk

Nama

Kelas

Alamat

1203948912

John Doe

9

Jl. Sei Belutu No. 17A Medan Ambil Data

(51)

4. Tombol “Sunting”

Merupakan tombol yang berfungsi untuk membuat agar data yang ditampilkan dapat disunting atau diedit. Jika tombol ini ditekan, data yang tadinya hanya ditampilkan, akan dapat disunting.

5. Tombol “Hapus”

Adalah tombol untuk menghapus data siswa.

6. Tombol “Simpan”

Yaitu tombol yang berfungsi untuk menyimpan data dari aplikasi ke komputer server.

7. Tombol “Tambah Siswa”

(52)

BAB IV

IMPLEMENTASI PERANGKAT LUNAK

4.1 Implementasi

Dari hasil perancangan sistem yang dilakukan, maka proses selanjutnya adalah tahap implementasi ke dalam bentuk program komputer. Input yang dibutuhkan berupa data murid yang disimpan dalam database milik server. Oleh karena itu, pembangunan sistem Web Service dimulai dari sisi server.

4.2. Implementasi Web Service pada Server

Rancangan Web Service pertama dimulai dari sisi server. Untuk membuat Web Service, mula-mula dirancang database yang dibangun dengan data seperti berikut:

1. Nomor Induk dengan tipe data Char(10). 2. Nama dengan tipe data Varchar(50). 3. Kelas dengan tipe data Integer(11). 4. Alamat dengan tipe data Varchar(100).

Database tersebut dibangun menggunakan file student.sql. Untuk menjalankannya

(53)

Gambar 4.1 Database Student di phpMyAdmin

File pengakses database berbasis PHP dibuat dan diberi nama index.php. File ini diletakkan dalam folder Student di folder htdocs milik XAMPP (C:\Program Files\xampp\htdocs\student).

Dalam folder student tersebut, diletakkan folder WSH yang nantinya akan men-generate file PHP menjadi Web Service. Setelah itu, file yang akan dijadikan Web Service dibuat. File pertama adalah Student.class.php. File ini berfungsi untuk mengenkapsulasi data murid. File kedua yaitu StudentManager.class.php. File ini akan dijadikan sebagai web service yang berfungsi untuk:

a. Membuat data murid baru b. Memodifikasi data murid c. Menghapus data murid

d. Mendapatkan data seluruh murid, dan e. Menampilkan data seorang murid

(54)

Untuk mengetahui apakah Web Service tersebut telah aktif atau tidak, buka browser. Jika Web Service sudah aktif, maka akan tampil seperti ini:

Gambar 4.2 Web Service yang sudah aktif

Saat alamat tersebut diakses, WSH akan men-generate file StudentManager.wsdl pada folder wsdl yang ada di dalam folder ws (C:\Program Files\xampp\htdocs\student\ws\wsdl\StudentManager.wsdl). File WSDL diperlukan agar Web Service dapat diakses oleh aplikasi lain. Dengan demikian, pembuatan Web Service

pada sisi server dengan menggunakan PHP telah selesai.

(55)

Agar Web Service tersebut dapat diakses oleh klien, harus dipastikan bahwa server berfungsi dengan baik. Pengendalian server (Apache) dalam XAMPP dapat dilakukan dengan menggunakan XAMPP Control Panel. Aktif tidaknya server dapat juga dilihat melalui Task Manager.

Gambar 4.4 Task Manager

4.3. Implementasi Web Service pada Sisi Klien

Data pada server telah selesai dibangun, maka selanjutnya pada sisi klien akan dibuat program aplikasi pengakses database berbasis Java. Program yang akan dibangun memiliki fungsi yang sama dengan yang ada pada server, yaitu:

a. Membuat data murid baru b. Memodifikasi data murid c. Menghapus data murid

d. Mendapatkan data seluruh murid, dan e. Menampilkan data seorang murid

(56)

Gambar 4.5 Tampilan awal program perekaman data pada klien

Pada tampilan awal aplikasi, tidak ada data yang ditampilkan dan tombol-tombol dinonaktifkan. Hal ini dikarenakan data yang ada pada server belum diambil oleh aplikasi. Untuk mengambil data dari sever, pengguna dapat memilih menu submenu “Ambil Data” dari menu “File”.

Gambar 4.6 Mengambil data murid yang sudah ada dari Server

(57)

Gambar 4.7 Data pertama yang ada pada server

Untuk melihat data selanjutnya, pengguna dapat menekan tombol “>>”.

Gambar 4.8 Data kedua dari Server

(58)

Tombol “Sunting” dapat digunakan bila pengguna/klien ingin mengubah salah satu data, tekan. Misalkan data yang ingin diubah adalah data kedua. Pada data ini, nama murid yang bernama Jane Doe akan diganti menjadi Jan Peter.

Gambar 4.9 Data yang akan disunting

Tekan tombol “Sunting”, maka baris-baris yang menampilkan data berubah menjadi aktif dan dapat disunting. Selain itu, tombol “Simpan” juga diaktifkan. Hal ini dimaksudkan agar setelah data diubah, maka data dapat disimpan kembali ke server. Dengan demikian, setiap perubahan yang dilakukan oleh klien akan berlaku terhadap data yang ada di server.

(59)

Untuk memastikan bahwa perubahan data terjadi pada server, maka buka phpMyAdmin. Seperti terlihat pada gambar di bawah, data pada server telah berubah.

Gambar 4.11 Penyuntingan data pada server berhasil dilakukan

Tombol “Tambah Siswa” memungkinkan klien menambah data siswa yang ada pada server. Jika tombol ini ditekan, otomatis semua baris data akan menjadi kosong. Dengan demikian, klien dapat menuliskan data murid yang akan ditambah. Perhatikan bahwa no rekam data secara otomatis bertambah satu. Hal ini berarti bahwa data murid yang baru akan dimasukkan sebagai data tambahan setelah data terakhir.

Gambar 4.12 Tampilan setelah tombol “Tambah Siswa” ditekan

(60)

Gambar 4.13 Data yang akan ditambahkan oleh Klien

Setelah tombol “Simpan” ditekan, maka secara otomatis aplikasi akan menampilkan data dari urutan pertama (lihat Gambar 4.9). Untuk melihat apakah data baru tersebut telah masuk, tekan tombol “>>” hingga sampai kepada urutan data yang baru.

Gambar 4.14 Tampilan awal setelah penambahan data murid

(61)

Gambar 4.15 Data yang telah ditambahkan

Untuk memastikan agar data tidak dapat diubah lagi, maka tekan kembali tombol “Sunting”. Maka baris-baris yang menampilkan data akan kembali nonaktif.

Gambar 4.16 Tampilan setelah tombol “Sunting” diaktifkan kembali

(62)

Gambar 4.17 Penambahan data pada server berhasil dilakukan

Selanjutnya, untuk menghapus data salah satu murid dapat digunakan tombol “Hapus”. Misalkan yang akan dihapus adalah data murid no.2, yaitu Jan Peter.

Gambar 4.18 Data yang akan dihapus

(63)

Gambar 4.19 Tampilan setelah tombol “Hapus” ditekan

Untuk memastikan bahwa data tersebut memang telah dihapus, maka dapat ditelusuri kembali data yang ada dengan menekan tombol “>>”. Tombol “>>” yang nonaktif menunjukkan bahwa data yang ditampilkan adalah data terakhir. Dengan demikian, maka benar bahwa data tersebut telah dihapus.

Gambar 4.20 Data terakhir setelah data kedua dihapus

(64)

Gambar 4.21 Penghapusan data pada server berhasil dilakukan

Pada dasarnya, Web Service adalah komponen dari aplikasi yang dibuat sedemikian rupa agar dapat diakses oleh aplikasi lain melalui jaringan web. Jadi, perubahan apapun yang hendak dilakukan oleh Web Service klien tidak akan dapat terjadi bila keduanya tidak terhubung.

Misalkan sistem server mengalami kerusakan sehingga tidak dapat diakses oleh klien, maka Web Service pada klien dapat tetap berjalan, tetapi tidak dapat mengakses database yang ada pada server.

(65)

Gambar 4.23 Tampilan awal aplikasi klien

Perhatikanlah gambar di atas. Pada saat dijalankan, Web Service klien dapat berjalan dengan baik. Tetapi, pada saat aplikasi mengambil data yang ada pada server, tidak ada data yang ditampilkan. Dan hanya tombol ”Tambah siswa” yang aktif.

Gambar 4.24 Tampilan aplikasi klien saat server tidak dapat diakses

(66)

Gambar 4.25 Aplikasi klien tidak berfungsi dengan benar karena tidak adanya hubungan dengan server

(67)

BAB V

KESIMPULAN DAN SARAN

5.1 Kesimpulan

Berdasarkan pembahasan dan evaluasi dari bab-bab terdahulu dan teori yang, maka dapat ditarik kesimpulan sebagai berikut :

1. Web Service dapat digunakan untuk mentransformasikan satu atau beberapa class dan objek yang terpisah dalam satu ruang lingkup menjadi satu, sehingga menjadikan pembangunan sistem lebih efisien.

2. Web Service bersifat interoperabilitas dan memiliki kemudahan dalam proses deployment-nya karena tidak memerlukan registrasi khusus ke dalam suatu

sistem operasi. Hal ini menjadikan Web Service bisa diakses oleh aplikasi yang berjalan pada platform yang berbeda.

3. Web Service memberikan kemudahan dalam hal aksesibilitas karena Web Service cukup di-upload ke web server dan siap diakses oleh pihak-pihak yang

telah diberikan otorisasi.

4. Web Service memungkinkan fungsi-fungsi pada banyak perangkat lunak di Internet untuk dipadukan menjadi satu Web Service baru. Web Service memungkinkan penggunaan ulang layanan dan komponen.

5. Web Service mendukung konsistensi abstraksi karena setiap perubahan yang terjadi dalam Web Service berlaku juga dalam sistem.

5.2 Saran

(68)
(69)

DAFTAR PUSTAKA

Allaire, J. 2002. Macromedia MX: Components and Web Services. San Fransisco: Macromedia, Inc.

Box, D, et.al. 2004. Web Services Eventing (WS-Eventing). BEA Systems Inc., Computer Associates, Inc., International Business Machines Corporation, Microsoft Corporation, Inc, Sun Microsystems, Inc, and TIBCO Software Inc.

Baresi, L. & Di Nitto, E. 2007. Test and Analysis of Web Services. New York: Springer.

Barry, D. K. 2003. Web Services and Service-Oriented Architecture: The Savvy Manager’s Guide. San Fransisco: Morgan Kaufmann Publishers.

Cavanaugh, E. 2006. Web Services: Benefits, challenges, and a unique, visual development solution. Massachusets: Altova, Inc.

Daconta M.C., Obrst L.J., dan Smith, K.T. The Semantic Web: A Guide to the Future of XML,Web Services, and Knowledge Management. John Willey, 2005.

Foster, I., et.al. 2004. Modeling Stateful Resources with Web Services. Computer Associates International, Inc., Fujitsu Limited, Hewlett-Packard Development Company, International Business Machines Corporation and The University of Chicago.

Hu, S. K. 2006. Interoperability at the SOAP message level.

Myers, J.M. 2001. Web Services Architecture. Illinois: Tect.

Nakhimovsky, A. & Myers, T. 2004. Google, Amazon, and Beyond: Creating and Consuming Web Services. California: Apress.

Ogbuji, U. 2000. Tutorial: XML Messaging with SOAP.

Ogbuji, U. 2000. Using WSDL in SOAP application.

O’Neill, M. 2003. Web Services Security. California: McGraw-Hill/Osborne.

Rekasius, R. 2003. Preview of the WS-I sample application.

(70)

Snell, J., et.al. 2001. Programming Web Services with SOAP. California: O’Reilly.

Virdell, M. 2003. Business processes and workflow in the Web services world.

W3C. 2004. Web Services Architecture. W3C Working Group

Note.

(71)

LAMPIRAN: LISTING PROGRAM

File: student.sql

-- phpMyAdmin SQL Dump -- version 3.1.3.1

-- http://www.phpmyadmin.net --

-- Host: localhost

-- Generation Time: Feb 10, 2010 at 11:02 PM -- Server version: 5.1.33

-- PHP Version: 5.2.9

SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";

/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; /*!40101 SET NAMES utf8 */;

-- Table structure for table `student` --

CREATE TABLE IF NOT EXISTS `student` ( `nomor_induk` char(10) NOT NULL, `nama` varchar(50) NOT NULL, `kelas` int(11) NOT NULL,

`alamat` varchar(100) DEFAULT NULL, PRIMARY KEY (`nomor_induk`)

) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='ini tabel siswa.';

--

-- Dumping data for table `student` --

INSERT INTO `student` (`nomor_induk`, `nama`, `kelas`, `alamat`) VALUES

(72)

File: Student.Class.php <?php

/**

* Menyimpan data seorang murid *

* Data murid yang disimpan adalah nomor induk, * nama, kelas, dan alamat.

* */

class Student {

` /** @var string */ public $nomor_induk;

/** @var string */ public $nama;

/** @var string */ public $kelas;

/** @var string */ public $alamat;

}

Gambar

Gambar 2.6.
Gambar 2.7 Perusahaan A mengambil data WSDL dari UDDI untuk dapat
Gambar 3.1.a Flowchart tahap pembuatan  Web Service pada sisi server
Gambar 3.1.b Flowchart tahapan pembuatan Web Service (lanjutan)
+7

Referensi

Dokumen terkait

Mahasiswa menyerahkan Form Data Kegiatan dan Bimbingan KP, Form Penilaian Pembimbing Lapangan, Laporan Pemecahan Masalah, Profil Komprehensif Rekan Kerja, dan Form Kesan Pesan

 Tindak lanjut terhadap hasil pemantauan pelaksanaan program peningkatan mutu klinis &amp; keselamatan pasien ( kegiatan yang perlu

[r]

Kemudian plastik panas terus diinjeksikan kedalam cetakan, material dengan suhu yang lebih rendah tadi terdorong terus kedalam dan meniggalkan bekas aliran..

Menyediakan dana, peralatan dan fasilitas yang diperlukan bagi pelaksanaan program, menyediakan tenaga ahli asing hanya bila tenaga ahli Indonesia tidak tersedia,

Smart city merupakan sebuah konsep kota cerdas yang dapat membantu masyarakat mengelola sumber daya yang ada dengan effisien dan memberikan informasi yang tepat

Penelitian ini dilakukan untuk mengetahui konsentrasi penambahan katalis DBTDL yang tepat atau efektif pada aplikasi cat acrylic berbasis solvent untuk

serupa juga dilakukan oleh Nuswandari (2009) menunjukkan bahwa penerapan GCG berpengaruh positif signifikan terhadap kinerja perusahaan yang diproksi dengan ROE;