SlideShare une entreprise Scribd logo
1  sur  6
Télécharger pour lire hors ligne
Bagian II
                                 Dasar-Dasar CodeIgniter


2.1 URI Dalam CodeIgniter

        CodeIgniter menyediakan dua alternatif pendekatan penggunaan URI (Uniform
Resource Identifier) dalam aplikasi web yang dibangun dengan CodeIgniter. Pertama, secara
default CodeIgniter menggunakan URI dengan pendekatan berbasis segmen (segment-based).
        Segmen-segmen URI yang digunakan dalam framework MVC CodeIgniter secara
umum menggunakan format sebagai berikut:

example.com/index.php/class/function/id1/id2/....

1. Segmen pertama (“class”) adalah controller class yang akan dieksekusi.
2. Segmen kedua (“function”) adalah fungsi atau function atau method yang dipanggil
3. Segmen ketiga (“id1”,”id2”,...) dan seterusnya, adalah nilai atau parameter yang dikirim
   atau dilewatkan ke dalam class controller.

Perhatikanlah contoh di bawah ini:

http://localhost/codeigniter/index.php/info/info_detil/123

        URI berbasis segmen seperti pada contoh di atas memiliki pengertian yang sama jika
dituliskan dengan pendekatan alternatif kedua yaitu dengan cara melewatkan parameter query-
string seperti contoh berikut ini:

http://localhost/codeigniter/index.php?c=info&m=info_detil&id=123



Mengaktifkan Query-String

       Dalam beberapa kasus, mungkin Anda lebih suka penggunaan URL dengan pendekatan
query-string. Anda dapat mengaktifkan penggunaan query-string dalam URI dengan
memodifikasi file config.php (config/config.php). Kemudian lakukan setting nilai pada
variabel-variabel berikut:
$config[“enable_query_strings”] = TRUE;
$config[“controller_trigger”] = “c”;
$config[“function_trigger”] = “m”;

      Jika Anda menentukan nilai “enable_query_string” dengan nilai TRUE, ini berarti
Anda mengaktifkan query-string. Controller dan Function akan dipanggil dengan cara
melewatkan parameter query-string “c” dan “m” dengan format seperti berikut:

http://localhost/codeigniter/index.php?c=controller&m=method&id=nilai

contoh:

example.com/index.php?c=info&m=info_detil&id=123
Menambahkan Sufiks URL

       Misalkan Anda ingin menambahkan sufiks “.html” ke dalam URL seperti berikut:

example.com/index.php/info/info_detil/123.html

       Anda dapat menentukan sendiri akhiran (sufiks) yang ditambahkan ke dalam URL yang
tergenerasi oleh CodeIgniter dengan memodifikasi file config.php (config/config.php).
Kemudian lakukan setting nilai sepeti contoh berikut:

$config[“url_suffix”] = “.html”;


2.2 Controller

        Controller merupakan komponen framework MVC yang berfungsi sebagai gerbang
awal pengaksesan sumber daya aplikasi dalam interaksinya dengan browser atau client.
Controller adalah file-file class PHP yang diberi sebuah nama yang dihubungkan dengan lokasi
sumber daya aplikasi yang diakses melalui URI. File-file ini secara default tersimpan dalam
folder (system/application/controllers/). Perhatikanlah contoh URI berikut ini:

example.com/index.php/greeting/

        Seperti pada contoh URI di atas, CodeIgniter akan mencari sebuah controller yang
cocok atau sesuai dengan segmen pertama dari URI di atas. Segmen pertama pada contoh URI
di atas adalah “greeting”, artinya CodeIgniter akan mencari file class controller “greeting.php”
untuk kemudian menjalankannya.
        Berikut ini adalah contoh sebuah file class controller “greeting.php”:


 <?
 class Greeting extends Controller {

         function index()
         {
                echo “Welcome to CodeIgniter!”;
         }
 }
 ?>


        Perlu diperhatikan bahwa pendefinisian nama class dalam file class controller harus
diawali dengan huruf besar. Seperti pada contoh di atas, class controller “greeting” harus diberi
nama “Greeting”. Selain itu pastikan juga bahwa class controller mewarisi (extends) class
controller induk dengan cara menambahkan “extends Controller” agar dapat mewarisi seluruh
function yang ada dalam class controller induk.
        Beri nama file kode PHP di atas dengan “greeting.php”dan simpan dalam folder
