Anda di halaman 1dari 9

MAKALAH

SISTEM DAN TEKNOLOGI INFORMASI

“APPLICATION PROGRAMMING INTERFACE (API)“

OLEH :

1. ALFIN ERFENDO (201953076)


2. SETYO ADI SASONO (201953073)
3. HERFIAN CAHYO K. (201953108)
4. AHAZIA PHILIP K . (201953063)
5. M. LUKMANUL CHAKIM I. (201953098)

UNIVERSITAS MURIA KUDUS


FAKULTAS TEKNIK
PROGRAM STUDI SISTEM INFORMASI
2019
DAFTAR ISI

DAFTAR ISI ........................................................................................................ i


BAB 1 PENDAHULUAN ..................................................................................... 1

1.1.Latar Belakang ............................................................................................ 1


1.2.Penjelasan API ............................................................................................ 1

BAB 2 PEMBAHASAN ....................................................................................... 2


2.1.Tujuan API ................................................................................................. 2

2.2.Kegunaan API ............................................................................................ 2


2.3.Desain API ................................................................................................. 4

2..4.Kebijakan rilis API .................................................................................... 5


2.5.Implikasi API Publik ................................................................................... 5
BAB 3 KESIMPULAN ......................................................................................... 6

DAFTAR PUSTAKA ........................................................................................... 7

i
BAB 1
PENDAHULUAN

1.1 Latar Belakang

Era perkembangan dunia digital dan Internet memberikan dampak yang besar untuk
masyarakat. Internet merupakan sarana untuk menyediakan pencarian barang dan jasa
sesuai kebutuhan. Berdasarkan survai yang telah dilakukan terhadap 395 koresponden
yang aktif pada forum jual beli online di Indonesia, 71% koresponden mengalami
kesulitan mencari barang atau jasa yang dibutuhkan. Di sisi lain 62% penjual mengaku
pernah mengalami kesulitan mempromosikan produk atau jasa.

Marketspot merupakan sebuah solusi Geo Social Commerce yang eklusif di mobile
phone untuk membantu penjual bertemu dengan pembeli di sekelilingnya. Hal tersebut
dilakukan dengan cara menampilkan pengguna yang membutuhkan yang ditampilkan
pada sebuah peta, sehingga penjual dan pembeli dapat langsung berinteraksi. Solusi
ini menggabungkan unsur social dan e-commerce yang berbasis Geographic
Information System (GIS). Pengembangan aplikasi social commerce berbasis GIS
dilakukan dengan metode iterative dan incremental. Pengembangan aplikasi dengan
metode ini dilakukan dengan menggunakan beberapa iterasi dalam mengembangkan
fiturnya. Tujuan dari iterasi ini adalah untuk memberikan perbaikan terhadap fitur
yang sudah ada atau untuk menambah fitur baru.
Hasil akhir dari penelitian ini adalah Application Programming Interfaces (API)
dan versi website. API dan website dibuat berbasis PHP dengan framework Laravel 5.
API yang dibuat di sini menghasilkan data dalam bentuk JSON.
1.2 Penjelasan API

Application Programming Interfaces (API) adalah antarmuka atau protokol


komunikasi antara berbagai bagian program komputer yang dimaksudkan untuk
menyederhanakan implementasi dan pemeliharaan perangkat lunak. API dapat untuk
sistem berbasis web, sistem operasi, sistem basis data, perangkat keras komputer, atau
pustaka perangkat lunak.
Spesifikasi API dapat mengambil banyak bentuk, tetapi seringkali mencakup
spesifikasi untuk rutinitas, struktur data, kelas objek, variabel, atau panggilan jarak
jauh. POSIX, Windows API dan ASPI adalah contoh dari berbagai bentuk API.
Dokumentasi untuk API biasanya disediakan untuk memfasilitasi penggunaan dan
implementasi.

1
BAB 2
PEMBAHASAN

2.2 Tujuan API


