BAB 14 Framework CodeIgniter
BAB 14 Framework CodeIgniter
Durasi kegiatan praktikum adalah 170 menit, dengan rincian sebagai berikut.
1.2 Tujuan
b) Helper
Helper ada kumpulan fungsi-fungsi yang disediakan oleh framework CodeIgniter untuk
mempercepat proses pengembangan website. Fungsi-fungsi tersebut terbagi ke dalam beberapa
kategori, antara lain kategori form, string, URL, XML, file, tanggal, bahasa, dan lain-lain. Fungsi-fungsi
tersebut telah tersedia secara built-in pada paket framework CodeIgniter dan telah terinstal saat
proses ekstraksi paket. Namun begitu, fungsi-fungsi tersebut tidak langsung tersedia, melainkan
harus di-load terlebih dahulu. Sebagai contoh, untuk me-load fungsi-fungsi helper yang ada pada
kategori URL, kita harus menulis baris berikut.
1 $this->load->helper(‘URL’);
Baru setelah itu, fungsi-fungsi helper yang ada pada kategori URL dapat digunakan secara langsung.
Contoh:
1 redirect(‘http://filkom.ub.ac.id’, ‘refresh’);
2 echo mailto(‘[email protected]’);
1 $autoload['helper'] = array();
Buat database baru dengan nama “blog” dan sebuah tabel dengan nama “post” dengan struktur
berikut.
$db['default'] = array(
'dsn' => '',
'hostname' => 'localhost',
'username' => 'root',
'password' => '',
'database' => 'blog',
'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
);
a) Menampilkan Artikel
Judul Konten
Hello world! Ini adalah artikel pertama di blog saya.
Belajar PHP PHP adalah bahasa pemrograman yang menyenangkan untuk dipelajari.
CodeIgniter Dengan CodeIgniter, proyek website menjadi lebih terstruktur.
Buat sebuah file baru yaitu “application/models/Blog_model.php” dan tulis kode berikut.
return $query->result();
}
}
Buat controller baru pada file “application/controllers/Blog.php” dan tulis kode berikut.
<?php
$posts = $this->Blog_model->get_posts();
$data['posts'] = $posts;
$this->load->view('read', $data);
}
}
Kemudian buat satu file baru yaitu “application/views/read.php” dengan kode berikut.
<!DOCTYPE html>
<html lang=”en”>
<head>
<title>Blog Saya</title>
</head>
<body>
<h1>Daftar Artikel</h1>
<?php foreach ($posts as $post): ?>
<h2><?php echo $post->judul; ?></h2>
<p><?php echo $post->konten; ?></p>
<?php endforeach; ?>
</body>
</html>
Kemudian buka URL “http://localhost/ci/blog/” di browser. Jelaskan alur eksekusi kode ketiga kode
di atas.
--------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------
Buat form untuk membuat artikel blog seperti berikut pada file
“application/views/blog_create.php”.
<!DOCTYPE html>
<html lang=”en”>
<head>
<title>Blog Saya</title>
</head>
<body>
<h1>Tulis Artikel Baru</h1>
<form action=”<?php echo base_url(‘blog/create_process’); ?>”
method=”post”>
<label>
Judul: <input type=”text” name=”judul” autofocus>
</label>
<br>
<label>
Konten:<br>
<textarea name=”konten”></textarea>
</label>
<br>
<input type=”submit” value=”Simpan”>
</form>
</body>
</html>
<?php
$posts = $this->Blog_model->get_posts();
$data['posts'] = $posts;
$this->load->view('read', $data);
}
$this->load->helper('url');
$this->load->model(‘Blog_model’);
$this->Blog_model->insert_post($judul, $konten);
redirect(base_url(), ‘refresh’);
}
}
<?php
return $query->result();
}
Buka URL “http://localhost/ci/blog/create”, masukkan beberapa artikel lalu klik “Simpan”. Jelaskan
alur kode yang Anda buat di atas.
--------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------
c) Menghapus Artikel
<!DOCTYPE html>
<html lang=”en”>
<head>
<title>Blog Saya</title>
</head>
<body>
<h1>Daftar Artikel</h1>
<?php foreach ($posts as $post): ?>
<h2><?php echo $post->judul; ?></h2>
<a href="<?php echo base_url('blog/delete/' . $post->id); ?
>">Hapus</a>
<p><?php echo $post->konten; ?></p>
<?php endforeach; ?>
</body>
</html>
<?php
$posts = $this->Blog_model->get_posts();
$data['posts'] = $posts;
$this->load->view('read', $data);
}
$this->load->helper('url');
$this->load->model('Blog_model');
$this->Blog_model->insert_post($judul, $konten);
redirect(base_url(), 'refresh');
}
$this->Blog_model->delete_post($id);
redirect(base_url(), 'refresh');
}
}
<?php
return $query->result();
}
Hapus satu artikel dengan mengklik tombol “Hapus”. Beri penjelasan tentang kode yang Anda buat
di atas.
--------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------
d) Mekanisme Update
Ubah semua perintah database (SELECT, INSERT, UPDATE, dan DELETE) pada komponen model
menggunakan fungsi-fungsi pada kelas Query Builder. Baca dokumentasi framework CodeIgniter di
https://www.codeigniter.com/user_guide/database/query_builder.html)