Anda di halaman 1dari 42

CODEIGNITER 3

Belajar Secara Mandiri

Jilid 1 Dasar-Dasar Codeigniter

oleh
Zamah Sari
DAFTAR ISI

1 PENDAHULUAN CODEIGNITER ................................. 1

Fitur Codeigniter ......................................................................... 1

2 INSTALASI CODEIGNITER ....................................... 3

3 ARSITEKTUR CODEIGNITER..................................... 5

Struktur Direktori ........................................................................ 6


Folder Application ........................................................................ 8
Folder System ............................................................................. 9
Folder User_guide ..................................................................... 10

4 FRAMEWORK MVC CODEIGNITER .......................... 12

Controller ................................................................................. 13
Model ...................................................................................... 13
View ........................................................................................ 14

5 KONSEP DASAR CODEIGNITER .............................. 15

Controllers ............................................................................... 15
Membuat Class Controllers .................................................... 15

Memanggil Controllers .......................................................... 16

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

6 KONFIGURASI CODEIGNITER ............................... 29

Konfigurasi BASE_URL() ............................................................. 29


Konfigurasi Base_URL() dinamis............................................. 31

Konfigurasi Database ................................................................. 32


Konfigurasi Autoload .................................................................. 34

7 DATABASE DALAM CODEIGNITER .......................... 39

Menghubungkan Database .......................................................... 39


1 PENDAHULUAN
CODEIGNITER

CodeIgniter adalah sebuah framework aplikasi, yang mana framework


ini dapat digunakan untuk membangun aplikasi maupun website, dan
berbasis bahasa pemrograman PHP. Codeigniter ini merupakan
framework Open Source. Codeigniter memiliki library dan helper yang
cukup lengkap, yang dapat membantu mempercepat pembuatan
aplikasi maupun website.

FITUR CODEIGNITER

Beberapa fitur penting yang ada dalam Codeigniter adalah sebagai


berikut:

ü Berbasis Model View Controller


ü Sangat ringan (tidak lebih dari 2 MB, jika tanpa dokumentasi)
ü Fitur lengkap pengelola database dan support beberapa macam
database
ü Suport Query database builder
ü Validasi Form dan Data
ü Keamanan dan XSS Filtering
ü Management Session
ü Class Email yang support attachments, HTML/Texk email, multiple
protocols (sendmail, SMTP, Mail) dan banyak lagi

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

Terdapat library “Helper” yang banyak

2
2 INSTALASI
CODEIGNITER

Untuk melakukan instalasi Codeigniter ini sangatlah mudah, cukup


mengikuti langkah-langkah sebagai berikut:

Langkah 1: Download Codeigniter dari link berikut ini:

https://github.com/bcit-ci/CodeIgniter/archive/3.1.3.zip

Langkah 2: Unzip file tersebut

Langkah 3: Upload semua file dan folder ke server local atau server
development anda

Langkah 4: setelah selesai upload, bukalah URL dari server anda,


misalnya: http://localhost/codeigniter3 atau yang lainnya sesuaikan
dengan saat anda menguploadnya.

Dan saat anda membuka URL tersebut, akan terlihat tampilan sebagai
berikut.

3
Gambar 2.1 Tampilan Welcome dari Framework Codeigniter

4
3 ARSITEKTUR
CODEIGNITER

Arsitektur dari framework Codeigniter dapat dilihat pada gambar


berikut ini:

Gambar 3.1 Alur kerja Framework 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.

Namun jika halaman yang di request tidak terdapat dalam Caching,


maka Routing akan melewatkan request ke tahap 4 untuk dilakukan
pengecekan Security.

Sebelum melewatkan request ke Application Controller, fitur


Security akan melakukan pengecekan pada data yang disubmit oleh
user. Setelah dilakukan pengecekan, Application Controller me-load
Model, Library, Helper, Plugin, dan Script untuk kemudian
dilewatkan ke View.

View akan melakukan render pada halaman yang di request dan


menyimpannya dalam Caching, dan karena halaman yang di request
tidak terdapat dalam caching sebelumnya, maka kali ini halaman ini
akan di simpan dalam Caching agar permintaan pada halaman yang
sama kedepannya dapat dilakukan dengan lebih cepat.

STRUKTUR DIREKTORI

Gambar dibawah ini merupakan struktur folder dari framework


Codeigniter, dimana folder utamanya terdapat 3, yaitu Application,
System, dan User_guide:

6
Gambar 3.2 Struktur folder utama (kiri) dan folder dalam application
(kanan)

Gambar 3.3 Struktur folder dalam System

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.

Isi dari folder system adalah sebagai berikut:

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.

Database: folder database berisi driver-diver database dan file-file


pendukung database.

Fonts: berisi file-file yang berhubungan dengan font.

Helpers: folder ini berisi class-class helper standart Codeigniter


(misalnya date, cookie, dan URL helper).

Language: dalam folder ini berisi file-file bahasa.

Libraries: berisi library standart yang digunakan dalam framework


Codeigniter untuk membantu anda mempercepat proses
pengembangan aplikasi yang berhubungan dengan email, calender,
upload file, dan masih banyak lagi. Anda juga dapat membuat sendiri
library anda atau melakukan extend, atau bahkan melakukan overwrite
atau mengganti library standart, tetapi class tersebut harus diletakkan
dalam folder application/libraries agar terpisah dengan library
standart Codeigniter. Hal ini penting dilakukan agar proses upgrade
maupun update system pada core framework Codeigniter dapat dengan
mudah dilakukan.

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

Codeigniter merupakan sebuah framework berbasis pada pola Model-


View-Controller (MVC). MVC merupakan pola pendekatan
pengembangan aplikasi yang memisahkan logika (model layer dan
control layer) dari sebuah aplikasi dengan bagian penyajian
(presentation layer). Pada implementasinya, pola pengembangan ini
menjadikan proses pengembangan masing-masing layer dapat
dilakukan oleh orang atau team yang berbeda, dan setiap layernya
berisi kode-kode yang minimal dan mudah dilakukan maintain.

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

Layer ini merupakan layer yang menangani struktur data. Biasanya


layer ini berisi metode atau fungsi-fungsi yang membantu retrieve,
insert, update, dan delete informasi yang ada dalam database.

13
VIEW

Layer ini merupakan leyer presentasi kepada user. Sebuah view


biasanya berupa sebuah halaman WEB, tetapi dalam Codeigniter,
sebuah view juga dapat berupa bagian dari halaman utuh WEB. Misalnya
hanya berisi sebuah header, footer, menu atas, RSS, atau yang lainnya.

14
5 KONSEP DASAR
CODEIGNITER

CONTROLLERS

Sebuah controller pada hakekatnya merupakan sebuah Class. Seperti


namanya “Controller”, bagian ini bertugas mengontrol seluruh aplikasi
menggunakan URI.

Membuat Class Controllers

Untuk membuat sebuah Class Controller pada framework Codeigniter,


yang perlu dilakukan adalah membuka folder application/controllers.
Di dalam folder ini anda akan menemukan 2 buah file, index.html dan
Welcome.php. File-file ini merupakan file default yang ada dalam
Codeigniter.

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.

Gambar 5.1 Kode Class Percobaan Method index().

Class Percobaan merupakan extends dari Class CI_Controller yang


merupakan bawaan dari framework Codeigniter. Class-class yang
nantinya anda buat harus melakukan extends class CI_Controller.

Memanggil Controllers

Class controller pada file “Percobaan.php” pada gambar 5.1 dapat


dipanggil menggunakan URI berikut:

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.

Membuat dan Memanggil Constructor Method

Selanjutnya, mari kita rubah sedikit kode-kode pada Class Percobaan


yang telah kita buat tadi, menjadi seperti di bawah ini:

Gambar 5.2 Kode Class Percobaan dengan 2 buah method

Dengan kode di atas, kita dapat melakukan 3 cara pemanggilah URI


sebagai berikut:

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

Yang Perlu Anda Ingat

1. Nama dari sebuah Class Controller harus diawali dengan huruf


besar.
2. Pada URI Class Controller harus dipanggil menggunakan huruf
kecil.
3. Jangan menggunakan nama yang sama antara nama Class
dengan nama Method, karena akan mengakibatkan fungsi Parent
Class di overwrite.

18
VIEWS

Pada bagian view yang merupakan presentation layer, kita dapat


membuat sebuah tampilan yang sederhana atau kompleks. View juga
dapat berupa bagian-bagian sederhana seperti header, footer, menu
atau lainnya. View ini tidak dapat diakses secara langsung, melainkan
harus dipanggil melalui sebuah Controller. Mari kita coba membuat
sebuah tampilan sederhana kemudian memanggilnya menggunakan
controller yang telah kita buat sebelumnya, namun kita tambahkan
sebuah method baru untuk memanggil view ini. Langkah yang perlu kita
lakukan adalah sebagai berikut:

1. Buatlah sebuah file baru di dalam folder application/views dan


berilah nama view_percobaan.php
2. Setelah file dibuat, bukalah file tersebut dengan editor favorit
anda.
3. Kemudian tuliskan kode dibawah ini.

