0% menganggap dokumen ini bermanfaat (0 suara)
85 tayangan46 halaman

02-05. Modul Codeigniter Dasar

Modul ini membahas pengenalan Codeigniter 4, termasuk definisi, struktur file, model view controller, cara kerja, dan kelebihan Codeigniter. Modul ini juga menjelaskan cara instalasi Codeigniter secara manual dan menggunakan Composer, serta konfigurasi awal setelah instalasi. Terakhir, modul ini menjelaskan pengenalan model view controller lebih lanjut beserta contoh kode untuk membuat controller, view, dan model.
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
85 tayangan46 halaman

02-05. Modul Codeigniter Dasar

Modul ini membahas pengenalan Codeigniter 4, termasuk definisi, struktur file, model view controller, cara kerja, dan kelebihan Codeigniter. Modul ini juga menjelaskan cara instalasi Codeigniter secara manual dan menggunakan Composer, serta konfigurasi awal setelah instalasi. Terakhir, modul ini menjelaskan pengenalan model view controller lebih lanjut beserta contoh kode untuk membuat controller, view, dan model.
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 46

Modul Dasar Codeigniter 4

Bagus Ali Akbar


MATA KULIAH PEMROGRAMAN WEB (FRAMEWORK)

FAKULTAS ILMU KOMPUTER


UNIVERSITAS SUBANG
2021
•••

DAFTAR ISI
DAFTAR ISI ................................................................................................1
BAGIAN I INTRODUCTION ........................................................................2
Definisi Codeigniter ............................................................................. 2
Definisi Framework ............................................................................... 3
Struktur File Codeigniter 4 ................................................................... 3
Model View Controller ........................................................................ 4
Cara Kerja ............................................................................................ 5
Mengapa Codeigniter? ...................................................................... 5
BAGIAN II INSTALATION & CONFIGURATION .........................................6
Instalasi Secara Manual ...................................................................... 6
Instalasi Menggunakan Composer .................................................... 9
Configurasi pertama kali................................................................... 14
BAGIAN III MENGENAL MVC ................................................................. 15
Controller ............................................................................................ 15
Models ................................................................................................ 16
Views ................................................................................................... 16
Membuat Controllers ........................................................................ 17
Membuat View .................................................................................. 20
Membuat Models .............................................................................. 27
Membuat Database ...................................................................... 28
Membuat Table ............................................................................. 29
Mengisi Data dalam Tabel ............................................................ 30
Melihat data yang sudah di input ................................................ 32
Konfigurasi Database di Codeigniter 4 ........................................ 32
Membuat Model ............................................................................ 33
Menambahkan Function di Controller ......................................... 33
Menampilkan Data dengan membuat view .............................. 34
BAGIAN IV MEMBUAT CRUD .................................................................. 36
Langkah 1. Membuat Read (Tampil Data) ..................................... 36
Langkah 2. Membuat Create (Tambah Data) ............................... 39
Langkah 3. Membuat Update (Edit Data) ...................................... 41
Langkah 4. Membuat Delete (Hapus Data) ................................... 44

1
•••

BAGIAN I INTRODUCTION
Pada bulan juli 2013, EllisLab mengumumkan Definisi Codeigniter
bahwa mereka mencari pemilik baru untuk
Codeigniter karena internal mereka sendiri tidak Sebuah Framework PHP
memiliki cukup fokus untuk terus yang bersifat open source
mengembangkan Codeigniter. Akhirnya pada dan menggunakan konsep
bulan Oktober 2014, kepemilikan Codeigniter MVC (Model, View,
berpindah tangan kepada British Columbia Controller). Codeigniter
Institute of Technology, salah satu sekolah tinggi biasa disingkat CI
teknologi di Kanada. tujuannya memudahkan
developer untuk membuat
Setelah hampir lima bulan lamanya sejak aplikasi web dengan
peralihan kepemilikan, BCIT akhirnya merilis cepat dan mudah.
Codeigniter 3.0. Berkat perkembangan teknologi Codeigniter dirilis pada 28
yang cepat, Codeigniter dipaksa melakukan Februari 2006. Versi terakhir
perubahan besar-besaran maka lahir lah versi pada saat modul ini dibuat
baru yaitu versi 4.0 adalah 4.1.4 dan bisa di
download di
Codeigniter sendiri memberikan 3 pilihan yaitu : www.codeigniter/downloa
Codeigniter 2, Codeigniter 3 dan Codeigniter 4 d . Codeigniter ditulis
dengan Bahasa
Codeigniter 2 merupakan versi legacy (lama), Pemograman PHP.
Codeigniter 3 merupakan versi terbaru dari
Codeigniter, sedangkan Codeigniter 4
merupakan versi masa depan Codeigniter.

Versi 2 dan 3 tidak memiliki perbedaan yg


signifikan hanya ada beberapa fitur yang
ditambahkan di versi 3 dan dukungan terhadap
php versi 5.6+, versi 4 sangat berbeda dengan
versi 2 dan 3, versi 4 mendukung php versi 7.3+

Untuk fitur apa saja yang ada di versi 4 silahkan


bisa mengunjungi www.codeigniter.com

Definisi Codeigniter

2
•••

Definisi Framework

Secara sederhana dapat diartikan kumpulan dari fungsi-fungsi/prosedur-


prosedur dan class-class untuk tujuan tertentu yang sudah siap digunakan
sehingga bisa lebih mempermudah dan mempercepat pekerjaan seorang
programmer.

Ada beberapa alasan mengapa menggunakan Framework :


• Mempercepat dan mempermudah pembangunan sebuah aplikasi
web
• Relatif memudahkan dalam proses maintenance karena sudah ada
pola tertentu dalam sebuah framework (dengan syarat programmer
mengikuti pola standar yang ada)
• Umumnya framework menyediakan fasilitas-fasilitas yang umum
dipakai sehingga kita tidak perlu membangun dari awal (misalnya
validasi, pagination, session, dll)
• Lebih bebas dalam pengembangan.

Contoh Framework PHP : CI, Laravel, YII, ZendFramework, CakePHP. Dll

Struktur File Codeigniter 4

Pada instalasi codeigiter baru terdapat beberapa directory yg tersedia


seperti : /app , /system , /public , /writable , /tests and /docs . Dan masing-
masing directory memiliki bagian yang spesifik.

APP
Directory app adalah tempat semua kode aplikasi anda berada, hadir
dengan struktur direktori default yang bekerja dengan baik untuk banyak
aplikasi. Terdapat beberapa folder didalamnya :
/app
/Config Menyimpan file konfigurasi
/Controllers Controllers menentukan aliran program
/Database Menyimpan migrasi database
/Filters Menyimpan kelas filter yang dapat dijalankan sebelum dan sesudah
controllers
/Helpers Helpers menyimpan koleksi fungsi standalone
/Language Dukungan multi bahasa
/Libraries Dukungan kelas dan fungsi
/Models Model bekerja dengan database
/ThirdParty Pustaka pihak ketiga yang dapat digunakan dalam aplikasi
/Views Tampilan HTML yang ditampilkan ke klien.

