Gameglimmer
  • AI
  • Laravel
  • Produktivitas
  • Database
  • Hosting
  • Website
No Result
View All Result
Gameglimmer
  • AI
  • Laravel
  • Produktivitas
  • Database
  • Hosting
  • Website
No Result
View All Result
Gameglimmer
No Result
View All Result
Home Aplikasi

Contoh Project Laravel Sederhana dengan Database: Mulai Bangun Aplikasi Web Anda

Atticus Thorne by Atticus Thorne
September 28, 2025
in Aplikasi, Database, Development, Integrasi, Laravel
0
Share on FacebookShare on Twitter

Laravel, sebagai framework PHP yang populer, menawarkan kemudahan dan fleksibilitas dalam membangun aplikasi web. Bagi pemula, memulai dengan contoh project Laravel sederhana dengan database adalah cara terbaik untuk memahami dasar-dasarnya. Artikel ini akan memandu Anda langkah demi langkah, mulai dari persiapan lingkungan hingga implementasi fitur-fitur dasar, sehingga Anda dapat segera mulai membangun aplikasi web Anda sendiri. Kita akan membahas semuanya, dari setup hingga cara berinteraksi dengan database. Jadi, siapkan diri Anda untuk petualangan seru ke dunia Laravel!

1. Persiapan Lingkungan Pengembangan Laravel: Pondasi Aplikasi Anda

Sebelum terjun ke pembuatan contoh project Laravel sederhana dengan database, kita perlu memastikan lingkungan pengembangan kita siap. Ini termasuk menginstal beberapa software penting:

  • PHP: Laravel membutuhkan PHP versi 7.3 atau lebih tinggi. Pastikan PHP sudah terinstal dan terkonfigurasi dengan benar di sistem Anda. Anda bisa memeriksa versi PHP dengan perintah php -v di terminal. Jika belum terinstal, unduh dan instal dari php.net.
  • Composer: Composer adalah dependency manager untuk PHP. Ini memungkinkan Anda mengelola library dan package yang dibutuhkan oleh Laravel dan project Anda. Unduh dan instal Composer dari getcomposer.org.
  • Database: Laravel mendukung berbagai jenis database seperti MySQL, PostgreSQL, SQLite, dan SQL Server. Pilih salah satu yang Anda kuasai. MySQL adalah pilihan populer dan mudah diatur. Pastikan server database Anda (misalnya MySQL) sudah berjalan.
  • Text Editor/IDE: Pilihlah text editor atau IDE yang nyaman bagi Anda. Beberapa pilihan populer adalah VS Code, Sublime Text, PHPStorm, dan Atom.

Setelah semua tools ini terinstal, Anda siap untuk langkah selanjutnya!

2. Membuat Project Laravel Baru: Langkah Awal Kesuksesan

Setelah lingkungan siap, mari kita mulai membuat project Laravel baru. Buka terminal Anda dan navigasikan ke direktori tempat Anda ingin menyimpan project. Kemudian, jalankan perintah berikut:

Related Post

Belajar Web Development Gratis dari Nol: Manfaatkan Sumber Daya Online

December 6, 2025

Contoh Project Laravel Sederhana untuk Belajar: Aplikasi To-Do List Lengkap

December 2, 2025

Laravel Livewire Tutorial Bahasa Indonesia: Buat Aplikasi Interaktif Tanpa JavaScript

December 1, 2025

Laravel Queue Tutorial Bahasa Indonesia: Proses Latar Belakang Efisien

December 1, 2025
composer create-project --prefer-dist laravel/laravel nama-project

Ganti nama-project dengan nama yang Anda inginkan untuk project Anda. Perintah ini akan mengunduh dan menginstal semua file dan dependensi yang dibutuhkan untuk project Laravel. Proses ini mungkin memakan waktu beberapa menit, tergantung kecepatan koneksi internet Anda.

Setelah proses selesai, masuk ke direktori project Anda:

cd nama-project

Sekarang, Laravel project Anda sudah siap! Anda bisa menjalankan server development dengan perintah:

php artisan serve

