Mengenal API dan Tutorial Penerapannya

Goo 19 Agustus 2022

Mengenal API dan Tutorial Penerapannya

Hai coders, kali ini kita akan membahas mengenai API yang mungkin sering kalian dengar namun belum atau masih bingung dengan definisi maupun kegunaannya. Jadi, API itu merupakan akronim dari Application Program Interface atau simplenya jembatan antar dua aplikasi. Maksudnya? well, let’s imagine.. API itu diibaratkan sebagai jembatan, nah jembatan ini yang menghubungkan antara aplikasi dengan aplikasi lainnya. Nah, API ini selalu berhubungan dengan dua hal yakni Client dan Server, (client = requesting the service sementara server = serving the request). Singkatnya, API merupakan perantara server dengan aplikasi untuk dapat bertukar informasi atau data dengan lebih cepat dan aman.

Contoh, ketika hendak bepergian ke luar kota dengan memesan tiket online. Nah, pada tampilan awal aplikasi, user (client) akan memilih tanggal keberangkatan sebagai titik poin pencarian (request ke server). Kemudian dengan hitungan menit sederet informasi hasil pencarian berisi pilihan kelas tampil sesuai dengan pilihan yang dipilih. Bagaimana hal tersebut bisa terjadi? yak itulah peran API.

Saat ini banyak pilihan yang dapat digunakan untuk merancang atau mengimplementasikan API, baik dari jenis maupun arsitektur API yang beragam. Nah selanjutnya kita akan membahas mengenai jenis-jenis juga arsitektur API:

Jenis API

  • Public API Biasa disebut dengan public source karena membagikan data secara terbuka. Namun karena terbuka, biasanya API ini memiliki tingkat keamanan yang rendah juga aset yang dibagikan terbatas.

  • Partner API API yang dibagikan terbatas dalam lingkup hubungan bisnis. Hanya klien berlisensi khusus yang dapat mengakses, membuat tingkat keamanannya lebih tinggi dibandingkan dengan Public API.

  • Internal API API yang dibuat bukan untuk dibagikan secara umum maupun diakses pihak ketiga. Biasa dibuat untuk digunakan sebatas internal perusahaan guna mempercepat transfer data antara tim dan sistem. Selain itu, internal API memungkinkan sistem internal baru dapat dengan mudah berkomunikasi dengan sistem yang sudah ada.

  • Composite API Menggabungkan dua atau lebih API untuk membuat sequence yang saling terkait satu sama lain. Dengan composite, beban server akan berkurang dan on-going sistem berjalan lebih cepat.

Arsitektur API

API bertukar perintah dan data, dan ini membutuhkan arsitektur yang jelas, baik dari aturan, struktur, dan batasan yang mengatur operasi API. Berikut lima arsitektur API yang banyak digunakan:

REST

REST atau Representational State Transfer adalah seperangkat aturan serbaguna yang dapat diimplementasikan sesuai kebutuhan, membuat REST API lebih cepat dan lebih mudah beradaptasi daripada API lainnya dan dengan cepat menjadi model desain yang disukai untuk publik. Arsitektur API jenis ini bergantung pada protokol komunikasi stateless, dan juga HTTP (hypertext transfer protocol). Secara umum REST menyusun data tidak hanya dalam XML, tetapi juga YAML (yet another markup language) atau format lain yang dapat dibaca mesin seperti JSON (JavaScript Object Notation).

SOAP

SOAP adalah sebuah komunikasi sistem protokol yang menghubungkan Klien dan server menggunakan XML. SOAP API dirancang untuk pembuatan akun dan kata sandi. Setiap operasi yang disediakan SOAP secara eksplisit menggunakan struktur XML untuk memberi respons pada operasi API.

Dengan SOAP, pengguna tidak terbatas hanya menggunakan transportasi HTTP namun juga dapat menggunakan SMTP (Simple Mail Transfer Protocol) saat bekerja dengan bahasa Python dan PHP.

RPC

API ini disebut sebagai Panggilan Prosedur Jarak Jauh (Remote Procedure Calls) Klien yang menjalankan fungsi (atau prosedur) pada server, kemudian server akan mengirimkan output kembali ke klien.

Websocket

API Websocket adalah pengembangan API web modern yang menggunakan objek JSON untuk meneruskan data juga mendukung komunikasi dua arah antara aplikasi klien dan server. Server dapat mengirimkan pesan callback ke klien yang terhubung, menjadikannya lebih efisien daripada API REST.

Falcor

Falcor adalah arsitektur API yang mirip dengan GraphQL. Memperkenalkan sebuah lapisan virtual yang dapat digunakan untuk memetakan permintaan frontend ke layanan backend. Falcor ini dikelola oleh Netflix.

Ide dasar dari Falcor adalah membuat sumber daya JSON virtual sebagai model data pusat, yang sebenarnya digunakan sebagai wadah. Sumber daya JSON virtual ini diterbitkan di bawah alamat URL. Falcor kemudian menautkan data dari berbagai backend dan sumber data ke dalam sumber daya JSON virtual ini. Sumber daya JSON virtual ini dirancang untuk diperpanjang dari waktu ke waktu. Akibatnya, sumber daya JSON virtual cukup besar.

Tutorial Penerapan API

Berikut beberapa tutorial penggunaan API yang dapat kalian terapkan dan coba coders:

  1. Aplikasi web REST API Client Sederhana dengan Codeigniter 3, klik disini.
  2. REST API Client Sederhana dengan Retrofit pada Android Studio, klik disini.
  3. Go-Lang RESTful API, klik disini. [kelas gratis untuk member codepolitan]

Sekian pembahasan API pada part ini. Update terkait API akan dilanjutkan pada post selanjutnya.

Semoga bermanfaat.