SYSTEM
Directory system menyimpan file-file yang membentuk kerangka itu
sendiri. File dalam direktori sistem tidak boleh dimodifikasi.

3
•••

PUBLIC
Directory public menyimpan bagian yang dapat diakses browser.
Biasanya berisi halaman HTML atau tambahan seperti CSS, Javascript dll

WRITABLE
Directory writable menyimpan direktori apapun yang mungkin perlu ditulis
selama pengembangan. Termasuk menyimpan file cache, log dan setiap
unggahan yang dikirim pengguna.

TEST
Directory test ini diatur untuk menyimpan file pengujian anda

DOCS
Directory docs ini menyimpan Salinan lokal panduan pengguna CI 4

Model View Controller

Merupakan suatu konsep yang cukup popular dalam pembangunan


aplikasi web. MVC memisahkan pengembangan aplikasi berdasarkan
komponen utama yang membangun sebuah aplikasi seperti manipulasi
data, user interface dan bagian yang menjadi control aplikasi. Terdapat 3
jenis komponen yang membangun suatu MVC pattern dalam suatu
aplikasi yaitu :

Model => Model merupakan bagian penanganan yang berhubungan


dengan pengelolaan atau manipulasi database. Seperti misalnya
pengambilan data dari database, menginput dan pengolahan database
lainnya. Semua intruksi yang berhubungan dengan pengolahan database
diletakkan didalam model.
View => View merupakan bagian yang menangani halaman user interface
atau halaman yang muncul pada user. Tampilan dari user interface
dikumpulkan pada view untuk memisahkannya dengan controller dan
model sehingga memudahkan web designer dalam melakukan
pengembangan tampilan halaman website.
Controller => Controller merupakan kumpulan instruksi aksi yang
menghubungkan model dan view, jadi user tidak akan berhubungan
dengan model secara langsung, intinya dari view kemudian controller
yang mengolah intruksi.

4
•••

Cara Kerja

Mengapa Codeigniter?

1. Open Source
2. Performa sangat cepat
3. Konfigurasi yang mudah
4. Banyak Komunitas dan Pengguna
5. Terdapat dokumentasi penggunaan
6. Banyak Fitur seperti Helper, Library dll
7. Kemudahan dalam penggunaan
8. Keamanan yang cukup baik
9. dlll

Baca User Guide dari Codeigniter 4 untuk mengenal lebih jauh lagi

Panduan Online : https://codeigniter.com/user_guide/index.html

Panduan Offline :
https://github.com/codeigniter4/userguide/archive/v4.1.4.zip

5
•••

BAGIAN II INSTALATION & CONFIGURATION


Untuk proses instalasi dari Codeigniter 4 bisa dilakukan dengan beberapa
cara yaitu :

a. Instalasi Secara Manual


b. Instalasi menggunakan Composer

Sebelum install codeigniter 4, pastikan menggunakan versi PHP 7.3+


sebagai syarat dari Codeigniter 4

Instalasi Secara Manual

Langkah pertama yang harus dilakukan adalah mendownload file


codeigniter di website www.codeigniter.com/download, klik download
pada tombol Download.

Klik ini untuk download

Kita akan mendapatkan sebuah file zip bernama “framework-4.1.4.zip”.


ekstrak file tersebut kedalam c:\xampp\htdocs

6
•••

Setelah itu, ubah nama “framework-4.1.4.zip” menjadi Latihan_ci4

Rename menjadi

Sebelum diuji coba pada browser, kita harus mengaktifkan service


apache terlebih dahulu di aplikasi XAMPP.

Jika sudah aktif, sekarang coba buka web browser dan buka alamat
http://localhost/latihan_ci4/public/.

Jika tampil halaman seperti ini, berarti proses instalasi berhasil

7
•••

Namun jika tampil seperti ini, maka ada beberapa Langkah yg harus
dilakukan.

Pertama rename file env menjadi .env pada folder latihan_ci4

Rename menjadi

Buka file .env menggunakan editor yg tersedia. Lalu rubah baris ke 17 dari
# CI_ENVIRONMENT = production menjadi CI_ENVIRONMENT =
development

Langkah kedua, buka aplikasi xampp, lalu pilih tombol Config, lalu pilih
PHP (php.ini)

8
•••

Setelah terbuka, cari “;extension=intl” hapus ; . Sehingga menjadi


extension=intl.

Memang pada codeigniter 4 ada beberapa server requirement yang


dibutuhkan saat melakukan installasi codeigniter 4, diantaranya :
a. intl extension
b. mbstring extension
c. php-json
d. php-mysqlnd
e. php-xml

Lanjutkan pengeditan tadi

;extension=intl
// ubah menjadi
extension=intl
;extension=mbstring
// ubah menjadi
extension=mbstring
dan seterusnya. Lalu simpan, ctrl + s.

Instalasi Menggunakan Composer

Langkah pertama yang harus dilakukan mendownload terlebih dahulu


composernya, https://getcomposer.org/download/. Lalu akan
terdownload file bernama Composer-setup.exe

Setelah download lalu install, mengikuti step by stepnya. Instalasi


composer membutuhkan koneksi internet jadi dipastikan komputernya
sudah terhubung dengan internet.

1. Jendela pertama instalasi Composer akan terbuka, silahkan klik next


untuk melanjutkan :

9
•••

2. Composer akan mendeteksi lokasi php.exe yang terinstal. Disini saya


menginstall xampp lokasinya di C,

3. Selanjutnya, menentukan proxy untuk mendownload composer. Jika


kita menggunakan proxy, maka silahkan isi proxynya disini. Tapi, kalau
tidak menggunakan proxy biarkan saja kosong, lalu klik next.

4. Review setting, klik install untuk memulai instalasi

10
•••

5. Proses download dan install composer

6. Selanjutnya akan muncul jendela informasi tentang perubahan


variabel ENV (environment) yang akan dilakukan oleh Composer agar
perintah Composer dapat dikenali di CMD. Silahkan klok next untuk
melanjutkan.

7. Instalasi selesai, klik finish untuk mengakhiri

11
•••

Sekarang untuk memastikan sudah terinstal dengan benar, coba buka


CMD den ketik perintah composer --version

Untuk menginstal codeigniter 4 melalui composer Langkah pertama buka


CMD pada windows anda.

Lalu rubah directory nya arahkan ke folder C:/xampp/htdocs kalau install


nya di C. dengan mengetikan perintah cd ../../xampp/htdocs

Setelah directorynya berubah, selanjutnya ketikan perintah ini :

composer create-project codeigniter4/appstarter latihan_ci4 –no-dev

nama project folder yg nanti ada di htdocs

akan tampil seperti ini

12
•••

Perintah diatas akan membuat sebuat folder “latihan_ci4”

Kemudian masuk ke folder “latihan_ci4” di CMD dengan perintah berikut :

cd latihan_ci4

Setelah itu ketikan perintah berikut

composer update --no-dev

Seperti gambar berikut

