Membuat RESTFUL API menggunakan PHP

    September 27, 2018   No comments

Pada pembahasan kali ini kita akan membahas mengenai CRUD OPERATION REST API using PHP and MYSQLI. API adalah sebuah file untuk menyimpan data dari database ke dalam format json. Disini kita menggunakan bahasa pemrograman PHP untuk membuat API tersebut.

Sebelum memasuki pembahasan, buatlah terlebih sebuah database dengan nama databasenya biosiswa dan buatlah table seperti berikut ini.



DATABASE


CREATE TABLE `biodata` (   `id` int(11) NOT NULL,   `nama` varchar(65) NOT NULL,   `kelas` varchar(35) NOT NULL `alamat` varchar(105) NOT NULL, `jurusan` varchar(65) NOT NULL, `pangkat` varchar(35) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1; ALTER TABLE `biodata`   ADD PRIMARY KEY (`id`); ALTER TABLE `biodata`   MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=25;

Kemudian masukkan beberapa data seperti berikut ini.


INSERT INTO `biodata` (`id`, `nama`, `kelas `,` alamat `,`jurusan`,`pangkat`) VALUES (1, 'Erji', 'XII’,’pasar’,’software engineering’,’ketua kelas’), (2, 'ridho', 'XII’,’lahat’,’software engineering’,’wakil ketua’), (3, 'lubis', 'XII’,’palembang’,’software engineering’,’siswa’), (4, 'horison', 'XII’,’lahat’,’software engineering’,’guru’);

Setelah membuat databse seperti diatas, kita akan membuat file add.php. Fungsi dari file add.php ini adalah untuk membuat fungsi tambah data ke database.Silahkan buat file tersebut kemudian simpan kedalam sebuah folder di server local (localhost). Kemudian masukkan code php berikut ke dalam file php yang dibuat tadi.

Add.php


<?php require_once('connection.php'); if(isset($_POST['nama'])&&isset($_POST['kelas'])&&isset($_POST['alamat'])&&isset($_POST['jurusan'])&&isset($_POST['pangkat'])){ $nama    = $_POST['nama']; $kelas   = $_POST['kelas']; $alamat  = $_POST['alamat']; $jurusan = $_POST['jurusan']; $pangkat = $_POST['pangkat']; // Query untuk Insert $SQL = $conn -> prepare("INSERT INTO biodata (nama, kelas, alamat, jurusan, pangkat) VALUES (?,?,?,?,?)"); $SQL -> bind_param("sssss",$nama,$kelas,$alamat,$jurusan,$pangkat); $SQL -> execute();  if($SQL) {     echo json_encode(array( 'RESPONSE'=>'SUCCESS' )); } else {     echo json_encode(array( 'RESPONSE'=>'FAILED' )); } } else { echo "GAGAL"; } ?> 
Selanjutnya buatlah kembali sebuah file php dengan nama connection.php dan simpan pada folder yang sama. Kemudian buka file tersebut dan masukkan script seperti dibawah ini.




connection.php


<?php define('HOST','localhost'); define('USER','root'); define('PASS',''); define('DB','biosiswa'); $conn = new mysqli(HOST,USER,PASS,DB) or die('Connetion error to the database'); date_default_timezone_set("ASIA/JAKARTA"); ?>

Selanjutnya adalah membuat file list.php. Funsi dari file ini adalah untuk menampilkan data dari database dalam format json. Silahkan buat file list.php dan masukkan script berikut didalamnya.

List.php


<?PHP  require_once('connection.php');< //Query untuk Tampil  $SQL = mysqli_query($conn, "SELECT * FROM biodata ORDER BY id ASC"); $result = array(); while($row = mysqli_fetch_array($SQL)){ ARRAY_PUSH($result,array( 'id' => $row['id'], 'nama' => $row['nama'], 'kelas' => $row['kelas'], 'alamat' => $row['alamat'], 'jurusan' => $row['jurusan'], 'pangkat' => $row['pangkat'] )); } echo json_encode(array($result)); mysqli_close($conn  ?>

Langkah selanjutnya adalah membuat file single.php. Fungsi dari file ini adalah untuk menampilkan sebuah data berdasarkan id yang di input oleh pengguna. Silahkan buat file single.php dan masukkan script berikut didalamnya.

Single.php


<?PHP  require_once('connection.php'); if(isset($_POST['id'])) { $id = $_POST['id']; //Query untuk Tampil  $SQL = $conn -> prepare("SELECT * FROM biodata WHERE id=? ORDER BY id ASC"); $SQL -> bind_param("i",$id); $SQL -> execute();  $hasil = $SQL->get_result(); $users = $hasil->fetch_all(MYSQLI_ASSOC); foreach($users as $key =>$seluruhhasil) { echo json_encode(array($seluruhhasil)); }     } else { echo "data tidak ditemukan"; }  ?>

Kemudian buatlah sebuah file update.php. dan masukkan script berikut dialam file tersebut.

Update.php


<?php require_once('connection.php'); if(isset($_POST['id'])&&isset($_POST['nama'])&&isset($_POST['kelas'])&&isset($_POST['alamat'])&&isset($_POST['jurusan'])&&isset($_POST['pangkat'])){ $id      = $_POST['id']; $nama    = $_POST['nama']; $kelas   = $_POST['kelas']; $alamat  = $_POST['alamat']; $jurusan = $_POST['jurusan']; $pangkat = $_POST['pangkat']; // Query untuk Insert $SQL = $conn -> prepare("UPDATE biodata SET nama =?, kelas=?, alamat=?, jurusan=?, pangkat=? WHERE id=?"); $SQL -> bind_param("sssssi",$nama,$kelas,$alamat,$jurusan,$pangkat,$id); $SQL -> execute();         if($SQL) {     echo json_encode(array( 'RESPONSE'=>'SUCCESS' )); } else {     echo json_encode(array( 'RESPONSE'=>'FAILED' )); } } else { echo "GAGAL"; } ?>

Terakhir adalah membuat file delete.php. Silahkan buat file tersebut dan masukkan script seperti berikut ini.

Delete.php


<?php require_once('connection.php'); if(isset($_POST['id'])) { $id = $_REQUEST['id']; //Query untuk Delete //$SQL = mysqli_query($conn, "DELETE FROM biodata WHERE id='$id' "); $SQL = $conn -> prepare("DELETE FROM biodata WHERE id=?"); $SQL -> bind_param("i",$id); $SQL -> execute();  if($SQL) {     echo json_encode(array( 'RESPONSE'=>'SUCCESS' )); } else {     echo json_encode(array( 'RESPONSE'=>'FAILED' )); } } else { echo "GAGAL"; } ?>

Setelah semua file diatas dibuat, jangan lupa untuk di save dan ditest. Disini kita akan menggunakan aplikasi Postman untuk pengecekan api yang kita buat diatas berjalan dengan baik atau tidak.
Silahkan buka aplikas Postman dan silahkan ditest. Berikut ini adalah hasil test API yang kita buat diatas menggunakan aplikasi Postman.

list.php

add.php

update.php

delete.php

single.php


Sekian untuk tutorial kali ini, bila ada kesalah dalam penulisan mohon dimaafkan dan bila terdapat error bisa bertanya melalui komentar. Silahkan di pelajari dan dipraktekkan agar lebh bermanfaat. Terima kasih.

Erji Ridho Lubis

Erji Ridho Lubis

Portal Coding Adalah Blog untuk memberikan pembelajaran serta tutorial mengenai berbagai pemrograman komputer.

No comments:
Write Comments

FansPage

Recent Comments

Copyright © 2018 Portal Coding.