Cara Membuat Website dengan Codeigniter

CodeIgniter adalah framework PHP yang ringan, cepat, dan mudah digunakan untuk membangun aplikasi web. Framework ini menggunakan pola MVC (Model–View–Controller) yang membantu memisahkan logika aplikasi, tampilan, dan pengelolaan data sehingga pengembangan jadi lebih rapi, terstruktur, dan mudah dikelola.

Keunggulan CodeIgniter

  • Ringan dan cepat
    Framework ini memiliki jejak memori kecil dan performa tinggi.
  • Mudah dipelajari
    Cocok untuk pemula karena dokumentasinya jelas dan sintaksnya sederhana.
  • Konfigurasi minimal
    Hampir zero-configuration, langsung bisa digunakan setelah instalasi.
  • Keamanan bawaan
    Memiliki fitur proteksi XSS, CSRF, hashing password, dan sanitasi input.
  • Kompatibel banyak versi PHP
    Meski modernisasi berlanjut, CodeIgniter tetap kompatibel luas.

Versi CodeIgniter

  • CodeIgniter 3 — versi yang paling stabil, banyak dipakai, ringan.
  • CodeIgniter 4 — versi terbaru dengan arsitektur modern, mendukung PHP 8.x keatas, fitur lebih maju seperti namespace, composer, dan routing yang lebih fleksibel.

Oke sobat, Berikut ini panduan lengkap dan praktis untuk membuat website menggunakan CodeIgniter versi 4, kita mulai dari instalasi, struktur folder, konfigurasi, sampai membuat controller, model, dan view sederhana.


✅ 1. Instalasi CodeIgniter 4

Ada dua macam cara instalasi codeigniter :


A. Install via Composer (disarankan)

Pastikan Composer sudah terpasang.

composer create-project codeigniter4/appstarter myci4

Masuk ke folder project:

cd myci4

Jalankan server development:

php spark serve

Akses di browser:

http://localhost:8080

B. Instal Manual (ZIP)

  1. Download di https://codeigniter.com
  2. Extract ke folder htdocs/www
  3. Ubah env menjadi .env
  4. Jalankan server PHP:
php spark serve

✅ 2. Struktur Folder Utama CodeIgniter 4

app/
 ├── Controllers/
 ├── Models/
 ├── Views/
public/
system/
.env

✅ 3. Mengaktifkan Mode Development

Edit file .env:

CI_ENVIRONMENT = development

✅ 4. Membuat Controller Pertama

Buat file:

app/Controllers/Home.php

<?php

namespace App\Controllers;

class Home extends BaseController
{
    public function index()
    {
        return view('welcome_message');
    }
}

✅ 5. Membuat View Baru

Buat file:

app/Views/halo.php

<!DOCTYPE html>
<html>
<head>
    <title>Halo CI4</title>
</head>
<body>
    <h1>Halo, ini website pertama saya di CodeIgniter 4!</h1>
</body>
</html>

✅ 6. Routing

Edit file: app/Config/Routes.php

$routes->get('/halo', 'Home::halo');

Tambahkan method di controller:

public function halo()
{
    return view('halo');
}

Akses di browser:

http://localhost:8080/halo

✅ 7. Membuat Model + CRUD Sederhana

Contoh tabel MySQL

CREATE TABLE users (
    id INT AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(100),
    email VARCHAR(100)
);

Model

app/Models/UserModel.php

<?php

namespace App\Models;
use CodeIgniter\Model;

class UserModel extends Model
{
    protected $table = 'users';
    protected $primaryKey = 'id';
    protected $allowedFields = ['name', 'email'];
}

Controller CRUD

app/Controllers/User.php

<?php

namespace App\Controllers;

use App\Models\UserModel;

class User extends BaseController
{
    public function index()
    {
        $model = new UserModel();
        $data['users'] = $model->findAll();
        return view('user_list', $data);
    }

    public function create()
    {
        return view('user_form');
    }

    public function store()
    {
        $model = new UserModel();
        $model->save([
            'name'  => $this->request->getPost('name'),
            'email' => $this->request->getPost('email')
        ]);
        return redirect()->to('/user');
    }
}

View List

app/Views/user_list.php

<h1>Daftar User</h1>
<a href="/user/create">Tambah User</a>
<ul>
    <?php foreach ($users as $u): ?>
        <li><?= $u['name']; ?> - <?= $u['email']; ?></li>
    <?php endforeach; ?>
</ul>

View Form

app/Views/user_form.php

<h1>Tambah User</h1>
<form method="post" action="/user/store">
    <input type="text" name="name" placeholder="Nama" required>
    <input type="email" name="email" placeholder="Email" required>
    <button type="submit">Simpan</button>
</form>

🎉 Selesai!

Kamu telah membuat:

✔ Website dasar
✔ Routing
✔ Controller & View
✔ Model + CRUD sederhana


Jika kamu ingin, saya bisa bantu:
✅ Buat template AdminLTE
✅ Buat sistem login / register
✅ Buat CRUD lengkap (edit & delete)
✅ Buat API dengan CodeIgniter 4
👉 Cukup bilang saja!

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *