KelasIT.com
Web Development

Belajar Laravel untuk Pemula

Panduan langkah pertama belajar Laravel: instalasi, membuat route dan halaman pertama, controller, Blade, database dengan Eloquent, validasi form, dan jalur belajar bertahap untuk pemula.

Belajar Laravel untuk Pemula

Jika kamu sudah memahami dasar PHP dan ingin membangun aplikasi web yang serius, Laravel adalah pilihan yang sangat ramah bagi pemula. Artikel ini memandumu membuat aplikasi kecil daftar catatan sambil memperkenalkan konsep-konsep intinya. Untuk gambaran besar framework ini, baca juga Mengenal Laravel untuk Pengembangan Aplikasi Web.

Sebelum mulai: cek bekalmu

  • Dasar PHP: variable, array, function, dan sedikit OOP (class, method, namespace).
  • Dasar HTML dan terminal.
  • Terpasang: PHP 8.1+, Composer, dan MySQL (atau SQLite untuk yang lebih sederhana).

Periksa dengan php -v dan composer -V.

Langkah 1: Membuat proyek

composer create-project laravel/laravel catatan
cd catatan
php artisan serve

Buka http://localhost:8000. Jika halaman Laravel tampil, instalasimu berhasil.

Buka file .env dan atur database:

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

Buat database catatan terlebih dahulu di MySQL.

Langkah 2: Route pertama

Route menghubungkan URL ke kode. Buka routes/web.php:

Route::get('/halo', function () {
    return 'Halo, Laravel!';
});

Kunjungi /halo. Selamat, itu halaman pertamamu. Route yang lebih rapi memakai controller:

Route::get('/catatan', [CatatanController::class, 'index']);

Langkah 3: Database dengan migration

php artisan make:model Catatan -mc

Edit migration yang terbentuk:

Schema::create('catatans', function (Blueprint $table) {
    $table->id();
    $table->string('judul');
    $table->text('isi');
    $table->timestamps();
});
php artisan migrate

Di model, izinkan pengisian kolom:

class Catatan extends Model
{
    protected $fillable = ['judul', 'isi'];
}

Pelajari lebih dalam di Laravel Migration dan Database.

Langkah 4: Controller dan view

Controller app/Http/Controllers/CatatanController.php:

public function index()
{
    $catatan = Catatan::latest()->get();
    return view('catatan.index', ['catatan' => $catatan]);
}

public function store(Request $request)
{
    $data = $request->validate([
        'judul' => 'required|max:100',
        'isi'   => 'required',
    ]);

    Catatan::create($data);

    return redirect('/catatan')->with('sukses', 'Catatan disimpan!');
}

Route tambahan:

Route::post('/catatan', [CatatanController::class, 'store']);

View resources/views/catatan/index.blade.php:

<h1>Catatanku</h1>

@if (session('sukses'))
    <p style="color:green">{{ session('sukses') }}</p>
@endif

<form method="POST" action="/catatan">
    @csrf
    <input name="judul" placeholder="Judul" value="{{ old('judul') }}">
    @error('judul') <small>{{ $message }}</small> @enderror
    <textarea name="isi" placeholder="Isi catatan">{{ old('isi') }}</textarea>
    @error('isi') <small>{{ $message }}</small> @enderror
    <button>Simpan</button>
</form>

@forelse ($catatan as $c)
    <article>
        <h3>{{ $c->judul }}</h3>
        <p>{{ $c->isi }}</p>
    </article>
@empty
    <p>Belum ada catatan.</p>
@endforelse

Konsep penting yang baru saja kamu pakai

KonsepPeran
RouteMemetakan URL ke aksi
ControllerMenampung logika permintaan
Model (Eloquent)Mewakili tabel; Catatan::create(...) menyimpan data
MigrationMendefinisikan struktur tabel sebagai kode
BladeTemplate HTML dengan {{ }}, @if, @foreach
Validasi$request->validate() memeriksa input
CSRF@csrf melindungi form dari pemalsuan permintaan

Perintah Artisan yang wajib hafal

PerintahFungsi
php artisan serveMenjalankan server pengembangan
php artisan route:listMelihat semua route
php artisan make:model X -mcrModel + migration + controller resource
php artisan migrateMenjalankan migration
php artisan tinkerKonsol interaktif untuk mencoba kode
php artisan cache:clear / config:clear / view:clearMembersihkan cache saat perubahan tidak terbaca

Kesalahan yang sering dialami pemula

  • "Access denied for user": kredensial .env salah. Setelah mengubah .env, jalankan php artisan config:clear.
  • Halaman 419: lupa @csrf.
  • "Target class does not exist": namespace controller belum di-import di file route.
  • Perubahan tidak muncul: cache view/config; bersihkan cache.
  • Tabel tidak ditemukan: lupa php artisan migrate.
  • Mengedit folder vendor: jangan. Folder itu dikelola Composer.

Jalur belajar berikutnya

  1. Selesaikan CRUD lengkap: ubah dan hapus catatan (Cara Membuat CRUD Menggunakan Laravel).
  2. Pelajari layout Blade (@extends, @section) dan komponen.
  3. Pahami relasi Eloquent (Mengenal Eloquent Relationship).
  4. Tambahkan autentikasi (Membuat Authentication Laravel).
  5. Latih pembuatan API (Membuat REST API dengan Laravel).
  6. Terakhir, deploy ke server.

Konsep yang akan kamu temui setelah ini

Konfigurasi dan environment

File .env menyimpan nilai yang berbeda tiap lingkungan (lokal, staging, produksi): kredensial database, kunci API, mode debug. Jangan pernah meng-commit .env. Di kode, baca nilai lewat config('app.name'), bukan env() langsung, agar cache konfigurasi bekerja.

Tinker: laboratorium kecilmu

php artisan tinker
>>> Catatan::create(['judul' => 'Tes', 'isi' => 'Dari tinker']);
>>> Catatan::count();
>>> Catatan::latest()->first()->judul;

Sangat membantu untuk mencoba query Eloquent tanpa membuat halaman.

Seeder dan factory

Untuk mengisi data contoh agar tampilan tidak kosong saat pengembangan:

php artisan make:factory CatatanFactory
php artisan db:seed

Pesan error yang ramah

Saat APP_DEBUG=true (hanya di lokal!), Laravel menampilkan halaman error informatif berisi baris kode penyebab dan saran perbaikan. Biasakan membacanya dari atas: pesan utama dan baris kodemu sendiri biasanya cukup untuk menemukan masalah.

Peta belajar 6 minggu untuk pemula

MingguTopikHasil
1Instalasi, route, controller, BladeBeberapa halaman statis dinamis
2Migration, model, Eloquent dasarMenyimpan dan menampilkan data
3Form, validasi, CRUD lengkapAplikasi catatan yang bisa ubah/hapus
4Layout, komponen, pagination, uploadTampilan rapi dan reusable
5Relasi Eloquent, autentikasiCatatan milik masing-masing pengguna
6Testing dasar dan deployAplikasi tayang di internet

Sumber belajar yang bisa dipercaya

  • Dokumentasi resmi Laravel: lengkap, rapi, dan selalu terbaru.
  • Laracasts: video pembelajaran bertahap.
  • Komunitas lokal (grup Laravel Indonesia) untuk bertanya.
  • Latihan proyek: ganti aplikasi catatan menjadi sesuatu yang kamu butuhkan, misalnya pencatat pengeluaran.

Tanda kamu siap naik level

Kamu bisa membuat CRUD tanpa melihat contoh, memahami alur permintaan dari route sampai view, menjelaskan perbedaan $post->comments dan $post->comments(), serta tahu cara membaca halaman error. Saat itu terpenuhi, lanjutkan ke topik seperti relasi, API, antrian, dan testing.

Kesimpulan

Laravel membuat tugas web yang rumit terasa ringan, tetapi tetap butuh latihan. Mulailah dari proyek kecil seperti aplikasi catatan ini, pahami alur route → controller → model → view, dan tambahkan fitur sedikit demi sedikit.

A
Admin KelasIT

Menulis tentang pemrograman, database, AI, dan karier di dunia IT supaya belajar terasa lebih mudah dan menyenangkan.

Komentar (0)

Komentar hanya untuk member. Masuk atau daftar gratis untuk ikut berdiskusi.

Mau belajar lebih dalam?

Course online dengan latihan coding interaktif dan sertifikat.

Lihat Course →

Gabung komunitas

Tanya jawab, info event, dan teman belajar di grup WhatsApp.

Gabung Grup