“system/application/controllers/”. Kemudian akseslah file tersebut dengan mengetikkan URI
berikut ke dalam browser Anda:

http://localhost/codeigniter/index.php/greeting

       Anda akan mendapatkan hasil seperti berikut ini:
Gambar 2.1 Pemanggilan Greeting


Functions

        Apabila segmen kedua (function) dari URI tidak ditentukan, maka CodeIgniter secara
default akan mengeksekusi function “index()”. Anda dapat melakukan cara yang lain untuk
memanggil function index() dengan menggunakan URI berikut ini:

http://localhost/codeigniter/index.php/greeting/index

       Segmen kedua dari sebuah URI berfungsi untuk menentukan function mana dari sebuah
class controller yang akan dieksekusi. Berikut ini kita akan mencoba menambahkan sebuah
function baru “indonesian()” ke dalam file class controller “greeting.php” di atas:

 <?
 class Greeting extends Controller {

         function index()
         {
                echo “Welcome to CodeIgniter!”;
         }

         function indonesian()
         {
                echo “Selamat Datang di CodeIgniter!”;
         }

 }
 ?>



        Kemudian akseslah file tersebut dengan mengetikkan URI berikut ke dalam browser
Anda:

http://localhost/codeigniter/index.php/greeting/indonesian

        Anda akan mendapatkan hasil baru yang berbeda seperti berikut ini:
Gambar 2.2 Pemanggilan Greeting dengan penambahan segmen kedua



Pemberian Nilai Pada Function

        Pemberian nilai pada function dalam sebuah controller dilakukan dengan cara
menambahkan segmen ketiga, keempat dan seterusnya sebanyak nilai yang akan diberikan
pada function (segmen kedua).
        Jika URI yang Anda tentukan memiliki lebih dari dua segmen, maka URI tersebut akan
memberikan sejumlah parameter yang memiliki nilai ke dalam function (segmen kedua).
        Sebagai contoh, tambahkanlah sebuah function “complete()” ke dalam file class
controller “greeting.php” di atas seperti berikut ini:

 <?
 class Greeting extends Controller {

         function index()
         {
                echo “Welcome to CodeIgniter!”;
         }

         function indonesian()
         {
                echo “Selamat Datang di CodeIgniter!”;
         }

         function complete($nama,$umur)
         {
                echo "Welcome to CodeIgniter <b>".$nama."</b>, your are now
                <b>".$umur."</b> years old";
         }

 }
 ?>



        Kemudian akseslah file tersebut dengan mengetikkan URI berikut ke dalam browser
Anda:

http://localhost/codeigniter/index.php/greeting/complete/Yadi/30

        Anda akan mendapatkan hasil baru yang berbeda seperti berikut ini:
Gambar 2.3 Pemanggilan Greeting dengan pemberian nilai



Menentukan Controller Default

        CodeIgniter secara otomatis akan mengeksekusi file class controller default apabila
segmen tidak dituliskan ke dalam URI. Untuk menentukan controller default, lakukanlah
modifikasi file “application/config/routes.php” dan ubah setting nilai variabel seperti contoh
berikut:

$route['default_controller'] = “greeting”;

       Seperti pada contoh di atas, “greeting” merupakan class controller yang akan dijadikan
sebagai controller default. Dengan demikian jika pemanggilan dilakukan tanpa
menspesifikasikan segmen pada URI, maka CodeIgniter akan mengakses dan menjalankan
class controller “greeting” sebagai controller default. Perhatikan contoh pemanggilan tanpa
menyertakan segmen URI berikut ini:

http://localhost/codeigniter/index.php




                  Gambar 2.4 Pemanggilan URI tanpa menyertakan segmen

       Pada contoh di atas, CodeIgniter melakukan pemanggilan controller default “greeting”
sekaligus mengeksekusi function “index()” sebagai function default dalam class controller
tersebut.
Dasar dasar-php-codeigniter

Contenu connexe

Tendances

Laporan 1 annissaul hidayah 11120018_6
Laporan 1  annissaul hidayah 11120018_6Laporan 1  annissaul hidayah 11120018_6
Laporan 1 annissaul hidayah 11120018_6
Saul Anizsa
 
