Full width home advertisement

Travel the world

Climb the mountains

Post Page Advertisement [Top]


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

Controller

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

Bottom Ad [Post Page]