Dalam pengembangan aplikasi Flutter, sering kali Anda perlu mengambil data dari API untuk ditampilkan dalam aplikasi Anda. Artikel ini akan menjelaskan langkah-langkah untuk mengambil dan menampilkan data dari API menggunakan Flutter.
Mengambil data dari API dengan Flutter adalah proses menghubungkan aplikasi Flutter Anda dengan server melalui jaringan untuk mengambil informasi yang diperlukan. Hal ini umum dilakukan untuk menampilkan konten dinamis seperti teks, gambar, atau data lainnya dalam aplikasi Flutter Anda. Prosesnya melibatkan beberapa langkah dasar seperti:
- HTTP Requests: Menggunakan paket seperti
http
ataudio
untuk membuat permintaan HTTP ke endpoint API yang tepat. - Parsing Response: Mengelola respon dari server, yang seringkali berupa JSON, dan menguraikannya ke dalam objek atau struktur data yang dapat digunakan dalam aplikasi Flutter.
- State Management: Memanage data yang diambil dari API menggunakan pendekatan seperti BLoC (Business Logic Component), Provider, atau ChangeNotifier untuk mempertahankan dan mengupdate state aplikasi secara efisien.
- Error Handling: Menangani kondisi error yang mungkin terjadi saat mengambil atau memproses data dari API, seperti koneksi jaringan yang gagal atau respon API yang tidak sesuai.
- Optimasi dan Performa: Memperhatikan performa aplikasi dengan melakukan caching data, menggunakan teknik optimasi jaringan seperti HTTP caching, atau mempertimbangkan penggunaan WebSocket untuk data real-time.
Langkah-langkah Implementasi
1. Import Libraries dan Setup Stateful Widget
Pada bagian ini, kita mengimpor library yang diperlukan dan menyiapkan stateful widget GetData
untuk mengelola state dan UI aplikasi.

import 'dart:convert';
: Digunakan untuk mengurai JSON yang diperoleh dari respons API.import 'package:http/http.dart' as http;
: Digunakan untuk melakukan permintaan HTTP ke API menggunakan metode seperti http.get
.
2. Membuat State dan Method untuk Mengambil Data
Kelas _GetDataState
mengelola state untuk menampung data pengguna dari API dan status loading.

tate Management: listUser
adalah list yang akan menyimpan data pengguna yang diperoleh dari API. isLoading
digunakan untuk menunjukkan apakah aplikasi sedang memuat data atau tidak.
Method getUser()
: Method ini adalah async function yang melakukan permintaan HTTP GET ke API ReqRes untuk mendapatkan data pengguna dari halaman 2. Di dalam try
, setState
digunakan untuk memperbarui isLoading
menjadi true
saat aplikasi sedang memuat. http.get
digunakan untuk melakukan permintaan GET ke URL yang disediakan. Response yang diterima diurai dari JSON ke dalam variabel data
, kemudian listUser
diperbarui dengan data yang diperoleh. Jika terjadi kesalahan (catch (e)
), isLoading
diubah menjadi false
, dan SnackBar
ditampilkan dengan pesan kesalahan.
3. Inisialisasi dan Penggunaan Widget

initState()
: Method ini dipanggil sekali saat widget pertama kali dibuat. Di dalamnya, getUser()
dipanggil untuk memulai proses pengambilan data dari API saat aplikasi pertama kali dimuat.
build(BuildContext context)
: Method ini membangun UI dari widget menggunakan Scaffold
sebagai kerangka utama. Saat isLoading
bernilai true
, ditampilkan CircularProgressIndicator
untuk menunjukkan bahwa aplikasi sedang memuat data. Setelah data selesai dimuat (isLoading
bernilai false
), ListView.builder
digunakan untuk menampilkan daftar pengguna dari listUser
dalam bentuk ListTile
. Setiap ListTile
menampilkan avatar pengguna, email, nama depan, dan nama belakang, serta dibatasi dengan Divider
.
4. Menjalankan Aplikasi
Untuk menjalankan aplikasi ini:
- Pastikan Anda telah menambahkan dependencies
http
danflutter/material
dipubspec.yaml
. - Gunakan emulator atau perangkat fisik yang telah terhubung untuk menjalankan aplikasi.
Dengan mengikuti penjelasan ini, Anda dapat memahami secara mendalam bagaimana Flutter mengintegrasikan data dari API ke dalam aplikasi, menggunakan state management dan widget Flutter yang tepat untuk membangun antarmuka pengguna yang responsif dan dinamis.