Dalam membangun aplikasi, API menyederhanakan pemrograman dengan
mengabstraksi implementasi yang mendasarinya dan hanya mengekspos objek atau
tindakan yang dibutuhkan pengembang. Sementara antarmuka grafis untuk klien email
mungkin menyediakan pengguna dengan tombol yang melakukan semua langkah
untuk mengambil dan menyoroti email baru, API untuk input / output file mungkin
memberi pengembang fungsi yang menyalin file dari satu lokasi ke lokasi lain tanpa
mengharuskan pengembang untuk memahami operasi sistem file yang terjadi di
belakang layer.

2.2 Kegunaan API


a. Libraries and frameworks
API biasanya terkait dengan perpustakaan perangkat lunak. API menjelaskan dan
menetapkan perilaku yang diharapkan spesifikasi sementara perpustakaan adalah
"Implementasi Aktual" dari serangkaian aturan ini. Satu API dapat memiliki beberapa
implementasi, atau tidak ada, bersifat abstrak dalam bentuk pustaka yang berbeda yang
berbagi antarmuka pemrograman yang sama. Pemisahan API dari implementasinya
dapat memungkinkan program yang ditulis dalam satu bahasa untuk menggunakan
pustaka yang ditulis dalam bahasa lain. Misalnya, karena Scala dan Java
mengkompilasi ke bytecode yang kompatibel, pengembang Scala dapat memanfaatkan
API Java apa pun. Penggunaan API dapat bervariasi tergantung pada jenis bahasa
pemrograman yang terlibat. API untuk bahasa prosedural seperti Lua dapat terdiri
terutama dari rutinitas dasar untuk mengeksekusi kode, memanipulasi data atau
menangani kesalahan sementara API untuk bahasa berorientasi objek, seperti Java,
akan memberikan spesifikasi kelas dan metode kelasnya. Binding bahasa juga API.
Dengan memetakan fitur dan kemampuan satu bahasa ke antarmuka yang
diimplementasikan dalam bahasa lain, pengikatan bahasa memungkinkan
perpustakaan atau layanan yang ditulis dalam satu bahasa untuk digunakan saat
berkembang dalam bahasa lain. Alat-alat seperti SWIG dan F2PY, generator
antarmuka Fortran-to-Python, memfasilitasi pembuatan antarmuka semacam itu.
API juga dapat dikaitkan dengan software framework kerangka kerja dapat
didasarkan pada beberapa perpustakaan yang menerapkan beberapa API, tetapi tidak
seperti penggunaan normal API, akses ke perilaku yang dibangun dalam kerangka
kerja dimediasi dengan memperluas kontennya dengan kelas-kelas baru dicolokkan ke
dalam kerangka itu sendiri. Selain itu, keseluruhan aliran program kontrol dapat berada
di luar kendali penelepon dan di tangan kerangka kerja dengan inversi kontrol atau
mekanisme serupa

2
b. Operating system
API dapat menentukan antarmuka antara aplikasi dan sistem operasi. POSIX,
misalnya, menetapkan seperangkat API umum yang bertujuan untuk memungkinkan
aplikasi yang ditulis untuk sistem operasi konforman POSIX untuk dikompilasi untuk
sistem operasi konforman POSIX lain. Distribusi Perangkat Lunak Linux dan
Berkeley adalah contoh sistem operasi yang mengimplementasikan API POSIX.
Microsoft telah menunjukkan komitmen yang kuat untuk API yang kompatibel-
mundur, khususnya dalam perpustakaan Windows API (Win32), sehingga aplikasi
yang lebih lama dapat berjalan pada versi Windows yang lebih baru menggunakan
pengaturan spesifik yang dapat dieksekusi yang disebut "Mode Kompatibilitas". API
berbeda dari antarmuka biner aplikasi (ABI) karena API berbasis kode sumber
sementara ABI berbasis biner. Misalnya, POSIX menyediakan API sedangkan Basis
Standar Linux menyediakan ABI.
c. Remote APIs

Remote APIs memungkinkan pengembang untuk memanipulasi sumber daya jarak


jauh melalui protokol, standar khusus untuk komunikasi yang memungkinkan berbagai
teknologi bekerja bersama, apa pun bahasa atau platformnya. Sebagai contoh, Java
Database Connectivity API memungkinkan pengembang untuk menanyakan berbagai
jenis database dengan set fungsi yang sama, sedangkan API invokasi metode jarak
jauh Java menggunakan Java Remote Method Protocol untuk memungkinkan invokasi
fungsi yang beroperasi dari jarak jauh, tetapi tampak lokal untuk pengembang.

Oleh karena itu, API jarak jauh berguna dalam mempertahankan abstraksi objek
dalam pemrograman berorientasi objek; pemanggilan metode, dieksekusi secara lokal
pada objek proxy, memanggil metode yang sesuai pada objek jarak jauh, menggunakan
protokol remoting, dan memperoleh hasil yang akan digunakan secara lokal sebagai
nilai pengembalian. Modifikasi pada objek proxy juga akan menghasilkan modifikasi
yang sesuai pada objek jarak jauh.

d. Web APIs
API Web adalah antarmuka yang ditentukan melalui interaksi yang terjadi antara
perusahaan dan aplikasi yang menggunakan asetnya, yang juga merupakan Perjanjian
Tingkat Layanan (SLA) untuk menentukan penyedia fungsional dan memaparkan jalur
layanan atau URL untuk pengguna API-nya. Pendekatan API adalah pendekatan
arsitektur yang berputar di sekitar menyediakan antarmuka program ke serangkaian
layanan untuk berbagai aplikasi yang melayani berbagai jenis konsumen.
Ketika digunakan dalam konteks pengembangan web, API biasanya didefinisikan
sebagai sekumpulan spesifikasi, seperti pesan permintaan Protokol Transfer Hiperteks
(HTTP), bersama dengan definisi struktur pesan respons, biasanya dalam Bahasa

3
Markup Extensible (XML) atau format JavaScript Object Notation (JSON).
Contohnya adalah API perusahaan pengiriman yang dapat ditambahkan ke situs web
yang berfokus pada eCommerce untuk memfasilitasi pemesanan layanan pengiriman
dan secara otomatis menyertakan tarif pengiriman saat ini, tanpa pengembang situs
harus memasukkan tabel tarif pengirim ke dalam database web.

Sementara "web API" secara historis hampir sama dengan layanan web, tren terkini
(disebut Web 2.0) telah bergeser dari layanan web berbasis Simple Object Access
Protocol (SOAP) dan arsitektur berorientasi layanan (SOA) ke arah yang lebih
langsung sumber daya web gaya representasional state transfer (REST) dan arsitektur
berorientasi sumber daya (ROA). Bagian dari tren ini terkait dengan gerakan Semantic
Web menuju Resource Deskripsi Framework (RDF), sebuah konsep untuk
mempromosikan teknologi rekayasa ontologi berbasis web. API Web memungkinkan
kombinasi beberapa API ke dalam aplikasi baru yang dikenal sebagai mashup. Di
ruang media sosial, API web telah memungkinkan komunitas web untuk memfasilitasi
berbagi konten dan data antara komunitas dan aplikasi. Dengan cara ini, konten yang
dibuat di satu tempat secara dinamis dapat diposting dan diperbarui ke berbagai lokasi
di web. Misalnya, REST API Twitter memungkinkan pengembang mengakses data
inti Twitter dan API Pencarian menyediakan metode bagi pengembang untuk
berinteraksi dengan Pencarian Twitter dan data tren.

2.3 Desain API


Desain API memiliki dampak signifikan terhadap penggunaannya. Prinsip
menyembunyikan informasi menggambarkan peran antarmuka pemrograman sebagai
memungkinkan pemrograman modular dengan menyembunyikan detail implementasi
modul sehingga pengguna modul tidak perlu memahami kompleksitas di dalam modul.
Dengan demikian, desain API hanya mencoba menyediakan alat yang diharapkan
pengguna. Desain antarmuka pemrograman mewakili bagian penting dari arsitektur
perangkat lunak, organisasi perangkat lunak yang kompleks.

Beberapa penulis telah membuat rekomendasi untuk bagaimana merancang API,


seperti Joshua Bloch, Kin Lane, dan Michi Henning. Pola untuk desain dan evolusi
API jarak jauh dicakup dalam serangkaian makalah EuroPLoP.

