Apa Itu API?

Anda mungkin pernah melihat istilah "API". Pembaruan sistem operasi, browser web, dan aplikasi sering kali mengumumkan API baru untuk pengembang. Tapi apa itu API?

Antarmuka Pemrograman Aplikasi

Istilah API adalah akronim, dan singkatan dari "Application Programming Interface".

Pikirkan API seperti menu di restoran. Menu tersebut menyediakan daftar hidangan yang bisa Anda pesan, beserta deskripsi setiap hidangan. Saat Anda menentukan item menu apa yang Anda inginkan, dapur restoran akan bekerja dan memberi Anda beberapa hidangan jadi. Anda tidak tahu persis bagaimana restoran menyiapkan makanan itu, dan Anda tidak perlu melakukannya.

Demikian pula, API mencantumkan banyak operasi yang dapat digunakan pengembang, bersama dengan deskripsi tentang apa yang mereka lakukan. Pengembang tidak perlu mengetahui bagaimana, misalnya, sistem operasi membangun dan menampilkan kotak dialog "Simpan Sebagai". Mereka hanya perlu tahu bahwa itu tersedia untuk digunakan di aplikasi mereka.

Ini bukan metafora yang sempurna, karena pengembang mungkin harus memberikan data mereka sendiri ke API untuk mendapatkan hasilnya, jadi mungkin ini lebih seperti restoran mewah tempat Anda dapat menyediakan beberapa bahan Anda sendiri yang akan digunakan dapur.

Tapi itu akurat secara luas. API memungkinkan pengembang menghemat waktu dengan memanfaatkan implementasi platform untuk melakukan pekerjaan intinya. Ini membantu mengurangi jumlah pengembang kode yang perlu dibuat, dan juga membantu menciptakan lebih banyak konsistensi di seluruh aplikasi untuk platform yang sama. API dapat mengontrol akses ke sumber daya perangkat keras dan perangkat lunak.

API Membuat Hidup Lebih Mudah bagi Pengembang

Katakanlah Anda ingin mengembangkan aplikasi untuk iPhone. Sistem operasi iOS Apple menyediakan sejumlah besar API — seperti yang dilakukan setiap sistem operasi lain — untuk mempermudah Anda.

Jika Anda ingin menyematkan browser web untuk menampilkan satu atau lebih halaman web, misalnya, Anda tidak perlu memprogram browser web Anda sendiri dari awal hanya untuk aplikasi Anda. Anda 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 membuat antarmuka kamera sendiri. Anda menggunakan API kamera untuk menyematkan kamera internal iPhone di aplikasi Anda. Jika API tidak ada untuk mempermudah ini, pengembang aplikasi harus membuat perangkat lunak kamera mereka sendiri dan menafsirkan input perangkat keras kamera. Tetapi pengembang sistem operasi Apple telah melakukan semua kerja keras ini sehingga pengembang dapat menggunakan API kamera untuk menyematkan kamera, dan kemudian melanjutkan membangun aplikasi mereka. Dan, ketika Apple meningkatkan API kamera, semua aplikasi yang mengandalkannya akan memanfaatkan peningkatan itu secara otomatis.

Ini berlaku untuk setiap platform. Misalnya, apakah Anda ingin membuat kotak dialog di Windows? Ada API untuk itu. Ingin mendukung otentikasi sidik jari di Android? Ada API untuk itu juga, jadi Anda tidak perlu menguji setiap sensor sidik jari pabrikan Android yang berbeda. Pengembang tidak perlu menciptakan roda berulang-ulang.

Akses Kontrol API ke Sumber Daya

API juga digunakan untuk mengontrol akses ke perangkat keras dan fungsi perangkat lunak yang mungkin tidak memiliki izin untuk digunakan oleh aplikasi. Itulah mengapa API sering kali berperan besar dalam keamanan.

TERKAIT: Bagaimana Menghentikan Situs Web Dari Meminta Lokasi Anda

