REST API apa itu api

Tutorial REST API #1: Apa itu API?

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:

Web Service Diagram
Web Service Diagram

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

Web Programmer. Flutter Developer. Content Creator. Founder Ayongoding.com. Penyuka minuman sachet. Menulis pakai tangan kanan. Masih main mobilan remot. Dan pernah kuliah Sistem Informasi sampai lulus.

Leave a Reply

Your email address will not be published. Required fields are marked *