Prodi Teknik Informatika, Fak. Teknologi Informasi Universitas Mercubuana Yogyakarta 2016

dokumen-dokumen yang mirip
PRAKTIKUM. Rekayasa Web. Modul 6: Restful API Server & Client Codeigniter. Laboratorium Teknik Informatika Universitas Pasundan

BAB II TINJAUAN PUSTAKA DAN LANDASAN TEORI

UKDW BAB I PENDAHULUAN

Dasar Pemrograman Web. Pemrograman Web. Adam Hendra Brata

BAB II TINJAUAN PUSTAKA. Bab ini membahas teori-teori yang dijadikan acuan tugas akhir ini.

HTTP Protocol Ketika sebuah alamat web (atau URL) yang diketik ke dalam web browser, web browser melakukan koneksi ke web service yang berjalan pada

Application Layer Protocol and Services DNS Service and Protocol WWW dan HTTP

AJAX. Pemrograman Web 1. Asynchronous JavaScript and XML. Genap

KEBUTUHAN WEB SERVICE UNTUK SINKRONISASI DATA ANTAR SISTEM INFORMASI DALAM E-GOV DI PEMKAB BANTUL YOGYAKARTA

APPLICATION LAYER. Oleh : Reza Chandra

Muhammad Zen Samsono Hadi, ST. Msc.

Konsep Pemrograman Web

BAB 1 PENDAHULUAN 1.1 Latar Belakang Masalah

Gambar 5 Kerangka penelitian

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

TASK 5 JARINGAN KOMPUTER

PEMROGRAMAN WEB. Agussalim

BAB II DASAR TEORI. 2.1 Event. 2.2 Web Service II-1

Implementasi Restful pada Java

Aplikasi Dasar Internet

PERKEMBANGAN ANTARA WEB SERVICE YANG MENGGUNAKAN PROTOCOL SOAP DAN REST

Konsep Pemrograman Web

BAB I PENDAHULUAN 1.1. Latar Belakang

TUGAS ONLINE 2 : SOAP PERANCANGAN SISTEM BERBASIS KOMPONEN

Komputer Perkantoran. Internet. Salhazan Nasution, S.Kom

TUGAS JARINGANN KOMPUTER

BROWSER INTERNET UHRIA. Abstrak. Pendahuluan. Pembahasan.

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

RANCANG BANGUN WEB SERVICE UNTUK TRANSAKSI DATA PADA APLIKASI SAHABAT JASA DENGAN METODE REST

APLIKASI PELAPORAN KERUSAKAN JALAN TOL MENGGUNAKAN LAYANAN WEB SERVICE BERBASIS ANDROID

BAB II TINJAUAN PUSTAKA DAN DASAR TEORI. Tinjauan pustaka yang dipergunakan dalam penelitian disajikan melalui

BAB III LANDASAN TEORI

Pemrograman Web Teknik Informatika Fakultas Teknologi Industri

Pengantar World Wide Web

BAB III LANDASAN TEORI

SISTEM INFORMASI DISTRIBUSI BARANG BERBASIS WEB SERVICE

Komputer Perkantoran. Salhazan Nasution, S.Kom

Persiapan. Jalankan server apache dari XAMPP control panel Ekstrak file yang telah dibagikan, Salin folder week_8 ke htdocs

Interactive Broadcasting

JURUSAN SISTEM KOMPUTER FAKULTAS ILMU KOMPUTER UNIVERSITAS SRIWIJAYA

CAPTURE DAN ANALISIS PAKET PROTOKOL MENGGUNAKAN WIRESHARK

Workshop PHP For Newbie

APLIKASI BERBASIS WEB

Pokok Bahasan 2 Teknologi Dasar Internet dan Web. L. Erawan

ADMINISTRASI SERVER KELAS 11. Oleh Alimansyah Aprianto Tek. Komputer dan Jaringan

Konsep Pemrograman Internet dan Web

MAKALAH TENTANG LAPISAN OSI KE 7 (APPLICATION LAYER)

DEGI PANJU ANANDIA Dosen Pembimbing Ary Mazharuddin Shiddiqi, S.Kom, M.Comp.Sc

Lebih kompatibel dengan Windows karena memang IIS adalah keluaran Microsoft.

JURUSAN SISTEM KOMPUTER FAKULTAS ILMU KOMPUTER UNIVERSITAS SRIWIJAYA

BAB 1 PENDAHULUAN 1.1 Latar Belakang

Annisa Cahyaningtyas

Firewall & WEB SERVICE

Materi 2 Komputer Aplikasi IT (KAIT) 2 SKS Semester 1 S1 Sistem Informasi UNIKOM 2014 Nizar Rabbi Radliya nizar.radliya@yahoo.com

