Mengenal ASP.NET MVC 2 Framework

by Agus Kurniawan 5. December 2010 11:11

cover-pcm_12_reg

Pada majalah PC Media edisi Desember 2010, gw menulis artikel mengenai Mengenal ASP.NET MVC 2 Framework dengan memanfaatkan Visual Studio 2010. Berikut ini informasi  singkat mengenai artikel ini.

 

Apakah itu MVC?

Model–View–Controller atau dikenal dengan MVC adalah salah satu architectural pattern yang digunakan pada software engineering. Konsep MVC memisahkan domain login dari input dan presentation (UI). Model diagram MVC dan hubungannya dapat dilihat pada gambar 1.

gambar1

Gambar 1. Relasi Model–View–Controller

Model digunakan untuk manajemen informasi dan memberikan notifikasi ke observer jika ada perubahan informasi. Model biasanya dipresentasikan sebagai domain spesifik. Domain logic ditambahkan untuk monitoring perubahan status, sebagai contohnya menghitung apakah hari ini ada yang ulang tahu atau perubahan pengiriman pada shopping. Ketika model berubah statusnya maka model akan menginformasikan ke View yang berasosiasi supaya dilakukan refresh.

Sebagian besar aplikasi menggunakan database sebagai mekanisme persistent storage untuk menyimpan data. Mekanisme ini biasanya dikenal dengan data access layer sedangkan MVC secara eksplisit tidak menyebut sebagai data access layer tetapi semua fungsi dan fitur di enkapsolusi didalam Model sehingga Model tidak bukanlah data access objects. Active Record merupakan design pattern yang mengabungkan domain logic dan data access code yang mana Model dalam memanfaatkan pattern ini.

View berfungsi untuk melakukan render Model kedalam suatu bentuk elemen interakasi contohnya UI (User Interface). Sebuah Model dapat digunakan untuk beberapa View dengan tujuan yang berbeda-beda.

Controller menerima input dan memulai respon yang dibuat oleh objek Model. Sebuah Controller dapat menerima input dari user dan mengintruksikan Model untuk melakukan aksi sesuai dengan input.

MVC bisanya diimplemtasikan pada plikasi web dimana HTML atau XHTML sebagai View yang dihasilkan oleh aplikasi. Controller menerima input GET atau POST dan menentukan apa yang akan dilakukan serta menangani domain object (Model) yang berisi business rules.

 

Apa Bedanya ASP.NET Web Form dan ASP.NET MVC?

ASP.NET MVC bukanlah pembunuh Web Form ASP.NET ataupun anti Web Form ASP.NET. Dapat dikatakan ASP.NET saat ini sudah berumur 10 tahun lebih. ASP.NET MVC adalah ASP.NET baru yang dibuat untuk menyesuaikan diri atas perkembangan teknologi. Beberapa blog dan artikel banyak sekali membahas apa bedanya ASP.NET Web Form dan ASP.NET MVC. Berikut ini beberapa kondisi fakta antara ASP.NET Web Form dan ASP.NET MVC

  1. Web Form sulit untuk di testing
  2. ASP.NET MVC memerlukan keahlian scripting HTML
  3. ASP.NET MVC bukan salah satu untuk mendapatkan SoC pada ASP.NET
  4. Web Form dapat dipelajari dengan cepat
  5. ViewState bukannya bermasalah dan ini dapat dikontrol ataupun dimatikan
  6. Web Form didesain untuk abstraksi mesin web
  7. ASP.NET MVC didesain untuk mudah ditesting
  8. ASP.NET MVC dapat menawarkan desain code yang lebih baik
  9. Perkembangan ASP.NET MVC masih mudah dan kurang component model
  10. ASP.NET MVC bukan anti Web Form

Persiapan ASP.NET MVC 2.0

Sebelum membuat aplikasi ASP.NET MVC 2 kita harus menyiapakan beberapa development tool pada komputer kita. Untuk keperluan ini, persiapan yang diperlukan adalah

  • Visual Studio 2010 yang didalamnya sudah ada ASP.NET MVC 2
  • Visual Studio 2008 with SP1. Ini didalamnya tidak ada ASP.NET MVC 2 sehingga kita harus mengunduh ASP.NET MVC 2 di www.asp.net/mvc

