• Tidak ada hasil yang ditemukan

2.4 Web Service

2.4.1 Arsitektur Web Service

Secara umum arsitektur web service dapat dilihat pada Gambar 2.1

Gambar 2. 1 Arsitektur Web Service

Pada gambar di atas ada tiga komponen yang membuat web service berjalan, ketiga komponen tersebut adalah:

1. Service Provider: Berfungsi untuk menyediakan layanan/service dan mengolah sebuah registry agar layanan-layanan tersebut dapat tersedia.

2. Service Registry: Berfungsi sebagai lokasi central yang mendeskripsikan semua layanan/service yang telah di-register. 3. Service Requestor: Berfungsi sebagai peminta service untuk

mencari dan menemukan service yang dibutuhkan serta menggunakan service tersebut.

Komponen-komponen dari web service adalah sebagi berikut:

Gambar 2. 2 Lapisan Dasar Web Service

Gambar 2.2 merupakan blok bangunan web service yang mana menyediakan fasilitas komunikasi jarak jauh antara dua aplikasi yang merupakan layer arsitektur web service.

a. Layer 1 : protokol internet standar yang digunakan sebagai sarana transportasi adalah HTTP dan TCP/IP.

b. Layer 2 : Simple Object Access Protocol (SOAP) berbasiskan XML dan digunakan untuk pertukaran informasi antar sekelompok layanan.

c. Layer 3 : Web service Definition Language (WSDL) digunakan untuk mendiskripsikan attribute layanan.

d. Layer 4 : Universal Description Discovery and Integration, yang mana merupakan direktori pusat untuk deskripsi service.

Menurut Marthasari dkk (2010), dalam penelitiannya menjelaskan komponen web service yaitu:

a. Extensible Markup Language (XML)

XML merupakan dasar yang penting atas terbentuknya Web services. Web services dapat berkomunikasi dengan aplikasi- aplikasi yang memanggilnya dengan menggunakan XML, karena XML berbentuk teks sehingga mudah untuk ditransportasikan menggunakan protokol HTTP. Selain itu, XML juga bersifat platform independen sehingga informasi di dalamnya bisa dibaca oleh aplikasi apapun pada platform apapun selama aplikasi tersebut menerjemahkan tag-tag XML.

b. Simple Object Access Protocol (SOAP)

XML saja tidak cukup agar Web services dapat berkomunikasi dengan aplikasi yang lainya. XML yang digunakan untuk saling bertukar informasi antara web services dengan aplikasi yang lainya harus menggunakan sebuah format standard yang dapat dimengerti oleh keduaya. Format itulah yang dikenal dengan nama SOAP. SOAP (Simple Object Access Protocol) merupakan suatu format standard dokumen berbentuk XML yang digunakan untuk melakukan proses request dan responses antara web services dengan aplikasi yang memanggilnya. Dokumen SOAP digunakan untuk melakukan request disebut dengan SOAP request sedangkan

dokumen SOAP yang diperoleh dari Web services disebut dengan SOAP responses.

c. Web service Definition Language (WSDL)

Sebelum mengakses sebuah Web services pastinya perlu mengetahui method-method apa saja yang disediakan oleh Web services tersebut, untuk mengetahuinya memerlukan sebuah dokumen yang bernama WSDL. WSDL (Web services Description Language) adalah sebuah dokumen dalam format XML yang isinya menjelaskan informasi detail sebuah Web services. Di dalam WSDL dijelaskan method-method apa saja yang tersedia dalam Web services, parameter apa saja yang diperlukan untuk memanggil sebuah method, dan apa hasil atau tipe data yang dikembalikan oleh method yang dipanggil tersebut.

2.4.2 Teknologi REST

Ada beberapa pendekatan teknologi web services yang dapat digunakan, yaitu metode SOAP dan REST. Dalam tugas akhir ini akan digunakan pendekatan REST.

REST (Representational State Transfer) adalah suatu arsitektur metode komunikasi yang sering diterapkan dalam pengembangan layanan berbasis web.

Arsitektur REST, yang umumnya dijalankan via HTTP (Hypertext Transfer Protocol), melibatkan proses pembacaan laman web tertentu

yang memuat sebuah file XML atau JSON. File inilah yang menguraikan dan memuat konten yang hendak disajikan. Setelah melalui sebuah proses definisi tertentu, konsumen akan bisa mengakses antarmuka aplikasi yang dimaksudkan.

Kekhasan REST terletak pada interaksi antara client dan server yang difasilitasi oleh sejumlah tipe operasional dan Universal Resource Identifiers (URIs) yang unik bagi tiap-tiap data. Oleh karena itu pada development web modern aksi CRUD dapat dimappingkan dengan HTTP method sebagai berikut : CREATE sebagai POST, RETREIVE sebagai GET, UPDATE sebagai PUT, dan DELETE sebagai DELETE. Methods HTTP dalam REST Web services dapat dilihat pada Tabel 2.1.

Tabel 2. 1 Metode HTTP dan Penggunaannya dalam REST

Method Deskripsi

GET Mendapatkan (read) sebuah data yang diidentifikasi dengan URI (Uniform Resource Identifier)

POST Mengirimkan data ke server. Digunakan untuk membuat (create) data baru.

