TUTORIAL RESTFUL WEB SERVICES
Bahasa Pemrograman PHP
Tutorial
membuat Restful Web Service dengan menggunakan bahasa pemrograman PHP.
1. Langkah
Pertama
Membuat database
dengan nama ‘buku’, dengan nama table ‘buku’ dan field nya terdiri dari
id_buku, judul_buku, deskripsi_buku, dan harga_buku.
2. Langkah
Kedua
Membuat file koneksi ke database
dengan nama connection.php, seperti berikut :
Connection.php
<?php
$connect_db = new
mysqli("localhost","root","","buku");
?>
|
3. Langkah
Ketiga
Selanjutnya membuat file untuk
menampilkan “Hello Word” dan file Server untuk membuat CRUD.
index.php
<?php
$data = 'Hello Word';
echo $data;
?>
|
crud.php
<?php
include
'connection.php';
header('Content-Type:
application/json');
if($_SERVER['REQUEST_METHOD']
== "POST"){
$nama_buku = $_POST['nama'];
$deskripsi_buku = $_POST['deskripsi'];
$harga_buku = $_POST['harga'];
$query = "INSERT INTO
buku(judul_buku, deskripsi_buku, harga_buku)
VALUES('$nama_buku','$deskripsi_buku',$harga_buku)";
$sql =
mysqli_query($connect_db,$query);
if ($sql) {
echo json_encode(['success'=>true]);
}else{
echo
json_encode(['success'=>false]);
}
}else
if($_SERVER['REQUEST_METHOD'] == "PUT"){
parse_str(file_get_contents("php://input"),$post_vars);
$id = $_GET['id'];
$nama_buku = $post_vars['nama'];
$deskripsi_buku =
$post_vars['deskripsi'];
$harga_buku = $post_vars['harga'];
$query = "UPDATE buku SET
judul_buku= '$nama_buku' , deskripsi_buku = '$deskripsi_buku' , harga_buku =
'$harga_buku' WHERE id_buku = '$id' ";
$sql =
mysqli_query($connect_db,$query);
if ($sql) {
echo
json_encode(['success'=>true]);
}else{
echo
json_encode(['success'=>false]);
}
}else
if($_SERVER['REQUEST_METHOD'] == "DELETE"){
$id = $_GET['id'];
$query = "DELETE FROM buku WHERE
id_buku = '$id'";
$sql = mysqli_query($connect_db,$query);
if ($sql) {
echo
json_encode(['success'=>true]);
}else{
echo
json_encode(['success'=>false]);
}
}else
if($_SERVER['REQUEST_METHOD'] == "GET"){
if(isset($_GET['id']) != null){
$id = $_GET['id'];
$query = "SELECT * FROM
buku WHERE id_buku = $id";
$sql =
mysqli_query($connect_db,$query);
$data =
mysqli_fetch_array($sql);
}else{
$query = "SELECT * FROM
buku";
$sql =
mysqli_query($connect_db,$query);
while ($buku =
mysqli_fetch_array($sql)) {
$data[] = $buku;
}
}
echo json_encode($data);
}
|
4. Langkah
Terakhir
Langkah
yang terakhir ialah testing. Kita akan mencoba menjalankan webservice yang
telah di buat dengan menggunakan aplikasi Postman.
Dengan menggunakan Request Method Get pada localhost:restapi-sister akan memanggil file index.php dari folder restapi-sister.
Ø
Percobaan
dengan menggunakan crud
1.
Get
data
2.
Post
data
3.
Put
data
4.
Delete
data
Jika fungsi dari semua method
berhasil di lakukan akan muncul tulisan success -> true.
Langkah selanjutnya
setelah membuat webservice adalah membuat sebuah web client.
Web client di buat
agar client dapat mengakses data yang ada di webservice.
1.
Langkah
Pertama
Yang
pertama kali di lakukan ialah membuat file helper.php untuk membuat
fungsi-fungsi yang akan di gunakan saat crud data.
Helper.php
<?php
function
get_data($url){
$data
= curl_init();
curl_setopt($data,
CURLOPT_URL, $url);
curl_setopt($data,
CURLOPT_RETURNTRANSFER, 1);
$hasil
= curl_exec($data);
curl_close($data);
$arraydata
= json_decode($hasil);
return
$arraydata;
}
function
add_data($url){
$data1
= $_POST['judul_buku'];
$data2
= $_POST['deskripsi_buku'];
$data3
= $_POST['harga_buku'];
$buku
= [
'nama'=>$data1,
'harga'=>$data3,
'deskripsi'=>$data2
];
$data
= curl_init();
curl_setopt($data,
CURLOPT_URL, $url);
curl_setopt($data,
CURLOPT_POST, true);
curl_setopt($data,
CURLOPT_POSTFIELDS, $buku);
curl_setopt($data,
CURLOPT_RETURNTRANSFER, 1);
curl_setopt($data,
CURLOPT_HEADER, 0);
$hasil
= curl_exec($data);
curl_close($data);
return
json_decode($hasil);
}
function
update_data($url){
$buku
= array(
'nama'=>$_POST['judul_buku'],
'deskripsi'=>$_POST['harga_buku'],
'harga'=>$_POST['deskripsi_buku'],
);
$data
= curl_init();
curl_setopt($data,
CURLOPT_URL, $url);
curl_setopt($data,
CURLOPT_RETURNTRANSFER, 1);
curl_setopt($data, CURLOPT_CUSTOMREQUEST,
"PUT");
curl_setopt($data, CURLOPT_POSTFIELDS, http_build_query($buku));
$response
= curl_exec($data);
echo
$response;
return
json_decode($response);
}
function
delete_data($url){
$data
= curl_init();
curl_setopt($data,
CURLOPT_URL, $url);
curl_setopt($data,
CURLOPT_RETURNTRANSFER, 1);
curl_setopt($data, CURLOPT_CUSTOMREQUEST, "DELETE");
$response
= curl_exec($data);
echo
$response;
return
json_decode($response);
}
?>
|
2.
Langkah
Kedua membuat file untuk menampilkan data
index.php
<?php
include
'helper.php';
$buku =
get_data('http://localhost/restapi-sister/crud.php');
?>
<!DOCTYPE html>
<html>
<head>
<title>Index</title>
</head>
<body>
<table
border="1">
<tr>
<th>Judul
Buku</th>
<th>Deskripsi</th>
<th>Harga</th>
<th>Aksi</th>
</tr>
<?php
foreach ((array)$buku as $databuku): ?>
<tr>
<td><?php
echo $databuku->judul_buku ?></td>
<td><?php
echo $databuku->deskripsi_buku ?></td>
<td><?php
echo $databuku->harga_buku ?></td>
<td><a
href="delete.php?id=<?php echo $databuku->id_buku
?>"><button>Delete</button></a></td>
</tr>
<?php
endforeach ?>
</table>
</body>
</html>
|
Hasil
Running :
3.
Langkah
ketiga membuat form crud
Ø
Form
add data
Tambah.php
<?php
include
'helper.php';
if(isset($_POST['judul_buku'])){
$re
= add_data('http://localhost/restapi-sister/crud.php');
var_dump($re);
}else{
?>
<!DOCTYPE
html>
<html>
<head>
<title>Add
Data</title>
</head>
<body>
<form
method="post" >
Judul
Buku :<br>
<input
type="text" placeholder="Judul Buku"
name="judul_buku"></br>
Deskripsi
Buku :<br>
<input
type="text" placeholder="Deskripsi Buku"
name="deskripsi_buku"></br>
Harga
Buku :<br>
<input
type="text" placeholder="Harga Buku"
name="harga_buku"></br>
<input
type="submit" value="Submit"></input>
</form>
</body>
</html>
<?php
}
?>
|
Hasil Running :
Ø
Form
Edit
Edit.php
<?php
include
'helper.php';
$id =
$_GET['id'];
$buku = get_data('http://localhost/restapi-sister/crud.php?id='.$id);
if
(isset($_POST['dataupdate'])) {
$re
= update_data('http://localhost/restapi-sister/crud.php?id='.$id);
}else{
?>
<!DOCTYPE
html>
<html>
<head>
<title>Edit
Data</title>
</head>
<body>
<form
method="post" action="edit.php?id=<?php echo $id
?>">
Judul
Buku :<br>
<input
type="text" name="judul_buku" value="<?php echo
$buku->judul_buku ?>"></br>
Deskripsi
Buku :<br>
<input
type="text" name="deskripsi_buku" value="<?php
echo $buku->deskripsi_buku ?>"></br>
Harga
Buku :<br>
<input
type="text" name="harga_buku" value="<?php echo
$buku->harga_buku?>"></br>
<input
type="submit" value="Submit"
name="dataupdate"></input>
</form>
</body>
</html>
<?php
}
?>
|
Hasil Running :
Ø
Aksi
delete.php
Delete.php
<?php
include
'helper.php';
$id
= $_GET['id'];
$data
= delete_data('http://localhost/restapi-sister/crud.php?id='.$id);
?>
|
Sekian Tutorial dari saya
Semoga Bermanfaat 😉









