Tutorial Implementasi Design Pattern MVP Kotlin
![]() | ||
tutorial implementasi design pattern with mvp - codingtive |
Codingtive.com - Pada tutorial kali ini kita akan belajar sebuah design arsitektur pada android, yaitu MVP. Menurut wikipedia design pattern (pola desain) adalah sebuah istilah di dalam rekayasa perangkat lunak yang mengacu pada solusi umum yang bisa dipergunakan kembali atau berulang-ulang untuk menyelesaikan masalah-masalah yang umum terjadi dalam konteks tertentu atau khusus yang ditemui pada desain perangkat lunak.
Didalam android terdapat beberapa design pattern yang sering digunakan oleh para programmer, antara lain yaitu ada MVP (Model-View-Presenter), MVVM (Model-View-ViewModel) dan MVI (Model-View-Intent), VIPER (View, Interactor, Presenter, Entity, Router). Namun pada kesempatan kali ini kita hanya akan belajar tentang MVP (Model View Presenter).
Bagian-bagian dalam MVP :
- Model : data layer yang menunjuk pada objek dan data yang ada pada aplikasi. Model ini bertanggung jawab atas logikas bisnis.
- View : Pada bagian view menampilkan ui / user interface ciri khasnya yaitu Activity atau Fragment
- Presenter : Menghubungkan keduanya yaitu antara model dengan view, selain itu semua logika bisnis diletakkan di presenter ini
Skema MVP
Dibawah ini merupakan skema yang ada didalam MVP :![]() |
Skema Design Pattern Codingtive |
Kelebihan MVP
Apasih manfaat jika kita menggunakan design pattern ? mungkin itulah beberapa pertanyaan yg sering ditanyakan. Benefit atau manfaat menggunakan design pattern jika kita menggunakan mvp antara lain :- Beban kerja dari View lebih ringan, karena pada view hanya memanggil fungsi yang ada di presenter
- Membuat Project Menjadi Testable. saat kita membuat aplikasi tentunya kita perlu testing terlebih dahulu sebelum aplikasi direlase, nah dengan menggunakan mvp ini kita lebih mudah untuk menjalankan unit testing
- Membagi kode menjadi bagian-bagian kecil dan sesederhana mungkin.
- Mempermudah perbaikan code maintenance atau bug
Membuat Project dan Latihan
Hal yang pertama kali yaitu buat project Android Studio, beri nama MVP Basic jangan lupa memilih bahasanya yaitu kotlinStruktur Project
Dibawah ini merupakan struktur kode yang akan dibuat :Silahkan buka MainActivity, kemudian tuliskan kode berikut :
class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) //inisialisasi angka yg akan dihitung val numbOne = 10 val numbTwo = 12 } }
Kemudian buat package baru beri nama presenter , didalam package tersebut buat kelas baru beri nama MainPresenter , sesuaikan kode nya seperti dibawah ini :
//buat constructor MainView class MainPresenter(val data: MainView) { //buat fungsi untuk menghitung bilangan di mainActivity fun hitung(numbOne : Int, numbTwo : Int){ //buat variabel baru namanya hasil , masukin rumus nya val hasil = numbOne.times(numbTwo) //buat variable untuk memanggil model val model = Data() //panggil model model.dataHasil = hasil data.hasilPresenter(model) } }
Kode diatas akan error karena MainView belum dibuat, oleh karena itu buat interface baru beri nama MainView, tambahka kode berikut :
interface MainView { //interface untuk menghubungkan antara view dengan presenter fun hasilPresenter(data: Data) }Langkah selanjutnya yaitu buat package baru beri nama Model didalam package tersebut buat kelas baru namanya Data , tambahkan kode berikut :
class Data { var dataHasil : Int ? = null }
Langkah terakhir yaitu kita perlu memanggil presenter di MainActivity . Silahkan buka MainActivity :
class MainActivity : AppCompatActivity(), MainView { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) //inisialisasi angka yg akan dihitung val numbOne = 10 val numbTwo = 12 //panggil presenter val presenter = MainPresenter(this) //panggil fungsi yang ada didalam presenter presenter.hitung(numbOne, numbTwo) } override fun hasilPresenter(data: Data) { //menampilkan data Log.d("Hasil", data.dataHasil.toString()) } }
Selesai, silahkan coba jalannkan aplikasinya akan tampil pada logcat :
![]() | ||||
hasil implementasi mvp kotlin codingtive |
Belum ada Komentar untuk "Tutorial Implementasi Design Pattern MVP Kotlin"
Posting Komentar