Showing posts with label codeigniter. Show all posts
Showing posts with label codeigniter. Show all posts

Thursday, 24 November 2016

Codeigniter : Pengenalan Controller dan Model (part 2)


Sebelumnya saya udah buat Tutorial Codeigniter part 1. Kali ini saya akan melanjutkan ke tahap dua yaitu penjelasan dari setiap direktori yang dipunyai CI

List :
Tutorial CodeIgniter Part 1

Struktur CI terbagi kedalam 3 bagian utama yaitu :
  1. Applicarion
  2. System
  3. User_guide

A  P  P  L  I  C  A  T  I  O  N

Ini adalah folder dimana semua code aplikasi kalian akan disimpan, dan di folder inilah kalian akan mengembangkan aplikasi. Di dalam folder ini terdapat beberapa folder lagi, yang terdiri dari :
  • Cache : folder ini akan menampung semua halaman cache. Cache ini akan meningkatkan kecepatan ketika kita mengakses halaman.
  • Config : folder ini berisi file-file untuk mengconfigurasi applikasi kalian, seperti contoh koneksi ke database dll. Maka ketika kalian ingin terhubung dengan database carilah di folder ini.
  • Controller : folder ini berisi file pengontrol atau pengendali applikasi kalian, controller ini merupakan pondasi dari applikasi yang akan kalian buat. Tugas controller adalah ya mengontrol semua perintah.
  • Core : folder ini berisa class-class dasar dari applikasi kalian.
  • Helper : dalam folder ini kalian dapat menambahkan class-class pemdukung ke dalam applikasi kalian.
  • Model : folder ini berisi file yang secara langsung mengarah ke database, atau sebagai pintu terhubungnya ke database. Tapi sangat berbeda dengan config.
  • Third Party : folder ini akan berisi plugin-plugin yang diperlukan untuk applikasi yang kalian sedang bangun. 
  • View : Nah ini merupakan folder dimana semua file html berkumpul. File yang akan menampilkan halaman web kita. 

SYSTEM
Folder ini merupakan folder yang berisi kode inti dari codeigniter, yang membantu mempermudah membangun sebuah applikasi berbasis web.
Kode-kode inti ini dibagi kedalam beberapa folder seperti :
  • Core : folde ini berisi file inti, dan jangan di coba-coba untuk merubahnya.
  • Database : berisi semua driver database inti dan keperluan-keperluan lainnya.
  • Font : folder yang berisi informasi perihal font dan pendukung lainnya.
  • Helper : folder yang berisi file pembantu CI yang paling mendasar. Seperti cookie, Url, tanggal dll.
  • Language : folder yang berisi configurasi dari bahasa.
  • Libraries : folder yang berisi file-file perpustakaan standar dari CI yang membantu kalian dalam kirim email, kalendear, file upload dan banyak lagi. Kalian bisa membuat librari sendiri untuk mengganti librari standar bawaan dari CI, tetapi kalian buat di folder APPLICATION jangan disini.

USER_GUIDE
Folder ini berisi buku petunjuk dari CI. Ini merupaka buku versi offline dari buku petunjuk yang ada di website CI. Dengan ini kalian bisa mempelajari fungsi dari berbagai librari, class dll. 

Sekarang kita lanjut ke pembahasan MVC Framework. Pada dasarnya CI dibangun dengan pola pengembangan Model - View - Controller  yang memisahkan logic applikasi dengan presentasi. Dalam prakteknya ini memungkinkan web kalian mengandung scrip yang sedikit karena memisahkan presentasi dengan scrip php.


Model 
Model mewakili struktur data kalian. Biasanya, model ini akan berisi fungsi yang akan membantu kalian mengambil, memasukan, dan memperbarui informasi di database.
View
View adalah informasi yang sedang disajikan kepada pengguna atau bisa dibilang halaman-halaman web. Di dalam CI, view bisasanya dibagi kedalam beberapa bagian seperti heade dan footer.
Controller
Controller merupakan perantara antara model, view dan sumber daya lainnya yang diperlukan untuk memproses permintaan-permintaan dari HTTP dan menghasilkan halaman web

C  O  N  T  R  O  L  L  E  R

Sekarang kalian pergi ke folder application/controller. Kalian akan menemukan 2 file disana, index.html dan welcome.php. File ini merupakan bawaan dari CI.

biarkan dua file tersebut sebagaimana mestinya, kita akan membuat file baru di folder tersebut dengan nama test.php dan masukan script dibawah ini
<?php 
   class Test extends CI_Controller {
      public function index() { 
         echo "Hello World!"; 
      } 
   } 
?>

Perhatikan class extent CI_Controller. Class ini harus ada ketika kalian membuat controller.
Ketika kalian sudah membuat controller Test.php diatas, kalian bisa panggil dengan url http://localhost:8080/codeigniter/index.php/test. Kebetulan saya menggunakan port 8080 di localhost dan codeigniter merupakan nama folder dari projek CI saya.

V  I  E  W

View ini meruopakan halaman web, bisa menjadi sederhana atau bisa juga komplek, yang dapat dipanggil oleh controller. Halaman web bisa berisi header, footer, sidebar dll. Dan view tidak bisa dipanggil langsung. Mari kita coba membuat file view, bikin file dengan nama test.php dan simpan file tersebut didalam direktori Application/view dan copy contoh source dibawah ini:
<!DOCTYPE html> 
<html lang = "en"> 
   <head> 
      <meta charset = "utf-8"> 
      <title>CodeIgniter View Example</title> 
   </head>
   <body> 
      CodeIgniter View Example 
   </body>
