Featured image of post Pengembangan Basic API Menggunakan Flask

Pengembangan Basic API Menggunakan Flask

Arkana Yudhistira

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:

  1. Request: Aplikasi cuaca mengirimkan request ke API milik penyedia data cuaca untuk meminta data tertentu, seperti suhu dan prakiraan cuaca untuk lokasi-lokasi tertentu.
  2. Processing: API memproses request tersebut dengan mengambil data yang diminta dari database sesuai dengan format yang diinginkan oleh aplikasi.
  3. 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

1
pip install Flask

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

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
# Memanggil library Flask
from flask import Flask

# Membuat aplikasi Flask
app = Flask(__name__)

# Melakukan routing pada URL http://127.0.0.1:5000/ (halaman utama)
@app.route('/')

# Menampilkan text "Hello World"
def hello_world():
    return 'Hello, World!'

# Menjalankan aplikasi
if __name__ == '__main__':
    app.run()

Kemudian, silahkan save app.py yang telah dibuat dan silahkan untuk menjalankan aplikasi yang telah dibuat pada terminal.

1
python app.py

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()

1
2
3
4
# Melakukan routing pada URL http://127.0.0.1:5000/about
@app.route('/about')
def about():
    return 'Berikut merupakan halaman about'

Kemudian, silahkan save app.py yang telah diubah dan silahkan untuk menjalankan aplikasi yang telah dibuat pada terminal.

1
python app.py

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.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
# Melakukan routing pada URL http://127.0.0.1:5000/data/<Id>
@app.route('/data/<Id>')

def get_data(Id):
    data = {'Id' : '1234',
            'Nama': 'Algoritma'}

    # Jika Id sesuai, akan menampilkan sebuah dictionary dengan Id yang sesuai
    # Jika Id tidak sesuai, akan menampilkan text "Id tidak ditemukan"
    if data['Id'] == Id:
        return data
    else:
        return "Id tidak ditemukan"

Kemudian, silahkan save app.py yang telah diubah dan silahkan untuk menjalankan aplikasi yang telah dibuat pada terminal.

1
python app.py

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:

Built with Hugo
Theme Stack designed by Jimmy