Selesai. Tinggal dicek apakah di C:/xampp/htdocs ada folder latihan_ci4

Menginstal Codeigniter 4 melalui composer, mungkin terlihat rumit jika kita


belum terbiasa.

Akan tetapi, dengan memanfaatkan composer, kita dapat dengan


mudah menginstal paket dependensi yang kita butuhkan dan kita juga
dapat mengupdate semua dependensi tersebut dengan mudah.

Untuk memastikan instalasi codeigniter 4 berhasil atau tidak ketikan


perintah berikut di CMD

Php spark serve

13
•••

Kemudian buka browser dan ketikan url berikut :

localhost:8080

jika instalasi berhasil, maka akan terlihat seperti gambar berikut:

Configurasi pertama kali

Setelah selesai menginstal codeigniter 4, selanjutnya kita configurasi


beberapa file nantinya. Gunakan editor untuk mengedit file-file php yg
ada di codeigniter 4, seperti Sublime Text , Visual Studio Code dll. Disini
modul ini akan menggunakan editor Visual Studio Code.

Silahkan buka aplikasi editor Visual Studi Code agar mempermudah


mengedit file-file codeigniter 4 maka terlebih dahulu pilih menu File =>
Open Folder , kemudian pilih folder latihan_ci yang berada di
c:\xampp\htdocs\

Folder latihan_ci di Visual Studio Code

14
•••

Setelah berhasil membuka folder latihan_ci di Visual Studi Code kita


memulai melakukan konfigurasi, Buka folder app -> Config -> App.php.
Kemudian rubah script pada line 26 public $baseURL =
‘http://localhost:8080/’; menjadi public $baseURL =
‘http://localhost:8080/latihan_ci/’; lalu simpan. latihan_ci adalah folder
codeigniter kita yg berada di Htdocs.

BAGIAN III MENGENAL MVC


MVC adalah sebuah konsep yang membagi suatu pengembangan
aplikasi menjadi 3 bagian komponen logika yakni Model, View dan
Controller. Jadi proses dasarnya, Model menghantarkan data dari
Database sehingga dapat di kelola oleh Controller kedalam View,
sehingga View dapat menampilkan Data yang sudah dan akan di proses.
Codeigniter 4 memiliki 3 folder, 1 Folder Model, 1 Folder View dan 1 Folder
Controller seperti gambar di bawah ini.

Folder Controllers

Folder Models

Folder Views

Controller

Secara default setelah installasi Codeigniter terdapat sutu Controller


bawaan yaitu Controller Home.php . Controller Home.php yang ada pada
Codeigniter berfungsi untuk menampilkan halaman Welcome di
Codeigniter. Aturan penulisan Controller tersebut dengan menuliskan class
di ikuti nama Controller extends BaseController, seperti gambar dibawah
ini.

15
•••

Models

Pada Codeigniter yang sudah kita install tadi, terdapat folder models yang
nantinya file-file model yang kita buat disimpan difolder tersebut. Namun
folder models tersebut belum terdapat file-file models.

Views

Folder views yang terdapat di Codeigniter berisi sebuah file bernama


welcome_message.php. welcome_message.php merupakan file views
bawaan Codeigniter.

16
•••

Pada bagian ini akan membahas mengenai implementasi mvc lebih lanjut,
dari mulai membuat controller baru, menambahkan fungsi dalam
controller, membuat views, membuat models dan database beserta table-
tabel.

Membuat Controllers

Controller adalah nama files class pada directory app/controllers yang


dapat diakses pada url : http://localhost:8080/home.

Ada 2 metode untuk menjalankan controller codeigniter 4 atau project di


codeigniter 4.

Cara Pertama

Controller codeigniter 4 dapat dijalankan di local developmet server.

Codeigniter 4 hadir dengan local development server sendiri sehingga


untuk menjalankan project dapat dilakukan tanpa menggunakan web
server seperti apache atau nginx dll. hal ini menjadi salah satu hal yang
menjadi pembeda codeigniter 4 dengan versi sebelumnya.

Cara Kedua

Selain cara pertama untuk menjalankan codeigniter 4 masih bisa


menggunakan apache yang diinstall melalui xampp atau wampp seperti
saat menjalankan codeigniter 3.

Membuat Controller untuk dijalankan dilocal development server

1. Start php spark serve

Jalankan CMD diwindows, akses file project yg ada di xampp/htdocs


seperti cara yg dijelaskan diatas. Dan ketikan php spark serve

Lalu buka browser dan ketikan http://localhost:8080 untuk menguji apakah


local development server sudah berjalan atau belum.

2. Buka directory app/controllers pada project pada editor

Untuk latihan, kita akan coba buat controller kita sendiri, kita akan buat
controller dengan nama “Latihan.php” disimpan di folder Controller,
Kemudian kita ketik script dibawah ini.

<?php
namespace App\Controllers;
class Latihan extends BaseController
{
public function index()
{
echo "Saat ini kita sedang berada pada Controllers Latihan";
}
} 17
?>
•••

Setelah script ini jadi kita panggil melalui browser dengan mengetikan url
localhost:8080/latihan

Gambar hasil script Controller Latihan

Membuat Controller untuk dijalankan diweb server

1. Jalankan service apache yang terdapat di xampp


2. Setelah melakukan instalasi codeigniter 4 dengan cara manual, buka
project yang telah di buat dengan text editor
3. Buat Controller Latihan.php di directory app/controllers, dan ketikan
script berikut

<?php
namespace App\Controllers;
class Latihan extends BaseController
{
public function index()
{
echo "Saat ini kita sedang berada pada Controllers Latihan";
}
}
?>

Setelah script ini jadi kita panggil melalui browser dengan mengetikan url
localhost/latihan_ci/public/latihan

Gambar hasil script Controller Latihan

Perbedaan menjalankan controller atau project dicodeigniter 4 melalui


local development server dan web server terdapat pada cara memulai
service apache dan mengakses file controller dibrowser.

Menjalankan controller dilocal development server dicodeigniter 4


menggunakan perintah php spark serve sedangkan untuk menjalan kan
codeigniter 4 di web server dimulai dengan start service apache pada
aplikasi xampp atau wampp.

Mengakses file controller juga memiliki perbedaan untuk mengakses


controller dilocal development server menggunakan url :

18
•••

localhost:8080/latihan

sedangkan menggunakan web server diakses menggunakan url :

localhost/latihan_ci/public/latihan

Selain itu juga kita bisa menambahkan function didalam controllers ..

Menambahkan Function dalam Controllers

Dalam sebuah Controller kita bisa membuat beberapa function, sebagai


contoh kita tambahkan function codeigniter pada Controller Latihan.

<?php
namespace App\Controllers;
class Latihan extends BaseController
{
public function index()
{
echo "Saat ini kita sedang berada pada Controllers Latihan";
}

public function codeigniter()


{
echo "Saat ini kita sedang berada pada Controllers Latihan
dan Function codeigniter";
}

}
?>

