API
Apa itu API?
API atau Application Programming Interface adalah sebuah interface yang dapat menghubungkan aplikasi satu dengan aplikasi lainnya. API berperan sebagai perantara antar berbagai aplikasi berbeda, baik dalam satu platform yang sama ataupun platform yang berbeda. API merupakan pengembangan dan inovasi software yang memungkinkan berbagai aplikasi untuk bertukar data dan fungsionalitasnya dengan mudah dan aman. API dapat menjadi cara untuk berinteraksi secara terprogram dengan komponen software atau sumber daya yang terpisah. Maka, dengan adanya API akan membuat produk atau layanan yang dimiliki dapat terhubung dengan produk atau layanan lain tanpa harus tahu bagaimana cara penerapan penghubungnya tersebut. Hal ini juga dapat menyederhanakan pengembangan aplikasi, menghemat waktu serta uang.
Contoh API
Contoh analogi dari API ini seperti pelayan pada restoran yang memberikan menu kepada customernya. Customer hanya perlu memilih makanan tanpa tahu bagaimana makanan tersebut dibuat oleh chef yang ada pada restoran tersebut. Setelah customer memesan menunya, pelayan akan kembali untuk mengantarkan makanannya yang sudah jadi tanpa customer tersebut tahu bagaimana proses yang terjadi di dapur.
API juga dapat dengan mudah kita temukan dan pastinya setiap orang pasti melihat atau menggunakan API tersebut. Contohnya yang paling populer adalah pada social media seperti profile Facebook, Instagram, Twitter, Google, dan sebagainya. Fitur API membantu pendaftaran akun dengan mudah pada berbagai social media yang sudah disebutkan sebelumnya karena langsung dapat terintegrasi dengan akun Google sehingga user hanya klik akun Google yang mereka miliki untuk memiliki akun pada Facebook, Instagram, dan social media lainnya dan tentunya dapat menghemat waktu. Kemudian API juga dapat ditemukan di Google Maps. API akan menampilkan peta statis dan interaktif serta dapat memberikan petunjuk arah atau tempat menarik kepada penggunanya.
Bagaimana Cara Kerja API?
- Yang pertama, aplikasi akan mengakses API dengan memberi sebuah permintaan atau instruksi untuk melakukan sesuatu.
- Kemudian setelah aplikasi berhasil untuk mengakses alamat API, permintaan tersebut akan diteruskan ke server dan API akan memberitahu bahwa aplikasi membutuhkan sebuah data yang sesuai dengan permintaan sebelumnya.
- Kemudian server akan memberikan respon ke API setelah server menemukan data yang diminta.
- Setelah itu, server akan kembali menghubungi API.
- Kemudian API akan menyampaikan responnya ke aplikasi. API akan meneruskan informasi yang diberikan oleh server. API juga dapat menjalankan berbagai permintaan secara bersamaan dalam satu waktu.
Contoh Mengambil Data Menggunakan API
import java.net.URLEncoder;
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.JsonNode;
import com.mashape.unirest.http.Unirest;
public class App
{
public static void main( String[] args ) throws Exception
{
//Bagian ini untuk menuliskan coding pengambilan data
}
}
String host = “https://movie-database-imdb-alternative.p.rapidapi.com/”;
String charset = “UTF-8”;
String x_rapidapi_host = “movie-database-imdb-alternative.p.rapidapi.com”;
String x_rapidapi_key = <YOUR_RAPIDAPI_KEY>;//Type here your key
String s = “Pulp”;
String query = String.format(“s=%s”,
URLEncoder.encode(s, charset));
HttpResponse <JsonNode> response = Unirest.get(host + “?” + query)
.header(“x-rapidapi-host”, x_rapidapi_host)
.header(“x-rapidapi-key”, x_rapidapi_key)
.asJson();
System.out.println(response.getStatus());
System.out.println(response.getHeaders().get(“Content-Type”));
Penjelasan:
Yang pertama adalah import class. URLEncoder digunakan untuk menyiapkan parameter yang akan dikirim, HttpResponse untuk menghandle respon, JsonNode untuk menetapkan JSON type, dan Unirest untuk membuat GET request atau untuk membuat request suatu permintaan. Kemudian pembuatan class dengan menggunakan exception untuk menangani segara error yang akan terjadi. Kemudian membuat beberapa variabel dan sekaligus membuat beberapa proses menjadi otomatis pada variabel tersebut. Yang terakhir adalah membuat query yang nantinya akan langsung di kirim untuk send request dan API dan server akan menghandle respon yang akan terjadi.
Referensi: