Tentang API
Pada dunia digital yang saling terhubung satu sama lain, kita pasti sering mendengar istilah “API”, tapi apakah sebenarnya API tersebut? Artikel ini bertujuan untuk memberikan penjelasan mengenai apa itu API dan mengapa API penting untuk membantu kita sebagai data scientist.
Apa itu API?
API merupakan singkatan dari “Application Programming Interface”. Untuk mengenal lebih lanjut mengenai API, kita akan breakdown ketiga istilah tersebut:
- Application: Aplikasi mengacu pada software yang digunakan, dapat berupa aplikasi mobile, web, atau sistem operasi komputer.
- Programming: Pemrograman melibatkan penulisan kode berupa instruksi untuk membuat komputer melakukan suatu tugas.
- Interface: Interface adalah sistem yang dapat diumpamakan sebagai jembatan penghubung untuk berinteraksi dengan suatu software.
Sehingga, dapat disimpulkan bahwa API adalah sistem yang menghubungkan suatu software agar dapat berkomunikasi dengan software lainnya. API memungkinkan software-software yang berbeda dapat bekerja sama dengan baik. Tanpa API, setiap software tidak dapat saling berkomunikasi atau berbagi informasi.
Bagaimana Cara Kerja API?
Untuk mempermudah memahami cara kerja API, kita akan memberikan contoh pengaplikasian API di dunia nyata, yaitu aplikasi cuaca pada smartphone anda. Aplikasi cuaca menampilkan kondisi cuaca pada saat ini, prakiraan cuaca, dan informasi-informasi lainnya.
Secara individu, aplikasi cuaca itu sendiri tidak menghasilkan data cuacanya. Namun, aplikasi tersebut bergantung pada sumber eksternal, seperti penyedia data cuaca. Aplikasi cuaca menggunakan API yang disediakan oleh suatu penyedia data cuaca untuk melakukan request dan memperoleh informasi mengenai cuaca. Sehingga, data yang telah diperoleh dapat ditampilkan pada aplikasi tersebut.
Berikut proses cara kerja dari API berdasarkan contoh aplikasi cuaca tersebut:
- Request: Aplikasi cuaca mengirimkan request ke API milik penyedia data cuaca untuk meminta data tertentu, seperti suhu dan prakiraan cuaca untuk lokasi-lokasi tertentu.
- Processing: API memproses request tersebut dengan mengambil data yang diminta dari database sesuai dengan format yang diinginkan oleh aplikasi.
- Response: API mengirimkan data yang telah diproses ke aplikasi cuaca.
Aplikasi cuaca mengambil data yang diterima dari API dan menampilkannya kepada pengguna dalam format yang mudah digunakan, seperti ramalan cuaca atau tampilan suhu. Interaksi antara aplikasi cuaca dan API penyedia data cuaca memungkinkan anda memeriksa cuaca tanpa harus mengumpulkan atau memperbarui data secara manual.
Membuat API pada Python menggunakan Flask
Setelah anda memahami konsep dari API, sekarang anda akan membuat sebuah API. Pada artikel ini, kita akan menggunakan Flask untuk membuat API. Flask adalah sebuah framework pembuatan web pada Python yang sering digunakan untuk membangun aplikasi web dan API. Anda akan mempelajari proses pembuatan API menggunakan Flask, sehingga pada akhirnya, anda akan memiliki API fungsional yang dapat menangani request dan response melalui HTTP.
Berikut merupakan langkah-langkah yang diperlukan untuk membuat API menggunakan Flask:
1. Persiapan pada Environment
Sebelum kita mulai, pastikan ada telah melakukan instalasi Flask pada Environment Python anda
|
|
2. Pembuatan Flask App
Setelah Flask telah berhasil diinstall, kita akan membuat file Python (contoh: app.py) dan kita akan mencoba untuk membuat aplikasi Flask
|
|
Kemudian, silahkan save app.py yang telah dibuat dan silahkan untuk menjalankan aplikasi yang telah dibuat pada terminal.
|
|
Jika berhasil, maka tampilan terminal anda akan muncul seperti berikut:

Jika anda membuka URL http://127.0.0.1:5000/ selama aplikasi berjalan, maka anda akan melakukan request ke API untuk menampilkan text Hello, World! pada browser anda.

3. Routing
Pada Flask, anda dapat menentukan route URL pada aplikasi dengan menggunakan fungsi @app.route(). Fungsi tersebut akan menghubungkan fungsi Python yang telah terdefinisi untuk dijalankan pada route tersebut. Sehingga, anda dapat menentukan kode yang harus dijalankan ketika URL tertentu diakses.
Silahkan untuk menambahkan code berikut pada app.py setelah mendefinisikan fungsi hello_world()
|
|
Kemudian, silahkan save app.py yang telah diubah dan silahkan untuk menjalankan aplikasi yang telah dibuat pada terminal.
|
|
Jika anda membuka URL http://127.0.0.1:5000/about, maka anda melakukan request untuk menampilkan text Berikut merupakan halaman about pada browser anda
4. Pembuatan Dynamic API Endpoint
Dynamic API Endpoint memungkinkan anda untuk memberikan input pada data variabel di URL API Anda. Pada langkah ini, kita akan membuat Dynamic API Endpoint yang dapat menerima input di URL.
Sekarang, kita akan mencoba untuk menambahkan fungsi baru, dimana kita akan menambahkan sebuah variabel input dengan menggunakan notasi < > yang akan menerima data berupa Id. Selanjutnya, anda dapat mengambil data dengan Id sesuai dengan yang diinginkan.
|
|
Kemudian, silahkan save app.py yang telah diubah dan silahkan untuk menjalankan aplikasi yang telah dibuat pada terminal.
|
|
Silahkan untuk membuka URL http://127.0.0.1:5000/data/1234, nilai 1234 pada URL adalah Id yang menjadi input pada API tersebut. Maka, data dengan Id sesuai input akan ditampilkan pada aplikasi.

5. Penambahan Fitur API
Selain yang sudah anda pelajari pada artikel ini, anda dapat menambahkan beberapa fitur lain, seperti menambahkan lebih banyak route, menambah/mengupdate data yang sudah ada, menghubungkan API untuk mengakses sebuah database, atau menghubungkan ke layanan eksternal. Flask menawarkan berbagai ekstensi untuk membantu anda mengerjakan pembuatan fitur-fitur tersebut.
Implementasi
Setelah anda memahami apa yang dimaksud dengan API dan juga memahami bagaimana cara membuat API, anda dapat mengembangkan berbagai aplikasi dengan memanfaatkan Flask untuk membuat API. Berikut adalah beberapa implementasi API yang dapat Anda kembangkan:
- Web Service: Anda telah mempelajari cara membuat API yang menyajikan data melalui HTTP. Anda dapat mengembangkan layanan web sederhana yang menyediakan informasi atau fungsionalitas untuk aplikasi atau pengguna lain.
- Database: Anda dapat mempelajari bagaimana cara menghubungkan aplikasi Flask anda ke database (SQLite, PostgreSQL, MySQL), sehingga anda dapat menyimpan dan mengambil data dari sebuah database menggunakan aplikasi.
- Autentikasi: Anda dapat mengembangkan Dynamic API Endpoint aplikasi anda untuk dapat menangani profil pengguna dengan menerapkan autentikasi dan otorisasi pengguna untuk melindungi data sensitif.
- Aplikasi Web Interaktif: Anda dapat mengintegrasikan Flask dengan JavaScript untuk membuat aplikasi web interaktif yang mengirimkan request ke API anda dan menampilkan konten yang dinamis.
Kesimpulan
Anda telah berhasil membuat API menggunakan Flask. Anda telah mengimplementasikan proses request dan response untuk menampilkan data pada suatu aplikasi web. Setelah memahami basic dari pengembangan API, anda dapat melakukan eksplorasi lebih dalam mengenai fitur-fitur yang dapat dilakukan oleh API.
Flask menyediakan banyak ekstensi untuk membantu Anda membangun aplikasi web dan API yang canggih. Silahkan untuk mengacu pada referensi-referensi berikut untuk membantu anda membangun berbagai fitur API: