Senin, 15 Juni 2026

Pemrogragaman Framework - Laravel 1

 










Materi Pemrograman Framework Menggunakan Laravel dan MySQL

Mata Kuliah: Web Programming Framework

Program Studi: Teknik Informatika / Sistem Informasi
Framework: Laravel 12 (atau versi terbaru yang digunakan)
Database: MySQL


1. Pendahuluan Framework Web

Apa itu Framework?

Framework adalah kerangka kerja yang menyediakan struktur dan komponen siap pakai untuk membangun aplikasi web secara lebih cepat, terorganisir, dan aman.

Keuntungan Menggunakan Framework

  • Mempercepat pengembangan aplikasi
  • Struktur kode lebih rapi
  • Mudah dipelihara (Maintainable)
  • Mendukung keamanan aplikasi
  • Mendukung kolaborasi tim

Framework PHP Populer

Laravel
CodeIgniter
Symfony
Yii


2. Mengenal Laravel

Definisi Laravel

Laravel adalah framework PHP berbasis MVC (Model View Controller) yang dikembangkan oleh Taylor Otwell.

Fitur Laravel

  • Routing
  • Middleware
  • Migration
  • Eloquent ORM
  • Authentication
  • Blade Template
  • Validation
  • API Resource
  • Queue
  • Cache

3. Arsitektur MVC

MVC (Model View Controller)

Model

Berfungsi mengelola data dan database.

Contoh:

class Product extends Model
{
protected $fillable = [
'name',
'price',
'stock'
];
}

View

Berfungsi menampilkan antarmuka pengguna.

Contoh:

<h1>Daftar Produk</h1>

Controller

Berfungsi sebagai penghubung antara Model dan View.

Contoh:

public function index()
{
$products = Product::all();
return view('products.index', compact('products'));
}

4. Instalasi Laravel

Persiapan

Install:

  • PHP 8+
  • Composer
  • MySQL
  • VS Code

Membuat Project Laravel

composer create-project laravel/laravel toko-online

Masuk folder project

cd toko-online

Menjalankan server

php artisan serve

Output:

http://127.0.0.1:8000

5. Struktur Direktori Laravel

app/
bootstrap/
config/
database/
public/
resources/
routes/
storage/
tests/
vendor/

Folder Penting

FolderFungsi
appLogic aplikasi
routesRouting
resources/viewsTampilan
databaseMigration & Seeder
publicAsset publik

6. Konfigurasi Database MySQL

File:

.env

Konfigurasi:

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=db_toko
DB_USERNAME=root
DB_PASSWORD=

Membuat database:

CREATE DATABASE db_toko;

7. Migration

Migration digunakan untuk membuat struktur tabel.

Membuat Migration

php artisan make:migration create_products_table

Contoh:

Schema::create('products', function (Blueprint $table) {
$table->id();
$table->string('name');
$table->integer('price');
$table->integer('stock');
$table->timestamps();
});

Jalankan migration:

php artisan migrate

8. Eloquent ORM

ORM (Object Relational Mapping) memungkinkan manipulasi database menggunakan objek.

Membuat Model

php artisan make:model Product

Contoh Insert Data

Product::create([
'name' => 'Laptop',
'price' => 8000000,
'stock' => 10
]);

Menampilkan Data

$products = Product::all();

Update Data

$product = Product::find(1);

$product->update([
'price' => 9000000
]);

Delete Data

Product::destroy(1);

9. Routing

File:

routes/web.php

Route Sederhana

Route::get('/', function () {
return "Hello Laravel";
});

Route dengan Controller

Route::get('/products', [ProductController::class, 'index']);

10. Controller

Membuat Controller

php artisan make:controller ProductController

Contoh:

class ProductController extends Controller
{
public function index()
{
$products = Product::all();

return view(
'products.index',
compact('products')
);
}
}

11. Blade Template

Blade merupakan template engine Laravel.