CAPTURE DAN ANALISIS PAKET PROTOKOL MENGGUNAKAN WIRESHARK

BAB III LANDASAN TEORI

Network Access/Interface Layer Internet Layer Host-to-Host Transport Layer Application Layer

BAB I. PENDAHULUAN...

BAB I PENDAHULUAN 1.1 Latar Belakang

JARINGAN KOMPUTER. Disusun Oleh : Nama : Febrina Setianingsih NIM : Dosen Pembimbing : Dr. Deris Stiawan, M.T., Ph.D.

BAB II LANDASAN TEORI. diperlukan dalam pembangunan website e-commerce Distro Baju MedanEtnic.

MENDEMONSTRASIKAN AKSES INTERNET

3 BAB III LANDASAN LANDASAN TEORI

FERNANDYA RISKI HARTANTRI / F DASAR-DASAR HTML

M.K. Pemrograman Web (AK ) Konsep Pemrograman Internet

Konsep Pemrograman Internet (1)

Bab1 -World Wide Web

Pemrograman Web I (Mengenal. Web) Oleh : Devie Rosa Anamisa

Teknik Informatika S1

PENGANTAR INTERNET & DESAIN WEB

APIs for everyone. Consumes APIs to create Apps faster, reliable. Create APIs to foster ideas and expands your apps.

Pemanfaatan dan Implementasi Library XMLSEC Untuk Keamanan Data Pada XML Encryption

BAB I PENDAHULUAN 1.1 Latar Belakang

Bab II. TINJAUAN PUSTAKA

PENGANTAR KOMPUTER & SOFTWARE II PENGENALAN DAN SEJARAH INTERNET, WEB, DAN BASIS DATA

BAB II. KAJIAN PUSTAKA. yang berkhasiat maupun diperkirakan berkhasiat sebagai obat, dan khasiatnya

BAB I PENDAHULUAN. tersebut dengan cara mempublikasikan hasil karyanya melalui website sehingga

BAB II TINJAUAN PUSTAKA

BAB II TINJAUAN PUSTAKA

Tujuan Pembangunan Jaringan Komputer. mengantarkan informasi secara tepat dan akurat dari sisi pengirim ke sisi penerima

Modul 2. Network Analysis Tool, Application Layer Protocol, dan Transport Layer Protocol

BAB III LANDASAN TEORI. Pada bab ini akan dijelaskan mengenai teori dasar yang digunakan oleh penulis sebagai acuan dalam membangun aplikasi.

Sistem Basis Data Lanjut. Sistem Manajemen Basis Data Web 1 : Web

Dalam model ini, informasi akan diteruskan dari satu lapisan ke berikutnya, mulai pada

SISTEM KEAMANAN DATA PADA WEB SERVICE MENGGUNAKAN XML ENCRYPTION

Hal yang paling utama dalam proses pembuatan web server adalah memilih software mana yang akan digunakan sebagai web server yang akan digunan.

BAB II LANDASAN TEORI. dihubungkan untuk berbagi sumber daya (Andi Micro, 2011:6). Jaringan Komputer

Pertemuan II. Ali Tarmuji, S.T., M.Cs. Pemrograman Web. Teknik Informatika Fakultas Teknologi Industri.

Internet & Web. Elfan Nofiari. Departemen Teknik Informatika Institut Teknologi Bandung. Page 1. IF-ITB/EN/1-Mar-04 IF3292 Internet & Web

Pengenalan Internet. Arrummaisha A

FTP Server. Konfigurasi Server Konfigurasi FTP. 1. Klik Menu Start All Programs Control Panel Add/Remove Program

3. BAB III ANALISA DAN PERANCANGAN SISTEM

BAB II LANDASAN TEORI

BAB III LANDASAN TEORI

Agenda. Protokol TCP/IP dan OSI Keluarga Protokol TCP/IP

BAB III IDENTIFIKASI DAN KLASIFIKASI WEB LOG

Koneksi Client-Server. Ahmad Zainudin

Bab 4: Lapisan Aplikasi

Pert 11 DASAR-DASAR WEB DESIGN

Andi Dwi Riyanto, M.Kom

Transkripsi:

TIF82 REST Team dosen Prodi Teknik Informatika, Fak. Teknologi Informasi Universitas Mercubuana Yogyakarta 2016

Pendahuluan Hypertext Transfer Protocol (HTTP) merupakan eleman penting sebuah web, yang biasa kita digunakan setiap saat. Tetapi sesungguhnya banyak yang tidak dikenal oleh para pengembang web tentang HTTP. Sebagian besar kemampuan HTTP sebenarnya belum digunakan secara sepenuhnya, dan REST di inspirasi oleh HTTP dan merupakan cara terbaik bagaimana HTTP bekerja. Mempelajari REST harus mempelajari HTTP

Pengantar REST REST = Representational State Transfer REST adalah bentuk arsitektur software untuk sistem terdistribusi seperti WWW. Cara mudah dan sederhana untuk mengatur atau mengelola interaksi antara berbagai sistem independen. Menggunakan kemampuan/fitur HTTP sebenarnya yang lebih lengkap, tidak hanya GET. Tumbuh dan berkembang sejak 2005 dan menginspirasi banyak API seperti twitter. REST mengijinkan kita berinteraksi, sumber daya yang minimal dengan client. REST selalu dapat di implementasikan ketika disitu HTTP bisa berjalan.

http://www.adityarizki.net/web-service-soap-vs-rest-mana-yang-lebih-baik/

Apakah rest web service? REST pada dasarnya setiap URL unik adalah representasi dari beberapa objek. Kita dapat memperoleh konten-konten objek tersebut menggunakan HTTP GET, untuk menghapusnya, kita dapat menggunakan POST, PUT, atau DELETE untuk memodifikasi objek (dalam praktiknya, kebanyakan service menggunakan POST untuk ini).

Seberapa populer rest? Semua web service utma di internet sekarang menggunakan REST: Twitter, Yahoo, termasuk Flickr, del.icio.us, pubsub, bloglines, technorati, dan beberapa yang lain. ebay dan Amazon menggunakan baik REST maupun SOAP.

Bagaimana dengan soap? SOAP digunakan pada aplikasi-aplikasi Enterprise untuk mengintegrasikan penggunaan yang lebih luas dan banyak aplikasi dan tren yang lain adalah mengintegrasikan dengan legacy system (sistem lama yg sudah ada sebelumnya). Dalam internet, Google konsisten dalam mengimplementasikan web service mereka menggunakan SOAP, kecuali Blogger yang menggunakan XML-RPC.

konsep SOAP to wash and your REST when you tired. Keuntungan utama web service REST yaitu: lightweigt, tidak membutuhkan XML markup tambahan hasilnya dapat dibaca dengan mudah oleh manusia (human readable result) mudah untuk dikembangkan, tidak membutuhkan toolkit Aplikasi client atau server dengan dukungan HTTP dapat dengan mudah memanggil service tersebut dengan command HTTP GET.

kerugian REST bukanlah solusi terbaik untuk setiap web service. Data yang butuh keamanan seharusnya tidak dikirimkan sebagai parameter dalam URI. Dan data dalam jumlah besar, seperti layanan pembelian, dapat menjadi rumit bahkan di luar batas URI

HTTP (1) Merupakan protokol yang mengijinkan pengiriman dokumen keluar masuk melalui web. Protokol merupakan set aturan yang menentukan pesan mana yang dapat dipertukarkan dan pesan mana yang cocok satu dengan yang lain. Contoh protokol lain adalah POP3 yang bisa digunakan untuk mengambil email ke hardisk kita. Didalam HTTP ada dua peran berbeda: Server dan Client. Pada umumnya, Client selalu mengawali koneksi (request) dan Server akan menanggapi (response) HTTP berbasis text, sehingga pesan pada intinya adalah kumpulan bit dari text, meskipun konten (body) bisa berisi berbagai media lainnya.

HTTP (2) Pesan HTTP terdiri dari Header dan Body. Body bisa tanpa isi (kosong), atau berisi data yang ingin di transmisikan melalui jaringan, berdasar instruksi yang ada di header. Header berisi metadata, misalnya informasi encoding. Dalam sebuah request, Header berisi HTTP methods yang sangat penting. Dalam REST, kita akan menemukan bahwa data header biasanya lebih penting daripada body.

Bagaimana HTTP Bekerja Jika menggunakan Chrome Developer Tools (Ctrl+Shift+I) atau ekstensi Firefox Firebug, kita dapat memata-matai (menganalisa) detail HTTP request ketika kita mengakses URL.

curl Cara lain untuk familiar dengan HTTP adalah menggunakan client seperti curl yang tersedia hampir di semua platform sistem operasi. Download curl : http://curl.haxx.se/ Setelah curl terpasang, jalankan dan ketikkan misalnya curl -v google.com Akan ditampilkan komunikasi HTTP, request diawali dengan tanda > dan respon di awali dengan < Tampilan akses HTTP dengan curl :

URL (1) URL = Uniform resource locator ( web address ) URL merupakan metode bagaimana kita mengidentifikasi 'sesuatu' yang ingin kita akses/kerjakan. setiap URL mengidentifikasi sebuah resource (sumber daya). Sebagai contoh URL yang mengelola client sebuah perusahaan /clients Akan mengidentifikasi semua client perusahaan /clients/joko akan mengidentifikasi client yang bernama joko, dengan menganggap bahwa hanya ada satu nama joko

