Tutorial membuat REST-ful API pada Aplikasi Inventory Manajemen Toko Elektronik

Laila rahmatin nisa
4 min readNov 24, 2022

--

Jika kita ingin membuat aplikasi Android yang terkoneksi dengan database server (seperti MySQL, SQL-Server, dan lain sebagainya) kita harus menggunakan Web Service.

Pada tutorial ini akan dijelaskan mengenai konsep dasar web service serta step by step membuat REST service dengan PHP native.

Langkah-langkah :

  1. Pertama, membuat folder pada htdocs dengan nama ‘stok’.

2. buat file dengan vscode, save pada folder stok dengan nama index dengan extention .php

3. kemudian kita akan menggunakan sqlite yang sifatnya embeded, dengan nama database stok.db lalu kita akan buat koneksinya menggunakan PDO. Kemudian buat PDO untuk menampilkan error (opsional).

<?php

$file_db = "stok.db";

try {
$pdo = new PDO("sqlite:$file_db");
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$pdo->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
}

4. kemudian, buat tabel stok dengan isi tabelnya nama_barang,merk dengan type data text dan jumlah dengan type data integer. kemudian kita eksekusi dengan PDO exec.

kemudian kita buat PDO exception untuk mengetahui kesalahan .

$sql_create = "CREATE TABLE IF NOT EXISTS `stok`(
`id` integer NOT NULL PRIMARY KEY AUTOINCREMENT,
`nama_barang` text NOT NULL,
`merk` text NOT NULL,
`jumlah` integer NOT NULL,
`created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP)";
$pdo->exec($sql_create);
}catch (PDOException $e) {
throw new PDOException($e->getMessage(), (int)$e->getCode());
}

5. Terdapat beberapa Method pada rest, antara lain :

* - GET: untuk mendapatkan data dari server

* - POST: untuk menginputkan data baru

* - PUT: untuk mengupdate data yang sudah ada

* - DELETE: untuk menghapus data

6. Kemudian kita akan membuat method untu get, post, dan delete.

if ($_SERVER['REQUEST_METHOD'] === 'GET') {
# untuk mengakses data dari server
$query = 'select * from stok order by created_at desc';
$stmt = $pdo->prepare($query);
$stmt->execute();
$data = $stmt->fetchAll(PDO::FETCH_ASSOC);
echo json_encode($data);
} elseif ($_SERVER['REQUEST_METHOD'] === 'POST') {
# untuk menambahkan data baru dari server
$nama_barang = $_POST['nama_barang'];
$merk = $_POST['merk'];
$jumlah = $_POST['jumlah'];
$query = "insert into stok (nama_barang,merk,jumlah) values (?,?,?)";
$stmt = $pdo->prepare($query);
$res = $stmt->execute([$nama_barang, $merk,$jumlah]);
if ($res){
$data = ['nama_barang'=>$nama_barang, 'merk'=>$merk,'jumlah'=>$jumlah];
echo json_encode($data);
} else {
echo json_encode(['error'=>$stmt->errorCode()]);
}
} elseif ($_SERVER['REQUEST_METHOD'] === 'DELETE') {
# untuk menghapus data dari server
$id = $_GET['id'];
$query = "delete from stok where id = ?";
$stmt = $pdo->prepare($query);
$res = $stmt->execute([$id]);
if ($res){
$data = ['id'=>$id];
echo json_encode($data);
} else {
echo json_encode(['error'=>$stmt->errorCode()]);
}
}

7. kita menggunana aplikasi khusus yang bernama postman untuk mencoba web service.

kemudian kita akan akses localhost/stok/index.php dengan menggunakan method get.

karena belum ada data maka yang tampil hanya [ ].

kemudian pada folder stok di htdoc akan muncul file stok.db

selanjutnya kita gunakan method post, body dan form data. Lalu masukkan nama_barang,merk, dan jumlahnya, lalu send.

kemudian untuk mengecek apakah data sudah masuk kita menggunakan get dan send.

kemudian kita akan mencoba method delete dengan menggunakan id

dengan menggunkan method get kita akan lihat data setelah id 3 dihapus

lalu kita cek pada sqliteonline.com data yang sudah kita inputkan dan kita peroleh hasil sebagai berikut :

selesai.

--

--