Gambar 5.4 Kode file view_percobaan.php

Kemudian tambahkan sebuah method baru dalam file controller


percobaan.php, dengan kode seperti di bawah ini.

19
Memanggil View

Sebuah file view dapat dipanggil melalui Controller dengan kode di


bawah ini:

dan jika anda ingin mengakses file-file view yang ada di dalam sebuah
direktori, maka bentuk kode yang harus dijalankan adalah sebagai
berikut:

kita tidak perlu menambahkan ekstensi file “.php”, kecuali kita


membuat file view yang berekstensi selain php.

Kode dalam Controller Percobaan.php akan berbentuk seperti ini:

Gambar 5.5 Kode file Controller Percobaan.php

20
sedangkan hasil dari browser jika kita memanggil dengan URI sebagai
berikut adalah

http://localhost/codeigniter3/index.php/percobaan/tampil_view

Gambar 5.6 Tampilan Controller Percobaan.php Method tampil_view()

Alur kerja dibawah ini menggambarkan bagaimana system kerja dari


Codeigniter mulai dari URI request hingga tampil respond:

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

Class model di desain untuk bekerja dengan informasi yang tersimpan


di dalam database. Sebagai contoh, jika anda menggunakan Codeigniter
untuk memanajemen users dalam aplikasi yang anda buat, maka anda
harus membuat sebuah Class Model yang didalamnya terdapat method
atau fungsi-fungsi untuk mengambil seluruh record, mengambil detail
sebuah record, menambah record, mengupdate record, dan menghapus
record dari data tabel users dalam database.

Membuat Class Model

File-file Class Model tersimpan dalam folder application/models, dan


kode dasar untuk pembuatan sebuah Class Model adalah sebagai
berikut:

Gambar 5.7 Kode dasar untuk pembuatan Class Model

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.

dimana nama_model adalah nama model yang akan kita panggil.


Setelah proses pemanggilan, anda dapat dengan mudah menggunakan
method yang ada didalamnya dengan cara pemanggilan sebagai
berikut:

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.

Gambar 5.8 Konfigurasi autoload.php untuk auto load model

23
Helper

Seperti namanya, HELPER yang berarti PEMBANTU, tugasnya adalah


membantu kita mempercepat proses pengembangan aplikasi. Helper ini
terbagi menjadi beberapa fungsi kecil yang berbeda secara
fungsionalitas. Daftar helper yang menjadi default Codeigniter dapat di
lihat pada tabel dibawah ini.

Tabel 5.1 Daftar helpers bawaan Framework Codeigniter

Nama Helper Keterangan


Array Helper ini berisi fungsi-fungsi yang berhubungan
dengan array.
Captcha Helper ini berisi fungsi-fungsi yang dapat
membantu pembuatan captcha
Cookie Helper ini berisi fungsi-fungsi yang membantu
dalam manajemen cookie
Date Helper ini membantu kita dalam operasi yang
berhubungan dengan tanggal
Directory Helper ini membantu penanganan manajemen
folder
Download Helper ini mengangani fungsi untuk kebutuhan
download, bisa force download ataupun indirect
download link.
Email Helper ini menyediakan fungsi untuk bekerja
dengan email. Untuk solusi penanganan email yang
lebih lengkap bisa dilihat di user_guide.
File Helper ini berfungsi untuk menangani
permasalahan yang berhubungan dengan file.
Form Helper ini menangani masalah pembuatan form,
baik itu radio button, input text, dropdown, dan
lain sebagainya.
HTML Helper ini dapat membantu kita untuk pengananan
maslah HTML tag.
Inflector Helper ini membantu kita untuk merubah kata-kata
menjadi plural, singular, camel case dan lain-lain
Language Helper ini berfungsi untuk membantu kita
menangani file-file yang berhubungan dengan
Bahasa
Number Helper ini membantu kita untuk menangani
funsionalitas data numurik

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

Helper, secara default tersimpan dalam folder system/helpers, atau jika


kita melakukan penambahan fungsi atau meng-extend helper tersebut
maka letaknya ada dalam folder application/helpers. Core dari
Codeigniter pertama kali akan melihat helper yang terdapat dalam
folder application/helpers terlebih dahulu. Jika tidak terdapat helper
didalamnya maka Codeigniter akan mencari di dalam folder
system/helpers. Setiap helper, baik itu bawaan codeigniter maupun
buatan kita sendiri, harus melalui proses pemanggilan terlebih dahulu
sebelum dapat kita gunakan.

Untuk memanggil sebuah helper agar dapat kita gunakan, caranya


adalah sebagai berikut:

Misalnya anda ingin menggunakan helper URL, maka caranya adalah


seperti di bawah ini:

25
Routing

Codeigniter memiliki system routing URI yang sangat user friendly,


artinya mudah dibaca atau dipahami. Dengan system ini kita dapat
dengan mudah me “re route” sebuah URL. Biasanya, terdapat hubungan
one to one antara sebuah URL string dengan Controller/method() -nya.
Default segment lengkap URI pada framework codeigniter desain
paternnya adalah sebagai berikut:

ü dimana segmen pertama (terhitung setelah index.php),


merupakan nama class atau nama controller.
ü Segmen kedua merupakan pemanggilan terhadap method atau
fungsi tertentu dalam sebuah class dalam controller.
ü Segment ketiga merupakan ID yang akan dikirimkan ke controller

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

Tersedia file khusus untuk melakukan kustomisasi routing pada


framework Codeigniter ini. File ini terletak pada folder
application/config/route.php. Anda akan menemukan sebuah variabel
bernama $route bertipe array dimana anda dapat melakukan perubahan
routing. Nilai pada array ini akan menentukan apa yang harus di route
dan kemana harus di routing ulang. Ada tiga routing default yang
menjadi konfigurasi awal pada framework ini.

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

Untuk kebutuhan routing, kita dapat menggunakan dua macam


whildcard, seperti yang akan saya jelaskan sebagai berikut:

ü (:num) wildcard ini hanya akan berpengaruh pada segment yang


berisi angka saja
ü (:any) wildcard ini akan berpengaruh pada segment yang berisi
semua karakter

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.

Pada prakteknya menjadi seperti ini:

http://localhost/codeigniter3/index.php/produk/35

maka yang dipanggil sebenarnya adalah

http://localhost/codeigniter3/index.php/katalog/produk_detail/35

meskipun struktur routing dari Codeigniter sendiri sudah mudah


dipahami dan di ingat serta user friendly, namun terkadang hal tersebut
perlu dilakukan guna meningkatkan nilai SEO dari website kita.

Reguler Expression

Sama seperti wildcard, kita juga dapat menggunakan regular


expression dalam array key variabel $route. Jika terdapat URI yang
cocok dengan regular expression, maka akan di-re-route atau
diarahkan ulang menuju nilai $route yang baru dalam array.

Contohnya seperti di bawah ini

$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

Setelah selesai melakukan instalasi dari codeigniter ke dalam web


