Modul 9 RESTful API
Modul 9 RESTful API
PEMROGRAMAN WEB
RESTful API
A. TUJUAN PERKULIAHAN
a. Mahasiswa memahami API dalam pemrograman komputer
b. Mahasiswa mengenali struktur penulisan REST
c. Mahasiswa mampu mengimplementasikan REST dengan PHP
C. DASAR TEORI
1. API
API dapat Anda temui dalam kehidupan sehari-hari seperti saat Anda memesan
hotel, mengirimkan pesan, memesan makanan secara online maupun ketika mengunduh
sebuah software. Bagaimana hal tersebut terjadi? Prosesnya seperti ini, ketika Anda
menggunakan aplikasi maupun melakukan aktifitas tersebut, aplikasi terhubung ke internet
dan mengirimkan data ke server. Setelah itu, data tersebut diambil dan diterjemahkan oleh
server yang kemudian melakukan aksi yang diperlukan sebagai hasilnya kemudian
dikirimkan kembali ke smartphone Anda. Setelah menerima data tersebut, aplikasi
API membuat pemrograman menjadi lebih mudah dan mungkin. Seperti yang
sudah disebutkan di atas, kebutuhan kita sebagai pelanggan dan khususnya bagi developer
sangat dimudahkan dengan adanya API. Dengan melihat hal tersebut, peran dari API
sendiri sangat berat terlebih untuk membuat tampilan sebuah aplikasi menjadi interaktif,
mudah untuk digunakan, dan bersahabat untuk pengguna. Tidak hanya itu, API juga
digunakan untuk berkomunikasi antara layanan-layanan. API memiliki peran yang sangat
penting dalam teknologi.
2. Keuntungan API
a. Meningkatkan produktivitas
Karena permintaan untuk software modern terus meningkat, perusahaan mencari jalan
yang cepat untuk membuat prototype dan membuat poduk baru. Jika Developers
menghabiskan waktu untuk membangun aplikasi dari awal atau dari bawah keatas,
ketika solusi yang diberikan serupa dengan dengan API yang sudah terekspos, maka
hal tersebut akan berdampak negatif untuk produtivitas suatu perusahaan.
Salah satu keuntungan terbesar API untuk bisnis adalah kemampuan untuk
penghematan biaya. Karena API secara signifikan mengurangi upaya pengembangan,
penggunaannya untuk membuat aplikasi merupakan cara yang baik untuk menghemat
biaya.
Dengan API, developer dapat mengambil sebagian fungsi yang dibutuhkan untuk
membuat aplikasi dari tempat lain tanpa harus membuat aplikasi dari awal.
Dibandingkan harus menghabiskan sumber daya dan waktu yang berharga, developer
bisa mengefektifkan biaya API dari penyedia pihak ketiga atau menggunakan API
internal sendiri.
Pada umumnya, customer saat ini tertarik pada pengalaman yang dipersonalisasi,
daripada harus membuat solusi bisnis satu ukuran untuk semua. Dengan API,
Developer dapat membuat solusi secara spesifik yang memenuhi harapan customer.
3. Kelemahan API
REST (Representational State Transfer) itu arsitektur sebuah software, sedangkan RESTful
API itu merupakan salah satu model implementasi dari web service. RESTful API
merupakan implementasi dari API. RESTful adalah protokol/aturan untuk melakukan
REST. RESTful biasanya digunakan untuk merujuk ke layanan web yang
mengimplementasikan arsitektur REST.
Ada beberapa framework REST yang bagus bagi PHP, misalnya: Phalcon, Lumen, Slim,
Laravel, Silex. Berikut adalah tabel metode dalam REST
a. Resources
Elemen kunci pertama adalah resource dari aplikasi itu sendiri sendiri. Mari kita
asumsikan bahwa aplikasi web suatu perusahaan di server memiliki database
karyawan. Contoh URL aplikasi web adalah http://demo.com. Sekarang untuk
mengakses resource database karyawan melalui layanan REST, seseorang dapat
memasukkan perintah http://demo.com/employee/1. Perintah ini memberi tahu server
web untuk memberikan rincian karyawan yang nomor karyawannya 1.
b. Request Method
Elemen ini menjelaskan apa yang ingin Anda lakukan dengan resourcenya. Browser
mengeluarkan perintah GET untuk menginstruksikan titik akhir yang diinginkan untuk
mendapatkan data. Namun, ada banyak metode lain yang tersedia termasuk hal-hal
seperti POST, PUT, dan DELETE. Jadi dalam kasus contoh
http://demo.com/employee/1 , browser web sebenarnya mengeluarkan GET karena
ingin mendapatkan detail catatan karyawan.
c. Request Headers
Request headers adalah instruksi tambahan yang dikirim dengan request. Elemen ini
menentukan jenis respons yang diperlukan atau detail otorisasi
d. Request Body
Data biasanya dikirim dalam permintaan ketika permintaan dengan method POST
dibuat ke layanan web REST. Dalam panggilan POST, klien sebenarnya memberi tahu
layanan web REST bahwa ia ingin menambahkan resource ke server. Oleh karena itu,
request perlu diisi dengan detail data yang diperlukan untuk ditambahkan ke server.
e. Response Body
Response body adalah tubuh utama dari respon yang diharapkan. Dalam contoh
RESTful API, jika kita meminta server web melalui permintaan
http://demo.com/employee/1 , server web akan mengembalikan dokumen berupa
JSON atau XML dengan semua detail karyawan di response body.
2. RESTED
3. HTTPMaster
File-file yang akan digunakan selama percobaan turorial REST API ini:
1 index.php : Ini adalah file entri, sekaligus mencegah navigasi terhadap file-file di
dalam foler.
2 koneksi.php : File ini digunakan untuk membangun koneksi ke database server
MySQL.
3 .htaccess : File ini digunakan untuk mengatur redirect dan routing
Tabel tersebut menunjukkan routing alamat yang dapat diakses serta hasil yang
diharapkan dari akses dari masing-masing route
Kita memanfaatkan request GET untuk mengambil data semua pegawai dari
database, sedangkan untuk pegawai tunggal (tertentu) perlu melewatkan karyawan
id. Kita mendefinisikan metode get_karyawan() yang berisi kode di bawah ini:
Silakan tambahkan satu atau dua record dahulu ke dalam database melalui
PHPMyAdmin. Selanjutnya akses URL REST API dengan menggunakan tools
testing API dengan alamat http://localhost/pemweb/pertemuan11/karyawan
menggunakan web browser dan kita akan mendapatkan informasi tentang semua
record pegawai yang ada di dalam tabel tb_karyawan.
Fungsi yang akan menangani saat ada permintaan penambahan data baru adalah
metode insert_karyawan() di dalam file index.php.
Panggil method GET untuk mendapatkan seluruh data, amati penambahan data yang terjadi!
Perhatikan, jika update berhasil, pesan keberhasilan dikirimkan ke client REST API
dalam format JSON.
F. REFERENSI
• https://medium.com/@ahmad.fight/perbedaan-rest-dengan-restfull-api-c08025d6d59e
• https://komputasi.files.wordpress.com/2019/03/membuat-restful-api-dengan-php-dan-
mysqli.pdf
• https://www.restapitutorial.com/
• https://jsonplaceholder.typicode.com/
• https://dummy.restapiexample.com/
• https://manpro.id/blog/mengenal-manfaat-penggunaan-api/
• https://www.guru99.com/restful-web-services.html