API Application Programming Interface
API Application Programming Interface
API
( Application Programming Interface )
[ A. P. I. ] a.k.a. Antarmuka Pemrograman Aplikasi merupakan protokol yang terdiri atas kumpulan
instruksi yang disimpan dalam bentuk library dan menjelaskan(mengatur) bagaimana agar suatu
software dapat berinteraksi dengan software lain. Jadi, dengan adanya API, maka terdapat aturan
bagaimana cara software dapat berinteraksi dengan software lain untuk mengakses resources(data)
yang terdapat di dalam software tersebut melalui interface (fungsi,sintaks,protocol) yang telah
tersedia tanpa perlu mengetahui bagaimana software/aplikasi itu dibuat.
Penjelasan ini dapat dicontohkan dengan analogi apabila kita mau membangun
suatu rumah berikut :
Kontraktor == API
Rumah = software
(aplikasi/ program)
Pemilik Rumah
Misalkan, Bang Ican ingin membangun sebuah “ rumah ”, sebagai pemilik rumah,
Abang tentu tidak tau bagaimana prosedur pengerjaan konstruksi rumah abang, yang
penting abang punya uang dan abang mau rumah abang selesai sesuai dengan
tampilan rumah idaman yang telah abang pilih. Nah, Abang pun menyewa seorang “
kontraktor ” yang akan menangani seluruh prosedur pengerjaan konstruksi rumah itu.
Abang tinggal memberikan tugas yang perlu dilakukan kontraktor tanpa harus
mengetahui bagaimana cara kontraktor menyelesaikan pekerjaan tersebut (dalam hal ini tugas
yang dimaksud adalah kriteria-kriteria rumah idaman abang).
Dari analogi tersebut, rumah merupakan software yang akan dibuat, dan kontraktor
merupakan API yang mengerjakan bagian tertentu dari software tersebut tanpa harus
diketahui bagaimana prosedur dalam melakukan pekerjaan tersebut. Artinya
Kontraktor (si API) menjadi perantara / media komunikasi pemilik rumah dalam
bertukar informasi dalam pengerjaan konstruksi rumahnya hingga selesai.
Struktural API
Klasifikasi API
Kategori API Deskripsi Contoh
Operating System API yang digunakan untuk API for MS Windows
Fungsi dasar yang dapat
dilakukan oleh komputer.
Seperti proses I/O,
eksekusi program.
Programming API yang digunakan untuk Java API
Languages memperluas kapabilitas
dalam melakukan
eksekusi
terhadap suatu bahasa
pemrograman.
Application
Services API yang digunakan untuk API For mySAP
(BAPI/Business
mengakses data dan Application
layanan yang disediakan Programming Interface)
dari suatu aplikasi.
Infrastructure Digunakan untuk Amazon EC2 (Elastic
Services mengakses infrastruktur Compute Cloud) untuk
Dari suatu komputer. akses Untuk virtual
computing dan Amazon
Infrastruktur disini adalah S3
(Simple Storage
komputer beserta Service)
peripheral seperti storage, untuk menyimpan data
aplikasi, dan lain-lain. dalam jumlah besar.
Web Services API yang digunakan untuk Facebook Graph APIyang
mengakses content dan Digunakan untuk
mengakses
layanan yang disediakan informasi yang
oleh suatu web dapat dibagikan.
application.
Web API
Ketika digunakan dalam konteks pengembangan web, sebuah API biasanya
didefinisikan sebagai sekumpulan pesan permintaan Hypertext Transfer Protocol
(HTTP), bersama dengan definisi struktur pesan respons, yang biasanya dalam
Extensible Markup Language (XML) atau Format JavaScript Object Notation
(JSON). Tren terkini (disebut Web 2.0) telah bergerak menjauh dari layanan
berbasis Access Protocol (SOAP) sederhana menuju komunikasi gaya
Representational State Transfer (REST) langsung. Web API ini memungkinkan
kombinasi beberapa layanan ke dalam satu aplikasi baru yang dikenal sebagai
mashup application dan mengambil data / informasi / sumber daya fungsi yang
disediakan aplikas lainnya.
Ayo Bandingkan Web dan Web API dari salah
satu user berikut!!!
Website Github
https://github.com/devitagus
API Github
https://api.github.com/users/devitagus
Cara Mengetahui API Suatu Web
Nah , biasanya untuk mengetahui API dari suatu website kita tinggal mengakses
ke link developers dari website itu ,
Contoh :
1. Foto dapat dibagikan dari situs seperti Flickr dan Photobucket ke situs jejaring sosial
seperti Facebook dan MySpace.
3. Konten dapat dipostkan secara dinamis. Berbagi komentar langsung yang dibuat di
Twitter dengan akun Facebook, misalnya, diaktifkan dengan API mereka.
4. Konten video dapat disematkan di situs yang dilayani oleh host lain.
7. API memungkinkan sebuah aplikasi berbicara satu sama lain tanpa sepengetahuan
pengguna (pemilik informasi). Dan mengambil informasi atau data diluar firewall dari
suatu aplikasi jika diketahui api nya . Sehingga, hal ini sering dimanfaatkan dalam
aplikasi online shop dalam integrasi website dan system mereka dengan website
lain ( misalnya : amazon dengan eBay , Twitter, dan Salesforce.com)
Kenapa ?
Berikut sekilas tentang system call :
Gambar : System Call dan API Network
System call interface ini berfungsi sebagai penghubung antara API dan system
call yang dimengerti oleh sistem operasi. System call interface ini akan
menerjemahkan perintah dalam API dan kemudian akan memanggil system
calls yang diperlukan.
Untuk membuka suatu file tersebut user menggunakan program yang telah dibuat
dengan menggunakan bantuan API, maka perintah dari user tersebut
diterjemahkan dulu oleh program menjadi perintah open().
Perintah open() ini merupakan perintah dari API dan bukan perintah yang langsung
dimengerti oleh kernel sistem operasi. Oleh karena itu, agar keinginan userdapat
dimengerti oleh sistem operasi, maka perintah open() tadi diterjemahkan ke dalam
bentuk system call oleh system call interface. Implementasi perintah open() tadi
bisa bermacam-macam tergantung dari sistem operasi yang kita gunakan.
Mudah Dikembangkan
Dengan adanya API, memudahkan programmer untuk mengembangkan suatu
system.
https://developers.google.com/maps/documentation/geocoding/start
misalkan jalanyaa : 10 Downing St, London
{
"results" : [
{
"address_components" : [
{
"long_name" : "10",
"short_name" : "10",
"types" : [ "street_number" ]
},
{
"long_name" : "Downing Street",
"short_name" : "Downing St",
"types" : [ "route" ]
},
{
"long_name" : "Westminster",
"short_name" : "Westminster",
"types" : [ "neighborhood", "political" ]
},
{
"long_name" : "London",
"short_name" : "London",
"types" : [ "postal_town" ]
},
{
"long_name" : "Greater London",
"short_name" : "Greater London",
"types" : [ "administrative_area_level_2", "political" ]
},
{
"long_name" : "England",
"short_name" : "England",
"types" : [ "administrative_area_level_1", "political" ]
},
{
"long_name" : "United Kingdom",
"short_name" : "GB",
"types" : [ "country", "political" ]
},
{
"long_name" : "SW1A 2AA",
"short_name" : "SW1A 2AA",
"types" : [ "postal_code" ]
}
],
"formatted_address" : "10 Downing St, Westminster, London SW1A 2AA,
UK",
"geometry" : {
"location" : {
"lat" : 51.5033635,
"lng" : -0.1276248
},
"location_type" : "ROOFTOP",
"viewport" : {
"northeast" : {
"lat" : 51.5047124802915,
"lng" : -0.126275819708498
},
"southwest" : {
"lat" : 51.5020145197085,
"lng" : -0.128973780291502
}
}
},
"place_id" : "ChIJRxzRQcUEdkgRGVaKyzmkgvg",
"types" : [ "establishment", "point_of_interest" ]
}
],
"status" : "OK"
}
Pesan :
Semoga jadwal tidak bentrok bang biar bisa sering masuk lab belajar bang.
Semoga lab semakin baik lagi .