HOSTING CEPATDOMAIN MURAHSSL GRATISSUPPORT 24/7UPTIME 99.9%SERVER INDONESIAHOSTING CEPATDOMAIN MURAHSSL GRATISSUPPORT 24/7UPTIME 99.9%SERVER INDONESIA
Web Development

Cara Membuat Website dengan CodeIgniter 4: Panduan Lengkap 2026

Tim HostingEkspres|6 Mei 2026|14 menit baca
cara membuat website dengan codeignitercodeigniter 4 tutorialcodeigniter untuk pemulaframework phpbelajar codeignitermvc phpweb development php
Cara Membuat Website dengan CodeIgniter 4: Panduan Lengkap 2026

Mengapa Memilih CodeIgniter 4 untuk Membuat Website?

Cara membuat website dengan CodeIgniter adalah salah satu topik yang paling banyak dicari oleh developer PHP di Indonesia. CodeIgniter 4 (CI4) adalah framework PHP yang ringan, cepat, dan mudah dipelajari - menjadikannya pilihan ideal baik untuk pemula yang baru belajar framework maupun developer berpengalaman yang butuh prototyping cepat.

Dibandingkan framework PHP lain seperti Laravel, CodeIgniter 4 memiliki kurva pembelajaran yang lebih landai, kebutuhan sumber daya server yang lebih rendah, serta dokumentasi yang sangat lengkap. Versi 4 membawa arsitektur yang sepenuhnya ditulis ulang dari CI3, dengan dukungan namespace, PSR compliance, dan fitur modern PHP 7.4+.

Pada panduan ini, Anda akan belajar cara membuat website dengan CodeIgniter 4 dari awal: mulai dari instalasi, memahami struktur MVC, membuat routing, controller, model, hingga menampilkan data dari database ke halaman view.

Prasyarat Sebelum Mulai

Sebelum mengikuti tutorial ini, pastikan Anda sudah menyiapkan:

cara membuat website dengan codeigniter
Ilustrasi cara membuat website dengan codeigniter
  • PHP 7.4 atau lebih baru - CI4 membutuhkan minimal PHP 7.4, direkomendasikan PHP 8.1+
  • Composer - Package manager PHP untuk instalasi dan dependency management
  • MySQL / MariaDB - Database server untuk menyimpan data aplikasi
  • Web Server - Apache (XAMPP/Laragon) atau built-in server PHP untuk development
  • Text Editor - VS Code dengan ekstensi PHP Intelephense sangat direkomendasikan

Untuk kemudahan, gunakan Laragon (Windows) atau XAMPP yang sudah menyertakan PHP, MySQL, dan Apache dalam satu paket.

Langkah 1: Instalasi CodeIgniter 4

Ada dua cara menginstal CodeIgniter 4: via Composer (direkomendasikan) atau manual download.

Cara 1: Instalasi via Composer (Direkomendasikan)

Buka terminal atau command prompt, lalu jalankan perintah berikut:

composer create-project codeigniter4/appstarter nama-proyek-anda

Ganti nama-proyek-anda dengan nama folder proyek Anda, misalnya website-ci4.

composer create-project codeigniter4/appstarter website-ci4
cd website-ci4

Cara 2: Download Manual

Kunjungi https://codeigniter.com, unduh versi terbaru CI4, ekstrak ke folder htdocs (XAMPP) atau www (Laragon), lalu rename foldernya.

Menjalankan Development Server

Setelah instalasi selesai, jalankan built-in PHP server dengan perintah:

php spark serve

Buka browser dan akses http://localhost:8080. Jika muncul halaman selamat datang CodeIgniter 4, instalasi berhasil!

Langkah 2: Memahami Struktur Folder CodeIgniter 4

Setelah instalasi, Anda akan menemukan struktur folder seperti berikut:

website-ci4/
├── app/                  ← Kode aplikasi Anda (Controller, Model, View)
│   ├── Config/           ← File konfigurasi (database, routes, dll)
│   ├── Controllers/      ← Logic aplikasi
│   ├── Models/           ← Interaksi dengan database
│   ├── Views/            ← Template HTML
│   ├── Filters/          ← Middleware/filter request
│   └── Libraries/        ← Library kustom
├── public/               ← Document root (index.php, CSS, JS, gambar)
├── system/               ← Core framework CI4 (jangan diubah)
├── writable/             ← Cache, logs, session
├── .env                  ← Konfigurasi environment
└── spark                 ← CLI CodeIgniter

