Sebelum memulai praktik, pastikan Anda telah memahami konsep dasar pada materi kelas Mastering CodeIgniter 4 di infokoding.

BAB 1

Tutorial CodeIgniter 4: Persiapan & Fondasi Lingkungan Kerja

Panduan instalasi PHP 8, Composer, konfigurasi file .env, dan bedah struktur folder CodeIgniter 4 untuk pemula.

Terakhir diperbarui:

In a nutshell: "Bab 1 membimbing Anda menyiapkan lingkungan pengembangan lokal (PHP 8.1+, Composer, MySQL), menginstal CodeIgniter 4 via Composer melalui langkah berurutan, mengkonfigurasi file .env, memahami struktur folder CI4 melalui diagram alur, serta mengatasi kendala troubleshooting umum seperti error ekstensi PHP intl."

Direct Answer: Persiapan lingkungan kerja CodeIgniter 4 membutuhkan PHP >= 8.1 dengan ekstensi intl, mbstring, dan mysqli. Metode instalasi standar industri adalah menggunakan Composer (composer create-project codeigniter4/appstarter ci4-app), disusul pengaktifan file .env untuk CI_ENVIRONMENT = development, app.baseURL, dan koneksi database MySQL.

1. Persyaratan Sistem & Lingkungan Pengembangan PHP 8

Sebelum memulai instalasi CodeIgniter 4 (CI4), pastikan komputer atau server lokal Anda telah memenuhi spesifikasi teknis minimum berikut:

Checklist Spesifikasi Server CI4

  • Versi PHP: PHP 8.1 atau versi lebih tinggi (PHP 8.2 / 8.3 sangat direkomendasikan).
  • Ekstensi PHP Wajib: ext-intl (lokalisasi waktu/angka), ext-mbstring (string multibyte), ext-json, dan driver database (mysqli / pdo_mysql).
  • Package Manager: Composer versi 2.2+ terpasang global di terminal.
  • Database Server: MySQL 5.7+ atau MariaDB 10.3+.

Verifikasi kesiapan PHP dan Composer di terminal command line Anda:

# 1. Cek versi PHP
php -v

# 2. Cek ketersediaan ekstensi intl dan mbstring
php -m | grep -E "intl|mbstring|mysqli"

# 3. Cek versi Composer
composer --version

2. Panduan Instalasi CodeIgniter 4 via Composer untuk Pemula

Menggunakan Composer merupakan metode instalasi resmi yang direkomendasikan karena mempermudah pembaruan framework dan manajemen dependensi library eksternal secara otomatis.

4 Langkah Mudah Instalasi CodeIgniter 4 via Composer:

  1. Buka Terminal: Masuk ke direktori web server lokal Anda (misalnya htdocs pada XAMPP atau folder projects).
  2. Jalankan Composer create-project: Eksekusi perintah composer create-project codeigniter4/appstarter nama-aplikasi.
  3. Masuk ke Folder Aplikasi: Berpindah direktori dengan perintah cd nama-aplikasi.
  4. Konfigurasi Environment: Duplikat file template env menjadi .env dan sesuaikan basis konfigurasi.

Berikut eksekusi perintah lengkap di terminal:

# Menjalankan instalasi skeleton project CI4 bernama ci4-stok-barang
composer create-project codeigniter4/appstarter ci4-stok-barang

# Pindah ke direktori project
cd ci4-stok-barang

3. Konfigurasi Awal File .env & Koneksi Database MySQL

CodeIgniter 4 menggunakan file .env berbasis dotenv untuk membedakan konfigurasi antara mode pengembangan (local) dan server produksi (production).

# Linux & macOS
cp env .env

# Windows Command Prompt
copy env .env

Buka file .env di code editor (seperti VS Code), kemudian sesuaikan baris kunci berikut:

# 1. Aktifkan Mode Development (Menampilkan Error Lengkap & CodeIgniter Toolbar)
CI_ENVIRONMENT = development

# 2. Tentukan Base URL Aplikasi
app.baseURL = 'http://localhost:8080/'

# 3. Kredensial Database MySQL Lokal
database.default.hostname = localhost
database.default.database = ci4_stok_db
database.default.username = root
database.default.password = 
database.default.DBDriver = MySQLi
database.default.DBPrefix =
database.default.port = 3306

4. Anatomi & Struktur Folder CodeIgniter 4 Lengkap

CodeIgniter 4 menerapkan pemisahan direktori tingkat lanjut demi keamanan aplikasi. Folder publik yang diakses oleh web browser dipisahkan dari folder kode inti framework dan konfigurasi sensitif.

Diagram Arsitektur & Alur Folder CodeIgniter 4