function yang baru kita buat dengan mengetik nama function setelah
nama Controller. Dalam contoh nama Controller adalah Latihan dan
nama function adalah codeigniter, sehingga di browser url kita ketik
sebagai berikut :
localhost:8080/latihan/codeigniter

localhost/latihan_ci/public/latihan/codeigniter

19
•••

Membuat View

View merupakan halaman website yang biasanya dibuat dengan script


HTML, namun untuk pemberian nama file menggunakan format php, jika
kita membuat view dengan nama halaman_latihan maka pada saat
penyimpanan file kita menyimpan dengan extensi .php sehingga nama
file menjadi halaman_latihan.php. Untuk membuat sebuah halaman view
kita harus menyimpan file tersebut dalam folder views dalam susunan
folder project CodeIgniter. Biasanya halaman web tersusun atas header,
sidebar, navbar, footer dan lainnya.

Buatlah file baru bernama “halaman_latihan.php” simpan di dalam


folder views . lalu ketiklah script dibawah ini .
<!DOCTYPE html>
<head>
<title>View Latihan Codeigniter</title>
</head>
<body>
<h2>Kita sedang belajar membuat view di Codeigniter</h2>
<h4>Sebuah view dipanggil dengan script di
controller</br>
return view('nama_view');</br></br>
contoh:</br>
return view('halaman_latihan');</br></h4>
</body>
</html>

Setelah membuat sebuah view, agar view tersebut bisa ditampikan


diperlukan sebuah controller untuk memanggil halaman view yang sudah
dibuat.

bukalah kembali Controllers yang sudah di buat sebelumnya yang bernama


“Latihan.php” yang terletak pada folders
C:\xampp\htdocs\latihan_ci\app\controllers dan buat satu function
baru di Controllers Latihan.php bernama Function menampilkan_view.
Untuk memanggil sebuah view, kita harus menuliskan script
echo view('nama_view');
contoh:
echo view('halaman_latihan');

load view pada codeigniter 3 menggunakan $this->load->view()


sedangkan di codeigniter 4 cukup menggunakan echo view().

20
•••

Seperti script dibawah ini :


<?php
namespace App\Controllers;
class Latihan extends BaseController
{
public function index()
{
echo "Saat ini kita sedang berada pada Controllers Latihan";
}

public function codeigniter()


{
echo "Saat ini kita sedang berada pada Controllers Latihan
dan Function codeigniter";
}

public function menampilkan_view()


{
return view('halaman_latihan');
}

}
?>

Untuk menampilkan view tersebut, caranya sama dengan cara


memanggil sebuah controller yang sudah pelajari, seperti URL berikut ini.
localhost:8080/latihan/menampilkan_view

localhost/latihan_ci/public/latihan/menampilkan_view

21
•••

Ayo kita buat jadi lebih seru.


1. Menampilkan banyak view di codeigniter 4
Memecah view menjadi beberapa bagian (header, navigation,
content dan footer)
a. Buatlah file header pada directory app/views
Ketiklah script dibawah ini, simpan dengan nama header.php

<!doctype html>
<html lang="en">
<head>
<!-- Required meta tags -->
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,
initial-scale=1, shrink-to-fit=no">
<!-- Bootstrap CSS -->
<link rel="stylesheet"
href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/cs
s/bootstrap.min.css" integrity="sha384-
9aIt2nRpC12Uk9gS9baDl411NQApFmC26EwAOH8WgZl5MYYxFfc+NcPb1dK
Gj7Sk" crossorigin="anonymous">
<title>Halaman Tampil Banyak View</title>
</head>
<body>

b. Membuat bagian navigation


Ketiklah script dibawah ini, simpan dengan nama navigation.php
<nav class="navbar navbar-expand-lg navbar-light bg-light">
<a class="navbar-brand" href="#">Websiteku</a>
<button class="navbar-toggler" type="button" data-
toggle="collapse" data-target="#navbarSupportedContent"
aria-controls="navbarSupportedContent" aria-
expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse"
id="navbarSupportedContent">
<ul class="navbar-nav mr-auto">
<li class="nav-item active">
<a class="nav-link" href="#">Home <span class="sr-
only">(current)</span></a>
</li>
</ul>
<form class="form-inline my-2 my-lg-0">
<input class="form-control mr-sm-2" type="search"
placeholder="Search" aria-label="Search">
<button class="btn btn-outline-success my-2 my-sm-0"
type="submit">Search</button>
</form>
</div>
</nav>
c. Membuat bagian Content
Ketiklah script dibawah ini, simpan dengan nama content.php
<div class="container">
<h1>Ini adalah content</h1>
</div>

22
•••

d. Membuat bagian Footer


Ketiklah script dibawah ini, simpan dengan nama footer.php
<script src="https://code.jquery.com/jquery-
3.5.1.slim.min.js" integrity="sha384-
DfXdz2htPH0lsSSs5nCTpuj/zy4C+OGpamoFVy38MVBnE+IbbVYUew+OrCX
aRkfj" crossorigin="anonymous"></script>
<script
src="https://cdn.jsdelivr.net/npm/[email protected]/dist/umd
/popper.min.js" integrity="sha384-
Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxM
fooAo" crossorigin="anonymous"></script>
<script
src="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/js/
bootstrap.min.js" integrity="sha384-
OgVRvuATP1z7JjHLkuOU7Xw704+h835Lr+6QL9UvYjZE3Ipu6Tp75j7Bh/k
R0JKI" crossorigin="anonymous"></script>
</body>
</html>

Menampilkan view tadi lewat controller

Setelah memiliki ke 4 file view diatas selanjutnya kita tampilkan


melalui sebuah controller. Buka kembali controller Latihan.php di
directory app/controllers lalu tambahkan lah script dibawah ini.
<?php
namespace App\Controllers;
class Latihan extends BaseController
{
public function index()
{
echo "Saat ini kita sedang berada pada Controllers
Latihan";
}

public function codeigniter()


{
echo "Saat ini kita sedang berada pada Controllers
Latihan dan Function codeigniter";
}

public function menampilkan_view()


{
return view('halaman_latihan');
}

public function tampil_view()


{
echo view('header');
echo view('navigation');
echo view('content');
echo view('footer');
}

}
?>

23
•••

Selanjutnya kita tampilkan dibrowser, dengan cara ketik url berikut

Localhost:8080/latihan/tampil_view (Menggunakan Local Dev


Server)

localhost/latihan_ci/public/latihan/tampil_view (Menggunakan
Apache XAMPP)

2. Menyederhanakan banyak view menjadi 1 file template


dicodeigniter 4
Setelah menyelesaikan pembuatan view pada langkah 1 diatas
kita masih dapat melakukan penyederhanaan untuk menampilkan
view.
dari seperti ini :

public function tampil_view()


{
echo view('header');
echo view('navigation');
echo view('content');
echo view('footer');
}

Menjadi seperti ini :