Buka browser Anda dan kunjungi alamat yang ditampilkan (biasanya http://127.0.0.1:8000). Jika Anda melihat halaman “Laravel”, berarti semuanya berjalan dengan lancar.

3. Konfigurasi Database: Menghubungkan Aplikasi dengan Data

Untuk contoh project Laravel sederhana dengan database ini, kita perlu mengkonfigurasi koneksi database. Buka file .env di root project Anda. File ini berisi konfigurasi environment, termasuk informasi koneksi database.

Cari bagian yang berkaitan dengan database dan ubah sesuai dengan konfigurasi database Anda:

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=nama_database
DB_USERNAME=nama_pengguna
DB_PASSWORD=password_database
  • DB_CONNECTION: Jenis database yang Anda gunakan (misalnya mysql, pgsql, sqlite).
  • DB_HOST: Alamat host database (biasanya 127.0.0.1 atau localhost).
  • DB_PORT: Port database (biasanya 3306 untuk MySQL).
  • DB_DATABASE: Nama database yang akan digunakan. Pastikan database ini sudah dibuat di server database Anda.
  • DB_USERNAME: Username untuk mengakses database.
  • DB_PASSWORD: Password untuk mengakses database.

Setelah mengubah file .env, simpan perubahan. Jangan lupa untuk menjalankan perintah:

php artisan config:cache

untuk memastikan perubahan konfigurasi diterapkan.

4. Membuat Migrasi dan Model: Struktur Data yang Terorganisir

Sekarang, mari kita definisikan struktur database kita menggunakan migrasi dan model. Misalkan kita ingin membuat aplikasi sederhana untuk mengelola daftar tugas (to-do list). Kita membutuhkan tabel tasks dengan kolom id, title, description, completed, dan created_at/updated_at.

Jalankan perintah berikut untuk membuat file migrasi:

php artisan make:migration create_tasks_table

Ini akan membuat file migrasi baru di direktori database/migrations. Buka file tersebut dan tambahkan kode berikut di dalam method up():

<?php

use IlluminateDatabaseMigrationsMigration;
use IlluminateDatabaseSchemaBlueprint;
use IlluminateSupportFacadesSchema;

class CreateTasksTable extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::create('tasks', function (Blueprint $table) {
            $table->id();
            $table->string('title');
            $table->text('description')->nullable();
            $table->boolean('completed')->default(false);
            $table->timestamps();
        });
    }

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

Kode ini mendefinisikan struktur tabel tasks dengan kolom-kolom yang kita butuhkan.

Selanjutnya, kita buat model untuk berinteraksi dengan tabel tasks. Jalankan perintah:

php artisan make:model Task

Ini akan membuat file model Task di direktori app/Models. Buka file tersebut dan tambahkan kode berikut:

<?php

namespace AppModels;

use IlluminateDatabaseEloquentFactoriesHasFactory;
use IlluminateDatabaseEloquentModel;

class Task extends Model
{
    use HasFactory;

    protected $fillable = [
        'title',
        'description',
        'completed',
    ];
}

$fillable mendefinisikan kolom mana yang boleh diisi secara massal (mass assignment).

Terakhir, jalankan migrasi untuk membuat tabel di database:

php artisan migrate

Database Anda sekarang memiliki tabel tasks dengan struktur yang telah kita definisikan.

5. Membuat Controller dan Routes: Jantung Aplikasi Web

Controller berfungsi sebagai perantara antara model dan view. Mari kita buat controller untuk mengelola tasks. Jalankan perintah:

php artisan make:controller TaskController

Ini akan membuat file TaskController di direktori app/Http/Controllers. Buka file tersebut dan tambahkan beberapa method untuk menangani operasi CRUD (Create, Read, Update, Delete):

<?php

namespace AppHttpControllers;

use AppModelsTask;
use IlluminateHttpRequest;

class TaskController extends Controller
{
    public function index()
    {
        $tasks = Task::all();
        return view('tasks.index', compact('tasks'));
    }

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

    public function store(Request $request)
    {
        $request->validate([
            'title' => 'required',
        ]);

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

        return redirect()->route('tasks.index')
            ->with('success', 'Task created successfully.');
    }