PUT Mengirimkan data ke server. Digunakan untuk

memasukkan (insert) atau memperbarui (update) data yang tersimpan.

DELETE Menghapus (delete) data yang diidentifikasi dengan URI. HEAD

Mendapatkan metadata (response header) dari resource yang diidentifikasi dengan URI.

2.5 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. Format ini dibuat berdasarkan bagian dari pahasa pemrograman JavaScript, Standar ECMA-262 Edisi ke-3 - Desember 1999. JSON merupakan format teks yang tidak bergantung pada bahasa pemrograman apapun karena menggunakan gaya bahasa yang umum digunakan oleh programmer keluarga C termasuk C, C++, C#, Java, JavaScript, Perl, Python dan lain lain. Oleh karena sifat-sifat tersebut, menjadikan JSON ideal sebagai bahasa pertukaran-data.

JSON terbuat dari dua struktur, yaitu:

1. Kumpulan pasangan nama/nilai. 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.

2. Daftar nilai terurutkan (an ordered list of values). Pada kebanyakan bahasa, hal ini dinyatakan sebagai larik (array), vektor (vector), daftar (list), atau urutan (sequence).

2.6 PHP

Menurut Agus Saputra (2011), PHP atau yang memiliki kepanjangan PHP Hypertext Preprocessor merupakan suatu bahasa pemrograman yang difungsikan untuk membangun suatu website dinamis. PHP menyatu dengan kode HTML, maksudnya adalah beda kondisi. HTML digunakan sebagai pembangun atau pondasi dari kerangka layout web, sedangkan PHP difungsikan sebagai prosesnya sehingga dengan adanya PHP tersebut, web akan sangat mudah dikelola.

PHP berjalan pada sisi server sehingga PHP disebut juga sebagai bahasa Server Side Scripting. Artinya bahwa dalam setiap/untuk menjalankan PHP, wajib adanya web server.

PHP ini bersifat open source sehingga dapat dipakai secara cuma- cuma dan mampu lintas platform, yaitu dapat berjalan pada sistem operasi Windows maupun Linux. PHP juga dibangun sebagai modul pada web server apache dan sebagai binary yang dapat berjalan sebagai CGI.

2.6.1 Keunggulan PHP

Ada beberapa alasan yang menjadi pertimbangan mengapa menggunakan PHP:

1. Mudah dipelajari, alasan tersebut menjadi salah satu alasan utama untuk menggunakan PHP, pemula pun akan mampu untuk menjadi web master PHP.

2. Mampu lintas Platform, artinya PHP dapat / mudah diaplikasikan ke berbagai platform OS (Operating Sytem) dan hampir semua browser juga mendukung PHP.

3. Free atau tidak berbayar dan bersifat Open Source. 4. PHP memiliki tingkat akses yang cepat.

5. Didukung oleh beberapa macam web server, PHP mendukung beberapa web server, seperti Apache, IIS, Lighttpd, Xitami.

6. Mendukung database, PHP mendukung beberapa database, baik yang gratis maupun yang berbayar, seperti MySQL, PostgreSQL, mSQL, Informix, SQL server, Oracle.

2.6.2 Skrip Dasar PHP

PHP adalah skrip bersifat server-side yang ditambahkan ke dalam HTML. PHP sendiri merupakan singkatan dari Personal Home Page Tools. Script ini akan membuat suatu aplikasi dapat diintegrasikan ke dalam HTML sehingga suatu halaman web tidak lagi bersifat statis, namun menjadi bersifat dinamis. Sifat server-side berarti pengerjaan script dilakukan di server, baru kemudian hasilnya di kirimkan ke browser.

Sintaks dasar PHP meliputi bagaimana cara memulai suatu struktur pemrograman PHP. Ada empat cara untuk memulai pemrograman PHP, diantaranya:

2. <? ... ?>

3. <script language=”php”> ... </script>

4. <% ... %>

dari beberapa sintaks dasar tersebut, yang paling banyak digunakan adalah cara nomor 1 dan nomor 2.

2.7 Slim Framework

Slim adalah kerangka kerja mikro PHP yang membantu menulis aplikasi web dan API dengan lebih cepat sederhana namun kuat. Pada intinya, Slim adalah operator yang menerima permintaan HTTP, memanggil callback yang tepat secara rutin, dan mengembalikan respon HTTP.

Slim adalah alat yang ideal untuk membuat API, repurpose, atau mempublikasikan data. Slim juga merupakan alat yang hebat untuk prototyping yang sangat cepat. Slim dapat membangun aplikasi web dengan fitur lengkap dengan antarmuka pengguna. Lebih penting lagi, slim super cepat dan memiliki sangat sedikit kode.

Cara kerja slim adalah pertama, diperlukan server web seperti Apache dan harus mengkonfigurasi server web untuk mengirimkan semua permintaan yang sesuai untuk satu "front-controller" file PHP. Aplikasi slim dapat dijalankan dalam file PHP. Sebuah aplikasi slim mengandung rute yang menanggapi permintaan HTTP tertentu. Setiap rute memanggil callback dan mengembalikan respon HTTP.

2.8 Notasi Pemodelan Sistem

Dokumen terkait