Apa yang dimaksud dengan API?
API menyederhanakan pengembangan dan inovasi perangkat lunak dengan memungkinkan aplikasi bertukar data dan fungsionalitas dengan mudah dan aman
Pelajari tentang solusi manajemen API IBM
Orang yang bekerja menggunakan komputer di meja berdiri
Apa yang dimaksud dengan API?

API, atau antarmuka pemrograman aplikasi, adalah seperangkat aturan yang ditetapkan yang memungkinkan aplikasi yang berbeda untuk berkomunikasi satu sama lain. API ini bertindak sebagai lapisan perantara yang memproses transfer data antar sistem, memungkinkan perusahaan membuka data dan fungsionalitas aplikasi mereka kepada pengembang pihak ketiga eksternal, mitra bisnis, dan departemen internal di dalam perusahaan mereka.

Definisi dan protokol dalam API membantu bisnis menghubungkan berbagai aplikasi yang mereka gunakan dalam operasi sehari-hari, yang menghemat waktu karyawan dan memecah silo yang menghambat kolaborasi dan inovasi. Untuk pengembang, dokumentasi API menyediakan antarmuka untuk komunikasi antar aplikasi, menyederhanakan integrasi aplikasi.

Cara kerja API

Cara sederhana untuk memahami cara kerja API adalah dengan melihat contoh umum, yaitu pemrosesan pembayaran pihak ketiga. Ketika pengguna membeli produk di situs e-niaga, mereka mungkin diminta untuk "Bayar dengan Paypal" atau jenis sistem pihak ketiga lainnya. Fungsi ini bergantung pada API untuk membuat koneksi.

  • Ketika pembeli mengklik tombol pembayaran, API akan memanggil untuk mengambil informasi—juga dikenal sebagai permintaan. Permintaan ini diproses dari aplikasi ke server web melalui Uniform Resource Identifier (URI) API dan menyertakan kata kerja permintaan, header, dan terkadang, badan permintaan.
     

  • Setelah menerima permintaan yang valid dari halaman web produk, API melakukan panggilan ke program eksternal atau server web, dalam hal ini, sistem pembayaran pihak ketiga.
     

  • Server mengirimkan respons ke API dengan informasi yang diminta.
     

  • API mentransfer data ke aplikasi permintaan awal, di sini situs web produk.

Meskipun transfer data akan berbeda tergantung pada layanan web yang digunakan, permintaan dan respons semua terjadi melalui API. Tidak ada visibilitas pada antarmuka pengguna, yang berarti API bertukar data di dalam komputer atau aplikasi, dan tampak bagi pengguna sebagai koneksi yang mulus.

Manfaat API

API menyederhanakan desain dan pengembangan aplikasi dan layanan baru, serta integrasi dan pengelolaan aplikasi dan layanan yang sudah ada. Namun, API ini juga menawarkan manfaat signifikan lainnya bagi para pengembang dan organisasi pada umumnya.

Peningkatan kolaborasi. Rata-rata perusahaan menggunakan hampir 1.200 aplikasi cloud (tautan berada di luar ibm.com), banyak di antaranya yang terputus. API memungkinkan integrasi sehingga platform dan aplikasi ini dapat berkomunikasi dengan lancar satu sama lain. Melalui integrasi ini, perusahaan dapat mengotomatiskan alur kerja dan meningkatkan kolaborasi di tempat kerja. Tanpa API, banyak perusahaan tidak akan memiliki konektivitas, sehingga menyebabkan silo informasi yang mengganggu produktivitas dan kinerja.

Inovasi yang dipercepat. API menawarkan fleksibilitas, memungkinkan perusahaan untuk menjalin hubungan dengan mitra bisnis baru, menawarkan layanan baru ke pasar yang sudah ada, dan pada akhirnya, mengakses pasar baru yang dapat menghasilkan keuntungan besar dan mendorong transformasi digital. Sebagai contoh, perusahaan Stripe dimulai sebagai API dengan hanya tujuh baris kode. Perusahaan ini telah bermitra dengan banyak perusahaan terbesar di dunia, melakukan diversifikasi untuk menawarkan pinjaman dan kartu korporat, dan baru-baru ini bernilai USD 36 miliar (tautan berada di luar ibm.com).