</html>
dan coba kalian rubah function index di controller Test.php dengan source dibawah :
$this->load->view('name');
name ini merupkana nama dari file view yang kita buat tadi, karena kita membuat dengan nama test, maka ganti name ini menjadi test dan tidak perlu memakai .php
$this->load->view('test');
sehingga controllernya menjadi :
<?php 
   class Test extends CI_Controller { 
      public function index() { 
         $this->load->view('test'); 
      } 
   } 
?>
Sekaranga coba refresh url yang tadi, maka akan berubah dari "hello world" menjadi "CodeIgniter View Example".

M  O  D  E  L

Class model dirancang untuk berkomunikasi dengan informasi di database. Analoginya ketika kalian membuat sebuah aplikasi yang memanage user, maka kalian harus mempunyai model yang berisi fungsi untuk menambah data, mengupdate data, menghapus data dll.
Model tersimpan di direktori application/model, berikut ini merupakan code dimana model ini dibuat
<?php 
   Class Model_name extends CI_Model { 
 
      Public function __construct() { 
         parent::__construct(); 
      } 
   } 
?> 
di Model_name ini merupakan nama dari class model, untuk penamaan sendiri nama model ini bebas sesuai dengan apa yang kalian inginkan. Setiap class model harus mewarisi CI_Model bawaan dari CI juga awal hurup dari nama model harus capital. Untuk memanggil model di controller cukup dengan memasang code dibawah ini :
$this->load->model('model_name');
Setalah kode ini dipasang maka kalian bisa menggunakan metode-metode yang ada di model tadi dengan menggunakan code :
$this->model_name->method();

Penjelasan tentang CI dicukupkan sekian sampai part ini, untuk part selanjutnya saya akan langsung praktek bagaimana membuat aplikasi dengan CI..

Terimakasih atas kunjungannya.. Saya berharap kritik dan sarannya demi kebaikan blog ini..

Saturday, 15 October 2016

CodeIgniter : Setup Environment dan Installasi (part 1)


Hallo semua,,
sudah lama tidak ngeblog nihh.. ok kali ini banyak yang minta untuk diajarin bagaimana cara membuat aplikasi dari CodeIgniter a.k.a CI. Oleh karena banyak permintaan itu saya akan membagikan sedikit catatan saya untuk kalian yang ingin belajar CI.

List :
Tutorial CodeIgniter Part 1
Tutorial CodeIgniter Part 2

Overview sedikit tentang CI.
CI adalah sebuah framework pengembang aplikasi, yang digunakan untuk mengembangkan aplikasi berbentuk website dan CI ini mengguankan PHP juga berbasis opersource. CI memiliki banyak fungsi yang dapat digunakan sehingga mempercepat dalam mengembangkan sebuah website.

Karena CI menggunakan PHP, alangkah baiknya jika kalian mengerti sedikit tentang PHP, karena dengan begitu CI akan membuat pekerjaan anda menjadi lebih mudah berkat libraries dan helpersnya. CI juga aman dari serangan-serangan yang terjadi di website.

Untuk mengintal CI cukup mudah, cukup ikuti beberapa langkah dibawah ini

  1. Download terlebih dahulu di sini.
    Ada dua versi yang terbaru adalah versi 3.x 
  2. Unzip folder.
  3. Upload semua file dan folder CI kedalam server kalian, atau jika server kalian local, kalian bisa pindahkan file dan foldernya di folder htdocs sesuai dengan xampp yang kalian instal. Jika kalian belum mengintsal xamppnya, kalian instal terlebih dahulu, saya tidak akan menjelaskan bagaimana cara menginstal xampp, kalian bisa cari sendiri dan download xampp di sini 
  4. Jika sudah dipindahkan, dan tentunya apache dan mysql sudah running, kalian bisa pergi ke browser dan kunjungi url http://localhost/<nama_folder> dan kamu akan melihat seperti gambar di bawah ini.
Arsitekture CodeIgniter
  • Kita bisa lihat dari gambar tersebut bahwa setiap kali permintaan datang ke CI itu pertama kali akan pergi ke halaman awal yaitu index.php
  • Pada langkah kedua, Routing akan memutuskan apakah akan meneruskan permintaan ini ke langkah-3 untuk caching atau melewati permintaan ini ke langkah-4 untuk pemeriksaan keamanan.
  • Jika halaman yang diminta sudah dalam Caching, maka Routing akan melewati permintaan ke langkah-3 dan respon akan kembali ke pengguna.
  • Jika halaman yang diminta tidak ada dalam Caching, maka Routing akan melewati halaman yang diminta untuk langkah-4 untuk cek Keamanan.
  • Sebelum melewati permintaan ke Application Controller,  Keamanan dari data yang diajukan akan diperiksa. Setelah cek Keamanan, controller akan memuat yang perlu dimuat sepert model, libraries, helpers, plugins dan script dan akan dikirim ke view
  • View akan membuat halaman dengan data yang tersedia dan mengirimkan untuk di caching. Sebagai halaman yang diminta ini belum di caching maka dengan itu kali ini akan di-caching terlebih dahulu. caching ini merupakan proses penyimpanan dimana ketika terjadi permintaan lagi dimasa depan sudah tersedia dan akan mempercepat response.
Struktur folder CodeIgniter
Dibawah ini adalah gambar struktur dari CI :

Struktur CI terbagi kedalam 3 bagian utama yaitu :
  1. Application
  2. System
  3. user_guide
Untuk struktur folder ini saya akan coba jelaskan di part ke-2