Codeigniter 3

May 19, 2018 | Author: Randy Senaen | Category: N/A
Share Embed Donate


Short Description

ebook belajar codeigniter...

Description

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

5 KONSEP DASAR CODEIGNITER DASAR CODEIGNITER .............................. 15 Controllers ............................................. ......... ...................................................................... .................................. 15 Membuat Class Controllers .................................... .................................................... ................ 15 Memanggil Controllers .......................................................... 16 16

i

Membuat dan Memanggil Constructor Method .......................... 17 Yang Perlu Anda Ingat .......................................................... 18 Views................................... ....................................................................... .................................................... ................ 19 Memanggil View................................. ................................................................... .................................. 20 Models ..................................................................................... ............................................................... ...................... 22 22 Membuat Class Model ............................... ........................................................... ............................ 22 Memanggil Model ............................... ................................................................. .................................. 23 23 Auto-loading Model .................................. .............................................................. ............................ 23 Helper ................................................................................ .......................................................... ...................... 24 24 Routing ........................................................ .................... .......................................................... ...................... 26

6 KONFIGURASI CODEIGNITER ............................... .................... ........... 29 Konfigurasi BASE_URL() ................................. ............................................................. ............................ 29 Konfigurasi Base_URL() dinamis................................... ............................................. .......... 31 Konfigurasi Database ............................... ................................................................. .................................. 32 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: i ni: 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 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 di tampung dan diarahkan ke file index.php.. index.php

5

Tahap

berikutnya,

Routing   akan Routing

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 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 Caching,, maka Routing Routing akan  akan melewatkan request ke tahap 4 untuk dilakukan pengecekan Security Security.. Sebelum

melewatkan

request

ke

Application

Controller, Controller,

fitur

Security   akan melakukan pengecekan pada data yang disubmit oleh Security user. Setelah dilakukan pengecekan, Application Controller me-load Controller me-load Model,, Model

Library,, Library

Helper,, Helper

Plugin,, Plugin

dan

Script   untuk Script

kemudian

dilewatkan ke View View.. View   akan melakukan render pada halaman yang di request dan View menyimpannya dalam Caching Caching,, dan karena halaman yang di request tidak terdapat dalam caching sebelumnya, maka kali ini halaman ini akan di simpan dalam Caching 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 Cache 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 Config aplikasi kita. Dengan bantuan file config.php , kita dapat mengkonfigurasi aplikasi kita. Sedangkan untuk mengkonfigurasi koneksi database, kita dapat menggunakan file database.php 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. Core

!

Helpers:: folder ini berisi Class-Class buatan kita yang merupakan Helpers  penambahan fungsi dari Class helper yang sudah ada dan dapat membantu pengembangan aplikasi.

!

Hooks:: file-file dalam folder ini dimaksudkan untuk melakukan Hooks  perubahan cara kerja dalam system core codeigniter.

!

Language:: berisi file-file yang berhubungan dengan Bahasa. Language

!

Libraries:: folder ini berisi Class-Class buatan kita yang dapat Libraries membantu aplikasi kita.

!

Logs:: merupakan folder yang berisi file-file yang berhubungan Logs dengan log dari system codeigniter.

!

Models:: database method akan diletakkan dalam folder ini. Models

!

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 Views file-fil e HTML kita.

FOLDER SYSTEM Di dalam folder system ini terdapat kode-kode, library, helper, dan filefile 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 Core 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 Database pendukung database. Fonts:: berisi file-file yang berhubungan dengan font. Fonts Helpers:: folder ini berisi class-class helper standart Codeigniter Helpers (misalnya date, cookie, dan URL helper). Language:: dalam folder ini berisi file-file bahasa. Language Libraries:: berisi library standart yang digunakan dalam framework Libraries 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 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 “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 application   dan system system.. Namun, sangat disarankan untuk tidak melakukan perubahan apapun dalam file f ile index.php ini jika anda merasa pengetahuan anda belum mencukupi.

11

4 FRAMEWORK MVC CODEIGNITER

Codeigniter merupakan sebuah framework berbasis pada pola ModelView-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 l ain 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 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 f ile dalam folder yang sama dengan kedua file tersebut, kemudian beri nama “Percobaan.php “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 application/views dan  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  baru  dalam file controller percobaan.php,, dengan kode seperti di bawah ini. percobaan.php

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 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  Percobaan.php  dalam folder application/controllers/Percobaan.php application/controllers/Percobaan.php.. Karena kita juga menyertakan nama method (yaitu tampil_view) pada URI, maka method yang dipanggil adalah tampil_view() tampil_view()   dalam Controller Percobaan.php

VIEW $this->load->view(‘tampil_view’);  dalam method tampil_view $this->load->view(‘tampil_view’);  yang terdapat pada file Controller Percobaan.php  Percobaan.php  memanggil file tampil_view.php   dalam folder application/view tampil_view.php 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 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. Helper ini berisi fungsi-fungsi yang dapat membantu pembuatan captcha Helper ini berisi fungsi-fungsi yang membantu dalam manajemen cookie Helper ini membantu kita dalam operasi yang berhubungan dengan tanggal Helper ini membantu penanganan manajemen folder Helper ini mengangani fungsi untuk kebutuhan download, bisa force download ataupun indirect download link. Helper ini menyediakan fungsi untuk bekerja dengan email. Untuk solusi penanganan email yang lebih lengkap bisa dilihat di user_guide. Helper ini berfungsi untuk menangani permasalahan yang berhubungan dengan file. Helper ini menangani masalah pembuatan form, baik itu radio button, input text, dropdown, dan lain sebagainya. Helper ini dapat membantu kita untuk pengananan maslah HTML tag. Helper ini membantu kita untuk merubah kata-kata menjadi plural, singular, camel case dan lain-lain Helper ini berfungsi untuk membantu kita menangani file-file yang berhubungan dengan Bahasa Helper ini membantu kita untuk menangani funsionalitas data numurik

Captcha Cookie Date Directory Download

Email

File Form

HTML Inflector Language

Number

24

Path

Helper ini berisi fungsi-fungsi yang membantu anda bekerja dengan folder-folder dalam server Helper ini berisi fungsi-fungsi yang berhubungan dengan masalah keamanan Helper ini berisi fungsi-fungsi yang mengijinkan kita menangani masalah emoticon Helper ini berisi fungsi-fungsi yang mempermudah kita untuk mengolah string Helper ini berisi fungsi-fungsi untuk bekerja dengan teks Helper ini berisi fungsi-fungsi yang membantu kita untuk membuat format standart yang semantic Helper ini berisi fungsi-fungsi untuk bekerja dengan URL Helper ini berisi fungsi-fungsi yang membantu kita bekerja dengan file dengan format XML

Security Smiley String Text Typography URL 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 di mana 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’ ‘produk’   pada segment satu di dalam URL, kemudian ditemukan ‘angka’ ‘angka’   setelahnya pada segment kedua,, kedua

maka

Class

Controller

‘katalog’  ‘katalog’ 

dan

method

‘produk_detail’   akan dipanggil dan diikuti dengan ‘angka’ ‘produk_detail’ ‘angka’   pada segment ketiganya. 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 expression  dalam array key variabel $route. $route. Jika terdapat URI yang cocok dengan regular expression, maka akan di-re-route di-re-route   atau diarahkan ulang menuju nilai $route yang baru dalam array. 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 “produk/sepatu/123” dan method-nya id_123 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) http://localhost/codeigniter3).. Hal selanjutnya yang perlu kita lakukan adalah melakukan konfigurasi framework codeigniter. Seperti dijelaskan pada bab Struktur Codeigniter sub bab Folder Application,, Application

dijelaskan

bahwa

folder

config  didalam config 

folder

application berisi application  berisi beberapa file configurasi yang configurasi yang perlu kita sesuaikan terlebih dahulu agar dapat kita gunakan.

KONFIGURASI BASE_URL() BASE_URL()   dari sebuah website dapat kita atur melalui konfigurasi BASE_URL() yang

terdapat

dalam

file

application/config/config.php.. application/config/config.php

BASE_URL()   ini merupakan ROOT BASE_URL() ROOT   dari Framework Codeigniter, Codeigniter, dimana ROOT ROOT ini  ini adalah halaman yang menampilkan Welcome Page. Page. Secara umum, ini akan menjadi dasar URL dalam pengembangan aplikasi kita dan yang perlu kita lakukan l akukan 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 database   dengan nama db_belajar 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 database,, Codeigniter telah menyediakan sebuah library library yang  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 CRUD (Cread,  (Cread, Read, Update, Delete) dalam framework Codeigniter. Namun sebelumnya kita harus membuat sebuah database dengan nama “db_belajar” “db_belajar” dan  dan didalamnya kita buat sebuah tabel tabel dengan  dengan nama “user” “user”.. Tabel 7.1 Tabel user

Id_user nama_user

Nama Tabel: user Int(11) AI, PK Varchar(50) NN

id dari user nama user

39

View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF