Académique Documents
Professionnel Documents
Culture Documents
Codeigniter 3 PDF
Codeigniter 3 PDF
oleh
Zamah Sari
DAFTAR ISI
3 ARSITEKTUR CODEIGNITER..................................... 5
Controller ................................................................................. 13
Model ...................................................................................... 13
View ........................................................................................ 14
Controllers ............................................................................... 15
Membuat Class Controllers .................................................... 15
i
Membuat dan Memanggil Constructor Method .......................... 17
Yang Perlu Anda Ingat .......................................................... 18
Views....................................................................................... 19
Memanggil View................................................................... 20
Models ..................................................................................... 22
Membuat Class Model ........................................................... 22
Memanggil Model ................................................................. 23
Auto-loading Model .............................................................. 23
Helper ................................................................................ 24
Routing .............................................................................. 26
FITUR CODEIGNITER
1
ü Class Upload
ü Class FTP
ü Mensuport Localization
ü Pagination
ü Data Encryption
ü Benchmarking
ü Full Page Caching
ü Error Logging
ü Application Profilling
ü Class Calendaring
ü Class User Agent
ü Class Zip Encoding
ü Class Template Engine
ü Class Backtrack
ü Class XML-RPC
ü Class Unit Testing
ü URL yang Search Engine Friendly
ü Routing yang fleksibel
ü Suport Hook dan Extension Class
2
2 INSTALASI
CODEIGNITER
https://github.com/bcit-ci/CodeIgniter/archive/3.1.3.zip
Langkah 3: Upload semua file dan folder ke server local atau server
development anda
Dan saat anda membuka URL tersebut, akan terlihat tampilan sebagai
berikut.
3
Gambar 2.1 Tampilan Welcome dari Framework Codeigniter
4
3 ARSITEKTUR
CODEIGNITER
Seperti terlihat pada alur kerja pada gambar 3.1, terlihat bahwa setiap
ada request menuju Codeigniter, selalu ditampung dan diarahkan ke file
index.php.
5
Tahap berikutnya, Routing akan menentukan apakah akan
melanjutkan request ke tahap 3 untuk proses caching ataukah ke tahap
4 untuk dilakukan pengecekan keamanan.
Jika halaman yang di request telah ada dalam Caching, maka Routing
akan melewatkan request ke tahap 3 dan mengembalikan respon dari
caching ke user.
STRUKTUR DIREKTORI
6
Gambar 3.2 Struktur folder utama (kiri) dan folder dalam application
(kanan)
7
Gambar 3.4 Struktur dalam folder User_guide
FOLDER APPLICATION
Seperti namanya, maka folder ini merupakan folder aplikasi yang akan
kita kembangkan. Di dalam folder inilah project kita akan dibuat. Folder
ini berisi beberapa folder lain, yang akan dijelaskan sebagai berikut:
ü Cache: folder ini berisi semua halaman yang telah di cache dalam
aplikasi kita. Halaman yang telah di cache inilah yang nantinya
8
dapat mempercepat akses pada halaman-halaman yang sering di
akses.
ü Config: folder ini berisi berbagai file yang berisi konfigurasi
aplikasi kita. Dengan bantuan file config.php, kita dapat
mengkonfigurasi aplikasi kita. Sedangkan untuk mengkonfigurasi
koneksi database, kita dapat menggunakan file database.php.
ü Controller: folder ini berisi file-file controller dari aplikasi kita,
dan ini merupakan bagian paling dasar dari aplikasi yang kita
kembangkan.
ü Core: folder ini berisi Class-Class utama aplikasi kita.
ü Helpers: folder ini berisi Class-Class buatan kita yang merupakan
penambahan fungsi dari Class helper yang sudah ada dan dapat
membantu pengembangan aplikasi.
ü Hooks: file-file dalam folder ini dimaksudkan untuk melakukan
perubahan cara kerja dalam system core codeigniter.
ü Language: berisi file-file yang berhubungan dengan Bahasa.
ü Libraries: folder ini berisi Class-Class buatan kita yang dapat
membantu aplikasi kita.
ü Logs: merupakan folder yang berisi file-file yang berhubungan
dengan log dari system codeigniter.
ü Models: database method akan diletakkan dalam folder ini.
ü Third_party: dalam folder ini kita dapat meletakkan plugin dari
berbagai sumber untuk digunakan dalam aplikasi kita, misalnya
plugin phpexcel, tinyMCE, dan lain sebagainya.
ü Views: folder tempat kita meletakkan file-file HTML kita.
FOLDER SYSTEM
Di dalam folder system ini terdapat kode-kode, library, helper, dan file-
file lainnya, yang merupakan core dari framework codeigniter. Library
dan helper inilah yang di load dan digunakan dalam aplikasi kita,
sehingga proses pengembangan aplikasi menjadi lebih mudah.
9
Core: folder ini berisi kode-kode core framework Codeigniter. Jangan
mengubah apapun yang ada dalam folder ini. Semua yang anda lakukan
berada dalam folder application. Bahkan jika anda bermaksud untuk
menambah fungsi dalam core Codeigniter, yang perlu anda lakukan
adalah menggunakan fitur hooks, dan folder hooks terletak dalam folder
application.
FOLDER USER_GUIDE
Folder ini, sesuai dengan namanya, dapat kita tebak jika berisi file-file
dokumentasi dari framework Codeigniter. File-file ini bersifat offline,
sehingga dapat membantu kita mempelajari fungsi-fungsi yang terdapat
pada berbagai macam library, helper, dan class-class. Sangat
disarankan jika anda membaca petunjuk penggunaannya agar dapat
dengan mudah melakukan pengembangan aplikasi dikemudian hari.
10
Selain ketiga folder diatas, terdapat file “index.php”. Dalam file ini, kita
dapat melakukan konfigurasi lingkungan pengembangan kita, error
level yang ditampilkan jika terjadi kesalahan, dan kita juga dapat
mendefinisikan nama dari folder application dan system. Namun,
sangat disarankan untuk tidak melakukan perubahan apapun dalam file
index.php ini jika anda merasa pengetahuan anda belum mencukupi.
11
4 FRAMEWORK MVC
CODEIGNITER
12
Gambar 4.1 Alur kerja MVC Framework Codeigniter
CONTROLLER
Layer ini merupakan bagian yang menjadi jembatan antara layer Model
dan layer View, maupun bagian lain yang dibutuhkan dalam proses HTTP
request sehingga dihasilkan sebuah halaman WEB.
MODEL
13
VIEW
14
5 KONSEP DASAR
CODEIGNITER
CONTROLLERS
Untuk saat ini, biarkan saja kedua file tersebut ada. Buatlah sebuah file
dalam folder yang sama dengan kedua file tersebut, kemudian beri
nama “Percobaan.php”. Tetapi yang perlu anda ingat adalah, untuk
penamaan file controller huruf besar dan kecil sangatlah berpengaruh,
dan disarankan untuk controller gunakanlah huruf besar untuk huruf
pertama penamaannya. Setelah itu bukalah file tersebut dengan editor
15
favorit anda, untuk buku ini saya menggunakan editor SublimeText v3.
Kemudian tuliskan kode dibawah ini dalam file tersebut.
Memanggil Controllers
dapat kita lihat, kata “percobaan” pada URI di atas setelah index.php,
merupakan nama dari Class Controller. Sesuai dengan pemberian nama
Class “Percobaan”, kita cukup menuliskan “percobaan” setelah
index.php. Namun, sekali lagi saya ingatkan, bahwa pemberian nama
Class dalam Codeigniter harus menggunakan huruf besar pada huruf
pertama nama Class, tetapi pada saat pemanggilan dalam URI, kita
cukup menggunakan huruf kecil saja. Syntax umum yang digunakan
dalam framework Codeigniter adalah sebagai berikut:
16
dan pada URI, semua dituliskan cukup dalam huruf kecil saja.
1. http://localhost/codeigniter3/index.php/percobaan
2. http://localhost/codeigniter3/index.php/percobaan/index
3. http://localhost/codeigniter3/index.php/percobaan/halo
dari ketiga URI tersebut, berikut adalah tampilan yang dihasilkan oleh
masing-masing URI:
17
Gambar 5.3 Tampilan hasil masing-masing URI
18
VIEWS
19
Memanggil View
dan jika anda ingin mengakses file-file view yang ada di dalam sebuah
direktori, maka bentuk kode yang harus dijalankan adalah sebagai
berikut:
20
sedangkan hasil dari browser jika kita memanggil dengan URI sebagai
berikut adalah
http://localhost/codeigniter3/index.php/percobaan/tampil_view
http://localhost/codeigniter3/index.php/percobaan
/tampil_view
URI di atas untuk pertama kalinya akan memanggil file index.php
dalam folder Codeigniter
CONTROLLER
File index.php kemudian memanggil Class Percobaan.php dalam
folder application/controllers/Percobaan.php. Karena kita juga
menyertakan nama method (yaitu tampil_view) pada URI, maka
method yang dipanggil adalah tampil_view() dalam Controller
Percobaan.php
VIEW
$this->load->view(‘tampil_view’); dalam method tampil_view
yang terdapat pada file Controller Percobaan.php memanggil file
tampil_view.php dalam folder application/view untuk kemudian
melakukan proses rendering.
21
MODELS
Dimana Nama_model adalah nama dari Class model dan nama filenya
adalah Nama_model.php. Setiap Class model yang kita buat harus
inherit atau merupakan extends dari Codeigniter Class CI_Model.
22
Memanggil Model
Model dapat dipanggil melalui Controller. Berikut ini adalah kode untuk
memanggil model.
Auto-loading Model
Fitur auto loading model ini merupakan sebuah fitur yang mungkin saja
anda butuhkan untuk aplikasi anda, dimana model-model yang sering
digunakan secara otomatis dipanggil oleh core system ketika
dibutuhkan atau dipanggil oleh controller kita.
Letak konfigurasi auto load model ini terdapat pada file autoload.php
yang terdapat di dalam folder application/config.
23
Helper
24
Path Helper ini berisi fungsi-fungsi yang membantu anda
bekerja dengan folder-folder dalam server
Security Helper ini berisi fungsi-fungsi yang berhubungan
dengan masalah keamanan
Smiley Helper ini berisi fungsi-fungsi yang mengijinkan
kita menangani masalah emoticon
String Helper ini berisi fungsi-fungsi yang mempermudah
kita untuk mengolah string
Text Helper ini berisi fungsi-fungsi untuk bekerja dengan
teks
Typography Helper ini berisi fungsi-fungsi yang membantu kita
untuk membuat format standart yang semantic
URL Helper ini berisi fungsi-fungsi untuk bekerja dengan
URL
XML Helper ini berisi fungsi-fungsi yang membantu kita
bekerja dengan file dengan format XML
25
Routing
Segment berikutnya bisa kita tambahkan sendiri, namun untuk saat ini
kita cukup mempelajari 3 segmen saja, pembahasan tentang segment
custom selanjutnya akan kita bahas di lain kesempatan.
Mengkustom Routing
26
ROUTE DEFAULT
$route[‘default_controller’] Route ini digunakan untuk
menentukan Class Controller mana
yang harus dipanggil ketika kita
hanya menuliskan root dari
aplikasi kita. Anda diwajibkan
untuk melakukan seting pada
route ini, karena jika tidak,
codeigniter secara default akan
menampilkan welcome page atau
404 jika anda telah menghapus
Class controller welcome bawaan
codeigniter.
$route[‘404_override’] Route ini digunakan untuk
menentukan Class Controller mana
yang harus dipanggil jika
Controller atau Method yang di
panggil tidak ditemukan.
$route[‘translate_uri_dashes’] Fasilitas ini sebenarnya bukanlah
sebuah route, tetapi memiliki fitur
yang dapat secara otomatis
merubah tanda dash (-) menjadi
underscore (_) dalam controller
atau method di URI.
Wildcards
agar lebih jelas, saya akan memberikan satu contoh yang lengkap
dengan penjelasannya sebagai berikut:
$route[‘produk/:num’]=’katalog/produk_detail’;
27
pada contoh di atas, jika ada kata ‘produk’ pada segment satu di
dalam URL, kemudian ditemukan ‘angka’ setelahnya pada segment
kedua, maka Class Controller ‘katalog’ dan method
‘produk_detail’ akan dipanggil dan diikuti dengan ‘angka’ pada
segment ketiganya.
http://localhost/codeigniter3/index.php/produk/35
http://localhost/codeigniter3/index.php/katalog/produk_detail/35
Reguler Expression
$route[‘produk/([a-z]+)/(\d+)’]=”$1/id_$2”;
contoh di atas artinya, jika ada URL yang memiliki format seperti
“produk/sepatu/123” maka, arahkan menuju controller sepatu
dan method-nya id_123.
28
6 KONFIGURASI
CODEIGNITER
KONFIGURASI BASE_URL()
29
1. Bukalah halaman awal dari codeigniter yang menampilkan
halaman Welcome.
30
Gambar 6.2 Hasil akhir configurasi BASE_URL()
5. Simpanlah.
31
Gambar 6.3 Kode konfigurasi base_url() dinamis
KONFIGURASI DATABASE
32
Gambar 6.4 Konfigurasi bawaan dari file database.php
33
Gambar 6.5 Konfigurasi akhir dari file database.php
KONFIGURASI AUTOLOAD
34
ü Libraries: digunakan untuk membuat daftar library yang akan kita
load secara otomatis. Contohnya sebagai berikut:
35
Gambar 6.7 Contoh cara autoload driver
ü Helper: variabel ini digunakan untuk memmuat daftar helper yang
akan dipanggil secara otomatis oleh system codeigniter. Contoh
pemanggilah helper adalah sebagai berikut:
36
Gambar 6.9 Contoh cara autoload file konfigurasi kustom
ü Language: ini adalah variabel untuk memanggil file language,
lihatlah contoh cara pemanggilan seperti gambar 6.9 dibawah ini.
Namun perlu diperhatikan, bahwa meskipun cara penamaan file
yang digunakan dalam codeigniter menggunakan postfix ‘_lang’,
anda tidak perlu memanggilnya dengan akhiran ‘_lang’. Lebih
jelasnya perhatikan contoh di bawah ini:
Missal anda membuat file Bahasa dengan nama
‘indonesia_lang.php’, maka yang anda panggil cukup ‘indonesia’
saja.
37
6.11 Contoh cara autoload nama-nama model yang sering
digunakan
38
7 DATABASE DALAM
CODEIGNITER
MENGHUBUNGKAN DATABASE
39