Perusahaan besar sekaliber Google ataupun Facebook, juga menggunakan API yang mereka buat sendiri, di artikel ini, kita akan mengenal fungsinya, arsitektur, cara kerja, sampai jenis-jenis API itu sendiri.
Pengertian API
Apa yang di sebut API ? API atau Application Programming Interface adalah sebuah interface atau antarmuka yang dipakai untuk saling menghubungkan satu aplikasi dengan aplikasi lainnya.
Dalam perannya, API bertindak sebagai perantara atau penghubungi dari aplikasi yang berbeda, baik antar platform atau yang masih sama platformnya.
Analoginya seperti, saat kita akan belanja barang di situs marketplace online, supaya bisa memilih dan checkout barangnya sampai bisa terkirim, tentunya harus ada transaksi pembelian, dimana website marketplace ini adalah seperti API yang dimaksud dalam artikel ini, sebagai penghubung antara pembeli dan pemilik toko.
Bagi developer, API juga berguna menjembatani komunikasi antar bahasa pemrograman, kemudahan yang ditawarkan adalah, Developer atau para pembuat website tidak harus menyiapkan data,cukup mengolah data informasi dari platform melalui API itu sendiri.
Bagi developer, API juga berguna menjembatani komunikasi antar bahasa pemrograman
Jenis API
Terlepas dari penjelasan diatas, API pun memiliki jenisnya, terdapat beberapa diantara jenis API yang tersedia yang sesuai dengan jenis hak aksesnya, dan penjelasannya adalah.
Private API
Private API adalah hak akses yang penggunannya tentu dibatasi, umumnya jenis API ini dalam pemakaian terbatas, seperti trial, atau dalam contoh lain sebagai penghubung API back end dan informasi di front end di platform website, juga API di aplikasi untuk pengembangan apps mobile.
Public API
Berbeda dengan Private API, public ini adalah informasi terbuka yang bisa dipakai oleh hampir setiap orang, dengan tanpa pembatasan untuk penggunaannya, scopenya cenderung luas dan open source.
Contoh, Google MAPS API, yang memberikan akses public API, cukup mendaftar di platformnya saja tanpa harus mengakses data dan sumber informasi utamanya.
Partner API
Sedikit mirip dengan public API, tapi memiliki aturan baku dimana pemakaian interface ini adalah user yang telah terdaftar dan ter-authorized sebagai izin penggunaannya.
Composite API
Terdapat jenis privileges yang bisa menyimpan data di beberapa server dalam satu lokasi saja, dimana hak akses ini akan memberi kemudahan, fleksibilitas mengakses data,serta kecepatan dan menghemat waktu user.
Fungsi atau Kegunaan API
Setelah memahami konsepnya, tentu kita akan mengenal fungsi atau kegunaan daripada API ini, di proses implementasinya, API menawarkan kemudahan dan keringkasan bagi para developer yang memanfaatkannya.
Fungsi terpenting adalah mendeliver task list dari server, dimana pemakaian user interface ini, tentu server tidak harus menyimpan dan mencari semua data yang diperlukan, cukup melakukan request dan call API ini untuk mendapatkan data dari hostnya.
Tentunya, dengan kondisi ini, server yang dioperasikan tidak akan bekerja terlalu berat.
Pengembangan aplikasi secara efektif.
Kemudahan yang diberikan API lainnya adalah saat proses pengembangan aplikasi, para developer atau programmer tidak harus mengkoneksikan dua apps supaya terjadi komunikasi, cukup dengan API key ini, maka terdapat komunikasi antar applikasi.
Begitupun saat proses integrasi, penambahan fitur dalam aplikasi akan lebih cepat selesai, para programmer tidak harus melakukan update secara manual, karena semuanya telah terakomodasi dengan API ini.
Contoh lainnya lagi adalah Gojek ataupun Grab, dimana memunculklan peta di appsnya tidak harus membuat program peta lagi, cukup dengan API yang dibeli dari google.
Arsitektur
Sama seperti algoritma software umumnya, API tentu memiliki struktur pembentuk agar aplikasi dapat bertahan dan bekerja dengan baik.
RPC
Salah satu teknologi yang dimiliki oleh API untuk memudahkan pekerjaan dari client ke server dalam komunikasinya adalah dengan konsep yang lebih sederhana, dalam hal ini XML-RPC atau JSON-RPC, XML-RPC seringkali dipakai berupa jenis XML (Extensible Markup Language).
Berbeda dengan JSON-RPC yang memakai JavaScript Object Notation, sebagai media pemindahan data.
REST
Rest atau yang biasa disebut Representational state transfer adalah arsitektur API yang dimasa kini sangat populer, kelebihannya adalah, hampir semua orang bisa mengoperasionakannya, tanpa harus coding pada proses pengembangannya.
REST memiliki jenis data berupa JSON, keuntungan dari performa apps yang sangat ringan apabila memakai JSON.
SOAP
SOAP atau yang biasa disebut dengan Simple Object Access Protocol, salah satu jenis arsitektur API,dimana bentuk datanya berjenis XML, jadi data yang dideliver berupa dokumen XML.
Beda API dan Web Service
Meski begitu, terdapat perbedaan antara API dan Web service, karena berbeda juga implementasinya yuang dapat disesuaikan atas kebutuhan pengembangan aplikasi yang sedang dikerjakan.
Penjelasan API sudah jelas ya diatas tadi, yang tak lain adalah interface atau antarmuka yang menyambungkan antara aplikasi dengan aplikasi lainnya, di lingkup web http, kalau web service adalah bentuk layanan yang di distribusikan lewat platform website ke platform aplikasi berbeda.
Perbedaannya inti keduatanya adalah, di setiap web service,tentu akan memakai API, tapi tidak semua API memakai web service, karena web service bertugas menjembatani,antar proses dan interaksi kedua perangkat yang harus online.
Berbeda dengan API yang membutuhkan komunikasi dua aplikasi berbeda platform yang dengan atau tanpa jaringan, alias bisa online bisa offline, API bisa memanfaatkan arsitektur apapun, kalau web service hanya tiga arsitektur saja (REST, SOAP, XML-RPC).
Sekali lagi, bahwa API tidak harus online untuk menjalankannya, kalau web service tertangung dari jaringannya.
Tapi saya pernah baca tuh ada REST, ada API tok ada juga RESTful API, bedanya apa dong ?
API cuma aplikasi antarmuka yang bekerja menghubungkan antar aplikasi ke aplikasi lainnya, kalau Rest APIsalah satu jenis arsitektur API itu, sedikit berbeda dengan RESTfu API, yaitu dari sisi client yang request akses di REST server, di tiap server, dimana resourcenya dipisahkan di URLs ataupun global ID.
Flownya begini, ketika ada aplikasi yang dihubungkan melalui API, tentunya aplikasi mengakses API, kemudian API request ke server, lalu Server mengirim respon ke API, yang selanjutnya API melanjutkan respon berupa informasi data ke aplikasi.
Contoh kasus, misal google maps yang memberikan API yang berguna menampilkan data berupa display peta/maps, dimana user akan dapat melihat maps yang notabene milik google, yang tampak mirip dengan apps yang diberikan google.
Kesimpulannya adalah, API sebagai aplikasi ataupun interface yang berguna menyambungkan komunikasi satu platform ke platform lainnya, dengan atau tanpa jaringan internet,dimana bergantung dengan jenis-jenisnya, yaitu private, public, partner maupun composit.
Manfaatnya adalah API tidak akan memberatkan server, dan menjadikan aplikasi yang mudah digunakan bahkan memudahkan pengembang aplikasi yang efektif, terdapat 3 arsitektur API,yaitu RPC, SOAP dan REST, contoh penggunaan yang paling populer adalah google maps di aplikasi seperti gojek