Membuat dan mengonsumsi API sederhana dengan PHP
Revision as of 11:40, 7 April 2025 by Onnowpurbo (talk | contribs)
Tujuan Pembelajaran
- Memahami konsep dasar REST API.
 - Membangun API sederhana dengan PHP (tanpa framework).
 - Mengonsumsi (mengakses) API menggunakan PHP dan tools seperti `curl`.
 - Menjalankan API di server lokal Ubuntu 24.04 (menggunakan Apache).
 
Persiapan Lingkungan
1. Install Apache, PHP, dan cURL
sudo apt update sudo apt install apache2 php libapache2-mod-php php-curl
2. Buat Folder Project
sudo mkdir -p /var/www/html/simple-api sudo chown -R $USER:$USER /var/www/html/simple-api cd /var/www/html/simple-api
Bagian 1: Membuat API Sederhana
1.1 Struktur Direktori
simple-api/ ├── api.php └── data.json
1.2 Isi `data.json`
 [
     {"id": 1, "name": "Alice"},
     {"id": 2, "name": "Bob"},
     {"id": 3, "name": "Charlie"}
 ]
1.3 Isi `api.php`
 <?php
 header('Content-Type: application/json');
 
 $data = json_decode(file_get_contents('data.json'), true);
 
 if ($_SERVER['REQUEST_METHOD'] === 'GET') {
     if (isset($_GET['id'])) {
         $id = intval($_GET['id']);
         foreach ($data as $item) {
             if ($item['id'] === $id) {
                 echo json_encode($item);
                 exit;
             }
         }
         echo json_encode(["error" => "Data not found"]);
     } else {
         echo json_encode($data);
     }
 } else {
     echo json_encode(["error" => "Method not supported"]);
 }
1.4 Akses API via Browser
- Semua data: [1](http://localhost/simple-api/api.php)
 - Data berdasarkan ID: [2](http://localhost/simple-api/api.php?id=2)
 
Bagian 2: Mengonsumsi API dengan PHP
2.1 File: `consume.php`
 <?php
 function getData($url) {
     $ch = curl_init();
     curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
     curl_setopt($ch, CURLOPT_URL, $url);
     $result = curl_exec($ch);
     curl_close($ch);
     return json_decode($result, true);
 }
 
 $apiUrl = "http://localhost/simple-api/api.php";
 $data = getData($apiUrl);
 
 echo "<h2>Daftar User</h2><ul>";
 foreach ($data as $user) {
     echo "<li>{$user['id']} - {$user['name']}</li>";
 }
 echo "</ul>";
2.2 Jalankan di browser
- Simpan di `/var/www/html/simple-api/consume.php`
 - Akses di browser: [3](http://localhost/simple-api/consume.php)
 
Bonus: Uji Coba dengan Terminal
curl http://localhost/simple-api/api.php curl http://localhost/simple-api/api.php?id=2
Kesimpulan
- Kamu telah berhasil membuat API sederhana menggunakan file JSON.
 - API ini hanya mendukung method `GET`.
 - Kamu juga telah belajar cara mengambil data API menggunakan PHP (`curl`).
 
Coba membuat versi POST, PUT, DELETE :) ...