1. Pengertian
a. Codeigniter
Codeigniter adalah
salah satu framework PHP yang memudahkan seseorang developer website yang
menggunakan konsep semi OOP(object oriented programming) dengan model
MVC(Model-View-Controller). Jadi dengan menggunakan ini developer dimudahkan
dalam membangun sebuah website karena fungsi-fungsi/prosedur nya sudah tertata
rapi oleh framework ini, Codeigniter juga sangat baik digunakan untuk
mengerjakan suatu projek secara Team karena sudah memiliki aturan konsep yang
sama satu sama lain.
b. MVC
Pengertian MVC sendiri
dikutip dalam Wikipedia adalah
Model-View-Controller atau MVC adalah sebuah metode untuk
membuat sebuah aplikasi dengan memisahkan data (Model) dari tampilan (View) dan
cara bagaimana memprosesnya (Controller). Dalam implementasinya kebanyakan
framework dalam aplikasi website adalah berbasis arsitektur
MVC MVC memisahkan pengembangan aplikasi berdasarkan komponen utama yang
membangun sebuah aplikasi seperti manipulasi data antarmuka pengguna, dan
bagian yang menjadi kontrol dalam sebuah aplikasi web.
Jadi MVC sendiri adalah
sebuah Konsep untuk memudahkan pengembang aplikasi web agar sebuah komponen
aplikasi web tersebut dapat terkontrol dengan baik.
Disini saya akan memberikan sedikit ilmu yang saya pelajari tentang konsep MVC ini.
Disini saya akan memberikan sedikit ilmu yang saya pelajari tentang konsep MVC ini.
-
Model
Model merupakan suatu
fungsi yang digunakan mengelola database pada sebuah web untuk menangani
struktur data dari controller.
-
View
View merupakan bagian untuk
mengelola tampilan dari website, view sendiri bisa disebut sebagai user
interface sendiri dalam sebuah website yang diatur dibagian controller.
-
Controller
Controller merupakan kunci
dalam konsep MVC ini, karena cotroller berfungsi untuk menghubungkan model
dengan view itu sendiri.
2. Installing
Codeigniter
Codeigniter
Bisa didownload di https://www.codeigniter.com/download
Ganti Nama Folder CodeIgniter-3.1.0 dengan nama folder projek yang
akan kalian buat, disini saya ganti dengan rest_server
Coba buka di browser dengan http://localhost/rest_clientController
Buat file php baru dengan nama mahasiswa.php pada direktori rest_client/application/controller
<?php
Class Mahasiswa extends CI_Controller{
var $API ="";
function __construct() {
parent::__construct();
$this->API="http://localhost/rest_server/index.php";
}
// menampilkan data mahasiswa
function index(){
$data['mahasiswa'] = json_decode($this->curl->simple_get($this->API.'/mahasiswa'));
$this->load->view('mahasiswa/list',$data);
}
// insert data mahasiswa
function create(){
if(isset($_POST['submit'])){
$data = array(
'nim' => $this->input->post('nim'),
'nama' => $this->input->post('nama'),
'prodi' => $this->input->post('prodi'));
$insert = $this->curl->simple_post($this->API.'/mahasiswa', $data, array(CURLOPT_BUFFERSIZE => 10));
if($insert)
{
$this->session->set_flashdata('hasil','Insert Data Berhasil');
}else
{
$this->session->set_flashdata('hasil','Insert Data Gagal');
}
redirect('mahasiswa');
}else{
$data['jurusan'] = json_decode($this->curl->simple_get($this->API.'/jurusan'));
$this->load->view('mahasiswa/create',$data);
}
}
// edit data mahasiswa
function edit(){
if(isset($_POST['submit'])){
$data = array(
'nim' => $this->input->post('nim'),
'nama' => $this->input->post('nama'),
'prodi' => $this->input->post('prodi'));
$update = $this->curl->simple_put($this->API.'/mahasiswa', $data, array(CURLOPT_BUFFERSIZE => 10));
if($update)
{
$this->session->set_flashdata('hasil','Update Data Berhasil');
}else
{
$this->session->set_flashdata('hasil','Update Data Gagal');
}
redirect('mahasiswa');
}else{
$data['jurusan'] = json_decode($this->curl->simple_get($this->API.'/jurusan'));
$params = array('nim'=> $this->uri->segment(3));
$data['mahasiswa'] = json_decode($this->curl->simple_get($this->API.'/mahasiswa',$params));
$this->load->view('mahasiswa/edit',$data);
}
}
// delete data mahasiswa
function delete($nim){
if(empty($nim)){
redirect('mahasiswa');
}else{
$delete = $this->curl->simple_delete($this->API.'/mahasiswa', array('nim'=>$nim), array(CURLOPT_BUFFERSIZE => 10));
if($delete)
{
$this->session->set_flashdata('hasil','Delete Data Berhasil');
}else
{
$this->session->set_flashdata('hasil','Delete Data Gagal');
}
redirect('mahasiswa');
}
}
}
Pada controller tersebut terdapat fungsi-fungsi dari library curl untuk komunikasi data dengan REST API Server, tampilan antarmuka yang akan ditampilkan ke pengguna pada masing-masing fungsi, dan data apa saja yang diperlukan untuk kominikasi data dengan server REST API server.
Views
Views diperlukan untuk memberikan antarmuka kepada pengguna, views yang diperlukan disini adalah list untuk menampilkan semua data, create yang berupa form tambah data, dan edit yang berupa form untuk mengubah data yang sudah ada.
Buat folder baru pada direktori rest_client/application/views dangan nama mahasiswa
Baca & Hapus Data
Buat file php baru dengan nama list.php pada direktori rest_client/application/views/mahasiswa
<?php echo $this->session->flashdata('hasil'); ?>
<table>
<tr><th>NIM</th><th>NAMA</th><th>PRODI</th><th></th></tr>
<?php
foreach ($mahasiswa as $m){
echo "<tr>
<td>$m->nim</td>
<td>$m->nama</td>
<td>$m->prodi</td>
<td>".anchor('mahasiswa/edit/'.$m->nim,'Edit')."
".anchor('mahasiswa/delete/'.$m->nim,'Delete')."</td>
</tr>";
}
?>
</table>
Tambah Data
Buat file php baru dengan nama create.php pada direktori rest_ci_client/application/views/mahasiswa
<?php echo form_open('mahasiswa/create');?>
<table>
<tr><td>NIM</td><td><?php echo form_input('nim');?></td></tr>
<tr><td>NAMA</td><td><?php echo form_input('nama');?></td></tr>
<tr><td>PRODI</td><td><?php echo form_input('prodi');?></td></tr>
<tr><td colspan="2">
<?php echo form_submit('submit','Simpan');?>
<?php echo anchor('mahasiswa','Kembali');?></td></tr>
</table>
<?php
echo form_close();
?>
Edit Data
Buat file php baru dengan nama edit.php pada direktori rest_client/application/views/mahasiswa
<?php echo form_open('mahasiswa/edit');?>
<?php echo form_hidden('nim',$mahasiswa[0]->nim);?>
<table>
<tr><td>NIM</td><td><?php echo form_input('',$mahasiswa[0]->nim,"disabled");?></td></tr>
<tr><td>NAMA</td><td><?php echo form_input('nama',$mahasiswa[0]->nama);?></td></tr>
<tr><td>PRODI</td><td><?php echo form_input('prodi',$mahasiswa[0]->prodi);?></td></tr>
<tr><td colspan="2">
<?php echo form_submit('submit','Simpan');?>
<?php echo anchor('mahasiswa','Kembali');?></td></tr>
</table>
<?php
echo form_close();
?>
No comments:
Post a Comment