Layout

<!DOCTYPE html>
<html>
<head>
<title>@yield('title')</title>
</head>
<body>

@yield('content')

</body>
</html>

View

@extends('layout')

@section('title')
Data Produk
@endsection

@section('content')
<h1>Produk</h1>
@endsection

12. CRUD Laravel + MySQL

Create

Product::create($request->all());

Read

Product::all();

Update

$product->update($request->all());

Delete

$product->delete();

Studi Kasus: Sistem Manajemen Produk

Kebutuhan Sistem

Admin dapat:

  • Menambah Produk
  • Mengubah Produk
  • Menghapus Produk
  • Melihat Produk

Struktur Database

Tabel Products

FieldTipe
idbigint
namevarchar
priceint
stockint
created_attimestamp
updated_attimestamp

Membuat Model

php artisan make:model Product -mcr

Keterangan:

-m = migration
-c = controller
-r = resource controller

Resource Route

Route::resource('products',
ProductController::class);

Resource Controller

public function store(Request $request)
{
Product::create($request->all());

return redirect('/products');
}

13. Validasi Form

$request->validate([
'name' => 'required',
'price' => 'required|numeric',
'stock' => 'required|numeric'
]);

14. Relasi Database

One To Many

Contoh:

Kategori memiliki banyak produk.

Category Model

public function products()
{
return $this->hasMany(Product::class);
}

Product Model

public function category()
{
return $this->belongsTo(Category::class);
}

15. Authentication

Laravel menyediakan sistem login bawaan.

Install:

composer require laravel/breeze --dev
php artisan breeze:install
npm install
npm run build
php artisan migrate

Fitur:

  • Login
  • Register
  • Logout
  • Forgot Password

16. API Laravel

Membuat API:

Route::get('/products', function () {
return Product::all();
});

Output:

[
{
"id":1,
"name":"Laptop"
}
]

17. Deployment Laravel

Shared Hosting

Langkah:

  1. Upload project
  2. Upload database MySQL
  3. Edit file .env
  4. Jalankan migration
  5. Setting public folder

VPS / Cloud

Contoh:

  • DigitalOcean
  • AWS
  • Google Cloud

Praktikum

Praktikum 1

Membuat aplikasi CRUD Data Mahasiswa

Field:

  • NIM
  • Nama
  • Program Studi
  • Alamat

Praktikum 2

Membuat Sistem Inventori Barang

Field:

  • Kode Barang
  • Nama Barang
  • Stok
  • Harga

Praktikum 3

Membuat Sistem Penjualan Sederhana

Tabel:

  • Users
  • Products
  • Orders
  • Order Details

Capaian Pembelajaran

Setelah mempelajari materi ini mahasiswa mampu:

  1. Memahami konsep framework web.
  2. Memahami arsitektur MVC.
  3. Menggunakan Laravel dan MySQL.
  4. Membuat CRUD menggunakan Laravel.
  5. Mengelola database dengan Migration dan Eloquent ORM.
  6. Membuat autentikasi pengguna.
  7. Mengembangkan REST API.
  8. Melakukan deployment aplikasi Laravel.

Project Akhir

Sistem Informasi Akademik berbasis Laravel dan MySQL

Fitur:

  • Login Multi User
  • Data Mahasiswa
  • Data Dosen
  • Data Mata Kuliah
  • KRS
  • Nilai
  • Dashboard Statistik
  • REST API
  • Export PDF dan Excel

Materi ini sangat cocok untuk perkuliahan 14–16 pertemuan pada mata kuliah Framework Web Programming dengan pendekatan Project Based Learning (PjBL).




Tidak ada komentar:

Posting Komentar

Flow Google Labs

  https://www.youtube.com/watch?v=XN4SSuRRRS0 https://www.youtube.com/watch?v=Nzv9gv9wHHk https://www.youtube.com/watch?v=LV27hNiPOIM https:...