Bab 2 - Widyatama Repository

advertisement
BAB II
TINJAUAN PUSTAKA
Bab ini membahas teori-teori yang dijadikan acuan tugas akhir ini.
2.1 Web Service
Web Service adalah sekumpulan application logic beserta objek-objek dan
method-method yang dimilikinya yang terletak di suatu server yang terhubung ke
internet sehingga dapat diakses menggunakan protokol HTTP [1]. Web Service
merupakan suatu komponen software yang merupakan self-containing, aplikasi
modular self-describing yang dapat dipublikasikan, dialokasikan dan dilaksanakan
pada web [2].
Gambar 1 merupakan blok bangunan web service yang mana menyediakan
komunikasi jarak jauh antara dua aplikasi yang merupakan layer arsitektur web
service [3].

Layer 1: protokol internet standar digunakan sebagai sarana
transportasi adalah HTTP dan TCP/IP

Layer 2: Simple Object Acces Protocol (SOAP ) berbasiskan XML
dan digunakan untuk pertukaran informasi antar sekelompok
layanan.

Layer 3: Web Service Definition Language (WSDL) digunakan
untuk mendeskripsikan attribute layanan.

Layer 4: Universal Description, Dicovery and Integration, yang
mana merupakan direktori pusat untuk deskripsi layanan.
Gambar 2.1 Blok Bangunan Web Service
5
6
Sarana komunikasi web service yang menggunakan protokol TCP/IP dan
HTTP menjadikan kelebihan tersendiri yaitu kemudahan dalam pengiriman data,
karena protokol HTTP merupakan protokol yang umum digunakan di internet.
Berikut ini adalah gambaran konsep web service yang bisa diterapkan
untuk pengintegrasian berbagai sistem dengan perbedaan hardware ataupun
platform :
Gambar 2.2 XML Web Service [15]
2.1.1 Rest Web Service
Istilah REST (Representational State Transfer) pertama kali digunakan
oleh Roy Thomas Fielding, seorang pelopor proyek web server Apache, pada
disertasi doktornya yang berjudul Architectural Styles and the Design of Networkbased Software Architectures di University of California pada tahun 2000. Dalam
disertasinya, Fielding mengidentifikasi empat prinsip (constraints) dalam REST,
yaitu [4]:
1.Resource Identification
Semua resource (serta statenya) yang berhubungan dengan aplikasi
diberikan identifier yang unik dan identifier tersebut harus bersifat global. Konsep
resource disini bukan hanya hal statis yang langsung berhubungan dengan
aplikasi namun juga termasuk informasi yang dibutuhkan seperti dokumen
7
transaksi. REST resource adalah semua hal yang bisa diakses dan ditransfer
melalui web antara client dan server. Dan karena protokol yang digunakan untuk
berkomunikasi adalah HTTP, berbagai macam tipe file bisa ditransfer, teks file,
flash movie ataupun gambar. Sehingga dalam REST sistem representasi dari
resource tergantung dari tipe yang diminta client (MIME type) yang didefinisikan
didalam protokol request.
2.Uniform Interface
Semua interaksi dibangun dengan antarmuka yang seragam. REST web
service menampilkan semua resource dan interaksinya dengan interface yang
seragam, tidak seperti RPC yang menampilkan fungsi yang ada melalui method
yang bisa dipanggil secara remote. Dalam REST web service untuk uniform
interface ini menggunakan Uniform Resource Identifier (URI). URI pada REST
web service berupa hyperlink terhadap resource meskipun REST constraint tidak
menyatakan URI harus berupa hyperlink, namun karena teknologi yang
digunakan pada web service adalah web sehingga URI berupa hyperlink. Jika
menggunakan teknologi lain, REST URI tentu akan berupa hal yang berbeda,
namun tetap berupa address terhadap sebuah resource.
3. Self-Describing Message
Untuk setiap interaksi dengan resource melalui antarmuka yang seragam,
REST membutuhkan representasi dari resource yang menggambarkan semua
aspek penting yang dimiliki oleh resource tersebut. Representasi dari resource
sendiri adalah semua hal yang
dikirim antara cilent dan server. Representasi
merupakan state sementara dari data sebenarnya yang terletak di suatu tempat
penyimpanan. Dengan kata lain representasi merupakan stream biner bresama
metadata yang menjelaskan bagaimana stream tersebut digunakan baik untuk
client maupun untuk server. Bisa terdapat banyak jenis client yang melakukan
request resource yang ada, oleh karena itu representasi setiap client pun dapat
berbeda. Representasinya dapat berupa gambar, text file, stream XML atau stream
JSON, tapi kesemua representasi tersebut harus tersedia melalui URI yang sama.
Untuk kasus request yang dilakukan oleh manusia (human user) biasanya
representasi berupa laman web sehingga menjadi bentuk representasi yang dapat
dibaca.
8
4.Stateless Interaction
Setiap interaksi antara client dan server harus memiliki state sendiri (atau
dengan kata lain tidak dipengaruhi session client). Jadi server hanya akan
memantau resource state bukan client session.
2.2 JSON
JSON (JavaScript Object Notation) adalah format pertukaran data yang
ringan, mudah dibaca dan ditulis oleh manusia, serta mudah diterjemahkan dan
dibuat (generate) oleh komputer [5].
Gambar 2.3 Contoh Data Dalam Format JSON
Ada 2 macam struktur pada JSON, yaitu:
Objek adalah sepasang nama/nilai yang tidak terurutkan. Objek dimulai
dengan { (kurung kurawal buka) dan diakhiri dengan } (kurung kurawal tutup).
Setiap nama diikuti dengan : (titik dua) dan setiap pasangan nama/nilai dipisahkan
oleh , (koma) [5].
9
Gambar 2.4 Objek Dalam JSON [5]
Array adalah kumpulan nilai yang terurutkan. Array dimulai dengan [
(kurung kotak buka) dan diakhiri dengan ] (kurung kotak tutup). Setiap nilai
dipisahkan oleh , (koma) [5].
Gambar 2.5 Array Dalam JSON [5]
Value (nilai) dapat berupa sebuah string dalam tanda kutip ganda, atau
angka, atau true atau false atau null, atau sebuah objek atau sebuah array.
Struktur-struktur tersebut dapat disusun bertingkat [5].
Gambar 2.6 Value Pada JSON [5]
JSON banyak digunakan sebagai pertukaran data antar suatu sistem, tetapi
dalam pemakaiannya JSON pun bisa digunakan tanpa web service, yaitu dengan
menjadikan JSON sebagai sebuah variabel untuk menyimpan suatu data, karena
10
pada dasarnya JSON sendiri adalah data berbentuk String untuk parsing-parsing
data. Penggunaan JSON tanpa web service ditunjukkan melalui gambar dan
deskripsi dibawah ini.
Gambar 2.7 JSON Sebagai Variabel [13]
Gambar 2.7 menunjukkan bagaimana mendefinisikan JSON sebagai
variabel, yang selanjutnya variabel tersebut dapat diakses melalui pemanggilan
variabel disertai dengan key dari data yang ingin diakses, dengan contoh seperti
gambar 2.8.
Gambar 2.8 Contoh Mengakses JSON Sebagai Variabel [14]
Gambar diatas menunjukkan bagaimana cara mengakses sebuah JSON
tanpa melalui web service, yaitu dengan cara memanggil variabel yang telah
didefinisikan sebagai JSON dengan nama variabel jason dengan key yang ingin
ditampilkan nilainya yaitu age dan gender.
JSON memiliki beberapa kelebihan dibandingkan dengan XML,
diantaranya
1.
Ukuran lebih kecil, membuat transfer data lebih cepat dan lebih hemat
resource, terutama bandwidth.
2.
JSON merupakan format data bawaan di Javascript, artinya jika data
dari server di kirim ke client, dan client menggunakan Javascript,
maka tidak perlu library tambahan untuk memprosesnya.
3.
Dibanding XML, format JSON lebih sederhana.
4.
Library JSON ada di setiap bahasa pemrograman sehingga
memudahkan programer yang berbeda bahasa pemrograman.
11
2.3 API Parameter Request
API (Application Programming Interface) adalah seperangkat rutinitas,
protokol, dan alat-alat untuk membangun aplikasi software [9]. API menentukan
bagaimana komponen perangkat lunak harus berinteraksi dan API yang digunakan
ketika pemrograman antarmuka pengguna grafis (GUI) komponen. Berikut ini
contoh pemanggilan API berupa JSON dengan parameternya.
Gambar 2.9 Parameter Request API Berupa JSON [12]
2.4 Jsend Parameter Respon
JSend adalah spesifikasi yang menetapkan beberapa aturan untuk
bagaimana respon JSON dari server web harus diformat [8]. JSend berfokus pada
aplication-level pesan yang membuatnya ideal untuk digunakan dalam aplikasi
Rest web service [8]. Berikut ini contoh respon JSON dengan menggunakan
standar JSend:
12
Gambar 2.10 Respon JSON Dengan Standar JSend
2.5 Pulsa
Pulsa adalah media penghubung untuk komunikasi, baik komunikasi jarak
dekat maupun jarak jauh. Berdasarkan KBBI (Kamus Besar Bahasa Indonesia)
pulsa memiliki 4 makna yang berbeda, yang pertama adalah denyut jantung, yang
kedua adalah tegangan atau arus, yang ketiga adalah satuan perhitungan biaya
telepon, dan yang keempat adalah rangkaian denyutan berulang secara teratur
yang terasa dalam musik, jika pulsa itu terdengaran disebut ketukan [11].
Berdasarkan ke empat makna tersebut, makna ke tiga lah yang paling mendekati,
sehingga dapat disimpulkan bahwa pulsa adalah satuan perhitungan biaya telepon
[11].
Fungsi pulsa sendiri adalah untuk memastikan jasa itu berjalan,seperti
komunikasi telepon berlaku bila ada pulsa,begitu juga listrik dan lain lain.
Sebelum kemunculan kata pulsa para provider di indonesia lebih memilih kata
voucher daripada kata pulsa, yang tujuannya mengisi kembali kredit pada akun
nomor telepon agar bisa digunakan berkomunikasi dan mengirim layanan SMS.
Download