Panduan Lengkap Menggunakan Laravel untuk Pemula

Posted on

Panduan Lengkap Menggunakan Laravel untuk Pemula

Panduan Lengkap Menggunakan Laravel untuk Pemula

Laravel adalah framework PHP yang populer untuk membangun aplikasi web yang kuat dan fleksibel. Framework ini menyediakan banyak fitur dan alat bawaan yang dapat membantu developer membuat aplikasi web dengan cepat dan mudah. Dalam panduan ini, kita akan membahas dasar-dasar Laravel dan bagaimana menggunakannya untuk membangun aplikasi web sederhana.

Instalasi Laravel

Untuk memulai dengan Laravel, Anda perlu menginstalnya terlebih dahulu. Ada beberapa cara untuk menginstal Laravel, tetapi cara yang paling umum adalah menggunakan Composer. Composer adalah alat manajemen paket untuk PHP yang memungkinkan Anda untuk menginstal dan memperbarui paket-paket PHP dengan mudah.

Untuk menginstal Laravel menggunakan Composer, buka terminal dan jalankan perintah berikut:

composer create-project laravel/laravel nama_aplikasi

Perintah ini akan membuat direktori baru bernama nama_aplikasi dan menginstal Laravel ke dalamnya.

Struktur Direktori Laravel

Setelah Laravel terinstal, Anda akan melihat struktur direktori berikut:

nama_aplikasi/
├── app/
│   ├── Console/
│   ├── Events/
│   ├── Http/
│   ├── Jobs/
│   ├── Listeners/
│   ├── Mail/
│   ├── Models/
│   ├── Notifications/
│   ├── Policies/
│   ├── Providers/
│   ├── Requests/
│   ├── Resources/
│   ├── Rules/
│   ├── Services/
│   ├── Transformers/
│   └── View/
├── bootstrap/
│   ├── cache/
│   ├── compiled.php
│   ├── config.php
│   ├── env.example
│   ├── routes/
│   ├── services.php
│   ├── starage/
│   └── vendor/
├── config/
│   ├── app.php
│   ├── auth.php
│   ├── broadcat.php
│   ├── cache.php
│   ├── cookies.php
│   ├── database.php
│   ├── filesystems.php
│   ├── hashing.php
│   ├── logging.php
│   ├── mail.php
│   ├── queue.php
│   ├── services.php
│   ├── session.php
│   ├── view.php
├── database/
│   ├── factories/
│   ├── migrations/
│   ├── seeders/
│   ├── sqlite/
│   └── test/
├── public/
│   ├── favicon.ico
│   ├── index.php
│   ├── mix-manifest.json
│   ├── robots.txt
│   ├── storage/
│   └── vendor/
├── resources/
│   ├── assets/
│   ├── langs/
│   ├── views/
│   └── js/
├── routes/
│   ├── api.php
│   ├── console.php
│   ├── web.php
├── storage/
│   ├── app/
│   ├── framework/
│   ├── logs/
│   └── sessions/
├── tests/
│   ├── Feature/
│   ├── Unit/
├── vendor/
├── .env
├── composer.json
├── composer.lock
├── package.json
├── yarn.lock

Struktur direktori ini mengikuti pola Model-View-Controller (MVC), yang merupakan pola desain yang umum digunakan untuk membangun aplikasi web. Direktori app berisi kode sumber aplikasi, direktori config berisi file konfigurasi, direktori database berisi file database, direktori public berisi file yang dapat diakses oleh publik, dan direktori resources berisi file sumber seperti pandangan, CSS, dan JavaScript.

Membuat Aplikasi Web Sederhana

Untuk membuat aplikasi web sederhana menggunakan Laravel, kita akan membuat aplikasi CRUD (Create, Read, Update, Delete). Aplikasi ini akan memungkinkan kita untuk mengelola data siswa di sekolah.

1. Membuat Model

Model adalah representasi dari data dalam aplikasi. Dalam Laravel, model didefinisikan dalam direktori app/Models. Untuk membuat model siswa, kita bisa membuat file app/Models/Siswa.php dan menambahkan kode berikut:

namespace App\Models;

use Illuminate\Database\Eloquent\Model;

class Siswa extends Model
{
    protected $fillable = ['nama', 'alamat', 'telepon'];
}