Lebih lengkapnya rekan dapat membaca pada majalah PC Media edisi Desember 2010

Tags:

Papers | .NET

blog comments powered by Disqus

About Agus Kurniawan

Agus Kurniawan

For more detail about me click here [V]

Please entry your name into my guestbook [V]

If you want to contact me, please go here [V]

Go here for my professional services [V]

My Books

Arduino Pro Mini A Hands-On Guide for Beginner 

Arduino Pro Micro A Hands-On Guide for Beginner  Arduino Nano A Hands-On Guide for Beginner

Python and SQL Server Development  Coral Dev Board I/O Programming Using Python

Digi XBee3 Zigbee 3 Development Workshop  Microchip MPLAB Xpress Development Workshop

DFRobot Romeo V2 Development Workshop  Getting Started with Coral Dev Board

Arduino Sketch for ESP8266 Development Workshop  Internet of Things Projects with ESP32

Teensy LC Development Workshop  Arduino Sketch for STM8 Development Workshop

Sigfox Development with SiPy, LoPy4, FiPy  Sigfox Development with STM32 B-L072Z-LRWAN1

Arduino Sketch for STM32 Development Workshop  Arduino MKR ZERO Development Workshop

Administering and Developing Azure SQL Database  Pycom WiPy 3.0 Development Workshop

Getting Started with Ubuntu Core for Raspberry Pi 3  Practical Kotlin Programming

Arduino Sketch for ESP32 Development Workshop  Building Wireless Sensor Networks with ESP32 LoRa

Getting Started with ACKme Mackerel AMW004 Development  NodeMCU for ESP32 Development Workshop 

Arduino MKR WIFI 1010 Development Workshop  IOIO-OTG Development Workshop

MicroPython for STM32 Nucleo Technical Workshop  STM32 Nucleo-32 Development Workshop

Learn CloudFormation  SparkFun nRF52832 Development Workshop

LinkIt Smart 7688 and LinkIt Smart 7688 Duo Development Workshop  CircuitPython Development Workshop

MicroPython for BBC micro:bit Technical Workshop  RedBear Blend v2 Development Workshop

Realtek Ameba RTL8195 Technical Workshop  Practical Contiki-NG: Programming for Wireless Sensor Networks

ESPectro32 Technical Workshop STEMTera Development Workshop

BeagleBone Black Wireless Technical Workshop Arduino MKR GSM 1400 Development Workshop

Dragino LoRa Development Workshop Learning AWS IoT

Tessel 2 Development Workshop Raspberry Pi Compute Module 3 Technical Workshop

Vue.js Programming by Example Administering and Developing SQL Server 2017 for Linux

Arduino MKRFOX1200 Development Workshop  Intelligent IoT Projects in 7 Days

Teensy Development Workshop Teensy 3.5 and Teensy 3.6 Boards Edition OpenMV Development Workshop

ESPresso Lite V2.0 Development Workshop  MicroPython for ESP32 Development Workshop

Arduino FIO Development Workshop  Getting Started with Android Things for Raspberry Pi 3

Pycom WiPy 2.0 Development Workshop  XBee ZigBee Development Workshop

SparkFun ESP32 Thing Development Workshop Getting Started With BBC micro:bit

Getting Started With Raspberry Pi Zero W Espruino Pico Development Workshop

Getting Started with ASP.NET Core for OS X, Linux, and Windows  Arduino TIAN Development Workshop

SimpleLink Wi-Fi CC3200 LaunchPad Development Workshop  MicroPython for ESP8266 Development Workshop

Smart Internet of Things Projects  Arduino UNO WiFi Development Workshop

XBee Wi-Fi development workshop SparkFun Simblee BLE Development Workshop

Mengenal Microsoft Azure ML Getting Started with Windows 10 IoT Core for Raspberry Pi 3

Arduino and Genuino Zero Development Workshop Go and SQL Server Programming By Example

Arduino and Genuino MKR1000 Development Workshop  Mengenal Microsoft Azure IoT

Getting Started with Raspberry Pi 3 PHP and PostgreSQL Programming By Example

Arduino and Genuino 101 Development Workshop Getting Started with Raspberry Pi Zero

Getting Started with Arduino Wiring for Windows 10 IoT Core Getting Started with Wolfram Language and Mathematica for Raspberry Pi

Arduino Uno: A Hands-On Guide for Beginner Arduino Leonardo and Arduino Micro: A Hands-On Guide for Beginner

RedBearLab CC3200 Development Workshop The Photon Kit Development Workshop

Python Programming by Example Raspberry Pi LED Blueprints

Bluno Beetle Development Workshop BeagleBone Black Programming using Matlab

Arduino Programming using MATLAB Digispark USB Development Workshop

Near Field Communication (NFC) for Embedded Applications Arduino Development for OSX and iOS

SparkFun ESP8266 Thing Development Workshop Teensy Development Workshop

Getting Started with Windows 10 for Raspberry 2 NodeMCU Development Workshop

Getting Started with ASP.NET 5 for OS X, Linux, and Windows Getting Started with Windows Remote Arduino

Redis Programming by Example The Hands-on ARM mbed Development Lab Manual

Getting Started With STM32 Nucleo Development Getting Started with Windows IoT and Intel Galileo

Learning C by Example Getting Started with Raspberry Pi 2

Getting Started with Arduino and Go The Hands-on Arduino Yún Manual Lab

The Hands-on MEAN Lab Manual, Volume 1 Go Programming by Example

Getting Started with Scratch for pcDuino Raspberry Pi Wireless Networks

BeagleBone Black Programming by Example Database Programming Using R

Learning R in 120 Minutes The Hands-on Intel Edison Manual Lab

Getting Started with pcDuino3 TI ARM Cortex-M LaunchPad Programming by Example

Raspberry Pi I/O Programming using Python Getting Started with Intel IoT and Intel Galileo

Pemrograman Java Tingkat Lanjut PHP and MongoDB Programming By Example

ASP.NET SignalR Programming By Example KnockoutJS Programming by Example

Getting Started with Java ME Embedded 8 and Raspberry Pi XBee IEEE 802.15.4 Programming

Raspberry Pi System Programming for Beginner Backbone.js Programming By Example

PHP and SQL Server Programming By Example AngularJS Programming by Example

jQuery Programming by Example Getting Started with Arduino and Ruby

Raspberry Pi Command Line for Beginner Getting Started with Arduino and Python

MSP430 LaunchPad Programming TypeScript Programming by Example

Getting Started with Matlab Simulink and Arduino SQL Server for Node.js

Pocket Reference: Netduino for Beginner Database Programming using Matlab

Pocket Reference: Basic Sensors in Windows 8 Getting Started with Matlab Simulink and Raspberry Pi

Getting Started with Arduino and Java  Pocket Reference: Raspberry Pi Programming

Getting Started with Arduino and Matlab Getting Started with Arduino and .NET

Pocket Reference: Raspberry Pi Getting Started with Arduino and Node.js

MongoDB for VB.NET Panduan Praktis Windows Azure

Network Forensics: Panduan Analisis Dan Investigasi Paket Data Jaringan Menggunakan Wireshark Object-Relational Mapping (ORM): MongoDB, Mongoosejs and Node.js By Example

Nodejs Programming by Example MongoDB for by Example

Pemrograman Parallel Dengan MPI dan C Panduan Lengkap iPad 2 Untuk Pemula

Pemrograman Jaringan Dengan Java Aplikasi Pilihan iPad Untuk Anak-Anak

Buku lainnya [V]

Agus Kurniawan is Microsoft MVP (Most Valuable Professional)

Agus Kurniawan- Github Profile

Agus Kurniawan- Codeplex Profile

Follow Me

Follow agusk2010 on Twitter

Month List