Makalah Code Igniter
Makalah Code Igniter
sistem/core CodeIgniter berwarna oren). Folder sistem berisi library-library dan helper
bawaan CodeIgniter.
CI.
Folder language
Tempat menyimpan bahasa-bahasa yang akan di gunakan.
Folder libraries
Tempat menyimpan semua library buatan kita sendiri.
Folder models
Tempat menyimpan semua model.
Folder views
Tempat menyimpan semua file view aplikasi.
Folder system : menyimpan semua file baik itu file aplikasi yang dibuat mauoun core
frameworknya.
Folder cache
tempat menyimpan semua cache yang dibuat caching library.
Folder database
Tempat menyimpan semua driver database drivers dan class yang akan
digunakan.
Folder fonts
Tempat menyimpan semua font yang digunakan image manipulation library.
Folder helpers
Tempat menyimpan semua helper core CI.
Folder language
Tempat menyimpan semua language core CI.
Folder language
Tempat menyimpan semua language core CI.
Folder libraries
Tempat menyimpan semua library core CI.
Folder logs
Tempat menyimpan semua logs generated oleh CI.
Folder plugin
Tempat menyimpan semua plugin core CI.
Folder scaffolding
Tempat menyimpan semua file yang berfungsi sebagai scaffolding.
E. Konsep MVC
Secara sederhana konsep MVC terdiri dari tiga bagian yaitu bagian Model, bagian
View dan bagian Controller. Didalam website dinamis setidaknya terdiri dari 3 hal yang
paling pokok, yaitu basis data, logika aplikasi dan cara menampilkan halaman website. 3
hal tersebut dipresentasikan dengan MVC yaitu model untuk basis data, view untuk cara
menampilkan halaman website dan controller untuk logika aplikasi.
1. Model
Biasanya didalam model akan berisi class dan fungsi untuk mengambil, melakukan
update dan menghapus data website. Karena sebuah website biasanya menggunakan
basis data dalam menyimpan data maka bagian Model biasanya akan berhubungan
dengan perintah-perintah query SQL.
2. View
Merupakan informasi yang ditampilkan kepada pengunjung website. Sebisa mungkin
didalam View tidak berisi logika-logika kode tapi hanya berisi variabel-variabel yang
berisi data yang siap ditampilkan. View hanya dikhususkan untuk menampilkan datadata hasil dari model dan controller.
3. Controller
Controller merupakan penghubung antara Model dan View. Didalam Controller inilah
terdapat class dan fungsi-fungsi yang memproses permintaan dari View kedalam
struktur data didalam Model. Controller juga tidak boleh berisi kode untuk mengakses
basis data. Tugas Controller adalah menyediakan berbagai variabel yang akan
ditampilkan di view, memanggil model untuk melakukan akses ke basis data,
menyediakan penanganan error, mengerjakan proses logika dari aplikasi serta
melakukan validasi atau cek terhadap input.
F. CONTOH PROGRAM
Contoh programnya dengan penerapan menggunakan database :
Pertama kali kita membuat sebuah database bernama mahasiswa dan table bernama
mahasiswa yang terdiri dari 3 field npm(int) nama(varchar) dan kota(varchar) seperti gambar
diatas.
$active_group = 'default';
$active_record = TRUE;
$db['default']['hostname'] = 'localhost';
$db['default']['username'] = 'root';
$db['default']['password'] = '';
$db['default']['database'] = 'mahasiswa';
$db['default']['dbdriver'] = 'mysql';
$db['default']['dbprefix'] = '';
$db['default']['pconnect'] = TRUE;
$db['default']['db_debug'] = TRUE;
Penggalan code diatas merupakan bagian dari code database.php yg terdapat pada folder
config/ dimana code ditas digunakan untuk mengkonfigurasi database , dengan hostname
adalah locahost, username root dana database yang digunkana adalah mahasiswa.
<?php if ( !defined('BASEPATH')) exit('No direct script access allowed');
class Crud extends CI_Controller{
function __construct(){
parent::__construct();
$this->load->model('M_crud');
}
function index() {
$data['record'] = $this->M_crud->getDataMahasiswa();
$this->load->view('v_index',$data);
}
function tambahdata(){
$this->load->view('v_tambahdata');
}
function actiontambah(){
$this->M_crud->actiontambah();
}
function hapusdata($npm){
$this->M_crud->hapusdata($npm);
}
function edit ($npm = 0){
$mhs = $this->M_crud->getSingleMahasiswa($npm);
$data['npm'] = $mhs->npm;
$data['nama'] = $mhs->nama;
$data['kota'] = $mhs->kota;
$this->load->view('v_editdata',$data);
}
function actionupdate() {
$this->M_crud->actionupdate();
}
Code diatas merupakan code dari file Crud.php yang terdapat pada controllers dimana code
tersebut digunakan untuk memanggil atau menghubungkan file pada view dengan file pada
model memberikan fungsi untuk operasi tambah edit dan hapus data yang ada pada
m_crud.php . Dimana pada codingan ini index atau awal tampilan nya itu adalah v_index
sebagai index utama.
<?php if ( ! defined ('BASEPATH')) exit ('no direct script access allowed');
class m_crud extends CI_Controller{
function getDataMahasiswa(){
return$this->db->get('mahasiswa');
}
function actiontambah(){
$npm =$this->input->post('npm', TRUE);
$nama =$this->input->post('nama', TRUE);
$kota =$this->input->post('kota', TRUE);
$this->db->insert('mahasiswa',
array('npm'=>$npm,'nama'=>$nama,'kota'=>$kota));
redirect('crud');
}
function hapusdata($npm){
$this->db->delete('mahasiswa', array('npm'=>$npm));
redirect ('crud');
}
function getSingleMahasiswa($npm){
$query = $this->db->get_where('mahasiswa',
array('npm'=>$npm));
return $query->row();
}
function actionupdate(){
$npm=$this->input->post('npm', TRUE);
$nama=$this->input->post('nama',TRUE);
$kota=$this->input->post('kota', TRUE);
$this->db->where('npm',$npm);
$this->db->update('mahasiswa', array(
'nama'=>$nama,
'kota'=>$kota
));
redirect('crud');
Code diatas merupakan code yang terdapat pada m_crud.php yang ada pada folder model/ .
Code diatas digunakan untuk memberikan fungsi-fungsi seperti tambahdata, hapus data atau
update data informasi yang terhubung dengan database.
<
<center><h1>Latihan CRUD</h1><center><hr/>
<div class="table">
<?php
if($record->num_rows () == 0){
echo "<center><strong>tidak ada data
tersedia</strong></center>";
} else {
?>
<center><h3><strong>Data Mahasiswa</strong></h3></center>
<a href="crud/tambahdata">Tambah data</a>
<table class="table table-striped">
<tr>
<td>NPM</td>
<td>Nama</td>
<td>Kota</td>
<td colspan="2">Action</td>
</tr>
<?php
foreach($record->result_array() as $key){
echo"<tr>";
echo"<td>".$key['npm']."</td>";
echo"<td>".$key['nama']."</td>";
echo"<td>".$key['kota']."</td>";
echo"<td><a href='crud/edit/".$key['npm']."'>Edit</a>";
echo"<td><a href='crud/hapusdata/".
$key['npm']."'>Hapus</a>";
echo"</tr>";
}
?>
</table>
<?php
}
?>
</div>
</body>
</html>
Code diatas merupakan code dari file v_index.php yang ada pada folder view/ . code ini
digunakan untuk merancang tampilan pada browser . Dimana file ini menjadi tampilan utama
yang dirancang menggunakan table yang terdiri dari 5 kolom yaitu , npm nama kota edit dan
hapus dan juga terdapat menu tambah data .
<!DOCTYPE html>
<html>
<head>
<title>Latihan CRUD</title>
<link rel="stylesheet" href="../../../assets/bootstrap.min.css"
/>
<style>
.tabel {
width: 700px;
margin: 0 auto;
padding: 0;
}
</style>
</head>
<body>
<center>
<h1>Latihan CRUD</h1>
</center>
<hr/>
<div class="tabel">
<center>
<h3><strong>Edit Data Mahasiswa</strong></h3>
</center>
<form role="form" action="../actionupdate" method="post">
<div class="form-group">
<label for="npm">NPM</label>
<input type="text" name="npm1" class="form-control"
id="npm" placeholder="NPM Mahasiswa" value="<?php echo $npm;?>" disabled>
Code diatas merupakan code dari file v_editdata.php yang ada pada folder view/ . Code ini
digunakan untuk merancang tampilan pada browser bagian edit data. Pada tampilan ini
terdapat 3 form input/edit text npm nama dan kota , npm di disable atau tidak bisa diubah ,
sedangkan nama dan kota bisa diedit . juga terdapat button submit untuk memproses edit data
<!DOCTYPE html>
<html>
<head>
<title>Latihan CRUD</title>
<link rel="stylesheet" href="../../assets/bootstrap.min.css"/>
<style>
.tabel{
width: 700px;
margin: 0 auto;
padding: 0;
}
</style>
</head>
<body>
<center><h1>Latihan CRUD</h1></center>
<br>
<div class="tabel">
<center>
<h3><strong>Input Data Mahasiswa</strong></h3>
</center>
<form role="form" action="actiontambah" method="post">
<div class="form-group">
<label for="npm">NPM</label>
<input type="text" name="npm" class="form-control"
id="npm" placeholder="NPM Mahasiswa" required>
</div>
<div class="form-group">
<label for="nama">Nama</label>
<input type="text" name="nama" class="form-control"
id="nama" placeholder="Nama Mahasiswa" required>
</div>
<div class="form-group">
<label for="kota">Kota</label>
<input type="text" name="kota" class="form-control"
id="kota" placeholder="Kota" required>
</div>
<button type="submit" class="btn-btn-default">
Submit
</button>
</form>
</div>
</body>
</html>
Code diatas merupakan code dari file v_tambahdata.php yang ada pada folder view/ . Code
ini digunakan untuk merancang tampilan pada browser bagian tambah data. Pada tampilan ini
terdapat 3 form input/edit text npm nama dan kota diaman disi untuk menambah data. juga
terdapat button submit untuk memproses tambah data yang nantinya dimasukan pada
database .
G. OUTPUT PROGRAM
DAFTAR PUSTAKA
http://fiftin.staff.uad.ac.id/file/framework4.pdf
http://ilmuti.org/wp-content/uploads/2014/03/mengenal-codeigniter-framework1.pdf
http://pintarci.blogspot.com/2014/09/pengenalan-struktur-codeigniter.html