Laporan 3 annissaul hidayah 11120018_kel 6
Laporan 3 annissaul hidayah 11120018_kel 6Laporan 3 annissaul hidayah 11120018_kel 6
Laporan 3 annissaul hidayah 11120018_kel 6
Saul Anizsa
 
Membuat koneksiv bdenganaccess2003
Membuat koneksiv bdenganaccess2003Membuat koneksiv bdenganaccess2003
Membuat koneksiv bdenganaccess2003
Ramadhan Habibie
 
Tugas 3 fathia lubis 92
Tugas 3 fathia lubis 92Tugas 3 fathia lubis 92
Tugas 3 fathia lubis 92
180299
 
tutorial jsf bagian 1
tutorial jsf bagian 1tutorial jsf bagian 1
tutorial jsf bagian 1
Jogal
 

Tendances (17)

Instalasi Odoo ERP pada Ubuntu WSL di Windows
Instalasi Odoo ERP pada Ubuntu WSL di WindowsInstalasi Odoo ERP pada Ubuntu WSL di Windows
Instalasi Odoo ERP pada Ubuntu WSL di Windows
 
Kolaborasi jQuery, AJAX, PHP, dan MySQL
Kolaborasi jQuery, AJAX, PHP, dan MySQLKolaborasi jQuery, AJAX, PHP, dan MySQL
Kolaborasi jQuery, AJAX, PHP, dan MySQL
 
Laporan 1 annissaul hidayah 11120018_6
Laporan 1  annissaul hidayah 11120018_6Laporan 1  annissaul hidayah 11120018_6
Laporan 1 annissaul hidayah 11120018_6
 
Kiat Praktis Membangun Fitur Baru di Software SLiMS
Kiat Praktis Membangun Fitur Baru di Software SLiMSKiat Praktis Membangun Fitur Baru di Software SLiMS
Kiat Praktis Membangun Fitur Baru di Software SLiMS
 
Belajar membuat modul crud di laravel 5
Belajar membuat modul crud di laravel 5Belajar membuat modul crud di laravel 5
Belajar membuat modul crud di laravel 5
 
Laporan 4
Laporan 4 Laporan 4
Laporan 4
 
Laporan 3 annissaul hidayah 11120018_kel 6
Laporan 3 annissaul hidayah 11120018_kel 6Laporan 3 annissaul hidayah 11120018_kel 6
Laporan 3 annissaul hidayah 11120018_kel 6
 
Modul pelatihan-django-dasar-possupi-v1
Modul pelatihan-django-dasar-possupi-v1Modul pelatihan-django-dasar-possupi-v1
Modul pelatihan-django-dasar-possupi-v1
 
Tutorial ci
Tutorial ciTutorial ci
Tutorial ci
 
Dicoding Developer Coaching #16: Android | Berkenalan dengan Broadcast Receiver
Dicoding Developer Coaching #16: Android | Berkenalan dengan Broadcast ReceiverDicoding Developer Coaching #16: Android | Berkenalan dengan Broadcast Receiver
Dicoding Developer Coaching #16: Android | Berkenalan dengan Broadcast Receiver
 
PHP (Input Data) dan MySQL
PHP (Input Data) dan MySQLPHP (Input Data) dan MySQL
PHP (Input Data) dan MySQL
 
Membuat koneksiv bdenganaccess2003
Membuat koneksiv bdenganaccess2003Membuat koneksiv bdenganaccess2003
Membuat koneksiv bdenganaccess2003
 
Belajar framework code igniter xii rpl
Belajar framework code igniter xii rplBelajar framework code igniter xii rpl
Belajar framework code igniter xii rpl
 
Tugas 4 rekayasa web 0316
Tugas 4 rekayasa web 0316Tugas 4 rekayasa web 0316
Tugas 4 rekayasa web 0316
 
Tugas 3 fathia lubis 92
Tugas 3 fathia lubis 92Tugas 3 fathia lubis 92
Tugas 3 fathia lubis 92
 
tutorial jsf bagian 1
tutorial jsf bagian 1tutorial jsf bagian 1
tutorial jsf bagian 1
 