Monetisasi data. Banyak perusahaan memilih untuk menawarkan API secara gratis, setidaknya pada awalnya, sehingga mereka dapat membangun audiens pengembang di sekitar merek mereka dan menjalin hubungan dengan mitra bisnis potensial. Jika API memberikan akses ke aset digital yang berharga, bisnis memonetisasinya dengan menjual akses. Hal ini disebut sebagai ekonomi API. Ketika AccuWeather (tautan berada di luar ibm.com) meluncurkan portal pengembang swalayannya untuk menjual berbagai macam paket API, hanya butuh waktu 10 bulan untuk menarik 24.000 pengembang, menjual 11.000 kunci API dan membangun komunitas yang berkembang pesat dalam prosesnya.

Keamanan sistem. API memisahkan aplikasi yang meminta dari infrastruktur layanan yang merespons, dan menawarkan lapisan keamanan di antara keduanya saat berkomunikasi. Sebagai contoh, panggilan API biasanya memerlukan kredensial autentikasi; header HTTP, cookie, atau string kueri dapat memberikan keamanan tambahan selama pertukaran data dan gateway API dapat mengontrol akses untuk meminimalkan ancaman keamanan.

Keamanan dan privasi pengguna akhir. Sama seperti API yang memberikan perlindungan tambahan dalam jaringan, API juga dapat memberikan lapisan perlindungan lain untuk pengguna pribadi. Ketika sebuah situs web meminta lokasi pengguna, yang disediakan melalui API lokasi, pengguna kemudian dapat memutuskan apakah akan mengizinkan atau menolak permintaan ini. Banyak browser web dan sistem operasi seluler, seperti iOS, memiliki struktur izin bawaan ketika API meminta akses ke aplikasi dan datanya. Ketika aplikasi harus mengakses file melalui API, sistem file seperti windows, Mac dan Linux menggunakan izin untuk akses tersebut.

API dalam tindakan: contoh umum

Karena API memungkinkan perusahaan membuka akses ke sumber daya mereka dengan tetap menjaga keamanan dan kontrol, API telah menjadi aspek yang berharga dalam bisnis modern dan aplikasi pribadi. Berikut adalah beberapa contoh populer penggunaan API yang ditemui pengguna hampir setiap hari:

  • Login universal: Contoh API yang populer adalah fungsi yang memungkinkan orang untuk masuk ke situs web dengan menggunakan detail login Facebook, Twitter, atau profil Google mereka. Fitur yang mudah digunakan ini memungkinkan situs web apa pun untuk memanfaatkan API dari salah satu layanan yang lebih populer untuk autentikasi cepat, sehingga menghemat waktu dan kerumitan dalam menyiapkan profil baru untuk setiap aplikasi web atau keanggotaan baru.
     

  • Internet of Things (IoT): "Perangkat pintar" ini menawarkan fungsionalitas tambahan, seperti layar sentuh berkemampuan internet dan pengumpulan data, melalui API. Sebagai contoh, kulkas pintar dapat terhubung ke aplikasi resep atau mengambil dan mengirim catatan ke ponsel melalui pesan teks. Kamera internal terhubung ke berbagai aplikasi sehingga pengguna dapat melihat isi lemari es dari mana saja.
     

  • Perbandingan pemesanan perjalanan: Situs pemesanan perjalanan mengumpulkan ribuan penerbangan, menampilkan opsi termurah untuk setiap tanggal dan tujuan. Layanan ini dimungkinkan melalui API yang memberi pengguna aplikasi akses ke informasi terbaru tentang ketersediaan dari hotel dan maskapai penerbangan, baik melalui browser web atau aplikasi perusahaan pemesanan perjalanan itu sendiri. Dengan pertukaran data dan permintaan yang otonom, API secara dramatis mengurangi waktu dan upaya yang terlibat dalam memeriksa penerbangan atau akomodasi yang tersedia.
     

  • Aplikasi pemetaan: Selain API inti yang menampilkan peta statis atau interaktif, aplikasi ini menggunakan API dan fitur lain untuk memberikan petunjuk arah, batas kecepatan, tempat menarik, peringatan lalu lintas, dan lainnya kepada pengguna. Pengguna berkomunikasi dengan API saat merencanakan rute perjalanan atau melacak item saat bepergian, seperti kendaraan pengiriman.
     

  • Twitter: Setiap Tweet berisi atribut inti deskriptif, termasuk penulis, ID unik, pesan, stempel waktu saat diposting, dan metadata geolokasi. Twitter menyediakan atribut inti dari Tweet publik dan balasan bagi pengembang dan memungkinkan mereka untuk memposting Tweet di halaman web lain melalui API perusahaan.
     

  • Aplikasi SaaS: API adalah bagian integral dari pertumbuhan produk software-as-a-service (SaaS). Platform seperti CRM (alat manajemen hubungan pelanggan) sering menyertakan sejumlah API bawaan yang memungkinkan perusahaan berintegrasi dengan aplikasi yang sudah mereka gunakan, seperti perpesanan, media sosial, dan aplikasi email. Ini secara drastis mengurangi waktu yang dihabiskan untuk beralih antara aplikasi untuk tugas penjualan dan pemasaran. API semacam ini juga membantu mengurangi atau mencegah silo data yang mungkin ada antar departemen menggunakan aplikasi yang berbeda.