    public function show(Task $task)
    {
        return view('tasks.show', compact('task'));
    }

    public function edit(Task $task)
    {
        return view('tasks.edit', compact('task'));
    }

    public function update(Request $request, Task $task)
    {
        $request->validate([
            'title' => 'required',
        ]);

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

        return redirect()->route('tasks.index')
            ->with('success', 'Task updated successfully.');
    }

    public function destroy(Task $task)
    {
        $task->delete();

        return redirect()->route('tasks.index')
            ->with('success', 'Task deleted successfully.');
    }
}

Selanjutnya, kita definisikan routes untuk mengakses method-method di controller. Buka file routes/web.php dan tambahkan kode berikut:

<?php

use IlluminateSupportFacadesRoute;
use AppHttpControllersTaskController;

Route::resource('tasks', TaskController::class);

Route::resource secara otomatis membuat routes untuk semua operasi CRUD.

6. Membuat Views (Tampilan): Mempercantik Aplikasi Anda

Views adalah bagian yang dilihat oleh pengguna. Mari kita buat beberapa view untuk menampilkan daftar tugas, membuat tugas baru, mengedit tugas, dan menampilkan detail tugas.

Buat direktori tasks di dalam direktori resources/views. Kemudian, buat file-file berikut di dalam direktori tasks:

  • index.blade.php: Menampilkan daftar tugas.
  • create.blade.php: Menampilkan form untuk membuat tugas baru.
  • show.blade.php: Menampilkan detail tugas.
  • edit.blade.php: Menampilkan form untuk mengedit tugas.

Berikut adalah contoh isi dari file index.blade.php:

<!DOCTYPE html>
<html>
<head>
    <title>Task Management</title>
    <link href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css" rel="stylesheet">
</head>
<body>
    <div class="container">
        <h1>Task List</h1>

        @if ($message = Session::get('success'))
            <div class="alert alert-success">
                <p>{{ $message }}</p>
            </div>
        @endif

        <a href="{{ route('tasks.create') }}" class="btn btn-success mb-3">Create New Task</a>

        <table class="table table-bordered">
            <tr>
                <th>ID</th>
                <th>Title</th>
                <th>Description</th>
                <th>Completed</th>
                <th>Action</th>
            </tr>
            @foreach ($tasks as $task)
            <tr>
                <td>{{ $task->id }}</td>
                <td>{{ $task->title }}</td>
                <td>{{ $task->description }}</td>
                <td>{{ $task->completed ? 'Yes' : 'No' }}</td>
                <td>
                    <form action="{{ route('tasks.destroy',$task->id) }}" method="POST">
                        <a class="btn btn-info" href="{{ route('tasks.show',$task->id) }}">Show</a>
                        <a class="btn btn-primary" href="{{ route('tasks.edit',$task->id) }}">Edit</a>
                        @csrf
                        @method('DELETE')
                        <button type="submit" class="btn btn-danger">Delete</button>
                    </form>
                </td>
            </tr>
            @endforeach
        </table>
    </div>
</body>
</html>

Anda dapat membuat view lainnya dengan desain dan fungsionalitas yang serupa. Pastikan untuk menggunakan Blade templating engine Laravel untuk mempermudah pembuatan view.

7. Validasi Data: Menjaga Integritas Aplikasi

Validasi data sangat penting untuk memastikan data yang masuk ke database valid dan sesuai dengan aturan yang telah ditentukan. Dalam contoh project Laravel sederhana dengan database ini, kita telah menggunakan validasi di method store dan update di TaskController.

Contoh:

$request->validate([
    'title' => 'required',
]);

Kode ini memastikan bahwa kolom title wajib diisi. Anda dapat menambahkan aturan validasi lainnya sesuai kebutuhan. Anda juga dapat membuat custom validator untuk logika validasi yang lebih kompleks. Lihat dokumentasi Laravel untuk informasi lebih lanjut tentang validasi: https://laravel.com/docs/validation

8. Penggunaan Eloquent ORM: Interaksi Database yang Mudah dan Efisien

