1. Pendahuluan Dalam pemrograman berorientasi objek (OOP), konsep dasar yang harus dipahami adalah class dan object. Dalam konteks ASP.NET MVC, class sering digunakan untuk mendefinisikan model, controller, atau layanan, sedangkan object adalah instance dari class tersebut. Artikel ini akan membahas penerapan dasar-dasar class dan object menggunakan contoh kasus Reservation.
2. Apa itu Class dan Object?
Class adalah cetak biru atau template untuk membuat object. Class mendefinisikan properti (atribut) dan metode (perilaku) dari object.
Object adalah instance dari class, yang merepresentasikan data nyata dalam program.
Contoh sederhana:
public class Reservation
{
public int ReservationId { get; set; }
public string CustomerName { get; set; }
public DateTime ReservationDate { get; set; }
public void DisplayDetails()
{
Console.WriteLine($"Reservation ID: {ReservationId}, Name: {CustomerName}, Date: {ReservationDate}");
}
}
3. Contoh
Penerapan di ASP.NET MVC
3.1. Membuat Model Reservation Model digunakan untuk merepresentasikan data dalam aplikasi.
namespace MyApp.Models
{
public class Reservation
{
public int Id { get; set; }
public string Name { get; set; }
public DateTime Date { get; set; }
public int NumberOfGuests { get; set; }
}
}
3.2. Membuat
Controller untuk Mengelola Reservasi Controller
bertugas mengatur logika bisnis dan alur data.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web.Mvc;
using MyApp.Models;
namespace MyApp.Controllers
{
public class ReservationController : Controller
{
private static List reservations = new List();
// GET: Reservation
public ActionResult Index()
{
return View(reservations);
}
// GET: Reservation/Create
public ActionResult Create()
{
return View();
}
// POST: Reservation/Create
[HttpPost]
public ActionResult Create(Reservation reservation)
{
if (ModelState.IsValid)
{
reservation.Id = reservations.Count + 1;
reservations.Add(reservation);
return RedirectToAction("Index");
}
return View(reservation);
}
}
}
3.3. Membuat View untuk Menampilkan dan Menambah Reservasi
View Index.cshtml: Menampilkan daftar reservasi.
@model IEnumerable<MyApp.Models.Reservation>
<h2>Reservation List</h2>
<table>
<thead>
<tr>
<th>ID</th>
<th>Name</th>
<th>Date</th>
<th>Guests</th>
</tr>
</thead>
<tbody>
@foreach (var item in Model)
{
<tr>
<td>@item.Id</td>
<td>@item.Name</td>
<td>@item.Date.ToString("MM/dd/yyyy")</td>
<td>@item.NumberOfGuests</td>
</tr>
}
</tbody>
</table>
View Create.cshtml : Form untuk menambah reservasi baru.
@model MyApp.Models.Reservation
<h2>Create Reservation</h2>
@using (Html.BeginForm())
{
<div>
@Html.LabelFor(model => model.Name)
@Html.TextBoxFor(model => model.Name)
</div>
<div>
@Html.LabelFor(model => model.Date)
@Html.TextBoxFor(model => model.Date, "{0:yyyy-MM-dd}", new { @type = "date" })
</div>
<div>
@Html.LabelFor(model => model.NumberOfGuests)
@Html.TextBoxFor(model => model.NumberOfGuests)
</div>
<button type="submit">Create</button>
}
4. Penutup Class dan object adalah fondasi dari OOP, dan ASP.NET MVC
menyediakan kerangka kerja yang ideal untuk mengimplementasikan konsep ini.
Dengan memahami dasar-dasar class dan object, Anda dapat membangun aplikasi
yang terstruktur dan mudah dikelola. Contoh kasus Reservation ini menunjukkan
bagaimana model, controller, dan view berinteraksi untuk menciptakan alur kerja
yang lengkap.
ConversionConversion EmoticonEmoticon