Ilmu Berasal dari mana saja

Rabu, 13 September 2017

Tutorial Restful Web Services (PHP)

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.

           Ø  Percobaan untuk mengambil data ‘Hello Word’.
                    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 😉







0 komentar:

Posting Komentar

Thank's

Social Profiles

Facebook Google Plus RSS Feed Email Path

Popular Posts

nayla. Diberdayakan oleh Blogger.

BTemplates.com

Blogroll

About

Copyright © Naynay | Powered by Blogger
Design by Lizard Themes | Blogger Theme by Lasantha - PremiumBloggerTemplates.com