Pemrograman Web II - Pertemuan 11
Pemrograman Web II - Pertemuan 11
Saat ini, membuat website bisa lebih mudah berkat adanya framework.
Tanpa memulai semuanya dari awal, framework memiliki berbagai
fitur siap pakai yang membuat pengembangan website menjadi lebih
cepat. Nah, salah satu framework yang banyak digunakan adalah
CodeIgniter.
1. Mudah Dipelajari
CodeIgniter adalah framework yang cukup mudah dipelajari, bahkan
untuk pemula sekalipun. Itu karena aturan penulisan pada framework
ini cukup sederhana.
Konsep coding pada CodeIgniter memungkinkan penggunanya untuk
menulis kode dengan efektif. Artinya, Anda dapat membuat sebuah
kode yang dapat digunakan berkali-kali pada website yang dibangun.
2. Konfigurasi Sederhana
Konfigurasi awal pada CodeIgniter juga sangat sederhana. Anda hanya
perlu mengubah beberapa kode untuk dapat menggunakan berbagai
library bawaan CodeIgniter. Dengan begitu, Anda akan lebih cepat
membuat website dengan pengetahuan tentang CodeIgniter.
3. Ringan
CodeIgniter adalah sebuah framework PHP yang ringan dengan ukuran
file hanya 900KB. Tentunya, hal ini akan memudahkan Anda ketika
mendownload dan menggunakannya untuk membangun website.
4. Arsitektur Rapi
Aturan kode pada CodeIgniter sangat rapi dan terstruktur. Itu karena
CodeIgniter menggunakan konsep MVC (Model View Controller) untuk
arsitekturnya. Berikut penjelasan dari MVC:
1. Application
Folder application merupakan folder yang paling sering digunakan
dalam pengembangan website. Folder ini berfungsi untuk
menambahkan kode, baik untuk front end atau back end. Apa saja yang
ada di folder Application?
• Cache: Folder yang berisi berisi halaman website yang telah
disimpan ke dalam cache.
• Config: Folder yang berisi seluruh konfigurasi website, mulai dari
database, url, dan pengaturan library.
• Controllers: Folder tempat menyimpan coding yang mengatur
proses pada website.
• Core: Folder yagn menyimpan konfigurasi tambahan pada
website.
• Helpers: Folder sebagai pusat fungsi atau perintah tambahan
pada website Anda.
• Hooks: Folder untuk melakukan perubahan pada sistem sehingga
modifikasi framework bisa lebih mudah.
• Language: Folder pengaturan bahasa pada CodeIgniter.
• Libraries: Folder untuk menyimpan semua library CodeIgniter.
• Logs: Folder untuk menampilkan log (catatan) perubahan coding
yang dilakukan.
• Models: Folder sebagai media berkomunikasi dengan database
yang berisi file tentang perintah manipulasi database.
• Third_Party: Folder untuk menyimpan berbagai plugin yang
diperlukan untuk pengembangan website.
• Views: Folder untuk membangun tampilan website yang berisi
file-file HTML yang dibuat oleh front end developer.
2. System
System adalah folder utama untuk membangun framework
CodeIgniter. Jangan lakukan perubahan kode pada folder ini karena
akan merubah fungsi pada CodeIgniter.
3. User_Guide
Folder user guide adalah folder tambahan yang berisi dokumentasi
resmi CodeIgniter. Untuk melihat dokumentasi CodeIgniter, cukup
tambahkan link /user_guide/ pada URL website Anda.
• Base-url: localhost/belajar-codeigniter/
• Class: user
• Function: add
Pada panduan kali ini, kita akan mencoba menginstall di lokal. Jadi
Anda perlu mendownload Xampp sebagai web server yang akan
digunakan. Apa saja langkah instalasi CodeIgniter?
File ini nantinya akan menjadi controller untuk halaman awal Anda.
Setelah membuat file tersebut, pastikan strukturnya seperti ini:
Nah, Anda bisa coba akses link website Anda dan pastikan
tampilannya menjadi seperti ini.
2. Menghapus index.php
Untuk membuat struktur URL website menjadi lebih sederhana, Anda
perlu menghapus index.php. Jadi, URL Anda berubah
dari localhost/belajar-codeigniter/index.php/class/function menjadi:
localhost/belajar-codeigniter/class/function
3. Membuat Database
Anda perlu membuat database melalui PHPMyAdmin yang nantinya
akan disambungkan dengan CodeIgniter. Caranya adalah sebagai
berikut:
3. Berikutnya, Anda perlu mengisi nama dan tipe data pada setiap
kolom.
Setelah lengkap, klik Save dan Anda akan melihat tampilan seperti di
bawah ini:
Setelah memanggil library database, Anda perlu mencari file yang ada
di dalam folder application/config/database.php. Setelah itu, Anda
bisa cari kode di bawah ini. Lalu, isikan username, password, dan
database Anda.
$db['default'] = array(
'dsn' => '',
'hostname' => 'localhost',
'username' => 'root',
'password' => '',
'database' => 'belajar-codeigniter',
'dbdriver' => 'mysqli',
'dbprefix' => '',
'pconnect' => FALSE,
'db_debug' => (ENVIRONMENT !== 'production'),
'cache_on' => FALSE,
'cachedir' => '',
'char_set' => 'utf8',
'dbcollat' => 'utf8_general_ci',
'swap_pre' => '',
'encrypt' => FALSE,
'compress' => FALSE,
'stricton' => FALSE,
'failover' => array(),
'save_queries' => TRUE
);
Setelah itu, Anda bisa mengisikan kode di bawah pada file User.php:
<?php
class User extends CI_Controller
{
public function add()
{
$this->load->view('user_add');
}
}
Setelah itu Anda bisa mengcopy kode di bawah dan paste pada
file user_add.php.
<!DOCTYPE html>
<html>
<head>
<title>Membuat Form Tambah User</title>
</head>
<body>
<center>
<h2>Form Tambah Data User</h2>
<form method="post" action="<?= base_url('user/save'); ?>">
<table border="1">
<tr>
<td>Email</td>
<td><input type="text"
name="email"></td>
</tr>
<tr>
<td>Password</td>
<td><input type="password"
name="password"></td>
</tr>
<tr>
<td>Nama</td>
<td><input type="text"
name="nama"></td>
</tr>
<tr>
<td colspan="2"><input type="submit"
name="kirim" value="Masukkan Data"></td>
</tr>
</table>
</form>
</center>
</body>
</html>
$this->model->insert_data($this->table, $data);
}
}
redirect('user/add');
}
}
}
Setelah itu, Anda bisa tambahkan kode di bawah ini pada file tersebut.
<!DOCTYPE html>
<html>
<head>
<title>Data Seluruh Users</title>
</head>
<body>
<h2>Menampilkan Data User</h2>
<table border="1">
<tr>
<td>No</td>
<td>Nama</td>
<td>Email</td>
</tr>
<?php
foreach ($users->result() as $i => $user)
{
?>
<tr>
<td><?= ++$i; ?></td>
<td><?= $user->nama; ?></td>
<td><?= $user->email; ?></td>
</tr>
<?php
}?>
</table>
</body>
</html>
Tampilan form edit akan muncul ketika akan mengubah data user.
Namun, Anda perlu membuat model untuk melakukan perintah
mengubah data terlebih dahulu.
9. Membuat Session
Session diperlukan untuk mengelola hak akses dari setiap pengguna.
Ini penting bagi keamanan website Anda. Lalu, bagaimana cara
membuat session pada CodeIgniter?
if($user_account)
{
$session_data = [
'email' => $user_account-
>email,
'nama' => $user_account-
>nama
];
$this->session->set_userdata($session_data);
redirect('user/show');
}
else
{
$this->session->set_flashdata('error', 'Email atau password
tidak cocok');
redirect('login');
}
}
else
{
$this->session->set_flashdata('error', 'Seluruh data harus diisi');
redirect('login');
}
}
}
Tak lengkap jika fitur login tanpa logout untuk menghapus session
yang dimiliki oleh pengguna.
Meskipun sudah memiliki fitur login dan logout, Anda tetap bisa
masuk localhost/belajar-codeigniter/user/show tanpa login. Lalu,
bagaimana membuat halaman tersebut hanya bisa diakses setelah
pengguna benar-benar login?