Jenis-jenis API

Saat ini sebagian besar API adalah API web yang mengekspos data dan fungsionalitas aplikasi melalui internet. Berikut adalah empat jenis utama API web:

  • API terbuka adalah antarmuka pemrograman aplikasi sumber terbuka yang dapat Anda akses dengan protokol HTTP. Juga dikenal sebagai API publik, mereka telah mendefinisikan titik akhir API serta format permintaan dan respons.
     

  • API Mitra menghubungkan mitra bisnis strategis. Biasanya, pengembang mengakses API ini dalam mode swalayan melalui portal pengembang API publik. Namun, mereka harus menyelesaikan proses orientasi dan mendapatkan kredensial login untuk mengakses API mitra.
     

  • API internal tetap tersembunyi dari pengguna eksternal. API privat ini tidak tersedia bagi pengguna di luar perusahaan dan ditujukan untuk meningkatkan produktivitas dan komunikasi di berbagai tim pengembangan internal.
     

  • API komposit menggabungkan beberapa API data atau layanan. Mereka memungkinkan pemrogram untuk mengakses beberapa titik akhir dalam satu panggilan. API komposit berguna dalam arsitektur layanan mikro di mana untuk melakukan satu tugas mungkin memerlukan informasi dari beberapa sumber.

Protokol API

Seiring dengan meningkatnya penggunaan API web, protokol tertentu telah dikembangkan untuk menyediakan seperangkat aturan yang ditetapkan, atau spesifikasi API, yang menciptakan tipe data, perintah, dan sintaks yang dapat diterima oleh pengguna. Pada dasarnya, protokol API ini memfasilitasi pertukaran informasi yang terstandardisasi.

  • SOAP (Protokol Akses Objek Sederhana): Dibangun dengan XML, SOAP memungkinkan titik akhir untuk mengirim dan menerima data melalui SMTP dan HTTP. SOAP API memudahkan untuk berbagi informasi antara aplikasi atau komponen perangkat lunak yang berjalan di lingkungan yang berbeda atau ditulis dalam bahasa yang berbeda.
     

  • XML-RPC (Panggilan Prosedur Jarak Jauh XML): Protokol XML-RPC bergantung pada format XML tertentu untuk mentransfer data. XML-RPC lebih tua daripada SOAP, tetapi jauh lebih sederhana, dan relatif ringan karena menggunakan bandwidth minimum.
     

  • JSON-RPC: Seperti XML-RPC, JSON-RPC adalah panggilan prosedur jarak jauh, tetapi JSON (JavaScript Object Notation) digunakan sebagai pengganti XMLuntuk mentransfer data.

  • REST (Representational State Transfer): REST adalah seperangkat prinsip arsitektur API web. REST API-jugadikenal sebagai RESTful API-adalah API yang mematuhi batasan arsitektur REST tertentu. Anda dapat membangun RESTful API dengan protokol SOAP, tetapi kedua standar ini biasanya dipandang sebagai spesifikasi yang bersaing.

