API (Application Programming Interface) merupakan sekumpulan perintah, fungsi dan protokol yang dapat digunakan programmer ketika membangun perangkat lunak untuk sistem operasi tertentu. Teknologi ini akan memfasilitasi pertukaran infromasi atau data dari dua tau lebih dari aplikasi perangkat lunak.
API merupakan antarmuka virtual untuk dua fungsi perangkat lunak yang saling bekerjasama, seperti antara word processor dengan spreadsheet. API Program juga bisa diartikan sebagai aplikasi yang memberikan layanan yang diperlukan oleh suatu sistem, dimana biasanya diberikan layanan khusus untuk aplikasi tersebut.
Di dalam API terdapat fungsi-fungsi yang bertugas untuk mengganti bahasa system calls menjadi bahasa yang mudah dimengerti. Fungsi yang dibuat menggunakan API akan memanggil system calls sesuai dengan operasinya. Berikut adalah keuntungan menggunakan API:
1. Lebih mudah dimengerti
Hal terpenting dalam melakukan editing dan pengembangan adalah, bahasa yang digunakan harus mudah dimengerti. Seperti API yang mudah dimengerti dibandingkan dengan system calls.
2. Portabilitas
Programmer yang telah menggunakan API, sudah pasti bisa menjalankan operasinya di mana saja. Berbeda dengan system calls yang mungkin saja sistem operasinya sama, namun implementasinya bisa saja berbeda.
Terkadang sebuah API bisa menjadi sebuah middlewere pada sebuah pengembangan sistem. Middlewere tersebut adalah subsistem, dan subsistem ini memiliki fungsi yang berguna untuk subsistem lainnya. Untuk melakukan koneksi middlewere harus menggunakan socket. Terdapat standar protokol untuk mengakses middlewere. Contoh-contohnya adalah:
a. Remote Procedure Calls (RPC)
b. Messege Oriented Middlewere
c. Object Request Broker
d. Structured Query Language
System calls interface ini berfungsi sebagai penghubung antara system calls dan API yang dimengerti oleh sistem operasi. Jika user ingin membuka suatu file harus menggunakan program yang telah dibuat di API sebelumnya , maka perintah yang diminta user harus diterjemahkan dulu oleh program menjadi perintah open. Karena perintah ini tidak langsung dimengerti oleh sistem dan harus melalui API.
Dalam proses pengembangan API, memerlukan hal-hal penting yang mudah dimengerti dan diterapkan. Berikut adalah ciri-ciri API yang memiliki sifat baik:
a. Mudah dipelajari
b. Mudah untuk digunakan tanpa harus ada dokumen yang menyertainya
c. Tidak mudah disalahgunakan.
d. Memiliki kinerja tinggi untuk menyelesaikan tugasnya
e. Mudah untuk dikembangkan.
Jika informasi diatas merupakan proses pengembangan API yang mudah dimengerti. Berikut adalah proses atau langkah agar API dapat berkembang lebih baik:
1. Kebutuhan API secara umum dimulai dengan spesifikasi sederhana, yang nantinya akan di kembangkan secara sederhana. Dari spesifikasi tersebut harus dilihat lebih jelas lagi fungsionalitas yang harus dikembangkan.
2. Pada tahap ini dilakukanlah desain API.Dengan dasar spesifikasi yang telah dikembangkan sebelumnya. Berikut adalah beberapa hal yang harus di desain oleh API:
- Desain metode
- Desain exception
- Desain kelas
3. Prinsip umum yang harus diperhatikan saat pengembangan API:
- a. Fungsionalitas API harus mudah dijelaskan.
- b. Semakin kecil ukuran spesifikasi API, maka semakin bagus. Tapi harus sesuai dengan spesifikasi secara umum.
- c. API akan tersedia jika sebelum proses penggunaan pada perangkat lunak.