Mengenal Apa Itu A.P.I
Tags: javascript, api
Published: 2022-05-09 13:26:14

##**Pengertian API**
API adalah sekumpulan definisi dan protokol untuk membangun dan mengintegrasikan perangkat lunak aplikasi. API adalah singkatan dari antarmuka pemrograman aplikasi `(Application Programming Interface)`. API memungkinkan produk atau layanan Anda berkomunikasi dengan produk dan layanan lain tanpa harus tahu bagaimana penerapannya.

Cara ini dapat menyederhanakan pengembangan aplikasi, menghemat waktu dan uang. Saat Anda merancang alat dan produk baru atau mengelola yang sudah ada, API memberi Anda fleksibilitas dalam menyederhanakan desain, administrasi, penggunaan, serta memberikan peluang untuk inovasi. API juga kadang-kadang dianggap sebagai kontrak, dengan dokumentasi yang mewakili perjanjian antara para pihak.

`Contohnya` jika pihak 1 mengirim permintaan jarak jauh yang disusun dengan cara tertentu, maka pihak 1 ingin mengetahui bagaimana perangkat lunak pihak 2 akan merespons. Karena API menyederhanakan cara pengembang mengintegrasikan komponen aplikasi baru ke dalam arsitektur yang ada, API mampu membantu bisnis dan tim IT untuk melakukan kolaborasi. Untuk lebih lanjutnya, mari mengenal API dan semua kelebihannya.

##**Mengenal Apa Itu API** 
API(Application Programming Interface)
API didefinisikan sebagai spesifikasi kemungkinan prediksi interaksi dengan komponen perangkat lunak. Sederhananya API bisa dicontohkan sebagai sebuah kendaraan yang berisi komponen perangkat lunak. API akan mencakup informasi tentang apa yang dapat dilakukannya yakni mempercepat, mengerem, menyalakan radio, dan lain- lain. Didalamnya juga mencakup informasi tentang bagaimana Anda dapat membuatnya melakukan hal-hal yang berguna misalnya, untuk mempercepat, menginjak pedal gas dan mendorong.

API tidak perlu menjelaskan apa yang terjadi di dalam mesin ketika Anda menginjakkan kaki di pedal gas. Itu sebabnya, jika Anda belajar mengendarai mobil dengan mesin pembakaran internal, Anda bisa mendapatkan di belakang kemudi mobil listrik tanpa harus belajar keterampilan baru. Informasi apa dan bagaimana berkumpul bersama dalam definisi API, yang abstrak dan terpisah dari mobil itu sendiri. Satu hal yang perlu diingat adalah bahwa nama beberapa API sering digunakan untuk merujuk pada spesifikasi interaksi dan komponen perangkat lunak aktual yang berinteraksi dengan Anda.

`Jadi API adalah antarmuka komputasi yang mendefinisikan interaksi antara beberapa perantara perangkat lunak`. Dengan cara mendefinisikan jenis panggilan atau permintaan yang dapat dibuat, bagaimana membuatnya, format data yang harus digunakan, konvensi yang harus diikuti, dan lain- lain. API juga dapat menyediakan mekanisme ekstensi sehingga pengguna dapat memperluas fungsionalitas yang ada dengan berbagai cara dan ke berbagai tingkatan.

API dapat sepenuhnya berfungsi secara khusus, terutama untuk komponen, atau dapat dirancang berdasarkan standar industri untuk memastikan interoperabilitas. Melalui penyembunyian informasi, API memungkinkan pemrograman modular, yang memungkinkan pengguna untuk menggunakan antarmuka secara terpisah dari implementasinya.

##**Fungsi API bagi Para Pengembang atau Developer**
Katakanlah Anda ingin mengembangkan aplikasi untuk iPhone. Sistem operasi Apple iOS menyediakan sejumlah besar API sama seperti halnya semua sistem operasi lainnya untuk mempermudah dapat mempermudah pengembang mereka seperti Anda. Berikut ini beberapa fungsi API yang umum bagi setiap pengembang yang menggunakannya

Jika Anda ingin menyematkan peramban web untuk menampilkan satu atau beberapa laman web, misalnya, Anda tidak harus memprogram peramban web Anda sendiri dari awal hanya untuk aplikasi Anda. Anda dapat menggunakan WKWebView API untuk menyematkan objek browser WebKit (Safari) di aplikasi Anda.
Jika Anda ingin mengambil foto atau video dari kamera iPhone, Anda tidak perlu menulis antarmuka kamera Anda sendiri. Anda menggunakan API kamera untuk menanamkan kamera bawaan iPhone di aplikasi Anda. Jika API tidak ada untuk mempermudah metode ini, pengembang aplikasi harus membuat perangkat lunak kamera sendiri dan menginterpretasikan input perangkat keras kamera.
Tetapi pengembang sistem operasi Apple telah melakukan semua bagian ini sehingga para pengembang hanya dapat menggunakan API kamera untuk menanamkan kamera, dan kemudian melanjutkan membangun aplikasi mereka. Maka ketika Apple meningkatkan API kamera, semua aplikasi yang bergantung padanya akan memanfaatkan peningkatan itu secara otomatis.

