sumber : medium.com
Bagi seorang programmer pasti sudah tidak asing lagi dalam mendengar nama REST API. API (Application Programming Interface) adalah suatu kumpulan subroutine, protokol komunikasi, tools, dan fungsi untuk membuat sebuah perangkat lunak. Mudahnya, API adalah fungsi yang dapat dipanggil atau dijalankan oleh program lain sehingga dapat menghubungkan antara server dengan perangkat yang digunakan oleh user. Jadi, untuk mendapatkan suatu database dari suatu perusahaan diperlukan API untuk mengambil data tersebut hingga sampai kepada user. Lalu, bagaimana dengan REST API? Penerapannya kepada suatu program? Dan bagaimana cara membuat request melalui HTTP Protocol? Yuk, simak artikel berikut!
Pengenalan dan Penerapan API
Seperti yang sudah disebutkan sebelumnya, bahwa API (Application Programming Interface) merupakan interface yang berisi sekumpulan fungsi yang dapat dijalankan oleh program lain dengan berbagai jenis penerapan. Berikut contoh penerapan API
Bahasa pemrograman : Penerapannya dalam membuat koneksi ke database MySQL menggunakan dua API yang berbeda di bahasa pemrograman PHP. Selain itu, API juga dapat mengakses elemen pada DOM di bahasa pemograman Javascript.
Library and framework
Sistem Operasi : Penerapannya dapat dalam bentuk base service, graphic device interface, dan user interface.
Web API atau web service : Penerapannya dibuat dalam bentuk REST (Representational State Transfer) dan SOAP (Simple Object Access Protocol). Selain itu, dapat diterapkan dalam sebuah sistem perangkat lunak yang dibuat untuk mendukung interaksi antara dua aplikasi yang berbeda melalui jaringan (umumnya menggunakan jaringan HTTP Protocol). Web service dapat membuat aplikasi yang memiliki perbedaan bahasa, teknologi, dan sistem operasi sehingga web service dapat dijadikan bahan untuk membuat REST API.
Pembahasan REST API
sumber : belajarprogramming.id
Sebelumnya sudah dijelaskan tentang API, lalu bagaimana dengan REST API? REST API dapat dikatakan sebagai salah satu bentuk gaya arsitektural perangkat lunak yang didalamnya mendefinisikan beberapa aturan untuk membuat web service. REST API berisi aturan atau batasan yang dapat membatasi programmer untuk mengakses atau melakukan tindakan-tindakan tertentu pada sebuah database. Jika API adalah penghubung, maka REST yang membuat aturan sesuai keinginan programmer dalam merancang web service. Mudahnya, terdapat request dan response pada data yang dikirimkan ataupun yang diterima. Data yang digunakan dalam REST API umumnya berupa JSON.
Sifat-sifat REST API (Representational State Transfer)
Gaya perancangan
Stateless
Dibuat oleh Roy Fielding
Protokolnya selalu menggunakan HTTP
Memungkinkan interaksi antar mesin (mesin-mesin) dengan perilaku yang berbeda
Sebagai contoh, ilustrasinya adalah pada saat user membuka browser dan mencari suatu site seperti youtube.com maka ini artinya user mengirimkan request dengan metode GET ke server youtube sehingga server menerima respon berupa HTML. Jika site dari youtube sudah terbuka maka terdapat response yang dikirimkan oleh server yang berasal dari API. Kasus kedua adalah ketika ada form username dan password dalam membuka suatu site maka artinya user mengirimkan request dalam bentuk metode POST sehingga nanti server akan memberi response dan menyajikan data yang diinginkan oleh user.
Berikut adalah cara membuat ilustrasi REST API
User mengirimkan request dengan data yang diinginkan
User mengirimkan request dan mengubah data menjadi JSON ke REST Server
REST Server menerima response berupa JSON beserta kode status dan mengirimkannya ke server (kode status : 200 success, 404 not found, 500 server eror, dan masih banyak lagi. Kode status digunakan untuk mengetahui apakah request yang dikirimkan oleh user sudah benar atau belum)
Server menerima dari REST Server dan mengubah respon menjadi HTML
Perangkat yag digunakan oleh user disebut dengan client sehingga pada saat client bertemu dengan server maka dapat disebut sebagai REST Client. Rest Client dapat berupa smartphone, cloud, dan smart home
Apa bedanya dengan RESTful API?
Sumber : iStock.com
Pada HTTP Method dikenal beberapa istilah yang dikenal sebagai ENDPOINTS, berikut penjelasan dari empat macam ENDPOINTS.
GET : Metode ini digunakan untuk mengambil data. Contoh : GET localhost/co-app/pengajar/ atau GET localhost/co-app/pengajar/12
POST : Metode ini digunakan untuk mengambil data. Contoh : POST localhost/ci-app/pengajar
PUT : Metode ini digunakan untuk mengubah data tetapi metode ini tidak dapat digunakan di browser. Contoh : PUT localhost/ci-app/pengajar/33
DELETE : Metode ini digunakan untuk menghapus data tetapi metode ini tidak dapat digunakan di browser. Contoh : DELETE localhost/ci-app/pengajar/44
RESTful API bersifat Stateless, yang artinya tidak adanya state dalam sebuah aplikasi. Sifat stateless membuat setiap request HTTP dilakukan secara terisolasi, server tidak menyimpan state apapun mengenai sesi dari client, setiap request dari client harus berisi semua informasi yang dibutuhkan server termasuk informasi otentikasi, dan stateless merupakan salah satu syarat untuk membuat RESTful API
Jadi, dapat disimpulkan bahwa dalam membuat sebuah RESTful API terdapat beberapa syarat, yaitu sebagai berikut.
Menggunakan HTTP method yang benar (GET, PUT, POST, DELETE)
ENDPOINTS yang digunakan berupa kata benda
Bersifat stateless
Menggunakan REST secara benar
Jadi, sudah pahamkah kamu soal REST API? Mungkin akan sulit di awal tetapi akan lebih menyesal jika tidak mencoba lebih awal.
“The most important property of a program is whether it accomplishes the intention of its user.”
― C.A.R. Hoare
Baca Juga :
Semoga artikel ini dapat bermanfaat bagi Anda, Jika ada saran, kritik maupun pertanyaan silahkan kirim pesan ke:
PT. Karya Merapi Teknologi
contact@kmtech.id
Follow sosial media kami dan ambil bagian dalam berkarya untuk negeri!
Instagram: https://www.instagram.com/kmtek.indonesia/
Facebook: https://www.facebook.com/kmtech.id
LinkedIn: https://www.linkedin.com/company/kmtek
Referensi
Youtube channel Web Programming UNPAS. REST API: Apa itu API? https://youtu.be/vQJJ_K1JbEA
Youtube channel Web Programming UNPAS. REST API: REST dan HTTP https://youtu.be/dtpm5wwXEIY
Comments