Prinsip terpenting: semua kode Anda berada di folder app/. Folder public/ adalah satu-satunya folder yang harus diekspos ke web server.

Langkah 3: Konfigurasi File .env

File .env di root proyek menyimpan konfigurasi environment. Salin file env menjadi .env (hapus titik di awal jika ada), lalu edit bagian-bagian penting:

# Ganti 'production' menjadi 'development' untuk mode development
CI_ENVIRONMENT = development

# Konfigurasi database
database.default.hostname = localhost
database.default.database = nama_database_anda
database.default.username = root
database.default.password =
database.default.DBDriver = MySQLi
database.default.DBPrefix =
database.default.port = 3306

Dengan CI_ENVIRONMENT = development, CodeIgniter akan menampilkan pesan error detail yang memudahkan debugging. Pastikan mengubahnya ke production saat deploy ke server.

Langkah 4: Membuat Database dan Tabel

Buat database baru di MySQL. Buka phpMyAdmin atau gunakan MySQL CLI:

CREATE DATABASE website_ci4;
USE website_ci4;

CREATE TABLE artikel (
  id INT AUTO_INCREMENT PRIMARY KEY,
  judul VARCHAR(200) NOT NULL,
  konten TEXT NOT NULL,
  slug VARCHAR(200) NOT NULL UNIQUE,
  tanggal TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

Tambahkan beberapa data contoh:

INSERT INTO artikel (judul, konten, slug) VALUES
('Artikel Pertama', 'Ini adalah konten artikel pertama saya.', 'artikel-pertama'),
('Belajar CodeIgniter 4', 'CodeIgniter 4 adalah framework PHP yang hebat.', 'belajar-codeigniter-4');

Langkah 5: Membuat Model

Model di CodeIgniter 4 digunakan untuk berinteraksi dengan database. Buat file baru app/Models/ArtikelModel.php:

<?php

namespace AppModels;

use CodeIgniterModel;

class ArtikelModel extends Model
{
    protected $table      = 'artikel';
    protected $primaryKey = 'id';
    protected $returnType = 'array';
    protected $allowedFields = ['judul', 'konten', 'slug'];

    // Method untuk mendapatkan semua artikel
    public function getAllArtikel()
    {
        return $this->orderBy('tanggal', 'DESC')->findAll();
    }

    // Method untuk mendapatkan artikel berdasarkan slug
    public function getArtikelBySlug(string $slug)
    {
        return $this->where('slug', $slug)->first();
    }
}
cara membuat website dengan codeigniter
Ilustrasi cara membuat website dengan codeigniter

Langkah 6: Membuat Controller

Controller menangani request dari user dan menghubungkan Model dengan View. Buat file app/Controllers/Artikel.php:

<?php

namespace AppControllers;

use AppModelsArtikelModel;

class Artikel extends BaseController
{
    protected $model;

    public function __construct()
    {
        $this->model = new ArtikelModel();
    }

    // Menampilkan daftar semua artikel
    public function index()
    {
        $data = [
            'title'    => 'Daftar Artikel',
            'artikels' => $this->model->getAllArtikel(),
        ];

        return view('artikel/index', $data);
    }

    // Menampilkan detail satu artikel
    public function detail(string $slug)
    {
        $artikel = $this->model->getArtikelBySlug($slug);

        if (!$artikel) {
            throw new CodeIgniterExceptionsPageNotFoundException('Artikel tidak ditemukan.');
        }

        $data = [
            'title'   => $artikel['judul'],
            'artikel' => $artikel,
        ];

        return view('artikel/detail', $data);
    }
}

Langkah 7: Membuat View

View adalah template HTML yang menampilkan data ke user. Buat folder app/Views/artikel/ dan buat dua file view.

File: app/Views/layouts/main.php (Layout Utama)

<!DOCTYPE html>
<html lang="id">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title><?= esc($title) ?> - Website CI4</title>
  <style>
    body { font-family: Arial, sans-serif; max-width: 900px; margin: 0 auto; padding: 20px; }
    nav { background: #333; padding: 10px; margin-bottom: 20px; }
    nav a { color: white; text-decoration: none; margin-right: 15px; }
    .card { border: 1px solid #ddd; padding: 15px; margin-bottom: 15px; border-radius: 4px; }
  </style>
</head>
<body>
  <nav>
    <a href="/">Home</a>
    <a href="/artikel">Artikel</a>
  </nav>
  <main>
    <?= $this->renderSection('content') ?>
  </main>
</body>
</html>

File: app/Views/artikel/index.php (Daftar Artikel)

<?= $this->extend('layouts/main') ?>
<?= $this->section('content') ?>

<h1><?= esc($title) ?></h1>

<?php if (empty($artikels)): ?>
  <p>Belum ada artikel.</p>
<?php else: ?>
  <?php foreach ($artikels as $a): ?>
    <div class="card">
      <h2><a href="/artikel/<?= esc($a['slug']) ?>"><?= esc($a['judul']) ?></a></h2>
      <p><?= esc(substr($a['konten'], 0, 150)) ?>...</p>
      <small><?= $a['tanggal'] ?></small>
    </div>
  <?php endforeach ?>
<?php endif ?>

<?= $this->endSection() ?>

Langkah 8: Konfigurasi Routing

Buka file app/Config/Routes.php dan tambahkan routing untuk controller Artikel:

// Routes untuk artikel
$routes->get('/artikel', 'Artikel::index');
$routes->get('/artikel/(:segment)', 'Artikel::detail/$1');

CodeIgniter 4 menggunakan pattern (:segment) untuk menangkap satu segmen URL. Parameter ini diteruskan ke method controller sebagai argumen pertama.

Langkah 9: Fitur CRUD Lengkap - Tambah, Edit, Hapus Artikel

Untuk aplikasi website yang lengkap, Anda perlu mengimplementasikan operasi CRUD (Create, Read, Update, Delete). Tambahkan method berikut ke controller Artikel.php:

// Menampilkan form tambah artikel
public function tambah()
{
    return view('artikel/form', ['title' => 'Tambah Artikel', 'artikel' => null]);
}

// Menyimpan artikel baru
public function simpan()
{
    $rules = [
        'judul' => 'required|min_length[5]|max_length[200]',
        'konten' => 'required|min_length[20]',
    ];

    if (!$this->validate($rules)) {
        return view('artikel/form', [
            'title'      => 'Tambah Artikel',
            'artikel'    => null,
            'validation' => $this->validator,
        ]);
    }

    $judul = $this->request->getPost('judul');
    $slug  = url_title($judul, '-', true); // auto-generate slug

    $this->model->insert([
        'judul'  => $judul,
        'konten' => $this->request->getPost('konten'),
        'slug'   => $slug,
    ]);

    return redirect()->to('/artikel')->with('success', 'Artikel berhasil ditambahkan!');
}

// Menghapus artikel
public function hapus(int $id)
{
    $this->model->delete($id);
    return redirect()->to('/artikel')->with('success', 'Artikel berhasil dihapus.');
}

Langkah 10: Deploy ke Hosting

Setelah website CodeIgniter 4 selesai dikembangkan secara lokal, saatnya deploy ke hosting. Berikut langkah-langkah untuk upload ke shared hosting dengan cPanel:

  1. Siapkan file untuk production - Ubah CI_ENVIRONMENT = production di file .env, hapus folder .git dan file development yang tidak diperlukan.
  2. Upload via File Manager atau FTP - Upload semua file ke public_html, kecuali folder public/ yang isinya dipindah langsung ke public_html/.
  3. Pindahkan isi folder public/ - File index.php dan .htaccess dari folder public/ harus berada langsung di public_html/.
  4. Edit index.php - Sesuaikan path ke folder app dan system agar menunjuk ke lokasi yang tepat di server.
  5. Buat database di cPanel - Gunakan MySQL Databases di cPanel, buat database baru, buat user, berikan privileges, lalu import file SQL Anda.
  6. Update konfigurasi .env - Sesuaikan hostname, nama database, username, dan password MySQL di server.

Pastikan hosting yang Anda gunakan mendukung PHP 7.4 atau lebih baru. Untuk pengalaman terbaik, gunakan hosting yang mendukung PHP 8.1+ dengan ekstensi intl, mbstring, dan json yang aktif.

Tips dan Best Practices CodeIgniter 4

  • Selalu escape output - Gunakan fungsi esc() di view untuk mencegah XSS.
  • Manfaatkan Query Builder - CI4 punya Query Builder yang aman dari SQL injection secara default.
  • Gunakan Migrations - Kelola perubahan skema database dengan fitur migrations CI4 (php spark make:migration).
  • Aktifkan CSRF Protection - Aktifkan di app/Config/Security.php untuk form-form di website Anda.
  • Gunakan Spark CLI - php spark make:controller, php spark make:model untuk generate boilerplate cepat.
  • Manfaatkan Shield - Library autentikasi resmi CI4 untuk fitur login, register, dan role management.

FAQ: Pertanyaan Umum tentang Cara Membuat Website dengan CodeIgniter

Apa perbedaan CodeIgniter 3 dan CodeIgniter 4?
CodeIgniter 4 ditulis ulang dari nol dengan arsitektur modern. CI4 mendukung namespace PSR-4, PHP 7.4+, memiliki sistem routing yang lebih powerful, built-in CLI (Spark), filter/middleware, dan struktur folder yang lebih terorganisir. CI3 sudah tidak mendapat update fitur baru dan sebaiknya tidak digunakan untuk proyek baru.
Apakah CodeIgniter 4 cocok untuk pemula?
Ya, CodeIgniter 4 adalah salah satu framework PHP yang paling ramah untuk pemula. Dokumentasinya sangat lengkap dan mudah dipahami. Dibandingkan Laravel yang lebih kompleks, CI4 memiliki kurva belajar yang lebih landai sambil tetap mengajarkan konsep MVC yang benar.
Berapa versi PHP minimum untuk CodeIgniter 4?
CodeIgniter 4 membutuhkan minimal PHP 7.4. Namun sangat direkomendasikan menggunakan PHP 8.1 atau lebih baru untuk performa terbaik dan kompatibilitas dengan fitur-fitur modern CI4 terbaru.
Apakah CodeIgniter 4 bisa digunakan untuk membuat REST API?
Ya, CodeIgniter 4 sangat cocok untuk membangun REST API. CI4 memiliki dukungan bawaan untuk response JSON, format negotiation, dan RESTful routing. Anda bisa membuat API yang lengkap hanya dengan CodeIgniter 4 tanpa library tambahan.
Bagaimana cara deploy website CodeIgniter 4 ke shared hosting?
Untuk deploy CI4 ke shared hosting: (1) Upload semua file ke server, (2) Pindahkan isi folder public/ ke public_html/, (3) Edit index.php untuk menyesuaikan path, (4) Buat database MySQL di cPanel dan import data, (5) Update file .env dengan kredensial database server, (6) Set CI_ENVIRONMENT = production.
Apakah perlu mempelajari PHP native dulu sebelum belajar CodeIgniter 4?
Sangat direkomendasikan. Memahami dasar PHP seperti variabel, array, fungsi, class, dan konsep OOP akan membuat proses belajar CodeIgniter 4 jauh lebih mudah dan cepat. Minimal kuasai PHP dasar selama 2–4 minggu sebelum mulai belajar framework.
Hosting apa yang cocok untuk website CodeIgniter 4?
Gunakan shared hosting yang mendukung PHP 8.1+, MySQL, dan membolehkan modifikasi .htaccess. Pastikan hosting Anda mengaktifkan ekstensi PHP yang dibutuhkan CI4: intl, mbstring, json, dan mysqlnd. Hosting Indonesia dengan cPanel umumnya sudah memenuhi semua syarat ini.

Kesimpulan

Cara membuat website dengan CodeIgniter 4 sebenarnya tidak serumit yang dibayangkan. Dengan mengikuti panduan di atas, Anda sudah bisa membangun website berbasis MVC yang fungsional lengkap dengan operasi database, routing bersih, dan tampilan yang rapi.

CodeIgniter 4 adalah pilihan yang tepat jika Anda ingin belajar framework PHP dengan cepat tanpa melewati kurva belajar yang terlalu curam. Setelah menguasai CI4, Anda akan lebih mudah bermigrasi ke framework PHP lain seperti Laravel karena konsep dasarnya serupa.

Langkah selanjutnya setelah website selesai dibuat adalah men-deploy-nya ke hosting agar bisa diakses publik. Pilih hosting yang mendukung PHP 8.1+ dan MySQL untuk memastikan website CodeIgniter 4 Anda berjalan optimal.

Butuh Hosting untuk Website Anda?

Dapatkan hosting cepat, aman, dan terpercaya dengan harga terjangkau. Gratis domain, SSL, dan support 24/7.

Jangan Ketinggalan Promo!

Subscribe newsletter kami dan dapatkan diskon hingga 50% untuk pembelian pertama kamu.

Gratis, tanpa spam. Bisa unsubscribe kapan saja.