Tutorial: Membuat Aplikasi Menghitung Bangun Datar Sederhana dengan Metode MVP Pattern pada Kotlin

Heyyoo gengs! Kembali bersama saya. Kali ini saya ingin membuat tutorial tentang MVP Pattern.

MVP atau model view presenter adalah sebuah konsep memisahkan antara logic business dengan view. Berikut langkah-langkah untuk membuat Aplikasi Menghitung Bangun Datar Sederhana dengan Metode MVP pada Kotlin:

  1. Buat terlebih dahulu projectnya dengan nama ‘MVP bangun datar’.
  2. Buat package dengan nama model, presenter, view.
  • Model : sebagai source data yang berkomunikasi dengan repository atau API
  • Presenter : sebagai penghubung antara Model dengan View, didalamnya berisi proses bisnis, tujuannya adalah memisahkan antara bisnis logic dengan view 
  • View : tampilan, yaitu menampilkan data mentah dari Model yang kemudian diolah di Presenter baru di tampilkan pada View

3. Buat isi dari package tersebut dengan class dan interface serta pindahkan class MainActivity ke package view.

4. Selanjutnya kita akan membuat kodingan event klik dan ambil inputan user di MainActivity.

//todo 1 event klik
        val btnHitung = findViewById<Button>(R.id.btnHitung)
        btnHitung.setOnClickListener {

            //todo 2 ambil inputan user
            val panjang = edInput1.text.toString()
            val lebar = edInput2.text.toString()

5. Lalu membuat fuction hitung pada class PersegiPanjangPresenter.

//todo 3 function parameter hitung
    fun hitung(panjang: String, lebar: String) {

        //todo 4 convert dari type data String ke Integer
        val cPanjang = panjang.toInt()
        val cLebar = lebar.toInt()
        val total = cPanjang.times(cLebar)

        //todo 5 hasil presenter masukan ke model
        val hasil = Hasil()
        hasil.total = total

6. Selanjutnya buat interface untuk notify activitynya di file interface PersegiPanjangView.

//todo 6 membuat interface untuk notify actifity(view) kalau hasil logic nya sudah selesai
interface PersegiPanjangView {

    fun hasilHitung(hasil : Hasil)
}

7. Lalu membuat constructor dibagian presenter, dan masukan model ke interfacenya di class PersegiPanjangPresenter.

//todo 7 membuat construct di bagian presenter
class PersegiPanjangPresenter(var ppView: PersegiPanjangView)
//todo 8 masukan model ke interface
        ppView.hasilHitung(hasil)

8. Selanjutnya deklarasi presenter dan melakukan init presenter di MainActivity.

//todo 9 deklarasi presenter
    private var presenter: PersegiPanjangPresenter? = null

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        //todo 10 init presenter
        presenter = PersegiPanjangPresenter(this);

9. Lalu lakukan eksekusi presenter dan bind data ke view di MainActivity.

//todo 11 eksekusi presenter
            presenter?.hitung(panjang, lebar)
//muncul saat let interface (td 10)
    override fun hasilHitung(hasil: Hasil) {
        //todo 12 bind data ke view
        Toast.makeText(this, hasil.total.toString(), Toast.LENGTH_LONG).show()
    }

10. Lalu jalankan.

11. Hasilnya.

Okey, sekian dulu pembahasan saya tentang Tutorial Membuat Aplikasi Menghitung Bangun Datar Sederhana dengan Metode MVP Pattern pada Kotlin.

Sampai jumpa pada kesempatan berikutnya. Bye…

Leave a Comment