4
2.4 Kebijakan rilis API
API adalah salah satu cara perusahaan teknologi yang lebih umum terintegrasi satu
sama lain. Mereka yang menyediakan dan menggunakan API dianggap sebagai
anggota ekosistem bisnis.
Kebijakan utama untuk merilis API adalah:

a. Pribadi: API hanya untuk penggunaan internal perusahaan.


b. Mitra: Hanya mitra bisnis tertentu yang dapat menggunakan API. Misalnya,
perusahaan jaringan transportasi seperti Uber dan Lyft memungkinkan
pengembang pihak ketiga yang disetujui untuk langsung memesan wahana dari
dalam aplikasi mereka. Ini memungkinkan perusahaan untuk melakukan kontrol
kualitas dengan memilih aplikasi mana yang memiliki akses ke API, dan memberi
mereka aliran pendapatan tambahan.
c. Publik: API tersedia untuk digunakan oleh publik. Sebagai contoh, Microsoft
membuat Microsoft Windows API publik, dan Apple merilis API Karbon dan
Kakao, sehingga perangkat lunak dapat ditulis untuk platform mereka.
2.5 Implikasi API Publik
Faktor penting ketika API menjadi publik adalah "stabilitas antarmuka" -nya.
Perubahan pada API — misalnya menambahkan parameter baru ke panggilan fungsi
— dapat memutus kompatibilitas dengan klien yang bergantung pada API itu. Ketika
bagian-bagian dari API yang disajikan untuk umum dapat berubah dan karenanya tidak
stabil, bagian-bagian tertentu dari API tertentu harus didokumentasikan secara
eksplisit sebagai "tidak stabil". Misalnya, di perpustakaan Google Guava, bagian-
bagian yang dianggap tidak stabil, dan yang mungkin berubah dalam waktu dekat,
ditandai dengan Java annotation @Beta.

API publik terkadang dapat mendeklarasikan bagian dirinya sebagai usang atau
dibatalkan. Ini biasanya berarti bahwa bagian dari API harus dianggap sebagai
kandidat untuk dihapus, atau dimodifikasi dengan cara yang tidak kompatibel ke
belakang. Karenanya, perubahan ini memungkinkan pengembang untuk beralih dari
bagian-bagian API yang akan dihapus atau tidak didukung di masa mendatang. Kode
klien dapat berisi penggunaan inovatif atau oportunistik yang tidak dimaksudkan oleh
perancang API. Dengan kata lain, untuk perpustakaan dengan basis pengguna yang
signifikan, ketika suatu elemen menjadi bagian dari API publik, itu dapat digunakan
dengan berbagai cara.

5
BAB 3
KESIMPULAN

Jadi kesimpulan yang didapat yaitu Antarmuka pemrograman aplikasi (API) adalah
antarmuka atau protokol komunikasi antara berbagai bagian program komputer yang
dimaksudkan untuk menyederhanakan implementasi dan pemeliharaan perangkat lunak.

API ini dapat digunakan untuk mempercantik tampilan dari suatu program aplikasi dan
API ini selalu digunakan dalam banyak perusahaan-perusahaan besar atau kecil agar
menghasilkan suatu keuntungan tersendiri bagi suatu perusahaan.
Sebuah API mendefinisiskan bagaimana cara programmer memanfaatkan suatu fitur
tertentu dari sebuah computer. API tersedia untuk system windowing, system file, system
basis data dan system jaringan.

6
DAFTAR PUSTAKA
Braunstein, Mark L. (26 July 2018). Health Informatics on FHIR: How HL7's New API is
Transforming Healthcare.
Odersky, Martin; Spoon, Lex; Venners, Bill (10 December 2008). "Combining Scala and
Java". www.artima.com. Retrieved 29 July 2016.
de Figueiredo, Luiz Henrique; Ierusalimschy, Roberto; Filho, Waldemar Celes. "The
design and implementation of a language for extending applications". TeCGraf
Grupo Tecnologia Em Computacao Grafica. Diakses pada 29 Juli 2016.
https://en.wikipedia.org/wiki/Application_programming_interface.

Anda mungkin juga menyukai