Mengenal Apa yang Sering Kita Sebut API

Fadly Mahendra
4 min readJun 18, 2019

--

Pada zaman dahulu kala, membuat aplikasi hanya mengenal aplikasi desktop dan aplikasi web. Belum ada mobile app, iot, cloud computing. Dan yang membuat aplikasi web biasanya disebut Web developer, Web designer. Belum ada yang namanya Front End Dev, Back End Dev, Full Stack Dev, apalagi Dev Ops.

API membuat kita dapat terhubung satu sama lain, antar developer, antar device, bahkan antar bahasa pemrograman.

Sangat penting mengenal lebih dekat dengan API, atau yang lebih tepatnya kita sebut REST API. Mungkin banyak diantara kita yang kurang tepat mengartikan. Sebagai contoh istilah Database, sering dari kita ketika ditanya “Database-nya apa?” misal jawabannya MySQL, padahal MySQL itu bukan database, tapi DBMS (Data Base Management System), tapi karena istilah database sudah melekat pada percakapan sehari-hari maka hal itu dianggap benar saja. Begitu juga dengan yang biasa kita sebut API, padahal yang kita maksud adalah REST API. Tapi kalo yang berbicara dan yang diajak bicara paham yang sebenarnya dibicarakan itu adalah REST API, tidaklah masalah kita sebut API.

Apa itu API?
In computer programming, an application programming interface (API) is a set of subroutine definitions, communication protocols, and tools for building software. — Wikipedia

Ada kata interface atau kalo dalam bahasa Indonesia disebut antarmuka ini biasanya kita salah mengartikan, kalo ada kata interface biasanya kita bayangkan suatu interface aplikasi atau web, misal ada textfield, radio button, combo box, dan sebagainnya. Padahal kalau kita tinjau arti dari interface itu adalah:

In computing, an interface is a shared boundary across which two or more separate components of a computer system exchange information. — Wikipedia

Kalau diartikan kurang lebih, interface adalah bagian yang sama antara dua atau lebih komponen terpisah pada suatu sistem komputer.

Motherboard Interface

Gambar diatas merupakas sebuah interface motherboard, yang mana kita bisa pastikan kita tidak akan salah jika ingin memasang RAM, Hardisk, dan lainnya, karena hanya satu slot yang memang cocok.

Contoh lain misal Network Interface atau LAN Card, kemudian ada Audio Interface atau sound card untuk menghubungkan gitar listrik dan speaker, komputer dan speaker. Tanpa ada interface tersebut, kedua komponen akan sulit untuk dihubungkan.

Sedangkan yang seringkali dibayangkan sebagai interface oleh kita adalah tampilan layar suatu aplikasi, yang mana itu adalah GUI (graphical user interface).

GUI MacOS

Jadi lebih jelasnya API adalah interface yang berupa kumpulan fungsi yang dapat dipanggil atau dijalankan oleh program lain. Penerapannya sangat luas, diantaranya:

  • Bahasa Pemrograman
  • Library & Framework
  • Sistem Operasi
  • Web API / Web Service

Mungkin yang biasa kita sebut API selama ini yang kita maksud adalah Web Service, bahkan mungkin lebih spesifik lagi yaitu REST API. Karena REST API merupakan salah satu jenis dari Web Service.

API di dalam Bahasa Pemrograman

mysqli dan PDO pada bahasa pemrograman PHP

Di dalam bahasa pemrograman PHP, ada 2 cara yang dapat kita gunakan untuk terhubung ke database MySQL, yaitu mysqli dan PDO. mysqli dan PDO inilah yang disebut dengan API. Yaitu, sebuah cara untuk menghubungkan dua program yang berbeda.

Kemudian pada Javascript, ketika kita ingin megambil element html pada sebuah DOM kita dapat menggunakan querySelector, ini juga disebut API.

API di dalam Library / Framework

Pada Codeigniter ketika kita ingin mengambil data pada table purchase_order, kita tidak perlu repot menuliskan syntax SQL, kita hanya perlu memanggil API yang ada pada codeigniter.

$this->db->get('purchase_order');

API di dalam Sistem Operasi

Windows API

  • Base Service → kernel.dll
  • Graphic Device Interface → win32k.sys
  • User Interface → user32.dll

iOS API

  • Contact → CNMutableContact()
  • Camera → AVCaptureDevice()

Android API

  • Contact → ContactsContract.RawContacts

Web API / Web Service

Inilah yang biasa developer dan tester sering memperbincangkannya dan menyebutnya “API”, secara umum web service ada 2 yaitu:

  • SOAP (Simple Object Access Protocol)
  • REST (REpresentational State Transfer)

Jadi web service ini dibuat untuk mendukung interaksi antara 2 aplikasi yang berbeda melalui jaringan, yaitu menggunakan HTTP protocol.

Peran Web Service sebagai penghubung

Kita dapat membuat suatu API yang dapat menghubungkan beberapa aplikasi dengan database, tidak peduli apa bahasa pemrogramannya. Jadi jika ada pihak lain ingin mengakses atau memperoleh informasi dari database atau aplikasi yang kita buat, kita cukup memberikannya sebuah API, atau nanti yang akan kita sebut Public API.

Pada tulisan berikutnya, insyaallah kita akan membahas lebih detail mengenai REST API. Jadi yang akan kita pelajari adalah:

  • Apa itu REST API?
  • JSON
  • Public API (simple auth dan complex auth)
  • Membuat REST Server

--

--