Misalnya, jika Anda pernah mengunjungi situs web dan melihat pesan di browser Anda bahwa situs web tersebut meminta untuk melihat lokasi persis Anda, situs web tersebut mencoba menggunakan API geolokasi di browser web Anda. Browser web mengekspos API seperti ini untuk memudahkan pengembang web mengakses lokasi Anda — mereka hanya dapat bertanya "di mana Anda?" dan peramban bekerja keras mengakses GPS atau jaringan Wi-Fi terdekat untuk menemukan lokasi fisik Anda.

Namun, browser juga mengekspos informasi ini melalui API karena aksesnya dapat dikontrol. Ketika sebuah situs web menginginkan akses ke lokasi fisik Anda, satu-satunya cara mereka mendapatkannya adalah melalui API lokasi. Dan, saat situs web mencoba menggunakannya, Anda — pengguna — dapat memilih untuk mengizinkan atau menolak permintaan ini. Satu-satunya cara untuk mengakses sumber daya perangkat keras seperti sensor GPS adalah melalui API, sehingga browser dapat mengontrol akses ke perangkat keras dan membatasi apa yang dapat dilakukan aplikasi.

Prinsip yang sama digunakan pada sistem operasi seluler modern seperti iOS dan Android, di mana aplikasi seluler memiliki izin yang dapat diterapkan dengan mengontrol akses ke API. Misalnya, jika pengembang mencoba mengakses kamera melalui API kamera, Anda dapat menolak permintaan izin dan aplikasi tidak memiliki cara untuk mengakses kamera perangkat Anda.

Sistem file yang menggunakan izin — seperti yang dilakukan di Windows, Mac, dan Linux — memiliki izin tersebut yang diberlakukan oleh API sistem file. Aplikasi tipikal tidak memiliki akses langsung ke hard disk fisik mentah. Sebagai gantinya, aplikasi harus mengakses file melalui API.

API Digunakan Untuk Komunikasi Antar Layanan

API juga digunakan untuk semua jenis alasan lain. Misalnya, jika Anda pernah melihat objek Google Maps yang disematkan di situs web, situs web tersebut menggunakan Google Maps API untuk menyematkan peta itu. Google memperlihatkan API seperti ini kepada pengembang web, yang kemudian dapat menggunakan API tersebut untuk memasukkan objek kompleks langsung di situs web mereka. Jika API seperti ini tidak ada, pengembang mungkin harus membuat peta mereka sendiri dan menyediakan data peta mereka sendiri hanya untuk meletakkan peta interaktif kecil di situs web.

Dan, karena ini adalah API, Google dapat mengontrol akses ke Google Maps di situs web pihak ketiga, memastikan mereka menggunakannya secara konsisten daripada mencoba menyematkan bingkai yang menampilkan situs web Google Maps, misalnya.

Ini berlaku untuk banyak layanan online yang berbeda. Ada API untuk meminta terjemahan teks dari Google Translate, atau menyematkan komentar atau tweet Facebook dari Twitter di situs web.

TERKAIT: Apa itu OAuth? Cara Kerja Tombol Masuk Facebook, Twitter, dan Google

Standar OAuth juga mendefinisikan sejumlah API yang memungkinkan Anda masuk ke situs web dengan layanan lain — misalnya, menggunakan akun Facebook, Google, atau Twitter untuk masuk ke situs web baru tanpa membuat akun pengguna baru hanya untuk situs itu . API adalah kontrak standar yang menentukan bagaimana pengembang berkomunikasi dengan layanan, dan jenis keluaran yang diharapkan akan diterima kembali oleh pengembang.

Jika Anda sudah melewati ini, Anda akan memiliki gagasan yang lebih baik tentang apa itu API. Pada akhirnya, Anda tidak benar-benar perlu mengetahui apa itu API kecuali Anda seorang pengembang. Namun, jika Anda melihat platform atau layanan perangkat lunak telah menambahkan API baru untuk berbagai perangkat keras atau layanan, akan lebih mudah bagi pengembang untuk memanfaatkan fitur tersebut.

Kredit Gambar: patpitchaya / Shutterstock.com.