Modul Restfull Api
Modul Restfull Api
1
DAFTAR ISI
DAFTAR ISI...................................................................................................................................1
A. APPLICATION PROGRAMMING INTERFACE (API)................................................................1
B. RESTFULL API ...................................................................................................................... 1
1. URL Design......................................................................................................................1
2. HTTP Verbs......................................................................................................................1
a. GET .............................................................................................................................. 2
b. POST............................................................................................................................2
c. PUT..............................................................................................................................2
d. DELETE.........................................................................................................................2
3. HTTP Response Code ...................................................................................................... 2
4. Format Response............................................................................................................2
C. CARA REST APIs BEKERJA....................................................................................................3
D. JENIS JENIS API....................................................................................................................3
1. Berdasarkan Hak Akses.......................................................................................................3
a. Private API...................................................................................................................3
b. Partner API .................................................................................................................. 4
c. Public API.....................................................................................................................4
2. Berdasarkan Pengguna ....................................................................................................... 5
a. API Database ............................................................................................................... 5
b. API Sistem Operasi ...................................................................................................... 5
c. API Remote..................................................................................................................5
d. API Website.................................................................................................................6
E. DATA JSON..........................................................................................................................6
1. Key dan Value pada JSON...............................................................................................6
2. Jenis-Jenis Value pada JSON...........................................................................................7
3. Contoh Kasus Penggunaan JSON.....................................................................................7
a. Menghasilkan objek JSON dari data yang dibuat pengguna ....................................... 7
b. Mentransfer data antarsistem .................................................................................... 7
c. Konfigurasi data untuk aplikasi ................................................................................... 8
d. Menyederhanakan model data yang kompleks .......................................................... 8
4. Kelebihan Data JSON.......................................................................................................8
a. Kurang Verbose...........................................................................................................8
b. Lebih Cepat..................................................................................................................8
c. Mudah Dibaca ............................................................................................................. 8
d. Structure Data.............................................................................................................9
B. RESTFULL API
RESTful API / REST API merupakan penerapan dari API (Application Programming
Interface). Sedangkan REST (Representional State Transfer) adalah sebuah arsitektur
metode komunikasi yang menggunakan protokol HTTP untuk pertukaran data
dimana metode ini sering diterapkan dalam pengembangan aplikasi. Dengan
1. URL Design
RESTful API diakses menggunakan protokol HTTP. Penamaan dan struktur URL
yang konsisten akan menghasilkan API yang baik dan mudah untuk dimengerti
developer. URL API biasa disebut endpoint dalam pemanggilannya.
2. HTTP Verbs
Setiap request yang dilakukan terdapat metode yang dipakai agar server
mengerti apa yang sedang di request client:
a. GET
GET adalah metode HTTP Request yang paling mudah, metode ini digunakan
untuk membaca atau mendapatkan data dari sumber.
b. POST
POST adalah metode HTTP Request yang digunakan untuk membuat data
baru dengan menyisipkan data dalam body saat request dilakukan.
c. PUT
PUT adalah metode HTTP Request yang biasanya digunakan untuk
melakukan update data resource.
d. DELETE
DELETE adalah metode HTTP Request yang digunakan untuk menghapus
suatu data pada resource.
4. Format Response
Setiap request yang dilakukan client akan menerima data response dari
server, response tersebut biasanya berupa data XML ataupun JSON. Setelah
mendapatkan data response tersebut barulah client bisa menggunakannya
dengan cara memparsing data tersebut dan diolah sesuai kebutuhan.
a. Private API
Private API adalah jenis API yang dibuat agar bisa meningkatkan solusi
dan juga layanan dalam suatu organisasi.
Pihak developer dapat menggunakan fitur ini untuk melakukan
integrasi sistem ataupun software IT milik perusahaan itu sendiri,
tujuannya agar bisa membuat sistem baru atau software yang
berkaitan menggunakan sistem yang sudah tersedia.
b. Partner API
Partner API bisa diberikan secara terbuka namun hanya akan dibagikan
secara terbatas misalkan kepada mitra bisnis yang sudah melakukan
tanda tangan perjanjian dengan pihak publisher.
Terdapat aturan tertentu di dalamnya, yakni hanya user yang sudah
memiliki izin saja yang mampu menggunakan interface tersebut. Kasus
yang umum ditemukan dalam jenis ini adalah integrasi antar dua pihak.
Perusahaan yang memberikan akses data pada mitranya akan
memperoleh keuntungan tambahan.g cukup dan mampu
mempertahankan identitas utama perusahaan di aplikasi tersebut.
c. Public API
Public API yang lebih dikenal dengan tersedianya API untuk developer
pihak ketiga. API public ini terbagi menjadi dua jenis, yakni open
source dan juga komersial. Open API memungkinkan seluruh fitur di
dalamnya bersifat publik dan mampu digunakan tanpa adanya syarat
dan juga ketentuan yang mampu membatasi.
2. Berdasarkan Pengguna
a. API Database
API database mampu memungkinkan adanya komunikasi antar dua
aplikasi dan juga sistem manajemen database. Pihak developer akan
melakukan pekerjaannya dengan basis data dan menulis query untuk
bisa mengakses data, merubah tabel, dan berbagai hal lainnya.
Saat ini, API database drupal 7 mampu membantu setiap penggunanya
dalam menulis query untuk basis data yang beragam, baik itu dalam
kepemilikan ataupun sumber yang terbuka, seperti MySQL, Oracle,
MongoDB, MSSQL, dan CouchDB.
c. API Remote
API remote mampu menentukan standar interaksi untuk aplikasi yang
berjalan pada mesin yang berbeda. Itu artinya, satu produk software
mampu melakukan akses resources yang berada di luar device.
Hal ini dikarenakan dua aplikasi remote terhubung dengan jaringan
komunikasi internet, sehingga sebagian besar API remote dicatat
dengan berdasarkan standar website.
d. API Website
Fitur ini adalah jenis yang paling mudah untuk ditemui. API website
akan menyediakan resources yang mampu dibaca oleh mesin dan
mengirim fungsionalitas pada sistem berbasis website yang mampu
mewakili server dan juga klien.
Fitur ini akan mengirimkan permintaan dari aplikasi website dan
respon dari server dengan menggunakan Hypertext Transfer
Protocol (HTTP). Pihak developer bisa menggunakan API website untuk
meningkatkan fungsionalitas aplikasi ataupun website tersebut.
E. DATA JSON
JSON merupakan singkatan dari JavaScript Object Notation, yaitu open standard
format yang ringan dan berbasis teks, serta dirancang secara eksplisit untuk
pertukaran data yang dapat dibaca manusia. Ini adalah format data yang tidak
bergantung pada bahasa. JSON mendukung hampir semua jenis
Contoh ini adalah pasangan nilai kunci. Kuncinya adalah "nama" dan nilainya
adalah "Sugeng".
a. Kurang Verbose
b. Lebih Cepat
Proses penguraian JSON lebih cepat daripada XML karena pustaka
manipulasi DOM di XML memerlukan memori ekstra untuk menangani file
XML besar. Namun, JSON membutuhkan lebih sedikit data yang pada
akhirnya menghasilkan pengurangan biaya dan peningkatan kecepatan
penguraian;
c. Mudah Dibaca
Struktur JSON mudah dibaca dan lugas. Terlepas dari bahasa pemrograman
yang Anda gunakan, Anda dapat dengan mudah memetakan objek domain;
d. Structure Data
Dalam JSON, struktur data peta digunakan, sedangkan XML mengikuti tree
structure. Pasangan nilai kunci mungkin akan membatasi tugas, tetapi
memfasilitasi model prediktif dan mudah dimengerti.
1. Siapkan database
Buatah database MysQL di phpmyadmin dan tambahkan tabel pegawai,
dengan structure sebagai berikut.
<?php
$hostname = "localhost";
$database = "lat_simpeg";
$username = "root";
$password = "";
if (!$connect) {
3. File phprestapi.php
<?php
require_once "koneksi.php";
if(function_exists($_GET['function'])) {
$_GET['function']();
function get_pegawai()
global $connect;
while($row=mysqli_fetch_object($query))
$data[] =$row;
$response=array(
'status' => 1,
'message' =>'Success',
);
header('Content-Type: application/json');
echo json_encode($response);
function get_pegawai_id()
global $connect;
if (!empty($_GET["id"])) {
$id = $_GET["id"];
$result = $connect->query($query);
while($row = mysqli_fetch_object($result))
$data[] = $row;
if($data)
$response = array(
'status' => 1,
'message' =>'Success',
);
}else {
$response=array(
'status' => 0,
);
header('Content-Type: application/json');
echo json_encode($response);
function insert_pegawai()
global $connect;
$check = array('id' => '', 'nama' => '', 'jenis_kelamin' => '', 'alamat' => '');
if($check_match == count($check)){
nama = '$_POST[nama]',
jenis_kelamin = '$_POST[jenis_kelamin]',
alamat = '$_POST[alamat]'");
if($result)
$response=array(
'status' => 1,
);
else
$response=array(
'status' => 0,
);
}else{
$response=array(
'status' => 0,
);
header('Content-Type: application/json');
echo json_encode($response);
function update_pegawai()
global $connect;
if (!empty($_GET["id"])) {
$id = $_GET["id"];
$check = array('nama' => '', 'jenis_kelamin' => '', 'alamat' => '');
if($check_match == count($check)){
nama = '$_POST[nama]',
jenis_kelamin = '$_POST[jenis_kelamin]',
if($result)
$response=array(
'status' => 1,
);
else
$response=array(
'status' => 0,
}else{
$response=array(
'status' => 0,
'data'=> $id
);
header('Content-Type: application/json');
echo json_encode($response);
function delete_pegawai()
global $connect;
$id = $_GET['id'];
if(mysqli_query($connect, $query))
$response=array(
'status' => 1,
);
else
'status' => 0,
);
header('Content-Type: application/json');
echo json_encode($response);
?>
3. Get Pegawai By Id
http://localhost/rest_server/phprestapi.php?function=get_pegawai_id
&id=3
5. Delete Data
http://localhost/rest_server/phprestapi.php?function=delete_pegawai
&id=6