Wednesday, August 3, 2011

Yuk, Berkenalan dengan MVC (Part.1)

MVC Logo
(Sumber: http://amix.dk)
Pernahkah kamu mendengar istilah yang satu ini? Belum? Padahal kamu adalah seorang programmer? Gak perlu minder kalau kamu memang belum mengetahui istilah ini karena beberapa orang istilah ini masih cukup asing didengar bahkan di kalangan programmer itu sendiri. Mungkin salah satu penyebabnya adalah karena konsep Model, View, dan Controller (MVC) ini tidak masuk ke dalam kurikulum perkuliahan mahasiswa Ilmu Komputer atau Sistem Informasi. Padahal, konsep ini sangat penting sekali untuk diketahui apalagi untuk para programmer yang ingin mengembangkan perangkat lunak bersekala besar. Nah, untuk itulah saya akan coba mengulas tentang konsep MVC pada kesempatan kali ini.

Tentunya kamu pernah mendengar tentang konsep Object Oriented Programming (OOP) kan? nah jika konsep OOP lebih menekankan pada cara kita merancang sebuah solusi permasalahan berdasarkan objek-objek yang terlibat dalam solusi tersebut dalam tingkatan kode program, sedangkan konsep MVC adalah bagaimana caranya kita merancang sebuah solusi permasalahan berdasarkan pembagian kelompok data (Model), program logic (Controller), dan presentation (View). Tujuan dari penggunaan konsep MVC ini adalah untuk memastikan adanya pemisahan fokus kerja (separation of concern) dalam pengembangan aplikasi. Dengan mengimplementasikan konsep MVC, maka programmer dapat mengerjakan Model, View, dan Controller secara terpisah tanpa harus bergantung pada bagian-bagian yang lain.

Untuk lebih memperjelas pembahasan ini, saya akan memberikan contoh perbedaan OOP dengan MVC kepada kalian. Katakanlah saya ingin membuat aplikasi Blog sendiri. Nah, untuk dapat membuat aplikasi blog, maka kita memerlukan beberapa objek seperti: Posts, Comments dan Users. Berikut ini adalah contoh gambar penyususnan class/object pada aplikasi Blog kita.

Gambar 1. Class Diagram Non-MVC
(Sumber: Pribadi)

Gambar 2. Class Diagram dengan MVC
(Sumber: Pribadi)
Kedua buah gambar di atas memberikan menggambarkan perbedaan antara bentuk penyusunan aplikasi tanpa mengimplementasikan konsep MVC (Gambar 1) dengan bentuk penyusunan aplikasi yang mengimplementasikan konsep MVC. Pada tulisan berikutnya yang berjudul "Yuk, Berkenalan dengan MVC (Part.2)" saya akan membahas tentang cara kerja dari konsep MVC. Ditunggu ya :)

2 comments:

  1. misi.. :)
    thanks.. ini sngat membantu, cuma ane mau tanya nih..

    itu bentuk format class diagram nya emang gitu?

    soalnya saya aga bingung juga.. ada yang bilang A, adanya bilang B.. haha
    puyeng..

    ReplyDelete
  2. Sumber referensi dari buku apa bang. Atau menurut abang sendiri class diagram berdasarkan mvc

    ReplyDelete