Bagi web developer atau mobile developer, API adalah salah satu aspek yang dapat menyederhanakan program yang sedang dibuat. API itu sendiri merupakan singkatan dari application programming interface.
Katakanlah kamu membuat aplikasi yang membutuhkan kamera iPhone untuk mengambil foto atau video. Sebagai developer, kamu tidak perlu membuat interface kamera lagi, hanya perlu menggunakan API kamera dan menanamkannya di aplikasimu saja. Dalam kata lain, interface yang satu ini memudahkan kerja para developer.
Pengertian dari API
Cara paling mudah memahami API adalah dengan menganalogikannya sebagai kegiatan yang mungkin terjadi di kehidupan sehari-hari. Bayangkan kamu sedang mengunjungi sebuah restoran, lalu ingin memesan makan dan minum.
Sebagai developer, kamu hanya perlu memilih peralatan API yang dibutuhkan, mengetahui penjelasannya, tanpa harus mengetahui cara kerjanya. Contoh mudahnya adalah developer tidak perlu tahu bagaimana sistem operasi membangun kotak dialog “Save As” di dalam aplikasi maupun website. Mereka hanya perlu tahu bahwa kotak dialog tersebut memungkinkan pengguna untuk menyimpan sebuah dokumen yang disediakan.
Cara Kerja dari API
Masih menggunakan analogi sebelumnya, peran API adalah adalah sebagai pramusaji di restoran tersebut. API menjadi semacam perantara yang menyampaikan keinginan pelanggan ke dapur restoran, lalu memberikan pesanan yang diminta ke pelanggan.
Pasti kamu pernah membuka aplikasi aggregator pencarian tiket, kan? Katakanlah kamu sedang mencari penerbangan ke kota Surabaya untuk tiga orang, pada tanggal 2 Oktober 2020. Setelah itu, kamu akan mendapatkan hasil pencarian berisikan maskapai penerbangan mana saja yang tersedia sesuai dengan detail pencarianmu. Bagaimana hal tersebut bisa terjadi? Di sinilah API mulai berperan.
Ketika pengguna melakukan pencarian, aggregator layanan tiket yang kamu gunakan berinteraksi dengan API maskapai penerbangan. Seperti pelayan restoran tadi, peran API di sini adalah untuk memberikan data yang kamu minta, mencari ketersediaan di maskapai yang ada, lalu mengembalikan data tersebut kepadamu.
Jadi, API sangat dibutuhkan oleh developer agar mereka tidak perlu membuat kode atau membangun program dari awal. Hal ini juga sangat mempermudah pengguna aplikasi maupun website, karena mereka bisa langsung mendapatkan data yang dibutuhkan tanpa harus keluar dari halaman yang sedang dikunjungi.
Penggunaan API di dalam operating system
Katakanlah kamu ingin mengembangkan sebuah aplikasi untuk gadget berbasis iOS. Sebagai iOS developer, kamu membutuhkan API untuk mempermudah pekerjaanmu. Untungnya, sistem pengoperasian iOS (dan sistem pengoperasian lainnya seperti Android) memiliki segudang API untuk setiap fiturnya. Seperti contoh sebelumnya, aplikasi yang sedang kamu kembangkan membutuhkan akses kamera iPhone.
Fungsi API di sini adalah untuk memungkinkan developer menggunakan kamera tersebut di aplikasi, tanpa perlu repot membuat perangkat lunak untuk kamera dan lain-lain. Nah, ketika API kamera diperbarui oleh Apple, aplikasi yang menggunakan API tersebut akan secara otomatis mendapatkan perkembangan tersebut. Ini hanyalah contoh menggunakan Apple saja, tetapi penggunaan API seperti ini juga bisa digunakan di Windows, Android, dan sistem pengoperasian lainnya.
Jenis-Jenis API
API sendiri bisa dibagi ke beberapa jenis berdasarkan tingkat aksesibilitas dan lingkup kegunaannya. Sehingga, sekarang ini ada 4 jenis API yang telah diterima secara luas, melansir dari Hubspot.
1. Open API
Sering juga disebut sebagai public atau external API, open API dapat digunakan oleh seluruh developer. Sehingga, biasanya API ini memiliki tingkat authentication dan authorization yang rendah serta membatasi aset yang akan dibagikan.
Keuntungan menggunakan open API yaitu kemampuannya untuk membagikan data secara terbuka. Hal ini mendorong developer eksternal untuk mengintegrasikan software-nya dengan aplikasi yang memiliki API. Sehingga, membuat software pihak ketiga dan API menjadi lebih valuable untuk dipakai.
2. Partner API
Partner API dibagikan secara eksternal namun hanya terbatas untuk orang-orang yang memiliki hubungan bisnis dengan perusahaan yang memberikan API. Dengan akses yang terbatas untuk klien resmidan berlisensi khusus, hal ini membuat keamanannya lebih tinggi dibanding open API. Beberapa bisnis menggunakan partner API karena hal-hal berikut:
- Memiliki kontrol lebih besar terhadap siapa saja yang dapat mengakses resources-nya
- Mengatur bagaimana resources yang mereka miliki tersebut digunakan
3. Internal API
Internal API adalah jenis API yang tidak dimaksudkan untuk digunakan oleh pihak ketiga. API ini hanya bisa digunakan oleh internal perusahaan untuk mempercepat transfer data antara tim dan sistem.
Karena itu, hanya developer internal perusahaan saja yang bisa menggunakannya. Penggunaan API untuk transfer data internal sendiri dianggap lebih efisien, aman, dan mudah dilacak. Tidak hanya itu, jika perusahaan mengintegrasikan sistem internal baru, sistem tersebut bisa ‘berkomunikasi’ dengan sistem lain yang sudah ada menggunakan API ini.
4. Composite API
Composite API menggabungkan dua atau lebih API untuk membuat sebuah sequence dari operasi yang saling terkait satu sama lain. Kelebihan dari composite API adalah berkurangnya beban server dan sistem yang bisa berjalan lebih cepat. Selain itu, composite API juga mengurangi kompleksitas yang terdapat dalam sistem.
Perbedaan API dengan Web Service
Setelah melihat penjelasan di atas, mungkin masih ada beberapa orang yang tidak mengetahui perbedaan API dan web service. Melansir Geeks for Geeks, web service adalah layanan apa pun yang mungkin diakses melalui internet dan korespondensinya dilakukan melalui pengkodean XML.
Pengguna mengirimkan permintaan (deskripsikan menjadi XML), lalu website mengirimkan respons juga melalui XML. API sendiri adalah interface yang digunakan oleh satu layanan dengan yang lainnya untuk saling ‘berkomunikasi’.
Sebenarnya, perbedaan antara API dan web service cukup mendasar, yaitu web service adalah bagian dari API. Jadi, web service merupakan salah satu bentuk API yang harus diakses melalui layanan internet. Semua web service adalah bagian dari API, tetapi API bukanlah web service
Komentar
Posting Komentar