Apa Itu API? Panduan Sederhana untuk Pembuat Aplikasi
API (application programming interface) adalah cara yang sudah didefinisikan agar satu perangkat lunak dapat meminta data dari perangkat lunak lain, atau meminta perangkat lunak itu melakukan sesuatu. Aplikasi Anda mengirim permintaan dalam format yang disepakati — “berikan booking besok”, “tagih kartu ini Rp300.000”, “ringkas teks ini” — dan sistem lain mengirim balasan terstruktur. API adalah cara bagian-bagian sebuah aplikasi saling berkomunikasi, dan cara aplikasi Anda menggunakan layanan luar seperti pembayaran, email, peta, dan AI.
Mengapa API penting saat membangun dengan AI
Hampir setiap aplikasi yang berguna tersusun dari bagian-bagian yang berkomunikasi lewat API:
- Di dalam aplikasi Anda, layar di browser memanggil API backend Anda sendiri untuk memuat dan menyimpan data.
- Di luar aplikasi Anda, backend Anda memanggil API perusahaan lain: Stripe untuk menerima pembayaran, penyedia email untuk mengirim kwitansi, penyedia model AI untuk menghasilkan teks.
Ketika Anda meminta AI builder untuk “menerima pembayaran” atau “tambahkan ringkasan AI”, yang sebenarnya ia lakukan adalah menulis kode yang memanggil API. Memahami dasarnya membantu Anda mengerti apa yang dibutuhkan AI dari Anda (biasanya akun pada layanan tersebut dan API key), di mana hal bisa salah, dan berapa biayanya.
Analogi sehari-hari
Bayangkan sebuah restoran. Anda tidak masuk ke dapur dan memasak sendiri. Anda membaca menu, menyampaikan pesanan kepada pelayan dengan cara yang dipahami dapur, dan pelayan membawakan makanan Anda — atau memberi tahu bahwa menunya habis.
- Menu adalah dokumentasi API: daftar apa yang bisa Anda minta dan caranya.
- Pelayan adalah API: satu cara yang disepakati untuk permintaan masuk dan balasan keluar.
- Dapur adalah sistem lain: Anda tidak perlu tahu bagaimana cara kerjanya di dalam.
- Pesanan Anda adalah permintaan; piringnya adalah balasan.
Dapur bisa mengganti oven dan stafnya tanpa memengaruhi Anda, selama menunya tetap sama. Itulah nilai sebenarnya dari API: membiarkan dua sistem bekerja sama tanpa salah satunya perlu tahu bagaimana yang lain dibangun.
Cara kerja permintaan API web
Kebanyakan API yang akan Anda temui adalah API web yang bekerja melalui HTTP, protokol yang sama dengan yang digunakan browser Anda. Setiap permintaan memiliki beberapa bagian:
| Bagian | Apa itu | Contoh |
|---|---|---|
| Metode | Jenis tindakan | GET (baca), POST (buat) |
| URL / endpoint | Alamat hal yang Anda tuju | https://api.example.com/bookings |
| Header | Informasi tambahan, termasuk siapa Anda | Authorization: Bearer <kunci Anda> |
| Body | Data yang Anda kirim, untuk pembuatan dan pembaruan | {"name": "Lena", "time": "14:00"} |
Dan setiap balasan memiliki:
| Bagian | Apa itu | Contoh |
|---|---|---|
| Kode status | Angka yang menunjukkan hasilnya | 200 OK, 201 Created, 404 Not Found |
| Body | Data yang dikembalikan, biasanya dalam JSON | {"id": 5001, "status": "confirmed"} |
JSON (JavaScript Object Notation) adalah format teks sederhana berisi nama dan nilai di dalam kurung kurawal. Ini adalah cara standar API web bertukar data.
REST: gaya yang paling umum
REST adalah konvensi yang luas digunakan untuk merancang API web. Setiap jenis hal mendapatkan URL sendiri, dan metode standar menjelaskan apa yang Anda lakukan terhadapnya. Begini kira-kira REST API untuk aplikasi booking:
| Metode | Endpoint | Fungsinya |
|---|---|---|
GET | /api/bookings | Menampilkan daftar booking |
GET | /api/bookings/5001 | Mengambil satu booking |
POST | /api/bookings | Membuat booking baru |
PATCH | /api/bookings/5001 | Mengubah sebagian booking, misalnya jamnya |
DELETE | /api/bookings/5001 | Membatalkan (menghapus) booking |
PUT juga ada dan secara konvensi menggantikan seluruh catatan, sedangkan PATCH hanya mengubah kolom yang Anda kirim.
Kode status yang paling sering Anda temui:
| Kode | Artinya |
|---|---|
200 / 201 | Berhasil / berhasil dibuat |
400 | Bad request — ada yang salah atau hilang dalam data yang Anda kirim |
401 | Tidak terautentikasi — tidak ada login atau kunci yang valid |
403 | Forbidden — Anda dikenali, tetapi tidak diizinkan melakukan ini |
404 | Not found — tidak ditemukan |
429 | Terlalu banyak permintaan — Anda melewati rate limit |
500 | Server mengalami error |
Ketika aplikasi Anda rusak, kode status sering kali menjadi petunjuk tercepat. 401 dari penyedia pembayaran biasanya berarti API key hilang atau salah; 429 berarti Anda terlalu sering memanggil.
REST bukan satu-satunya gaya — GraphQL dan API bergaya RPC juga ada — tetapi REST adalah yang paling banyak digunakan oleh layanan dan backend yang dibangun AI.
Contoh nyata: konfirmasi booking
Ketika seorang pelanggan memesan potong rambut di aplikasi salon, beberapa panggilan API bisa terjadi dalam satu atau dua detik:
- Halaman booking di browser mengirim
POST /api/bookingsdengan layanan, waktu, dan detail pelanggan ke backend Anda. - Backend Anda memastikan slot masih kosong, menyimpan booking di database, dan mengembalikan
201 Created. - Backend Anda memanggil API penyedia email dengan kunci rahasianya: “kirim konfirmasi ini ke lena@example.com.”
- Jika ada uang muka, backend Anda meminta API penyedia pembayaran untuk membuat sesi checkout dan mengirim pelanggan ke sana.
- Nanti, penyedia pembayaran memanggil aplikasi Anda untuk memberi tahu bahwa pembayaran berhasil. Panggilan balik itulah webhook.
Dua langkah pertama adalah API Anda sendiri antara frontend dan backend. Langkah 3–5 adalah API pihak ketiga.
Istilah umum yang dijelaskan
| Istilah | Artinya |
|---|---|
| Endpoint | Satu URL spesifik yang direspons oleh API. |
| API key | String rahasia yang mengidentifikasi aplikasi Anda ke sebuah layanan. Perlakukan seperti password. |
| Autentikasi | Membuktikan siapa yang memanggil — dengan kunci, token, atau login. Lihat apa itu autentikasi. |
| Rate limit | Batas berapa banyak permintaan yang bisa Anda kirim dalam satu periode. |
| SDK | Pustaka kode siap pakai yang mempermudah pemanggilan API tertentu. |
| Dokumentasi | “Menu”-nya: endpoint apa saja yang ada, apa yang diterima dan dikembalikannya. |
| Sandbox / mode uji | Versi layanan untuk pengujian tanpa uang sungguhan atau data sungguhan. |
| Webhook | Panggilan dari layanan lain ke aplikasi Anda ketika sesuatu terjadi. |
Kesalahan umum dan kesalahpahaman
- Menaruh kunci rahasia di frontend. Apa pun di kode yang berjalan di browser bisa dilihat siapa saja yang berkunjung. Kunci rahasia harus tetap di server, dalam environment variables atau secrets.
- Menempelkan kunci di chat. Riwayat chat mungkin tersimpan. Gunakan fitur secrets dari builder Anda, dan ganti (rotate) kunci apa pun yang sudah terekspos.
- Menganggap API gratis. Banyak API mengenakan biaya per permintaan atau per unit pemakaian — API model AI menagih berdasarkan token. Periksa harga dan atur batas pengeluaran. Lihat cara menggunakan API LLM.
- Tidak menangani kegagalan. Layanan luar bisa mati, timeout, dan mencapai batas. Mintalah pesan error yang masuk akal dan percobaan ulang.
- Memercayai browser. API Anda sendiri harus memeriksa izinnya sendiri. Menyembunyikan tombol tidak menghentikan seseorang memanggil endpoint secara langsung.
- Menggunakan kunci live saat menguji. Gunakan kunci mode uji sampai Anda siap meluncur.
Yang harus diminta dari AI builder Anda
- “API luar mana yang digunakan aplikasi ini, dan berapa biaya masing-masing?”
- “Panggil API pembayaran hanya dari server. Baca kuncinya dari environment variable.”
- “Daftarkan setiap endpoint di API kita, apa fungsinya, dan siapa yang boleh memanggilnya.”
- “Periksa di server bahwa pengguna yang sedang masuk memiliki booking tersebut sebelum memperbarui atau menghapusnya.”
- “Jika API email gagal, tetap simpan booking dan catat errornya.”
- “Untuk sekarang, gunakan kunci mode uji penyedia.”
API di Mythex
Mythex dapat membangun API Anda sendiri — sebagai bagian dari aplikasi web, atau sebagai backend terpisah dalam Node, Python (FastAPI), C#, atau Java yang berjalan bersama frontend Anda — dan menulis kode yang memanggil layanan luar. Anda menambahkan kunci mereka sebagai secrets proyek alih-alih di chat, dan kunci itu tersedia untuk aplikasi Anda di pratinjau maupun setelah dipublikasikan. Dokumentasi memiliki resep untuk mengintegrasikan API apa pun dan membangun backend REST API.
Pertanyaan
Apa itu API dengan bahasa sederhana?
API (application programming interface) adalah cara yang sudah didefinisikan agar satu perangkat lunak dapat meminta data atau meminta sesuatu dilakukan oleh perangkat lunak lain. Aplikasi Anda mengirim permintaan dalam format yang disepakati, dan sistem lain mengirim balasan — seperti data cuaca, hasil pembayaran, atau balasan yang dihasilkan AI.
Apa itu REST API?
REST API adalah gaya API web yang umum, di mana setiap jenis hal (booking, pelanggan) memiliki URL, dan Anda menggunakan metode HTTP standar — GET untuk membaca, POST untuk membuat, PUT atau PATCH untuk memperbarui, DELETE untuk menghapus. Data biasanya dikembalikan dalam format JSON.
Apa itu API key dan di mana saya harus menyimpannya?
API key adalah string rahasia yang mengidentifikasi aplikasi Anda ke sebuah layanan dan sering kali memungkinkannya membelanjakan uang atau mengakses data. Simpan di environment variables atau secrets proyek di server, jangan pernah di kode yang berjalan di browser dan jangan di repositori publik.
Apa perbedaan antara API dan webhook?
Dengan API, aplikasi Anda meminta sesuatu ke layanan lain saat ia membutuhkannya. Dengan webhook, layanan lain yang memanggil aplikasi Anda ketika sesuatu terjadi — misalnya penyedia pembayaran yang memberi tahu bahwa pembayaran berhasil.