Apa itu API?
Berikut ini definisi umum dari API:
API (application Programming Interface) adalah sekumpulan fungsi, subrutine, protokol komunikasi, atau tools/alat untuk membuat perangkat lunak.
sumber: https://en.wikipedia.org/wiki/Aplication_programming_interface
Defenisi diatas sangat global, sekarang kita lihat dulu mengenai kata interface.
Interface/Antarmuka?
Interface atau antarmuka adalah bagian yang sama antara dua atau lebih komponen terpisah pada sebauh sistem komputer.
sumber: https://en.wikipedia.org/wiki/Interface_(computing)
Saya contohnya pada sebuah motherboard kompoter, di dalamnya terdapat slot-slot seperti slot memory, slot prosesor, dan lain-lain. Setiap slot-slot tadi disebut motherboard interface.
Kenapa ada antarmuka pada moterboard supaya kita tidak bingung memasang setiap part-nya, misalkan saat memasang RAM kita pastikan tidak salah memasangnya karena hanya ada satu slot yang muat untuk RAM.
Misalkan lagi memasang prosesor, kita yakin tidak akan salah penempatannya karena hanya ada satu interface yang muat untuk prosesor.
Ada lagi seperti audio interface untuk menghubungkan gitar kalian dengan komputer.
Kemudian pada sebuah sistem operasi windows yang disebut GUI (Graphical User Interface).
Jadi sampai penjelasan ini sadar atau tidak saya yakin Anda pernah berinteraksi dengan sebuah API, atau bahkan membuat api sederhana namun kalian tidak sadar bahwa itu adalah sebuah API.
API Secara Detail
- API adalah Antarmuka yang berupa kumpulan fungsi yang dapat dipanggil atau dijalankan oleh program lain.
- API penerapannya bisa sangat luas, yaitu pada:
- Bahasa Pemrograman
- Library dan Framework
- Sistem Operasi
- Web API / Web Service
Biasanya istilah API dan Web Service sering tertukar, padahal API itu adalah nama secara umumnya sedangkan Web Service adalah salah satu bagian dari API. Bahkan web service itu sendiri masih umum, salah satu web service di dalamnya ada REST API.
Penerapan API
1. Bahasa Pemrograman
Koneksi ke database MySQL menggunakan dua API yang berbeda di bahasa pemrograman PHP, seperti berikut:
// mysqli
$mysqli = new mysqli("localhost", "root", "", "pegawai");
$result = mysql->query("SELECT * FROM pegawai");
$row = $result->fetch_assoc();
// pdo
$pdo = new PDO('mysql:host=localhost;dbname=pegawai', 'root', '');
$statement = $pdo->query("SELECT * FROM pegawai");
$row = $statement->fetch(PDO::FETCH_ASSOC);
API untuk mengakses elemen pada DOM di bahasa pemrograman JavaScript, seperti berikut:
let tombol = document.querySelector('#tombol');
judul.AddEventListener('click', function(){
console.log('tombol ditekan');
})
2. Framework/Library
API CodeIgniter untuk mengambil seluruh data di tabel pegawai, seperti berikut:
$this->db->get('pegawai');
API jquery untuk mengambil data menggunakan Ajax, seperti berikut:
$.ajax({
type: 'POST',
url: 'http://localhost/project/pegawai/update',
dataType: 'JSON',
data: {id: id},
success: function (data){
$('#id').val('data.id');
$('#nama').val('data.nama');
$('#nip').val('data.nip');
$('#alamat').val('data.alamat');
}
})
3. Sistem operasi
- windows API
base service: kernel.dll
grafic device interfce: win21k.sys
user interaface: user21.dll - ios API
contact: CNMutableContact()
camera: AVCaptureDevice() - android API
contact: COntactsContract.RawContacts
4. Web API / Web Service
- SOAP (Simple object Access Protocol)
- REST (Representational State Transfer)
Maka bagian inilah yang akan kita pelajari
Web API / Web Service
Web API / Web Service adalah sistem perangkat lunak yang dibuat untuk mendukung interoperabilitas/interaksi antar dua aplikasi yang berbeda melalui jaringan.
Web service memungkinkan kita dapat membuat banyak aplikasi lain, tidak peduli bahasa pemrogramannya apa, teknologinya apa, sistem operasinya apa, kita dapat terkoneksi ke datanya, namun tidak secara langsung tetapi dengan menggunaan web service yang sudah disediakan.
Dapat dilihat seperti pada gambar diagram berikut ini:
Apa yang harus disiapkan?
Yang harus di siapkan untuk belajar Rest API pada seri ini sebagai berikut:
- Code Editor
Visual Studio Code - Web Server
XAMPP - Web Browser
Google Chrome - API Testing Tools
postman atau insomnia
Sekian dulu untuk Tutorial REST API pertama kita kali ini. Untuk pemahan lebih dalam tentang REST API kita bahas pada tutorial selanjutnya.
Tutorial Selanjutnya:
Tutorial REST API #2: REST dan HTTP
Leave a Reply