You are on page 1of 10

Bagian I: Konsep Dasar CodeIgniter (MVC)

Bagian pertama ini, saya akan membahas sekilas tentang CodeIgniter yang menggunakan konsep
MVC (Model View Controller). Perhatikan Ilustrasi Gambar mengenai konsep MVC di bawah ini:
Model, digunakan untuk presentasi database dan semua perintah query S! " insert, edit, delete,
dan sele#t $ ada di dalamnya%
View, halaman yang digunakan untuk memberikan in&ormasi kepada #lient%
Controller, merupakan pengendali "#ontrol$ antara Model dan View melalui permintaan dari
'((P%
)ntuk lebih *elasnya lihat + program yang menggunakan konsep "Pertama$ menggunakan P'P dan
dirubah ke konsep "kedua$ MVC dalam CodeIgniter
Pertama, konsep pemrograman PHP biasa
1
2
3
4
5
6
</pre>
<html>
<head>
<title>Test Page</tile>
</head>
<body>

7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?php
$conn=mysql_connect($serverip,$sername,$pass!ord" or die (#$annot connect to database
server#"%
&mysql_select_db($database" or die (#$annot select database#"%
$sql =#'()($T * +,-. posts -,/(, 01 date_added /('$#%
$reslt=mysql_qery($sql"or die (#$annot grab posts#"%
i2(3mysql_nm_ro!s($reslt"" 4
echo #<p>There are crrently no blog posts in the database</p>#%
5 else4
!hile($ro!=mysql_2etch_array($reslt""4
print_r($ro!"%
5
5

?>
</body>
</html>
,ari program di atas, semua akti&itas dari mulai koneksi database dan menampilkan ke user
berada dalam satu &ile tidak terpisah% Program tersebut akan kita ter*emahkan dengan konsep
MVC dengan urutan sebagai berikut:
-$ Membuat Model post , untuk mengatur database dan #ontoh kodenya dibawah ini.
1
2
3
4
5
6
7
8
9
</pre>
<?php

class Post e6tends $7_.odel4
$this8>db8>select("8>2rom(9posts9"8>order_by(9date_added9,9desc9"%
$qery=$this8>db8>get("%
retrn $qery8>reslt_array("%
5
?>
+$ Membuat Controller posts , untuk mengatur Model dan View, #ontoh kodenya dibawah ini.
1
2
3
4
5
6
7
8
9
10
11
12
</pre>
<?php

class Posts e6tends $7_$ontroller4

2nction inde6("4
$this8>load8>model(9post9"%
$data:9reslts9;=$this8>post8>getposts("%
$this8>load8>vie!(9<ome9,$data"%
5
5
?>
+$ Membuat View home , untuk menampilkan ke user"browser$, #ontoh kodenya dibawah ini.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
</pre>
<html>
<head>
<title>Test Page</tile>
</head>
<body>

<?php
i2(cont($reslts"==="4
echo #<p>There are crrently no blog posts in the database</p>#%
5 else4
2oreach($reslts as $ro!"4
print_r($ro!"%
5
5

?>
</body>
</html>
,engan konsep MVC kita akan dengan mudah merubah database tanpa mengganggu /iew atau kita
bisa merubah tampilan atau /iew tanpa merubah database%
Mudah0mudahan rekan0rekan bisa memahmi konsep MVC di CodeIgniter ini% Bagi yang belum *elas
bisa tinggalkan pesan%
Bagian II : Instalasi CodeIgniter
Bagian Kedua ini, saya akan membahas cara instalasi !de"gniter dan k!n#igurasinya di l!calh!st$
%ebelum instalasi ada bebera&a hal yang harus di&ersia&kan'
(eb %er)er * se&erti +am&&, ,am& ser)er dll, dalam tut!rial kali ini saya menggunakan
+am&&$
-.- /dit!r * digunakan untuk menuliskan skri& &r!gram dan saya menggunakan -%-ad,
selain itu bisa &akai n!te&ad00 atau se1enisnya$
2rame,!rk !deigniter * saya menggunakan !deigniter32$1$3, silahkan d!,nl!ad di
sini !deigniter
4aha&an instalasi !de"gniter sebagai berikut'
1$ 5n6i& #ile !de"gniter32$1$3$6i& yang sudah di d!,nl!ad sebelumnya$ didalamnya ada
#!lder !deigniter32$1$3 dan didalm #!lder tersebut ada #!lder lagi !de"gniter32$13$
2$ 7ename 2!lder !de"gniter32$1$3 men1adi ci_series yang didalamnya terdiri dari 3
#!lder 8 application, system dan user guide.
3$ !&y dan letakan di #!lder htd!cs 9untuk yang menggunakan +am&&: dan sesuaikan 1ika
menggunakan ser)er yang lain$
4$ Buka #ile c!n#ig$&h& yang ada didalam #!lder a&&licati!n;c!n#ig menggunakan -.-
/dit!r dan atur baris k!de berikut'
8 <c!n#ig=>base3url>?@A BC
#ungsinya untuk menentukan alamat 57D utama &ada a&likasi yang kita buat$ silahkan isi dengan
l!calh!st;ci3series$ Ealam tut!rial kali ini kita k!s!ngkan sa1a karena di )ersi 2$0 ke atas !de"gniter secara
!t!matis mendeteksi base3url nya$
8 <c!n#ig=>encry&ti!n3key>?@A1F2,G<</45t6HHHIHJAC
#ungsinya untuk menginkri&si k!de$ silahkan isi dengan k!de inkri&si gabungan dari angka, huru#, dan simb!l
9bebas:$
5$ %im&an &erubahan &ada #ile c!n#ig$&h&, lalu buka br!,ser dengan mengetikan urlhtt&';;l!calh!st;ci3series,
maka akan tam&il halaman selamat datang !de"gniter$ %e&erti gambar di ba,ah ini'
About these ads
ahap III: Contoh sedernaha MVC
Codeigniter dengan database
Sebelum ke tahap III pastikan sudah ba#a tahap II: Instalasi Codeigniter% Contoh kali ini untuk
pemahaman konsep MVC Codeigniter menggunakan database, yaitu menampilan semua data berita
dari tabel berita yang ada di database #i1series% 2k ikuti langkah0langkahnya dengan teliti.
-$ membuat database baru #i1series
Contoh kali ini buat database di lo#ahost di lo#alhost3phpmyadmin
+$ membuat tabel berita
buatkan tabel berita menggunakan sintak S! dibawah ini%
1
2
3
4
5
6
7
8
9
10
</pre>
$,(>T( T>0)( ?ci_series?@?berita? (
?id_berita? 7AT( B= " A-T AC)) >CT-_7A$,(.(AT P,7.>,1 D(1 ,
?Edl? F>,$<>,( GHH " A-T AC)) ,
?isi? T(IT A-T AC)) ,
?tgl? T7.('T>.P A-T AC)) /(+>C)T $C,,(AT_T7.('T>.P ,
?ser7/? 7AT( J " A-T AC)) ,
?aKti2? T7A17AT( B " A-T AC))
" (AL7A( = .17'>. %
<pre>
4$ isikan beberapa data ke dalam tabel berita menggunakan sintak query dibawah ini
1
2
3
4
5
6
7
8
9
</span>

7A'(,T 7AT- ?ci_series?@?berita? (?id_berita?, ?Edl?, ?isi?, ?tgl?,
?ser7/?, ?aKti2?"
F>)C(' (AC)), 9Mdl 0erita B9, 97ni $ontoh isi 0erita Ke sat9,
$C,,(AT_T7.('T>.P, 9=9, 9B9",
(AC)), 9Mdl 0erita G9, 97ni $ontoh isi 0erita Ke da9,
$C,,(AT_T7.('T>.P, 9=9, 9B9",
(AC)), 9Mdl 0erita N9, 97ni $ontoh isi 0erita Ke Ketiga9,
$C,,(AT_T7.('T>.P, 9=9, 9B9",
(AC)), 9Mdl 0erita J9, 97ni $ontoh isi 0erita Ke empat tidaK aKti29,
$C,,(AT_T7.('T>.P, 9=9, 9=9"%

<pre>
5$ buka &ile database%php yang ada di &older appli#ation3#on&ig untuk mengatur kon&igurasi
database
atur kode baris seperti #ontoh di bwah ini
1
2
3
4
5
6
7
</pre>
$db:9de2alt9;:9hostname9; = 9localhost9%
$db:9de2alt9;:9sername9; = 9root9%
$db:9de2alt9;:9pass!ord9; = 99%
$db:9de2alt9;:9database9; = 9ci_series9%
$db:9de2alt9;:9dbdriver9; = 9mysql9%
<pre>
6$ Membuat model berita%php seperti #ontoh dibawah ini dan simpan di &older appli#ation3models
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
</pre>
<?php
class 0erita e6tends $7_.odel4

2nction sema_berita($nm=G=,$start=="4
//select sema 2ield dari tabel berita
$this8>db8>select(9*9"%
$this8>db8>2rom(9berita9"%
//aKti2 = B
$this8>db8>!here(9aKti29,B"%
//dirtKan berdasarKan tanggal inpt data 2ield tgl secara desc
$this8>db8>order_bay(9tgl9,9desc9"%
//dibatasi berdasarKan variabel $nm dan $start
$this8>db8>limit($nm,$start"%
//ambil sema qery diatas
$qery=$this8>db8>get("%
//mengembaliKan hasil bentK obEeK (bKan array"
retrn $qery8>reslt("%

5
5
?>
<pre>
7$ Mebuat Controller #berita%php seperti #ontoh dibawah ini dan simpan di &older
appli#ation3#ontrollers
1
2
3
4
5
</pre>
<?php

class $berita e6tends $7_$ontroller4

2nction inde6("4
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
//meload model berita ntK memanggil qery database
$this8>load8>model(9berita9"%
//memanggil 2ngsi sema_berita(" dalam model berita
$data:9berita9;=$this8>berita8>sema_berita("%
//menampilan data Ke dalam vie! indeK_berita@php
//vie! header@php ntK menampilKan Kon2igrasi template
//seperti pemanggilan css dan Es dari MOC(,1 .-07)(
$this8>load8>vie!(9header9"%
//isi dari berita
$this8>load8>vie!(9indeK_berita9,$data"%
//load vie! 2ooter
$this8>load8>vie!(92ooter9"%
5
5
?>
<pre>
8$ Menampilan data ke user3browser
)ntuk menampilan data biar bisa diakses oleh user kita buatkan 4 /iew yaitu header%php,
indek1berita%php dan &ooter%php, /iew berisi kode html yang pakai tutorial ini saya gunakan
9):;< M2BI!:%
buat tiga /iew
a$ /iew header%php dan simpan di &older appli#ation3/iews
1
2
3
4
5
6
7
8
9
10
</pre>
<3/-$T1P( html>
<html>
<head>
<linK rel=#stylesheet# hre2=#httpP//code@Eqery@com/mobile/B@N@G/Eqery@mobile8
B@N@G@min@css#>
<script src=#httpP//code@Eqery@com/Eqery8B@Q@N@min@Es#></script>
<script src=#httpP//code@Eqery@com/mobile/B@N@G/Eqery@mobile8
B@N@G@min@Es#></script>
</head>
<body>
<pre>
b$ /iew &ooter%php dan simpan di &older appli#ation3/iews
1
2
3
4
5
6
7
</pre>
<388page88>
<388header88>
<388content88>
<div data8role=#2ooter#>
<hB>+ooter Te6t</hB>
</div>
</div><388 /page88>

8
9
10
11
12
</body>
</html>
<pre>
#$ /iew indek1berita%php dan simpan di &older appli#ation3/iews
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
</pre>
<div data8role=#page# id=#berita#>

<div data8role=#header#>
<hB>'eri 0elaEar $odeigniter</hB>
</div>

<388 isi 0erita 88>
<div data8role=#content#>
<hG>'ema 0erita</hG>
<388 menampilan sema berita 88>
<l data8role=#listvie!# data8inset=#tre#>
<?php
i2(3isset($berita""
4
echo 9<li>.aa2 0erita 0elm >da</li>9%
5else
4
2oreach($berita as $ro!"
4

echo 9<li><a hre2=#9@base_rl("@9berita/read/9@$ro!8>id_berita@9#>
<hN> 9@$ro!8>Edl@9 </hN>
<p> 9@$ro!8>tgl@9</p>
</a>
</li>9%
5
echo9</l>9%
5
?>

</div>
<pre>
8$ (est dengan ketikan pada browser http:33lo#alhost3#i1series3inde=%php3#berita
!ihat hasilnya seperti gambar dibawah ini
gambar /iew m/# #odeigniter
>$ menghilangkan inde=%php menggunakan %hta##ess
1
2
3
4
5
6
7
</pre>
,e!rite(ngine on
,e!rite$ond $B 3R(inde6S@phpTresorcesTrobotsS@t6t"
,e!rite$ond U4,(OC('T_+7)(A>.(5 382
,e!rite$ond U4,(OC('T_+7)(A>.(5 38d
,e!rite,le R(@*"$ inde6@php/$B :),O'>;
<pre>
simpan dengan nama %hta##ess
test buka alamat http:33lo#alhost3#i1series3#berita
?$ buat #ontroller de&ault buka &ile routes%php yang ada di &older appli#ation3#on&ig
rubah de&ault #ontroller #berita seperti kode dibawah ini
1
2
3
4
</pre>
$rote:9de2alt_controller9; = #cberita#%
$rote:9J=J_override9; = 99%
<pre>
tunggu tutorial selan*utnya, *ika ada pertanyaan silahkan tinggalkan komentar%

You might also like