Senin, 25 November 2019

Pengertian API dan JSON

informatifplace.blogspot.com 

API ( Application Programming Interface)
 

API adalah singkatan dari Application Programming Interface, dan memungkinkan developer untuk mengintegrasikan dua bagian dari aplikasi atau dengan aplikasi yang berbeda secara bersamaan. API terdiri dari berbagai elemen seperti function, protocols, dan tools lainnya yang memungkinkan developers untuk membuat aplikasi. Tujuan penggunaan API adalah untuk mempercepat proses development dengan menyediakan function secara terpisah sehingga developer tidak perlu membuat fitur yang serupa. Penerapan API akan sangaat terasa jika fitur yang diinginkan sudah sangat kompleks, tentu membutuhkan waktu untuk membuat yang serupa dengannya. Misalnya: integrasi dengan payment gateway. Terdapat berbagai jenis sistem API yang dapat digunakan, termasuk sistem operasi, library, dan web.

API yang bekerja pada tingkat sistem operasi membantu aplikasi berkomunikasi dengan layer dasar dan satu sama lain mengikuti serangkaian protokol dan spesifikasi. Contoh yang dapat menggambarkan spesifikasi tersebut adalah POSIX (Portable Operating System Interface). Dengan menggunakan standar POSIX, aplikasi yang di-compile untuk bekerja pada sistem operasi tertentu juga dapat bekerja pada sistem lain yang memiliki kriteria yang sama. Software library juga memiliki peran penting dalam menciptakan compatibility antar sistem yang berbeda.
Aplikasi yang berinteraksi dengan library harus mengikuti serangkaian aturan yang ditentukan oleh API. Pendekatan ini memudahkan software developer untuk membuat aplikasi yang berkomunikasi dengan berbagai library tanpa harus memikirkan kembali strategi yang digunakan selama semua library mengikut API yang sama. Kelebihan lain dari metode ini menunjukkan betapa mudahnya menggunakan library yang sama dengan bahasa pemrograman yang berbeda.
Seperti namanya, Web API dalam diakses melalui protokol HTTP, ini adalah konsep bukan teknologi. Kita bisa membuat Web API dengan menggunakan teknologi yang berbeda seperti PHP, Java, .NET, dll. Misalnya Rest API dari Twitter menyediakan akses read dan write data dengan mengintegrasikan twitter kedalam aplikasi kita sendiri.



Fitur Web API

Untuk membuat Web API, beberapa hal yang harus disediakan adalah:

  1. Mendukung fungsi CRUD yang bekerja melalui HTTP protocol dengan method GET, POST, PUT dan DELETE
  2. Memiliki response Accept Header dan HTTP status code
  3. Response dengan format JSON, XML atau format apapun yang kamu inginkan. Akan tetapi kebanyak digunakan kedalam format JSON.
  4. Mendukung fitur MVC seperti routing, controllers, action results, filter, model, IOC container, dll.
  5. Web API dapat berjalan di Apache atau web server lainnya yang didukung sesuai bahasa pemrograman yang digunakan.
Web API seperti sebuah alamat web (end point) yang dibuat untuk menangani beberapa task sesuai request yang diterima, juga terkadang memiliki parameter sebagai data yang dibutuhkan agar dapat menampilkan hasil yang diinginkan, juga pada beberapa kasus untuk mengakses API dibutuhkan kode otentikasi yang telah diizinkan untuk melihat data yang diinginkan. Semua rule ini ditentukan oleh programmer yang membuatnya.

Perbedaan Web API dan Web Service

Seringkali saya mendapat pertanyaan tentang apa sih perbedaan antara web API dan web service? Berikut adalah perbedaan diantara keduanya:

  1. Semua web service menggunakan API tapi tidak semua API digunakan sebagai web service
  2. Web service memfasilitasi untuk melakukan interaksi antara dua perangkat atau aplikasi melalui jaringan. Sedangkan API bertindak sebagai penghubung antara dua aplikasi berbeda sehingga bisa berkomunikasi satu sama lain baik dengan ataupun tanpa jaringan.
  3. Web service hanya menggunakan 3 style yaitu SOAP, REST, atau XML-RPC untuk berkomunikasi sedangkan API dapat menggunakan style apapun.
  4. Web service selalu membutuhkan jaringan untuk pengoperasiannya sedangkan API tidak selalu memerlukan jaringan untuk operasinya.
 

 JSON 


JSON adalah salah satu format yang digunakan untuk pertukaran data antar aplikasi. Format ini relatif ringan, mudah dibaca dan dibuat karena pada dasarnya JSON berbasis javascript. Kepanjangan JSON sendiri adalah Javascript Object Notation.
Sebelum kita membahas JSON lebih dalam mari kita sedikit bercerita tentang teknologi pertukaran data antar web.

