API (Application Programming Interface) adalah sekumpulan aturan dan protokol yang memungkinkan suatu aplikasi atau layanan berinteraksi dengan aplikasi atau layanan lain. API berfungsi sebagai jembatan yang memungkinkan komunikasi antar perangkat lunak, tanpa harus memahami detail internal dari masing-masing program. Misalnya, API memungkinkan aplikasi untuk meminta data atau memanfaatkan fungsi dari aplikasi lain melalui serangkaian perintah yang sudah disediakan.
Tujuan API
Tujuan dari sebuah API adalah untuk memungkinkan dua buah sistem perangkat lunak dengan bahasa program yang berbeda untuk saling berkomunikasi dengan menggunakan protocol yang telah di tetapkan oleh API.
Sebagai contoh ketika anda melihat prakiraan cuaca pada ponsel anda, maka ponsel anda akan mengambil data cuaca dari server BMKG dengan menggunakan perantara API. Kemudian menampilkan data Cuaca tersebut pada ponsel anda.
SEJARAH API

Gagasan API sudah ada jauh sebelum istilah itu diciptakan. Pada tahun 1940, ilmuwan komputer Inggris Maurice Wilkes dan David Wheeler menciptakan software library modular untuk komputer EDSAC. Library ini disimpan dalam punch tape di lemari arsip, bersama “Library Catalog” yang berisi catatan setiap subroutine dan cara menggunakannya dalam program. Katalog ini adalah cikal bakal konsep API (Application Programming Interface) karena berfungsi sebagai panduan untuk para programmer.
Istilah “API” pertama kali muncul pada 1968 dalam makalah tentang interaksi aplikasi grafis dengan sistem komputer, bertujuan mencapai independensi perangkat keras. Pada 1974, CJ Date memperkenalkan istilah ini dalam bidang basis data, membedakan antarmuka aplikasi dari antarmuka lain, seperti antarmuka kueri, yang mengarah pada API yang lebih kaya dan serbaguna.
Selanjutnya, perkembangan API meluas dengan munculnya panggilan prosedur jarak jauh (RPC) dan jaringan komputer pada 1970-80an, memungkinkan pustaka diakses dari komputer lain. Pada 1990-an, standar seperti CORBA, COM, dan DCOM hadir. Terakhir, pada tahun 2000, Roy Fielding memperkenalkan REST, arsitektur API berbasis jaringan yang berbeda dari API pustaka tradisional.
Jenis dari API
- Library dan Framework API
Antarmuka untuk library perangkat lunak yang memungkinkan program menggunakan library lain sesuai dengan spesifikasi API. - Operating System API
Menyediakan antarmuka antara aplikasi dengan sistem operasi.- Contoh: POSIX untuk kompatibilitas lintas platform dan Windows API untuk dukungan kompatibilitas dengan OS Windows.
- Remote API
Memungkinkan manipulasi sumber daya jarak jauh melalui protokol komunikasi, terlepas dari bahasa atau platform.- Contoh: Java Database Connectivity (JDBC) untuk query lintas database dan Java Remote Method Invocation (RMI) untuk pemanggilan metode jarak jauh.
- Web API
Antarmuka yang memungkinkan interaksi antara aplikasi dan aset enterprise melalui URL dan protokol HTTP. Biasanya menggunakan format XML atau JSON untuk respons, dan beralih dari SOAP ke REST.
Penulis : Ridho Rachmanto_XII TKJ_29
#remidi