Laravel menyediakan Eloquent ORM (Object-Relational Mapping) untuk mempermudah interaksi dengan database. Dengan Eloquent, Anda dapat berinteraksi dengan database menggunakan objek PHP, tanpa perlu menulis query SQL secara manual.

Contoh:

$tasks = Task::all(); // Mendapatkan semua task
$task = Task::find(1); // Mendapatkan task dengan ID 1
Task::create(['title' => 'New Task']); // Membuat task baru
$task->update(['title' => 'Updated Task']); // Mengupdate task
$task->delete(); // Menghapus task

Eloquent menyediakan berbagai method untuk melakukan operasi database dengan mudah dan efisien.

9. Penggunaan Seeder untuk Data Awal: Mengisi Database dengan Data Dummy

Untuk menguji aplikasi, kita bisa menggunakan seeder untuk mengisi database dengan data dummy. Jalankan perintah:

php artisan make:seeder TaskSeeder

Ini akan membuat file TaskSeeder di direktori database/seeders. Buka file tersebut dan tambahkan kode berikut:

<?php

namespace DatabaseSeeders;

use IlluminateDatabaseSeeder;
use AppModelsTask;

class TaskSeeder extends Seeder
{
    /**
     * Run the database seeds.
     *
     * @return void
     */
    public function run()
    {
        Task::create([
            'title' => 'Belajar Laravel',
            'description' => 'Mempelajari dasar-dasar Laravel',
            'completed' => false,
        ]);

        Task::create([
            'title' => 'Membuat Aplikasi To-Do List',
            'description' => 'Membuat aplikasi sederhana dengan Laravel',
            'completed' => true,
        ]);
    }
}

Kemudian, buka file database/seeders/DatabaseSeeder.php dan tambahkan kode berikut di dalam method run():

<?php

namespace DatabaseSeeders;

use IlluminateDatabaseSeeder;

class DatabaseSeeder extends Seeder
{
    /**
     * Seed the application's database.
     *
     * @return void
     */
    public function run()
    {
        $this->call([
            TaskSeeder::class,
        ]);
    }
}

Terakhir, jalankan seeder dengan perintah:

php artisan db:seed

Database Anda sekarang terisi dengan data dummy.

10. Testing: Memastikan Aplikasi Berjalan Sesuai Harapan

Testing adalah bagian penting dari pengembangan aplikasi. Laravel menyediakan berbagai tools untuk melakukan testing. Anda dapat membuat unit test untuk menguji individual component dan feature test untuk menguji interaksi antar component.

Laravel menggunakan PHPUnit sebagai framework testing default. Anda dapat membuat test case baru dengan perintah:

php artisan make:test TaskTest

Ini akan membuat file TaskTest di direktori tests/Feature. Anda dapat menulis test untuk memastikan bahwa controller, model, dan view berfungsi dengan benar. Lihat dokumentasi Laravel untuk informasi lebih lanjut tentang testing: https://laravel.com/docs/testing

11. Deployment: Mempublikasikan Aplikasi Anda

Setelah aplikasi selesai dikembangkan dan diuji, Anda siap untuk melakukan deployment. Deployment adalah proses mempublikasikan aplikasi Anda ke server sehingga dapat diakses oleh pengguna.

Ada berbagai cara untuk melakukan deployment aplikasi Laravel, tergantung pada hosting provider yang Anda gunakan. Beberapa pilihan populer adalah:

  • Shared Hosting: Pilihan yang paling ekonomis, tetapi memiliki keterbatasan.
  • VPS (Virtual Private Server): Memberikan kontrol lebih besar atas server.
  • Cloud Hosting (AWS, Google Cloud, Azure): Memberikan fleksibilitas dan skalabilitas yang tinggi.

Pastikan untuk mengkonfigurasi server dengan benar dan menjalankan perintah-perintah yang dibutuhkan seperti php artisan migrate dan php artisan config:cache sebelum mempublikasikan aplikasi Anda.

12. Tips Tambahan: Meningkatkan Kualitas Project Laravel Anda

Berikut adalah beberapa tips tambahan untuk meningkatkan kualitas contoh project Laravel sederhana dengan database Anda:

  • Gunakan Coding Standards: Ikuti coding standards PSR (PHP Standards Recommendations) untuk memastikan kode Anda konsisten dan mudah dibaca.
  • Gunakan Version Control: Gunakan Git untuk melacak perubahan kode Anda dan berkolaborasi dengan orang lain.
  • Dokumentasikan Kode Anda: Berikan komentar yang jelas dan ringkas untuk menjelaskan logika kode Anda.
  • Pelajari Lebih Dalam tentang Laravel: Jelajahi dokumentasi Laravel dan sumber-sumber belajar lainnya untuk memahami fitur-fitur Laravel secara mendalam.
  • Bergabung dengan Komunitas Laravel: Bergabung dengan komunitas Laravel untuk belajar dari pengalaman orang lain dan mendapatkan bantuan saat Anda mengalami kesulitan.

Dengan mengikuti panduan ini dan terus belajar, Anda akan semakin mahir dalam membangun aplikasi web dengan Laravel. Mulai bangun aplikasi web Anda sekarang dan raih kesuksesan!

Tags: Aplikasi WebBelajar LaravelcodingDatabaseLaravelphpprojectsederhanaTutorialWeb Application
Atticus Thorne

Atticus Thorne

Related Posts

AI

Belajar Web Development Gratis dari Nol: Manfaatkan Sumber Daya Online

by Jasper Blackwood
December 6, 2025
AI

Contoh Project Laravel Sederhana untuk Belajar: Aplikasi To-Do List Lengkap

by Luna Abernathy
December 2, 2025
AI

Laravel Livewire Tutorial Bahasa Indonesia: Buat Aplikasi Interaktif Tanpa JavaScript

by Atticus Thorne
December 1, 2025
Next Post

Cara Install Laravel di Windows dengan Xampp: Panduan Lengkap untuk Pemula

Leave a Reply Cancel reply

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

Recommended

Hosting Domain Gratis Indonesia: Mulai Online Tanpa Biaya Tambahan

August 22, 2025

Jasa Pembuatan Website Profesional Jakarta: Website Berkualitas untuk Bisnis Anda

June 2, 2025

Jasa Optimasi Kecepatan Website WordPress: Website Lebih Cepat & SEO Friendly

November 9, 2025

Tips Optimasi Database Laravel: Performa Website Lebih Cepat dan Efisien

June 15, 2025

Hosting Murah dengan Panel Kontrol yang Mudah Digunakan

December 15, 2025

Hosting Murah dengan Dukungan PHP Versi Terbaru untuk Website

December 14, 2025

Hosting Murah dengan Kemudahan Migrasi Website dari Hosting Lain

December 14, 2025

Hosting Murah dengan Fitur Backup Otomatis untuk Keamanan Data

December 14, 2025

Gameglimmer

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

  • Hosting Murah dengan Panel Kontrol yang Mudah Digunakan
  • Hosting Murah dengan Dukungan PHP Versi Terbaru untuk Website
  • Hosting Murah dengan Kemudahan Migrasi Website dari Hosting Lain

