Penggunaan model data untuk API dalam pemrograman Flutter

David Riyan Kurniawan
4 min readFeb 26, 2024

--

Photo by Tony Pepe on Unsplash

Hai, kenalin namaku David Riyan Kurniawan seorang programmer mobile pemula. Mungkin beberapa dari kalian bertanya kenapa sih data model itu diperlukan untuk pengembangan aplikasi kita? apa sih manfaatnya? segitu perlunya ya?

oke guys, sebenarnya penggunaan data model itu sangat penting ya untuk cara kita mengembangkan aplikasi sebagai programmer. Karena penggunaan data model ini memiliki banyak manfaat temen-temen, mulai dari code yang mudah di maintenance, mempermudah pemrosesan data, sampai dapat meningkatkan keterbacaan kode.

Pembahasan

Oke.. Sekarang kita masuk ke pembahasan dari apa itu data model. Data model adalah sebuah konsep yang mengacu pada cara data disusun, dan diorganisasikan dalam aplikasi. Ini mencakup bagaimana data diambil, disimpan, dikelola, dan disajikan kepada pengguna. Data model dapat berupa struktur data sederhana seperti objek atau kelas, atau bisa menjadi sesuatu yang lebih kompleks seperti koleksi data yang besar atau berbagai jenis data yang berbeda.

Analogi sederhananya adalah, semisal kita memiliki sebuah lemari yang di dalamnya memiliki rak, laci, dan gantungan yang mewakili setiap jenis data yang berbeda — beda. Rak berfungsi untuk menyimpan berbagai macam baju atau atasan seperti kemeja, kaos, jaket, dll. Lalu ada laci yang berfungsi untuk menyimpan berbagai jenis data seperti celana panjang, celana pendek, rok, jeans, dll. Kemudian ada gantungan yang memiliki fungsi untuk menyimpan atau menggantung pakaian — pakaian yang telah kita pakai sebelum kita cuci esok hari.

Nah, dari pemahaman analogi sederhana ini sudah mengerti dong bagaimana konsep data model itu berjalan dan berguna bagi proyek aplikasi kita, biasanya data model ini sering digunakan untuk melakukan pengolahan data baik dari API, remote database, atau bahkan lokal database. Lalu seperti apa sih implementasinya pada project flutter? Pasti sulit banget?

Hahaha tenang guys, penggunaan data model itu cukup mudah, bahkan bisa dibilang sangat mudah. Di artikel ini saya akan memberikan contoh implementasi pada adaptasi API ke dalam project aplikasi flutter yang kita miliki, bagaimana caranya? yukk, kita simak bareng — bareng!

Mengamati data yang ingin dimasukkan ke dalam data model

Hal pertama yang harus dilakukan adalah temen — temen harus mengerti dulu struktur data json yang ada atau yang telah diberikan oleh tim backend. Karena hal ini akan sangat bergantung pada arsitektur data model yang akan dibangun, contoh data json yang saya miliki adalah seperti ini.

{
"id": "gdouwgjfb",
"name": "Joko Ganteng",
"age": 29,
"address": "Lampung",
"contact": "08571111000",
"job": "Programmer"
}

Sebenarnya tidak semua data json seperti di atas yaa, tapi ini sebagai contoh sederhananya saja.

Membuat class data model

Selanjutnya yang harus temen — temen lakukan ialah membuat class yang akan menampung data model yang ingin digunakan dalam project, contohnya Anda diminta untuk membuat aplikasi yang memiliki data user atau pengguna. Di bawah ini adalah contoh class data model dari data user atau pengguna.

class Welcome {
String? id;
String? name;
int? age;
String? address;
String? contact;
String? job;

Welcome({
this.id,
this.name,
this.age,
this.address,
this.contact,
this.job,
});

factory Welcome.fromJson(Map<String, dynamic> json) => Welcome(
id: json["id"],
name: json["name"],
age: json["age"],
address: json["address"],
contact: json["contact"],
job: json["job"],
);

Factory method dapat digunakan untuk membuat objek dari data json. Usahakan String yang berada dalam factory json sesuai dengan data yang ada di API yaa, karena hal itu sangat berpengaruh pada berhasil atau tidaknya kita dalam melakukan request data ke server.

Membuat class API Service

Langkah selanjutnya yang harus Anda gunakan setelah melakukan inisiasi atau setup data model yang sesuai dengan keperluan masing — masing fitur yang dimiliki oleh aplikasi Anda adalah membuat class API Service yang akan menyalurkan atau menghubungkan data dari server ke data model dan kemudian dilanjutkan ke presentation layer atau tampilan antar muka user. Di sini saya membuat contoh API Service menggunakan dio package

class ApiService {
final Dio dio = Dio();

Future<List<dynamic>> getTemperature() async {
Response response = await dio.get(
'https://bmkg-cuaca-api.vercel.app/cuaca?provinceId=lampung&districtId=5002234');
return response.data['data']['temperature']['data'];
}
}

Jika kita lihat class di atas, class ApiService akan menampung seluruh response berdasarkan http method yang akan digunakan sesuai dengan kebutuhan Anda, kemudian saya membuat function yang bernama getTemperature() untuk menampung response khusus temperature dari data cuaca yang diberikan oleh tim backend. Untuk lebih jelasnya lagi temen — temen bisa explore lebih banyak lagi mengenai class API Service, intinya class ini khusus menampung berbagai method yang digunakan agar data model yang kita bisa terhubung dengan data API.

Penutup

Itulah pembahasan mengenai data model dalam pengembangan aplikasi menggunakan framework Flutter, sebenarnya cukup sederhana dan simpel yaa. Meskipun demikian, penggunaan data model sangat penting untuk menunjang kompleksitas aplikasi yang kita buat agar sistem dapat dengan mudah dikembangkan dan dipelihara terutama oleh developer lain ketika Anda nantinya akan bekerja dalam tim.

--

--

David Riyan Kurniawan

hello everyone, welcome to the code foundation page, hope you enjoy learning programming with me!