gociwidey
  • Hosting
  • Indonesia
  • Website
  • Laravel
  • Bisnis
  • AI
No Result
View All Result
gociwidey
  • Hosting
  • Indonesia
  • Website
  • Laravel
  • Bisnis
  • AI
No Result
View All Result
gociwidey
No Result
View All Result
Home Belajar

Contoh Project Laravel Sederhana dengan Database: Latihan untuk Pemula

venus by venus
April 10, 2025
in Belajar, Database, Laravel, Pemula, Sederhana
0
Share on FacebookShare on Twitter

Laravel, sebuah framework PHP yang elegan dan powerful, menjadi pilihan populer bagi para developer web. Bagi pemula yang baru terjun ke dunia Laravel, memulai dengan contoh project Laravel sederhana dengan database adalah cara terbaik untuk memahami konsep dasarnya. Artikel ini akan memandu Anda langkah demi langkah dalam membangun project sederhana, membantu Anda menguasai dasar-dasar Laravel dan database. Mari kita mulai!

1. Mengapa Memulai dengan Project Laravel Sederhana?

Sebelum kita terjun ke contoh project, mari kita bahas mengapa memulai dengan sesuatu yang sederhana itu penting. Belajar Laravel dengan project yang kompleks bisa terasa overwhelming. Memulai dengan project sederhana memungkinkan Anda untuk:

  • Memahami Konsep Dasar Laravel: Seperti routing, controllers, models, views, dan migration.
  • Mengenal Eloquent ORM: Berinteraksi dengan database menggunakan sintaks yang mudah dibaca.
  • Melatih Pemecahan Masalah: Menemukan dan memperbaiki kesalahan dengan lebih mudah karena kompleksitas yang rendah.
  • Membangun Rasa Percaya Diri: Menyelesaikan project kecil akan memberikan Anda dorongan untuk menghadapi tantangan yang lebih besar.

Dengan kata lain, contoh project Laravel sederhana dengan database adalah batu loncatan yang ideal untuk menjadi seorang developer Laravel yang handal.

2. Studi Kasus: Aplikasi To-Do List Sederhana dengan Laravel

Sebagai contoh project Laravel sederhana dengan database, kita akan membangun aplikasi To-Do List. Aplikasi ini memungkinkan pengguna untuk:

Related Post

Hosting Domain Murah Indonesia untuk Pemula: Mudah dan Terjangkau untuk Pemula

June 25, 2025

Belajar Web Development Backend dengan PHP MySQL: Database dan Logika Website

June 25, 2025

Contoh Project Web Development Sederhana dengan HTML CSS JavaScript: Latihan Praktis

June 24, 2025

Framework Web Development Terbaik untuk Pemula di Indonesia: Pilihan Terbaik

June 23, 2025
  • Menambahkan tugas baru.
  • Menandai tugas sebagai selesai.
  • Menghapus tugas.
  • Melihat daftar tugas yang belum selesai dan yang sudah selesai.

Aplikasi ini cukup sederhana namun mencakup konsep-konsep penting dalam Laravel, seperti interaksi dengan database, pengelolaan data, dan tampilan antarmuka pengguna.

3. Persiapan Lingkungan Pengembangan Laravel: Langkah Awal

Sebelum memulai coding, pastikan Anda telah menyiapkan lingkungan pengembangan Laravel. Ini melibatkan:

  • PHP: Pastikan Anda memiliki PHP versi 7.3 atau lebih tinggi. Anda bisa mengecek versi PHP dengan perintah php -v di terminal.
  • Composer: Composer adalah dependency manager untuk PHP. Anda bisa mengunduhnya dari https://getcomposer.org/.
  • Database: Pilihlah database yang Anda kuasai, misalnya MySQL atau PostgreSQL.
  • Text Editor/IDE: Gunakan text editor atau IDE favorit Anda, seperti VS Code, Sublime Text, atau PHPStorm.