Menampilkan data pada Database MySQL di JSP(Java Server Page)
Menampilkan data pada Database MySQL di JSP(Java Server Page)Menampilkan data pada Database MySQL di JSP(Java Server Page)
Menampilkan data pada Database MySQL di JSP(Java Server Page)
 

Similaire à Dasar dasar-php-codeigniter

Membuat mvc framework sederhana dengan php
Membuat mvc framework sederhana dengan phpMembuat mvc framework sederhana dengan php
Membuat mvc framework sederhana dengan php
Cahya Dwiana SN
 
Belajar php-dengan-framework-code-igniter
Belajar php-dengan-framework-code-igniterBelajar php-dengan-framework-code-igniter
Belajar php-dengan-framework-code-igniter
George Kartutu
 
Belajar php-dengan-framework-code-igniter
Belajar php-dengan-framework-code-igniterBelajar php-dengan-framework-code-igniter
Belajar php-dengan-framework-code-igniter
Muhammad Rais
 
Php dgn frame work code ignitier
Php dgn frame work code ignitierPhp dgn frame work code ignitier
Php dgn frame work code ignitier
Haswi Haswi
 
Laporan tutorial form login php menggunakan mvc
Laporan tutorial form login php menggunakan mvcLaporan tutorial form login php menggunakan mvc
Laporan tutorial form login php menggunakan mvc
Sam_Azzam
 

Similaire à Dasar dasar-php-codeigniter (20)

Modul 05 Framework CodeIgniter.pdf
Modul 05 Framework CodeIgniter.pdfModul 05 Framework CodeIgniter.pdf
Modul 05 Framework CodeIgniter.pdf
 
Tutorial ci
Tutorial ciTutorial ci
Tutorial ci
 
Modul 2 Cara Membuat Controller Pada CodeIgniter
Modul 2 Cara Membuat Controller Pada CodeIgniterModul 2 Cara Membuat Controller Pada CodeIgniter
Modul 2 Cara Membuat Controller Pada CodeIgniter
 
Belajar php-dengan-framework-code-igniter1
Belajar php-dengan-framework-code-igniter1Belajar php-dengan-framework-code-igniter1
Belajar php-dengan-framework-code-igniter1
 
Belajar Framework CodeIgnitier Lengkap (bahasa Indonesia)
Belajar Framework CodeIgnitier Lengkap (bahasa Indonesia)Belajar Framework CodeIgnitier Lengkap (bahasa Indonesia)
Belajar Framework CodeIgnitier Lengkap (bahasa Indonesia)
 
Membuat mvc framework sederhana dengan php
Membuat mvc framework sederhana dengan phpMembuat mvc framework sederhana dengan php
Membuat mvc framework sederhana dengan php
 
Membuat Catatan Online dengan Cherrypy
Membuat Catatan Online dengan CherrypyMembuat Catatan Online dengan Cherrypy
Membuat Catatan Online dengan Cherrypy
 
Modul 3 Cara Membuat View Pada CodeIgniter
Modul 3 Cara Membuat View Pada CodeIgniterModul 3 Cara Membuat View Pada CodeIgniter
Modul 3 Cara Membuat View Pada CodeIgniter
 
Modul Web Programming - Framework CodeIgniter
Modul Web Programming - Framework CodeIgniterModul Web Programming - Framework CodeIgniter
Modul Web Programming - Framework CodeIgniter
 
Belajar php-dengan-framework-code-igniter
Belajar php-dengan-framework-code-igniterBelajar php-dengan-framework-code-igniter
Belajar php-dengan-framework-code-igniter
 
Belajar php-dengan-framework-code-igniter
Belajar php-dengan-framework-code-igniterBelajar php-dengan-framework-code-igniter
Belajar php-dengan-framework-code-igniter
 
Php dgn framework code ignitier
Php dgn framework code ignitierPhp dgn framework code ignitier
Php dgn framework code ignitier
 
Php dgn frame work code ignitier
Php dgn frame work code ignitierPhp dgn frame work code ignitier
Php dgn frame work code ignitier
 
Belajar php dengan framework code igniter3
Belajar php dengan framework code igniter3Belajar php dengan framework code igniter3
Belajar php dengan framework code igniter3
 
test saja kok
test saja koktest saja kok
test saja kok
 
