Tutorial API dan Postman Bagian #1 (API PHP Native)

Pengenalan API

API (Application Programming Interface) adalah jembatan komunikasi antar aplikasi.

Contoh:

  • Aplikasi Android ambil data dari server
  • Website ambil data dari backend

REST API menggunakan HTTP Method:

MethodFungsi
GETAmbil data
POSTSimpan data
PUTUpdate data
DELETEHapus data

Persiapan Tools

Install:

Buat folder:

htdocs/api-siswa/

Buat Database MySQL

CREATE DATABASE db_api;

USE db_api;

CREATE TABLE siswa (
    id INT AUTO_INCREMENT PRIMARY KEY,
    nama VARCHAR(100),
    kelas VARCHAR(50),
    jurusan VARCHAR(50)
);

Buatkan/insert minimal 5 records/sample data dummy.

Koneksi Database (koneksi.php)

<?php
$conn = new mysqli("localhost", "root", "", "db_api");

if ($conn->connect_error) {
    die("Koneksi gagal: " . $conn->connect_error);
}

API GET – Ambil Data (get.php)

<?php
include 'koneksi.php';

$query = $conn->query("SELECT * FROM siswa");
$data = [];

while ($row = $query->fetch_assoc()) {
    $data[] = $row;
}

echo json_encode($data);

Uji di Postman jika berhasil muncul status 200 OK:

  • Method: GET
  • URL: http://localhost/api-siswa/get.php

API POST – Simpan Data (post.php)

<?php
include 'koneksi.php';

$nama = $_POST['nama'];
$kelas = $_POST['kelas'];
$jurusan = $_POST['jurusan'];

$sql = "INSERT INTO siswa (nama, kelas, jurusan) VALUES ('$nama', '$kelas', '$jurusan')";

if ($conn->query($sql)) {
    echo json_encode(["status" => "success"]);
} else {
    echo json_encode(["status" => "error"]);
}

Postman:

  • Method: POST
  • URL: http://localhost/api-siswa/post.php
  • Body → x-www-form-urlencoded
    • nama: Andi
    • kelas: X
    • jurusan: RPL

Jika berhasil, cek database db_api -> table siswa di phpmyadmin, apakah datanya sudah bertambah atau belum.


API PUT – Update Data (put.php)

<?php
include 'koneksi.php';
header("Content-Type: application/json");

// Ambil JSON dari body
$data = json_decode(file_get_contents("php://input"), true);

if (!isset($data['id']) || !isset($data['nama'])) {
    echo json_encode([
        "status" => false,
        "message" => "Parameter id dan nama wajib dikirim"
    ]);
    exit;
}

$id = $data['id'];
$nama = $data['nama'];

$sql = "UPDATE siswa SET nama='$nama' WHERE id='$id'";

if ($conn->query($sql)) {
    echo json_encode(["status" => true, "message" => "Data berhasil diupdate"]);
} else {
    echo json_encode(["status" => false, "message" => "Gagal update"]);
}
?>

Postman Bentuk Params:

  • Method: PUT
  • URL : http://localhost/api-siswa/put.php?id=1&nama=Budi

Jika menggunakan Postman bentuk RAW Json:

  • Method: PUT
  • URL : http://localhost/api-siswa/put.php
  • Body :
    {
      “id”: 1,
      “nama”: “Budi 2”
    }

Jika berhasil, cek database db_api -> table siswa di phpmyadmin, apakah data dengan id = 1 sudah berubah atau belum.

API DELETE – Hapus Data (delete.php)

<?php
include 'koneksi.php';
header("Content-Type: application/json");

// Ambil JSON dari body
$data = json_decode(file_get_contents("php://input"), true);

if (!isset($data['id'])) {
    echo json_encode([
        "status" => false,
        "message" => "Parameter id wajib dikirim"
    ]);
    exit;
}

$id = $data['id'];

$sql = "DELETE FROM siswa WHERE id='$id'";

if ($conn->query($sql)) {
    echo json_encode([
        "status" => true,
        "message" => "Data berhasil dihapus"
    ]);
} else {
    echo json_encode([
        "status" => false,
        "message" => "Gagal menghapus data"
    ]);
}
?>

Postman bentuk/model Raw JSON:
  • Method: DELETE
  • URL : http://localhost/api-siswa/delete.php
  • Body :
    {
      “id”: 2
    }

Jika berhasil, cek database db_api -> table siswa di phpmyadmin, apakah data dengan id = 2 sudah hilang terhapus atau belum.

Struktur Folder

api-siswa/
│
├─ koneksi.php
├─ get.php
├─ post.php
├─ put.php
└─ delete.php

Latihan Mandiri

  1. Buat endpoint baru detail.php?id=1
  2. Tampilkan hanya 1 data berdasarkan ID
Tags :

Leave a Reply

Your email address will not be published. Required fields are marked *

fourteen − 9 =

Tutorial Terpopuler

Tutorial Pilihan

Tentang Gurututorku

Gurututorku adalah sebuah kursus online maupun offline yang menyediakan berbagai macam tutorial tentang pemrograman, design, dan multimedia serta artikel teknologi yang tentunya bisa dinikmati dan dipelajari oleh semua orang yang baru ingin belajar dunia IT.

© 2024 – Gurututorku.com | Learning today success tomorrow.