Skip to main content

7. ViewModel - MVVM.html

ViewModel - MVVM

  1. ViewModel

ViewModel adalah komponen arsitektur pada Android yang bertanggung jawab untuk menyediakan dan mengelola data yang diperlukan oleh view (Activity atau Fragment) dalam suatu lifecycle yang bertahan lebih lama. ViewModel bertujuan untuk memisahkan model dari view, sehingga memungkinkan pengelolaan data yang lebih efisien dan pemisahan tanggung jawab yang jelas antara view dan model.

ViewModel juga dapat berkomunikasi dengan komponen lain dalam arsitektur seperti Repository atau Use Case untuk mendapatkan atau menyimpan data. Ini memungkinkan pemisahan yang jelas antara lapisan view dan lapisan data, dan memfasilitasi pengujian dan pemeliharaan yang lebih baik.

Penggunaan ViewModel pada arsitektur MVVM (Model-View-ViewModel) sangat umum, di mana ViewModel bertindak sebagai penghubung antara Model (data) dan View (tampilan). ViewModel menyediakan data yang diperlukan oleh view, menangani model, dan memfasilitasi interaksi antara view dan model.

Langkah - langkah dalam mengimplementasikan ViewModel di dalam aplikasi android, diantaranya:

1.    Menambahkan dependensi ViewModel ke dalam file build.gradle

2.    Buatlah kelas ViewModel dengan meng-extend kelas ViewModel dari library Lifecycle.

3.    Di dalam Activity, inisialisasikan ViewModel dan gunakan data yang disimpan

  1. Model-View-ViewModel (MVVM)

MVVM adalah sebuah arsitektur pengembangan perangkat lunak yang memisahkan model dari view menggunakan ViewModel sebagai perantara antara keduanya. MVVM bertujuan untuk meningkatkan pemisahan antara model dan view, serta mempromosikan penggunaan ViewModel sebagai pusat model aplikasi. MVVM sering menggunakan komponen tambahan seperti Data Binding, LiveData, dan Android Jetpack untuk menghubungkan data antara Model, ViewModel, dan View secara deklaratif. Dalam arsitektur MVVM, aplikasi terbagi menjadi tiga komponen utama:

1.    Model

Mewakili data atau sumber daya yang digunakan dalam aplikasi. Model mengelola logika bisnis dan mengakses sumber data, seperti panggilan jaringan, database, atau penyimpanan lokal.

2.    View

Menampilkan data kepada pengguna dan menerima masukan dari pengguna. View bertanggung jawab untuk menampilkan UI dan menangani peristiwa pengguna, seperti klik tombol atau sentuhan layar.

 

 

3.    ViewModel

Bertindak sebagai penghubung antara Model dan View. ViewModel mengelola status dan logika tampilan, serta menyediakan data yang diperlukan oleh View. ViewModel juga berinteraksi dengan Model untuk mengambil dan menyimpan data.

Dalam MVVM, ViewModel tidak bergantung pada View secara langsung, tetapi berkomunikasi dengan View melalui penggunaan observables atau live data. Ini memungkinkan pemisahan antara logika tampilan dan tampilan itu sendiri, sehingga memudahkan pengujian dan memungkinkan pengembangan yang lebih terstruktur. Keuntungan dalam menggunakan MVVM, diantaranya:

1.    Pembagian tugas yang jelas

MVVM memisahkan tugas-tugas dalam pengembangan aplikasi, seperti pengelolaan data, logika tampilan, dan tampilan UI, sehingga memudahkan pemeliharaan dan pengembangan.

2.    Kemudahan dalam pengujian

Dengan pemisahan yang jelas antara Model dan logika tampilan (ViewModel), pengujian unit dapat dilakukan dengan lebih mudah dan efisien.

3.    Skalabilitas

Dengan MVVM, aplikasi dapat dikembangkan dengan cara yang modular, memungkinkan penambahan dan perubahan fitur dengan lebih mudah dan minimal mempengaruhi komponen lain.

Langkah - langkah dalam mengimplementasikan MVVM di dalam aplikasi android, diantaranya:

1.    Buatlah kelas Model yang mewakili data

2.    Buatlah kelas ViewModel yang bertanggung jawab untuk mengelola logika tampilan dan menyediakan data yang diperlukan oleh View.

3.    Buatlah kelas Repository sementara yang mengelola pengambilan dan penyimpanan data.

4.    Di dalam class Activity yang bertindak sebagai View, buatlah instance dari ViewModel dan observasi LiveData untuk mendapatkan pembaruan data.

Last modified: Thursday, 10 August 2023, 9:34 AM