Modul 02 CRUD CI 3.pdf
Modul 02 CRUD CI 3.pdfModul 02 CRUD CI 3.pdf
Modul 02 CRUD CI 3.pdf
 
Modul 02 CRUD CI 3.pdf
Modul 02 CRUD CI 3.pdfModul 02 CRUD CI 3.pdf
Modul 02 CRUD CI 3.pdf
 
Php tutorial-17
Php tutorial-17Php tutorial-17
Php tutorial-17
 
Php CMS tutorial
Php CMS tutorialPhp CMS tutorial
Php CMS tutorial
 
Laporan tutorial form login php menggunakan mvc
Laporan tutorial form login php menggunakan mvcLaporan tutorial form login php menggunakan mvc
Laporan tutorial form login php menggunakan mvc
 

Dernier

Modul 2 - Bagaimana membangun lingkungan belajar yang mendukung transisi PAUD...
Modul 2 - Bagaimana membangun lingkungan belajar yang mendukung transisi PAUD...Modul 2 - Bagaimana membangun lingkungan belajar yang mendukung transisi PAUD...
Modul 2 - Bagaimana membangun lingkungan belajar yang mendukung transisi PAUD...
pipinafindraputri1
 
PPT PERUBAHAN LINGKUNGAN MATA PELAJARAN BIOLOGI KELAS X.pptx
PPT PERUBAHAN LINGKUNGAN MATA PELAJARAN BIOLOGI KELAS X.pptxPPT PERUBAHAN LINGKUNGAN MATA PELAJARAN BIOLOGI KELAS X.pptx
PPT PERUBAHAN LINGKUNGAN MATA PELAJARAN BIOLOGI KELAS X.pptx
dpp11tya
 

Dernier (20)

MODUL AJAR BAHASA INDONESIA KELAS 6 KURIKULUM MERDEKA.pdf
MODUL AJAR BAHASA INDONESIA KELAS 6 KURIKULUM MERDEKA.pdfMODUL AJAR BAHASA INDONESIA KELAS 6 KURIKULUM MERDEKA.pdf
MODUL AJAR BAHASA INDONESIA KELAS 6 KURIKULUM MERDEKA.pdf
 
Regresi Linear Kelompok 1 XI-10 revisi (1).pptx
Regresi Linear Kelompok 1 XI-10 revisi (1).pptxRegresi Linear Kelompok 1 XI-10 revisi (1).pptx
Regresi Linear Kelompok 1 XI-10 revisi (1).pptx
 
MODUL AJAR IPAS KELAS 6 KURIKULUM MERDEKA
MODUL AJAR IPAS KELAS 6 KURIKULUM MERDEKAMODUL AJAR IPAS KELAS 6 KURIKULUM MERDEKA
MODUL AJAR IPAS KELAS 6 KURIKULUM MERDEKA
 
RENCANA & Link2 Materi Pelatihan_ "Teknik Perhitungan TKDN, BMP, Preferensi H...
RENCANA & Link2 Materi Pelatihan_ "Teknik Perhitungan TKDN, BMP, Preferensi H...RENCANA & Link2 Materi Pelatihan_ "Teknik Perhitungan TKDN, BMP, Preferensi H...
RENCANA & Link2 Materi Pelatihan_ "Teknik Perhitungan TKDN, BMP, Preferensi H...
 
TEKNIK MENJAWAB RUMUSAN SPM 2022 - UNTUK MURID.pptx
TEKNIK MENJAWAB RUMUSAN SPM 2022 - UNTUK MURID.pptxTEKNIK MENJAWAB RUMUSAN SPM 2022 - UNTUK MURID.pptx
TEKNIK MENJAWAB RUMUSAN SPM 2022 - UNTUK MURID.pptx
 
LATAR BELAKANG JURNAL DIALOGIS REFLEKTIF.ppt
LATAR BELAKANG JURNAL DIALOGIS REFLEKTIF.pptLATAR BELAKANG JURNAL DIALOGIS REFLEKTIF.ppt
LATAR BELAKANG JURNAL DIALOGIS REFLEKTIF.ppt
 
