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
| Folder | Fungsi |
|---|---|
| app | Logic aplikasi |
| routes | Routing |
| resources/views | Tampilan |
| database | Migration & Seeder |
| public | Asset 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
| Field | Tipe |
|---|---|
| id | bigint |
| name | varchar |
| price | int |
| stock | int |
| created_at | timestamp |
| updated_at | timestamp |
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:
- Upload project
- Upload database MySQL
- Edit file .env
- Jalankan migration
- 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:
- Memahami konsep framework web.
- Memahami arsitektur MVC.
- Menggunakan Laravel dan MySQL.
- Membuat CRUD menggunakan Laravel.
- Mengelola database dengan Migration dan Eloquent ORM.
- Membuat autentikasi pengguna.
- Mengembangkan REST API.
- 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