PEMROGRAMAN WEB
Pemrograman Web
Disusun Oleh :
i
KATA PENGANTAR
Assalamualaikum Wr Wb
Puji syukur kehadirat Allah SWT atas segala limpahan rahmat, taufik dan hidayah-Nya,
Shalawat serta salam kita junjungkan kepada nabi Muhammad SAW sehingga saya dapat
menyelesaikan penyusunan laporan praktikum ini.
Dalam penulisan laporan ini penulis merasa masih banyak kekurangan, kekurangan
baik pada teknis penulisan maupun materi, mengingat kemampuan yang dimiliki penulis.
Untuk itu kritik dan saran dari semua pihak sangat penulis harapkan demi penyempurnaan
makalah ini. Dalam penulisan laporan ini penulis menyampaikan ucapan terima kasih yang tak
terhingga kepada bapak Harminto Mulyo, S.Kom., M.Kom. selaku dosen pengampu mata
kuliah Pemrogaman Web.
Akhimya penulis berharap semoga Allah SWT memberikan imbalan yang setimpal
pada mereka yang memberikan bantuan dan dapat menjadikan semua bantuan ini sebagai
ibadah, Amin Ya Robbal Alamin.
Wassalamalaikum Wr Wb
Reza Kamaluddin
ii
DAFTAR ISI
iii
Pengertian Rest API
Rest API atau sering juga disebut dengan istilah API saja sering digunakan sebagai
penghubung antara front–end dan back–end aplikasi. Front–end sendiri aplikasi interface yang
digunakan user atau pengguna aplikasi. Contoh dari front-end aplikasi yaitu aplikasi android
dan iOS. Back–end aplikasi yang digunakan administrator untuk manajemen data. Sehingga
dengan Rest API data dari front-end ke back-end ataupun sebaliknya dapat diolah seperti
menampilkan, menambahkan, mengubah dan menghapus data. (Filcha 2021)
Required
Sebelum masuk kedalam project pembuatan api alangkah baiknya menyiapkan tools
yang diperlukan nantinya untuk pembuatan rest api pada php dan mysql. Berikut tools yang
dibutuhkan sebelum membuat rest api php dan mysql.
Jika anda menggunakan windows bisa langsung download dan instal yang namanya
XAMPP/Laragon, untuk pengguna mac os bisa gunakan MAMP dan untuk pengguna
linux bisa langsung di instal pada operating sistemnya seperti LAMP (Linux Apache
MySql dan PHP). Berikut referensi untuk instalnya :
1) XAMPP (https://www.apachefriends.org/)
2) Laragon (https://laragon.org/download/)
3) MAMP (https://www.mamp.info/en/downloads/)
4) LAMP (https://www.digitalocean.com/community/tutorials/how-to-install-linux-
apache-mysql-php-lamp-stack-on-ubuntu-20-04)
1
B. Instal Postman
Untuk tools postman ini anda bisa download dan instal langsung pada website
resminya postman https://www.postman.com/downloads/ , tools ini digunakan untuk
menguji jalannya api yang dibuat nantinya. bisa juga menggunakan extension postman
pada vscode, sesuaikan dengan kenyamanan anda.
Gambar diatas merupakan extensions postman pada vscode untuk melakukan pengujian
api.
2
Project Rest API
2. Jika sudah membuat folder tersebut selanjutnya buat beberapa folder dan file pada
vscode / sublime text.
B. Membuat Database
/Applications/MAMP/Library/bin/mysql -uroot -p
+--------------------+
3
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| phpapidb |
| sys |
+--------------------+
4. Masuk dan gunakan database tadi dan buat tabel dengan nama Employee.
use phpapidb;
`email` varchar(50),
4
)ENGINE=InnoDB DEFAULT CHARSET=utf8
AUTO_INCREMENT=1;
+--------------------+
| Tables_in_phpapidb |
+--------------------+
| Employee |
+--------------------+
Buat config didalam folder test_api project, masukka code script berikut kedalam file
database.php
<?php
class Database
public $conn;
5
{
$this->conn = null;
try {
return $this->conn;
6
D. Membuat Class PHP
Class PHP ini nantinya untuk membuat CRUD pada database, yang memiliki fungsi
CREATE, READ, UPDATE & DELETE. Buat file employee.php didalam folder class dan
buat code script seperti berikut.
<?php
class Employee
// Connection
private $conn;
// Table
// Columns
public $id;
public $name;
public $email;
public $age;
public $position;
public $created;
// Db connection
$this->conn = $db;
// GET ALL
$sqlQuery = "SELECT id, name, email, age, position, created FROM " . $this->db_table . "";
$stmt = $this->conn->prepare($sqlQuery);
$stmt->execute();
return $stmt;
7
}
// CREATE
SET
name = :name,
email = :email,
age = :age,
position = :position,
created = :created";
$stmt = $this->conn->prepare($sqlQuery);
// sanitize
$this->name = htmlspecialchars(strip_tags($this->name));
$this->email = htmlspecialchars(strip_tags($this->email));
$this->age = htmlspecialchars(strip_tags($this->age));
$this->position = htmlspecialchars(strip_tags($this->position));
$this->created = htmlspecialchars(strip_tags($this->created));
// bind data
$stmt->bindParam(":name", $this->name);
$stmt->bindParam(":email", $this->email);
$stmt->bindParam(":age", $this->age);
$stmt->bindParam(":position", $this->position);
$stmt->bindParam(":created", $this->created);
if ($stmt->execute()) {
return true;
8
}
return false;
// READ single
$sqlQuery = "SELECT
id,
name,
email,
age,
position,
created
FROM
WHERE
id = ?
LIMIT 0,1";
$stmt = $this->conn->prepare($sqlQuery);
$stmt->bindParam(1, $this->id);
$stmt->execute();
$dataRow = $stmt->fetch(PDO::FETCH_ASSOC);
$this->name = $dataRow['name'];
$this->email = $dataRow['email'];
$this->age = $dataRow['age'];
$this->position = $dataRow['position'];
$this->created = $dataRow['created'];
// UPDATE
9
{
$sqlQuery = "UPDATE
SET
name = :name,
email = :email,
age = :age,
position = :position,
created = :created
WHERE
id = :id";
$stmt = $this->conn->prepare($sqlQuery);
$this->name = htmlspecialchars(strip_tags($this->name));
$this->email = htmlspecialchars(strip_tags($this->email));
$this->age = htmlspecialchars(strip_tags($this->age));
$this->position = htmlspecialchars(strip_tags($this->position));
$this->created = htmlspecialchars(strip_tags($this->created));
$this->id = htmlspecialchars(strip_tags($this->id));
// bind data
$stmt->bindParam(":name", $this->name);
$stmt->bindParam(":email", $this->email);
$stmt->bindParam(":age", $this->age);
$stmt->bindParam(":position", $this->position);
$stmt->bindParam(":created", $this->created);
$stmt->bindParam(":id", $this->id);
if ($stmt->execute()) {
return true;
10
}
return false;
// DELETE
function deleteEmployee()
$stmt = $this->conn->prepare($sqlQuery);
$this->id = htmlspecialchars(strip_tags($this->id));
$stmt->bindParam(1, $this->id);
if ($stmt->execute()) {
return true;
return false;
Pembuatan scipt ini disesuaikan dengan pembuatan tabel pada database tadi.
11