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
            Trus ekstrak pada folder webserver kalian. Di Xampp folder root nya ada pada xampp\htdocs.
            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_server
Struktur Folder Codeigniter


Folder penyimpanan di Codeigniter ada 3:
·         Application
·         System
·         User_guide
a.       Application
Folder ini adalah folder utama yang digunakan oleh pemakai framework ini, karena disini tempat untuk menyimpan projek mu nantinya, didalamnya ada beberapa folder diantaranya:
·         Config: ini untuk konfigurasi aplikasi yang akan kmu buat nantinya, seperti config.php untuk konfigurasi nya, database.php untuk konfigurasi database yang digunakan, autoload untuk memanggil helpers/libarary secara otomatis, dll.
·         Controllers: ini adalah folder untuk menaruh file controller kalian. Ini adalah bagian basic dari aplikasi
·         Helpers: disini bisa untuk menaruh class helpers yang kalian bisa buat, untuk membantu aplikasi kalian.
·         Library: disini bisa untuk menaruh library yang kalian bisa buat, untuk membantu aplikasi kalian.
·         Models: disini untuk akses kelua-masuk data ke database
·         Views: Disini tempat kalian file html tampilan kalian sebagai hasil layout nya.
·         Etc.
b.      System
Folder ini adalah folder asli atau utama yg dimiliki oleh framework codeigniter, jadi disini Codeigniter sudah menyiapkan library/helpers/dll yg bisa digunakan oleh pengguna. sebaiknya pengguna tidak merubah isi dari folder ini.
c.       User_guide
Ini hanya folder untuk cara penggunaan codeigniter itu sendiri yang bisa diakses secara offline, anda bisa belajar cara menggunakan library/helper/class yang ada di codeigniter dengan folder ini. Jika folder ini dihapus tidak berpengaruh pada sistem kerja codeigniter itu sendiri.
1.      Sampai pada tahap ini anda sudah berhasil menginstall codeigniter, tahap selanjutnya adalah melakukan konfigurasi dasar, silahkan buka file config.php yang ada dalah folder application/config/config.php menggunakan IDE kesayangan anda. silahkan cari script berikut ini :
$config['base_url'] = '';
Dan diubah menjadi
$config['base_url'] = 'http://localhost/rest_server/';
2.      Langkah – langkah membuat database
langkah selanjutnya adalah membuat sebuah database baru yang akan menjadi tempat kita menyimpan data. silahkan buat sebuah database dengan nama akademik dan buatlah sebuah tabel dengan nama mahasiswa dan jurusan dengan format seperti berikut :
DROP TABLE IF EXISTS `jurusan`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `jurusan` (
  `id_jurusan` int(11) NOT NULL AUTO_INCREMENT,
  `nama_jurusan` varchar(50) NOT NULL,
  PRIMARY KEY (`id_jurusan`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=latin1;
/*!40101 SET character_set_client = @saved_cs_client */;

DROP TABLE IF EXISTS `mahasiswa`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `mahasiswa` (
  `nim` varchar(10) NOT NULL,
  `nama` varchar(50) NOT NULL,
  `id_jurusan` int(11) NOT NULL,
  `alamat` text NOT NULL,
  PRIMARY KEY (`nim`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

Insert data dummy
Untuk bisa menampilkan data maka kita akan butuh beberapa data dummy yang akan kita gunakan sebagai contoh nantinya, anda bisa memasukan sendiri atau menggunakan Query SQL dibawah untuk memasukan beberapa data dummy :

INSERT INTO `jurusan` VALUES (1,'TEKNIK INFORMATIKA'),(2,'REKAMEDIS');
INSERT INTO `mahasiswa` VALUES ('TI102131','DESI HANDAYANI',2,'RANGKASBITUNG'),('TI102132','NURIS AKBAR',1,'aceh'),('TI102133','MUHAMMAD HAFIDZ MUZAKI',1,'CIMAHI'),('TI102134','IRMA MAULIANA',1,'ACEH TAMIANG');

Jika sudah sekarang saatnya melakukan konfigurasi untuk koneksi ke database, silahkan buka file database.php yang ada dalam folder application/config/database.php dan silahkan sesuaikan dengan settingan web server anda, ini contoh settingan pada web server di komputer yang saya gunakan :
$db['default'] = array(
            'dsn'     => '',
            'hostname' => 'localhost',
            'username' => 'root',
            'password' => '',
            'database' => 'restfull',
            '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
);
Selanjutnya kita akan membuat sebuah controller dengan nama Mahasiswa.php yang merupakan resource dari web service yang akan menangani request pengelolaan data dari tabel mahasiswa, berikut ini script nya :
<?php
require APPPATH . '/libraries/REST_Controller.php';
class mahasiswa extends REST_Controller {
    function __construct($config = 'rest') {
        parent::__construct($config);
    }
    // show data mahasiswa
    function index_get() {
        $nim = $this->get('nim');
        if ($nim == '') {
            $mahasiswa = $this->db->get('mahasiswa')->result();
        } else {
            $this->db->where('nim', $nim);
            $mahasiswa = $this->db->get('mahasiswa')->result();
        }
        $this->response($mahasiswa, 200);
    }
    // insert new data to mahasiswa
    function index_post() {
        $data = array(
                    'nim'           => $this->post('nim'),
                    'nama'          => $this->post('nama'),
                    'id_jurusan'    => $this->post('id_jurusan'),
                    'alamat'        => $this->post('alamat'));
        $insert = $this->db->insert('mahasiswa', $data);
        if ($insert) {
            $this->response($data, 200);
        } else {
            $this->response(array('status' => 'fail', 502));
        }
    }
    // update data mahasiswa
    function index_put() {
        $nim = $this->put('nim');
        $data = array(
                    'nim'       => $this->put('nim'),
                    'nama'      => $this->put('nama'),
                    'id_jurusan'=> $this->put('id_jurusan'),
                    'alamat'    => $this->put('alamat'));
        $this->db->where('nim', $nim);
        $update = $this->db->update('mahasiswa', $data);
        if ($update) {
            $this->response($data, 200);
        } else {
            $this->response(array('status' => 'fail', 502));
        }
    }
 // delete mahasiswa
    function index_delete() {
        $nim = $this->delete('nim');
        $this->db->where('nim', $nim);
        $delete = $this->db->delete('mahasiswa');
        if ($delete) {
            $this->response(array('status' => 'success'), 201);
        } else {
            $this->response(array('status' => 'fail', 502));
        }
    }
}
Langkah 5 – Pengujian menggunakan Plugin Postman
pengujian pertama adalah melakukan request untuk menampilkan seluruh data mahasiswa dengan method GET ( untuk melihat gambar lebih jelas silahkan klik gambar nya dan pilih open di new tab )
pengujian selanjutnya adalah saya ingin menampilkan data dosen berdasarkan nim yang akan saya inputkan, pada penujian ini masih menggunakan methode GET

sekarang saya akan melakukan percobaan menginsert data dosen melalui web service menggunakan method POST. untuk bisa menginsert data maka saya harus mengisi parameter yang ada pada kolom x-www-form-urlencode seperti dibawah ini :
Hasilnya data yang tadi saya input sudah  masuk dan berhasil ditampilkan ketika saya melakukan request dengan method GET.
selanjutnya saya akan melakukan percobaan update data dengan method PUT, pada percobaan kali ini data yang akan saya ubah hanyalah field alamat nya saja, untuk melakukan perubahan jangan lupa menyertakan nim yang merupakan key dalam proses update data pada layer web service
Setelah saya melakukan request update, lalu saya mencoba melakukan request data mahasiswa dengan method GET dan hasilnya data tersebut sudah berubah.
pengujian selanjutnya saya akan melakukan request untuk menghapus sebuah data dengan method DELETE, untuk bisa menghapus data saya wajib mengirim nim g akan dihapus sebagai parameter yang akan digunakan di layer web service untuk melakukan penghapusan data.

Berikut ini adalah hasil respons setelah saya melakukan request penghapusan data dengan NIM TI102135

sekian postingan Cara Membuat Restfull API Menggunakan Codeigniter kali ini, semoga ilmu ini bermanfaat bagi anda.


No comments:

Post a Comment

Bottom Ad [Post Page]