2. Untuk bisa belajar Codeigniter dengan lancar setidaknya kamu sudah paham konsep
Nah, setelah prasyarat ini terpenuhi. Selanjutnya silahkan siapkan alat-alatnya untuk
mulai belajar.
1. Teks Editor
2. Web Browser
3. Web Server: PHP, MySQL, Phpmyadmin
4. File Project Codeigniter
1. Teks Editor
Teks editor akan kita gunakan untuk menulis kode. Kamu bebas menggunakan teks editor apa
saja untuk coding CI.
Saya merekomendasikan menggunakan Visual Studio Code, karena mudah digunakan dan
punya banyak fitur.
Bagi yang belum punya text editor tesrsebut bisa langsung mendownloadnya di site resmi vs
code : https://code.visualstudio.com/download
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.
3. Web Server
Codeigniter merupakan framework PHP, karena itu ia pasti membutuhkan web server.
Berikut ini requirement server untuk Codeigniter 3:
Jika kamu sudah menginstal XAMPP, maka ketiga aplikasi server ini sudah terpenuhi.
4. 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.
Silahkan ikuti:
1. Download Codeigniter;
2. Ekstrak File ZIP Codeigniter ke htdocs.
Karena kita akan membuat proyek semacam web portal sederhana yang berisi berita tentang
dunia coding. Tujuannya, agar kita paham konsep dasar dari Codeigniter.
Sekarang coba buka web browser dan buka alamat: http://localhost/ disposisi /
Jika sudah tampil seperti gambar berikut selamat kita sdah berhasil install codeigniter
Jika kamu baru pertama kali belajar Codeigniter, maka wajib hukumnya mengetahui apa saja
isi direktori dan file yang ada di dalam project codeigniter.
Silahkan buka teks Editor VS Code, lalu pilih File->Open Folder. Cari folder disposisi pada
direktori htdocs.
Selain itu terdapat juga direktori user_guide dan beberapa file lainnya.
Berikut ini penjelasannya:
1. 📁 application berisi semua kode aplikasi. Di dalam direktori inilah kita akan menulis
semua kode aplikasi kita.
2. 📁 system berisi kode-kode inti dari Codeigniter. Jangan mengubah apapun di dalam
direktori ini. Jika kita ingin upgrade versi, kita cukup me-replace direktori ini dengan
yang baru.
3. 📁 tests berisi kode untuk melakukan testing.
4. 📁 user_guide berisi dokumentasi codeigniter. Kita bisa menghapus direktori ini saat
web sudah jadi.
5. 📄 .editor_config berisi konfigurasi untuk teks editor.
6. 📄 .gitignore berisi daftar file dan folder yang akan diabaikan oleh Git.
7. 📄 comspoer.json adalah file yang berisi keterangan project dan keterangan library
yang digunakan. File ini dibutuhkan oleh composer.
8. 📖 contributing.md adalah file yang berisi penjelasan cara berkontribusi di proyek CI.
Kita bisa menghapus file ini, apabila web sudah jadi.
9. 📖 license.txt adalah file yang berisi keterangan lisensi dari CI. Kita juga bisa
menghapus file saat web sudah jadi.
10. 📖 readme.rst sama seperti file 📄 contributing.md file ini berisi penjelasan dan
informasi tentang project CI. Kita juga bisa menghapus file ini saat web sudah selesai.
11. 📄 index.php adalah file utama dari CI. File yang akan dibuka pertamakali saat
aplikasi dibuka.
Selanjutnya silahkan buka direktori 📁 application dan perhatikan direktori yang ada di sana.
MVC (Model, View, Controller) adalah sebuah pola desain (design pattern) arsitektur
pengembangan aplikasi yang memisahkan dan mengelompokan beberapa kode sesuai degan
fungsinya.1
MVC membagi aplikasi ke dalam tiga bagian fungsional: model, view, dan controller.
Model adalah kode-kode untuk model bisnis dan data. biasanya berhubungan
langsung dengan database untuk memanipulasi data (insert, update, delete,
search), menangani validasi dari bagian controller, namun tidak dapat
berhubungan langsung dengan bagian view.
View merupakan bagian yang menangani presentation logic. berisi kode-kode
untuk tampilan.
Controller merupakan bagian yang mengatur hubungan antara
bagian model dan bagian view, controller berfungsi untuk menerima request dan
data dari user kemudian menentukan apa yang akan diproses oleh aplikasi.
Alur kerjanya seperti ini:
1. Mulai;
2. User mengirim request ke web;
3. File yang pertama kali dieksekusi adalah index.php;
4. Lalu dari index.php, request akan diteruskan oleh routers.php;
5. routers.php akan mencari cache di server, apabila tedapat cache maka cache itu yang
akan dikirim sebagai balasan (response). Apabila tidak
ada cache barulah request diteruskan ke Controller;
6. Controller akan bertanggunag jawab untuk mengambil data dari Model dan me-
rendernya ke dalam View dengan menggunakan library, plugin, dan helper yang ada.
7. Hasil render (view) dikirim ke pengguna dan disimpan dalam cache, apabila
fitur cache aktif;
8. Selesai.
Memahami Router pada Codeigniter
Router pada Codeigniter bertugas untuk menentukan controller dan method/fungsi yang akan
dieksekusi.
Ketika kita membuka, http://localhost/disposisi/ maka fungsi yang akan dieksekusi adalah
fungsi index() yang berada di dalam controller welcome.
Setelah itu tambahkan dua buah file view di dalam direktori 📁 views dengan
isi sebagai berikut.
📄 views/about.php
<h1>About Us</h1>
<p>Ini adalah halaman about</p>
📄 views/profile.php
<h1>Profile Us</h1>
<p>Ini adalah halaman profile</p>
http://localhost/disposisi/index.php/welcome/about/
dan http://localhost/disposisi/index.php/welcome/profile/
Hasilnya:
Apabila kita membuka http://localhost/disposisi/index.php/profile/, maka
akan terjadi error 404 not found.
Ini karena route yang baru saja kita buat, belum didaftarkan ke dalam routers.php.
$route['about'] = 'welcome/about';
$route['profile'] = 'welcome/profile';
Sekarang kita coba setelah kita daftarkan diroute,
Jawabannya:
Tidak harus, karena CI juga mampu mendeteksi otomatis route berdasarkan nama
controller dan method yang dibuat
Konfigurasi Template
Rencananya pada aplikasi yang akan kita buat, kita akan menggunakan template SB Admin.
Link download : https://startbootstrap.com/template/sb-admin
Kenapa SB Admin?
Karena sederhana, gartis, menggunakan bootstrap 4, dan mudah diimplementasikan pada
Codeigniter.
tetapi untuk pembuatan aplikasi kita perlu melakukan beberapa konfigurasi agar
route.php
• Autoload.php: konfigurasi ini untuk menentukan sumber daya apa yang akan di
load otomatis.
(base_url).
ada beberapa yang bisa kita atur disini seperti host, user, password dan
Autoload.php
Config.php
• File config.php ini bertujuan untuk mengatur lokasi default aplikasi. Buka file
config.php yang ada pada folder application/config
• Atur pada bagian base_url dengan alamat projek kita yaitu isi dengan
http://localhost/disposisi
• Masih pada file config.php, cari bagian index lalu hapus index.php nya
Database.php
• File database.php ini digunakan untuk mengatur koneksi ke database. Buka file
database.php yang ada pada folder application/config
• Lalu atur pada bagian username, password, dan database. Username diisi dengan root,
password dikosongkan(default) dan database diisi dengan nama database yang akan kita
gunakan. Dalam kasus ini database yang kita gunakan adalah sikrepsi.
Routes.php
• File route.php ini digunakan untuk mengatur Controller mana yang akan dijadikan
sebagai default atau yang jalan pertama kali saat projek dipanggil melalui
welcome(bawaan CI).
kita ganti dengan menu. Karena controller ini yang akan kita buat setelah ini.
File .htaccess
• Tambahkan file baru menggunakan text editor dengan nama .htacces. Pastikan saat
menyimpan save as type nya adalah All Files.
RewriteEngine On
admin, langkah pertama buat controller dengan nama Menu.php pada lokasi folder
Jika file controller sudah dibuat maka tampilan susunan file dikontroler akan seperti berikut :
Tambahkan 1 file di view/template/menu.php
Tambahkan kode berikut, kita akan copy paste dari template yang sebelumnya pernah
kita download yaitu file layout-static.html copy semua kode difile tersebut dan paste ke
file menu.php kita yang ada difolder view/template/menu.php seperti berikut:
Dan copy paste juga 2 folder css dan js ke folder assets diproject kita:
Jika sudah sesuai dengan intruksi diatas maka akan tampil seperti berikut waktu
Jika kita refresh tab sebelumnya maka akan tampil lebih bagus dari sebelumnya
Langkah selanjutnya kita akan memperbaiki template agar lebih mudah digunakan
selanjutnya.
Ditahapan ini kita akan memperbaiki struktur template agar bisa digunakan secara
pleksibel dan dinamis dalam melakukan load data di pengerjaan berikutnya, Tahapan
selanjutnya pertama kita akses file berikut Controllers/Menu.php dan rubah isi
menjadi seperti berikut:
Difile views/template/menu.php ini adalah template original akan kita pecah menjadi
beberapa bagian
Sekarang kita akan sederhanakan template tersebut agar kedepannya bisa lebih
mudah digunakan,
Template yang sekarang kita gunakan hanya 1 file dan sekarang struktur akan dipecah
menjadi beberapa bagian utama, mulai dari header.php ,navbar.php ,sidebar.php
,footer.php dan main.php. buat beberapa file seperti nama berikut dan biarkan saja
terlebih dahulu dalam kondisi kosong,
Kita akan melakukan pemecahan kode dengan cara menyalin kode program mulai dari
header yaitu dari file template sb-admin sebelumnya di view/template/menu.php copy
1-13 dan paste difile Application/Views/template/header.php
Application/Views/template/navbar.php copy 14 - 38
copy baris 39 -109 di file view/template/menu.php dan paste di file
Application/Views/template/sidebar.php