Panduan Lengkap CodeIgniter 4: Dari Pemula ke Ahli Website
Daftar Isi
1. Pengantar CodeIgniter 4
CodeIgniter 4 adalah framework PHP yang ringan, cepat, dan mudah digunakan untuk membangun aplikasi web. Framework ini mengikuti pola MVC (Model-View-Controller) yang memisahkan logika aplikasi, tampilan, dan data sehingga memudahkan pengembangan dan pemeliharaan.

Dengan CodeIgniter 4, Anda dapat membangun website mulai dari yang sederhana hingga kompleks dengan performa yang optimal dan keamanan yang baik.
2. Persiapan Lingkungan Pengembangan
Sebelum mulai menggunakan CodeIgniter 4, pastikan Anda sudah menyiapkan lingkungan pengembangan yang sesuai:
- PHP versi 7.3 atau lebih tinggi
- Composer untuk manajemen dependensi
- Web server seperti Apache atau Nginx
- Database MySQL, MariaDB, PostgreSQL, atau SQLite
Untuk menginstal CodeIgniter 4, gunakan Composer dengan perintah berikut:
composer create-project codeigniter4/appstarter nama-proyek-anda
Setelah instalasi selesai, jalankan server development bawaan dengan perintah:
php spark serve
Buka http://localhost:8080 di browser untuk melihat aplikasi CodeIgniter 4 Anda berjalan.

3. Struktur Folder dan File CodeIgniter 4
Setelah instalasi, Anda akan melihat struktur folder utama sebagai berikut:
- app/ - Tempat kode aplikasi Anda (Controller, Model, View, dll.)
- public/ - Folder root web server, berisi index.php dan aset publik
- system/ - Core framework CodeIgniter 4
- writable/ - Folder untuk file yang dapat ditulis seperti cache dan logs
- tests/ - Folder untuk unit testing
- env - File konfigurasi environment

Memahami struktur ini penting agar Anda dapat mengelola aplikasi dengan baik dan mengikuti standar framework.
4. Routing dan Controller
Routing adalah proses menentukan URL mana yang akan memanggil fungsi tertentu di controller. File routing utama berada di
app/Config/Routes.php
.
Contoh routing sederhana:
$routes->get('home', 'Home::index');
Controller adalah kelas yang menangani permintaan dan mengatur logika aplikasi. Contoh controller Home:
namespace App\Controllers;
class Home extends BaseController
{
public function index()
{
return view('welcome_message');
}
}

Dengan routing dan controller, Anda dapat mengatur bagaimana aplikasi merespon berbagai permintaan URL.
5. Membuat View dan Template
View adalah bagian yang menampilkan data ke pengguna, biasanya berupa file HTML dengan PHP. File view disimpan di
app/Views/
.
Contoh file view
welcome_message.php
:
<!DOCTYPE html>
<html lang="id">
<head>
<title>Selamat Datang</title>
</head>
<body>
<h1>Halo, selamat datang di CodeIgniter 4!</h1>
</body>
</html>
Untuk membuat template yang dapat digunakan ulang, Anda bisa menggunakan fitur
$this->include()
dan
$this->renderSection()
di CodeIgniter 4.

Dengan view dan template, Anda dapat memisahkan tampilan dari logika aplikasi sehingga lebih mudah dikelola.
6. Model dan Database
Model bertugas mengelola data dan berinteraksi dengan database. CodeIgniter 4 menyediakan fitur Model yang mudah digunakan.
Contoh model sederhana:
namespace App\Models;
use CodeIgniter\Model;
class UserModel extends Model
{
protected $table = 'users';
protected $primaryKey = 'id';
protected $allowedFields = ['username', 'email', 'password'];
}
Anda dapat menggunakan model ini di controller untuk mengambil atau menyimpan data:
$userModel = new \App\Models\UserModel();
$users = $userModel->findAll();

Pastikan konfigurasi database sudah benar di
app/Config/Database.php
agar koneksi berjalan lancar.
7. Form dan Validasi
CodeIgniter 4 menyediakan fitur validasi form yang powerful untuk memastikan data yang masuk sesuai aturan.
Contoh form HTML sederhana:
<form action="/user/save" method="post">
<label for="username">Username:</label>
<input type="text" name="username" id="username" required />
<button type="submit">Simpan</button>
</form>
Contoh validasi di controller:
if (! $this->validate([
'username' => 'required|min_length[3]|max_length[20]',
])) {
return redirect()->back()->withInput()->with('errors', $this->validator->getErrors());
}

Validasi membantu menjaga integritas data dan memberikan feedback yang baik kepada pengguna.
8. Session dan Autentikasi
Session digunakan untuk menyimpan data sementara pengguna, seperti status login. CodeIgniter 4 menyediakan class session yang mudah digunakan.
Contoh menyimpan data session:
$session = session();
$session->set('username', 'johndoe');
Contoh mengambil data session:
$username = $session->get('username');
Untuk autentikasi, Anda bisa membuat sistem login dengan memeriksa data user dan menyimpan status di session.

Session membantu menjaga keamanan dan pengalaman pengguna yang konsisten.
9. Membuat REST API dengan CodeIgniter 4
CodeIgniter 4 dapat digunakan untuk membuat REST API yang ringan dan cepat.
Contoh controller API sederhana:
namespace App\Controllers\Api;
use CodeIgniter\RESTful\ResourceController;
class Users extends ResourceController
{
protected $modelName = 'App\Models\UserModel';
protected $format = 'json';
public function index()
{
return $this->respond($this->model->findAll());
}
}
Pastikan routing API diatur di
app/Config/Routes.php
:
$routes->resource('api/users', ['namespace' => 'App\Controllers\Api']);

REST API memungkinkan aplikasi Anda berkomunikasi dengan aplikasi lain secara efisien.
10. Deployment dan Optimasi
Setelah aplikasi selesai dikembangkan, saatnya melakukan deployment ke server produksi.
-
Pastikan konfigurasi environment di
.env
sudah diatur keproduction
- Gunakan server web yang mendukung PHP 7.3+ dan konfigurasi yang optimal
- Optimalkan performa dengan caching dan minifikasi aset
- Amankan aplikasi dengan HTTPS dan pengaturan hak akses file

Deployment yang tepat memastikan aplikasi berjalan lancar dan aman di lingkungan produksi.
11. Penutup dan Tips Lanjutan
Selamat! Anda telah mempelajari dasar-dasar CodeIgniter 4 dari instalasi hingga deployment.
Tips lanjutan untuk menjadi ahli:
- Pelajari fitur-fitur advanced seperti Events, Filters, dan Libraries
- Gunakan unit testing untuk menjaga kualitas kode
- Ikuti komunitas dan dokumentasi resmi CodeIgniter 4
- Terus praktik dan buat proyek nyata untuk memperdalam pemahaman

Semoga panduan ini membantu Anda menjadi developer CodeIgniter 4 yang handal dan profesional.