m.techreview.click
  • Website
  • Hosting
  • Indonesia
  • Laravel
  • Bisnis
  • Development
No Result
View All Result
m.techreview.click
  • Website
  • Hosting
  • Indonesia
  • Laravel
  • Bisnis
  • Development
No Result
View All Result
m.techreview.click
No Result
View All Result
Home Bahasa

Tutorial Laravel untuk Pemula Bahasa Indonesia Lengkap: Langkah Awal Anda

Jasper by Jasper
September 11, 2025
in Bahasa, Laravel, Lengkap, Pemula, Tutorial
0
Share on FacebookShare on Twitter
# Tutorial Laravel untuk Pemula Bahasa Indonesia Lengkap: Langkah Awal Anda

Selamat datang para calon developer hebat! Anda tertarik untuk belajar Laravel, salah satu *framework* PHP paling populer di dunia?  Anda berada di tempat yang tepat! Tutorial ini dirancang khusus untuk pemula yang ingin memulai perjalanan mereka di dunia Laravel.  Kami akan membahas semuanya dari nol, menggunakan Bahasa Indonesia yang mudah dipahami, sehingga Anda bisa menguasai dasar-dasar Laravel dengan cepat dan efektif. Siap? Mari kita mulai!

## Daftar Isi

*   [Apa itu Laravel dan Mengapa Anda Harus Mempelajarinya?](#apa-itu-laravel-dan-mengapa-anda-harus-mempelajarinya)
*   [Persiapan Lingkungan Pengembangan Laravel (XAMPP, Composer)](#persiapan-lingkungan-pengembangan-laravel-xampp-composer)
*   [Instalasi Laravel: Langkah Demi Langkah dengan Composer](#instalasi-laravel-langkah-demi-langkah-dengan-composer)
*   [Struktur Direktori Laravel: Mengenal Anatomi Aplikasi Anda](#struktur-direktori-laravel-mengenal-anatomi-aplikasi-anda)
*   [Routing di Laravel: Mengatur Arah Aplikasi Web Anda](#routing-di-laravel-mengatur-arah-aplikasi-web-anda)
*   [Controller di Laravel: Logika Aplikasi dan Data Processing](#controller-di-laravel-logika-aplikasi-dan-data-processing)
*   [View di Laravel: Menampilkan Data dengan Blade Template Engine](#view-di-laravel-menampilkan-data-dengan-blade-template-engine)
*   [Database dan Migrasi Laravel: Mengelola Data dengan Efisien](#database-dan-migrasi-laravel-mengelola-data-dengan-efisien)
*   [Eloquent ORM: Berinteraksi dengan Database Menggunakan Objek](#eloquent-orm-berinteraksi-dengan-database-menggunakan-objek)
*   [Form Handling di Laravel: Mengelola Input Pengguna](#form-handling-di-laravel-mengelola-input-pengguna)
*   [Validasi Data Laravel: Memastikan Input Pengguna Valid](#validasi-data-laravel-memastikan-input-pengguna-valid)
*   [Kesimpulan dan Langkah Selanjutnya Belajar Laravel](#kesimpulan-dan-langkah-selanjutnya-belajar-laravel)

<a name="apa-itu-laravel-dan-mengapa-anda-harus-mempelajarinya"></a>
## Apa itu Laravel dan Mengapa Anda Harus Mempelajarinya?

Sebelum kita terjun lebih dalam ke kode, mari kita pahami dulu apa itu Laravel. Laravel adalah sebuah *framework* PHP yang bersifat *open-source* (gratis) yang dirancang untuk membuat aplikasi web dengan lebih cepat, efisien, dan aman.  Bayangkan membangun rumah. Anda bisa mulai dari nol, membuat setiap batu bata satu per satu.  Atau, Anda bisa menggunakan *framework* yang sudah memiliki fondasi, dinding, dan atap. Laravel adalah *framework* untuk aplikasi web Anda.

**Mengapa Laravel Sangat Populer?**

*   **Mudah Dipelajari:** Laravel menyediakan dokumentasi yang sangat lengkap dan mudah diikuti. Selain itu, komunitas Laravel sangat besar dan aktif, sehingga Anda akan mudah menemukan bantuan jika mengalami kesulitan.  **Tutorial Laravel untuk Pemula** seperti ini hadir untuk mempermudah proses belajar Anda.
*   **Kode yang Terstruktur:** Laravel memaksa Anda untuk menulis kode yang terstruktur dan terorganisir, mengikuti prinsip-prinsip *Model-View-Controller* (MVC).  Ini membuat kode Anda lebih mudah dibaca, dipelihara, dan ditingkatkan.
*   **Fitur yang Kaya:** Laravel dilengkapi dengan banyak fitur *built-in* yang akan sangat membantu Anda dalam mengembangkan aplikasi web, seperti *routing*, *templating engine* (Blade), *ORM* (Eloquent), *authentication*, *authorization*, *testing*, dan masih banyak lagi.
*   **Keamanan:** Laravel menyediakan fitur keamanan yang kuat untuk melindungi aplikasi Anda dari serangan *web*, seperti *cross-site scripting* (XSS) dan *SQL injection*.
*   **Komunitas yang Besar:** Komunitas Laravel sangat besar dan aktif di seluruh dunia. Ini berarti Anda akan mudah menemukan sumber daya, *library*, dan dukungan jika Anda mengalami masalah.
*   **Job Opportunities:** Permintaan untuk *developer* Laravel terus meningkat. Menguasai Laravel akan membuka banyak peluang karir di industri *web development*.

Singkatnya, Laravel adalah pilihan yang sangat baik untuk *developer* yang ingin membangun aplikasi web modern dengan cepat, efisien, dan aman.  **Tutorial Laravel untuk Pemula** ini akan membantu Anda memanfaatkan keunggulan-keunggulan Laravel.

<a name="persiapan-lingkungan-pengembangan-laravel-xampp-composer"></a>
## Persiapan Lingkungan Pengembangan Laravel (XAMPP, Composer)

Sebelum Anda dapat memulai **tutorial Laravel untuk Pemula** ini, Anda perlu menyiapkan lingkungan pengembangan di komputer Anda.  Ada beberapa alat yang perlu Anda instal:

1.  **XAMPP (atau sejenisnya):** XAMPP adalah paket perangkat lunak yang berisi Apache (server web), MySQL (database), dan PHP. Ini akan memungkinkan Anda untuk menjalankan aplikasi Laravel di komputer Anda.  Alternatif lain untuk XAMPP termasuk MAMP (untuk macOS) dan WAMP (untuk Windows). Anda dapat mengunduh XAMPP dari [https://www.apachefriends.org/index.html](https://www.apachefriends.org/index.html).

    *   **Instalasi XAMPP:** Ikuti petunjuk instalasi yang disediakan di situs web XAMPP. Pastikan Anda memilih untuk menginstal Apache, MySQL, dan PHP.
    *   **Menjalankan XAMPP:** Setelah instalasi selesai, jalankan XAMPP Control Panel.  Klik tombol "Start" untuk Apache dan MySQL.  Ini akan memulai *server web* dan *database server* Anda.

2.  **Composer:** Composer adalah *dependency manager* untuk PHP.  Ini akan memungkinkan Anda untuk menginstal Laravel dan *library* PHP lainnya yang dibutuhkan oleh aplikasi Anda. Anda dapat mengunduh Composer dari [https://getcomposer.org/](https://getcomposer.org/).

    *   **Instalasi Composer:** Ikuti petunjuk instalasi yang disediakan di situs web Composer. Pastikan Anda menambahkan Composer ke *system PATH* Anda agar Anda dapat menjalankannya dari *command line* (terminal).
    *   **Verifikasi Instalasi Composer:** Buka *command line* (terminal) Anda dan ketik `composer -v`.  Jika Composer terinstal dengan benar, Anda akan melihat informasi tentang versi Composer yang terinstal.

Setelah Anda menginstal XAMPP dan Composer, Anda sudah siap untuk memulai **tutorial Laravel untuk Pemula** ini.

<a name="instalasi-laravel-langkah-demi-langkah-dengan-composer"></a>
## Instalasi Laravel: Langkah Demi Langkah dengan Composer

Sekarang kita akan masuk ke inti **tutorial Laravel untuk Pemula** ini: instalasi Laravel! Kita akan menggunakan Composer, *dependency manager* yang sudah kita instal sebelumnya.

1.  **Buka Command Line (Terminal):** Buka *command line* (terminal) di komputer Anda.
2.  **Navigasi ke Direktori Web Server:**  Arahkan ke direktori tempat Anda ingin menyimpan proyek Laravel Anda. Biasanya, ini adalah direktori `htdocs` di dalam direktori instalasi XAMPP Anda (misalnya, `C:xampphtdocs` di Windows atau `/Applications/XAMPP/htdocs` di macOS). Gunakan perintah `cd` untuk berpindah direktori. Contoh:

    ```bash
    cd C:xampphtdocs
  1. Jalankan Perintah Instalasi Laravel: Ketik perintah berikut dan tekan Enter:

    composer create-project --prefer-dist laravel/laravel nama-proyek

    Ganti nama-proyek dengan nama yang Anda inginkan untuk proyek Laravel Anda (misalnya, belajar-laravel).

    • composer create-project: Perintah ini memberitahu Composer untuk membuat proyek baru.
    • --prefer-dist: Opsi ini memberitahu Composer untuk mengunduh paket Laravel dalam bentuk distribution archive (biasanya lebih cepat).
    • laravel/laravel: Ini adalah package name untuk Laravel.
    • nama-proyek: Ini adalah nama direktori yang akan dibuat untuk proyek Laravel Anda.
  2. Tunggu Proses Instalasi Selesai: Composer akan mengunduh dan menginstal semua dependency yang dibutuhkan oleh Laravel. Proses ini mungkin memakan waktu beberapa menit, tergantung pada kecepatan internet Anda.

  3. Masuk ke Direktori Proyek: Setelah proses instalasi selesai, masuk ke direktori proyek Anda menggunakan perintah cd:

    cd nama-proyek

    Ganti nama-proyek dengan nama yang Anda berikan pada proyek Anda di langkah sebelumnya.

  4. Jalankan Server Pengembangan Laravel: Laravel memiliki built-in development server yang sangat mudah digunakan. Jalankan perintah berikut:

    php artisan serve

    Ini akan memulai server pada http://127.0.0.1:8000.

  5. Buka Aplikasi Laravel Anda di Browser: Buka web browser Anda dan kunjungi http://127.0.0.1:8000. Jika semuanya berjalan dengan lancar, Anda akan melihat halaman selamat datang Laravel!

Selamat! Anda telah berhasil menginstal Laravel. Sekarang, mari kita lanjutkan ke langkah selanjutnya dalam tutorial Laravel untuk Pemula ini.

Struktur Direktori Laravel: Mengenal Anatomi Aplikasi Anda

Setelah berhasil menginstal Laravel, penting untuk memahami struktur direktori proyek Laravel Anda. Ini akan membantu Anda menavigasi kode dan menemukan file yang Anda butuhkan. Berikut adalah gambaran umum struktur direktori Laravel:

  • app/: Direktori ini berisi kode inti aplikasi Anda, seperti models, controllers, providers, dan policies.

    • app/Http/Controllers/: Direktori ini berisi controllers Anda. Controllers menangani permintaan HTTP dan mengembalikan respons.
    • app/Models/: Direktori ini berisi models Anda. Models berinteraksi dengan database.
    • app/Providers/: Direktori ini berisi service providers. Service providers mendaftarkan layanan yang dibutuhkan oleh aplikasi Anda.
  • bootstrap/: Direktori ini berisi file yang mem-bootstrap aplikasi Laravel. Anda jarang perlu mengubah file di direktori ini.

  • config/: Direktori ini berisi file konfigurasi untuk berbagai aspek aplikasi Anda, seperti database, mail, dan session.

  • database/: Direktori ini berisi file terkait database, seperti migrations dan seeders.

    • database/migrations/: Direktori ini berisi database migrations. Migrations memungkinkan Anda untuk mengubah struktur database Anda dengan mudah.
    • database/seeders/: Direktori ini berisi database seeders. Seeders memungkinkan Anda untuk mengisi database Anda dengan data awal.
  • public/: Direktori ini adalah direktori public yang dapat diakses oleh web server. Ini berisi file index.php, CSS, JavaScript, dan gambar Anda.

  • resources/: Direktori ini berisi views, language files, dan assets Anda.

    • resources/views/: Direktori ini berisi views Anda. Views adalah template yang digunakan untuk menampilkan data ke pengguna.
    • resources/lang/: Direktori ini berisi language files. Language files digunakan untuk mendukung beberapa bahasa.
    • resources/assets/: Direktori ini berisi assets Anda, seperti CSS, JavaScript, dan gambar.
  • routes/: Direktori ini berisi file routing Anda. Routing menentukan bagaimana aplikasi Anda merespons permintaan HTTP.

    • routes/web.php: File ini berisi routes untuk halaman web Anda.
    • routes/api.php: File ini berisi routes untuk API Anda.
  • storage/: Direktori ini digunakan untuk menyimpan file yang dihasilkan oleh aplikasi Anda, seperti logs, cache, dan uploads.

  • tests/: Direktori ini berisi tests Anda. Tests digunakan untuk memastikan bahwa kode Anda berfungsi dengan benar.

  • vendor/: Direktori ini berisi dependency yang diinstal oleh Composer.

Memahami struktur direktori Laravel ini adalah kunci untuk mengembangkan aplikasi web yang terorganisir dan mudah dipelihara. Selanjutnya dalam tutorial Laravel untuk Pemula ini, kita akan membahas routing.

Related Post

Belajar Web Development dari Nol Sampai Mahir: Roadmap Lengkap 2024

September 11, 2025

Framework Web Development Terbaik untuk Startup Indonesia: Pilih yang Tepat

September 11, 2025

Cara Membuat Website E-Commerce dengan WordPress WooCommerce: Panduan Lengkap

September 10, 2025

Tutorial Membuat Website Portfolio dengan HTML CSS JavaScript: Langkah Demi Langkah

September 10, 2025

Routing di Laravel: Mengatur Arah Aplikasi Web Anda

Routing adalah salah satu konsep dasar dalam Laravel. Routing menentukan bagaimana aplikasi Anda merespons permintaan HTTP. Setiap kali pengguna mengunjungi URL di aplikasi Anda, routing akan menentukan controller mana yang akan menangani permintaan tersebut dan view mana yang akan ditampilkan.

File routing utama untuk halaman web Anda adalah routes/web.php. Buka file ini dan Anda akan melihat beberapa route default.

Contoh Route Sederhana:

use IlluminateSupportFacadesRoute;

Route::get('/', function () {
    return view('welcome');
});

Penjelasan:

  • Route::get('/', ...): Ini mendefinisikan route yang merespons permintaan GET ke URL / (halaman utama).
  • function () { ... }: Ini adalah closure (fungsi anonim) yang akan dieksekusi ketika route ini diakses.
  • return view('welcome');: Ini mengembalikan view bernama welcome. View welcome biasanya terletak di resources/views/welcome.blade.php.

Route dengan Parameter:

Anda juga dapat mendefinisikan route dengan parameter. Parameter memungkinkan Anda untuk mengirim data ke controller Anda.

Route::get('/user/{id}', function ($id) {
    return 'User ID: ' . $id;
});

Penjelasan:

  • Route::get('/user/{id}', ...): Ini mendefinisikan route yang merespons permintaan GET ke URL /user/{id}. {id} adalah parameter yang akan digantikan dengan nilai sebenarnya.
  • function ($id) { ... }: Ini adalah closure yang menerima parameter $id.
  • return 'User ID: ' . $id;: Ini mengembalikan teks “User ID: ” diikuti dengan nilai parameter $id.

Untuk mengakses route ini, Anda dapat mengunjungi URL /user/123. Ini akan menampilkan “User ID: 123”.

Route ke Controller:

Daripada menggunakan closure, Anda biasanya akan mengarahkan route ke controller. Ini membuat kode Anda lebih terstruktur dan terorganisir.

use AppHttpControllersUserController;

Route::get('/users', [UserController::class, 'index']);

Penjelasan:

  • use AppHttpControllersUserController;: Ini mengimpor class UserController.
  • Route::get('/users', [UserController::class, 'index']);: Ini mendefinisikan route yang merespons permintaan GET ke URL /users dan memanggil method index di class UserController.

Metode Route Lainnya:

Selain Route::get(), ada juga metode route lainnya yang dapat Anda gunakan:

  • Route::post(): Untuk permintaan POST (biasanya digunakan untuk mengirim data ke server).
  • Route::put(): Untuk permintaan PUT (biasanya digunakan untuk memperbarui data).
  • Route::patch(): Untuk permintaan PATCH (biasanya digunakan untuk memperbarui sebagian data).
  • Route::delete(): Untuk permintaan DELETE (biasanya digunakan untuk menghapus data).
  • Route::resource(): Untuk membuat resource controller yang menyediakan route standar untuk operasi CRUD (Create, Read, Update, Delete).

Memahami routing adalah langkah penting dalam tutorial Laravel untuk Pemula ini. Selanjutnya, kita akan membahas controllers.

Controller di Laravel: Logika Aplikasi dan Data Processing

Controllers adalah bagian penting dari arsitektur MVC (Model-View-Controller). Controllers bertanggung jawab untuk menangani permintaan HTTP, memproses data, berinteraksi dengan model, dan mengembalikan respons (biasanya berupa view).

Membuat Controller:

Anda dapat membuat controller menggunakan perintah Artisan:

php artisan make:controller UserController

Ini akan membuat file UserController.php di direktori app/Http/Controllers/.

Contoh Controller:

<?php

namespace AppHttpControllers;

use IlluminateHttpRequest;

class UserController extends Controller
{
    public function index()
    {
        $users = [
            ['id' => 1, 'name' => 'John Doe'],
            ['id' => 2, 'name' => 'Jane Doe'],
        ];

        return view('users.index', ['users' => $users]);
    }

    public function show($id)
    {
        $user = ['id' => $id, 'name' => 'User ' . $id];

        return view('users.show', ['user' => $user]);
    }
}

Penjelasan:

  • namespace AppHttpControllers;: Ini mendefinisikan namespace untuk controller ini.
  • use IlluminateHttpRequest;: Ini mengimpor class Request.
  • class UserController extends Controller: Ini mendefinisikan class UserController yang extend dari class Controller.
  • public function index(): Ini adalah method index yang akan dipanggil ketika route /users diakses.
  • $users = [...]: Ini membuat array berisi data user.
  • return view('users.index', ['users' => $users]);: Ini mengembalikan view users.index dan mengirimkan array $users ke view.
  • public function show($id): Ini adalah method show yang akan dipanggil ketika route /user/{id} diakses.
  • $user = [...]: Ini membuat array berisi data user berdasarkan $id.
  • return view('users.show', ['user' => $user]);: Ini mengembalikan view users.show dan mengirimkan array $user ke view.

Menggunakan Request:

Class Request memungkinkan Anda untuk mengakses data yang dikirimkan oleh pengguna melalui form atau query string.

public function store(Request $request)
{
    $name = $request->input('name');

    // Simpan data ke database
    // ...

    return redirect('/users');
}

Penjelasan:

  • public function store(Request $request): Ini adalah method store yang menerima instance dari class Request.
  • $name = $request->input('name');: Ini mengambil nilai dari input name yang dikirimkan oleh pengguna.
  • return redirect('/users');: Ini mengalihkan pengguna ke URL /users.

Controllers adalah jantung dari aplikasi Anda. Mereka menangani logika aplikasi dan berinteraksi dengan model dan view. Memahami controllers adalah kunci untuk menjadi developer Laravel yang handal. Lanjut ke tutorial Laravel untuk Pemula selanjutnya, kita akan membahas views.

View di Laravel: Menampilkan Data dengan Blade Template Engine

Views bertanggung jawab untuk menampilkan data ke pengguna. Di Laravel, views biasanya ditulis menggunakan Blade template engine. Blade adalah template engine yang sederhana dan kuat yang memungkinkan Anda untuk menggunakan sintaks PHP di dalam template Anda.

Membuat View:

Views biasanya disimpan di direktori resources/views/. Anda dapat membuat view baru dengan membuat file .blade.php di direktori ini.

Contoh View (users.index.blade.php):

<!DOCTYPE html>
<html>
<head>
    <title>Daftar Pengguna</title>
</head>
<body>
    <h1>Daftar Pengguna</h1>

    <ul>
        @foreach ($users as $user)
            <li>{{ $user['name'] }}</li>
        @endforeach
    </ul>
</body>
</html>

Penjelasan:

  • @foreach ($users as $user): Ini adalah loop Blade yang mengulang setiap elemen di array $users.
  • <li>{{ $user['name'] }}</li>: Ini menampilkan nama user di dalam list item.
  • {{ $user['name'] }}: Ini adalah cara untuk menampilkan data di Blade. Blade akan secara otomatis escape data ini untuk mencegah XSS.

Contoh View (users.show.blade.php):

<!DOCTYPE html>
<html>
<head>
    <title>Detail Pengguna</title>
</head>
<body>
    <h1>Detail Pengguna</h1>

    <p>ID: {{ $user['id'] }}</p>
    <p>Nama: {{ $user['name'] }}</p>
</body>
</html>

Menggunakan Layouts:

Untuk menghindari pengulangan kode, Anda dapat menggunakan layouts. Layouts adalah template yang berisi struktur dasar halaman web Anda.

Contoh Layout (layouts.app.blade.php):

<!DOCTYPE html>
<html>
<head>
    <title>@yield('title')</title>
</head>
<body>
    @include('partials.navbar')

    <div class="container">
        @yield('content')
    </div>

    @include('partials.footer')
</body>
</html>

Penjelasan:

  • @yield('title'): Ini adalah placeholder untuk title halaman.
  • @include('partials.navbar'): Ini menyertakan partial view partials.navbar.
  • @yield('content'): Ini adalah placeholder untuk konten halaman.
  • @include('partials.footer'): Ini menyertakan partial view partials.footer.

Contoh View yang Menggunakan Layout (users.index.blade.php):

@extends('layouts.app')

@section('title', 'Daftar Pengguna')

@section('content')
    <h1>Daftar Pengguna</h1>

    <ul>
        @foreach ($users as $user)
            <li>{{ $user['name'] }}</li>
        @endforeach
    </ul>
@endsection

Penjelasan:

  • @extends('layouts.app'): Ini mengindikasikan bahwa view ini extend dari layout layouts.app.
  • @section('title', 'Daftar Pengguna'): Ini mengisi placeholder title di layout dengan teks “Daftar Pengguna”.
  • @section('content') ... @endsection: Ini mengisi placeholder content di layout dengan konten halaman.

Dengan Blade template engine, Anda dapat membuat views yang dinamis dan mudah dipelihara. Ini adalah alat yang sangat penting dalam tutorial Laravel untuk Pemula ini. Sekarang, kita lanjutkan dengan pengelolaan data.

Database dan Migrasi Laravel: Mengelola Data dengan Efisien

Mengelola database adalah bagian penting dari pengembangan aplikasi web. Laravel menyediakan alat yang kuat untuk membuat, mengubah, dan mengisi database Anda dengan mudah. Alat ini disebut migrations.

Konfigurasi Database:

Sebelum Anda dapat menggunakan migrations, Anda perlu mengkonfigurasi koneksi database Anda. Buka file .env di direktori proyek Anda dan ubah nilai-nilai berikut:

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=nama_database_anda
DB_USERNAME=nama_pengguna_database_anda
DB_PASSWORD=password_database_anda

Ganti nama_database_anda, nama_pengguna_database_anda, dan password_database_anda dengan nilai yang sesuai untuk database Anda. Pastikan database sudah dibuat.

Membuat Migration:

Anda dapat membuat migration menggunakan perintah Artisan:

php artisan make:migration create_users_table

Ini akan membuat file migration baru di direktori database/migrations/.

Contoh Migration:

<?php

use IlluminateDatabaseMigrationsMigration;
use IlluminateDatabaseSchemaBlueprint;
use IlluminateSupportFacadesSchema;

class CreateUsersTable extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::create('users', function (Blueprint $table) {
            $table->id();
            $table->string('name');
            $table->string('email')->unique();
            $table->timestamp('email_verified_at')->nullable();
            $table->string('password');
            $table->rememberToken();
            $table->timestamps();
        });
    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::dropIfExists('users');
    }
}

Penjelasan:

  • Schema::create('users', function (Blueprint $table) { ... });: Ini membuat tabel bernama users.
  • $table->id();: Ini membuat kolom id yang merupakan primary key dan auto-incrementing.
  • $table->string('name');: Ini membuat kolom name yang bertipe string.
  • $table->string('email')->unique();: Ini membuat kolom email yang bertipe string dan unik.
  • $table->timestamp('email_verified_at')->nullable();: Ini membuat kolom email_verified_at yang bertipe timestamp dan boleh kosong (nullable).
  • $table->string('password');: Ini membuat kolom password yang bertipe string.
  • $table->rememberToken();: Ini menambahkan kolom remember_token.
  • $table->timestamps();: Ini menambahkan kolom created_at dan updated_at yang bertipe timestamp.
  • Schema::dropIfExists('users');: Ini menghapus tabel users jika ada.

Menjalankan Migrations:

Anda dapat menjalankan migrations menggunakan perintah Artisan:

php artisan migrate

Ini akan menjalankan semua migrations yang belum dijalankan.

Reversing Migrations (Rollback):

Anda dapat membatalkan migration terakhir menggunakan perintah Artisan:

php artisan migrate:rollback

Anda juga dapat membatalkan semua migrations menggunakan perintah Artisan:

php artisan migrate:reset

Migrations adalah alat yang sangat berguna untuk mengelola database Anda dengan mudah dan aman. Ini membantu Anda untuk menjaga database Anda tetap up-to-date dan konsisten. Lanjut ke bagian berikutnya dari tutorial Laravel untuk Pemula ini, kita akan membahas Eloquent ORM.

Eloquent ORM: Berinteraksi dengan Database Menggunakan Objek

Eloquent ORM (Object-Relational Mapper) adalah cara yang elegan dan mudah untuk berinteraksi dengan database di Laravel. Dengan Eloquent, Anda dapat berinteraksi dengan database menggunakan objek PHP daripada menulis query SQL mentah.

Membuat Model:

Anda dapat membuat model menggunakan perintah Artisan:

php artisan make:model User

Ini akan membuat file User.php di direktori app/Models/.

Contoh Model:

<?php

namespace AppModels;

use IlluminateDatabaseEloquentFactoriesHasFactory;
use IlluminateFoundationAuthUser as Authenticatable;
use IlluminateNotificationsNotifiable;

class User extends Authenticatable
{
    use HasFactory, Notifiable;

    /**
     * The attributes that are mass assignable.
     *
     * @var array
     */
    protected $fillable = [
        'name',
        'email',
        'password',
    ];

    /**
     * The attributes that should be hidden for arrays.
     *
     * @var array
     */
    protected $hidden = [
        'password',
        'remember_token',
    ];

    /**
     * The attributes that should be cast to native types.
     *
     * @var array
     */
    protected $casts = [
        'email_verified_at' => 'datetime',
    ];
}

Penjelasan:

  • class User extends Authenticatable: Ini mendefinisikan class User yang extend dari class Authenticatable (untuk autentikasi).
  • protected $fillable = [...]: Ini mendefinisikan attributes mana yang boleh diisi secara massal (misalnya, saat membuat user baru).
  • protected $hidden = [...]: Ini mendefinisikan attributes mana yang harus disembunyikan saat mengubah model menjadi array atau JSON.
  • protected $casts = [...]: Ini mendefinisikan tipe data untuk attributes.

Menggunakan Model:

Anda dapat menggunakan model untuk melakukan berbagai operasi database, seperti membuat, membaca, memperbarui, dan menghapus data.

// Membuat user baru
$user = new User();
$user->name = 'John Doe';
$user->email = '[email protected]';
$user->password = bcrypt('password');
$user->save();

// Atau, menggunakan mass assignment
$user = User::create([
    'name' => 'Jane Doe',
    'email' => '[email protected]',
    'password' => bcrypt('password'),
]);

// Membaca user berdasarkan ID
$user = User::find(1);

// Membaca semua user
$users = User::all();

// Memperbarui user
$user = User::find(1);
$user->name = 'John Smith';
$user->save();

// Menghapus user
$user = User::find(1);
$user->delete();

Eloquent ORM membuat interaksi dengan database menjadi lebih mudah dan intuitif. Ini adalah alat yang sangat penting untuk mengembangkan aplikasi web yang kompleks. Kita lanjutkan tutorial Laravel untuk Pemula ini dengan mempelajari tentang form handling.

Form Handling di Laravel: Mengelola Input Pengguna

Mengelola form adalah bagian penting dari banyak aplikasi web. Laravel menyediakan cara yang mudah dan aman untuk mengelola form, termasuk memvalidasi input pengguna.

Membuat Form:

Anda dapat membuat form di view Anda menggunakan HTML.

<form method="POST" action="/users">
    @csrf

    <label for="name">Nama:</label><br>
    <input type="text" id="name" name="name"><br><br>

    <label for="email">Email:</label><br>
    <input type="email" id="email" name="email"><br><br>

    <button type="submit">Simpan</button>
</form>

Penjelasan:

  • <form method="POST" action="/users">: Ini mendefinisikan form yang akan mengirimkan data menggunakan metode POST ke URL /users.
  • @csrf: Ini menambahkan CSRF token ke form. CSRF token digunakan untuk melindungi aplikasi Anda dari serangan Cross-Site Request Forgery (CSRF).
  • <input type="text" id="name" name="name">: Ini adalah input field untuk nama.
  • <input type="email" id="email" name="email">: Ini adalah input field untuk email.
  • <button type="submit">Simpan</button>: Ini adalah tombol submit untuk form.

Menangani Form di Controller:

Anda dapat menangani form di controller Anda menggunakan class Request.

public function store(Request $request)
{
    $name = $request->input('name');
    $email = $request->input('email');

    // Simpan data ke database
    $user = new User();
    $user->name = $name;
    $user->email = $email;
    $user->password = bcrypt('password');
    $user->save();

    return redirect('/users');
}

Penjelasan:

  • public function store(Request $request): Ini adalah method store yang menerima instance dari class Request.
  • $name = $request->input('name');: Ini mengambil nilai dari input field name.
  • $email = $request->input('email');: Ini mengambil nilai dari input field email.
  • return redirect('/users');: Ini mengalihkan pengguna ke URL /users.

Form handling adalah bagian penting dari pengembangan aplikasi web interaktif. Dengan Laravel, Anda dapat mengelola form dengan mudah dan aman. Mari lanjutkan tutorial Laravel untuk Pemula ini dengan belajar tentang validasi data.

Validasi Data Laravel: Memastikan Input Pengguna Valid

Validasi data adalah proses memastikan bahwa input pengguna sesuai dengan aturan yang telah ditentukan. Ini penting untuk mencegah kesalahan dan serangan keamanan. Laravel menyediakan cara yang mudah dan fleksibel untuk memvalidasi data.

Melakukan Validasi di Controller:

Anda dapat melakukan validasi data di controller Anda menggunakan method validate().

public function store(Request $request)
{
    $request->validate([
        'name' => 'required|max:255',
        'email' => 'required|email|unique:users',
        'password' => 'required|min:8',
    ]);

    $name = $request->input('name');
    $email = $request->input('email');

    // Simpan data ke database
    $user = new User();
    $user->name = $name;
    $user->email = $email;
    $user->password = bcrypt($request->input('password'));
    $user->save();

    return redirect('/users');
}

Penjelasan:

  • $request->validate([...]): Ini memvalidasi data yang dikirimkan oleh pengguna berdasarkan aturan yang didefinisikan di dalam array.
  • 'name' => 'required|max:255': Ini mendefinisikan aturan validasi untuk input field name. required berarti input field harus diisi. max:255 berarti panjang input field tidak boleh lebih dari 255 karakter.
  • `’email
Tags: Bahasa IndonesiaBelajar LaravelLangkah AwalLaravelLaravel IndonesiaPanduan LaravelpemulaPHP FrameworkTutorial LaravelWeb Development
Jasper

Jasper

Related Posts

2024

Belajar Web Development dari Nol Sampai Mahir: Roadmap Lengkap 2024

by Finnian
September 11, 2025
Development

Framework Web Development Terbaik untuk Startup Indonesia: Pilih yang Tepat

by Seraphina
September 11, 2025
E-commerce

Cara Membuat Website E-Commerce dengan WordPress WooCommerce: Panduan Lengkap

by Willow
September 10, 2025

Leave a Reply Cancel reply

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

Recommended

Cara Membuat Website Sederhana dengan HTML CSS Indonesia: Tutorial Lengkap

August 22, 2025

Belajar Web Development dengan Framework React: Panduan Lengkap untuk Frontend Developer

August 11, 2025

Website Sederhana HTML CSS: Panduan Lengkap Membuat Website Statis Bahasa Indonesia

September 3, 2025

Template Website Gratis untuk Bisnis UKM: Desain Profesional Tanpa Biaya

April 8, 2025

Tutorial Laravel untuk Pemula Bahasa Indonesia Lengkap: Langkah Awal Anda

September 11, 2025

Belajar Web Development dari Nol Sampai Mahir: Roadmap Lengkap 2024

September 11, 2025

Framework Web Development Terbaik untuk Startup Indonesia: Pilih yang Tepat

September 11, 2025

Tips Optimasi Kecepatan Website untuk SEO Indonesia: Ranking 1 di Google

September 10, 2025

m.techreview.click

Our media platform offers reliable news and insightful articles. Stay informed with our comprehensive coverage and in-depth analysis on various topics.
Read more »

Recent Posts

  • Tutorial Laravel untuk Pemula Bahasa Indonesia Lengkap: Langkah Awal Anda
  • Belajar Web Development dari Nol Sampai Mahir: Roadmap Lengkap 2024
  • Framework Web Development Terbaik untuk Startup Indonesia: Pilih yang Tepat

Categories

  • 2024
  • 24 Jam
  • Adaptasi
  • Admin
  • Agency
  • AI
  • Akses
  • Aktif
  • Akuntansi
  • Algoritma
  • Analisis
  • Anggaran
  • Antarmuka
  • Antisipasi
  • API
  • Aplikasi
  • Artikel
  • Asynchronous
  • Audio
  • Authentication
  • Authorization
  • Backend
  • Background
  • Backup
  • Bahasa
  • Bandwidth
  • Bank
  • Bantuan
  • Belajar
  • Bergabung
  • Biaya
  • Bisnis
  • Blog
  • Blogger
  • Bootstrap
  • Branding
  • Budget
  • Bukti
  • Cepat
  • Chatbot
  • Cloud
  • Coding
  • Company
  • Contoh
  • cPanel
  • CRM
  • CRUD
  • CSS
  • Custom
  • Dampak
  • Dasar
  • Dashboard
  • Data
  • Database
  • Deployment
  • Desain
  • Design
  • Detail
  • Developer
  • Development
  • Digital
  • Diskusi
  • Dokumentasi
  • Domain
  • Download
  • Downtime
  • Dukungan
  • E-commerce
  • Efektif
  • Efisiensi
  • Elementor
  • Eloquent
  • Email
  • Engine
  • Enterprise
  • Error
  • Error generating categories
  • Estimasi
  • Etika
  • Event
  • Faktor
  • Fitur
  • Fleksibel
  • Fortify
  • Foto
  • Framework
  • Freelance
  • Freelancer
  • Fresh
  • Frontend
  • Fungsi
  • Gambar
  • Garansi
  • Gratis
  • GTmetrix
  • Hacker
  • Harga
  • Hemat
  • Here are 5 categories derived from the article title "Hosting dengan Dukungan Pelanggan 24 Jam: Bantuan Kapanpun Dibutuhkan": Hosting
  • Here are 5 categories derived from the article title "Hosting Domain Murah Indonesia dengan Proteksi DDoS Gratis: Solusi Terbaik untuk Website Anda": Hosting
  • Here are 5 categories derived from the article title "Hosting VPS Murah untuk Developer Indonesia: Fleksibilitas dan Kontrol Penuh": Hosting
  • Here are 5 categories derived from the provided list and the article titles: Company
  • Hosting
  • HTML
  • Hybrid
  • Impian
  • Implementasi
  • Indonesia
  • Inovasi
  • Inspirasi
  • Instalasi
  • Integrasi
  • Interaktif
  • Internasional
  • Investasi
  • Jakarta
  • Jasa
  • JavaScript
  • Jetstream
  • Kampanye
  • Kantor
  • Kapasitas
  • Karir
  • Karyawan
  • Keamanan
  • Keandalan
  • Keberhasilan
  • Kebutuhan
  • Kecepatan
  • Kecil
  • Kehidupan
  • Kemampuan
  • Kemudahan
  • Kerja
  • Kesalahan
  • Kesehatan
  • Keterampilan
  • Keuntungan
  • Keyword
  • Klien
  • Kode
  • Kompetensi
  • Komponen
  • Komunikasi
  • Komunitas
  • Koneksi
  • Konfigurasi
  • Konsep
  • Konten
  • Konversi
  • Kreativitas
  • Kredibilitas
  • Kriteria
  • Kualitas
  • Kurikulum
  • Langkah
  • Laravel
  • Latihan
  • Layanan
  • Lengkap
  • Library
  • Listener
  • Livewire
  • Logika
  • Logo
  • Lokal
  • Loyalitas
  • Machine Learning
  • Mahasiswa
  • Mahir
  • Maintenance
  • Manajemen
  • Manfaat
  • Manufaktur
  • Marketing
  • Masa Depan
  • Masyarakat
  • Media Sosial
  • Medis
  • Memilih
  • Menarik
  • Meningkatkan
  • Metrik
  • Middleware
  • Midtrans
  • Migrasi
  • Migration
  • Mobile
  • Modern
  • Murah
  • MySQL
  • Node.js
  • NVMe
  • Observer
  • Online
  • Operasional
  • Optimasi
  • ORM
  • Otentikasi
  • Otomatis
  • Otomatisasi
  • Package
  • Panduan
  • Pasar
  • Pekerjaan
  • Pelajar
  • Pelajaran
  • Pelanggan
  • Pelatihan
  • Peluang
  • Pemahaman
  • Pemanfaatan
  • Pemasaran
  • Pembayaran
  • Pembuatan
  • Pemilihan
  • Pemrograman
  • Pemula
  • Penawaran
  • Pengalaman
  • Pengantar
  • Pengembangan
  • Pengenalan
  • Pengguna
  • Penggunaan
  • Pengujian
  • Pengukuran
  • Penipuan
  • Penjualan
  • Penulisan
  • Penyimpanan
  • Peran
  • Perbandingan
  • Perbedaan
  • Performa
  • Performance
  • Peringkat
  • Perlindungan
  • Pertimbangan
  • Pertumbuhan
  • Perusahaan
  • PHP
  • Pilihan
  • Platform
  • Policy
  • Portofolio
  • Potensi
  • Praktik
  • Praktis
  • Prediksi
  • Pribadi
  • Process
  • Produktivitas
  • Profesional
  • Profil
  • Profile
  • Project
  • Promosi
  • Proses
  • Proyek
  • Python
  • Queue
  • React
  • Real-Time
  • Redis
  • Referensi
  • Rekomendasi
  • Relasi
  • Relevansi
  • Remote
  • Reputasi
  • Request
  • Responsif
  • Responsive
  • Responsive Design
  • Retail
  • Retensi
  • Review
  • Riset
  • Ritel
  • Roadmap
  • Saham
  • Sanctum
  • Sederhana
  • Seeding
  • Sehari-hari
  • SEO
  • Sertifikat
  • Server
  • Sharing
  • Sinkronisasi
  • Sistem
  • Skalabilitas
  • Skill
  • Software
  • Solusi
  • Space
  • SSL
  • Startup
  • Strategi
  • Struktur
  • Studi Kasus
  • Sukses
  • Support
  • Surabaya
  • Tampilan
  • Tanggung Jawab
  • Tantangan
  • Teknis
  • Teknologi
  • Teks
  • Template
  • Tenaga Kerja
  • Terbaik
  • Terjangkau
  • Terjemahan
  • Terlengkap
  • Terpercaya
  • Terstruktur
  • Tim
  • Tips
  • Toko
  • Tools
  • Traffic
  • Training
  • Transaksi
  • Transfer
  • Transkripsi
  • Tren
  • Trik
  • Troubleshooting
  • Tugas
  • Tutorial
  • Uji Coba
  • UKM
  • UMKM
  • Umum
  • Unlimited
  • Upgrade
  • Uptime
  • URL
  • User Experience
  • User-Friendly
  • Video
  • Visual
  • VPS
  • Vue.js
  • Wajah
  • Web
  • Web Development
  • Website
  • WHM
  • Windows
  • WooCommerce
  • WordPress
  • XAMPP

Resource

  • About us
  • Contact Us
  • Privacy Policy

© 2024 m.techreview.click.

No Result
View All Result
  • Website
  • Hosting
  • Indonesia
  • Laravel
  • Bisnis
  • Development

© 2024 m.techreview.click.