LATIHAN 1
A. Soal
Buat sebuah direktori baru di web server dengan nama “ci” dan ektraksi paket
framework CodeIgniter pada direktori tersebut. Buka direktori “application/config” dan
buka file “config.php” lalu ubah baris berikut.
$config['base_url'] = '';
menjadi:
$config['base_url'] = 'http://localhost/ci/';
C. Syntax
D. Penjelasan
Browser menampilkan tampilan awal codeigniter setelah dikonfigurasi.
LATIHAN 2
A. Soal
$route['default_controller'] = ‘welcome’;
menjadi:
$route['default_controller'] = ‘hello’;
<?php
<!DOCTYPE html>
<html lang=”en”>
<head>
<title>Belajar CodeIgniter</title>
</head>
<body>
<h1>Hello world!</h1>
</body>
</html>
Ubah kedua file controller dan view tersebut seperti di bawah ini.
<?php
<!DOCTYPE html>
<html lang=”en”>
<head>
<title>Belajar CodeIgniter</title>
</head>
<body>
<h1>Hello <?php echo $name; ?>!</h1>
</body>
</html>
Hello.php
1 <?php
2
3 class Hello extends CI_Controller {
4
5 public function index() {
6 $data['name'] = 'Freddy Mercury';
7 $this->load->view('hello',$data);
8 }
9 }
D. Penjelasan
File pertama berperan sebagai controller memiliki fungsi untuk melakukan load file view
hello.php menggunakan instance method view() yang berfungsi untuk mencari view yang
tersedia pada direktori views. Fungsi dari array tersebut adalah untuk setting controller
default yang akan kita gunakan yang dalam hal ini kita menggunakan file Hello.php.
Hasil perubahan dapat dilihat pada syntax dan screenshot di atas. Pada kode pertama yang
berperan sebagai controller, kita melakukan setting data name dan kemudian dikirimkan
lewat instance method view. Lalu pada file viewnya nanti akan ditampilkan data yang
dikirimkan tersebut.
LATIHAN 3
A. Soal
Tambahkan method baru pada controller yang telah Anda buat seperti berikut.
<?php
http://localhost/ci/
http://localhost/ci/index.php/
http://localhost/ci/index.php/hello/index
http://localhost/ci/index.php/hello/greet/Brian
http://localhost/ci/index.php/hello/greet/May
Jelaskan hubungan antara URL yang digunakan dengan method dan variabel yang
diakses pada controller.
B. Screenshoot
http://localhost/ci/
http://localhost/ci/index.php/
http://localhost/ci/index.php/hello/index
http://localhost/ci/index.php/hello/greet/Brian
http://localhost/ci/index.php/hello/greet/May
C. Syntax
1 <?php
2
3 class Hello extends CI_Controller {
4
5 public function index() {
6 $data['name'] = 'Freddy Mercury';
7 $this->load->view('hello',$data);
8 }
9
10 public function greet($name) {
11 $data['name'] = $name;
12 $this->load->view('hello', $data);
13 }
14
}
D. Penjelasan
Saat membuka file index.php, maka default viewnya akan menampilkan data yang ada di
method index(), sedangkan jika ingin view menampilkan data lain maka kita harus
memanggilnya lewat method greet() dengan menuliskannya pada link.
LATIHAN 4
A. Soal
Buat satu file baru dengan nama “.htaccess” di direktori utama dari website (di direktori
yang sama dengan file index.php) dan tulis kode berikut.
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
$config['index_page'] = 'index.php';
menjadi:
$config['index_page'] = '';
http://localhost/ci/
http://localhost/ci/hello/index
http://localhost/ci/hello/greet/Brian
http://localhost/ci/hello/greet/May
Jelaskan perubahan yang telah Anda lakukan dan pengaruhnya terhadap perubahan
format URL dibandingkan sebelumnya.
B. Screenshoot
http://localhost/ci/
http://localhost/ci/hello/index
http://localhost/ci/hello/greet/Brian
http://localhost/ci/hello/greet/May
C. Syntax
1 RewriteEngine On
2 RewriteCond %{REQUEST_FILENAME} !-f
3 RewriteCond %{REQUEST_FILENAME} !-d
4 RewriteRule ^(.*)$ index.php/$1 [L]
D. Penjelasan
Setelah langkah-langkah di atas dilakukan, maka untuk mengakses view hello tidak perlu
mengakses file index.php terlebih dahulu karena kita sudah mengonfigurasi ulang bahwa
tidak ada index page pada saat awal kita mengakses view.
LATIHAN 5
A. Soal
<?php
<?php
$name = $this->blog_model->get_name();
$data['name'] = $name;
$this->load->view('hello', $data);
}
}
B. Screenshot
C. Syntax
1 <?php
2 class Hello_model extends CI_Model {
3 public function get_name() {
4 return 'Brian May';
5 }
6 }
1 <?php
2
3 class Hello extends CI_Controller {
4
5 public function index() {
6 $data['name'] = 'Freddy Mercury';
7 $this->load->view('hello',$data);
8 }
9
10 public function greet($name) {
11 $data['name'] = $name;
12 $this->load->view('hello', $data);
13 }
14 public function hello() {
15 $this->load->model('blog_model');
16
17 $name = $this->blog_model->get_name();
18 $data['name'] = $name;
19 $this->load->view('hello', $data);
20 }
21 }
D. Penjelasan
Alur eksekusi program yaitu pada saat mengakses controller hello.php dulu, setelah itu
kita mengakses method blog() yang memang ada di controller tersebut. Isi dari method
tersebut adalah pemanggilan model hello_model.php, kemudian menjalankan method
get_name() yang ada di dalam model tersebut dan menampilkan isinya.