Setelah semua persiapan selesai, mari kita buat project Laravel baru. Buka terminal Anda dan jalankan perintah berikut:

composer create-project --prefer-dist laravel/laravel todo-app

Perintah ini akan membuat project Laravel baru dengan nama todo-app. Setelah proses selesai, masuk ke direktori project:

cd todo-app

Sekarang, project Laravel Anda siap untuk dikembangkan!

4. Konfigurasi Database: Menghubungkan Laravel dengan Database

Langkah selanjutnya adalah mengkonfigurasi database agar Laravel dapat berinteraksi dengan database yang Anda pilih. Buka file .env di direktori project Anda. Cari bagian yang berhubungan dengan database dan sesuaikan dengan pengaturan database Anda:

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=todo_list
DB_USERNAME=root
DB_PASSWORD=
  • DB_CONNECTION: Jenis database yang Anda gunakan (misalnya, mysql, pgsql, sqlite).
  • DB_HOST: Alamat server database.
  • DB_PORT: Port database.
  • DB_DATABASE: Nama database yang akan Anda gunakan.
  • DB_USERNAME: Username untuk mengakses database.
  • DB_PASSWORD: Password untuk mengakses database.

Pastikan Anda telah membuat database dengan nama todo_list (atau sesuai dengan yang Anda atur di .env) di database server Anda.

5. Membuat Model dan Migrasi: Struktur Data untuk To-Do List

Selanjutnya, kita akan membuat model dan migrasi untuk tabel todos. Model akan merepresentasikan data To-Do dan migrasi akan membuat struktur tabel di database. Jalankan perintah berikut di terminal:

php artisan make:model Todo -m

Perintah ini akan membuat dua file:

  • app/Models/Todo.php: File model Todo.
  • database/migrations/[timestamp]_create_todos_table.php: File migrasi untuk membuat tabel todos.

Buka file migrasi (database/migrations/[timestamp]_create_todos_table.php) dan modifikasi isi method up() seperti berikut:

<?php

use IlluminateDatabaseMigrationsMigration;
use IlluminateDatabaseSchemaBlueprint;
use IlluminateSupportFacadesSchema;

class CreateTodosTable extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::create('todos', 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('todos');
    }
}

Kode ini mendefinisikan struktur tabel todos dengan kolom:

  • id: Primary key (auto-increment).
  • title: Judul tugas (string).
  • description: Deskripsi tugas (text, bisa null).
  • completed: Status penyelesaian tugas (boolean, default false).
  • created_at: Tanggal dan waktu pembuatan data.
  • updated_at: Tanggal dan waktu terakhir data diperbarui.

Setelah itu, jalankan migrasi untuk membuat tabel di database:

php artisan migrate

Sekarang, tabel todos telah dibuat di database Anda!

6. Membuat Controller: Mengelola Logika Aplikasi

Selanjutnya, kita akan membuat controller untuk menangani logika aplikasi To-Do List. Jalankan perintah berikut di terminal:

php artisan make:controller TodoController

Ini akan membuat file app/Http/Controllers/TodoController.php. Buka file tersebut dan tambahkan method-method berikut:

<?php

namespace AppHttpControllers;

use AppModelsTodo;
use IlluminateHttpRequest;

class TodoController extends Controller
{
    /**
     * Display a listing of the resource.
     *
     * @return IlluminateHttpResponse
     */
    public function index()
    {
        $todos = Todo::all();
        return view('todos.index', compact('todos'));
    }

    /**
     * Show the form for creating a new resource.
     *
     * @return IlluminateHttpResponse
     */
    public function create()
    {
        return view('todos.create');
    }