public function tampil_view()
{
$data = [
'title' => 'Data Mahasiswa',
'content' => 'Isi data mahasiswa'
];
echo view('tampil_data',$data);

24
•••

Langkah menyederhanakan viewnya sebagai berikut :

a. Buat file baru di directory app/view dengan nama template.php


Satukan script dari file header, navigation dan footer menjadi
seperi ini :
<!doctype html>
<html lang="en">
<head>
<!-- Required meta tags -->
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,
initial-scale=1, shrink-to-fit=no">
<!-- Bootstrap CSS -->
<link rel="stylesheet"
href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/
css/bootstrap.min.css" integrity="sha384-
9aIt2nRpC12Uk9gS9baDl411NQApFmC26EwAOH8WgZl5MYYxFfc+NcPb1
dKGj7Sk" crossorigin="anonymous">
<title>Halaman Tampil Banyak View</title>
</head>
<body>
<nav class="navbar navbar-expand-lg navbar-light bg-
light">
<a class="navbar-brand" href="#">Websiteku</a>
<button class="navbar-toggler" type="button"
data-toggle="collapse" data-
target="#navbarSupportedContent" aria-
controls="navbarSupportedContent" aria-expanded="false"
aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse"
id="navbarSupportedContent">
<ul class="navbar-nav mr-auto">
<li class="nav-item active">
<a class="nav-link" href="#">Home <span
class="sr-only">(current)</span></a>
</li>
</ul>
<form class="form-inline my-2 my-lg-0">
<input class="form-control mr-sm-2"
type="search" placeholder="Search" aria-label="Search">
<button class="btn btn-outline-success my-2
my-sm-0" type="submit">Search</button>
</form>
</div>
</nav>

<?= $this->renderSection('isi')?>

<script src="https://code.jquery.com/jquery-
3.5.1.slim.min.js" integrity="sha384-
DfXdz2htPH0lsSSs5nCTpuj/zy4C+OGpamoFVy38MVBnE+IbbVYUew+Or
CXaRkfj" crossorigin="anonymous"></script>

25
•••

<script
src="https://cdn.jsdelivr.net/npm/[email protected]/dist/u
md/popper.min.js" integrity="sha384-
Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvo
xMfooAo" crossorigin="anonymous"></script>
<script
src="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/j
s/bootstrap.min.js" integrity="sha384-
OgVRvuATP1z7JjHLkuOU7Xw704+h835Lr+6QL9UvYjZE3Ipu6Tp75j7Bh
/kR0JKI" crossorigin="anonymous"></script>
</body>
</html>

Bagian yang belum kita satukan adalah content karena content.


Terlihat pada script diatas kita membuat <?= $this-
>renderSection('isi')?>. Perintah ini digunakan untuk
merender template ke content atau isi.

b. Buatlah file content dengan nama tampil_data.php di directory


Views
<?php $this->extend('template');?>
<?php $this->section('isi');?>
<div class="container">
<div class="card mt-3">
<div class="card-header">
<b><?= $title ?></b>
</div>
<div class="card-body"><?= $content ?></div>
</div>
</div>
<?php $this->endSection();?>

Perintah extend pada tampil_data.php diatas memanggil file


template.php yang merupakan file template yang kita buat tadi.
Selanjutnya bagian yang ingin ditampilkan pada content atau
isi diawali dengan $this->section dan diakhiri $this-
>endSection

c. Load view dari controllers


public function tampil_view()
{
$data = [
'title' => 'Data Mahasiswa',
'content' => 'Isi data mahasiswa'
];
echo view('tampil_data',$data);

Setelah membuat file diatas silahkan akses controller


mahasiswa melalui url : localhost:8080/latihan/tampil_view

26
•••

Membuat Models

Model berfungsi sebagai pengolah data dalam CodeIgniter, dalam


model ini berisi class dan fungsi untuk memanipulasi database seperti
insert, update, delete dan search. Dalam penggunaannya nanti, model
banyak berhubungan dengan perintah Query.

Model juga dibuat untuk memperoleh data dari database. Hal baru dari
codeigniter 4 adalah model terdapat pada directory app/models dan
ditulis sebagai extends dari fille Model (System/Model.php).

Contoh Model :
<?php namespace App\Models;
use CodeIgniter\Model;
class LatihanModel extends Model
{

Untuk menggunakan model terlebih dahulu dituliskan namespace


App/Models. Selanjutnya impor superclass menggunakan perintah use
CodeIgniter\Model.
Tujuan di impor adalah untuk di extend superclass tersebut dan diwarisi
(Inherintance) sifat atau method dari superclass tersebut oleh anak class.
Contoh model ini class LatihanModel adalah anak class dari class Model.

Sebagai bahan latihan kita, kita akan buat dulu sebuah database dan
table menggunakan phpmyadmin. Untuk latihan ini kita membuat satu
database dan satu table saja. Nama database: db_latihan dan nama
table: tbl_mahasiswa.

Struktur table mahasiswa sebagai berikut :


Field Type dan lebar Index AI
id Int(3) Primary Key √
nim Varchar(20)
nama Varchar(100)
alamat Varchar(100)
no_hp Varchar(15)

27
•••

Buka kembali XAMPP lalu aktifkan service mysql seperti gambar dibawah
ini

Setelah service mysql aktif lalu buka phpMyAdmin melalui browser dengan
mengetikkan URL localhost/phpMyAdmin

Membuat Database

Setelah mengetikkan URL, maka akan tampil halaman seperti gambar


dibawah ini

Gambar Halaman database

Pada halaman database ini, buat database baru dengan mengetikkan


nama database dalam Text Field database kemudian klik tombol Create,
perhatikan gambar dibawah ini.

28
•••

Gambar Membuat database baru


Setelah proses pembuatan database selesai, kita akan mendapatkan
sebuah database baru sudah dibuat dan list database yang ada pada
phpmyadmin bisa kita lihat pada bagian kiri dan halaman phpmyadmin.

Gambar Database db_latihan telah dibuat

Membuat Table

Untuk membuat table melalui phpmyadmin, anda tinggal klik nama


database yang berada di sebelah kiri seperti pada gambar diatas,
kemudian klik pada nama database, untuk memastikan bahwa table yang
akan dibuat berada dalam database yang kita inginkan.

Setelah anda klik nama database di bagian kiri halaman phpmyadmin,


akan muncul halaman untuk membuat table baru di bagian kanan
halaman, kemudian isikan nama table serta jumlah kolom kemudian
klik tombol Go.

Gambar membuat table baru

Untuk latihan, kita membuat table tbl_mahasiswa dengan jumlah


kolom 5, seperti yang terlihat pada gambar.

29
•••

Isikanlah seluruh kolom atau field yang sudah kita susun lengkap dengan
jumlah kolom beserta lebar kolomnnya, untuk menentukan primary key
sebuah table, anda klik pada bagian index, kemudian pilih PRIMARY,
pastikan anda memilih primary key sesuai dengan yang sudah di
rencanakan. Untuk table ini kita membuat table tbl_mahasiswa.
Setelah semua kolom sudah diisikan, klik tombol save. Ilustrasi gambar bisa
dilihat pada gambar berikut

Gambar membuat tabel tbl_mahasiswa

Jika proses ini selesai, anda akan melihat di bagian kiri halaman
phpMyAdmin sudah ada table baru yang kita buat yaitu table
tbl_mahasiswa yang berada dalam database db_latihan

Gambar tbl_mahasiswa sudah berhasil dibuat

Mengisi Data dalam Tabel

Setelah table terbentuk, saatnya untuk mengisikan data, phpMyadmin


secara visual menyediakan form untuk pengisian data. Klik pada nama
Table yang ada pada bagian kiri halaman phpMyAdmin contoh pada

30
•••

latihan kita adalah table tbl_mahasiswa, lalu klik tab Insert yang berada
pada bagian atas phpMyAdmin.

Gambar : menu Insert di phpMyAdmin

Akan muncul halaman pengisian data dan isikan data sample yang di
inginkan, sebagai contoh disini kita memasukan 2 sample data. lalu klik
tombol Go untuk menyimpan data yang sudah di inputkan, perhatikan
contoh pada gambar.

Gambar : Pengisian data pada phpMyAdmin

31
•••

Melihat data yang sudah di input

Untuk melihat data yang sudah di inputkan, anda klik menu Browse pada
halaman phpMyAdmin nanti akan muncul.

Gambar : Menu Browse untuk melihat data

Sebenarnya semua aktifitas yang kita lakukan dihalaman phpMyAdmin


semua juga bisa lalukan dengan memberikan perintah SQL pada menu
SQL. Namun untuk memudahkan, kita cukup menggunakan media visual
pada phpMyAdmin.

Sampai disini kita selesai membuat database dan table latihan kita,
saatnya kita kembali pada pembahasan Models CodeIgniter.

Konfigurasi Database di Codeigniter 4

Mengatur konfigurasi database dapat dilakukan di environment (file .env)


dan di file config App/config/Database.php

Untuk mengatur di environment silahkan buka file .env yang berada di


folder latihan_ci, kemudian rubahlah scriptnya dan sesuaikan dengan
nama database yang dibuat

database.default.hostname = localhost
database.default.database = db_latihan
database.default.username = root
database.default.password =
database.default.DBDriver = MySQLi
database.default.DBPrefix =

32
•••

Untuk mengatur di app/config/Database.php silahkan akses file


database.php dan isikan nilai array untuk key array berikut :
public $default = [
'DSN' => '',
'hostname' => 'localhost',
'username' => 'root',
'password' => '',
'database' => 'db_latihan',

Membuat Model

Setelah melakukan konfigurasi dasar. Selanjutnya untuk dapat digunakan


tentu dibutuhkan model. Buatlah file baru dengan nama
LatihanModel.php lalu simpan di folder app/Models.
<?php

namespace App\Models;

use CodeIgniter\Model;

class LatihanModel extends Model


{
protected $table = 'tbl_mahasiswa';
}

Menambahkan Function di Controller

Buka kembali file Controller bernama Latihan.php, kemudian tambahkan


beberapa script seperti yg bercetak tebal.

<?php
namespace App\Controllers;
use App\Models\LatihanModel;
class Latihan extends BaseController
{
protected $latihanmodel;
public function __construct()
{
$this->latihanmodel = new LatihanModel();
}

public function menampilkan_view()


{
echo 'Daftar Mahasiswa';
echo '<br><br>';
$data['mahasiswa'] = $this->latihanmodel->findAll();
echo view('halaman_latihan', $data);
}

33
•••

public function index()


{
echo "Saat ini kita sedang berada pada Controllers
Latihan";
}

public function codeigniter()


{
echo "Saat ini kita sedang berada pada Controllers
Latihan dan Function codeigniter";
}

public function tampil_view2()


{
echo view('header');
echo view('navigation');
echo view('content');
echo view('footer');
}

public function tampil_view()


{
$data = [
'title' => 'Data Mahasiswa',
'content' => 'Isi data mahasiswa'
];
echo view('tampil_data',$data);

Menampilkan Data dengan membuat view

Seperti yang sudah kita ketahui bahwa view digunakan untuk


menampilan data yang sudah di olah didalam model. Untuk latihan
sederhana ini kita tampilkan data dengan cara sederhana saja.

Buat file baru dengan nama halaman_view.php

<?php
foreach ($mahasiswa as $key) : ?>
NIM : <?php echo $key['nim']; ?><br>
Nama : <?php echo $key['nama']; ?><br>
Alamat :<?php echo $key['alamat']; ?><br>
Handphone : <?php echo $key['no_hp']; ?><br>
<hr>
<?php endforeach; ?>

34
•••

Untuk menampilkan view tersebut, caranya sama dengan cara


memanggil sebuah controller yang sudah pelajari, seperti URL berikut ini.
localhost:8080/latihan/menampilkan_view

localhost/latihan_ci/public/latihan/menampilkan_view

35
•••

BAGIAN IV MEMBUAT CRUD


CRUD singkatan dari Create, Read, Update, Delete, CRUD sangat
berhubungan erat dengan database, sehingga penting untuk
mempelajarinya jika kita akan banyak berhungan dengan aplikasi
database.
Sebelumnya kita sudah belajar membuat latihan untuk menampilkan
data, dalam latihan CRUD ini kita akan lanjutkan sampai kita bisa
membuat CRUD yang lengkap. Sama seperti aplikasi untuk menampilkan
(Read) data, kita memerlukan file Controller, Model dan View serta
database, untuk database kita tetap menggunakan database
db_latihan serta table tbl_mahasiswa yang sudah kita buat sebelumnya.
Untuk pengaturan konfigurasi seperti konfigurasi database tetap sama
ketika kita membuat aplikasi menampilkan data.

Berikut Langkah untuk membuat CRUD

Langkah 1. Membuat Read (Tampil Data)


Read atau menampilkan data dari database menggunakan codeigniter
4 dilakukan dengan membuat file model, file view dan controller.

a. Silahkan buat file model dengan nama MahasiswaModel.php kemudian


ketik script berikut ini
<?php
namespace App\Models;
use CodeIgniter\Model;
class MahasiswaModel extends Model
{
protected $table = 'tbl_mahasiswa';
}

b. Selanjutnya buat Controller di app/Controllers dengan nama


Mahasiswa.php. ketik script berikut ini

<?php
namespace App\Controllers;
use App\Models\MahasiswaModel;
class Mahasiswa extends BaseController
{
protected $mahasiswamodel;
public function __construct()
{
$this->mahasiswamodel = new MahasiswaModel();
}
public function index()
{
$mahasiswa = $this->mahasiswamodel->findAll();
$data = [
'title' => 'Data Mahasiswa',
'mahasiswa' => $mahasiswa
];
echo view('mahasiswa/data_mahasiswa', $data);
}
}
36
•••

c. Buatlah folder baru pada views dengan nama template dan buat file
baru dengan nama template.php. kemudian ketiklah script berikut ini.

<!doctype html>
<html lang="en">
<head>
<!-- Required meta tags -->
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-
scale=1, shrink-to-fit=no">
<!-- Bootstrap CSS -->
<link rel="stylesheet"
href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/boo
tstrap.min.css" integrity="sha384-
F3w7mX95PdgyTmZZMECAngseQB83DfGTowi0iMjiWaeVhAn4FJkqJByhZMI3Ahi
U" crossorigin="anonymous">
<title>Aplikasi CRUD</title>
</head>
<body>
<nav class="navbar navbar-expand-md navbar-dark fixed-top bg-
dark">
<div class="container-fluid">
<a class="navbar-brand" href="#"></a>
<button class="navbar-toggler" type="button" data-bs-
toggle="collapse" data-bs-target="#navbarCollapse" aria-
controls="navbarCollapse" aria-expanded="false" aria-
label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarCollapse">
<ul class="navbar-nav me-auto mb-2 mb-md-0">
<li class="nav-item">
<a class="nav-link active" aria-current="page"
href="#">Home</a>
</li>
</ul>
</div>
</div>
</nav>
<?= $this->renderSection('isi')?>
<script src="https://code.jquery.com/jquery-3.6.0.min.js"
integrity="sha256-/xUj+3OJU5yExlq6GSYGSHk7tPXikynS7ogEvDej/m4="
crossorigin="anonymous"></script>
<script
src="https://cdnjs.cloudflare.com/ajax/libs/twitter-
bootstrap/5.1.1/js/bootstrap.min.js"></script>
</body>
</html>

d. Setelah memiliki file template selanjutnya kita buat file content/isi nya.
Buatlah folder baru pada views dengan nama mahasiswa dan buat file
baru dengan nama data_mahasiswa.php kemudian ketiklah script berikut
ini.

37
•••

<?php $this->extend('template/template'); ?>


<?php $this->section('isi'); ?>
<div class="container">
<div class="card mt-3">
<div class="card-header">
<b><?= $title ?></b>
</div>
<div class="card-body">
<a href="mahasiswa/tambah" class="btn btn-
info">Tambah </a>
<br><br>
<table class="table table-bordered">
<tr>
<th>No</th>
<th>NPM</th>
<th>Nama</th>
<th>Alamat</th>
<th>Handphone</th>
<th>Aksi</th>
</tr>
<?php
$no = 1;
foreach ($mahasiswa as $key) : ?>
<tr>
<td><?php echo $no++; ?></td>
<td><?php echo $key['nim']; ?></td>
<td><?php echo $key['nama']; ?></td>
<td><?php echo $key['alamat']; ?></td>
<td><?php echo $key['no_hp']; ?></td>
<td>
<a href="/mahasiswa/edit/<?php echo
$key['id']; ?>">Edit</a> |
<a href="/mahasiswa/delete/<?php
echo $key['id']; ?>">Hapus</a>
</td>
</tr>
<?php endforeach; ?>
</table>
</div>
</div>
</div>
<?php $this->endSection(); ?>

Dengan tahap diatas kita telah selesai membuat Read, kita bisa ujicoba
hasilnya dengan mengakses url :
//jika dijalankan melalui Local Development Server
localhost:8080/mahasiswa
//jika dijalankan melalui Apache Server
localhost/latihan_ci/public/mahasiswa

38
•••

Langkah 2. Membuat Create (Tambah Data)


e. Untuk membuat Create, silahkan buka Kembali Model
MahasiswaModel.php. lalu ubah menjadi seperti ini.

<?php
namespace App\Models;
use CodeIgniter\Model;
class MahasiswaModel extends Model
{
protected $table = 'tbl_mahasiswa';
protected $allowedFields = ['nim', 'nama', 'alamat',
'no_hp'];
}

Dengan adanya $allowedFields pada model, kita sudah bisa


menginputkan data ke database.

f. Langkah selanjutnya yaitu dengan menambahkan Function pada


Controller Mahasiswa.php. kita buka Kembali file tersebut, lalu tambahkan
script yang bercetak tebal.

<?php
namespace App\Controllers;
use App\Models\MahasiswaModel;
class Mahasiswa extends BaseController
{
protected $mahasiswamodel;
public function __construct()
{
$this->mahasiswamodel = new MahasiswaModel();
}
public function index()
{
$mahasiswa = $this->mahasiswamodel->findAll();
$data = [
'title' => 'Data Mahasiswa',
'mahasiswa' => $mahasiswa
];
echo view('mahasiswa/data_mahasiswa', $data);
}
public function tambah()
{
$data = [
'title' => 'Tambah Data Mahasiswa',
];
echo view('mahasiswa/form_tambah', $data);
}
public function simpan()
{
$this->mahasiswamodel->save([
'nim' => $this->request->getVar('nim'),
'nama' => $this->request->getVar('nama'),
'alamat' => $this->request->getVar('alamat'),
'no_hp' => $this->request->getVar('no_hp')
]);
return redirect()->to('mahasiswa');
}
}

39
•••

g. Langkah selanjutnya buat view baru dengan nama form_tambah.php


simpan di folder Views/mahasiswa. Lalu ketiklah script berikut ini
<?php $this->extend('template/template'); ?>
<?php $this->section('isi'); ?>
<div class="container">
<div class="card mt-3">
<div class="card-header">
<b><?= $title ?></b>
</div>
<div class="card-body">
<form class="row g-3" action="<?php echo
base_url('mahasiswa/simpan')?>" method="post">
<div class="col-6">
<label class="form-label">NPM</label>
<input type="text" name="nim" class="form-
control">
</div>
<div class="col-6">
<label class="form-label">Nama</label>
<input type="text" name="nama" class="form-
control">
</div>
<div class="col-6">
<label class="form-label">Alamat</label>
<input type="text" name="alamat"
class="form-control">
</div>
<div class="col-6">
<label class="form-label">Handphone</label>
<input type="text" name="no_hp"
class="form-control">
</div>
<div class="col-12">
<button type="submit" class="btn btn-
primary">Simpan</button>
</div>
</form>
</div>
</div>
</div>
<?php $this->endSection(); ?>
Dengan tahap diatas kita telah selesai membuat Create, kita bisa ujicoba
hasilnya dengan mengakses url :
//jika dijalankan melalui Local Development Server
localhost:8080/mahasiswa/tambah
//jika dijalankan melalui Apache Server
localhost/latihan_ci/public/mahasiswa/tambah

40
•••

Langkah 3. Membuat Update (Edit Data)


h. Untuk membuat update, buka Kembali file model bernama
MahasiswaModel.php kemudian tambahkan beberapa script dan
function yang bercetak tebal.
<?php
namespace App\Models;
use CodeIgniter\Model;
class MahasiswaModel extends Model
{
//read
protected $table = 'tbl_mahasiswa';
protected $primaryKey = 'id';
protected $allowedFields = ['nim', 'nama', 'alamat',
'no_hp'];

public function data_mhs($id_mhs)


{
return $this->find($id_mhs);
}
public function update_data($data, $id_mhs)
{
$query = $this->db->table($this->table)->update($data,
array('id' => $id_mhs));
return $query;
}
}

i. Pada script diatas kita menambahkan 2 function dan script protected


$primaryKey =’id’;.
Silahkan buka juga controller Mahasiswa.php, kemudian tambahkan
function berikuti ini yg bercetak tebal
<?php
namespace App\Controllers;
use App\Models\MahasiswaModel;
class Mahasiswa extends BaseController
{
protected $mahasiswamodel;
public function __construct()
{
$this->mahasiswamodel = new MahasiswaModel();
}
public function index()
{
$mahasiswa = $this->mahasiswamodel->findAll();
$data = [
'title' => 'Data Mahasiswa',
'mahasiswa' => $mahasiswa
];
echo view('mahasiswa/data_mahasiswa', $data);
}

41
•••

public function tambah()


{
$data = [
'title' => 'Tambah Data Mahasiswa',
];
echo view('mahasiswa/form_tambah', $data);
}
public function simpan()
{
$this->mahasiswamodel->save([
'nim' => $this->request->getVar('nim'),
'nama' => $this->request->getVar('nama'),
'alamat' => $this->request->getVar('alamat'),
'no_hp' => $this->request->getVar('no_hp')
]);
return redirect()->to('mahasiswa');
}

public function edit($id_mhs)


{
$mahasiswa = $this->mahasiswamodel->data_mhs($id_mhs);
$data = [
'title' => 'Edit Data Mahasiswa',
'mahasiswa' => $mahasiswa
];
echo view('mahasiswa/form_edit', $data);
}

public function update()


{
$id_mhs = $this->request->getVar('id');
$data = [
'nim' => $this->request->getVar('nim'),
'nama' => $this->request->getVar('nama'),
'alamat' => $this->request->getVar('alamat'),
'no_hp' => $this->request->getVar('no_hp')
];

$this->mahasiswamodel->update_data($data, $id_mhs);
return redirect()->to('mahasiswa');
}
}

Perubahan yang dilakukan terhadap controller Mahasiswa diatas yaitu


penambahan function edit dan update.

j. Setelah memodifikasi model dan controller selanjutnya silahkan buat file


baru dengan nama form_edit.php simpan di folder Views/mahasiswa. Lalu
ketiklah script berikut ini

<?php $this->extend('template/template'); ?>


<?php $this->section('isi'); ?>
<div class="container"><br><br>
<div class="card mt-3">
<div class="card-header">
<b><?= $title ?></b>
</div>
<div class="card-body">

42
•••

<form class="row g-3" action="<?php echo


base_url('mahasiswa/update')?>" method="post">
<div class="col-6">
<input type="hidden" name="id" value="<?=
$mahasiswa['id']; ?>">
<label class="form-label">NPM</label>
<input type="text" name="nim" class="form-
control" value="<?= $mahasiswa['nim']; ?>" >
</div>
<div class="col-6">
<label class="form-label">Nama</label>
<input type="text" name="nama" class="form-
control" value="<?= $mahasiswa['nama']; ?>">
</div>
<div class="col-6">
<label class="form-label">Alamat</label>
<input type="text" name="alamat"
class="form-control" value="<?= $mahasiswa['alamat']; ?>">
</div>
<div class="col-6">
<label class="form-label">Handphone</label>
<input type="text" name="no_hp"
class="form-control" value="<?= $mahasiswa['no_hp']; ?>">
</div>
<div class="col-12">
<button type="submit" class="btn btn-
primary">Update</button>
</div>
</form>
</div>
</div>
</div>
<?php $this->endSection(); ?>

Dengan tahap diatas kita telah selesai membuat Update, kita bisa
ujicoba hasilnya dengan mengakses url :
//jika dijalankan melalui Local Development Server
localhost:8080/mahasiswa/edit
//jika dijalankan melalui Apache Server
localhost/latihan_ci/public/mahasiswa/edit

43
•••

Langkah 4. Membuat Delete (Hapus Data)


k. Untuk membuat delete, buka Kembali file model bernama
MahasiswaModel.php kemudian tambahkan dan function yang bercetak
tebal

<?php
namespace App\Models;
use CodeIgniter\Model;
class MahasiswaModel extends Model
{
//read
protected $table = 'tbl_mahasiswa';
protected $primaryKey = 'id';
protected $allowedFields = ['nim', 'nama', 'alamat',
'no_hp'];

public function data_mhs($id_mhs)


{
return $this->find($id_mhs);
}
public function update_data($data, $id_mhs)
{
$query = $this->db->table($this->table)->update($data,
array('id' => $id_mhs));
return $query;
}
public function delete_data($id_mhs)
{
$query = $this->db->table($this->table)-
>delete(array('id' => $id_mhs));
return $query;
}
}

l. Pada script diatas kita 1 function dengan nama delete_data


Silahkan buka juga controller Mahasiswa.php, kemudian tambahkan
function berikut ini yg bercetak tebal

<?php
namespace App\Controllers;
use App\Models\MahasiswaModel;
class Mahasiswa extends BaseController
{
protected $mahasiswamodel;
public function __construct()
{
$this->mahasiswamodel = new MahasiswaModel();
}
public function index()
{
$mahasiswa = $this->mahasiswamodel->findAll();
$data = [
'title' => 'Data Mahasiswa',
'mahasiswa' => $mahasiswa
];
echo view('mahasiswa/data_mahasiswa', $data);
}

44
•••

public function tambah()


{
$data = [
'title' => 'Tambah Data Mahasiswa',
];
echo view('mahasiswa/form_tambah', $data);
}
public function simpan()
{
$this->mahasiswamodel->save([
'nim' => $this->request->getVar('nim'),
'nama' => $this->request->getVar('nama'),
'alamat' => $this->request->getVar('alamat'),
'no_hp' => $this->request->getVar('no_hp')
]);
return redirect()->to('mahasiswa');
}

public function edit($id_mhs)


{
$mahasiswa = $this->mahasiswamodel->data_mhs($id_mhs);
$data = [
'title' => 'Edit Data Mahasiswa',
'mahasiswa' => $mahasiswa
];
echo view('mahasiswa/form_edit', $data);
}

public function update()


{
$id_mhs = $this->request->getVar('id');
$data = [
'nim' => $this->request->getVar('nim'),
'nama' => $this->request->getVar('nama'),
'alamat' => $this->request->getVar('alamat'),
'no_hp' => $this->request->getVar('no_hp')
];

$this->mahasiswamodel->update_data($data, $id_mhs);
return redirect()->to('mahasiswa');
}
public function delete($id_mhs)
{
$this->mahasiswamodel->delete_data($id_mhs);
return redirect()->to('mahasiswa');
}
}

Dengan tahap diatas kita telah selesai membuat Delete, kita bisa ujicoba
hasilnya dengan mengakses url :
//jika dijalankan melalui Local Development Server
localhost:8080/mahasiswa
//jika dijalankan melalui Apache Server
localhost/latihan_ci/public/mahasiswa
kemudian hapus salah satu data dengan mengklik tombol hapus.

45

Anda mungkin juga menyukai