OPTIMALISASI KOMUNITAS BELAJAR DI SEKOLAH.pptx
OPTIMALISASI KOMUNITAS BELAJAR DI SEKOLAH.pptxOPTIMALISASI KOMUNITAS BELAJAR DI SEKOLAH.pptx
OPTIMALISASI KOMUNITAS BELAJAR DI SEKOLAH.pptx
 
Aksi Nyata PMM Topik Refleksi Diri (1).pdf
Aksi Nyata PMM Topik Refleksi Diri (1).pdfAksi Nyata PMM Topik Refleksi Diri (1).pdf
Aksi Nyata PMM Topik Refleksi Diri (1).pdf
 
Pelaksana Lapangan Pekerjaan Jalan .pptx
Pelaksana Lapangan Pekerjaan Jalan .pptxPelaksana Lapangan Pekerjaan Jalan .pptx
Pelaksana Lapangan Pekerjaan Jalan .pptx
 
Modul 2 - Bagaimana membangun lingkungan belajar yang mendukung transisi PAUD...
Modul 2 - Bagaimana membangun lingkungan belajar yang mendukung transisi PAUD...Modul 2 - Bagaimana membangun lingkungan belajar yang mendukung transisi PAUD...
Modul 2 - Bagaimana membangun lingkungan belajar yang mendukung transisi PAUD...
 
PELAKSANAAN (dgn PT SBI) + Link2 Materi Pelatihan _"Teknik Perhitungan TKDN, ...
PELAKSANAAN (dgn PT SBI) + Link2 Materi Pelatihan _"Teknik Perhitungan TKDN, ...PELAKSANAAN (dgn PT SBI) + Link2 Materi Pelatihan _"Teknik Perhitungan TKDN, ...
PELAKSANAAN (dgn PT SBI) + Link2 Materi Pelatihan _"Teknik Perhitungan TKDN, ...
 
PPT Mean Median Modus data tunggal .pptx
PPT Mean Median Modus data tunggal .pptxPPT Mean Median Modus data tunggal .pptx
PPT Mean Median Modus data tunggal .pptx
 
Kanvas BAGJA prakarsa perubahan Ahyar.pdf
Kanvas BAGJA prakarsa perubahan Ahyar.pdfKanvas BAGJA prakarsa perubahan Ahyar.pdf
Kanvas BAGJA prakarsa perubahan Ahyar.pdf
 
Modul Ajar Bahasa Inggris - HOME SWEET HOME (Chapter 3) - Fase D.pdf
Modul Ajar Bahasa Inggris - HOME SWEET HOME (Chapter 3) - Fase D.pdfModul Ajar Bahasa Inggris - HOME SWEET HOME (Chapter 3) - Fase D.pdf
Modul Ajar Bahasa Inggris - HOME SWEET HOME (Chapter 3) - Fase D.pdf
 
DAFTAR PPPK GURU KABUPATEN PURWOREJO TAHUN 2024
DAFTAR PPPK GURU KABUPATEN PURWOREJO TAHUN 2024DAFTAR PPPK GURU KABUPATEN PURWOREJO TAHUN 2024
DAFTAR PPPK GURU KABUPATEN PURWOREJO TAHUN 2024
 
PPT PERUBAHAN LINGKUNGAN MATA PELAJARAN BIOLOGI KELAS X.pptx
PPT PERUBAHAN LINGKUNGAN MATA PELAJARAN BIOLOGI KELAS X.pptxPPT PERUBAHAN LINGKUNGAN MATA PELAJARAN BIOLOGI KELAS X.pptx
PPT PERUBAHAN LINGKUNGAN MATA PELAJARAN BIOLOGI KELAS X.pptx
 
Stoikiometri kelas 10 kurikulum Merdeka.ppt
Stoikiometri kelas 10 kurikulum Merdeka.pptStoikiometri kelas 10 kurikulum Merdeka.ppt
Stoikiometri kelas 10 kurikulum Merdeka.ppt
 
vIDEO kelayakan berita untuk mahasiswa.ppsx
vIDEO kelayakan berita untuk mahasiswa.ppsxvIDEO kelayakan berita untuk mahasiswa.ppsx
vIDEO kelayakan berita untuk mahasiswa.ppsx
 
