• Tidak ada hasil yang ditemukan

CodeIgniter

N/A
N/A
Protected

Academic year: 2021

Membagikan "CodeIgniter"

Copied!
40
0
0

Teks penuh

(1)

Menghilangkan index.php di Code Igniter untuk di

Menghilangkan index.php di Code Igniter untuk di

Berbagai Server

Berbagai Server

Perlu dicatat bahwa kalo qta make Framework CI ini, kita bakal ngeliat kalo-kalo ternyata CI Perlu dicatat bahwa kalo qta make Framework CI ini, kita bakal ngeliat kalo-kalo ternyata CI itu memakai tulisan

itu memakai tulisanindex.phpindex.phpdi URLnya, baru diikuti dengan /controller/action… nah inidi URLnya, baru diikuti dengan /controller/action… nah ini merepotkan bagi kita yang suka dengan

merepotkan bagi kita yang suka denganPretty URLPretty URL(URL yang cantik, indah, enak untuk (URL yang cantik, indah, enak untuk  dibaca )..

dibaca )..

kalo misalnya ada controller 

kalo misalnya ada controller BeritaBerita, kemudian nama actionnya, kemudian nama actionnyaaddadd, misal nama situsnya, misal nama situsnya http://www.cheyuz.com

http://www.cheyuz.commaka di URL harus seperti ini:maka di URL harus seperti ini: http://www.cheyuz.com/index.php/berita/add http://www.cheyuz.com/index.php/berita/add

 Nah, biar URL itu lebih enak buat dibaca, mending kita hilangkan index.php nya… jadi  Nah, biar URL itu lebih enak buat dibaca, mending kita hilangkan index.php nya… jadi

seperti ini: seperti ini:

http://www.cheyuz.com/berita/add http://www.cheyuz.com/berita/add

Caranya sangat sederhana,, bagi pecinta maupun pengembang framework mungkin udah ga Caranya sangat sederhana,, bagi pecinta maupun pengembang framework mungkin udah ga asing lagi memakai cara ini, cara yang dipake untuk ngerewrite URL, kita memakai 1 file asing lagi memakai cara ini, cara yang dipake untuk ngerewrite URL, kita memakai 1 file yang bernama

yang bernama .htaccess.htaccess..

Kita buat file .htaccess di notepad: Kita buat file .htaccess di notepad: RewriteEngine on RewriteEngine on RewriteRule ^$ index.php [L] RewriteRule ^$ index.php [L] RewriteCond $1 !^(index.php) RewriteCond $1 !^(index.php) RewriteRule ^(.*)$ index.php/$1 [L] RewriteRule ^(.*)$ index.php/$1 [L]

kemudian save file tersebut di webroot/base_url kamu… kemudian save file tersebut di webroot/base_url kamu…

sekarang kamu bisa memanggil halaman dengan URL seperti ini: sekarang kamu bisa memanggil halaman dengan URL seperti ini: http://www.cheyuz.com/berita/add

http://www.cheyuz.com/berita/add yang pada hakikatnya sama dengan: yang pada hakikatnya sama dengan:

http://www.cheyuz.com/index.php/berita/add http://www.cheyuz.com/index.php/berita/add TAPII,,,,, ada suatu masalah…

TAPII,,,,, ada suatu masalah…

sama seperti waktu kemaren aku nge-rombak 

sama seperti waktu kemaren aku nge-rombak http://www.cheyuz.comhttp://www.cheyuz.com....

Kan aku nge-rombak situs Cheyuz.com dari asalnya yang ga pake framework yang kini udah Kan aku nge-rombak situs Cheyuz.com dari asalnya yang ga pake framework yang kini udah  pake CI.. Nah pas kemaren itu aku ngupload hasil rombakanku ke hosting.. nah tau-tau pas  pake CI.. Nah pas kemaren itu aku ngupload hasil rombakanku ke hosting.. nah tau-tau pas

diupload, ternyata aneh, kenapa ketika aku ketik: diupload, ternyata aneh, kenapa ketika aku ketik: http://www.cheyuz.com/diary

http://www.cheyuz.com/diary

ato yang lainnya ternyata ga bisa kebuka, yang keluar tampilan home terus… ato yang lainnya ternyata ga bisa kebuka, yang keluar tampilan home terus… Tetapi kalo URL nya seperti ini bisa…

Tetapi kalo URL nya seperti ini bisa…

http://www.cheyuz.com/index.php/diary http://www.cheyuz.com/index.php/diary

 Nah, kalo temen2 juga ngalamin hal yang sama, ternyata masalahnya ada config CI sendiri,  Nah, kalo temen2 juga ngalamin hal yang sama, ternyata masalahnya ada config CI sendiri,

yaitu dengan memodifikasi

yaitu dengan memodifikasiconfig.phpconfig.php:: $config['uri_protocol'] = "AUTO"; $config['uri_protocol'] = "AUTO"; Diganti dengan Diganti dengan $config['uri_protocol'] = "REQUEST_URI"; $config['uri_protocol'] = "REQUEST_URI";

(2)

CodeIgniter VS CakePHP

CodeIgniter VS CakePHP

CodeIgniter (CI) adalah salah satu framework PHP yang cukup populer, bahkan bisa sangat CodeIgniter (CI) adalah salah satu framework PHP yang cukup populer, bahkan bisa sangat  populer karena sering dipakai di kalangan perusahaan IT dalam bidang pengembangan Web  populer karena sering dipakai di kalangan perusahaan IT dalam bidang pengembangan Web (Web Development). Tetapi sebelumnya, apa itu PHP Framework? Gampangnya framework  (Web Development). Tetapi sebelumnya, apa itu PHP Framework? Gampangnya framework  adalah kumpulan fungsi-fungsi dan class untuk tujuan tertentu yang sudah siap pakai

adalah kumpulan fungsi-fungsi dan class untuk tujuan tertentu yang sudah siap pakai sehingga bisa lebih mempermudah pekerjaan pemrograman, tanpa harus reinvent wheel. sehingga bisa lebih mempermudah pekerjaan pemrograman, tanpa harus reinvent wheel. Untuk lebih lengkapnya anda bisa membacanya di

Untuk lebih lengkapnya anda bisa membacanya di wikipediawikipedia atau situs lain yang sejenisatau situs lain yang sejenis (googling

(googling aja aja ).).

 Nah, kenapa kita harus memakai FW??  Nah, kenapa kita harus memakai FW??

• Mempercepat dan mempermudah pembangunan sebuah aplikasi PHPMempercepat dan mempermudah pembangunan sebuah aplikasi PHP •

• Relatif memudahkan dalam proses maintenance karena sudah ada polaRelatif memudahkan dalam proses maintenance karena sudah ada pola

tertentu dalam sebuah framework (dengan syarat programmer

tertentu dalam sebuah framework (dengan syarat programmer mengikutimengikuti pola standar yang ada)

pola standar yang ada)

• Umumnya framework menyediakan fasilitas-fasilitas yang umum dipakaiUmumnya framework menyediakan fasilitas-fasilitas yang umum dipakai