server kita (dalam contoh di buku ini saya melakukan instalasi
dalam url http://localhost/codeigniter3). Hal selanjutnya yang
perlu kita lakukan adalah melakukan konfigurasi framework codeigniter.
Seperti dijelaskan pada bab Struktur Codeigniter sub bab Folder
Application, dijelaskan bahwa folder config didalam folder
application berisi beberapa file configurasi yang perlu kita sesuaikan
terlebih dahulu agar dapat kita gunakan.

KONFIGURASI BASE_URL()

BASE_URL() dari sebuah website dapat kita atur melalui konfigurasi


yang terdapat dalam file application/config/config.php.
BASE_URL() ini merupakan ROOT dari Framework Codeigniter,
dimana ROOT ini adalah halaman yang menampilkan Welcome Page.
Secara umum, ini akan menjadi dasar URL dalam pengembangan
aplikasi kita dan yang perlu kita lakukan adalah tinggal copy paste dari
browser URL kita.

Mari kita coba praktekkan bagaimana melakukan konfigurasi


BASE_URL() ini dengan langkah-langkah sebagai berikut:

29
1. Bukalah halaman awal dari codeigniter yang menampilkan
halaman Welcome.

Gambar 6.1 Halaman Welcome Codeigniter

2. Select All, URL pada browser kita, kemudian Copy.


3. Setelah itu, bukalah file application/config/config.php.
4. Kemudian pastekan sehingga terlihat seperti pada gambar di
bawah ini.

30
Gambar 6.2 Hasil akhir configurasi BASE_URL()

5. Simpanlah.

Konfigurasi Base_URL() dinamis

Terkadang dalam proses development, pengaturan base_url() ini


menjadi hal yang “merepotkan” ketika kita bekerja dalam team, atau
kita bekerja dengan beberapa computer yang berbeda. Salah satu solusi
yang dapat diandalkan adalah dengan menggunakan konfigurasi
dinamis. Hal yang perlu di ingat adalah semua file yang ada dalam
framework codeigniter sebenarnya adalah file PHP biasa, sehingga kita
dapat melakukan perubahan yang sama dengan file PHP yang biasa kita
buat. Berikut ini adalah contoh cara membuat base_url() dinamis:

31
Gambar 6.3 Kode konfigurasi base_url() dinamis

KONFIGURASI DATABASE

Untuk mengkonfigurasi database dari aplikasi kita, dapat kita lakukan


di dalam file application/config/database.php. Terkadang, kita perlu
melakukan konfigurasi yang berbeda untuk situasi yang berbeda,
contohnya penggunaan database yang berbeda untuk environtment
“development” dan “production”. Dengan menggunakan array tipe multi
dimensi yang disediakan oleh Codeigniter, kita dapat melakukan setup
database yang sedemikian rupa, sehingga secara otomatis akan
menggunakan database yang berbeda untuk kedua environtment
tersebut. Namun, untuk saat ini, saya akan menunjukkan dasar
konfigurasi dalam codeigniter saja, untuk setup multi database dengan
multi engine (menggunakan MySQL dan MsSQL secara bersamaan)
dengan tujuan multi database ORM, akan kita bahas kemudian hari. Dan
konfigurasi yang minimalis dapat kita lihat pada gambar dibawah ini:

32
Gambar 6.4 Konfigurasi bawaan dari file database.php

Untuk saat ini, anda boleh tidak menghiraukan konfigurasi yang


manapun dari seting default ini, kecuali:

ü Hostname: lokasi dari database anda


ü Username: username database anda
ü Password: password database anda
ü Database: nama database yang akan anda gunakan
ü Dbdriver: tipe database yang akan anda gunakan, bisa MySQL,
MySQLi, PostgreSQL, ODBC, dan MsSQL.

Untuk saat ini saya akan membuat menggunakan database dengan


nama db_belajar. Kemudian hasil konfigurasi dari file database.php
akan menjadi seperti pada gambar di bawah ini:

33
Gambar 6.5 Konfigurasi akhir dari file database.php

KONFIGURASI AUTOLOAD

File ini berada di dalam folder application/config/autoload.php, secara


default, akan menentukan apa saja yang secara otomatis akan di
panggil atau di-load saat system berjalan. Untuk menjaga agar
framework codeigniter tetap ringan dan cepat, maka default system
hanya memanggil resource seminimal mungkin. Jika anda sering
menggunakan library, driver, helper, language, model, ataupun file
konfigurasi buatan sendiri, maka akan lebih baik untuk meletakkannya
di dalam file konfigurasi autoload.php ini daripada melakukan
pemanggilan secara berulang-ulang di dalam controller anda. Berikut ini
adalah cara bagaimana kita melakukan pemanggilan otomatis dalam file
konfigurasi autoload.php

34
ü Libraries: digunakan untuk membuat daftar library yang akan kita
load secara otomatis. Contohnya sebagai berikut:

Gambar 6.6 Contoh cara autoload libraries


ü Drivers: fitur ini digunakan untuk memanggil Class yang terdapat
dalam folder system/libraries/ atau dalam application/libraries,
atau diletakkan dalam sub folder tersendiri yang merupakan Class
extends dari CI_Driver_Library. Berikut adalah contoh cara
memanggil sebuah driver:

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:

Gambar 6.8 Contoh cara autoload helper


ü Config: variabel config ini digunakan untuk memanggil file-file
configurasi yang anda buat untuk keperluan anda sendiri, namun
jika anda tidak membuat file konfigurasi apapun, biarkan saja
seperti apa adanya. Namun jika anda membuatnya, maka cara
pemanggilan file tersebut 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.

Gambar 6.10 Contoh cara autoload konfigurasi language


ü Model: variabel ini digunakan untuk memanggil secara otomatis,
Class model yang sering kita gunakan. Contoh penggunaannya
dapat di lihat pada gambar 6.10 di bawah ini:

37
6.11 Contoh cara autoload nama-nama model yang sering
digunakan

38
7 DATABASE DALAM
CODEIGNITER

MENGHUBUNGKAN DATABASE

Seperti hanya framework-framework yang lain, untuk berinteraksi


dengan database, Codeigniter telah menyediakan sebuah library yang
memudahkan kita untuk melakukan hal-hal yang berhubungan dengan
database. Pada bab ini, kita akan mulai belajar bagaimana membuat
serangkaian method atau fungsi CRUD (Cread, Read, Update, Delete)
dalam framework Codeigniter. Namun sebelumnya kita harus membuat
sebuah database dengan nama “db_belajar” dan didalamnya kita buat
sebuah tabel dengan nama “user”.

Tabel 7.1 Tabel user

Nama Tabel: user


Id_user Int(11) AI, PK id dari user
nama_user Varchar(50) NN nama user

39

Anda mungkin juga menyukai