Tutorial Codeigniter #01:
Pengenalan Codeigniter
untuk Pemula
Apa itu Framework?
Sebelum masuk ke Codeigniter, kita bahas dulu
pengertian framework.
Jadi:
Framework dalam bahasa indonesia
artinya kerangka kerja.
Saya yakin, kamu yang sedang membaca artikel ini
sudah pernah membuat web dengan PHP.
Setidaknya membuat web sederhana yang berisi
beberapa halaman.
Apa yang akan kamu lakukan jika webnya semakin
kompleks?
Ya ditambahin lagi donk kodenya.
Tapi..
Kadang ini tidak berjalan mulus.
Kode website kita akan semakin ribet dan
berantakan. Bisa jadi disbeabkan karena kita asal-
asalan menambahkan kode.
Belum lagi, kita dituntut menulis kode yang rapi
agar bisa dipahami orang lain (misalnya teman satu
tim).
Maka di sini kita tidak boleh seenaknya menulis
kode yang asal-asalan.
Karena itu, diciptakanlah framework atau kerangka
kerja.
Kerangka kerja dibuat agar kita bisa bekerja lebih
mudah. Biasanya, framework menyediakan bahan-
bahan yang siap pakai, sehingga kita tidak harus
membuatnya dari nol.
Selain itu, framework juga memiliki aturan-aturan
yang harus diikuti.
Contohnya seperti:
Harus menaruh kode yang memiliki fungsi yang
sama dalam satu folder;
Harus mengikuti aturan penulisan kode (writing
conventions) yang disepakati;
Harus menggunakan pola desain ini, dan itu;
dan lain sebagainya.
Jadi apa itu framework?
Framework adalah sebuah kerangka kerja yang
digunakan untuk membantu developer dalam
mengembangkan kode aplikasi secara konsisten.
Lalu..
Apa itu Codeigniter?
Codeigniter adalah salah satu framework untuk
membuat website dengan bahasa pemrograman
PHP.
Codeigniter terkenal dengan konsep MVC-nya.
MVC merupakan singkatan dari Model–View–
Controller.
Nanti kita akan bahas lebih dalam tentang MVC
pada: Konsep dasar Framework Codeigniter.
Codeigniter pernah menapat pujian dari creator
PHP: Rasmus Lerdorf
Ia menyukai Codeigniter karena lebih cepat dan
lebih ringan. 1
Website Codeigniter
Keunggulan Codeigniter
Ada beberapa kelebihan CodeIgniter (CI)
dibandingkan dengan Framework PHP lain,
Performa cepat: Codeigniter merupakan
framework yang paling cepat dibanding framework
yang lain. Karena tidak menggunakan template
engine dan ORM yang dapat memperlambat
proses.
Konfigurasi yang minim (nearly zero
configuration): tentu saja untuk menyesuaikan
dengan database dan keleluasaan routing tetap
diizinkan melakukan konfigurasi dengan mengubah
beberapa file konfigurasi
seperti [Link] atau [Link], namun
untuk menggunakan codeigniter dengan setting
standard, anda hanya perlu mengubah sedikit saja
pada file di folder config.
Memiliki banyak komunitas: Komunitas CI di
indonesia cukup ramai, tutorialnya pun mudah
dicari.
Dokumentasi yang lengkap: Codeigniter disertai
dengan user_guide yang berisi dokumentasi yang
lengkap.
Mudah dipelajari pemula: Bagi pemula, CI
sangat mudah dipelajari. Karena CI tidak terlalu
bergantung pada tool tambahan seperti composer,
ORM, Template Engine, dll.
Contoh Website yang dikembangkan dengan
Codeigniter
Saat ini ada sekitar 753.660 website yang
menggunakan Codeigniter di seluruh dunia, dan di
indonesia sendiri terdapat sekitar 17.505 website
yang menggunakan Codeingiter. 2
Berikut ini beberapa website populer di Indonesia
yang menggunakan Codeiginter:
[Link]
[Link]
[Link]
[Link]
[Link]
[Link]
[Link]
[Link]
[Link]
[Link]
[Link]
[Link]
[Link]
[Link]
[Link]
[Link]
Catatan: website ini bisa saja berubah-ubah dan
berganti framework Data ini diambil
dari [Link] pada tanggal 19 Agustus 2020.
Sejarah Singkat Codeigniter
Codeigniter pertamakali dibuat oleh EllisLab,
sebuah perushaan software yang berbasis di Santa
Barbara California. 1
EllisLab merilis Codeigniter pertamakali pada
tanggal 28 Februari 2006.
Beberapa tahun kemudian…
Sudah sekian lama tidak dikembangkan. EllisLab
akhirnya ingin memberikan proyek Codeigniter
kepada orang lain.
Pada tanggal 9 Juli 2013, EllisLab mencari pemilik
baru Codeigniter. Akhirnya pada tanggal 6
Oktober 2014 pengembangan Codeigniter
dialnjutkan dibawa kepengurusan dari British
Columbia Institute of Technology (BCIT).
Lalu..
Pada tanggal 23 Oktober 2019, Codeigniter
Foundation mengambil alih proyek ini dan tidak
lagi dibawa kepengurusan BCIT.
Codeigniter Foundation adalah yayasan non-profit
yang dibentuk untuk pengembangan Codeigniter
lebih lanjut.
Proyek Codeigniter 4 pun dimulai dengan Jim
Parry sebagai project lead.
…dan akhirnya pada tanggal 24 Februari
2020 Codeigniter 4 resmi dirilis.
Tanggal ini diambil, sebagai penghormatan
terakhir kepada Jim Parry yang telah meninggal
dunia pada tanggal 15 Januari 2020. 3
Akun Github Jim Parry
R.I.P Jim Parry, terimakasih atas kontribusinya di
Codeigniter 4.
Versi dan Perkembangan
Codeigntier
Codeigniter 1 oleh EllisLab (sudah tidak
dikembangkan)
Codeigniter 2 oleh BCIT (sudah tidak
dikembangkan)
Codeigniter 3 oleh BCIT (masih dikembangkan)
Codeigniter 4 oleh Codeingter Foundation (versi
saat ini)
Codeigniter Versi Berapa yang
Harus saya Pelajari?
Saya merekomendasikan mempelajari Codeigniter
3 atau Codeigniter 4. Karena kedua versi ini masih
dikembangkan hingga saat ini.
Codeigniter 3, adalah codeigniter yang dirilis oleh
BCIT dan ditargetkan untuk digunakan pada PHP
5.
Codeigniter 3 juga bisa digunakan di PHP 7.
Meskipun sudah ada Codeigniter 4, versi 3 masih
tetap dikembangkan.
Jadi, masih akan ada update terbaru di versi 3
hingga waktu yang belum ditentukan.
Kita tunggu saja, pengumuman resmi kapan
Codeigniter 3 akan dihentikan.
Sementara itu Codeigniter 4, ditargetkan untuk
digunakan pada PHP 7 ke atas. Versi ini dirilis oleh
Codeigniter Foundation dan akan menjadi generasi
penerus Codeigniter 4.
Bingung mau belajar yang mana?
Mari kita coba bandingkan secara detail
Perbedaan Codeigniter 3 dengan
Codeigniter 4
Dari segi Codeigniter 3 Codeigniter 4
Versi PHP PHP 5.6+ PHP 7.2+
Release oleh BCIT Codeigniter Foundation
Dari segi Codeigniter 3 Codeigniter 4
Konsep MVC MVC
Site Root project root folder public folder
Application folder application app
\CodeIgniter\
Controller Class CI_Controller Controller
Object HTTP
req/res tidak ada Request dan Response
Model Class CI_Model \CodeIgniter\Model
CRUD di Model Bikin sendiri Sudah disediakan
Entity Class Tidak ada Ada
View $this->load->view(x); echo view(x);
View Cell tidak ada ada
Load Library $this->load->library(x); $this->x = new X();
Middleware Tidak ada Ada Filters
FIle .env Tidak ada Ada
Command Line
Tools Tidak ada Ada spark
Nah, itulah beberapa perbandingan dari segi
teknis. Semoga kamu bisa menentukan versi
Codeigniter yang akan dipelajari.
Kalau bedasarkan pilihan pribadi, saya lebih
menyarankan belajar yang versi 4, karena punya
lebih banyak fitur dan lebih canggih dan juga
terupdate.
Apa Selanjutnya?
Sejauh ini, kita sudah mengenal Codeigniter. Mulai
dari mempelajari sejarah dan asal usulnya. Hingga
versi terbaru saat ini.
Persiapan Sebelum Belajar CI 4
Prasyarat belajar Codeigniter 4..
Memahami basic bahasa pemrograman PHP.
Silahkan, ikuti tutorial basic pemrograman
PHP jika kamu belum menguasainya.
Untuk bisa belajar Codeigniter dengan lancar
setidaknya kamu sudah paham konsep
pemrograman berorientasikan objek (OOP) dengan
PHP.
Memahami sintaks dasar SQL;
Nah, setelah prasyarat ini terpenuhi. Selanjutnya
silahkan siapkan alat-alatnya untuk mulai belajar.
Berikut ini beberapa peralatan yang harus kamu
siapkan di komputermu:
1. Teks Editor
2. Web Browser
3. Web Server: PHP, MySQL, Phpmyadmin
4. Composer
5. File Project Codeigniter
Mari kita siapkan satu-per-satu.
1. Teks Editor
Teks editor akan kita gunakan untuk menulis kode.
Kamu bebas menggunakan teks editor apa saja
untuk coding CI.
Saya merekomendasikan menggunakan VS Code,
karena mudah digunakan dan punya banyak fitur.
Untuk menginstal VS Code, silahkan baca:
Review dan Cara Install VS Code di Linux
2. Web Browser
Web browser akan kita gunakan untuk melihat
hasil dari aplikasi. Kamu juga bebas menggunakan
web browser apapun, asalkan masih mendukung
teknologi web modern zaman sekarang.
Rekomendasi, gunakan Google Chrome atau
Firefox.
Web Browser Firefox
3. Web Server
Codeigniter merupakan framework PHP, karena itu
ia pasti membutuhkan web server. Berikut ini
requirement server untuk Codeigniter 4:
PHP Versi 7.2+
MySQL Versi 5.1+
Phpmyadmin
Jika kamu sudah menginstal XAMPP, maka ketiga
aplikasi server ini sudah terpenuhi. Tapi jika kamu
pengguna Linux, maka ini bisa diinstal satu-per-
satu.
Silahkan baca:
Cara Install XAMPP di Windows (recommended)
Persiapan Pemrograman Web PHP di
Linux (recommended)
Cara Install XAMPP di Linux (alternatif)
Setelah menginstal webserver, kita harus
mengaktifkan beberapa ekstension yang
dibutuhkan untuk pengembangan CI 4.
Apa saja itu?
php-json ekstension untuk bekerja dengan JSON;
php-mysqlnd native driver untuk MySQL;
php-xml ekstension untuk bekerja dengan XML;
php-intl ekstensi untuk membuat aplikasi
multibahasa;
libcurl (opsional), jika ingin pakai Curl.
Silahkan install semuanya dengan perintah:
sudo apt install php-json php-mysqlnd php-xml php-intl libcurl
Untuk kamu yang menggunakan Windows dan
XAMPP. Silahkan buka XAMPP Control Panel, lalu
pada bagian apache klik Config->PHP.
Setelah itu, cari di bagian extension dan
hapus ; yang ada di depan nama extension untuk
mengaktifkannya.
4. Composer
Composer adalah program berbasis command line
(CLI) untuk menajemen proyek PHP. Tugas dari
composer adalah melakukan instalasi paket,
membuat proyek baru, menjalankan script, dan
lain-lain.
Silahkan install Composer dengan perintah berikut:
apt install composer
Jika kamu ingin belajar tentang composer lebih
lanjut, silahkan baca:
Cara Menggunakan Composer untuk Manajemen
Proyek PHP
O ya, di sana juga ada penjelasan tentang cara
installComposer di Windows.
5. File Project Codeigniter
File project Codeigniter dapat di-download di
website resmi Codeigniter. Nanti kita akan
mendapatkan file berupa ZIP. File inilah yang akan
kita gunakan untuk mulai membuat proyek
Codeigniter.
File project ini juga dapat kita download dengan
composer.
Silahkan ikuti:
Install CI 4 dengan Composer
Untuk menginstal CI 4 dengan composer, silahkan
ketik perintah berikut.
composer create-project codeigniter4/appstarter ci-news -vvv
Tungulah sampai prosesnya selesai.
Ada beberapa argumen yang kita berikan pada
perintah ini:
create-project adalah perintah untuk membuat
proyek baru dengan composer;
codeigniter4/appstarter adalah file CI yang akan
di-download;
ci-news adalah nama proyek yang akan kita buat;
-vvv berfungsi untuk melihat proses install lebih
detail.
Setelah prosesnya selesai, kita akan mendapatkan
folder baru dengan nama ci-news.
buka folder ci-news dengan teks editor VS Code.
Setelah itu buka terminal dengan
menekan Ctrl + ` dan jalankan perintah:
composer install -vvv
Perintah ini akan menginstal semua library yang
dibutuhkan CI 4.
Setelah selesai, coba ketik perintah:
php spark serve
Perintah ini akan menjalankan server CI 4 pada
port 8080.
Coba buka web browser dan arahkan ke
alamat [Link] maka hasilnya:
Selamat. 👏👏👏
CI 4 sudah berhasil diinstal.
Selanjutnya kita tinggal mulai coding.
Install CI 4 dengan Cara Manual
Nah, buat kamu yang ingin menginstal CI4 dengan
cara manual, tanpa harus melalui Composer, bisa
ikuti cara ini.
Langkah-langkah yang harus dilakukan:
1. Download Codeigniter;
2. Ekstrak File ZIP Codeigniter ke htdocs.
Silahkan buka website Codeigniter untuk
mendownload.
Note: Biar versi CI4 sama dengan versi yang
digunakan pada tutorial ini, yakni 4.0.4..
silahkan Download CI dari link ini.
Kita akan mendapatkan sebuah file zip 📦 framework-
[Link], ekstrak file tersebut ke dalam c:\xampp\
htdocs (XAMPP) atau /var/www/html (di Linux).
Setelah itu, ubah nama framework-
[Link] menjadi ci-news.
Sekarang coba buka web browser dan buka
alamat: [Link]
Jiak hasilnya kosong atau blank, maka kita harus
melakukan install library yang dibutuhkan.
Silahkan buka folder ci-news dengan Visual Studio
Code, lalu buka terminal dan ketik perintah
berikut.
composer install -vvv
Perintah ini akan menginstal semua library yang
dibutuhkan CI 4.
Setelah itu, ubah kepemilikan dari
folder writable dengan perintah berikut ini:
sudo chown -Rv www-data writable/
Note: ini khusus di Linux
Setelah selesai, coba buka
kembali [Link] maka
hasilnya:
Selamat. 👏👏👏
CI 4 sudah berhasil diinstal.
Selanjutnya kita tinggal mulai coding.
Biar Enak, Hidupkan Mode
Debugging
CI4 menyediakan fitur debugging yang cukup
bagus. Ini sama seperti profiler pada CI3.
Secara default, fitur ini belum aktif. Jika ada error
pada aplikasi, maka ia akan menampilkan
pesan Whoops! seperti ini:
Kita tidak akan bisa tahu tempat masalahnya jika
aplikasi cuma menampilkan ini. Cocoknya ini
dipakai pada aplikasi production.
Nah, untuk mengaktifkan mode debugging, kita
harus mengubah environment
variabel CI_ENVIRONMENT menjadi development.
Silahkan buka file env, kemudian cari
variabel CI_ENVIRONMENT dan ubahlah nilainya
menjadi development.
Setelah itu, ubah nama
file env menjadi .env (tinggal tambah titik di
depan).
Sekarang, coba buat sebuah kesalahan. Misalnya,
saya menghapus titik koma pada controller Home.
Lalu buka kembali aplikasinya.
Maka hasilnya:
Nah, dengan begini.. kita bisa debug aplikasi
dengan lebih mudah. CI akan ngasih tahu, di mana
letak error-nya.
Nanti, setelah kita selesai mengembangkan
aplikasi. Ubah
kembali CI_ENVIRONTMENT menjadi production.
Membuat Virutal Host Domain
Ini boleh kamu lakukan dan boleh juga tidak.
Buat kamu yang menginstal CI4 secara manual
di htdocs, ada baiknya membuatkan virtual host
agar memudahkan dalam proses development.
Virtual host adalah alamat khusus yang kita buat di
localhost untuk mengakses aplikasi.
Pada contoh di atas, kita membuka aplikasi
melalui [Link]
Nah, dengan virtual host, kita bisa membukanya
melalui [Link].
Nama domain yang digunakan terserah kita,
bisa .com, .net, .web, dan sebagainya.
Tapi..
Biar tidak membingungkan dan bentrok dengan
domain yang sudah ada di internet, kita berikan
domain .test atau .local saja.
Biaklah, langkah-langkah berikut:
Membuat Virtual Host di Linux
Untuk kamu pengguna Linux atau Mac, bisa
mengikuti cara berikut. Silahkan buka Terminal
lalu ketik.
sudo cp /etc/apache2/sites-available/[Link]
/etc/apache2/sites-available/[Link]
Perintah ini akan melakukan copy dari konfigurasi
default host apache.
Setelah itu, buka file [Link] dengan
tekes editor. Ketik perintah berikut:
sudo nano /etc/apache2/sites-available/[Link]
Lalu ubah isinya menjadi seperti ini:
<VirtualHost *:80>
ServerAdmin admin@[Link]
ServerName [Link]
ServerAlias [Link]
DocumentRoot /var/www/html/ci-news/public
ErrorLog ${APACHE_LOG_DIR}/[Link]
CustomLog ${APACHE_LOG_DIR}/[Link] combined
</VirtualHost>
Setelah itu, tekan Ctrl + x lalu pilih y untuk
menyimpan.
Berikutnya, buka file /etc/hosts ketik perintah
berikut:
sudo nano /etc/hosts
Setelah itu, tambahkan:
[Link] [Link]
Ini akan menjadi alamat domain yang akan kita
pakai. Kamu juga bisa menggantinya dengan yang
lain.
Setelah itu, simpan dengan menekan Ctrl + x lalu
pilih y .
Berikutnya, kita harus mengaktifkan konfigurasi
site apache yang sudah dibuat. Silahkan ketik
perintah berikut:
sudo a2ensite [Link]
Terakhir, restart server dengan perintah berikut:
sudo service apache2 restart
…dan coba buka alamat [Link] dari web
browser.
Membuat Virtual Host di Windows
Untuk kamu yang menggunakan XAMPP di
Windows, berikut ini cara membuat virtual host.
Silahkan buka windows explorer, lalu masuk ke
folder C:/xampp/apache/conf/extra.
Setelah itu, buka file [Link] dengan
Notepad atau Notepad++.
Selanjutnya tambahkan kode berikut ini pada
file [Link]:
<VirtualHost *:80>
ServerAdmin admin@[Link]
ServerName [Link]
ServerAlias [Link]
DocumentRoot "c:\xampp\htdocs\ci-news\public"
ErrorLog ${APACHE_LOG_DIR}/[Link]
CustomLog ${APACHE_LOG_DIR}/[Link] combined
<Directory "c:\xampp\htdocs\ci-news\public"></Directory>
</VirtualHost>
Setelah itu, tekan Windows + r , lalu masukkan..
C:\Windows\System32\drivers\etc\hosts
pada kolom Open.
Tambahkan kode berikut:
[Link] [Link]
Setelah itu simpan, dan restart server apache.
Sekarang coba buka browser dan arahkan ke
alamat [Link], maka hasilnya:
Troubleshooting..
Saya yakin ada beberapa diantara kamu yang akan
mendapatkan masalah saat install Codeigniter 4.
Berikut ini beberapa masalah yang sering
ditemukan.
Tidak bisa menjalankan server
Saat menjalankan server dengan perintah php
spark serve muncul pesan error seperti ini:
PHP Warning:
require(/app/Config/../../vendor/codeigniter4/framework/system/bo
[Link]): failed to open stream: No such file or directory in
/home/dian/Playground/ci-playground/ci-news/spark on line 44
Contoh:
Kalau kita lihat, perintah ini akan mencari file di
folder vendor. Folder ini adalah folder yang berisi
library yang diinstal dengan composer.
✅ Solusi:
Lakukan install dengan perintah
composer install -vvv
Argumen -vvv berfungsi untuk melihat proses
instalasi lebih detail.
Tunggulah sampai prosesnya selesai..
..dan akan ada folder vendor di proyek kita.
Tidak bisa melakukan install
Saat melakukan install dengan perintah composer
install, muncul pesan seperti ini:
codeigniter4/framework v4.0.4 requires ext-intl * -> the
requested PHP extension intl is missing from your system
Installation request for codeigniter4/framework ^4 -> satisfiable
by codeigniter4/framework[4.0.0, v4.0.1, v4.0.2, v4.0.3, v4.0.4].
Ini artinya ekstensi ext-intl belum terinstal
✅ Solusi:
Instal ekstensi tersebut dengan perintah:
sudo apt install php-intl
Setelah itu, coba jalankan lagi composer install
Apa Selanjutnya?
Pada tahapan ini, kita sudah berhasil membuat
proyek baru Codeigniter. Baik itu dengan
composer, maupun install secara manual ke htdocs.
Kamu lebih suka cara yang mana?
Kalau saya, lebih suka yang pakai Composer,
karena lebih praktis.
Berikutnya, silahkan pelajari tentang: