Anda di halaman 1dari 14

LAPORAN PRAKTIKUM

PEMROGRAMAN WEB

Disusun Guna Memenuhi Tugas Mata Kuliah

Pemrograman Web

Dosen Pengampu: Harminto Mulyo, S.Kom., M.Kom.

Disusun Oleh :

Reza Kamaluddin ( 211240001179 )

PROGRAM STUDI TEKNIK INFORMATIKA

FAKULTAS SAINS DAN TEKNOLOGI

UNIVERSITAS ISLAM NAHDLATUL ULAMA JEPARA

TAHUN AKADEMIK 2022/2023

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

Jepara, 5 Januari 2023

Reza Kamaluddin

ii
DAFTAR ISI

LAPORAN PRAKTIKUM ........................................................................................................................ i


KATA PENGANTAR ............................................................................................................................... ii
DAFTAR ISI ............................................................................................................................................ iii
Pengertian Rest API ............................................................................................................................. 1
Required.................................................................................................................................................. 1
A. Instal web server(apache/nginx), php server, mysql server ...................................................................... 1
B. Instal Postman .......................................................................................................................................................... 2

Project Rest API..................................................................................................................................... 3


A. Membuat Folder Project ....................................................................................................................................... 3
B. Membuat Database ................................................................................................................................................ 3
C. Membuat Database Connection ........................................................................................................................ 5
D. Membuat Class PHP ............................................................................................................................................... 7

iii
Pengertian Rest API

RESTful API / REST API merupakan implementasi dari API (Application


Programming Interface). REST (Representional State Transfer) adalah suatu arsitektur metode
komunikasi yang menggunakan protokol HTTP untuk pertukaran data dan metode ini sering
diterapkan dalam pengembangan aplikasi. Dimana tujuannya adalah untuk menjadikan sistem
yang memiliki performa yang baik, cepat dan mudah untuk di kembangkan (scale) terutama
dalam pertukaran dan komunikasi data.

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.

A. Instal web server(apache/nginx), php server, mysql server

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

A. Membuat Folder Project

1. Buat folder dengan nama bebas pada htdoc.

admin@Smil3 htdocs % mkdir test_api

admin@Smil3 htdocs % cd test_api

2. Jika sudah membuat folder tersebut selanjutnya buat beberapa folder dan file pada
vscode / sublime text.

B. Membuat Database

Berikut merupakan langkah-langkah pembuatan database mysql.

1. Masuk ke mysql/mariadb server.

/Applications/MAMP/Library/bin/mysql -uroot -p

2. Buat database terlebih dahulu pada mysql

CREATE DATABASE phpapidb;

3. Cek apakah database sudah terbuat atau belum.

mysql> show databases;

+--------------------+

3
| Database |

+--------------------+

| information_schema |

| mysql |

| performance_schema |

| phpapidb |

| sys |

+--------------------+

4. Masuk dan gunakan database tadi dan buat tabel dengan nama Employee.

use phpapidb;

CREATE TABLE IF NOT EXISTS `Employee` (

`id` int(11) NOT NULL AUTO_INCREMENT,

`name` varchar(256) NOT NULL,

`email` varchar(50),

`age` int(11) NOT NULL,

`position` varchar(255) NOT NULL,

`created` datetime NOT NULL,

PRIMARY KEY (`id`)

4
)ENGINE=InnoDB DEFAULT CHARSET=utf8

AUTO_INCREMENT=1;

5. Pastikan tabel sudah terbuat

mysql> show tables;

+--------------------+

| Tables_in_phpapidb |

+--------------------+

| Employee |

+--------------------+

C. Membuat Database Connection

Buat config didalam folder test_api project, masukka code script berikut kedalam file
database.php

<?php

class Database

private $host = "127.0.0.1";

private $database_name = "phpapidb";

private $username = "root";

private $password = "root";

public $conn;

public function getConnection()

5
{

$this->conn = null;

try {

$this->conn = new PDO("mysql:host=" . $this->host . ";dbname=" . $this-


>database_name, $this->username, $this->password);

$this->conn->exec("set names utf8");

} catch (PDOException $exception) {

echo "Database could not be connected: " . $exception->getMessage();

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

private $db_table = "Employee";

// Columns

public $id;

public $name;

public $email;

public $age;

public $position;

public $created;

// Db connection

public function __construct($db)

$this->conn = $db;

// GET ALL

public function getEmployees()

$sqlQuery = "SELECT id, name, email, age, position, created FROM " . $this->db_table . "";

$stmt = $this->conn->prepare($sqlQuery);

$stmt->execute();

return $stmt;

7
}

// CREATE

public function createEmployee()

$sqlQuery = "INSERT INTO

" . $this->db_table . "

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

public function getSingleEmployee()

$sqlQuery = "SELECT

id,

name,

email,

age,

position,

created

FROM

" . $this->db_table . "

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

public function updateEmployee()

9
{

$sqlQuery = "UPDATE

" . $this->db_table . "

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()

$sqlQuery = "DELETE FROM " . $this->db_table . " WHERE id = ?";

$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.

__construct($db) – Membuat koneksi database, mengecek apakah koneksi database sudah


ready atau belum.

getEmployees() – Mengambil semua list record data dari database.

getSingleEmployee() – Mengambil salah satu data dari record database.

getSingleEmployee() – Fungsi untuk membuat data baru.

updateEmployee() – Fungsi untuk update data.

deleteEmployee() – Fungsi untuk delete salah satu data.

11

Anda mungkin juga menyukai