    /**
     * Store a newly created resource in storage.
     *
     * @param  IlluminateHttpRequest  $request
     * @return IlluminateHttpResponse
     */
    public function store(Request $request)
    {
        $request->validate([
            'title' => 'required|max:255',
            'description' => 'nullable',
        ]);

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

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

    /**
     * Display the specified resource.
     *
     * @param  AppModelsTodo  $todo
     * @return IlluminateHttpResponse
     */
    public function show(Todo $todo)
    {
        return view('todos.show',compact('todo'));
    }

    /**
     * Show the form for editing the specified resource.
     *
     * @param  AppModelsTodo  $todo
     * @return IlluminateHttpResponse
     */
    public function edit(Todo $todo)
    {
        return view('todos.edit',compact('todo'));
    }

    /**
     * Update the specified resource in storage.
     *
     * @param  IlluminateHttpRequest  $request
     * @param  AppModelsTodo  $todo
     * @return IlluminateHttpResponse
     */
    public function update(Request $request, Todo $todo)
    {
        $request->validate([
            'title' => 'required|max:255',
            'description' => 'nullable',
        ]);

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

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

    /**
     * Remove the specified resource from storage.
     *
     * @param  AppModelsTodo  $todo
     * @return IlluminateHttpResponse
     */
    public function destroy(Todo $todo)
    {
        $todo->delete();

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

Setiap method dalam controller ini bertanggung jawab atas tindakan yang berbeda:

  • index(): Menampilkan daftar semua To-Do.
  • create(): Menampilkan form untuk membuat To-Do baru.
  • store(): Menyimpan To-Do baru ke database.
  • show(): Menampilkan detail To-Do tertentu.
  • edit(): Menampilkan form untuk mengedit To-Do.
  • update(): Memperbarui To-Do di database.
  • destroy(): Menghapus To-Do dari database.

7. Membuat View: Tampilan Antarmuka Pengguna

Sekarang, kita akan membuat view untuk menampilkan antarmuka pengguna aplikasi To-Do List. Buat direktori resources/views/todos dan buat file-file berikut di dalamnya:

  • index.blade.php: Menampilkan daftar To-Do.
  • create.blade.php: Form untuk membuat To-Do baru.
  • edit.blade.php: Form untuk mengedit To-Do.
  • show.blade.php: Menampilkan detail To-Do.

Berikut contoh isi file index.blade.php:

<!DOCTYPE html>
<html>
<head>
    <title>Laravel Todo App</title>
    <link href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css" rel="stylesheet">
</head>
<body>
<div class="container">
    <h2>Todo List</h2>
    <a href="{{ route('todos.create') }}" class="btn btn-success">Create New Todo</a>

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

    <table class="table table-bordered">
        <tr>
            <th>Title</th>
            <th>Description</th>
            <th>Completed</th>
            <th width="280px">Action</th>
        </tr>
        @foreach ($todos as $todo)
        <tr>
            <td>{{ $todo->title }}</td>
            <td>{{ $todo->description }}</td>
            <td>{{ $todo->completed ? 'Yes' : 'No' }}</td>
            <td>
                <form action="{{ route('todos.destroy',$todo->id) }}" method="POST">

                    <a class="btn btn-info" href="{{ route('todos.show',$todo->id) }}">Show</a>

                    <a class="btn btn-primary" href="{{ route('todos.edit',$todo->id) }}">Edit</a>

                    @csrf
                    @method('DELETE')

                    <button type="submit" class="btn btn-danger">Delete</button>
                </form>
            </td>
        </tr>
        @endforeach
    </table>
</div>
</body>
</html>

Isi file create.blade.php, edit.blade.php, dan show.blade.php sesuai dengan kebutuhan tampilan Anda. Gunakan sintaks Blade template engine untuk menampilkan data dan membuat form. Contoh:

<!-- create.blade.php -->
<form action="{{ route('todos.store') }}" method="POST">
    @csrf
    <div class="form-group">
        <label for="title">Title:</label>
        <input type="text" class="form-control" id="title" name="title">
    </div>
    <div class="form-group">
        <label for="description">Description:</label>
        <textarea class="form-control" id="description" name="description"></textarea>
    </div>
    <button type="submit" class="btn btn-primary">Submit</button>
</form>

8. Mendefinisikan Route: Menghubungkan URL dengan Controller

Langkah terakhir adalah mendefinisikan route untuk menghubungkan URL dengan method-method di controller. Buka file routes/web.php dan tambahkan kode berikut:

<?php

use IlluminateSupportFacadesRoute;
use AppHttpControllersTodoController;

/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| Here is where you can register web routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| contains the "web" middleware group. Now create something great!
|
*/

Route::resource('todos', TodoController::class);

Kode ini mendefinisikan resource route untuk todos, yang secara otomatis membuat route untuk semua method di TodoController.

9. Menjalankan Aplikasi: Melihat Hasil Kerja Keras

Sekarang, jalankan aplikasi Laravel Anda dengan perintah:

php artisan serve

Buka browser Anda dan kunjungi http://localhost:8000/todos. Anda akan melihat daftar To-Do (jika ada) atau pesan “Create New Todo”. Klik tombol “Create New Todo” untuk menambahkan tugas baru.

Selamat! Anda telah berhasil membuat contoh project Laravel sederhana dengan database. Anda sekarang memiliki aplikasi To-Do List yang berfungsi penuh!

10. Pengembangan Lebih Lanjut: Menambahkan Fitur dan Meningkatkan Kualitas

Setelah berhasil membuat aplikasi To-Do List sederhana, Anda bisa mengembangkan project ini lebih lanjut dengan menambahkan fitur-fitur berikut:

  • Fitur Pencarian: Memungkinkan pengguna mencari tugas berdasarkan judul atau deskripsi.
  • Fitur Kategorisasi: Mengelompokkan tugas ke dalam kategori-kategori tertentu.
  • Fitur Prioritas: Memberikan prioritas pada tugas-tugas penting.
  • Autentikasi Pengguna: Membatasi akses ke aplikasi hanya untuk pengguna yang terdaftar.

Selain menambahkan fitur, Anda juga bisa meningkatkan kualitas kode Anda dengan:

  • Menulis Unit Test: Memastikan kode Anda berfungsi dengan benar dan mencegah regresi.
  • Menggunakan Desain Pattern: Mengadopsi desain pattern yang sesuai untuk meningkatkan maintainability dan readability kode.
  • Refactoring Kode: Membersihkan dan menyederhanakan kode yang kompleks.

11. Tips Belajar Laravel untuk Pemula: Strategi Efektif

Belajar Laravel membutuhkan waktu dan dedikasi. Berikut beberapa tips untuk belajar Laravel secara efektif:

  • Pelajari Dasar-Dasar PHP: Laravel adalah framework PHP, jadi pemahaman yang kuat tentang PHP sangat penting.
  • Baca Dokumentasi Laravel: Dokumentasi Laravel sangat lengkap dan berisi informasi yang akurat tentang semua fitur dan fungsi Laravel.
  • Ikuti Tutorial dan Kursus Online: Banyak tutorial dan kursus online yang tersedia yang akan membantu Anda mempelajari Laravel langkah demi langkah.
  • Bergabung dengan Komunitas Laravel: Bergabung dengan komunitas Laravel online (seperti forum, grup Facebook, atau Slack channel) untuk bertanya, berbagi pengetahuan, dan mendapatkan bantuan.
  • Praktik, Praktik, dan Praktik: Cara terbaik untuk belajar Laravel adalah dengan praktik. Bangun project-project kecil dan tantang diri Anda untuk memecahkan masalah.

12. Kesimpulan: Menguasai Laravel Melalui Latihan

Contoh project Laravel sederhana dengan database seperti aplikasi To-Do List adalah cara yang fantastis untuk memulai perjalanan Anda di dunia pengembangan web dengan Laravel. Dengan mengikuti langkah-langkah dalam artikel ini, Anda telah mempelajari konsep-konsep dasar Laravel dan bagaimana berinteraksi dengan database. Jangan berhenti di sini! Teruslah berlatih, eksplorasi, dan bangun project-project yang lebih kompleks. Semakin banyak Anda berlatih, semakin mahir Anda dalam menggunakan Laravel. Selamat belajar dan semoga sukses!

Dengan terus berlatih dan mengembangkan project, Anda akan menjadi seorang developer Laravel yang kompeten dan siap menghadapi tantangan pengembangan web yang lebih besar. Ingatlah, kunci keberhasilan dalam belajar Laravel adalah kesabaran, ketekunan, dan kemauan untuk terus belajar.

Tags: Belajar Laravelcontoh projectDatabaseLaravellatihanpemulaPHPprojectsederhanatutorial
venus

venus

Related Posts

Domain

Hosting Domain Murah Indonesia untuk Pemula: Mudah dan Terjangkau untuk Pemula

by Willow Grey
June 25, 2025
Backend

Belajar Web Development Backend dengan PHP MySQL: Database dan Logika Website

by Seraphina Moon
June 25, 2025
Contoh

Contoh Project Web Development Sederhana dengan HTML CSS JavaScript: Latihan Praktis

by Seraphina Moon
June 24, 2025
Next Post

Package Laravel yang Berguna untuk Pengembangan Web: Rekomendasi Developer

Leave a Reply Cancel reply

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

Recommended

Jasa Pembuatan Website Company Profile: Desain Profesional & SEO Friendly

March 17, 2025

Contoh Portfolio Web Development yang Menarik dan Modern: Inspirasi Desain Website

March 26, 2025

Web Development Jakarta: Cari Jasa Pembuatan Website Profesional? Ini Panduan Lengkapnya!

June 4, 2025

Tips Memilih CRM yang Mudah Digunakan: Adopsi CRM yang Lancar

May 16, 2025

Hosting WordPress SSD: Cpanel yang Mudah Digunakan untuk Website Anda

July 6, 2025

Hosting WordPress SSD: Gratis SSL untuk Keamanan Data Anda

July 6, 2025

Hosting WordPress SSD: Bandwidth Tanpa Batas untuk Pengunjung Ramai

July 6, 2025

Hosting WordPress SSD: Lokasi Server Indonesia untuk Kecepatan Maksimal

July 6, 2025

gociwidey

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 WordPress SSD: Cpanel yang Mudah Digunakan untuk Website Anda
  • Hosting WordPress SSD: Gratis SSL untuk Keamanan Data Anda
  • Hosting WordPress SSD: Bandwidth Tanpa Batas untuk Pengunjung Ramai

Categories

  • Adopsi
  • Afiliasi
  • Agency
  • AI
  • Akses
  • Akuntansi
  • Akurat
  • Alasan
  • Algoritma
  • Alternatif
  • Aman
  • Analisis
  • Android
  • Animasi
  • API
  • Aplikasi
  • Authentication
  • Backend
  • Bandwidth
  • Batasan
  • Belajar
  • Berbagi
  • Biaya
  • Bisnis
  • Blog
  • Bootstrap
  • Brand
  • CDN
  • Cepat
  • Chatbot
  • ChatGPT
  • Cloud
  • Coding
  • Company Profile
  • Complete
  • Contoh
  • cPanel
  • CRM
  • CRUD
  • CSS
  • Dampak
  • Data
  • Database
  • Debugging
  • Deployment
  • Desain
  • Development
  • Diagnosis
  • Digital Marketing
  • Diskon
  • Dokumentasi
  • Domain
  • Download
  • Downtime
  • Dukungan
  • E-Commerce
  • Edit
  • Efektivitas
  • Efisiensi
  • Ekonomis
  • Eloquent
  • Email
  • Error
  • Error generating categories
  • Etika
  • Excel
  • Fitur
  • Forum
  • Foto
  • Framework
  • Freelance
  • Full-Stack
  • Game
  • Garansi
  • Google
  • Gratis
  • Harga
  • Hemat
  • Here are 5 categories based on the provided title: Hosting
  • Here are 5 categories based on the provided title: Rekomendasi Hosting Murah untuk Toko Online dengan Bandwidth Besar: Sukseskan Bisnismu! Hosting
  • Here are 5 categories based on the title "Tips Optimasi Performa Aplikasi Laravel agar Lebih Cepat: Website Anti Lemot": **Laravel
  • Hosting
  • HTML
  • Iklan
  • Implementasi
  • Indonesia
  • Informasi
  • Inovasi
  • Inspirasi
  • Instalasi
  • Install
  • Integrasi
  • Investasi
  • Jakarta
  • Jasa
  • JavaScript
  • Joomla
  • Kampanye
  • Kapasitas
  • Karir
  • Keamanan
  • Kebutuhan
  • Kecepatan
  • Kehidupan
  • Kelebihan
  • Kemudahan
  • Kepuasan
  • Kerja
  • Kesehatan
  • Keuangan
  • Keuntungan
  • Kode
  • Komunitas
  • Konsep
  • Konten
  • Kontrol
  • Konversi
  • Kualitas
  • Laravel
  • Layanan
  • Linux
  • Logistik
  • Logo
  • Loyalitas
  • Machine Learning
  • Mahasiswa
  • Maintenance
  • Manfaat
  • Marketing
  • Masa Depan
  • Mesin Pencari
  • Migrasi
  • Mobile
  • Mobilitas
  • Model
  • Modern
  • Mudah
  • Murah
  • Online
  • Open Source
  • Optimal
  • Optimasi
  • ORM
  • Otomatisasi
  • Package
  • Panduan
  • Payment
  • Pekerjaan
  • Pelanggan
  • Peluang
  • Pemanfaatan
  • Pembandingan
  • Pembuatan
  • Pemesanan
  • Pemula
  • Pendidikan
  • Pengalaman
  • Pengembangan
  • Pengenalan
  • Pengertian
  • Penggunaan
  • Pengobatan
  • Pengolahan
  • Penipuan
  • Penjualan
  • Penyimpanan
  • Perangkat
  • Perbandingan
  • Performa
  • Perkembangan
  • Personalisasi
  • Pertanian
  • Pertumbuhan
  • Perusahaan
  • Petani
  • PHP
  • Pilihan
  • Platform
  • Pondasi
  • Portofolio
  • Praktis
  • Prediksi
  • Premium
  • Presentasi
  • Pribadi
  • Produktivitas
  • Profesional
  • Profitabilitas
  • Programmer
  • Promo
  • Proteksi
  • Python
  • React
  • Referensi
  • Rekomendasi
  • Relationship
  • Responsive
  • Restoran
  • Retail
  • Review
  • Risiko
  • Saham
  • Sales
  • Sederhana
  • SEO
  • Sertifikasi
  • Server
  • Skalabilitas
  • Skill
  • Software
  • Solusi
  • Sosial
  • SSD
  • SSL
  • Stabil
  • Staging
  • Startup
  • Strategi
  • Studi Kasus
  • Sumber Daya
  • Support
  • Surabaya
  • Syarat
  • Tampilan
  • Tanggung Jawab
  • Tantangan
  • Teknologi
  • Template
  • Terbaik
  • Terbaru
  • Terjangkau
  • Terjemahan
  • Terpercaya
  • Tim
  • Tips
  • Toko Online
  • Tools
  • Traffic
  • Tren
  • Trik
  • Tutorial
  • UKM
  • UMKM
  • Undangan
  • Unlimited
  • Upgrade
  • Uptime
  • User-Friendly
  • Video
  • VPS
  • Web
  • Web Development
  • Website
  • Windows
  • WordPress
  • XAMPP

Resource

  • About us
  • Contact Us
  • Privacy Policy

© 2024 gociwidey.

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

© 2024 gociwidey.