Ini berlaku untuk setiap platform. Misalnya, Anda ingin membuat kotak dialog di Windows? Anda juga dapat mengandalkan API. Ingin mendukung otentikasi sidik jari di Android? Anda juga bisa menggunakan API. Jadi Anda tidak perlu menguji sensor sidik jari setiap produsen Android serta pengembang tidak perlu mengulang prosesnya terus menerus.

##**Jenis API**
Ada tiga jenis API yang paling umum digunakan oleh pengembang aplikasi maupun pemilik bisnis. Ketiganya adalah:

- Private API Private API adalah API yang digunakan dalam pengembangan aplikasi secara terbatas. Contohnya, API dari back end yang digunakan untuk mengakses front end sebuah website.

- API partners Partner API adalah API yang dibagikan kepada mitra bisnis yang telah memiliki izin penggunaan. Caranya adalah dengan mendaftar pada penyedia API untuk mendapatkan izin tersebut.

- Public API Public API atau Open API adalah API yang dapat diakses oleh siapa pun untuk platform apa pun. API jenis ini juga merupakan yang paling mudah dari sisi penggunaan. Salah satu API jenis ini adalah BRIAPI.

- Composite API Dan yang terakhir, merupakan jenis hak akses untuk dapat menyimpan data pada berbagai server di dalam satu tempat saja. Tentunya, dengan menggunakan hak akses ini, memiliki beberapa kemudahan dalam kecepatan dan fleksibilitas akses data, serta menghemat waktu pengguna.

##**Arsitektur API**
Sama seperti bangunan, API juga memiliki unsur pembentuk suatu pondasi agar bangunan yang dibuat dapat bertahan dengan cukup lama. Setidaknya, terdapat tiga macam arsitektur yang sering dipakai pada API.

1. RPC (Remote Procedure Call) RPC merupakan salah satu teknologi yang digunakan untuk membantu kinerja dari client side dan server side dalam hal komunikasi, serta dapat dilakukan dengan konsep yang sederhana. RPC sendiri memiliki dua jenis, yaitu XML-RPC dan JSON-RPC. Perbedaan dari kedua jenis terletak pada media perpindahan datanya. Jika XML-RPC menggunakan media berupa XML (Extensible Markup Language). Sedangkan JSON-RPC menggunakan JSON (JavaScript Object Notation) sebagai media untuk memindahkan suatu data.

2. REST (Representational State Transfer) REST merupakan salah satu jenis arsitektur API yang cukup populer sekarang. Kelebihan dari REST tidak membutuhkan coding yang panjang dalam proses pengembangannnya. REST memiliki bentuk data berupa JSON, dimana memiliki keuntungan dari sisi performa aplikasi yang lebih ringan jika menggunakan JSON.

3. SOAP (Simple Object Access Protocol) Dan arsitektur API yang berikutnya adalah SOAP, dimana bentuk data yang digunakan berupa XML. Jadi, dengan menggunakan XML data yang disimpan dapat berupa dokumen.

##**Perbedaan**
Perbedaan Web API dan Web Service
Setelah membahas berbagai hal seputar API, anda juga harus mengetahui perbedaan dari dua istilah ini. Sehingga dalam proses penerapannya, anda dapat menggunakan sesuai dengan kebutuhan pengembangan aplikasi anda.

Web API adalah aplikasi atau antarmuka untuk menghubungkan aplikasi satu dengan aplikasi yang lain pada sebuah sistem berbasis website. Sedangkan web service adalah bentuk layanan yang diberikan melalui platform berbasis website untuk menghubungkan aplikasi yang berbeda. Berikut merupakan pemaparan dari perbedaan kedua istilah tersebut.

Setiap jenis web service menggunakan API, akan tetapi tidak semua jenis API menggunakan web service.
Web service berperan untuk memfasilitasi untuk proses interaksi antara dua perangkat atau aplikasi melalui jaringan. Sedangkan API berperan untuk menghubungkan komunikasi antara dua aplikasi yang berbeda platform baik dengan membutuhkan jaringan maupun tidak.
API dapat menggunakan arsitektur jenis apapun, sedangkan web service hanya menggunakan tiga arsitektur (REST, SOAP, XML-RPC).
API tidak membutuhkan jaringan dalam proses pengoperasiannya, sedangkan web service sangat bergantung pada sebuah jaringan.
Perbedaan API, Rest API, dan RESTful API
Seperti penjelasan yang sudah tersampaikan, API adalah aplikasi atau antarmuka yang berfungsi sebagai penghubung antara aplikasi satu dengan aplikasi yang lainnya. Rest API adalah salah satu jenis dalam desain arsitektur pada API itu sendiri.

Sedangkan RESTful API adalah REST client yang akan melakukan akses data pada REST server di dalam masing – masing server. Data atau resource tersebut akan dibedakan dalam sebuah URLs atau global ID

**Kesimpulan**
API adalah suatu aplikasi atau interface yang berfungsi untuk menghubungkan platform satu dengan platform yang lain dengan menggunakan jaringan maupun tidak. Terdapat empat jenis API sesuai hak aksesnya, yaitu private, public, partner, dan composite. Manfaat yang dimiliki oleh API adalah mampu untuk mengurangi beban kerja server, menciptakan aplikasi yang fungsional, dan dapat mengembangkan aplikasi secara efektif. Terdapat setidaknya tiga arsitektur populer, yaitu RPC, SOAP, dan REST. Banyak sekali contoh penggunaan API, yang paling sering digunakan adalah Google Maps API dan Facebook API.