graph TD Client[Web Browser / Pengguna] -->|1. Akses URL| PublicDir[public/index.php] PublicDir -->|2. Bootstrap Framework| SystemDir[system/ Framework Core] PublicDir -->|3. Muat Autoload & Packages| VendorDir[vendor/ Composer Libs] PublicDir -->|4. Eksekusi Logika Bisnis| AppDir[app/ Application Logic] AppDir -->|Controllers| C[app/Controllers] AppDir -->|Models| M[app/Models] AppDir -->|Views| V[app/Views] AppDir -->|Config & .env| CFG[app/Config & .env] PublicDir -->|5. Baca/Tulis Cache, Logs, Session| WritableDir[writable/ Cache, Logs, Session] style PublicDir fill:#1e293b,stroke:#38bdf8,stroke-width:2px,color:#fff style AppDir fill:#0f172a,stroke:#34d399,stroke-width:2px,color:#fff style SystemDir fill:#1e1b4b,stroke:#818cf8,stroke-width:1px,color:#fff style WritableDir fill:#3b112c,stroke:#f43f5e,stroke-width:1px,color:#fff style VendorDir fill:#1e293b,stroke:#64748b,stroke-width:1px,color:#fff
  • 📁 app/: Pusat seluruh logika aplikasi Anda, memuat sub-folder Controllers, Models, Views, Entities, Filters, Database/Migrations, dan Config.
  • 📁 public/: Dokumen web root publik. Hanya direktori ini yang boleh diakses publik oleh web server. Berisi index.php, file CSS, JavaScript, aset gambar, dan .htaccess.
  • 📁 writable/: Direktori dengan hak akses tulis untuk penyimpanan file cache, session user, berkas upload sementara, dan log debugging (writable/logs/).
  • 📁 system/: Kode inti framework CodeIgniter 4. Folder ini tidak boleh diubah manual agar aplikasi mudah di-upgrade.
  • 📁 vendor/: Berisi pustaka dependensi Composer dan autoloader PSR-4.
  • 📄 spark: Skrip CLI pembantu (Spark) untuk menjalankan server lokal, generator controller/migration, dan eksekusi task otomasi.

5. Panduan Troubleshooting Error CodeIgniter 4 yang Sering Dialami Pemula

Berikut adalah solusi praktis untuk kendala dan pesan error yang paling sering dialami saat pertama kali menginstal dan menjalankan CodeIgniter 4:

1. Penanganan Error Ekstensi PHP intl (The intl extension is required)

Gejala Error: Muncul pesan "CodeIgniter\Exceptions\FrameworkException: The framework needs the following extension(s) to be installed and loaded: intl" saat menjalankan aplikasi.

Solusi:

  1. Pada Windows (XAMPP / Laragon): Buka file php.ini (melalui Control Panel XAMPP → Config → PHP (php.ini)), cari baris ;extension=intl, lalu hilangkan tanda titik koma (;) di depannya menjadi extension=intl. Simpan file lalu Restart Apache.
  2. Pada Ubuntu / Debian Linux: Jalankan perintah di terminal: sudo apt install php-intl (atau sesuaikan versi: sudo apt install php8.1-intl atau sudo apt install php8.2-intl), lalu restart web server: sudo systemctl restart php8.1-fpm apache2.

2. Penanganan Error Permission Folder writable/ (Directory is not writable)

Gejala Error: Muncul pesan "CriticalException: The writable directory does not appear to be writable".

Solusi: Di lingkungan Linux atau macOS, pastikan direktori writable memiliki izin tulis yang cukup untuk user web server (misal: www-data):

# Memberikan izin kepemilikan dan permission tulis ke folder writable
chmod -R 775 writable
sudo chown -R www-data:www-data writable

3. Penanganan Error Port 8080 Bentrok pada Spark Server

Gejala Error: Muncul pesan "Failed to listen on localhost:8080 (reason: Address already in use)" saat menjalankan php spark serve.

Solusi: Tentukan port alternatif kustom menggunakan opsi --port:

php spark serve --port 8081

4. Penanganan Composer Memory Limit & SSL Issue

Gejala Error: Composer mengalami memory exhausted saat men-download paket.

Solusi: Jalankan Composer dengan menaikkan alokasi batas memori secara dinamis:

COMPOSER_MEMORY_LIMIT=-1 composer create-project codeigniter4/appstarter ci4-stok-barang

6. Menjalankan Server Lokal & Menggunakan CodeIgniter Debug Toolbar

Jalankan server pengembangan lokal bawaan CodeIgniter 4:

php spark serve

Buka peramban web dan navigasikan ke alamat http://localhost:8080. Anda akan disambut halaman selamat datang resmi CodeIgniter 4. Di pojok kanan bawah, Anda dapat mengklik Debug Toolbar untuk memantau performa timeline eksekusi, query SQL database yang berjalan, riwayat request HTTP, serta memori RAM yang digunakan.

Source Code Lengkap Seri Mastering CodeIgniter 4:

Repositori kode sumber aplikasi studi kasus tersedia di GitHub: github.com/admininfokoding/mastering-codeigniter-4

7. Pertanyaan Umum Seputar Instalasi CodeIgniter 4 (FAQ)

Apa perbedaan instalasi CodeIgniter 4 via Composer vs Manual Download ZIP?

Instalasi via Composer (Appstarter) secara otomatis mengelola dependensi pihak ketiga, mempermudah update framework satu baris perintah (composer update), dan mengikuti standar autoloader PSR-4. Manual ZIP hanya memuat pustaka statis dan menyulitkan integrasi paket eksternal.

Mengapa ekstensi PHP intl wajib diaktifkan di CodeIgniter 4?

Ekstensi intl (Internationalization) digunakan oleh CI4 untuk format lokalisasi waktu, parsing mata uang, validasi string berbasis bahasa, dan penanganan karakter multi-regional.

Di mana letak file konfigurasi database di CodeIgniter 4?

Konfigurasi database utama dapat diatur pada file .env (bagian database.default.*) untuk lingkungan lokal, atau pada file konfigurasi permanen app/Config/Database.php.

Bagaimana cara mengaktifkan tampilan error lengkap saat membuat aplikasi di CI4?

Buka file .env di root project, lalu pastikan variabel CI_ENVIRONMENT = development aktif (tidak diawali tanda pagar/komentar). Mode ini mengaktifkan whoops error handler dan debugbar.