sehingga kita tidak perlu membangun dari awal (misalnya validasi, ORM, sehingga kita tidak perlu membangun dari awal (misalnya validasi, ORM, pagination, multiple database, scaffolding, pengaturan session, error pagination, multiple database, scaffolding, pengaturan session, error handling, dll

handling, dll

• Lebih bebas dalam pengembangan jika dibandingkan CMSLebih bebas dalam pengembangan jika dibandingkan CMS

 Nah, framework yang populer dan sering dipakai di lapangan salah dua-nya adalah  Nah, framework yang populer dan sering dipakai di lapangan salah dua-nya adalah

CodeIgniter dan CakePHP. Tetapi kalian tau ga keunggulan dan kelebihan kedua framework  CodeIgniter dan CakePHP. Tetapi kalian tau ga keunggulan dan kelebihan kedua framework  ini? ok, kita bahas di sini…

ini? ok, kita bahas di sini…

Kalo kalian baca dokumentasi dan bahkan memakai CI, maka terlihat keunggulan CI ini Kalo kalian baca dokumentasi dan bahkan memakai CI, maka terlihat keunggulan CI ini adalah sebagai berikut…\

adalah sebagai berikut…\ Kelebihan CI

Kelebihan CI •

• Performa sangat cepatPerforma sangat cepat : salah satu alasan tidak : salah satu alasan tidak menggunakanmenggunakan

framework adalah karena eksekusinya yang lebih lambat daripada PHP framework adalah karena eksekusinya yang lebih lambat daripada PHP from the scracth, tapi Codeigniter sangat cepat bahkan mungkin bisa from the scracth, tapi Codeigniter sangat cepat bahkan mungkin bisa dibilang codeigniter merupakan framework yang paling cepat dibanding dibilang codeigniter merupakan framework yang paling cepat dibanding framework yang lain.

framework yang lain.

• Mendukung PHP4 dan PHP5Mendukung PHP4 dan PHP5 •

• Konfigurasi yang sangat minim (Konfigurasi yang sangat minim (nearly zero configurationnearly zero configuration)) : tentu: tentu

saja untuk menyesuaikan dengan database dan

saja untuk menyesuaikan dengan database dan keleluasaan routing tetapkeleluasaan routing tetap diizinkan melakukan konfigurasi dengan mengubah beberapa

diizinkan melakukan konfigurasi dengan mengubah beberapa filefile konfigurasi seperti database.php atau autoload.php,

konfigurasi seperti database.php atau autoload.php, namun untuknamun untuk menggunakan codeigniter dengan setting standard, anda hanya perlu menggunakan codeigniter dengan setting standard, anda hanya perlu merubah sedikit saja file pada folder config.

merubah sedikit saja file pada folder config.

• Dokumentasi yang sangat lengkapDokumentasi yang sangat lengkap : Setiap paket instalasi codeigniter: Setiap paket instalasi codeigniter

sudah disertai user guide yang sangat bagus dan

sudah disertai user guide yang sangat bagus dan lengkap untuk dijadikanlengkap untuk dijadikan permulaan, bahasanya pun mudah dipahami bahkan untuk Cheyuz yang permulaan, bahasanya pun mudah dipahami bahkan untuk Cheyuz yang bahasa inggrisnya kurang baik, semoga saja kedepan ada yang mau bahasa inggrisnya kurang baik, semoga saja kedepan ada yang mau menerjemahkannya ke bahasa Indonesia. Ditambah lagi oficial

menerjemahkannya ke bahasa Indonesia. Ditambah lagi oficial videovideo tutorial membuat blog dalam 20 menit yang di

tutorial membuat blog dalam 20 menit yang disediakan di situsnya, untuksediakan di situsnya, untuk mengaksesnya anda bisa menggunakan quick time atau bisa juga

mengaksesnya anda bisa menggunakan quick time atau bisa juga

mendownload video yang sudah diupload pada youtube.com seperti yang mendownload video yang sudah diupload pada youtube.com seperti yang

(3)

CodeIgniter VS CakePHP

CodeIgniter VS CakePHP

CodeIgniter (CI) adalah salah satu framework PHP yang cukup populer, bahkan bisa sangat CodeIgniter (CI) adalah salah satu framework PHP yang cukup populer, bahkan bisa sangat  populer karena sering dipakai di kalangan perusahaan IT dalam bidang pengembangan Web  populer karena sering dipakai di kalangan perusahaan IT dalam bidang pengembangan Web (Web Development). Tetapi sebelumnya, apa itu PHP Framework? Gampangnya framework  (Web Development). Tetapi sebelumnya, apa itu PHP Framework? Gampangnya framework  adalah kumpulan fungsi-fungsi dan class untuk tujuan tertentu yang sudah siap pakai

adalah kumpulan fungsi-fungsi dan class untuk tujuan tertentu yang sudah siap pakai sehingga bisa lebih mempermudah pekerjaan pemrograman, tanpa harus reinvent wheel. sehingga bisa lebih mempermudah pekerjaan pemrograman, tanpa harus reinvent wheel. Untuk lebih lengkapnya anda bisa membacanya di

Untuk lebih lengkapnya anda bisa membacanya di wikipediawikipedia atau situs lain yang sejenisatau situs lain yang sejenis (googling

(googling aja aja ).).

 Nah, kenapa kita harus memakai FW??  Nah, kenapa kita harus memakai FW??

• Mempercepat dan mempermudah pembangunan sebuah aplikasi PHPMempercepat dan mempermudah pembangunan sebuah aplikasi PHP •

• Relatif memudahkan dalam proses maintenance karena sudah ada polaRelatif memudahkan dalam proses maintenance karena sudah ada pola

tertentu dalam sebuah framework (dengan syarat programmer

tertentu dalam sebuah framework (dengan syarat programmer mengikutimengikuti pola standar yang ada)

pola standar yang ada)

• Umumnya framework menyediakan fasilitas-fasilitas yang umum dipakaiUmumnya framework menyediakan fasilitas-fasilitas yang umum dipakai

sehingga kita tidak perlu membangun dari awal (misalnya validasi, ORM, sehingga kita tidak perlu membangun dari awal (misalnya validasi, ORM, pagination, multiple database, scaffolding, pengaturan session, error pagination, multiple database, scaffolding, pengaturan session, error handling, dll

handling, dll

• Lebih bebas dalam pengembangan jika dibandingkan CMSLebih bebas dalam pengembangan jika dibandingkan CMS

 Nah, framework yang populer dan sering dipakai di lapangan salah dua-nya adalah  Nah, framework yang populer dan sering dipakai di lapangan salah dua-nya adalah

CodeIgniter dan CakePHP. Tetapi kalian tau ga keunggulan dan kelebihan kedua framework  CodeIgniter dan CakePHP. Tetapi kalian tau ga keunggulan dan kelebihan kedua framework  ini? ok, kita bahas di sini…

ini? ok, kita bahas di sini…

Kalo kalian baca dokumentasi dan bahkan memakai CI, maka terlihat keunggulan CI ini Kalo kalian baca dokumentasi dan bahkan memakai CI, maka terlihat keunggulan CI ini adalah sebagai berikut…\

adalah sebagai berikut…\ Kelebihan CI

Kelebihan CI •

• Performa sangat cepatPerforma sangat cepat : salah satu alasan tidak : salah satu alasan tidak menggunakanmenggunakan

framework adalah karena eksekusinya yang lebih lambat daripada PHP framework adalah karena eksekusinya yang lebih lambat daripada PHP from the scracth, tapi Codeigniter sangat cepat bahkan mungkin bisa from the scracth, tapi Codeigniter sangat cepat bahkan mungkin bisa dibilang codeigniter merupakan framework yang paling cepat dibanding dibilang codeigniter merupakan framework yang paling cepat dibanding framework yang lain.

framework yang lain.

• Mendukung PHP4 dan PHP5Mendukung PHP4 dan PHP5 •

• Konfigurasi yang sangat minim (Konfigurasi yang sangat minim (nearly zero configurationnearly zero configuration)) : tentu: tentu

saja untuk menyesuaikan dengan database dan

saja untuk menyesuaikan dengan database dan keleluasaan routing tetapkeleluasaan routing tetap diizinkan melakukan konfigurasi dengan mengubah beberapa

diizinkan melakukan konfigurasi dengan mengubah beberapa filefile konfigurasi seperti database.php atau autoload.php,

konfigurasi seperti database.php atau autoload.php, namun untuknamun untuk menggunakan codeigniter dengan setting standard, anda hanya perlu menggunakan codeigniter dengan setting standard, anda hanya perlu merubah sedikit saja file pada folder config.

merubah sedikit saja file pada folder config.

• Dokumentasi yang sangat lengkapDokumentasi yang sangat lengkap : Setiap paket instalasi codeigniter: Setiap paket instalasi codeigniter

sudah disertai user guide yang sangat bagus dan

sudah disertai user guide yang sangat bagus dan lengkap untuk dijadikanlengkap untuk dijadikan permulaan, bahasanya pun mudah dipahami bahkan untuk Cheyuz yang permulaan, bahasanya pun mudah dipahami bahkan untuk Cheyuz yang bahasa inggrisnya kurang baik, semoga saja kedepan ada yang mau bahasa inggrisnya kurang baik, semoga saja kedepan ada yang mau menerjemahkannya ke bahasa Indonesia. Ditambah lagi oficial

menerjemahkannya ke bahasa Indonesia. Ditambah lagi oficial videovideo tutorial membuat blog dalam 20 menit yang di

tutorial membuat blog dalam 20 menit yang disediakan di situsnya, untuksediakan di situsnya, untuk mengaksesnya anda bisa menggunakan quick time atau bisa juga

mengaksesnya anda bisa menggunakan quick time atau bisa juga

mendownload video yang sudah diupload pada youtube.com seperti yang mendownload video yang sudah diupload pada youtube.com seperti yang

(4)

pernah Cheyuz jelaskan di tips belajar pemrograman melalui pernah Cheyuz jelaskan di tips belajar pemrograman melalui youtube.com.

youtube.com.

• Mudah dipelajariMudah dipelajari : Mungkin pengaruh dokumentasi yang bagus sehingga: Mungkin pengaruh dokumentasi yang bagus sehingga

codeigniter mudah untuk dipelajari, atau memang framework ini codeigniter mudah untuk dipelajari, atau memang framework ini benar-benar mudah dipelajari.

benar mudah dipelajari. Sebelumnya Cheyuz pernah mencoba-cobaSebelumnya Cheyuz pernah mencoba-coba mempelajari Zend, Symfony, dan Prado, tiga

mempelajari Zend, Symfony, dan Prado, tiga framework yang memangframework yang memang lebih powerfull daripada codeigniter, tapi juga lebih

lebih powerfull daripada codeigniter, tapi juga lebih sulit untuk dipelajari.sulit untuk dipelajari. Inilah alasan terkuat Cheyuz jatuh cinta pada codeigniter.

Inilah alasan terkuat Cheyuz jatuh cinta pada codeigniter.

• Compatible dengan banyak hostingCompatible dengan banyak hosting : tidak seperti kebanyakan: tidak seperti kebanyakan

framework lain yang hanya bisa berjalan di

framework lain yang hanya bisa berjalan di PHP 5, codeigniter bisaPHP 5, codeigniter bisa berjalan dengan lancar pada PHP 4,

berjalan dengan lancar pada PHP 4, meskipun ini saat ini sudah banyakmeskipun ini saat ini sudah banyak hosting yang menggunakan PHP 5 tapi Cheyuz pernah mendapati ada hosting yang menggunakan PHP 5 tapi Cheyuz pernah mendapati ada beberapa yang masih menggunakan PHP 4. Juga codeigniter tidak beberapa yang masih menggunakan PHP 4. Juga codeigniter tidak menggunakan PEAR atau tool

menggunakan PEAR atau tool CLI lainnya, sehingga memberi keleluasaanCLI lainnya, sehingga memberi keleluasaan bagi anda yang tidak mempunyai akses ke shell pada hosting anda.

bagi anda yang tidak mempunyai akses ke shell pada hosting anda.  Nah, ini kelebihan dan kekurangan CakePHP:

 Nah, ini kelebihan dan kekurangan CakePHP:

Kelebihan: Kelebihan:

• Dukungan terhadap AJAX, ORMDukungan terhadap AJAX, ORM, library AJAX di dalam , library AJAX di dalam CakePHP sudahCakePHP sudah

disediakan, kita tinggal memakainya aja… disediakan, kita tinggal memakainya aja…

• Automagic functionAutomagic function, seperti adanya validasi input, dll, yang, seperti adanya validasi input, dll, yang

mempercepat coding. Seperti helper untuk form, membuat form

mempercepat coding. Seperti helper untuk form, membuat form dengandengan menggunakan helper dari CakePHP (yang menurut Cheyuz lebih

menggunakan helper dari CakePHP (yang menurut Cheyuz lebih bagusbagus dari helper CI) sangat berguna buat kita

dari helper CI) sangat berguna buat kita yang sering bekerja denganyang sering bekerja dengan banyak form. Banyak contoh lainnya…

banyak form. Banyak contoh lainnya…

• Mendukung PHP4 dan PHP5Mendukung PHP4 dan PHP5 •

• Lebih mencerminkan MVC yang sesungguhnya dibandingkan CILebih mencerminkan MVC yang sesungguhnya dibandingkan CI •

• Komunitas pengguna yang besar dan forum cukup baik Komunitas pengguna yang besar dan forum cukup baik  Kekurangan:

Kekurangan: •

• Manual yang ada tidak selengkap CI.Manual yang ada tidak selengkap CI. Ini merupakan salah satuIni merupakan salah satu

kekurangan CakePHP, oleh karena itu CakePHP mungkin bisa

kekurangan CakePHP, oleh karena itu CakePHP mungkin bisa dipelajaridipelajari lebih lama daripada CI.

lebih lama daripada CI.

• Terlalu banyak aturan, dan tidak sefleksibel CI,Terlalu banyak aturan, dan tidak sefleksibel CI, seperti nama tableseperti nama table

harus plural, nama controller harus

harus plural, nama controller harus sama dengan nama folder untuksama dengan nama folder untuk view… nama view harus sama dengan nama action, dan lain2… view… nama view harus sama dengan nama action, dan lain2…

• Butuh waktu belajar yang lebih lama untuk menguasai framework Butuh waktu belajar yang lebih lama untuk menguasai framework  ini

ini dibanding CI. Tapi jika sudah benar-benar dibanding CI. Tapi jika sudah benar-benar mengerti, banyak kelebihanmengerti, banyak kelebihan dibanding CI. Beberapa situs menyarankan anda untuk belajar dan

dibanding CI. Beberapa situs menyarankan anda untuk belajar dan terbiasa dulu dengan CodeIgniter baru

terbiasa dulu dengan CodeIgniter baru kemudian mempelajari CakePHPkemudian mempelajari CakePHP

(5)

Tutorial CodeIgniter Dasar Part I

Tutorial CodeIgniter Dasar Part I

OK, tutorial kali ini adalah tutorial CodeIgniter dasar, sangat dasar.. jadi di sini akan OK, tutorial kali ini adalah tutorial CodeIgniter dasar, sangat dasar.. jadi di sini akan

dijelaskan tentang bagaimana cara konfigurasi nama situs, kemudian konfigurasi database, dijelaskan tentang bagaimana cara konfigurasi nama situs, kemudian konfigurasi database, konfigurasi library, autoload, dan sebagainya… mudah2an temen2 mengikuti tutorial ini konfigurasi library, autoload, dan sebagainya… mudah2an temen2 mengikuti tutorial ini dengan sebaik-baiknya, soalnya kalo kita ga mulai dari dasar/basic nantinya susah… kita bisa dengan sebaik-baiknya, soalnya kalo kita ga mulai dari dasar/basic nantinya susah… kita bisa aja bikin aplikasi oleh CodeIgniter dengan meniru contoh, tetapi kita tidak faham, hanya aja bikin aplikasi oleh CodeIgniter dengan meniru contoh, tetapi kita tidak faham, hanya mengikuti… bahayanya adalah gimana klo client minta ini itu dan itu misalnya tidak ada mengikuti… bahayanya adalah gimana klo client minta ini itu dan itu misalnya tidak ada dalam contoh? klo kita ga faham kita pasti ga bisa meneruskan aplikasi kita alias BUNTU.. dalam contoh? klo kita ga faham kita pasti ga bisa meneruskan aplikasi kita alias BUNTU..

Instalasi Instalasi

OK, kita mulai aja… kita di sini memakai

OK, kita mulai aja… kita di sini memakai XAMPPXAMPPpertama-tama, extract file codeigniter.rar pertama-tama, extract file codeigniter.rar  ke

ke C:\xampp\htdocsC:\xampp\htdocs, file bisa didownload, file bisa didownload di sinidi sini. Misalnya kita namakan nama folder root. Misalnya kita namakan nama folder root (nama situs) kita adalah

(nama situs) kita adalahwebkuwebku..

Konfigurasi Konfigurasi

Kemudian, hal yang pertama harus dilakukan adalah konfigurasi awal, yaitu

Kemudian, hal yang pertama harus dilakukan adalah konfigurasi awal, yaitubase_urlbase_url,,  base_url adalah nama root situs kita… caranya edit file

 base_url adalah nama root situs kita… caranya edit file /webku/system/application/config/config.php

/webku/system/application/config/config.php, ubah, ubah$config['base_$config['base_url'] url'] == “http://example.com/“

“http://example.com/“menjadi:menjadi:

$config

$config[['base_url''base_url']] == "http://localhost/webku/""http://localhost/webku/";; kemudian hilangkan

kemudian hilangkanindex.phpindex.phpdidi$config['index_page']$config['index_page']sehingga menjadi:sehingga menjadi:

$config

$config[['index_page''index_page']] == """";; Langkah kedua adalah konfigurasi

Langkah kedua adalah konfigurasiroutesroutes, yaitu controller default apakah yang ingin, yaitu controller default apakah yang ingin diload…? jadi di sini adalah konfigurasi untuk controller ‘home’, sehingga ketika kita diload…? jadi di sini adalah konfigurasi untuk controller ‘home’, sehingga ketika kita mengetikkan url

mengetikkan urlhttp://localhost/webkuhttp://localhost/webkumaka yang dipanggil adalah controller yang sudahmaka yang dipanggil adalah controller yang sudah dikonfigurasi di routes ini.. Cara konfigurasinya yaitu dengan mengedit file

dikonfigurasi di routes ini.. Cara konfigurasinya yaitu dengan mengedit file /webku/system/application/config/routes.php

/webku/system/application/config/routes.php, dan di bagian, dan di bagian$route['default_controller']$route['default_controller'] isi dengan ‘home’ sehingga seperti ini:

isi dengan ‘home’ sehingga seperti ini:

$route

$route[['default_controller''default_controller']] == "home""home";; kita akan membuat supaya ketika kita menuju url

kita akan membuat supaya ketika kita menuju urlhttp://localhost/webkuhttp://localhost/webkumaka controller maka controller  yang akan dijalankan adalah controller 

yang akan dijalankan adalah controller homehome .. Kemudian setelah itu adalah konfigurasi

Kemudian setelah itu adalah konfigurasiDatabaseDatabasenya… ada di filenya… ada di file /webku/system/application/config/database.php,

/webku/system/application/config/database.php,Di situ terlihat konfigurasi-konfigurasiDi situ terlihat konfigurasi-konfigurasi seperti host, username, password, nama db, dsb.. silakan diisi seperti berikut:

seperti host, username, password, nama db, dsb.. silakan diisi seperti berikut:

$db

$db[['default''default'][]['hostname''hostname']] == "localhost""localhost";;

$db

$db[['default''default'][]['username''username']] == "root""root";;

$db

$db[['default''default'][]['password''password']] == """";;

$db

$db[['default''default'][]['database''database']] == "blog""blog";; //nama database//nama database $db

$db[['default''default'][]['dbdriver''dbdriver']] == "mysql""mysql";;

$db

$db[['default''default'][]['dbprefix''dbprefix']] == """";;

$db

$db[['default''default'][]['pconnect''pconnect']] == TRUETRUE;;

$db

$db[['default''default'][]['db_debug''db_debug']] == TRUETRUE;;

$db

$db[['default''default'][]['cache_on''cache_on']] == FALSEFALSE;;

$db

$db[['default''default'][]['cachedir''cachedir']] == """";;

$db

$db[['default''default'][]['char_set''char_set']] == "utf8""utf8";;

$db

$db[['default''default'][]['dbcollat''dbcollat']] == "utf8_general_ci""utf8_general_ci";; Kemudian konfigurasi selanjutnya adalah konfigurasi untuk 

Kemudian konfigurasi selanjutnya adalah konfigurasi untuk autoload,autoload, jadi ketika situs jadi ketika situs dibuka, library/helper/model/dsb apakah yang akan selalu diload.. file ada di

(6)

/webku/system/application/config/autoload.php,tambahkandatabasedi bagian $autoload['libraries']menjadi seperti ini:

$autoload['libraries'] = array('database');

Kemudian yang terakhir adalah penambahan.htaccesssupaya kita tidak perlu mengetikkan index.phpdi URL kita, cara untuk menghilangkan index.php (menggunakan .htaccess) ada di sini.

Contoh Aplikasi Database Sederhana

Buatlah sebuah database bernamablog, kemudian copy SQL berikut:

CREATE TABLE IF NOT EXISTS `buku_tamu` ( `id` INT(11) NOT NULL AUTO_INCREMENT, `nama` VARCHAR (100) NOT NULL,

`email` VARCHAR (20) NOT NULL, `situs` VARCHAR (100) NOT NULL, `komentar` text NOT NULL,

PRIMARY KEY (`id`)

) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ;

INSERT INTO `buku_tamu` (`id`, `nama`, `email`, `situs`, `komentar`) VALUES (1, 'Cecep Yusuf', '[email protected]' , 'http://www.cheyuz.com' , 'Ini

adalah komentar pertama'),

(2, 'Deddy Mizwar', '[email protected]' , 'http://www.facebook.com', 'Ini adalah komentar kedua');

Kita buat sebuah contoh di mana kita akan menampilkan isi dari database di atas..

Pertama-tama, buatlah model terlebih dahulu di/webku/system/application/model/dengan nama file buku_tamu.phpyang berisi code sebagai berikut:

 <?php

class Buku_tamu extends Model{ function selectAll() { return $this->db->get('buku_tamu')->result(); } } ?> 

Di dalam folder /webku/system/application/controller/bikin sebuah file bernama

home.phpuntuk membuat class controller yang bernamaHome… isi darihome.php adalah:

 <?php

class Home extends Controller{ function __construct() { parent::Controller(); $this->load->model('buku_tamu'); } function index() {

$data['title'] = 'Ini adalah aplikasi sederhana';

//memanggil function selectAll di model buku_tamu, dimasukkan ke $data['buku_tamu']

$data['buku_tamu'] = $this->buku_tamu->selectAll();

//meload view bernama home_view.php dengan data variable adalah $data $this->load->view('home_view', $data);

} }

(7)

?> ;

 Nah, kemudian kita buat filehome_view.phpdi folder /webku/system/application/view/ dengan isi sebagai berikut:

<h2> <?php echo $title ?> </h2> <table> <tr> <td>No</td> <td>Nama</td> <td>Email</td> <td>Situs</td> <td>Komentar</td> </tr>  <?php $i = 0 ?>   <?php foreach ($buku_tamu as $bt): ?>  <tr> <td> <?php echo $i++ ?> </td> <td> <?php echo $bt->nama ?> </td> <td> <?php echo $bt->email ?> </td> <td> <?php echo $bt->situs ?> </td> <td> <?php echo $bt->komentar ?> </td> </tr>  <?php endforeach ?>  </table>

Silakan dibuka di browser url berikut:http://localhost/webku Hasilnya adalah sebagai berikut:

Ini adalah aplikasi sederhana

N

o Nama Email Situs Komentar

1 Cecep  Yusuf  [email protected] o.id http://www.cheyuz. com

Ini adalah komentar pertama 2 Deddy Mizwar deddy@mizwar. com http://www.cheyuz. com

Ini adalah komentar kedua

(8)

Tutorial CodeIgniter Dasar Part II – CRUD chapter 1

Di tutorial yang kedua ini, kita akan bahas bagaimana cara membuat CRUD dengan menggunakan CI…. kenapa kita harus belajar membuat aplikasi CRUD? soalnya ini merupakan dasar kita untuk ke depannya.. untuk membuat aplikasi yang kompleks, sebenarnya kita hanya mengelola dan mengolah database, meliputi membuat database

(Create), membaca (Read), mengubah (Update), menghapus (Delete), ato disingkat menjadi CRUD.

Adapun di sini kita akan belajar membuat model untuk data yang akan diolah, view untuk  membuat interface, dan controller untuk mengolah model dan ngeload view..

OK, pertama-tama, kita buat sebuah database bernamatutorial_ci, dan buatlah sebuah table  bernama mahasiswa (kenapa selalu ‘mahasiswa’? ga punya contoh lain ), isinya ada id,

nim, nama, alamat.. OK segitu saja.. kamu tinggal copy SQL berikut:

CREATE TABLE IF NOT EXISTS `mahasiswa` ( `id` INT(5) NOT NULL AUTO_INCREMENT, `nim` VARCHAR (20) NOT NULL,

`nama` VARCHAR (100) NOT NULL, `alamat` text NOT NULL,

PRIMARY KEY (`id`)

) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

Jadi kita membuat tabel kosong bernama ‘mahasiswa’ dengan field seperti di atas… Diharapkan kamu yang mengikuti tutorial ini udah pernah mengikuti tutorial sebelumnya.. kenapa? karena konfigurasinya kita menggunakan konfigurasi di tutorial dasar part I, bisa klik di sini

Seperti pada tutorial dasar part I, webroot kita ini diasumsikan bernama

“webku”, dan konfigurasinya diasumsikan sama, oleh karena itu silahkan baca tutorial dasar part I terlebih dahulu.

1. Menampilkan semua data

OK, langkah pertama adalah membuat sebuah model….

Buatlah sebuah filemahasiswa_model.phpdi /system/application/models dengan isi adalah barisan kode seperti berikut:

 <?php

/**

* @author Cecep Yusuf  */ 

class Mahasiswa_model extends Model { }

?> 

Sejauh ini, kita sudah membuat sebuah model untuk mahasiswa, yang nantinya mempunyai  banyak fungsi untuk mengolah table ‘mahasiswa’…

Di bawah ini, kita akan menambahkan function selectAll(), yang mana berfungsi untuk  menyeleksi semua field di table mahasiswa (select * from mahasiswa), jadi code tadi setelah ditambahkan menjadi seperti berikut:

(9)

/**

* @author Cecep Yusuf  */ 

class Mahasiswa_model extends Model { function selectAll(){

return $this->db->get('mahasiswa')->result(); }

} ?> 

 Nah, sejauh ini kita sudah bikin functionselectAll()yang berfungsi untuk memilih semua field dari tablemahasiswa.

Setelah itu, model akan diolah olehcontroller, jadi sekarang kita buat sebuah controller yang  berfungsi untuk memanipulasi objek mahasiswa_model…

OK, buatlah sebuah controller bernamadata_mahasiswa.php di /system/application/controllers dengan isi file sebagai berikut:  <?php

/**

* @author Cecep Yusuf  */ 

class Data_mahasiswa extends Controller { function __construct() {

parent::Controller(); }

} ?> 

function __construct()adalah sebagai konstruktor… berbagai perintah yang ada di dalam fungsi ini akan selalu dipanggil di saat objek Data_mahasiswa dibuat… jadi berbagai fungsi untuk meload library, model, helper, dan sebagainya, kita tinggal masukkan di function ini supaya tidak diketik ulang di setiap fungsi….

Karena kita akan meload modelmahasiswa_modelsetiap kali dibuat controller, maka kita load modelnya di bagian__construct()di dalam controller Data_mahasiswa. Jadi kode lengkapnya seperti berikut:

 <?php

/**

* @author Cecep Yusuf  */ 

class Data_mahasiswa extends Controller { function __construct() { parent::Controller(); $this->load->model('mahasiswa_model'); } } ?> 

Kemudian, kita buat functionindex()sebagai penampil semua data yang ada di table mahasiswa, jadi URLnya akan berbentuk 

http://localhost/webku/data_mahasiswa/index ATAU

http://localhost/webku/data_mahasiswa (Index tidak perlu dituliskan)  <?php

/**

(10)

*/ 

class Data_mahasiswa extends Controller {

function __construct() { parent::Controller(); $this->load->model('mahasiswa_model'); } function index(){ $data['mahasiswa'] = $this->mahasiswa_model->selectAll(); $this->load->view('data_mahasiswa_view', $data); } } ?> 

Di dalam functionindex()di atas, kita lihat ada script seperti ini: $data['mahasiswa'] = $this->mahasiswa_model->selectAll();

kode tersebut berarti data hasil keluaran dari functionselectAll()di model

mahasiswa_model berupa array dan disimpan di dalam array$data['mahasiswa'], yang nantinya data tersebut bisa diakses di view..

Kemudian kita lihat lagi, ada script berikut:

$this->load->view('data_mahasiswa_view');

function view()dalam objek ‘load’ adalah untuk meload view yang sudah kita buat di /system/application/views, dengan mengeset variable hasil ekstrak dari variable$data, sehingga nanti bisa diakses dari view..

OK, kita buat view-nya dengan nama filedata_mahasiswa_view.php di /system/application/viewsdengan isi sebagai berikut ini:

<h1>Data Mahasiswa</h1> <table> <thead> <tr> <th>No</th> <th>NIM</th> <th>Nama</th> <th>Alamat</th> <th>Aksi</th> </tr> </thead> <tbody>  <?php $i = 1 ?>   <?php foreach($mahasiswa as $m): ?>  <tr> <td> <?php echo $i++ ?> </td> <td> <?php echo $m->nim ?> </td> <td> <?php echo $m->nama ?> </td> <td> <?php echo $m->alamat ?> </td> <td></td> </tr>  <?php endforeach ?>  </tbody> </table>

Sekarang, coba buka alamat di browser: http://localhost/webku/data_mahasiswa, keluar apa? table kan? dengan data KOSONG….

OK, sekarang kita lanjut ke sesi yg kedua.. yaitu MENAMBAHKAN DATA…

2. Menambahkan data

(11)

Data Mahasiswa

N

o NIM Nama Alamat Aksi

1 07003 35 Cecep  Yusuf  Cipanas, Cianjur edit | delete | detail 2 08001 13 Fitri  Yuniar  Jakarta edit | delete | detail Tambah data

Silakan buat sebuahanchor()(a) di bawah table di dalam filedata_mahasiswa_view.php.. Jangan lupa sebelumnya load dulu url_helper di controller dengan cara menambahkan code  berikut:  <?php ... $this->load->helper('url'); ... ?> 

anchor() adalah function helper yang udah tersedia di CI, untuk menggantikan tag ‘a’

Buatlah sebuah anchor sebagai link ke functionadd()di Controller (fungsi ini belum dibuat), caranya dengan menambahkan script berikut:

 <?php echo anchor('data_mahasiswa/add' , 'Tambah Data') ?>   jadi kode lengkapnya didata_mahasiswa_view.phpadalah sebagai berikut:

<h1>Data Mahasiswa</h1> <table> <thead> <tr> <th>No</th> <th>NIM</th> <th>Nama</th> <th>Alamat</th> <th>Aksi</th> </tr> </thead> <tbody>  <?php $i = 1 ?>   <?php foreach($mahasiswa as $m): ?>  <tr> <td> <?php echo $i++ ?> </td> <td> <?php echo $m->nim ?> </td> <td> <?php echo $m->nama ?> </td> <td> <?php echo $m->alamat ?> </td> <td></td> </tr>  <?php endforeach ?>  </tbody> </table>

 <?php echo anchor('data_mahasiswa/add' , 'Tambah Data') ?> 

Langkah selanjutnya adalah membuat functionadd() di controller data_mahasiswa.php, tambahkan function ini:

(12)

...

function add(){

$this->load->view('add_view'); }

...

Di sana terdapat code untuk meload file view yang bernamaadd_view.php…

Silakan buat viewadd_view.php di folder /system/application/views dengan isi sebagai

 berikut:

<h1>Tambah data</h1>

<form action="" method="post"> <table> <tr> <th>NIM</th> <td><input name="nim" /></td> </tr> <tr> <th>Nama</th> <td><input name="nama" /></td> </tr> <tr> <th>Alamat</th> <td><textarea name="alamat"></textarea></td> </tr> <tr> <th></th>

<td><input type="submit" value="tambah" /></td> </tr>

</table> </form>

Perlu diketahui bahwa cara di atas belum menggunakan library ‘form’ bawaan dari CI.. kita memakai cara manual dulu, sebelum nanti kita bahas penggunaan helper di CI di tutorial selanjutnya…

Method yang digunakan yaitu POST, yang akan menghasilkan sebuah variable array $_POST…

Sebelumnya, kita tambahkan functioninsert()di model mahasiswa_model.phpseperti

 berikut: ... function insert($set){ $this->db->insert('mahasiswa', $set); } ...

function insert tersebut sudah ada di library database CI, jadi kita tidak usah membuat query ‘insert into….’ lagi…

sekarang, di Controller data_mahasiswa.php kita ubah functionadd()menjadi seperti

 berikut: ... function add() { if($_POST== NULL) { $this->load->view('add_view'); }else { $this->mahasiswa_model->insert($_POST); redirect('data_mahasiswa/index' ); } }

(13)

...

Kita jelasin, di sana ada fungsi If untuk mengecek apakah data dari $_POST sudahterSET  atau belum… kalo kita udah mengklik submit, berarti kita sudah mengeset variable

$_POST… jika belum (=NULL), maka program hanya meload view saja….

di sana ada functionredirect(), yaitu function bawaan CI, yang berfungsi untuk me-redirect halaman (mengalihkan), sehingga ketika kita menambahkan data, maka akan dialihkan lagi ke index…

Sejauh ini, kamu berhasil membuat aplikasi CI untuk menambahkan data ke database dan menampilkannya….

(14)

Tutorial CodeIgniter Dasar Part II – CRUD chapter 2

Pada tutorial kemarin, kita udah bisa menambahkan data ke dalam database… (Create) dan menampilkannya (semua data)…. Sekarang, kita akan membuat aksi lainnya, yaitu

update/ubah dan delete/hapus pada setiap data di dalam sebuah table…

Kita lanjutkan tutorial kemarin (Tutorial CodeIgniter Dasar Part II – CRUD Chapter 1) yang waktu itu kita udah membuat tablemahasiswadan membuat fungsi untuk menambahkan

datanya.. sekarang mari kita buat fungsi/aksi lainnya, yaitu update dan delete… Kita review hasil kerjaan dari tutorial kemarin…

<h1>Data Mahasiswa</h1> <table> <thead> <tr> <th>No</th> <th>NIM</th> <th>Nama</th> <th>Alamat</th> <th>Aksi</th> </tr> </thead> <tbody>  <?php $i = 1 ?>   <?php foreach($mahasiswa as $m): ?>  <tr> <td> <?php echo $i++ ?> </td> <td> <?php echo $m->nim ?> </td> <td> <?php echo $m->nama ?> </td> <td> <?php echo $m->alamat ?> </td> <td></td> </tr>  <?php endforeach ?>  </tbody> </table>

Sebelumnya kita tambahkan 2 buah anchor (link) untuk membuat hyperlink menuju ke masing2 fungsi tersebut,.. yaitu anchor untuk edit dan delete.. (catatan: edit = update). Buatlah dua buah anchor dengan bentuk kode seperti ini di kolom paling kanan tabel:  <?php echo anchor('data_mahasiswa/edit/' .$m->id, 'Ubah') . ' | ' .

anchor('data_mahasiswa/delete/' .$m->id, 'Hapus'); ?>   jadi bentuknya seperti ini:

<h1>Data Mahasiswa</h1> <table> <thead> <tr> <th>No</th> <th>NIM</th> <th>Nama</th> <th>Alamat</th> <th>Aksi</th> </tr> </thead> <tbody>  <?php $i = 1 ?>   <?php foreach($mahasiswa as $m): ?>  <tr>

(15)

<td> <?php echo $i++ ?> </td> <td> <?php echo $m->nim ?> </td> <td> <?php echo $m->nama ?> </td> <td> <?php echo $m->alamat ?> </td>

<td> <?php echo anchor('data_mahasiswa/edit/' .$m->id, 'Ubah') . ' | ' . anchor('data_mahasiswa/delete/' .$m->id, 'Hapus'); ?> </td>

</tr>  <?php endforeach ?>  </tbody> </table>  previewnya:

Data Mahasiswa

N

o NIM Nama Alamat Aksi

1 07003 35 Cecep  Yusuf  Cipanas, Cianjur edit | delete 2 08001 13 Fitri  Yuniar  Jakarta edit | delete Tambah data

1. Menghapus Data

Kemudian setelah itu, kita buat sebuah function di dalam modelmahasiswa_model.php di folder /system/application/models:  <?php ... function delete($id){ $this->db->delete('mahasiswa', array('id'=>$id)); } ... ?> 

Kemudian, di controller data_mahasiswa.phpdi/system/application/controllers tambahkan function berikut:

... function delete($id){ $this->mahasiswa_model->delete($id); redirect('data_mahasiswa' ); } ...

fungsi di atas memanggil fungsi dari objek Mahasiswa_modelyaitu delete, yang akan menghapus data dari table mahasiswa yang id nya adalah parameter dari function tersebut ($id)… Kemudian setelah itu baru diredirect/dialihkan ke tampilan index dari controller  data_mahasiswa.

2. Mengubah Data

 Nah, untuk mengubah data.. kita harus tahu fungsi untuk mengubah database dari Active Record yang disediakan oleh CI.. yaitu$this->db->update($nama_table, $data)…

(16)

Sekarang, kita tambahkan functionupdate() danselect($id)untuk menyeleksi SATU data yang akan dipilih berdasarkan id-nya… dibuat di modelmahasiswa.php di

/system/application/models,,, ... function update($id){ $this->db->where('id',$id)->update('mahasiswa', $_POST); } function select($id){

return $this->db->get_where('mahasiswa', array('id'=>$id))->row(); }

...

Di situ ada fungsi update(), yang equivalen dengan queryupdate from mahasiswa where id=$id set $_POST. Dan fungsi select yang nantinya akan kita gunakan ketika nilai dari data akan dimasukkan ke dalam sebuah form (untuk diedit) sehingga kita menggunakan row() yang berfungsi meretrieve data menjadi objek, tetapi hanyaSATU BARIS DATA... (segitunya sampe dipertebel hehe )

Setelah kita membuat modelnya… kemudian kita tambahkan functionedit()di Controller  data_mahasiswa.php di/system/application/controller/: ... function edit($id){ $data['m'] = $this->mahasiswa_model->select($id); $this->load->view('edit_view',$data); } ...

Di situ kita buat sebuah fungsi edit di controller data_mahasiswa.php dengan parameter  $id.. karena kita akan mengubah data pada setiap data yang ada dengan mengambil id-nya… dan dipanggillah fungsiupdate() dari model mahasiswa… Tetapi sebelumnya kita harus ngambil sebuah data mahasiswa tertentu berdasarkan $id yang ada untuk dimasukkan ke dalam form,, sehingga nantinya bisa diubah… makanya kita membuat fungsiselect() Ini adalah view yang harus ada di/system/application/viewsdengan nama file edit_view.php(yang udah kita masukkan ke dalam fungsi$this->load->view()di controller.

Ini adalah isi dari view-nya: <h1>Ubah data</h1>

<form action="" method="post"> <table>

<tr>

<th>NIM</th>

<td><input name="nim" value=" <?php echo $m->nim ?> " /></td> </tr>

<tr>

<th>Nama</th>

<td><input name="nama" value=" <?php echo $m->nama ?> " /></td> </tr>

<tr>

<th>Alamat</th>

<td><textarea name="alamat"> <?php echo $m->alamat ? > </textarea></td>

</tr> <tr>

<th></th>

<td><input type="submit" value="ubah" /></td> </tr>

(17)

</table> </form>

Jadi, ketika view tersebut diload, maka form akan langsung terisi dengan data yang kita  panggil dengan$id yang ada di URL… (yang merupakan parameter)

Kemudian, di controller kita tambahkan code berikut: ... function edit($id) { if($_POST== NULL) { $data['m'] = $this->mahasiswa_model->select($id); $this->load->view('edit_view',$data); }else { $this->mahasiswa_model->update($id); redirect('data_mahasiswa' ); } } ...

Kita lihat, ada fungsi if else… buat apa tuh??

itu buat ngecek apakah data udah dikirim atau belum (NULL)? Nah, klo udah dikirim berarti  bakal diupdate… kalo belum maka program akan mengambil data (select) dan dimasukkan ke

dalam form…

Kemudian terdapat fungsi redirect (sama seperti add), ketika data sudah diubah, maka halaman langsung dialihkan ke dalam action yang ada di prameter redirect tersebut….  Nah, sejauh ini kita sudah membuat aplikasi CRUD lengkap… Create, Read, Update, dan

Delete….

Silakan cek program yang kita bikin sejauh ini dengan mengetikkan alamat url : http://localhost/webku/data_mahasiswa

(18)

Tutorial CodeIgniter Dasar Part III – Page Template

Page Template adalah sebuah pola layout pada sebuah halaman web di mana kita akan selalu memakai pola tersebut sesuai kebutuhan kita untuk meload halaman lengkap beserta header, content, dan footernya.. dengan menggunakan page template, kita tidak harus meload header  dan footer di setiap fungsi pada controller di CodeIgniter.

Contoh misalnya ada kasus seperti ini:

Pada sebuah halaman web, ketika diload harus selalu load header, sidebar, content, footer, dsb.. maka secara normal di program akan berbentuk seperti ini:

 <?php

class Home extends Controller { function index() { $data['title'] = 'Webku'; $this->load->view('header'); $this->load->view('topmenu'); $this->load->view('home_view', $data); $this->load->view('footer'); } } ?> 

Di dalam function index, kode tersebut akan meload viewheader.php,sidebar.php, home_view.php, dan footer.php. Cara ini sebenarnya kurang efektif, walaupun yang

dihasilkan adalah sama, yaitunge-load lengkap sebuah halaman web (dari tag [html] sampai [/html]). Kenapa kurang efektif? karena di setiap function kita harus meload lagi semua elemen di atas… Ini baru satu function, bagaimana jika di dalam satu controller terdapat 50 function? tentu hal ini dapat merepotkan, dan sangat tidak efektif karena membuat redudansi kode.

Menggunakan Page Template Helper

Untuk mempermudah penggunaan code, kita akan membuat sebuah helper baru yang akan kita namakan Page Template Helper (page_template_helper.php) yang akan kita gunakan untuk merender layout yang sudah kita buat. Jadi layaknya seperti gabungan dari function $this->layout()dan $this->render() di Framework CakePHP.

OK, pertama-tama buatlah layout untuk template kita, dan simpan di folder 

/system/application/view/layout/ (seperti biasa, base_url() website kita adalah ‘webku’) dengan namadefault.php, kodenya adalah sebagai berikut:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 4.01 Transitional//EN"> <html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Webku <?php echo isset ($title)?" | ".$title:'' ?> </title> </head> <body> <div id="header">  <?php $this->load->view('layout/element/header') ?>  </div> <div id="topmenu">  <?php $this->load->view('layout/element/topmenu' ) ?>  </div> <div id="content">  <?php $this->load->view($view) ?>  </div>

(19)

<div id="footer">

 <?php $this->load->view('layout/element/footer') ?>  </div>

</body> </html>

Kode di atas adalah sebuah template default website kita, yang berarti setiap action/function yang akan kita panggil akan selalu meload tag html di atas, mulai dari title, kemudian load CSS atau JS misalnya, terus header-nya, topmenu, footer, dan sebagainya. Kita cukup menambahkan elemen di file tersebut.

Contoh ini belum menggunakan CSS, pembahasan tentang CSS akan dijelaskan pada tutorial selanjutnya

Setelah membuat file default.php, buatlah semua file ‘layout element’ (header, topmenu,

dan footer) dan simpan di direktori/system/application/view/layout/element/.

Berikut adalah isi dari masing-masing elemen:

Isi dari file-file di bawah ini hanya pemisalan/contoh

../view/layout/element/header.php

<img src="images/banner.jpg" /> Ini adalah HEADER

../view/layout/element/topmenu.php

<a href="#">MENU 1</a> | <a href="#">MENU 2</a> | <a href="#">MENU 3</a>

../view/layout/element/footer.php

Copyright &copy 2010 by Cheyuz

Jadi ketika file default.php dirender, maka element/header.php, element/topmenu.php, dan element/footer.php akan selalu diload.

 Nah, untuk pemanggil template tersebut dan yang akan digunakan di controller adalah Page Template Helper… jadi rencananya kode kita yang sebelumnya:

 <?php

class Home extends Controller { function index() { $data['title'] = 'Webku'; $this->load->view('header'); $this->load->view('topmenu'); $this->load->view('home_view', $data); $this->load->view('footer'); } } ?> 

menjadi seperti ini:  <?php

class Home extends Controller { function index() { $data['title'] = 'Webku'; show('home_view',$data); } } ?> 

Singkatnya, kita tidak menggunakan function$this->load->view()lagi di Controller,

tetapi kita menggunakan functionshow() yang berfungsi sama dan meload seluruh elemen

(20)

Sekarang, kita buat sebuah helper page_template_helper.php di /system/application/helper/ dengan kode seperti berikut:  <?php

if ( ! function_exists('element')) {

function show($view, $data=array(), $template='default') { $ci = &get_instance();

$data['view'] = $view;

$data = $ci->load->view('layout/'.$template, $data); }

}

/* End of file page_template_helper.php */ 

/* Location: ./system/helpers/page_template_helper.php */  OK, akan Cheyuz jelaskan..

Di kode itu terlihat bahwa $view yang ada di parameter 1 di function show() ini akan

dimasukkan ke dalam variable array $data, yang kemudian akan diload view yang bernama $template (diubah sesuai nama layout, defaultnya adalah default.php) dengan $data tetap dari  parameter ke-2.. dan parameter ke-3 ($default) adalah nama file template yang kita buat…

secara default file template yang akan diload adalah ../layout/default.php.  Nah, di controller Home tadi, kita dapat mengubahnya menjadi seperti ini:  <?php

class Home extends Controller { function index() { $data['title'] = 'Webku'; show('home_view',$data); } function about(){ $data['title'] = 'About'; show('home_view',$data); } function other(){

$data['title'] = 'Other (layout tanpa topmenu)'; show('home_view',$data, 'other');

} } ?> 

Ada function other(), yang akan memanggil halaman dengan template yang berbeda, yaitu menghilangkan topmenu.. karena kita sudah membuat helpernya, maka untuk membuat template baru untuk function other() tersebut, kita tinggal membuat file template bernama other.php di/system/application/view/layout/ dengan isi file seperti berikut: <!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 4.01 Transitional//EN">

<html> <head>

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Webku <?php echo isset ($title)?" | ".$title:'' ?> </title> </head>

<body>

<div id="header">

 <?php $this->load->view('layout/header') ?>  </div>

 <?php // menghilangkan topmenu untuk action tertentu ?>  <div id="content">

 <?php $this->load->view($view) ?>  </div>

(21)

<div id="footer">

 <?php $this->load->view('layout/footer') ?>  </div>

</body> </html>

Setelah semua langkah selesai, selanjutnya adalah meload helper tersebut. Karena kita akan selalu meload helper ini, maka kita atur konfigurasi autoloadnya di file

/system/application/config/autoload.php

Tambahkan ‘page_template’ pada bagian kode berikut: ..

$autoload['helper'] = array('page_template'); ..

(22)

Multiple Input Form dengan Menggunakan Codeigniter

Apa itu Multiple Input Form? Multiple Input Form adalah suatu bentuk form di mana kita akan menginputkan banyak data ke dalam database melalui form secara sekaligus. Jadi kita tidak menginputkan data satu persatu.

Form Input Mahasiswa NIM: 0700335

Nama: Cecep Yus Alama

t:

Cianjur 

Jika kita memakai cara yang di atas, maka kita harus menginputkan mahasiswa satu persatu. Bayangkan gimana kalo kita ingin menginputkan 50 data? Tentu kita harus mengisi form sebanyak 50 kali bukan?

Coba lihat form berikut ini: Form Input Mahasiswa

NIM Nama Alamat

0700335 Cecep Yus Cianjur 

0900634 Sabr ina Cianjur  

Coba Anda lihat, apa bedanya cara pertama dengan cara kedua? keliatan kan? Nah, jadi  bedanya apabila kita memakai cara kedua, kita dapat menginput beberapa siswasekaligus.

Di sini kita akan membuat 3 bagian modul, yaitu:

1. Form untuk mengisi berapa data yang akan dimasukkan 2. Form untuk pengisian form multiple

3. Daftar data yang telah dimasukkan Catatan:

Diasumsikan base_url() untuk tutorial ini adalah http://localhost/webku dan index.php telah dihilangkan..

tutorial untuk menghilangkan index.php ada di sini Pertama2 buat dulu database sebagai berikut:

CREATE TABLE IF NOT EXISTS mahasiswa ( id int(5) NOT NULL AUTO_INCREMENT, `nim` varchar(20) NOT NULL,

(23)

`nama` varchar(100) NOT NULL, `alamat` text NOT NULL,

PRIMARY KEY (id)

) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ;

Jangan lupa cek koneksi ke database apakah sudah benar atau belum..

konfigurasi untuk koneksi database ada di/system/application/config/database.php .

Buatlah sebuah controller data_mahasiswa.php(atau Anda bisa melanjutkan tutorial dari Tutorial Dasar Part I untuk membuat controller data_mahasiswa.php dan melanjutkannya). Di controller tersebut, tambahkan function untuk membuat tampilan multiple input form:

 <?php

class Data_mahasiswa extends Controller { ... function add_multiple() { $this->load->view('add_multiple'); } } ?> 

Setelah kamu bikin controller di atas, kamu tinggal bikin ‘view’ untuk tampilan formnya, dengan cara membuat fileadd_multiple.php di folder /system/application/view

Isikan code HTML berikut di file tersebut:

<h2>Multiple Form Input Mahasiswa</h2> <form action="" method="post">

Banyak mahasiswa yang ingin dimasukkan:

<input name="banyak_data" size="3" /> orang<br /> <input type="submit" value="Lanjut" />

</form>

Maka hasilnya seperti berikut:

Multiple Form Input Mahasiswa

Top of Form

Banyak mahasiswa yang ingin dimasukkan:

orang

Bottom of Form

Kemudian tambahkan code berikut untuk functionadd_multiple() file controller  data_mahasiswa.php tadi, menjadi seperti berikut:

 <?php

class Data_mahasiswa extends Controller { ... //ADD MULTIPLE  function add_multiple() { if($_POST== NULL) { $this->load->view('add_multiple'); }else{ redirect('data_mahasiswa/add_multiple_post/' . $_POST['banyak_data']); } }

(24)

} ?> 

Maksud dari function di atas adalah meload viewadd_multiple.php yang berisi halaman input banyak data mahasiswa yang dimasukkan.. kemudian ketika disubmit (POST) maka akan di-redirect/alihkan ke functionadd_multiple_post()dengan parameter banyaknya data yg dimasukkan ($_POST['banyak_data']) yang akan kita buat nanti… yaitu halaman munculnya multiple form.

Tambahkan function berikut di bawah functionadd_multiple(): class Data_mahasiswa extends Controller {

... function add_multiple_post($banyak_data=0) { $data['banyak_data'] = $banyak_data; $this->load->view('add_multiple_form',$data); } }

Kemudian, buatlah tampilan multiple form input seperti gambar table di atas. Berikut ini adalah kode HTML dariadd_multiple_form.php, simpan di /system/application/views:

<h2>Multiple Form Input Mahasiswa</h2> <form action="" method="post">

<table> <tr> <td>NIM</td> <td>Nama</td> <td>Alamat</td> </tr> <?php for($i=1;$i<=$banyak_data;$i++): ?> <tr>

<td><input name="data[<?php echo $i ?>][nim]" /></td> <td><input name="data[<?php echo $i ?>][nama]" /></td> <td><input name="data[<?php echo $i ?>][alamat]" /></td> </tr>

<?php endfor ?> </table>

<input type="submit" value="simpan" /> </form>

http://localhost/webku/data_mahasiswa/add_multiple_post/3

Multiple Form Input Mahasiswa

Top of Form

No NIM Nama Alamat

1

2

3

Bottom of Form

(25)

Multiple Form Input Mahasiswa

Top of Form

No NIM Nama Alamat

1 2 3 4 5 Bottom of Form

Kemudian, tambahkan ‘if’ dan ‘foreach’ di functionadd_multiple_post tadi, fungsinya adalah untuk mengetahui apakah form udah disubmit atau belum… jadi kode PHP

lengkapnya sbb:

 <?php

class Data_mahasiswa extends Controller { ... function add_multiple_post($banyak_data=0) { if($_POST== NULL) { $data['banyak_data'] = $banyak_data; $this->load->view('add_multiple_form',$data); }else { foreach($_POST['data'] as $d){ $this->db->insert('mahasiswa',$d); } redirect('data_mahasiswa/lihat_data'); } } } ?> 

OK, aku jelasin ya…

untuk function add_multiple_post():

1. Data dicek dulu apakah sudah disubmit ato belum ($_POST==NULL), kalo belum, load view add_multiple_form.phpdengan variable $banyak_data yang diambil dari parameter berdasarkan data yg dimasukkan

sebelumnya (di function add_multiple(), yaitu $_POST['banyak_data']) 2. Kalo datanya udah disubmit, maka lakukan insert data yang berulang

sebanyak elemen dari $_POST['data'] (berdasarkan $banyak_data) ke dalam table ‘mahasiswa’ dengan data dari $_POST['data'] (input-an dari multiple form)

3. Kemudian redirect/alihkan ke function lihat_datauntuk menampilkan seluruh data mahasiswa yang akan kita buat setelah ini.

(26)

 Nah, sekarang kita tinggal bikin daftar data ‘mahasiswa’ yang sudah dimasukkan.. Caranya,  buat filelist_mahasiswa.php di/system/application/views/ dengan isi sebagai

 berikut: list_mahasiswa.php: <h2>Daftar Mahasiswa</h2> <table> <tr> <th>No</th> <th>NIM</th> <th>Nama</th> <th>Alamat</th> </tr> <?php $i = 0 ?> <?php foreach($mahasiswa as $m): ?> <tr> <td><?php echo $i++ ?></td> <td><?php echo $m->nim ?></td> <td><?php echo $m->nama ?></td> <td><?php echo $m->alamat ?></td> </tr> <?php endforeach ?> </table>

<?php echo anchor('data_mahasiswa/add_multiple','Tambah Data') ?> Lalu buat function-nya di Controller data_mahasiswa.php:

 <?php

class Data_mahasiswa extends Controller { ... function lihat_data(){ $data['mahasiswa'] = $this->db->get('mahasiswa')->result(); $this->load->view('list_mahasiswa',$data); } } ?>  Selesai.

Berikut ini adalah source code lengkapnya:

/system/application/controllers/data_mahasiswa.php

class Data_mahasiswa extends Controller {

//...

//... function2 yg ada di tutorial sebelumnya //... //ADD MULTIPLE  function add_multiple() { if($_POST== NULL) { $this->load->view('add_multiple'); }else { redirect('data_mahasiswa/add_multiple_post/' . $_POST['banyak_data']); } } function add_multiple_post($banyak_data=0) { if($_POST== NULL) { $data['banyak_data'] = $banyak_data;

(27)

$this->load->view('add_multiple_form',$data); }else { foreach($_POST['data'] as $d){ $this->db->insert('mahasiswa',$d); } redirect('data_mahasiswa/lihat_data'); } } function lihat_data(){ $data['mahasiswa'] = $this->db->get('mahasiswa')->result(); $this->load->view('list_mahasiswa',$data); } } /system/application/views/add_multiple.php <h2>Multiple Form Input Mahasiswa</h2> <form action="" method="post">

Banyak mahasiswa yang ingin dimasukkan:

<input name="banyak_data" size="3" /> orang<br /> <input type="submit" value="Lanjut" />

</form>

/system/application/views/add_multiple_form.php <h2>Multiple Form Input Mahasiswa</h2>

<form action="" method="post"> <table> <tr> <td>No</td> <td>NIM</td> <td>Nama</td> <td>Alamat</td> </tr> <?php for($i=1;$i<=$banyak_data;$i++): ?> <tr> <td><?php echo $i ?></td>

<td><input name="data[<?php echo $i ?>][nim]" /></td> <td><input name="data[<?php echo $i ?>][nama]" /></td> <td><input name="data[<?php echo $i ?>][alamat]" /></td> </tr>

<?php endfor ?> </table>

<input type="submit" value="simpan" /> </form> /system/application/views/list_mahasiswa.php <h2>Daftar Mahasiswa</h2> <table> <tr> <th>No</th> <th>NIM</th> <th>Nama</th> <th>Alamat</th> </tr> <?php $i = 0 ?> <?php foreach($mahasiswa as $m): ?> <tr> <td><?php echo $i++ ?></td> <td><?php echo $m->nim ?></td> <td><?php echo $m->nama ?></td> <td><?php echo $m->alamat ?></td>

(28)

</tr>

<?php endforeach ?> </table>

<?php echo anchor('data_mahasiswa/add_multiple','Tambah Data') ?>

Untuk contoh file nya klik link Download yang ada di bawah ini.. DOWNLOAD

(29)

Menggunakan Pagination di Codeigniter

Pagination adalah library yang sepelenamun sangat2 penting tentunya buat Anda yang suka membuat aplikasi web/website dengan data yang sangat banyak, karena pagination

memungkinkan Anda untuk menyeleksi dan menampilkan data hanya sebagian data tertentu  per halamannya.

Library Pagination secara default sudah ada di dalam framework Codeigniter, dan 100% Customize, bisa diubah tampilannya sesuai yang kita inginkan.

OK, silakan ikuti tutorialnya…

Kita buat contoh kasus terlebih dahulu, kasus yang tentunya memerlukan pagination. Yup, BUKU TAMU! Buku tamu adalah fitur untuk pengunjung yang akan meninggalkan pesan di website. Kalo pengunjungnya ada 1000 orang dan kita menampilkannya 1000 baris juga kan ga mungkin, maka dari itu kita harus memakai pagination…

Untuk mengikuti tutorial ini, Anda harus sudah meload library database terlebih dahulu di /system/application/config/autoload.php

Silakan copy SQL berikut untuk membuat tablebukutamu dan memasukkan datanya:

CREATE TABLE IF NOT EXISTS `bukutamu` ( `id` INT(11) NOT NULL AUTO_INCREMENT, `nama` VARCHAR (100) NOT NULL,

`email` VARCHAR (100) NOT NULL, `pesan` text NOT NULL,

`created` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,

PRIMARY KEY (`id`)

) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=10 ;

---- Dumping data for table `bukutamu`

--INSERT INTO `bukutamu` (`id`, `nama`, `email`, `pesan`, `created`) VALUES

(1, 'Albert Einstein', '[email protected]' , 'Konten yang sangat menarik dan membantu saya dalam pemrograman web.. ;)', '2010-10-23 09:06:12'), (2, 'Sabrina', '[email protected]', 'Like this, web yang sangat membantu saya.. :)', '2010-10-23 20:58:01'),

(3, 'zakky', '[email protected]', 'keren bos.. webnya sangat membantu.. ', '2010-10-23 21:22:37'),

(4, 'Bernand Simamora', '[email protected]' , 'Web Tutorial yang sangat bagus, nilai 100 dari saya.. Silakan kembangkan lebih jauh bakat Anda dalam pemrograman Web ;)', '2010-10-24 08:16:47'),

(5, 'Robert Dawn', '[email protected]' , 'That''s good man!', '2010-10-24 08:16:47'),

(6, 'Rizal Juned', '[email protected]', 'bisaan euy, ajarkeun lah.... keren2 wae blogna mah... :D', '2010-10-24 08:18:05'),

(7, 'Andi Maulana', '[email protected]' , 'Good luck!', '2010-10-24 08:18:05'),

(8, 'Pak Lurah', '[email protected]', 'Tutorialnya tambahin lagi dunk gan... :)', '2010-10-24 08:20:59'),

(9, 'Luna Apridola', '[email protected]', 'bagus bgt tutorialnya!!! thankzz', '2010-10-24 08:20:59');

Setelah table dan data terbentuk, maka sekarang tinggal dibuat modelnya di CI… /system/application/models/bukutamu_model.php

(30)

 <?php /** * Description of bukutamu_model * * @author cheyuz */ 

class Bukutamu_Model extends Model {

function __construct() {

parent::Model(); }

function get($limit = array()) {

if ($limit == NULL)

return $this->db->get('bukutamu')->result(); else

return $this->db->limit($limit['perpage'], $limit['offset'])->get('bukutamu')->result();

} }

?> 

Function get()yang ada dalam model tersebut adalah untuk mengambil semua data yang ada di tablebukutamu, dengan parameter $limit yang nantinya akan kita pergunakan untuk   pagination. Jika$limittidak diisi, maka data akan ditampilkan semuanya.

OK, setelah model sudah dibuat, maka langkah selanjutnya adalah membuat Controller. /system/application/controllers/bukutamu.php  <?php /** * Description of bukutamu * * @author cheyuz */ 

class BukuTamu extends Controller {

function __construct() {

parent::Controller();

$this->load->helper('url'); //load helper URL untuk memanggil function base_url()

$this->load->model('bukutamu_model' ); }

function index($offset = 1) {

//tentukan jumlah data per halaman $perpage = 3;

//load library pagination

(31)

//untuk konfigurasi pagination

$config = array(

'base_url' => base_url() . 'bukutamu/index/' ,

'total_rows' => count($this->bukutamu_model->get()), 'per_page' => $perpage,

);

//inisialisasi pagination dn config di atas

$this->pagination->initialize($config);

$data['bukutamu'] = $this->bukutamu_model->get(array('perpage' => $perpage, 'offset' => $offset));

//tampilkan data

$this->load->view('bukutamu_view', $data); }

} ?> 

Untuk memanggil functionbase_url(), Anda harus meload terlebih dahulu URL Helper (di

atas sudah diload di constructor).Base_url() adalah function untuk mengambil string web

root kita, misalnya http://localhost/webku.

OK, untuk konfigurasi Pagination akan saya jelaskan satu2:

1. base_url: adalah url di mana action untuk memanggil bukutamu ini, karena di sini code terdapat di function index, maka base_url untuk pagination adalah:

base_url().'bukutamu/index/'

2. total_rows: adalah total data, yaitu semua data buku tamu yang diambil dari function get() di bukutamu_model

3. per_page: adalah jumlah data perhalaman, kita set menjadi 3

• Banyak sekali konfigurasi yang dapat kita atur di library pagination, dan konfigurasi itu sendiri bisa disimpan di folder /system/config/pagination.php, jadi Anda

tidak usah mengeset konfigurasi lagi di setiap Controller.

• Parameter $offset sangat diperlukan karena untuk menentukan limit dan offset untuk 

menampilkan isi data di setiap halaman

Sekarang kita buat view dengan namabukutamu_view.php. /system/application/views/bukutamu_views.php

 <?php foreach ($bukutamu as $bt): ?>  <div>

<div><b> <?php echo $bt->nama ?> </b></div> <span> <?php echo $bt->email ?> </span> <p> <?php echo $bt->pesan ?> </p>

</div> <hr />

 <?php endforeach; ?> 

Silakan jalankan aplikasi Anda di browser… udah?

“lho, lho, data kok cuman tampil 3?”

Iya, emang seperti itu, hanya saja kita belum menampilkan link paginationnya. Untuk  menampilkannya, tambahkan kode php berikut ini:

 <?php echo $this->pagination->create_links(); ?>   jadi kode di view lengkapnya seperti ini:

(32)

 <?php foreach ($bukutamu as $bt): ?> 

<div>

<div><b> <?php echo $bt->nama ?> </b></div> <span> <?php echo $bt->email ?> </span> <p> <?php echo $bt->pesan ?> </p>

</div> <hr />

 <?php endforeach; ?> 

 <?php echo $this->pagination->create_links(); ?> 

Silakan jalankan browser Anda…

Jika Anda mengikuti tutorial dengan benar, Anda akan melihat link Pagination di bawah daftar bukutamu..

Untuk memanipulasi tampilan pagination, silakan ikuti cara saya berikut:

Buatlah filepagination.phpdi dalam direktori/system/application/config, kemudian tambahkan baris konfigurasi berikut:

 <?php

$config['full_tag_open'] = '<div class="pagination">'; $config['full_tag_close' ] = '</div>';

$config['next_link'] = 'Lanjut &raquo;'; $config['prev_link'] = '&laquo; Kembali';

$config['num_tag_open'] = '<div class="digit">'; $config['num_tag_close'] = '</div>';

$config['cur_tag_open'] = '<div class="digit current">'; $config['cur_tag_close'] = '</div>';

$config['num_links'] = 1;

$config['last_link'] = '<b>Terakhir &rsaquo;</b>'; $config['first_link'] = '<b>&lsaquo; Pertama</b>';

?> 

Kemudian tambahkan CSS berikut:

/**

@author Cheyuz **/ 

.pagination{ background : #eee; margin: 5px; padding: 10px;} .pagination .digit{ padding: 0 10px 0 10px; display: inline;}

.pagination .digit:hover, .pagination .current{ padding: 2px 10px 2px 10px;

 background : #fff; font-weight: 900; -moz-border-radius :5px} maka tampilannya akan berubah menjadi seperti berikut:

1 2 3 4 Lanjut » Terakhir › Selamat mencoba!

(33)

HMVC singkatan dari Hierarchical-Model-View-Controller, yang artinya pola MVC tetapi  berupa Hirarki.

Hampir sama dengan MVC, hanya saja di sini MVC tersebut disimpan di dalam banyak  modul, jadi setiap modul terdapat Model, View, dan Controller.

 Nah, selain framework lain seperti Kohana, Zend, dan lain-lain, kita juga dapat menerapkan  pola seperti ini di dalam Framework Codeigniter, caranya yaitu dengan menggunakan

Modular Extensions, yang dapat Anda load di sini

Instalasi

1. Download modular extensions CI di sini. 2. Di dalamnya, terdapat 3 buah file, yaitu:

○ MY_Router.php ○ Modules.php ○ Controller.php

3. Simpan ketiga file itu di dalam folder library di CI Anda, yaitu /system/application/libraries/

4. Buatlah folder modules di dalam /system/application, sehingga terdapat folder baru dengan path: /system/application/modules

Setelah diinstall, berikut adalah cara penggunaan modular extensions.

Cara Menggunakan

Controller disimpan di dalam folder modules/nama_controller. Jadi, buatlah folder baru sebagai nama moduldi dalam modules, misalnya bukutamu. Kemudian, buatlah folder   baru bernamacontrollersdan simpan di dalam folder 

/system/application/modules/bukutamu/.

Buatlah nama controller yang akan Anda buat, misalnyabukutamu.php dan simpan di dalam folder controllersyang ada di dalam folder bukutamu.

Kita tidak akan menggunakan folder controllers bawaan dari CI yang ada di

folder /system/application/controllers, tetapi kita menggunakan controllers yg ada di dalam masing-masing modul yang ada di dalam folder modules, untuk kasus ini, controller bernama bukutamu.php disimpan di dalam path:

/system/application/modules/bukutamu/controllers/

Begitu juga untuk model dan view, bahkan untuk modul yg berbeda, Anda simpan semua file di dalam masing2 folder dengan nama modul Anda, dan disimpan di dalam folder 

modules…. sehingga setiap modul mempunyai MVC (Model, View, dan Controller) Contoh

Untuk contoh, kita bisa ambil studi kasus untuk controller User.

Controller: user.php  <?php

class User extends Controller {

Referensi

Dokumen terkait

dan memahami pelanggan sedemikian rupa sehingga barang/jasa cocok dengan pelanggan atau disebut juga pemasaran menghasilkan seorang pelanggan yang siap untuk membeli (Peter

Jika tindakan medik yang direncanakan mengandung risiko tinggi (operasi atau tindakan invasif lainnya) maka persetujuan harus diberikan secara tersurat dengan cara menandatangani

Ruang lingkup penelitian ini meliputi lingkup bidang kajian dan lingkup bidang ilmu, yaitu lingkup bidang kajian adalah tanggung jawab pelaku usaha yaitu Ivan bronies

ƒ Orang tua dan saudara-saudara penulis yang telah banyak memberikan dukungan moril maupun materiil kepada penulis dalam penyusunan skripsi ini... ƒ Saudari Meylina dan keluarga

Pemegang Kontrak Karya dan Perjanjian Karya Pengusahaan pertambangan Batubara sebagaimana dimaksud pada angka 1 dapat memiliki luas wilayah kontrak/perjanjian sesuai dengan

Persediaan merupakan investasi yang paling besar dalam sebuah apotek, sehingga pengendalian persediaan obat yang tepat sangat diperlukan, pengendalian yang efektif berakibat

kualitas pembelajaran mata kuliah di Prodi D-IV Keperawatan Banda Aceh Jurusan Keperawatan Poltekkes Kemenkes Aceh yang dapat digunakan sebagai sarana yang menunja

Untuk keturunan bangsawan Pontianak mempergunakan gelar Syarif (laki- laki) dan Syarifah (perempuan). Dalam penyelenggaraan upacara-upacara tradisional, para keturunan