Anda di halaman 1dari 15

REKAYASA WEB

API – GET, POST, PUT, DAN DELETE

MUHAMMAD ATHARIQ FAJRI


42518015

TEKNIK ELEKTRO
D4 TEKNIK KOMPUTER DAN JARINGAN
POLITEKNIK NEGERI UJUNG PANDANG
2020 – 2021
I. TUJUAN
Setelah menyelesaikan praktikum ini, mahasiswa diharapkan dapat:
1. Membuat API sesuai yang diinginkan.
2. Melakukan Get, Post, Put, dan Delete pada API yang telah dibuat.

II. DASAR TEORI


Application Programming Interface (API) merupakan suatu dokumentasi yang terdiri
dari interface, fungsi, kelas, struktur dan sebagainya untuk membangun sebuah perangkat lunak.
Dengan adanya API ini, maka memudahkan programmer untuk “membongkar” suatu software,
kemudian dapat dikembangkan atau diintegrasikan dengan perangkat lunak yang lain. API
dapat dikatakan sebagai penghubung suatu aplikasi dengan aplikasi lainnya yang
memungkinkan programmer menggunakan sistem function. Proses ini dikelola melalui sistem
operasi. Keunggulan dari API ini adalah memungkinkan suatu aplikasi dengan aplikasi lainnya
dapat saling berhubungan dan berinteraksi.
JSON (JavaScript Object Nation) adalah format pertukaran data ringan, mudah dibaca
dan ditulis oleh manusia, serta mudah diterjemahkan dan dibuat (generate) oleh komputer.
Format ini dibuat berdasarkan bagian dari bahasa pemograman JavaScript, Standar ECMA-262
Edisi ke-3-Desember 1999. JSON merupakan format teks yang tidak bergantung pada bahasa
pemograman apapun karena menggunakan gaya bahasa yang umum digunakan oleh
programmer keluarga C termasuk C, C++, C#, Java, JavaScript, Perl, Phyton. Oleh karena sifat-
sifat tersebut, menjadikan JSON ideal sebagai bahasa pertukaran data.
III. ALAT DAN BAHAN
Pada praktikum ini alat dan bahan yang dibutuhkan yakni:
1. PC / Laptop
2. Aplikasi Text Editor (Sublime, VS, dsb)
3. Aplikasi Postman
4. Aplikasi Xampp
5. Web Browser

IV. KESELAMATAN KERJA


Hal yang perlu diperhatikan dalam keselamatan kerja, sebagai berikut:
1. Jika menggunakan PC perhatikan Power Supply sudah terhubung ke kabel power.
2. Setelah melakukan praktikum diperhatikan agar mematikan perangkat (PC/Laptop).

V. LANGKAH KERJA
Langkah-langkah I – Membuat API (Database) dan metode GET:
1. Jalankan aplikasi Xampp, dan buka phpMyAdmin / mysql pada web browser
“localhost/phpMyAdmin/”.
2. Kemudian buat database “kemahasiswaan” → buat table “mahasiswa” → buat column
“id, nim, nama, alamat, foto” → lalu isi column tersebut dengan data.
3. Membuat syntax dengan file php pada TextEditor, Script sebagai berikut:
<?php
// header hasil berbentuk json
header("Content-Type:application /json");

//tangkap metode akses


$method = $_SERVER['REQUEST_METHOD'];

//variabel hasil
$result = array(); #bersifat array

//cek metode
if($method=='GET'){
//jika metode sesuai
$result['status'] = [
"code" => 200,
"description" => 'Request Valid'
];

//S:koneksi database
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "kemahasiswaan";

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// E:koneksi database

//buat query
$sql = "SELECT * FROM mahasiswa";
//eksekusi query
$hasil_query = $conn->query($sql);

//masukkan ke array result


//membuat array yang terasosiasi
$result['results'] = $hasil_query->fetch_all(MYSQLI_ASSOC);

}else{
$result['status'] = [
"code" => 400,
"description" => 'Request Not Valid'
];
}

//tampilkan data dalam format json


echo json_encode($result, JSON_PRETTY_PRINT);

?>
4. Menguji API yang telah dibuat pada Postman dan Web Browser.

Pada tampilan json di web browser tertampil rapi kita dapat pilihan untuk menampilkan hasil
yang rapi, pertama jika menggunakan Chrome maka kita perlu memberikan plug-in atau
extension json dan kedua lebih mudah yakni kita hanya perlu menambahkan syntax
JSON_PRETTY_PRINT dimana akan memperindah tampilan data json.
5. Selanjutnya kita akan membuat API dengan parameter, dimana prosesnya mengambil
satu data pada table untuk ditampilkan.
<?php
// header hasil berbentuk json
header("Content-Type:application /json");

//tangkap metode akses


$method = $_SERVER['REQUEST_METHOD'];

//variabel hasil
$result = array(); #bersifat array

//cek metode (filter metode)


