Web Service RANCANG BANGUN SISTEM PENILAIAN PRAKTIKUM BERBASIS JSON WEB SERVICE PADA LAB. BASIS DATA UPN “VETERAN” JATIM.

2.3 Web Service

Web service adalah sebuah sistem perangkat lunak yang dirancang untuk mendukung interaksi interoperabilitas mesin ke mesin melalui jaringan. Web service memiliki interface yang dijelaskan dalam mesin format processable khususnya WSDL. Sistem lain berinteraksi dengan web service melalui cara yang ditentukan oleh deskripsi sistem itu sendiri menggunakan pesan SOAP, biasanya disampaikan menggunakan HTTP dengan serialisasi XML dalam konjungsi dengan web terkait lainnya Sumber : W3C Working Group, 2004. Web service digunakan sebagai suatu fasilitas yang disediakan oleh suatu website untuk menyediakan layanan dalam bentuk informasi kepada sistem lain, sehingga sistem lain dapat berinteraksi dengan sistem tersebut melalui layanan- layanan service yang disediakan oleh suatu sistem yang menyediakan web service. Web service menyimpan data informasi dalam format XML maupun JSON, sehingga data ini dapat diakses oleh sistem lain walaupun berbeda platform, sistem operasi, maupun bahasa compiler. 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 detail pemrograman yang terdapat di dalamnya. Beberapa alasan mengapa digunakannya web service adalah sebagai berikut: a. Web service dapat digunakan untuk mentransformasikan satu atau beberapa bisnis logic atau class dan objek yang terpisah dalam satu ruang Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber. lingkup yang menjadi satu, sehingga tingkat keamanan dapat ditangani dengan baik. b. 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. c. Web service berjalan di port 80 yang merupakan protokol standar HTTP, dengan demikian web service tidak memerlukan konfigurasi khusus di sisi firewall. Sumber : Utama, 2010

2.3.1 Arsitektur

Web Service Web service memiliki tiga entitas dalam arsitekturnya, yaitu: a. Service Requester peminta layanan b. Service Provider penyedia layanan c. Service BrokerRegistry daftar layanan Gambar 2.1 Arsitektur Web Service Sumber : IBM Services Architecture Teams, 2000 Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.  Service Provider: Berfungsi untuk menyediakan layananservice dan mengolah sebuah registry agar layanan-layanan tersebut dapat tersedia.  Service BrokerRegistry: Berfungsi sebagai lokasi central yang mendeskripsikan semua layananservice yang telah di-register.  Service Requestor: Peminta layanan yang mencari dan menemukan layanan yang dibutuhkan serta menggunakan layanan tersebut. Dalam implementasi sistem penilaian praktikum sesuai gambar arsitektur sistem diatas, pihak instruktur praktikum, kepala laboratorium, dan praktikan adalah pihak peminta layanan Service Requester, web service sebagai daftar layanan Service Broker, dan pihak developer web service sebagai penyedia layanan Service Provider. Hanya pihak instruktur, kepala laboratorium, dan praktikan yang berhubungan dengan sistem, sedangkan developer web service berada di luar sistem karena hanya menyediakan layanan service.

2.3.2 JSON JavaScript Object Notation

