Anda di halaman 1dari 10

LATIHAN PRAKTIKUM PEMROGRAMAN WEB

BAB : FRAMEWORK CODEIGNITER (1)


NAMA : AHMAD FATHUR RAHMAN
NIM : 165150200111010
ASISTEN : 1. HUGO GHALLY IMANAKA
2. MUHAMMAD RAYYAN ABHAD
TGL PRAKTIKUM : 10 MEI 2018

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/';

Buka browser dan arahkan ke alamat “http://localhost/ci”. Browser akan memberikan


tampilan “Welcome to CodeIgniter!” seperti pada Error: Reference source not found.
B. Screenshoot

C. Syntax
D. Penjelasan
Browser menampilkan tampilan awal codeigniter setelah dikonfigurasi.

LATIHAN 2
A. Soal

Buka direktori “application/controllers” dan hapus file “Welcome.php”. Buka direktori


“application/views” dan hapus file “welcome_message.php”. Buka file
“application/config/routes.php” dan ubah baris di bawah ini:

$route['default_controller'] = ‘welcome’;

menjadi:

$route['default_controller'] = ‘hello’;

Buat file baru “application/controllers/Hello.php” dengan kode berikut.

<?php

class Hello extends CI_Controller {

public function index() {


$this->load->view(‘hello’);
}
}

Buat file baru “application/views/hello.php” dengan kode berikut.

<!DOCTYPE html>
<html lang=”en”>
<head>
<title>Belajar CodeIgniter</title>
</head>
<body>
<h1>Hello world!</h1>
</body>
</html>

Jelaskan masing-masing fungsi dua file yang Anda buat di atas.

Apakah fungsi dari array $route['default_controller']?

Ubah kedua file controller dan view tersebut seperti di bawah ini.

<?php

class Blog extends CI_Controller {

public function index() {


$data[‘name’] = ‘Freddy Mercury’;
$this->load->view(‘hello’, $data);
}
}

<!DOCTYPE html>
<html lang=”en”>
<head>
<title>Belajar CodeIgniter</title>
</head>
<body>
<h1>Hello <?php echo $name; ?>!</h1>
</body>
</html>

Jelaskan perubahan yang telah Anda buat di atas.


B. Screenshoot
Kode welcome diganti dengan hello

Setelah diganti lagi


C. Syntax
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 }

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

class Hello extends CI_Controller {


public function index() {
$data[‘name’] = ‘Freddy Mercury’;
$this->load->view(‘hello’, $data);
}

public function greet($name) {


$data['name'] = $name;
$this->load->view('hello', $data);
}
}

Lalu buka browser ke beberapa URL berikut.

 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]

Kemudian ubah file “application/config/config.php” pada baris berikut:

$config['index_page'] = 'index.php';

menjadi:

$config['index_page'] = '';

Lalu arahkan browser ke beberapa URL berikut.

 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

Buat satu file baru “application/models/Hello_model.php” dan tulis kode berikut.

<?php

class Hello_model extends CI_Model {

public function get_name() {


return ‘Brian May’;
}
}

Ubah controller Anda dengan menambahkan satu method seperti berikut.

<?php

class Hello extends CI_Controller {


public function index() {
$data['name'] = 'Freddy Mercury';
$this->load->view('hello', $data);
}

public function greet($name) {


$data['name'] = $name;
$this->load->view('hello', $data);
}

public function hello() {


$this->load->model('blog_model');

$name = $this->blog_model->get_name();
$data['name'] = $name;
$this->load->view('hello', $data);
}
}

Buka browser dengan URL “http://localhost/blog/hello/hello”. Jelaskan alur eksekusi


kode program tersebut.

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.

Anda mungkin juga menyukai