Belajar Membuat Aplikasi Android Dengan Teknik MVP (Model View Presenter)

Hi all, nggak terasa sudah tahun 2016 aja ya. Di tahun ini semoga saya bisa lebih produktif menulis di sini dan berbagi dengan kalian semua. Di tahun yang baru ini, marilah kita mencoba belajar teknik coding Android yang baru. Bagi kalian yang sudah biasa coding Android pasti pernah menggunakan yang namanya MVC (Model View Controller) dalam membuat aplikasi Android. Nah metode baru ini bernama MVP atau Model View Presenter.

Apa itu MVP (Model View Presenter) Android

Teknik coding MVP yang baru ini sebenarnya lebih digunakan untuk memisahkan antara logika aplikasi kita dengan tampilan/view dari aplikasi. Jika biasanya logika coding dan pengaturan tampilan kita jadikan satu pada kelas Activity kita, maka dengan teknik MVP ini logika coding pada aplikasi kita ada di sebuah kelas bernama Presenter. Dimana di kelas itu kita akan mengolah data aplikasi kita, yang didapatkan dari entah itu inputan user, web service, atau database. Kemudian setelah diolah pada Presenter, maka data tersebut dikembalikan lagi ke kelas Activity kita yang berfungsi sebagai View untuk ditampilkan.

Adapun lebih jelasnya perbedaan antara MVC dan MVP bisa dilihat pada gambar di bawah :

Conton diagram MVP

Conton diagram MVP

Perbedaan dari MVC dan MVP bisa dilihat bahwa pada MVP bagian View, atau kelas Activity sama sekali tidak bisa mengakses Model data. Karena yang bisa mengakses dan mengolah model dan data hanyalah Presenter yang nantinya baru diteruskan lagi ke View untuk ditampilkan.

Komponen MVP

Komponen dari MVP, benarlah sebuah Model, View dan Presenter. Namun lebih detailnya pada sebuah Activity ada beberapa komponen class yang harus dibuat supaya kita bisa menerapkan paradigma MVP pada codingan kita.

Misalnya kalian mempunyai sebuah class, LoginActivity, maka komponen2 Presenter yang harus dibuat adalah sebagai berikut :

  • LoginPresenter : sebuah interface yang berisi nama fungsi-fungsi logika dari class LoginActivity. Menghubungkan View dengan Presenter.
  • LoginPresenterImp : sebuah class yang mengimplementasikan fungsi2 yang ada pada LoginPresenter
  • LoginView : Sebuah interface yang berisi fungsi2 yang akan dijalankan pada LoginActivity, menghubungkan Presenter ke View.

Bagi yang susah membayangkannya. 🙂 Mari kita pertama2 definisikan fungsi apa saja yang bisa kita lakukan pada saat login. Yang pertama pastilah fungsi login() itu sendiri dimana kita memasukkan username dan password dan kemudian melakukan autentifikasi ke server.

Setelah itu, kita definisikan respon apa yang kita dapatkan setelah kita melakukan aksi login() tersebut? Kemungkinannya ada tiga, yaitu showValidationError() akan dipanggil apabila format username/email yang kita masukkan salah. onLoginError() apabila proses login gagal, dan kemudian onLoginSuccess() apabila proses loginnya berhasil.

Nah, untuk fungsi-fungsi yang bisa dilakukan dari View atau class Activity kita, kita tempatkan semua pada class LoginPresenter dan LoginPresenterImp. Kemudian fungsi-fungsi yang merupakan respon yang terjadi saat kita melakukan proses Login, kita definisikan pada interface LoginView.

Untuk pengenalannya seperti itu terlebih dahulu, contoh aplikasi dan codingannya akan saya lanjutkan di postingan berikutnya. Stay tune ya ! 🙂

UPDATE, postingan lanjutannya ada di sini gan sis 🙂





Download aplikasi kami di Google Play Store


Tutorial Menarik Lainnya :

4 Comments

  1. hasyim February 11, 2016
  2. Hebergement web August 21, 2016

Leave a Reply

Do NOT follow this link or you will be banned from the site!