URL (2) Contoh diatas tidak menyertakan hostname URL, karena akan menjadi tidak relevan dari titik awal bagaimana mengelola sebuah antarmuka. Meskipun begitu hostname penting untuk memastikan bahwa identifikasi sumberdaya (resource identifier) selalu unik didunia web. Dikatakan bahwa kita melakukan request untuk sebuah resource terhadap sebuah host. Host disertakan secara terpisah dari lokasi resource di Header ( resource diletakkan di kanan atas sebuah header HTTP). Contohnya sebagai berikut :

URL (3) Contoh header sebuat HTTP request: GET /clients/joko HTTP/1.1 Host: example.com Sebuah Resources bisa dikatakan sebagai nouns (kebendaan/kata benda). Sebagai perbandingan, contoh berikut bukan merupakan RESTful : /clients/add karena resource ini menggunakan URL untuk mendeskripsikan sebuah aksi (yaitu add ). Ini dasar penting untuk membedakan sistem RESTful dan yang bukan.

URL (4) Kesimpulannya, URL seharusnya setepat mungkin, semua resource yang perlu di identifikasikan unik harus ada di dalam URL. Data yang mengidentifikasi resources di dalam request tidak perlu disertakan, dengan begini URL bertindak sebagai mapping yang lengkap untuk menangani semua data. Jika seperti itu, bagaimana mendidentifikasi sebuah Aksi? misalnya clent ingin mendapatkan data atau ingin memasukkan data? Disinilah HTTP verbs (kata kerja) berperan.

HTTP Verbs (1) Setiap request selalu menyertakan HTTP verbs atau metode (methods) di Header-nya. Inilah bagian atau baris pertama dalam sebuah header request GET / HTTP/1.1 artinya metode GET digunakan, untuk mengakses root URL DELETE /clients/joko HTTP/1.1 artinya metode DELETE digunakan (disini untuk menghapus client bernama joko). "HTTP Verbs menginformasikan ke server apa yang harus dilakukan dengan data yang diidentifikasikan oleh URL"

HTTP Verbs (2) Sebuah Request dapat pula menyertakan data tambahan di dalam body yang mungkin diperlukan untuk operasi, misalnya data yang akan di entry. HTTP verbs yang penting untuk diketahui adalah : GET, POST, PUT dan DELETE. Metode lain semisal HEAD dan OPTIONS juga tersedia, tetapi jarang digunakan. Daftar HTTP Methods lebih lengkap di http://www.ietf.org/rfc/rfc2616.txt

HTTP GET GET merupakan jenis HTTP request methods yang paling sederhana. Digunakan di setiap kita membuka link di web browser, yang menginstruksikan ke server untuk mendapatkan data yang diidentifikasikan di URL. Data di server tidak seharusnya dan tidak boleh di modifikasi dengan metode GET. Sehingga GET request merupakan read-only. Client bebas melakukan operasi terhadap data yang didapat, seperti menampilkan dengan format tertentu

HTTP PUT Request PUT digunakan ketika ingin membuat atau update resource yang diidentifikasi oleh URL. Contoh PUT /clients/agus HTTP/1.1 bisa di artikan untuk membuat client baru dengan nama agus di server. PUT dapat menyertakan data yang digunakan untuk mengupdate atau membuat data baru di sever. REST tidak menginformasikan kepada server didalam request bagaimana data harus dibuat.

HTTP DELETE Request DELETE digunakan untuk operasi yang berkebalikan dengan PUT. Digunakan ketika ingin menghapus resource yang di identifikasi oleh URL di request, misalnya DELETE /clients/bambang HTTP/1.1 request ini akan menghapus data yang di identifikasi dengan /clients/bambang.

HTTP POST Request POST digunakan untuk memproses data yang diserver biasanya harus diulang-ulang. Sebagai contoh : POST /clients/ HTTP/1.1 harusnya tidak membuat resource /clients/ di modifikasi, tetapi resource yang URLnya diawali dengan /clients/. Misalnya menambah client baru dengan ID yang di generate oleh server Tetapi terkadang PUT dan POST digunakan secara berkebalikan. Meskipun biasanya POST request digunakan untuk melakukan operasi di server yang tidak bisa dilayani dengan Create/Update/Delete. Sehingga kebanyakan mencukupkan diri dengan PUT.

KLASIFIKASI HTTP Methods Safe dan Unsafe methods Safe methods yang tidak memodifikasi resources, dan hanya GET yang masuk jenis ini. Selain GET bisa memodifikasi resources (unsafe methods) Idempotent methods Metode ini mendapatkan hasil yang sama, meski request diulang bekali-kali. Mereka adalah GET, PUT dan DELETE. Sedangkan POST merupakan methods non idempotent