Categories

  • AI
  • Akuntansi
  • Akurasi
  • Analisis
  • and "Cara Mengintegrasikan Laravel dengan Database MySQL: Panduan Lengkap": Hosting
  • Android
  • Animasi
  • API
  • Aplikasi
  • Authentication
  • Backup
  • Bahasa
  • Bandwidth
  • based on the article title "Cara Menggunakan AI untuk Meningkatkan Produktivitas Kerja: Lebih Cerdas
  • Based on the article title "Cara Mengintegrasikan Laravel dengan Database MySQL: Panduan Lengkap"
  • Based on the provided keywords and article titles
  • Biaya
  • Bisnis
  • Blog
  • Bootstrap
  • Branding
  • Cerdas
  • Chatbot
  • Cloud
  • Coding
  • Community
  • CRM
  • CSS
  • Customer
  • Data
  • Database
  • Deployment
  • Desain
  • Development
  • Digital**
  • Domain
  • Download
  • E-commerce
  • Editing
  • Efektif
  • Efektivitas
  • Efisien
  • Efisiensi
  • Email
  • Error
  • Error generating categories
  • Estimasi
  • Etika
  • Evaluasi
  • Fitur
  • Foto
  • Framework
  • Freelance
  • Garansi
  • Gratis
  • Harga
  • Hasil
  • Hemat
  • Here are 5 categories
  • here are 5 categories: Laravel
  • here are five categories: Branding
  • Here's a categorization based on the article titles and provided keywords: **Development
  • Here's a categorization based on the article titles and provided keywords: **Laravel
  • Here's a categorization based on the article titles and provided keywords: **Online
  • Here's a categorization based on the article titles and provided keywords: **Panduan
  • Here's a categorization based on the article titles and provided keywords: **Pekerjaan
  • Here's a categorization based on the article titles and provided keywords: **Penjualan
  • Here's a categorization based on the article titles and provided keywords: **Server
  • Here's a categorization based on the article titles and provided keywords: **Web Development
  • Here's a categorization based on the article titles and provided keywords: **Website
  • Here's a categorization based on the article titles and provided keywords: CRM
  • Here's a categorization based on the article titles and provided keywords: E-commerce
  • Here's a categorization based on the article titles and provided keywords: Hosting
  • Here's a categorization based on the article titles and provided keywords: Pendidikan
  • Here's a categorization based on the article titles and provided keywords: Website
  • Here's a categorization based on the provided keywords and article titles: **Web Development
  • Here's a possible categorization based on the article titles and provided keywords: Hosting
  • Here's a possible categorization based on the article titles and provided keywords: Laravel
  • Here's a possible categorization based on the article titles and provided keywords: Produktivitas
  • Here's a possible categorization based on the article titles and provided keywords: Website
  • Here's a possible categorization based on the provided keywords and article titles: Hosting
  • Hosting
  • Hukum
  • Ide
  • Implementasi
  • Indonesia
  • Inspirasi
  • Integrasi
  • iOS
  • Jakarta
  • JavaScript
  • Kampanye
  • Karir
  • Keamanan
  • Kecepatan
  • Keperluan
  • Kerja
  • Kesehatan
  • Kolaborasi
  • Konten
  • Kualitas
  • Laravel
  • Layanan
  • Lebih Cepat": AI
  • Library
  • Logo
  • Lokal
  • Machine Learning
  • Manajemen
  • Marketing
  • Mobile
  • Murah
  • MySQL
  • one word per category
  • Online
  • Open Source
  • Optimasi
  • Otentikasi
  • Otomatis
  • Otomatisasi
  • Panduan
  • Pelajar
  • Pelanggan
  • Pelaporan
  • Pelatihan
  • Peluang
  • Pemasaran
  • Pembayaran
  • Pemula
  • Pendidikan
  • Pengembangan
  • Penipuan
  • Penjualan
  • Perbandingan
  • Performance
  • Pertumbuhan
  • PHP
  • Pilihan
  • Portfolio
  • Prima
  • Privasi
  • Productivity
  • Produktifitas
  • Produktivitas
  • Profesional
  • Python
  • Queue
  • Rekomendasi
  • Responsif
  • Retail
  • Review
  • Riset
  • SEO
  • Server
  • Sistem
  • Skalabilitas
  • Software
  • Solusi
  • SSL
  • Startup
  • Strategi
  • Streaming
  • Studi Kasus
  • Sukses
  • Support
  • Tantangan
  • Teknologi
  • Template
  • TensorFlow
  • Terbaik
  • Terpercaya
  • Tips
  • Tools
  • Transfer
  • Transkripsi
  • Tutorial
  • UKM
  • UMKM
  • Unlimited
  • Uptime
  • Video
  • VPS
  • Web Development
  • Website
  • Windows
  • WooCommerce
  • WordPress
  • XAMPP

Resource

  • About us
  • Contact Us
  • Privacy Policy

© 2024 Gameglimmer.

No Result
View All Result
  • AI
  • Laravel
  • Produktivitas
  • Database
  • Hosting
  • Website

© 2024 Gameglimmer.