1. Modul Praktikum Pemrograman Web 2 2022
1 | P a g e
MODUL 05. FRAMEWORK CODEIGNITER (CI)
10.1. Tujuan
1. Memberikan pemahaman kepada mahasiswa tentang framework.
2. Memberikan pemahaman kepada mahasiswa framework CodeIgniter.
3. Memberikan pemahaman kepada mahasiswa tentang konsep MVC (Model
View Controller) pada framework CodeIgniter.
4. Memberikan pemahaman kepada mahasiswa implementasi MVC dengan
menggunakan framework CodeIgniter.
10.2. DASAR TEORI
1. Pengertian Framework
framework itu bias dikatakan sebagia alat bantu yang dapat memudahkan dalam
mendesain sebuah aplikasi PHP. Framework telah menyediakan struktur aplikasi
yang baik berupa : standard coding, best practice dan design pattern. Programmer
yang menggunakan framework bisa langsung fokus kepada business process.
2. CodeIgniter
CodeIgniter adalah framework PHP dikembangkan oleh Rick Ellis dari Ellis Lab.
CI dirancang untuk menjadi sebuah web framework yang ringan dan mudah untuk
digunakan. Pengakuan dari Rasmus Lerdorf pencipta bahasa pemrograman PHP,
mengatakan bahwa CodeIgniter merupakan web framework mudah dan handal.
CodeIgniter memudahkan para developer untuk membangun sebuah aplikasi PHP
dinamis karena bersifat open source. CodeIgniter menyediakan kumpulan library
untuk tugas yang sering dilakukan dan sangat mudah untuk diakses.
3. Versi pada CodeIgniter
Saat modul ini dibuat (Mei 2020), CodeIgniter telah ada 3 versi :
a. CodeIgniter 2 (legacy)
Ini adalah versi original dari CI, rilis Januar 2011 dan berakhir Oktober 2015
b. CodeIgniter 3 (current)
Versi sekrang yang paling banya digunakan, didesign untuk PHP 5.6.+
c. CodeIgniter 4 (future)
Versi ini masih dalam tahap pengembangan, dibuat untuk PHP 7.2.
2. Modul Praktikum Pemrograman Web 2 2022
2 | P a g e
4. Istilah di CodeIgniter
a. Model, class PHP yang dirancang bekerja dengan informasi dari database
b. Controller, inti aplikasi yang menentukan penanganan HTTP request
c. View, halaman web seperti header, footer, sidebar dan lainnya yang
ditanamkan di halaman web. View tidak pernah dipanggil secara langsung.
View harus dipanggil dari controller
d. Library, class yang berisi fungsi – fungsi untuk penyelesaian kasus tertentu
e. Helper, pembantu tugas kategori tertentu terdiri dari kumpulan function.
f. Driver, library khusus yang mempunyai class induk dan beberapa class
turunan yang dapat digunakan untuk kasus terrtentu.
5. Cara Kerja MVC pada CodeIgniter
a index.php bertindak sebagai controller terdepan, dan menginisialisasi
resource yang diperlukan untuk menjalankan CodeIgniter
b Router memeriksa HTTP request untuk menentukan apa yang dikerjakan
c Jika cache file ada, maka akan ditampilkan langsung, dengan melewati
eksekusi normal sistem
d Sebelum memuat controller, HTTP request akan memeriksa apa yang
disubmit user dan memfilternya untuk keamanan
e Controller memuat model, core libraries, plugin, helper, dan resource lain
untuk memproses permintaan tertentu.
f View ditampilkan di browser sesuai proses yang dikerjakan controller. Jika
caching dijalankan, view akan dicache terlebih dahulu agar dapat
ditampilkan di request selanjutnya.
6. Struktur Direktori CodeIgniter
Di CodeIgniter terdapat hirarki yang dikepalai oleh tiga folder utama, yaitu :
application, system, dan user_guide.
a. Peranan folder application di CodeIgniter : menentukan halaman error,
membangun controller, membangun model, membangun views, konfigurasi
aplikasi web yang dibangun, membangun library sendiri, membangun
helper sendiri.
b. Peranan folder system di CodeIgniter : menyimpan library inti CodeIgniter
di folder core, menyimpan library dan driver untuk database di folder
database, menyimpan font di folder font, menyimpan kumpulan helper di
folder helpers, menyimpan fitur bahasa di folder language, menyimpan
berbagai library lainnya di folder libraries.
c. Peranan folder user_guide berisi file dokumentasi pengenalan CodeIgniter
tentang : pembahasan fitur umum CodeIgniter, penggunaan library, helper,
dan driver yang terdapat di CodeIgniter.
3. Modul Praktikum Pemrograman Web 2 2022
3 | P a g e
7. Controller pada CodeIgniter
Controller adalah perantara Model, View, dan resource lainya yang dibutuhkan
untuk menangani HTTP request dan menghasilkan halaman web.
Sebuah controller pada hakekatnya merupakan sebuah Class. Sesuai namanya
“Controller”, bagian ini bertugas mengontrol seluruh aplikasi menggunakan URI.
URI (Uniform Resource Identifier) membantu dalam mengambil data melalui URL
CodeIgniter. Cara penyebutan URI segment pada CodeIgniter misalnya segment
1, segment 2, segment 3 dan seterusnya.
Segment 1 pada codeigniter adalah nama class atau controller yang sedang
dijalankan. Segment ke 2 adalah nama method atau function pada class/controller.
Segment 3 berupa data berbentuk id yang dikirim.
Berikut tampilan controller Welcome yang terletak di folder applicationcontrollers:
Pada file controller Welcome didefinisikan sebuah class yang bernama Welcome.
Nama class itu juga sebaga nama controllernya. Class Welcome memiliki method
dengan nama index.
Berikut tampilan di browser yang mengakses controller Welcome :
Beberapa hal yang harus diperhatikan dalam pembuatan controller :
✓ Nama dari sebuah Class Controller harus diawali dengan huruf besar.
✓ Pada URI Class Controller harus dipanggil menggunakan huruf kecil.
✓ Jangan menggunakan nama yang sama antara nama Class dengan nama
Method, karena akan mengakibatkan fungsi Parent Class di overwrite.
4. Modul Praktikum Pemrograman Web 2 2022
4 | P a g e
8. View pada CodeIgniter
View adalah bagian yang mengatur tampilan ke pengguna.
Pada bagian view yang merupakan presentation layer, kita dapat membuat
sebuah tampilan yang sederhana atau kompleks. View juga dapat berupa bagian-
bagian sederhana seperti header, footer, menu atau lainnya. View ini tidak dapat
diakses secara langsung, melainkan harus dipanggil melalui sebuah Controller.
Sebuah file view dapat dipanggil melalui Controller dengan kode di bawah ini:
dan jika anda ingin mengakses file-file view yang ada di dalam sebuah direktori,
maka bentuk kode yang harus dijalankan adalah sebagai berikut :
Kita tidak perlu menambahkan ekstensi file “.php”, kecuali kita membuat file view
yang berekstensi selain php.
9. Model pada
Model menggambarkan struktur data. Biasanya kelas model akan berisi fungsi
yang digunakan untuk mengambil, menambah, dan memperbaharui informasi
yang ada di database.
Model berisi class dan fungsi seperti Controller. Pemanggilan Model hampir sama
dengan pemanggilan View, namun perbedaannya dalam pemanggilan model
dilakukan dengan pemanggilan fungsi.
Model tidak dapat diakses secara langsung, melainkan harus dipanggil melalui
sebuah Controller. Sebuah file Model dapat dipanggil melalui Controller dengan
kode di bawah ini :
Dari kode tersebut, berarti controller akan memanggil file mlatihan.php di direktori
system/application/models/.
Kode tersebut akan menjalankan method getData pada class mlatihan yang di di
Model mlatihan.
5. Modul Praktikum Pemrograman Web 2 2022
5 | P a g e
10.3. PELAKSANAAN PRAKTIKUM
1. Praktikum membuat Controller di CodeIgniter
➢ Download versi Codeigniter 3.x terbaru di https://codeigniter.com
➢ Ekstrak file “bcit-ci-CodeIgniter-3.x” ke folder “htdocs”
➢ Ubah Nama folder “bcit-ci-CodeIgniter-3.x” menjadi nim Anda, misalnya
1705041234
➢ Jalankan XAMPP. Start Apache dan MySQL
➢ Buat file baru di folder C:xampphtdocsnim_Andaapplicationcontrollers
simpan dengan nama belajar.php Ketikkan script berikut :
➢ Akses browser http://localhost/1705041234/index.php/belajar/index
➢ Berikut tampilan yang diharapkan :
➢ Akses browser http://localhost/1705041234/index.php/belajar/halo
➢ Berikut tampilan yang diharapkan :
6. Modul Praktikum Pemrograman Web 2 2022
6 | P a g e
2. Praktikum mengganti default controller
➢ Akses direktori : application/config. Buka file routes.php
➢ Ubah pengaturan default_controller yang tadinya welcome menjadi belajar
➢ Akses browser http://localhost/1705041234
3. Praktikum membuat View di CodeIgniter
➢ Buka direktori C:xampphtdocsnim_Andaapplicationviews. Buat file baru
dengan nama view_belajar.php Ketikkan script berikut :
➢ Buka kembali file belajar.php pada folder controller. Edit file tersebut :
7. Modul Praktikum Pemrograman Web 2 2022
7 | P a g e
➢ Akses browser http://localhost/1705041234/index.php/belajar/sinau
➢ Berikut tampilan yang diharapkan :
4. Praktikum membuat View dan array di CodeIgniter
➢ Buka direktori C:xampphtdocsnim_Andaapplicationviews.
➢ Buat file baru dengan nama view_belajar2.php Ketikkan script berikut :
➢ Buka kembali file belajar.php pada folder controller.
➢ Tambahkan function sinau2()
➢ Akses browser http://localhost/1705041234/index.php/belajar/sinau2
➢ Berikut tampilan yang diharapkan :
8. Modul Praktikum Pemrograman Web 2 2022
8 | P a g e
5. Praktikum membuat Model dan array di CodeIgniter
➢ Buatlah database dengan nama biodata, dengan struktur tabel berikut :
➢ Isikan dengan data Anda :
➢ Buka file config database.php yang terletak di application/config/
➢ Sesuaikan menjadi seperti berikut :
➢ Buka file config autoload.php yang terletak di application/config/
➢ Cari pengaturan yang mengarah ke load library codeigniter seperti berikut :
➢ Kemudian tambahkan database. Dan akan menjadi seperti berikut :
➢ Buka direktori application/models/. Buat file dengan nama m_data.php
➢ Ketikkan script berikut :
9. Modul Praktikum Pemrograman Web 2 2022
9 | P a g e
➢ Buka direktori application/controllers/. Buat file dengan nama belajar2.php
➢ Ketikkan script berikut :
➢ Buka direktori application/views/. Buat file dengan nama v_user.php
➢ Ketikkan script berikut :
➢ Buka browser : http://localhost/1705041234/index.php/belajar2/user
10. Modul Praktikum Pemrograman Web 2 2022
10 | P a g e
10.4. Latihan
1. Latihan Membuat CRUD di CodeIgniter ( bagian tampil data )
➢ Buka direktori application/controllers/. Buat file dengan nama crud.php
➢ Buka direktori application/models/. Buat file dengan nama m_crud.php
➢ Buka direktori application/views/. Buat file dengan nama m_tampil.php
11. Modul Praktikum Pemrograman Web 2 2022
11 | P a g e
➢ Buka browser : http://localhost/1705041234/index.php/crud/
➢ Berikut tampilan nya :
2. Latihan Membuat CRUD di CodeIgniter ( bagian input data )
➢ Buka direktori application/controllers/. Buka file dengan nama crud.php
➢ Tambahkan method tambah() seperti berikut :
➢ Buka direktori application/views/. Buat file dengan nama v_input.php
➢ Buka direktori application/controllers/. Buka file dengan nama crud.php
➢ Tambahkan method tambah_aksi() seperti berikut :
12. Modul Praktikum Pemrograman Web 2 2022
12 | P a g e
➢ Buka direktori application/models/. Buka file dengan nama m_crud.php
➢ Berikut tampilan input data :
13. Modul Praktikum Pemrograman Web 2 2022
13 | P a g e
3. Latihan Membuat CRUD di CodeIgniter ( bagian hapus data )
➢ Buka direktori application/controllers/. Buka file dengan nama crud.php
➢ Tambahkan method hapus() seperti berikut :
➢ Buka direktori application/models/. Buka file dengan nama m_crud.php
➢ Tambahkan method hapus_data seperti berikut :
➢ Jalankan menu hapus data dari browser.
4. Latihan Membuat CRUD di CodeIgniter ( bagian update data )
➢ Buka direktori application/controllers/. Buka file dengan nama crud.php
➢ Tambahkan method edit() seperti berikut :
➢ Buka direktori application/models/. Buka file dengan nama m_crud.php
➢ Tambahkan method edit_data seperti berikut :
14. Modul Praktikum Pemrograman Web 2 2022
14 | P a g e
➢ Buka direktori application/views/. Buat file dengan nama v_edit.php
➢ Buka direktori application/controllers/. Buka file dengan nama crud.php
➢ Tambahkan method update() seperti berikut :
➢ Buka direktori application/models/. Buka file dengan nama m_crud.php
➢ Tambahkan method update_data seperti berikut :
➢ Jalankan menu update data dari browser.