Model ini memiliki tiga field: nama, alamat, dan telepon. Field fillable menentukan field mana yang dapat diisi massal.

2. Membuat Controller

Controller adalah kelas yang menangani permintaan HTTP ke aplikasi. Dalam Laravel, controller didefinisikan dalam direktori app/Http/Controllers. Untuk membuat controller siswa, kita bisa membuat file app/Http/Controllers/SiswaController.php dan menambahkan kode berikut:

namespace App\Http\Controllers;

use App\Models\Siswa;
use Illuminate\Http\Request;

class SiswaController extends Controller
{
    public function index()
    {
        $siswas = Siswa::all();

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

    public function create()
    {
        return view('siswas.create');
    }

    public function store(Request $request)
    {
        $siswa = new Siswa;
        $siswa->nama = $request->nama;
        $siswa->alamat = $request->alamat;
        $siswa->telepon = $request->telepon;
        $siswa->save();

        return redirect('/siswas');
    }

    public function show($id)
    {
        $siswa = Siswa::findOrFail($id);

        return view('siswas.show', compact('siswa'));
    }

    public function edit($id)
    {
        $siswa = Siswa::findOrFail($id);

        return view('siswas.edit', compact('siswa'));
    }

    public function update(Request $request, $id)
    {
        $siswa = Siswa::findOrFail($id);
        $siswa->nama = $request->nama;
        $siswa->alamat = $request->alamat;
        $siswa->telepon = $request->telepon;
        $siswa->save();

        return redirect('/siswas');
    }

    public function destroy($id)
    {
        $siswa = Siswa::findOrFail($id);
        $siswa->delete();

        return redirect('/siswas');
    }
}

Controller ini memiliki tujuh metode: index, create, store, show, edit, update, dan delete. Metode index menampilkan semua data siswa, metode create menampilkan formulir untuk membuat siswa baru, metode store menyimpan data siswa baru, metode show menampilkan detail siswa tertentu, metode edit menampilkan formulir untuk mengedit siswa tertentu, metode update menyimpan data siswa yang telah diedit, dan metode delete menghapus siswa tertentu.

3. Membuat View

View adalah file yang berisi tampilan aplikasi. Dalam Laravel, view didefinisikan dalam direktori resources/views. Untuk membuat view siswa, kita bisa membuat file resources/views/siswas/index.blade.php dan menambahkan kode berikut:

@extends('layouts.app')

@section('content')
    <h1>Siswa</h1>

    <table class="table table-striped table-bordered">
        <thead>
            <tr>
                <th>Nama</th>
                <th>Alamat</th>
                <th>Telepon</th>
                <th>Aksi</th>
            </tr>
        </thead>
        <tbody>
            @foreach ($siswas as $siswa)
                <tr>
                    <td>{{ $siswa->nama }}</td>
                    <td>{{ $siswa->alamat }}</td>
                    <td>{{ $siswa->telepon }}</td>
                    <td>
                        <a href="{{%20route('siswas.show',%20['siswa'%20=>%20$siswa->id])%20}}" class="btn btn-info">Lihat</a>
                        <a href="{{%20route('siswas.edit',%20['siswa'%20=>%20$siswa->id])%20}}" class="btn btn-warning">Edit</a>
                        <form action="{{ route('siswas.destroy', ['siswa' => $siswa->id]) }}" method="POST" class="d-inline">
                            @csrf
                            @method('DELETE')
                            <button type="submit" class="btn btn-danger">Hapus</button>
                        </form>
                    </td>
                </tr>
            @endforeach
        </tbody>
    </table>

    <a href="{{%20route('siswas.create')%20}}" class="btn btn-primary">Tambah Siswa</a>
@endsection

View ini berisi tabel yang menampilkan data siswa. Kita menggunakan blade template engine untuk membuat view ini.

4. Menambahkan Route

Route adalah aturan yang menentukan bagaimana permintaan HTTP akan dipetakan ke controller. Dalam Laravel, route didefinisikan dalam file routes/web.php. Untuk menambahkan route siswa, kita bisa menambahkan kode berikut ke file routes/web.php:

Route::resource('siswas', 'SiswaController');

Kode ini akan menambahkan route untuk semua metode controller siswa.

5. Menjalankan Aplikasi

Leave a Reply

Your email address will not be published. Required fields are marked *