Pertukaran data antar Web

Dulu masih jarang ada Web yang dapat saling bertukar data dengan web lainnya seperti halnya facebook yang dapat saling bertukar data dengan web pihak ketiga atau bahkan aplikasi pihak ketiga. Namun setelah kehadiran XML sebagai format pertukaran data antar aplikasi (web/desktop) semuanya bukan tidak mungkin lagi untuk dilakukan.
Ya, sebelum adanya JSON, XML lah yang biasa digunakan untuk saling bertukar data dan hingga saat ini XML masih digunakan seperti pada RSS Feed yang mungkin menjadi santapan anda sehari-hari. XML sendiri adalah kependekan dari eXtensible Markup Language, jika anda senang “bercengkrama” dengan HTML anda akan familiar dengan XML, hanya saja tag-tag yang ada adalah buatan anda sendiri. Kira-kira beginilah format penulisan XML :

<phonebook>
    <contact>
        <name>Rian Ariona</name>
        <phone>+628572182XXXX</phone>
        <address>Bandung</address>
    </contact>

    <contact>
        <name>John Doe</name>
        <phone>+169572582XXXX</phone>
        <address>Los Angeles</address>
    </contact>

    <contact>
        <name>George</name>
        <phone>+196252145XXXX</phone>
        <address>Kanada</address>
    </contact>
</phonebook>
Sangat mudah untuk dimengerti bukan, dan inilah format yang sering digunakan dalam pertukaran data suatu web.


XML Bukanlah Satu-satunya

Namun kini, telah hadir JSON sebagai format baru untuk pertukaran data web. JSON adalah kependekan dari JavaScript Object Notation. Penulisan format data menggunakan JSON sangatlah singkat karena menggunakan notasi-notasi javascript seperti kurung siku [] dan kurung kurawal {}. Jika kita konversi data XML di atas ke dalam format JSON, kira-kira menjadi seperti berikut :
{
    "phonebook" : {
        "contact":[
        {
            "name":"Rian Ariona",
            "phone":"+628572182XXXX",
            "address":"bandung"
        },{
            "name":"John Doe",
            "phone":"+169572582XXXX",
            "address":"Los Angeles"
        },{
            "name":"George",
            "phone":"+196252145XXXX",
            "address":"Kanada"
        }
        ]
    }
}
Dan berikut ini adalah contoh penggunaan JSON dalam HTML menggunakan javascript:
<!DOCTYPE HTML>
<html>
<head>
    <title>JSON</title>
    <script>
        var person={
            "phonebook" : {
                "contact":[
                 {
                     "fname":"Rian Ariona",
                     "phone":"+628572182XXXX",
                     "address":"bandung"
                 },{
                     "fname":"John Doe",
                     "phone":"+169572582XXXX",
                     "address":"Los Angeles"
                 },{
                     "fname":"George",
                     "phone":"+196252145XXXX",
                     "address":"Kanada"
                 }
                ]
            }
        }

        for(i=0;i");
            document.writeln(person.phonebook.contact[i].phone +" ");
            document.writeln(person.phonebook.contact[i].address +" ");
        }
    </script>
</head>
<body>
    
</body>
</html>
Dari kode diatas kita melakukan perulangan untuk pengambilan data-data yang terdapat di dalam objek berformat json lalu menampilkan semua data tersebut secara berurutan.

Simple & Fast

Karena kesederhanaan penulisan JSON, ukuran file yang dihasilkanpun menjadi lebih ramping dibandingkan XML (karena terus mengulangi kata yang sama dalam tag-tag yang digunakan). Hal ini berimbas pada kecepatan loading transfer data, pertukaran data JSON lebih cepat jika dibandingkan dengan XML.
Oleh karena itu banyak situs-situs besar yang menggunakan JSON sebagai format pertukaran data. Sebagai contoh, twitter menyediakan API untuk digunakan pada situs pihak ketiga atau aplikasi pihak ketiga misalnya twitter client (tweetdeck dll). Data yang dikirimkan dari hasil request berupa data berformat JSON.


Kesimpulan

Dengan artikel yang singkat ini setidaknya anda sudah paham untuk keperluan apa API digunakan. Metode pendekatan yang digunakan untuk berkomunikasi dengan API menggunakan protokol yang telah kami tuliskan diatas masih tergolong protokol yang umum digunakan, masih ada banyak lagi yang belum kami tuliskan seiring perkembangan. Sedangkan bagaimana cara membuat API akan dibahas di artikel selanjutnya tergantung bahasa pemrograman apa yang digunakan.

Tidak ada komentar:

Posting Komentar