Refleksi Mandiri Modul 1.3 - KANVAS BAGJA.pptx.pptx
Refleksi Mandiri Modul 1.3 - KANVAS BAGJA.pptx.pptxRefleksi Mandiri Modul 1.3 - KANVAS BAGJA.pptx.pptx
Refleksi Mandiri Modul 1.3 - KANVAS BAGJA.pptx.pptx
 
KELAS 10 PERUBAHAN LINGKUNGAN SMA KURIKULUM MERDEKA
KELAS 10 PERUBAHAN LINGKUNGAN SMA KURIKULUM MERDEKAKELAS 10 PERUBAHAN LINGKUNGAN SMA KURIKULUM MERDEKA
KELAS 10 PERUBAHAN LINGKUNGAN SMA KURIKULUM MERDEKA
 

Dasar dasar-php-codeigniter

  • 1. Bagian II Dasar-Dasar CodeIgniter 2.1 URI Dalam CodeIgniter CodeIgniter menyediakan dua alternatif pendekatan penggunaan URI (Uniform Resource Identifier) dalam aplikasi web yang dibangun dengan CodeIgniter. Pertama, secara default CodeIgniter menggunakan URI dengan pendekatan berbasis segmen (segment-based). Segmen-segmen URI yang digunakan dalam framework MVC CodeIgniter secara umum menggunakan format sebagai berikut: example.com/index.php/class/function/id1/id2/.... 1. Segmen pertama (“class”) adalah controller class yang akan dieksekusi. 2. Segmen kedua (“function”) adalah fungsi atau function atau method yang dipanggil 3. Segmen ketiga (“id1”,”id2”,...) dan seterusnya, adalah nilai atau parameter yang dikirim atau dilewatkan ke dalam class controller. Perhatikanlah contoh di bawah ini: http://localhost/codeigniter/index.php/info/info_detil/123 URI berbasis segmen seperti pada contoh di atas memiliki pengertian yang sama jika dituliskan dengan pendekatan alternatif kedua yaitu dengan cara melewatkan parameter query- string seperti contoh berikut ini: http://localhost/codeigniter/index.php?c=info&m=info_detil&id=123 Mengaktifkan Query-String Dalam beberapa kasus, mungkin Anda lebih suka penggunaan URL dengan pendekatan query-string. Anda dapat mengaktifkan penggunaan query-string dalam URI dengan memodifikasi file config.php (config/config.php). Kemudian lakukan setting nilai pada variabel-variabel berikut: $config[“enable_query_strings”] = TRUE; $config[“controller_trigger”] = “c”; $config[“function_trigger”] = “m”; Jika Anda menentukan nilai “enable_query_string” dengan nilai TRUE, ini berarti Anda mengaktifkan query-string. Controller dan Function akan dipanggil dengan cara melewatkan parameter query-string “c” dan “m” dengan format seperti berikut: http://localhost/codeigniter/index.php?c=controller&m=method&id=nilai contoh: example.com/index.php?c=info&m=info_detil&id=123
  • 2. Menambahkan Sufiks URL Misalkan Anda ingin menambahkan sufiks “.html” ke dalam URL seperti berikut: example.com/index.php/info/info_detil/123.html Anda dapat menentukan sendiri akhiran (sufiks) yang ditambahkan ke dalam URL yang tergenerasi oleh CodeIgniter dengan memodifikasi file config.php (config/config.php). Kemudian lakukan setting nilai sepeti contoh berikut: $config[“url_suffix”] = “.html”; 2.2 Controller Controller merupakan komponen framework MVC yang berfungsi sebagai gerbang awal pengaksesan sumber daya aplikasi dalam interaksinya dengan browser atau client. Controller adalah file-file class PHP yang diberi sebuah nama yang dihubungkan dengan lokasi sumber daya aplikasi yang diakses melalui URI. File-file ini secara default tersimpan dalam folder (system/application/controllers/). Perhatikanlah contoh URI berikut ini: example.com/index.php/greeting/ Seperti pada contoh URI di atas, CodeIgniter akan mencari sebuah controller yang cocok atau sesuai dengan segmen pertama dari URI di atas. Segmen pertama pada contoh URI di atas adalah “greeting”, artinya CodeIgniter akan mencari file class controller “greeting.php” untuk kemudian menjalankannya. Berikut ini adalah contoh sebuah file class controller “greeting.php”: <? class Greeting extends Controller { function index() { echo “Welcome to CodeIgniter!”; } } ?> Perlu diperhatikan bahwa pendefinisian nama class dalam file class controller harus diawali dengan huruf besar. Seperti pada contoh di atas, class controller “greeting” harus diberi nama “Greeting”. Selain itu pastikan juga bahwa class controller mewarisi (extends) class controller induk dengan cara menambahkan “extends Controller” agar dapat mewarisi seluruh function yang ada dalam class controller induk. Beri nama file kode PHP di atas dengan “greeting.php”dan simpan dalam folder “system/application/controllers/”. Kemudian akseslah file tersebut dengan mengetikkan URI berikut ke dalam browser Anda: http://localhost/codeigniter/index.php/greeting Anda akan mendapatkan hasil seperti berikut ini:
  • 3. Gambar 2.1 Pemanggilan Greeting Functions Apabila segmen kedua (function) dari URI tidak ditentukan, maka CodeIgniter secara default akan mengeksekusi function “index()”. Anda dapat melakukan cara yang lain untuk memanggil function index() dengan menggunakan URI berikut ini: http://localhost/codeigniter/index.php/greeting/index Segmen kedua dari sebuah URI berfungsi untuk menentukan function mana dari sebuah class controller yang akan dieksekusi. Berikut ini kita akan mencoba menambahkan sebuah function baru “indonesian()” ke dalam file class controller “greeting.php” di atas: <? class Greeting extends Controller { function index() { echo “Welcome to CodeIgniter!”; } function indonesian() { echo “Selamat Datang di CodeIgniter!”; } } ?> Kemudian akseslah file tersebut dengan mengetikkan URI berikut ke dalam browser Anda: http://localhost/codeigniter/index.php/greeting/indonesian Anda akan mendapatkan hasil baru yang berbeda seperti berikut ini:
  • 4. Gambar 2.2 Pemanggilan Greeting dengan penambahan segmen kedua Pemberian Nilai Pada Function Pemberian nilai pada function dalam sebuah controller dilakukan dengan cara menambahkan segmen ketiga, keempat dan seterusnya sebanyak nilai yang akan diberikan pada function (segmen kedua). Jika URI yang Anda tentukan memiliki lebih dari dua segmen, maka URI tersebut akan memberikan sejumlah parameter yang memiliki nilai ke dalam function (segmen kedua). Sebagai contoh, tambahkanlah sebuah function “complete()” ke dalam file class controller “greeting.php” di atas seperti berikut ini: <? class Greeting extends Controller { function index() { echo “Welcome to CodeIgniter!”; } function indonesian() { echo “Selamat Datang di CodeIgniter!”; } function complete($nama,$umur) { echo "Welcome to CodeIgniter <b>".$nama."</b>, your are now <b>".$umur."</b> years old"; } } ?> Kemudian akseslah file tersebut dengan mengetikkan URI berikut ke dalam browser Anda: http://localhost/codeigniter/index.php/greeting/complete/Yadi/30 Anda akan mendapatkan hasil baru yang berbeda seperti berikut ini:
  • 5. Gambar 2.3 Pemanggilan Greeting dengan pemberian nilai Menentukan Controller Default CodeIgniter secara otomatis akan mengeksekusi file class controller default apabila segmen tidak dituliskan ke dalam URI. Untuk menentukan controller default, lakukanlah modifikasi file “application/config/routes.php” dan ubah setting nilai variabel seperti contoh berikut: $route['default_controller'] = “greeting”; Seperti pada contoh di atas, “greeting” merupakan class controller yang akan dijadikan sebagai controller default. Dengan demikian jika pemanggilan dilakukan tanpa menspesifikasikan segmen pada URI, maka CodeIgniter akan mengakses dan menjalankan class controller “greeting” sebagai controller default. Perhatikan contoh pemanggilan tanpa menyertakan segmen URI berikut ini: http://localhost/codeigniter/index.php Gambar 2.4 Pemanggilan URI tanpa menyertakan segmen Pada contoh di atas, CodeIgniter melakukan pemanggilan controller default “greeting” sekaligus mengeksekusi function “index()” sebagai function default dalam class controller tersebut.