Materi Mata Kuliah

00 jam 00 menit 00 detik

    Materi belum tersedia

00 jam 00 menit 00 detik

    Materi belum tersedia

00 jam 00 menit 00 detik

    Materi belum tersedia

00 jam 10 menit 00 detik

00 jam 00 menit 00 detik

    Materi belum tersedia

00 jam 00 menit 00 detik

    Materi belum tersedia

00 jam 00 menit 00 detik

    Materi belum tersedia

00 jam 00 menit 00 detik

    Materi belum tersedia

00 jam 00 menit 00 detik

    Materi belum tersedia

Membuat dan Menggunakan Model pada Laravel

Capaian Pembelajaran

Mahasiswa mampu memahami konsep model pada Laravel, memahami struktur folder model, membuat model menggunakan artisan, melakukan konfigurasi table dan primary key, serta memahami interaksi model dengan database menggunakan Eloquent ORM.


Pendahuluan

Dalam konsep MVC pada Laravel, Model digunakan untuk:

  • Mengelola data
  • Berinteraksi dengan database
  • Menjalankan query database

Laravel menggunakan:

  • Eloquent ORM

untuk mempermudah proses manipulasi data tanpa harus menulis query SQL secara manual.


1. Pengertian Model

A. Pengertian Model

Model adalah bagian dari MVC yang digunakan untuk:

  • Mengelola data aplikasi
  • Berinteraksi dengan database
  • Menghubungkan aplikasi dengan tabel database

B. Fungsi Model

Model digunakan untuk:

  • Mengambil data
  • Menambah data
  • Mengubah data
  • Menghapus data

C. Hubungan Model dan Database

Setiap model biasanya terhubung dengan:

  • Satu tabel database.

Contoh:

Model Tabel Database
User users
Mahasiswa mahasiswa
Produk produk

D. Model pada Laravel

Laravel menggunakan:

  • Eloquent ORM

untuk mempermudah manipulasi data database.


E. Keuntungan Menggunakan Model

Keuntungan Penjelasan
Kode lebih rapi Query dipisahkan
Mudah maintenance Struktur jelas
Query lebih sederhana Tidak perlu SQL panjang
Mendukung relasi database Lebih fleksibel

F. Konsep ORM

ORM (Object Relational Mapping) adalah teknik:

  • Menghubungkan object PHP dengan tabel database.

G. Contoh ORM

Tanpa ORM:

 
SELECT * FROM mahasiswa;
 

Dengan Eloquent:

 
Mahasiswa::all();
 

2. Struktur Folder Model Laravel

A. Lokasi Folder Model

Model berada pada folder:

 
app/Models/
 

B. Struktur Folder Model

Contoh:

 
app/
└── Models/
├── User.php
├── Mahasiswa.php
└── Produk.php
 

C. Model Default Laravel

Laravel secara default memiliki model:

 
User.php
 

D. Fungsi Folder Models

Folder Models digunakan untuk:

  • Menyimpan seluruh model aplikasi.

E. Struktur Dasar Model

Contoh:

 
<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Model;

class Mahasiswa extends Model
{

}
 

F. Penjelasan Struktur Model

Bagian Fungsi
namespace Lokasi class
extends Model Menggunakan Eloquent
class Mahasiswa Nama model

G. Penamaan Model Laravel

Laravel menggunakan:

  • Singular name

Contoh:

  • Mahasiswa
  • Produk
  • User

3. Membuat Model Menggunakan Artisan

A. Pengertian Artisan

Laravel Artisan digunakan untuk membuat model secara otomatis.


B. Command Membuat Model

Format:

 
php artisan make:model NamaModel
 

C. Contoh Membuat Model

 
php artisan make:model Mahasiswa
 

D. Hasil Model

Laravel otomatis membuat file:

 
app/Models/Mahasiswa.php
 

E. Membuat Model Sekaligus Migration

 
php artisan make:model Mahasiswa -m
 

F. Membuat Model Sekaligus Controller

 
php artisan make:model Mahasiswa -mc
 

G. Membuat Resource Lengkap

 
php artisan make:model Mahasiswa -mcr
 

Keterangan:

  • m → migration
  • c → controller
  • r → resource controller

H. Keuntungan Artisan

Keuntungan Penjelasan
Cepat Otomatis membuat file
Terstruktur Sesuai standar Laravel
Mengurangi kesalahan Penamaan otomatis

4. Konfigurasi Table dan Primary Key

A. Konfigurasi Nama Tabel

Secara default Laravel:

  • Mengubah nama model menjadi bentuk plural.

Contoh:

Model Table
Mahasiswa mahasiswas
Produk produks

B. Mengatur Nama Table Manual

 
class Mahasiswa extends Model
{
protected $table = 'mahasiswa';
}
 

C. Fungsi protected $table

Digunakan untuk:

  • Menentukan nama tabel secara manual.

D. Primary Key Default Laravel

Laravel default menggunakan:

 
id
 

sebagai primary key.


E. Mengubah Primary Key

 
class Mahasiswa extends Model
{
protected $primaryKey = 'mahasiswa_id';
}
 

F. Menonaktifkan Timestamp

Laravel default menggunakan:

  • created_at
  • updated_at

Jika tidak digunakan:

 
public $timestamps = false;
 

G. Fillable Property

Digunakan untuk:

  • Keamanan mass assignment.

Contoh:

 
protected $fillable = [
'nama',
'jurusan'
];
 

H. Fungsi Fillable

Digunakan agar:

  • Hanya field tertentu yang dapat diinput.

5. Interaksi Model dengan Database

A. Mengambil Semua Data

 
$mahasiswa = Mahasiswa::all();
 

B. Mengambil Data Berdasarkan ID

 
$mahasiswa = Mahasiswa::find(1);
 

C. Menambah Data

 
Mahasiswa::create([
'nama' => 'Andi',
'jurusan' => 'Sistem Informasi'
]);
 

D. Mengupdate Data

 
$data = Mahasiswa::find(1);

$data->nama = 'Budi';

$data->save();
 

E. Menghapus Data

 
$data = Mahasiswa::find(1);

$data->delete();
 

F. Menggunakan where()

 
$data = Mahasiswa::where('jurusan', 'SI')->get();
 

G. Menampilkan Data ke View

Controller:

 
public function index()
{
$mahasiswa = Mahasiswa::all();

return view('mahasiswa', compact('mahasiswa'));
}
 

H. Blade View

 
@foreach($mahasiswa as $m)
<p>{{ $m->nama }}</p>
@endforeach
 

Praktikum

Praktikum 1 — Membuat Model

Command:

 
php artisan make:model Mahasiswa
 

Praktikum 2 — Konfigurasi Table

 
protected $table = 'mahasiswa';
 

Praktikum 3 — Menambah Fillable

 
protected $fillable = [
'nama',
'jurusan'
];
 

Praktikum 4 — Mengambil Data

 
$mahasiswa = Mahasiswa::all();
 

Praktikum 5 — Menampilkan Data ke View

 
@foreach($mahasiswa as $m)
<p>{{ $m->nama }}</p>
@endforeach
 

Tugas Praktikum

Tugas Individu

  1. Buat model:
    • Mahasiswa
    • Dosen
    • MataKuliah
  2. Konfigurasi:
    • Nama table
    • Primary key
    • Fillable
  3. Buat:
    • Insert data
    • Update data
    • Delete data
  4. Tampilkan data pada Blade
  5. Screenshot:
    • File model
    • Hasil database
    • Tampilan browser
  6. Jelaskan:
    • Pengertian model
    • Fungsi Eloquent
    • Fungsi fillable
    • Fungsi primary key

Kesimpulan

Model pada Laravel digunakan untuk mengelola interaksi antara aplikasi dan database menggunakan Eloquent ORM. Dengan memahami struktur model, konfigurasi table, primary key, serta operasi CRUD dasar, mahasiswa dapat membangun aplikasi Laravel yang lebih terstruktur dan profesional.


Report Error