Blog yang menyediakan pelajaran, source code, dan artikel-artikel seputar pemrograman dan komputer.

Thursday, January 31, 2013

mengenal aSP.NET MVC

9:14 AM Posted by Vyn No comments
Pada post ini saya akan mencoba untuk membahas sedikit pengetahuan saya tentang pembangunan sebuah website dengan framework MVC. Tidak berarti saya ahli dalam hal ini, justru saya menulis untuk menambah kepahaman saya dalam pembelajaran.

Saya akan menyajikannya dengan bahasa sederhana, mungkin terlalu sederhana untuk anda harapkan dapat memahami sedetil-detilnya hal yang terdapat di dalamnya. Sehingga post ini cocok untuk anda yang sama sekali belum pernah menyentuh MVC dan ingin berkenalan dengannya.

Secara sederhana, MVC merupakan sebuah Framework (bingkai kerja) yang didesain untuk memudahkan developer dalam pembangunan sebuah website yang dikerjakan secara bersama-sama. Ide besarnya adalah dengan membuat sebuah sistem website terbagi menjadi bagian-bagian yang benar-benar terpisah dan hanya berhubungan pada bagian-bagian spesifik (maaf jika kurang mengerti, lanjutkan saja membaca).

MVC merupakan sebuah singkatan dari (Model-View-Controller), yaitu sebuah metode pembagian sistem website ke dalam tiga komponen utama tersebut.
-Model : Jika anda membuat sebuah sistem yang menangani pengolahan data di sebuah jurusan di perguruan tinggi, tentunya akan ada banyak objek yang terlibat didalamnya, mulai dari Mahasiswa, Dosen, Mata Kuliah, KRS, hingga Transaksi pembayaran SPP. Setiap objek memiliki atributnya masing-masing. Seperti mahasiswa yang paling tidak memiliki atribut nama dan nim, semua data dari mahasiswa tersebut biasanya akan disimpan di dalam tabel dalam database. Model bekerja sebagai class-class yang mendefinisikan segala atribut yang dimiliki oleh tuao objek dan keterkaitannya dengan objek lain, yang nantinya akan menjadi 'driver' bagi projek untuk berhubungan dengan database. sehingga developer tidak perlu repot-repot untuk membuat databasenya secara manual, dan menuliskan satu persatu query yang dibutuhkan untuk memanipulasinya. Model ada untuk men-spesifikasikan setiap tabel dan field-field dalam database tersebut untuk diolah nantinya. Namun perlu dicatat bahwa Model benar-benar hanya merupakan sebuah 'model' objek yang terdapat dalam aplikasi. Model tidak menangani pengolahan data apapun, termasuk manipulasi database, model hanya bertindak sebagai 'pendefinisi' bentuk dari tabel dan syarat-syarat tertentu dari setiap fieldnya (misal: field nim tidak boleh memiliki huruf, dsb'). Perhitungan dan segala manipulasi data nantinya akan di handle di dalam controller.
-View : View adalah apa yang anda lihat di dalam browser saat anda membuka sebuah website, baik itu website anda sendiri maupun website orang lain. View bekerja sebagai 'performer'. Jika dapat dianalogikan view adalah seorang artis yang sedang beraksi di atas panggung tanpa peduli bagaimana kompleksnya sebuah panggung dapat berdiri semegah itu, mulai dari tata letak lampu sampai kembang api yang muncul pada saat pertunjukan berakhir. View bertugas untuk 'tampil' di hadapan penonton. View tidak pernah berhubungan langsung dengan model, setiap data yang dikirim atau diterima oleh 'penonton'(user) akan dikirim ke controller untuk selanjutnya ditangani ke mana arah data tersebut akan berjalan. dalam beberapa aspek, tidak mustahil ada perhitungan, ataupun pengolahan data yang terjadi di dalam view (contohnya jika anda menggunakan javascript), tapi view hanya dapat berhubungan dengan controller dalam pengolahan database, misalnya jika view ingin mengambil data dari database untuk ditampilkan ke hadapan user, maka view akan meminta controller untuk mengambilkannya, kemudian setelah controller kembali dari database, maka view akan 'menyajikannya' ke hadapan user.
-Controller : Di dalam sebuah organisasi, controller adalah 'seksi sibuk', sekaligus manajer. Controller berperan sebagai 'pengatur'. mulai dari halaman mana yang harus ditampilkan duluan ke user, data apa yang diperlukan sampai penyimpanan dan pengambilan data dari database. Controller adalah penghubung antara view dengan model. Controller yang mengatur 'flow' dari sistem, dan di dalam controller terdapat banyak fungsi untuk berpindah dari halaman satu ke yang lain, atau fungsi untuk pengambilan beberapa data, untuk diseleksi dan dikirimkan ke view.
dari pengertian tiga aspek di atas, maka dapat kita pahami bahwa MVC adalah sebuah rancangan metode pengembangan software dengan membagi nya menjadi aspek-aspek yang spesifik. Pembagian secara spesifik ini sangat berguna dalam pengembangan sebuah sistem web yang besar, sehingga para programmer yang mengatur view agar terlihat cantik tidak perlu repot memikirkan apa yang harus dilakukan untuk mengambil data tertentu dengan kondisi tertentu pula (misal: ambil data mahasiswa laki-laki yang IPKnya di atas 3), itu semua akan dilakukan oleh controller, yang dia tahu hanya memanggil sebuah fungsi dari controller dengan memberikan parameter-parameter tertentu. programmer lain lah yang mengatur bagaimana agar data tersebut dapat tersaji dengan benar dari model.

Sampai sini, kita telah memahami bagaimana 'ide besar' dari framework MVC yang dibuat oleh microsoft, untuk dapat menggunakan MVC, anda harus memiliki Visual Web Developer 2010 atau Microsoft Visual Studio 2010.

Satu hal lagi, terdapat perbedaan yang cukup signifikan antara MVC 2 dengan MVC 3, sehingga pada VS 2012 MVC 1 dan 2 tidak lagi ada. Saya juga memulai belajar MVC mulai dari MVC 4 tanpa pernah tahu bagaimana MVC1 dan 2, dan apa saja kekurangannya.

sekian tulisan saya tentang MVC, semoga bermanfaat. :)

Assalamu'alaykum.