Membuat api dengan php

Pada tutorial sebelumnya kita telah membahas tentang REST API dan jika teman-teman telah membaca dan membuat script di postingan tersebut maka akan diperolah pemahaman tentang dasar rest api dan latihan project rest api sederhana menggunakan PHP Native dan MySQL database.

Tutorial belajar Rest API ini masih menggunakan PHP dan MySQL. Dapat dikatakan Ini adalah lanjutan dari tutorial rest api sebelumnya namun script php yang digunakan untuk membuat rest api ini berbentuk object oriented programming.

Sebagai pengguna PHP tentu kita tahu bahwa di php kita bisa menggunkan pendekatan prosedural dan object oriented dalam mengembangkan scirpt.

Nah Langsung Saja…

Langkah Pembuatan File Rest Api

Di bawah ini mari kita selesaikan pembuatan file php menggunakan pendekatan OOP untuk membuat REST API.

1. Siapkan database

Buatlah terlebih dahulu database. (boleh digunakan database yang sudah ada). Pada contoh ini menggunakan database indonetsource sebagai..

2. Buatlah tabel mahasiswa di database seperti di bawah ini.

CREATE TABLE `tbl_mahasiswa` (
 `nim` varchar(8) NOT NULL,
 `nama` varchar(30) NOT NULL,
 `jenis_kelamin` enum(‘Laki-laki’,’Perempuan’) NOT NULL,
 `tempat_lahir` varchar(20) NOT NULL,
 `tanggal_lahir` date NOT NULL,
 `alamat` text NOT NULL,
 PRIMARY KEY (`nim`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1

Tabel ini adalah tabel yang akan diakses datanya nanti oleh client.

3. Mempersiapkan file PHP

Membuat directory project.

Jika menggunakan wampp maka buatlah project pada directory www. Namun jika menggunakan xampp maka dibuat pada folder htdocs.

Nama project yang digunakan adalah restapiphp

struktur folder project.

restapiphp
|---- dbconfig
|---- database.php
|---- objects
|---- delete_mhs.php
|---- get_byNim.php
|---- get_mhs.php
|---- input_mhs.php
|---- mahasiswa.php
|---- update.php

dbconfig

database.php

<?php class Database{ // specify your own database credentials private $host = "localhost"; private $db_name = "indonetsource"; private $username = "root"; private $password = ""; public $conn; // get the database connection public function koneksi(){ $this->conn = null; try{ $this->conn = new PDO("mysql:host=" . $this->host . ";dbname=" . $this->db_name, $this->username, $this->password); $this->conn->exec("set names utf8"); }catch(PDOException $exception){ echo "Connection error: " . $exception->getMessage(); } return $this->conn; } } ?>

selanjutnya membuat file objects.

Object

Object dari program rest api yang kita buat adalah mahasiswa. Mahasiswa sebagai object data/atributnya akan dilakukan manipulasi seperti create,read,update dan delete. Dalam pengembangan versi oop ini sebaiknya pahami terlebih dahulu apa itu oop.

Keseluruhan proses ini kita buatkan methodnya di file mahasiswa.php. Masing-masing method inilah yang akan dipanggil nanti oleh file yang bertugas melakukan crud.

mahasiswa.php

<?php class Mahasiswa{ public $nim; public $nama; public $jenis_kelamin; public $tempat_lahir; public $tanggal_lahir; public $alamat; private $kon; private $tabel = "tbl_mahasiswa"; public function __construct($dbname){ $this->kon = $dbname; } //Get Semua data Mahasiswa function get_mhs() { $query = "SELECT * FROM " . $this->tabel . ""; $stmt = $this->kon->prepare($query); $stmt->execute(); return $stmt; } //fungsi get mahasiswa by nim function get_byNim() { $query = "SELECT * FROM " . $this->tabel . " m WHERE m.nim = ? LIMIT 0,1"; $stmt = $this->kon->prepare($query); $stmt->bindParam(1, $this->nim); $stmt->execute(); $row = $stmt->fetch(PDO::FETCH_ASSOC); // memasukkan nilai ke object $this->nama = $row['nama']; $this->tempat_lahir = $row['tempat_lahir']; $this->jenis_kelamin = $row['jenis_kelamin']; $this->tanggal_lahir = $row['tanggal_lahir']; $this->alamat = $row['alamat']; } //fungsi input data mahasiswa function input_mhs() { $query = "INSERT INTO " . $this->tabel . " SET nim=:nim, nama=:nama, jenis_kelamin=:jenis_kelamin, tempat_lahir=:tempat_lahir, tanggal_lahir=:tanggal_lahir, alamat=:alamat"; $stmt = $this->kon->prepare($query); $stmt->bindParam('nim', $this->nim); $stmt->bindParam('nama', $this->nama); $stmt->bindParam('jenis_kelamin', $this->jenis_kelamin); $stmt->bindParam('tempat_lahir', $this->tempat_lahir); $stmt->bindParam('tanggal_lahir', $this->tanggal_lahir); $stmt->bindParam('alamat', $this->alamat); if ($stmt->execute()) { return true; } return false; } //fungsi updete data mahasiswa function update_mhs() { $query = "UPDATE " . $this->tabel . " SET nama = :nama, tempat_lahir = :tempat_lahir, jenis_kelamin = :jenis_kelamin, tanggal_lahir = :tanggal_lahir, alamat = :alamat WHERE nim = :nim"; $stmt = $this->kon->prepare($query); $stmt->bindParam('nama', $this->nama); $stmt->bindParam('tempat_lahir', $this->tempat_lahir); $stmt->bindParam('jenis_kelamin', $this->jenis_kelamin); $stmt->bindParam('tanggal_lahir', $this->tanggal_lahir); $stmt->bindParam('alamat', $this->alamat); $stmt->bindParam('nim', $this->nim); if ($stmt->execute()) { return true; } return false; } //fungsi delete mahasiswa function delete_mhs() { $query = "DELETE FROM " . $this->tabel . " WHERE nim = ?"; $stmt = $this->kon->prepare($query); $stmt->bindParam(1, $this->nim); if ($stmt->execute()) { return true; } return false; } } ?>

Selanjutnya kita memerlukan pemanggilan terhadap method di atas. File lengkap dapat di lihat di github indonetsource .

Setelah mempersiapkan ke semua file di atas, silahkan lakukan uji coba CRUD menggunkan postman.

Hasil Testing Rest Api Pada Postman.

1. Get Semua data Mahasiswa

//localhost/restapiphp/objects/get_mhs.php

Get Semua data Mahasiswa

2. GET Mahasiswa By Nim

//localhost/restapiphp/objects/get_byNim.php?nim=20210003

Get Mahasiswa By Nim

3. Input Mahasiswa

Untuk input kita gunakan format raw pada menu body dan send data ke url

//localhost/restapiphp/objects/input_mhs.php

Input Mahasiswa

Respon saat input failed

Respon failed

input sukses

Respone success

4. Update Mahasiswa

//localhost/restapiphp/objects/update_mhs.php

Rest Update

5. Delete Mahasiswa

//localhost/restapiphp/objects/delete_mhs.php

Rest Delete Mahasiswa

Penutup…

Itulah keseluruhan file yang harus kita selesaikan dalam tutorial belajar rest api ini. Teman-teman dapat membuat dan menggembangkan sendiri setelah mencoba membuat file rest di atas.

Apa itu Flask api?

Flask sendiri adalah sebuah microframework yang dapat digunakan dalam pembuatan web dengan bahasa pemrograman Python. Apabila Python belum terpasang, maka download Python lalu install di komputer. Buat virtual environment di komputer dengan membuka shell (command prompt) terlebih dahulu.

Apa yang dimaksud dengan REST API?

API RESTful adalah antarmuka yang digunakan oleh dua sistem komputer untuk bertukar informasi secara aman melalui internet. Sebagian besar aplikasi bisnis harus berkomunikasi dengan aplikasi internal dan pihak ketiga lainnya untuk melakukan berbagai tugas.

REST API tidak dapat menyimpan status apa pun terkait client?

REST API tidak boleh menyimpan keadaan (state) apapun terkait client. Seluruh state harus tetap disimpan di client. Artinya, tidak ada session di REST API. Permintaan yang dilakukan client harus mengandung informasi yang jelas.

Postingan terbaru

LIHAT SEMUA