PRAKTIKUM 2 — FRAMEWORK LARAVEL

Migration, Seeder, Model, Controller,
Routing & View — CRUD Mahasiswa

Laporan resmi praktikum — Membuat tabel, mengisi data awal, resource controller, blade template, serta operasi CRUD lengkap menggunakan Eloquent ORM.

2026 Laravel 11 MySQL / Eloquent
00

Pendahuluan & Tujuan Praktikum

Pendahuluan

Praktikum ini bertujuan untuk mengimplementasikan konsep Migration, Seeding, Model, Controller, Routing, dan View pada framework Laravel. Fokus utama adalah membangun sistem CRUD (Create, Read, Update, Delete) untuk entitas Mahasiswa menggunakan Eloquent ORM. Seluruh tahapan didokumentasikan melalui perintah Artisan, struktur kode, serta hasil pengujian di browser.

  • Membuat migration tabel students dan products sebagai contoh.
  • Mengisi data awal menggunakan Seeder (ProductSeeder, StudentSeeder).
  • Membuat Model, Resource Controller, dan routing untuk operasi CRUD mahasiswa.
  • Menampilkan data melalui Blade Template dan menguji fungsionalitas tambah, edit, hapus.
01

Migration & Seeding — Persiapan Database

1. Migration Tabel Products

Perintah php artisan make:migration create_products_table menghasilkan file migration.

migration products
image1.png — Membuat migration create_products_tablePerintah artisan membuat file di database/migrations
// File migration products (skema) Schema::create('products', function (Blueprint $table) { $table->id(); $table->string('name'); $table->integer('price'); $table->text('description'); $table->timestamps(); });

2. ProductSeeder

Menjalankan php artisan make:seeder ProductSeeder untuk membuat data awal produk.

product seeder
image3.png — Seeder ProductSeeder berhasil dibuat.
// ProductSeeder.php - contoh data DB::table('products')->insert([ ['name'=>'Laptop', 'price'=>7000000, 'description'=>'Laptop programming'], ['name'=>'Mouse', 'price'=>150000, 'description'=>'Mouse wireless'], ]);

3. Menjalankan Migrate & Seeder

Perintah php artisan migrate dan php artisan db:seed.

migrate seed
image4.png — Proses migrate & seed berhasil.
Data produk Laptop dan Mouse berhasil diisi ke database.
02

Model, View & Controller Dasar

4. Membuat Model Product

php artisan make:model Product menghasilkan model untuk berinteraksi dengan tabel products.

model product
image5.png — Model Product.php sukses dibuat.

5. Menampilkan Data Produk (View & Route)

Dengan route di routes/web.php dan view products.blade.php, data produk berhasil ditampilkan.

produk view
image7.png — Halaman daftar produk (Laptop & Mouse).
// routes/web.php Route::get('/products', [ProductController::class, 'index']); // Blade: @foreach ($products as $product) ... @endforeach
03

Implementasi CRUD Mahasiswa

6. Migration Tabel Student

php artisan make:migration create_student_table.

migration student
image8.png — Migration student berhasil dijalankan.
Schema::create('students', function (Blueprint $table) { $table->id(); $table->string('nim')->unique(); $table->string('name'); $table->string('jurusan'); $table->string('email')->unique(); $table->timestamps(); });

7. Seeder, Controller & Model Student

php artisan make:seeder StudentSeeder, make:controller StudentController, make:model Student.

seeder controller model
image9.png — Ketiga komponen sukses digenerate.
// StudentSeeder.php public function run(): void { Student::create(['nim'=>'230101001','name'=>'Ahmad Fauzi','jurusan'=>'Informatika','email'=>'ahmad@univ.ac.id']); Student::create(['nim'=>'230101002','name'=>'Siti Nurhaliza','jurusan'=>'Sistem Informasi','email'=>'siti@univ.ac.id']); }

8. Routing & Tampilan CRUD

Route resource: Route::resource('students', StudentController::class);

use App\Http\Controllers\StudentController; Route::resource('students', StudentController::class); // Akses: /students -> index, /students/create, dll.

Demo CRUD Mahasiswa (Simulasi Interaktif)

Tambah Mahasiswa

IDNIMNamaJurusanEmailAksi
Memuat data mahasiswa...
Demo ini mensimulasikan operasi CRUD sesuai method index, store, update, destroy pada resource controller.
04

Ringkasan & Kesimpulan

Ringkasan Perintah Artisan

PerintahFungsi
php artisan make:migration create_students_tableMembuat file migration tabel mahasiswa
php artisan migrateMenjalankan migration ke database
php artisan make:seeder StudentSeederMembuat seeder untuk data awal
php artisan make:model Student -mcsModel + Migration + Controller + Seeder (shortcut)
php artisan make:controller StudentController --resourceResource controller CRUD standar
php artisan route:listMenampilkan daftar route
php artisan migrate:fresh --seedReset database & jalankan semua seeder
Tips: Gunakan php artisan make:model Student -mcs untuk mempercepat pembuatan komponen. Jangan lupa tambahkan $fillable di Model.

Kesimpulan

Praktikum ini berhasil mengimplementasikan seluruh komponen Laravel: Migration (membuat tabel products & students), Seeding (data awal), Model (Eloquent ORM), Resource Controller, Routing, serta View Blade. Operasi CRUD untuk data mahasiswa berjalan dengan baik, sesuai dengan konsep RESTful. Dengan pemahaman ini, pengembangan aplikasi web berbasis Laravel menjadi lebih terstruktur dan efisien.