0% menganggap dokumen ini bermanfaat (0 suara)
140 tayangan7 halaman

BAB 14 Framework CodeIgniter

Modul ini membahas framework CodeIgniter dengan fokus pada penggunaan database dan helper. Terdapat penjelasan mengenai konfigurasi database, penggunaan kelas Database dan fungsi-fungsi helper. Modul ini juga memberikan contoh kode praktikum untuk menampilkan, menambahkan dan menghapus data artikel blog menggunakan CodeIgniter. [/ringkasan]

Diunggah oleh

Putri Rahmawati
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 DOCX, PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
140 tayangan7 halaman

BAB 14 Framework CodeIgniter

Modul ini membahas framework CodeIgniter dengan fokus pada penggunaan database dan helper. Terdapat penjelasan mengenai konfigurasi database, penggunaan kelas Database dan fungsi-fungsi helper. Modul ini juga memberikan contoh kode praktikum untuk menampilkan, menambahkan dan menghapus data artikel blog menggunakan CodeIgniter. [/ringkasan]

Diunggah oleh

Putri Rahmawati
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 DOCX, PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 7

Modul 1 : Framework CodeIgniter (2)

1.1 Waktu Pelaksanaan Praktikum

Durasi kegiatan praktikum adalah 170 menit, dengan rincian sebagai berikut.

a. 15 menit untuk pengerjaan Tes Awal atau wawancara Tugas Pendahuluan


b. 60 menit untuk penyampaian materi
c. 45 menit untuk pengerjaan jurnal, tes akhir atau tugas
d. 50 menit pengayaan

1.2 Tujuan

Setelah mengikuti praktikum ini mahasiswa diharapkan dapat:

1. Memanipulasi data di database menggunakan fungsi-fungsi yang tersedia di framework


CodeIgniter.
2. Memanfaatkan fungsi-fungsi helper yang tersedia di framework CodeIgniter.

1.3 Dasar Teori


a) Database

Framework CodeIgniter menyediakan kelas Database yang menyediakan fungsi-fungsi pengelolaan


dengan database. Salah satu keuntungan yang didapat dengan menggunakan kelas ini adalah
konfigurasi dan koneksi database yang terpusat.

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]’);

Modul Praktikum Pemrograman Web 1


Helper yang sering digunakan dapat di-load setiap saat secara otomatis dengan mengubah file
“application/config/autoload.php” pada baris berikut.

1 $autoload['helper'] = array();

1.4 Prosedur Praktikum

a) Membuat dan Mengonfigurasi Database

Buat database baru dengan nama “blog” dan sebuah tabel dengan nama “post” dengan struktur
berikut.

Field Tipe Data


id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY
judul VARCHAR (255) NOT NULL
konten MEDIUMTEXT

Buka file “application/config/database.php” dan ubah konfigurasi database:

$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

Isi tabel “post” dengan beberapa artikel seperti contoh berikut.

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.

Modul Praktikum Pemrograman Web 2


<?php

class Blog_model extends CI_Model {

public function get_posts() {


$this->load->database();

$query = $this->db->query(‘SELECT * FROM post’);

return $query->result();
}
}

Buat controller baru pada file “application/controllers/Blog.php” dan tulis kode berikut.

<?php

class Blog extends CI_Controller {

public function index() {


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

$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.

--------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------

Modul Praktikum Pemrograman Web 3


b) Membuat Form

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>

Tambahkan dua method pada controller “application/controllers/Blog.php” seperti berikut.

<?php

class Blog extends CI_Controller {

public function index() {


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

$posts = $this->Blog_model->get_posts();
$data['posts'] = $posts;

$this->load->view('read', $data);
}

public function create() {


$this->load->helper('url');
$this->load->view(‘blog_create’);
}

public function create_process() {


$judul = $this->input->post(‘judul’);
$konten = $this->input->post(‘konten’);

$this->load->helper('url');
$this->load->model(‘Blog_model’);

$this->Blog_model->insert_post($judul, $konten);
redirect(base_url(), ‘refresh’);
}
}

Modul Praktikum Pemrograman Web 4


Tambahkan method berikut pada model “application/models/Blog_model.php”.

<?php

class Blog_model extends CI_Model {

public function get_posts() {


$this->load->database();

$query = $this->db->query(‘SELECT * FROM post’);

return $query->result();
}

public function insert_post($judul, $konten) {


$this->load->database();
$this->db->query(“INSERT INTO post (judul, konten) VALUES (‘$judul’,
‘$konten’)”);
}
}

Buka URL “http://localhost/ci/blog/create”, masukkan beberapa artikel lalu klik “Simpan”. Jelaskan
alur kode yang Anda buat di atas.

--------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------

c) Menghapus Artikel

Tambahkan baris berikut pada view “application/views/read.php”.

<!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>

Tambahkan baris-baris berikut di controller “application/controllers/Blog.php”.

<?php

class Blog extends CI_Controller {

Modul Praktikum Pemrograman Web 5


public function index() {
$this->load->helper('url');
$this->load->model('Blog_model');

$posts = $this->Blog_model->get_posts();
$data['posts'] = $posts;

$this->load->view('read', $data);
}

public function create() {


$this->load->helper('url');
$this->load->view('blog_create');
}

public function create_process() {


$judul = $this->input->post('judul');
$konten = $this->input->post('konten');

$this->load->helper('url');
$this->load->model('Blog_model');

$this->Blog_model->insert_post($judul, $konten);
redirect(base_url(), 'refresh');
}

public function delete($id) {


$this->load->helper('url');
$this->load->model('Blog_model');

$this->Blog_model->delete_post($id);

redirect(base_url(), 'refresh');
}
}

Kemudian tambahkan method berikut di model “application/models/Blog_model.php”.

<?php

class Blog_model extends CI_Model {

public function get_posts() {


$this->load->database();

$query = $this->db->query('SELECT * FROM post');

return $query->result();
}

public function insert_post($judul, $konten) {


$this->load->database();
$this->db->query("INSERT INTO post (judul, konten) VALUES ('$judul',
'$konten')");
}

public function delete_post($id) {


$this->load->database();
$this->db->query("DELETE FROM post WHERE id = $id");
}

Modul Praktikum Pemrograman Web 6


}

Hapus satu artikel dengan mengklik tombol “Hapus”. Beri penjelasan tentang kode yang Anda buat
di atas.

--------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------

d) Mekanisme Update

Tambahkan mekanisme update pada aplikasi di atas.

e) Kelas Query Builder

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)

Modul Praktikum Pemrograman Web 7

Anda mungkin juga menyukai