if($method=='GET'){

//pengecekan parameter (filter parameter)


if(isset($_GET['nim'])){
//tangap parameter
$nim = $_GET['nim'];
//jika metode sesuai
$result['status'] = [
"code" => 200,
"description" => 'Request Valid'
];

//echo $nim;
//die;

//S:koneksi database
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "kemahasiswaan";

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// E:koneksi database

//buat query
$sql = "SELECT * FROM mahasiswa WHERE nim='$nim'";
//eksekusi query
$hasil_query = $conn->query($sql);

//masukkan ke array result


//membuat array yang terasosiasi
$result['results'] = $hasil_query->fetch_all(MYSQLI_ASSOC);
}else{
$result['status'] = [
"code" => 400,
"description" => 'Parameter Invalid'
];
}
}else{
$result['status'] = [
"code" => 400,
"description" => 'Request Not Valid'
];
}

//tampilkan data dalam format json


echo json_encode($result, JSON_PRETTY_PRINT);

?>

6. Menguji API dengan parameter pada Postman dan Web Browser.


Pada pengujian di Postman jika terjadi kesalahan syntax maka akan terjadi error dimana
akan diberitahukan syntax keberapa yang terjadi salah, dan jika parameter tidak diberikan
atau salah memberikan parameter maka pemberitahuan data menjadi parameter invalid.
Kesalahan diatas maka kita sebagai admin perlu memperhatikan baik atau mengecek dalam
melakukan penggunaan atau akan mengirim parameter.

Tampilan pada Web Browser saat tidak memiliki parameter dan memiliki parameter.
Langkah-langkah II – Insert data dengan metode POST ke API (Database):
1. Metode POST kita akan melakukan proses insert data ke database, Syntax sebagai berikut:
<?php
// header hasil berbentuk json
header("Content-Type:application /json");

//tangkap metode akses


$method = $_SERVER['REQUEST_METHOD'];

//variabel hasil
$result = array(); #bersifat array

//cek metode (filter metode)


if($method=='POST'){

//pengecekan parameter (filter parameter)


if(isset($_POST['nim']) AND isset($_POST['nama_mhs']) AND
isset($_POST['alamat']) AND isset($_POST['foto'])){

//echo "semua parameter lengkap";


//die;

//tangap parameter
$nim = $_POST['nim'];
$nama_mahasiswa = $_POST['nama_mahasiswa'];
$alamat = $_POST['alamat'];
$foto = $_POST['foto'];

//jika metode sesuai


$result['status'] = [
"code" => 200,
"description" => '1 Data Inserted'
];

//echo $nim;
//die;

//S:koneksi database
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "kemahasiswaan";

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// E:koneksi database

//buat query
//$sql = "SELECT * FROM mahasiswa WHERE nim='$nim'";
$sql = "INSERT INTO mahasiswa (nim, nama_mhs, alamat, foto)
VALUES('$nim', '$nama_mhs', '$alamat',
'$foto')";
//eksekusi query
$conn->query($sql);

//masukkan ke array result


//membuat array yang terasosiasi
$result['results'] = [
"nim" => $nim,
"nama_mhs" => $nama_mhs,
"alamat" => $alamat
"foto" => $foto

];

}else{
$result['status'] = [
"code" => 400,
"description" => 'Parameter Invalid'
];
}

}else{
$result['status'] = [
"code" => 400,
"description" => 'Method Not Valid'
];
}

//tampilkan data dalam format json


echo json_encode($result);

?>
2. Menguji API dengan metode POST pada Postman, dan menampilkan hasil pada Web
Browser dengan getalldata.php (menampilkan data keseluruhan).

Tampilan data json setelah terjadi input data.


Langkah-langkah III – Update data dengan metode PUT pada Database:
1. Melakukan update data pada database menggunakan metode PUT, syntax sebagai berikut:
<?php
// header hasil berbentuk json
header("Content-Type:application /json");

//tangkap metode akses


$method = $_SERVER['REQUEST_METHOD'];

//variabel hasil
$result = array(); #bersifat array

//cek metode (filter metode)


if($method=='PUT'){

//var_dump(file_get_content("php://input"));
parse_str(file_get_contents("php://input"), $_PUT);
//var_dump($_PUT);
//echo $_PUT['nama'];

//pengecekan parameter (filter parameter)


if(isset($_PUT['nim']) AND isset($_PUT['nama_mhs']) AND
isset($_PUT['alamat']) AND isset($_PUT['foto']) AND
isset($_PUT['id_mhs'])){

//tangkap parameter
$nim = $_PUT['nim'];
$nama_mhs = $_PUT['nama_mhs'];
$alamat = $_PUT['alamat'];
$foto = $_PUT['foto'];
$id_mhs = $_PUT['id_mhs'];

//jika metode sesuai


$result['status'] = [
"code" => 200,
"description" => '1 Data Updated'
];

//S:koneksi database
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "kemahasiswaan";

// Create connection
$conn = new mysqli($servername, $username,
$password, $dbname);
// E:koneksi database

//buat query
//$sql = "SELECT * FROM mahasiswa WHERE nim='$nim'";
$sql = "UPDATE mahasiswa SET nim='$nim',
nama_mhs='$nama_mhs', alamat='$alamat', foto='$foto'
WHERE id_mhs='$id_mhs'";
//eksekusi query
$conn->query($sql);

//masukkan ke array result


//membuat array yang terasosiasi
$result['results'] = [
"nim" => $nim,
"nama_mhs" => $nama_mhs,
"alamat" => $alamat,
"foto" => $foto
];

}else{
$result['status'] = [
"code" => 400,
"description" => 'Parameter Invalid'
];
}

}else{
$result['status'] = [
"code" => 400,
"description" => 'Method Not Valid'
];
}
//tampilkan data dalam format json
echo json_encode($result);
?>

2. Menguji API dengan metode PUT di Postman dan menampilkan perubahan data di Web
Browser dengan getonedata.php.

Jika terjadi kesalahan syntax maka akan terjadi error, dan jika data salah parameter maka
data atau pemberitahuan data invalid. Metode salah atau tidak sesuai dengan file php maka
akan memberitahukan method not valid.
Langkah-langkah IV – Metode Delete pada API (Database):
1. Membuta file php untuk melakukan metode Delete pada database dengan syntax, sebagai
berikut:
<?php
// header hasil berbentuk json
header("Content-Type:application /json");

//tangkap metode akses


$method = $_SERVER['REQUEST_METHOD'];

//variabel hasil
$result = array(); #bersifat array

//cek metode (filter metode)


if($method=='DELETE'){

//var_dump(file_get_content("php://input"));
parse_str(file_get_contents("php://input"), $_DELETE);
//var_dump($_PUT);
//echo $_PUT['nama'];

//pengecekan parameter (filter parameter)


if(isset($_DELETE['id_mhs'])){

//tangkap parameter
$id_mhs = $_DELETE['id_mhs'];

//jika metode sesuai


$result['status'] = [
"code" => 200,
"description" => '1 Data Deleted'
];

//S:koneksi database
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "kemahasiswaan";

// Create connection
$conn = new mysqli($servername, $username, $password,
$dbname);
// E:koneksi database

//buat query
//$sql = "SELECT * FROM mahasiswa WHERE nim='$nim'";
$sql = "DELETE FROM mahasiswa WHERE id_mhs='$id_mhs'";
//eksekusi query
$conn->query($sql);

//masukkan ke array result


//membuat array yang terasosiasi
$result['results'] = [
"id_mhs" => $id_mhs
];

}else{
$result['status'] = [
"code" => 400,
"description" => 'Parameter Invalid'
];
}

}else{
$result['status'] = [
"code" => 400,
"description" => 'Method Not Valid'
];
}
//tampilkan data dalam format json
echo json_encode($result);
?>

2. Menguji API dengan metode Delete pada Postman.


VI. PEMBAHASAN
Pada praktikum ini kita akan membuat API dan melakukan beberapa metode dalam
mengeksekusi atau memproses data dari API tersebut. Syntax awal yakni:

Pada header kita lakukan sebuah content tipe dimana kita menggunakan json, jika ditampilkan
maka tampilan API akan berupa json. $method digunakan untuak menghubungkan atau
menangkap akses / request pada server. $result dimana hasilnya nanti akan bersifat array.
VII. KESIMPULAN
Application Programming Interface (API) merupakan suatu dokumentasi yang terdiri
dari interface, fungsi, kelas, struktur dan sebagainya untuk membangun sebuah perangkat lunak.
JSON (JavaScript Object Nation) adalah format pertukaran data ringan, mudah dibaca
dan ditulis oleh manusia, serta mudah diterjemahkan dan dibuat (generate) oleh komputer.
Resource diklasifikasi secara terpola berdasarkan path dan querystring dalam URL serta
request method dalam HTTP request. Klasifikasi resource berdasarkan pathdan query string
dibagi menjadi tiga pola sebagai berikut:
1. Titik akses /resource?query=string yang digunakan untuk request mendapatkan daftar
dan menambah data anggota dari resource yang dimaksud.
2. Titik akses /resource/id?query=string yang digunakan untuk request mendapatkan detail,
mengubah dan menghapus resource berdasarkan nomor id resource yang dimaksud.
3. Titik akses /parent/id/resource?query=string yang digunakan untuk request daftar dan
menambah data anggota dari resource berdasarkan id parent yang dimaksud.
Klasifikasi berdasarkan request method dibagi menjadi empat jenis sebagai berikut:
1. Request method POST yang digunakan untuk penambahan resource.
2. Request method GET yang digunakan untuk mendapatkan daftar dari anggota
resourcedan detail dari anggota resource.
3. Request method PUT yang digunakan untuk mengubah resource.
4. Request method DELETE yang digunakan untuk menghapus resource.

Anda mungkin juga menyukai