Secara tradisional, API mengacu pada antarmuka yang terhubung ke aplikasi yang dibuat dengan bahasa pemrograman tingkat rendah, seperti Javascript. Akan tetapi, API modern mematuhi prinsip-prinsip REST dan format JSON. Mereka biasanya dibuat untuk HTTP, menghasilkan antarmuka yang ramah pengembang yang mudah diakses dan dipahami secara luas oleh aplikasi yang ditulis dalam Java, Ruby, Python, dan banyak bahasa lainnya.

API vs. layanan web

Layanan web adalah komponen perangkat lunak yang dapat diakses dan memfasilitasi transfer data melalui alamat web. Karena layanan web memaparkan data dan fungsionalitas aplikasi ke aplikasi lain, pada dasarnya, setiap layanan web adalah API. Namun, tidak semua API adalah layanan web.

API adalah komponen perangkat lunak apa pun yang berfungsi sebagai perantara antara dua aplikasi yang terputus. Sementara layanan web juga menghubungkan aplikasi, API ini juga memerlukan jaringan untuk melakukannya. Di mana beberapa API bersifat open source, layanan web biasanya bersifat pribadi dan hanya mitra yang disetujui yang dapat mengaksesnya.

API, layanan mikro, dan pengembangan cloud native

Layanan mikro adalah gaya arsitektur yang membagi aplikasi menjadi komponen-komponen yang lebih kecil dan independen (juga disebut layanan mikro), yang terhubung menggunakan REST API. Membangun aplikasi sebagai kumpulan layanan terpisah memungkinkan pengembang untuk bekerja pada satu komponen aplikasi yang terpisah dari yang lain, dan membuat aplikasi lebih mudah untuk diuji, dipelihara, dan diskalakan.

Arsitektur layanan mikro telah menjadi semakin lazim dengan munculnya komputasiawan, dan, bersama dengan kontainer dan Kubernetes, menjadi dasar bagi pengembangan aplikasi cloud native.

Solusi terkait
Otomasi IBM Cloud

Pilih otomatisasi cerdas untuk menangani bisnis dan operasi TI dalam skala besar untuk seluruh organisasi Anda.

Jelajahi Otomatisasi Cloud
IBM API Connect®

Kelola siklus hidup API Anda di berbagai cloud, tingkatkan sosialisasi, dan optimalkan upaya monetisasi di seluruh ekosistem bisnis Anda.

Jelajahi IBM API Connect
IBM Cloud Pak® for Integration

Gunakan otomatisasi AI loop tertutup untuk mendukung berbagai gaya integrasi.

Jelajahi Cloud Pak for Integration
Solusi integrasi

Hubungkan, otomatisasi, dan buka potensi bisnis dengan solusi Integrasi

Jelajahi solusi Integrasi
Sumber daya Apa yang dimaksud dengan kontainer?

Kontainer adalah program mampu eksekusi yang mengemas kode aplikasi, bersama dengan pustaka dan dependensinya, dan dapat dijalankan di TI tradisional atau di cloud apa pun.

Apa itu Kubernetes?

Kubernetes adalah platform orkestrasi kontainer sumber terbuka yang mengotomatiskan penerapan, pengelolaan, dan penskalaan aplikasi dalam kontainer.

The Forrester Wave™: Solusi Manajemen API, Q3 2022

Pelajari bagaimana Manajemen API sangat penting untuk mendorong bisnis digital dan bagaimana IBM dibandingkan dengan vendor-vendor lain dalam lanskap Manajemen API berdasarkan penawaran, strategi, dan skor keberadaan pasar saat ini.

Ambil langkah selanjutnya

IBM API Connect® adalah solusi manajemen API siklus hidup penuh yang menggunakan pengalaman intuitif untuk membantu membuat, mengelola, mengamankan, menyosialisasikan, dan memonetisasi API secara konsisten, membantu mendukung transformasi digital di tempat dan di seluruh cloud. Ini berarti Anda dan pelanggan Anda dapat mendukung aplikasi digital dan memacu inovasi secara real time. IBM API Connect juga tersedia dengan kemampuan lain sebagai bagian dari IBM Cloud Pak for Integration, yang dapat membantu Anda mengotomatiskan modernisasi aplikasi dan manajemen API sebagai bagian dari perjalanan Anda menuju cloud.

Jelajahi IBM API Connect