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