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:
| Method | Fungsi |
|---|---|
| GET | Ambil data |
| POST | Simpan data |
| PUT | Update data |
| DELETE | Hapus data |
Persiapan Tools
Install:
- XAMPP / Laragon
- Postman atau bisa menggunakan https://hoppscotch.io
- Browser
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
- Buat endpoint baru
detail.php?id=1 - Tampilkan hanya 1 data berdasarkan ID
