Kompetensi Dasar :

3.23 Menerapkan aplikasi web dengan Model View Controler (MVC)

4.23 Membuat aplikasi web menggunakan Model View Controler (MVC)

Materi Pokok :

1. Konsep MVC

2. Macam-macam MVC untuk aplikasi web (Code Igniter, Zend, symphony dsb)

3. Prosedur penggunaan MVC untuk aplikasi berbasis web



Aplikasi Web dengan Model View Controller (MVC)

MVC atau Model View Controller adalah sebuah pola desain arsitektur dalam sistem pengembangan website yang terdiri dari tiga bagian, yaitu:

  • Model
  • Bagian yang mengelola dan berhubungan langsung dengan database.

  • View
  • Bagian yang bertugas untuk menampilkan informasi dalam bentuk Graphical User Interface (GUI).

  • Controller
  • Bagian yang bertugas untuk menghubungkan serta mengatur model dan view agar dapat saling terhubung.



Alur Model View Controller

  • Proses pertama adalah view akan meminta data untuk ditampilkan dalam bentuk grafis kepada pengguna.
  • Permintaan tersebut diterima oleh controller dan diteruskan ke model untuk diproses.
  • Model akan mencari dan mengolah data yang diminta di dalam database.
  • Setelah data ditemukan dan diolah, model akan mengirimkan data tersebut kepada controller untuk ditampilkan di view.
  • Controller akan mengambil data hasil pengolahan model dan mengaturnya di bagian view untuk ditampilkan kepada pengguna.




  • Manfaat dari MVC

  • Proses pengembangan aplikasi menjadi lebih efisien
  • Penggunaan MVC dapat mempercepat pengembangan aplikasi karena kode dapat dikerjakan oleh beberapa developer.


  • Penulisan kode menjadi lebih rapi
  • Karena dibagi menjadi tiga bagian, maka penulisan kode akan jadi lebih rapi dan memudahkan developer lain untuk mengembangkan kode tersebut.


  • Dapat melakukan testing dengan lebih mudah
  • Untuk memastikan seluruh aplikasi bekerja sesuai dengan rencana maka langkah testing atau uji coba wajib dilakukan. Dengan menggunakan model view controller ini, maka proses uji coba dapat dilakukan pada setiap bagian.


  • Perbaikan bug atau error lebih cepat untuk diselesaikan
  • Penggunaan MVC dapat memudahkan developer untuk memperbaiki error atau bug yang terjadi. Developer dapat fokus untuk menemukan dan memperbaiki masalah yang terjadi karena kode dituliskan pada bagian-bagian terpisah.


  • Mempermudah pemeliharaan
  • Konsep MVC ini dapat mempermudah pemeliharaan aplikasi, karena script atau kode yang lebih rapi dan terstruktur sehingga mempermudah developer dalam proses pemeliharaan aplikasi.




    Macam-macam MVC Untuk Aplikasi Web

    1. CodeIgniter

    CodeIgniter merupakan framework PHP yang menggunakan arsitektur Model View Controller (MVC). Kemudahan dalam pembelajaran dan penggunaan membuat CodeIgniter menjadi salah satu framework PHP terbaik bagi pemula.



    Keunggulan CodeIgniter:

  • Framework ringan dengan performa yang dapat diandalkan.
  • Mudah dipahami dan digunakan berkat adanya informasi bantuan dan tutorial.
  • Membuat aplikasi yang mudah diskalakan dengan menggunakan arsitektur framework berbasis MVC.


  • 2. Symfony


    Keunggulan symphony :

  • Framework yang sangat fleksibel sehingga Anda dapat mengaktifkan masing-masing komponen.
  • Menyediakan fungsionalitas testing bawaan.
  • Memiliki informasi bantuan dan tutorial yang dapat diandalkan.


  • 3. Zend


    Keunggulan Zend :

  • PHP framework yang berorientasi pada objek serta berarsitektur MVC.
  • Berkat desain platformnya, kode yang telah ditulis dapat digunakan kembali.
  • Kemudahan dalam mengintegrasikan Zend dengan library eksternal.
  • Tidak perlu memasukkan banyak komponen. Cukup tambahkan komponen yang diperlukan saja.


  • 4. Palcon


    Keunggulan Palcon :

  • Framework PHP yang berbasis pada C.
  • Menawarkan performa yang mulus dan resource yang ringan.
  • Menggunakan module dan library yang dibutuhkan.


  • 5. CakePHP


    Keunggulan CakePHP :

  • Memiliki beragam paket komponen.
  • Konvensi CakePHP untuk memprogramkan proyek agar dapat terlesaikan dengan cepat.


  • 6. Laravel


    Contoh Model View Controller php yang dikenal banyak programer ada cukup banyak, salah satu contohnya yaitu Model View Cotroller Laravel.

    Framework ini terkenal mempunyai sintaks yang elegan, rapi, dan ringkas yang membuat developer mudah untuk membaca program yang dikembangkan oleh developer lain. Jadi ini akan memudahkan proses pengembangan meskipun developer sudah tidak lagi berada di satu proyek dan digantikan developer lain.




    Membuat Framework PHP Sederhana dengan Metode MVC

    Membuat Aplikasi Web Sederhana


    Model

    Model merupakan logika dasar dari aplikasi yang akan dibuat. Sebagai contoh berikut akan membuat aplikasi menghitung luas dan keliling persegi.


    <?php class Persegi { private $_panjang; private $_lebar; private $_luas; private $_keliling; public function __construct($panjang, $lebar) { // Input Panjang dan Lebar $this->_panjang = $panjang; $this->_lebar = $lebar; // Hitung Luas $this->_hitungLuas(); // Hitung Keliling $this->_hitungKeliling(); } private function _hitungLuas() { $this->_luas = $this->_panjang * $this->_lebar; } private function _hitungKeliling() { $this->_keliling = 2 * ($this->_panjang + $this->_lebar); } public function getLuas() { return $this->_luas; } public function getKeliling() { return $this->_keliling; } } ?>


    View

    View merupakan file yang berisi kode untuk antarmuka. Kode yang ada di dalam file ini semua hanya untuk menampilkan antarmuka. Berikut 2 file View, yaitu file yang menampilkan form input dan form hasil.


    004

    *VIEW FORM.PHP tampilan Form Input Persegi


    003

    *VIEW HASIL.PHP tampilan hasil luas dan keliling persegi


    Berikut ini adalah kode ViewForm.php


    <form action="" method="post"> <label for="panjang"> <input id="panjang" name="panjang" type="text" placeholder="Panjang"> </label> <label for="lebar"> <input id="lebar" name="lebar" type="text" placeholder="Lebar"> </label> <button type="submit">Hitung</button> </form>

    Berikut ini adalah kode ViewHasil.php


    Luas :

    Keliling :



    Controller

    Controller merupakan kode pengatur semua kode. Ya, Controller adalah kode yang perperan mengatur kapan kode Model digunakan, kapan kode View digunakan.

    Controller mengatur kapan digunakan ViewForm.php dan kapan digunakan ViewHasil.php. Controller juga mengatur kapan digunakan Model Persegi.php, apa data yang digunakan oleh class Persegi dan method apa yang digunakan.

    Berikut kode Controller pada file Controller.php.

    <!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Controller</title> </head> <body> <?php // Cek Request if(isset($_POST['panjang']) && isset($_POST['lebar'])) { // Jika nilai panjang dan lebar dikirim // Ambil panjang dan lebar $p = is_numeric($_POST['panjang']) ? $_POST['panjang'] : 0; $l = is_numeric($_POST['lebar']) ? $_POST['lebar'] : 0; // Hitung panjang require_once 'Persegi.php'; $hasil = new Persegi($p, $l); include_once 'ViewHasil.php'; } // Jika nilai panjang dan lebar BELUM dikirim include_once 'ViewForm.php'; ?> </body> </html>


    Menjalankan Aplikasi

    Setelah 4 file (Persegi.php, ViewForm.php, ViewHasil.php dan Controller.php) tadi dibuat dan disimpan di folder htdocs (XAMPP), langsung saya jalankan file Controller.php.


    Sekarang kita jalankan file Controller.php dan hasilnya seperti ini.


    002


    Ketika file Controller pertama kali dijalankan, tampilannya masih terlihat seperti gambar di atas. Sekarang kita masukkan nilai panjang dan lebar, kemudian klik Hitung. Hasil yang didapat adalah seperti gambar berikut ini.


    001



    Jika anda sudah bisa membuat aplikasi persegi tadi menggunakan konsep MVC, maka anda bisa bereksperimen untuk membuat aplikasi lainnya. Secara konsep aplikasi tadi dapat digambarkan dalam bentuk diagram berikut.






    https://www.codepolitan.com/belajar-codeigniter-3-model-view-dan-controller