JSON JavaScript Object Notation adalah format pertukaran data yang ringan, mudah dibaca dan ditulis oleh manusia, serta mudah diterjemahkan dan dibuat generate oleh komputer. Format ini dibuat berdasarkan bagian dari Bahasa Pemrograman JavaScript, Standar ECMA-262 Edisi-3 – Desember 1999. JSON merupakan format teks yang tidak bergantung pada bahasa pemrograman apapun karena menggunakan gaya bahasa yang umum digunakan oleh programer keluarga C termasuk C, C++, C, Java, JavaScript, Perl, Phyton, dan lain-lain. Oleh karena sifat-sifat tersebut, menjadikan JSON ideal sebagai bahasa pertukaran data Sumber : Crockford, 2006. Struktur JSON ada dua, antara lain : Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber. a. Kumpulan pasangan namanilai. Pada beberapa bahasa, hal ini dinyatakan sebagai objek object, rekaman record, struktur struct, kamus dictionary, tabel hash hash table, daftar berkunci keyed list, atau associative array. b. Daftar nilai terurutkan an ordered list of values. Pada kebanyakan bahasa, hal ini dinyatakan sebagai larik array, vektor vector, daftar list, atau urutan sequence. Struktur-struktur data ini disebut sebagai struktur data universal. Pada dasarnya, semua bahasa pemrograman modern mendukung struktur data ini dalam bentuk yang sama maupun berlainan. Hal ini pantas disebut demikian karena format data mudah dipertukarkan dengan bahasa-bahasa pemrograman yang juga berdasarkan pada struktur data ini. Bentuk-bentuk JSON antara lain : a. Object, adalah sepasang namanilai yang tidak terurutkan. Objek dimulai dengan “{” kurung kurawal buka dan diakhiri “}” kurung kurawal tutup. Setiap nama diikuti dengan “:” titik dua dan setiap pasangan namanilai dipisahkan oleh “,” koma. Gambar 2.2 JSON object Sumber : Crockford, 2006 Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber. b. Array, adalah kumpulan nilai yang terurutkan. Array dimulai dengan “[” kurung kotak buka dan diakhiri dengan “]” kurung kota tutup. Setiap nilai dipisahkan oleh “,” koma. Gambar 2.3 JSON array Sumber : Crockford, 2006 c. Value, dapat berupa string dalam kutip ganda, atau angka, atau true atau false atau null, atau sebuah object atau sebuah array. Struktur-struktur tersebut dapat disusun bertingkat. Gambar 2.4 JSON value Sumber : Crockford, 2006 Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber. d. String, adalah kumpulan dari nol atau lebih karakter Unicode, yang dibungkus dengan tanda kutip ganda. Didalam string dapat digunakan backslash escape “\” untuk membentuk karakter khusus. Sebuah karakter mewakili karakter tunggal pada string. String sangat mirip dengan string C atau Java. Gambar 2.5 JSON string Sumber : Crockford, 2006 e. Number, sangat mirip dengan number di C atau Java, kecuali format oktal dan heksadesimal tidak digunakan. Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber. Gambar 2.6 JSON number Sumber : Crockford, 2006 Spasi kosong whitespace dapat disisipkan di antara pasangan tanda-tanda tersebut, kecuali beberapa detail encoding yang secara lengkap dipaparkan oleh bahasa pemrograman yang bersangkutan.

2.3.3 XML eXtensible Markup Language

XML adalah sebuah markup language untuk dokumen yang berisi informasi terstruktur Walsh, 1998. 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 antar satu dengan yang lain. XML adalah singkatan dari eXtensible Markup Language. Bahasa markup mengkombinasikan text dan informasi tambahan mengenai text tersebut. Bahasa markup lain yang populer seperti HTML, menggambarkan kepada web browser tentang bagaimana menampilkan format teks, data, dan grafik ke layar komputer Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber. ketika sedang mengunjungi sebuah situs web. XML adalah sebuah bahasa markup yang digunakan untuk mengolah meta data informasi tentang data yang menggambarkan struktur dan maksudtujuan data yang terdapat dalam dokumen XML, namun bukan menggambarkan format tampilan data tersebut. XML adalah sebuah standar sederhana yang digunakan untuk medeskripsikan 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 Sumber : Utama, 2010. Berikut ini adalah contoh sebuah dokumen XML untuk informasi contact person : ?xml version=1.0 encoding=ISO-8859-1?contact contact nameYadi Utamaname companyPT. Gamatechno Indonesiacompany addressJl. Cik Di Tiro No.34address cityYogyakartacity stateIndonesiastate zip55284zip phone081328462499phone emailyadigamatechno.comemail contact Sumber : Utama, 2010 Seperti halnya HTML, XML juga menggunakan elemen yang ditandai dengan tag pembuka diawali dengan ‘’ dan diakhiri dengan ‘’, tag penutupdiawali dengan ‘ ‘diakhiri ‘’ dan atribut elemenparameter yang dinyatakan dalam tag pembuka misal form name=”isidata”. Hanya bedanya, HTML medefinisikan dari awal tag dan atribut yang dipakai didalamnya, sedangkan pada XML bisa menggunakan tag dan atribut sesuai kebutuhan. Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber. Standard Header Elemen root Elemen child Berikut ini adalah tampilan dokumen XML di atas apabila dijalankan pada sebuah browser : Gambar 2.7 Tampilan Dokumen XML pada Browser Sumber : Utama, 2010

a. Struktur Penulisan Dokumen XML