Slide struktur codeigneter

Cecilia Cintahta
Cecilia CintahtaSekretaris 2 em Kelompok Pelayanan GEMA
Materi Struktur CodeIgniter
• Kelompok NP 10-01
Nama :   Cicilia Natalia (30210115)
         Wildan Putra Delianda (30210158)
         Andika cherry Serano (30210167)
Struktur aplication or module
         (controller)
 Codeigniter memiliki struktur direktori
 tersendiri. Direktori utama CI berada
 di direktori system/application.
System
• Di dalam folder system, kita akan
  sering bekerja dengan folder
  controllers, models, dan views (dari
  konsep MVC, Model <-> Views <->
  Controller)
Folder Application
• Dalam folder ini,berisi kode-kode
  yang kita buat nantinya akan
  disimpan didalam folder yang sesuai.
  Model disimpan di folder
  models,controller di folder controller
  dan view di folder views.
Folder application
• Folder-folder yang ada direktori
  application adalah
• 1. models => menyimpan model yang
  dibuat
• 2. controller => tempat menyimpan semua
  file controller.
• 3. Folder config : tempat menyimpan
  semua file konfigurasi yang ada di aplikasi
  mulai dari database, router dan autoload
  dari aplikasi
Folder Application
• 4. Folder errors : tempat menyimpan
  semua template error aplikasi
• 5. Folder helpers : tempat menyimpan
  helper-helper yang bukan berasal dari CI
• 6. Folder hooks : tempat menyimpan
  hook yang digunakan untuk mengubah
  alur fungsi dari core CI
• 7. Folder language : tempat menyimpan
  bahasa-bahasa yang akan di gunakan
• 8. Folder libraries : tempat menyimpan
  semua library buatan kita sendiri
Folder application

• 9. Folder views tempat menyimpan
  semua file view applikasi.
folder-folder selanjutnya
• cache, untuk meyimpan caching dari
  website.
• 3. codeigniter, berisi file-file yang
  akan me-load inti dari framework.
• 4. database, berisi class-class yang
  akan digunakan untuk bekerja
  dengan
• basis data, termasuk didalamnya
  driver-driver untuk beberapa server
• basis data yang didukung oleh
  CodeIgniter.
• 5. fonts, digunakan untuk menyimpan font
  yang nanti akan kita gunakan di
• dalam website.
• 6. helpers, berisi helper.
• 7. language, digunakan untuk menyimpan
  file-file dukungan bahasa.
• .
• 8. libraries, berisi pustaka-pustaka
  yang disediakan untuk digunakan
  untuk
• pembuatan website.
• 9. logs, berisi file-file catatan yang
  mencatat log dari website kita.
• 10.plugins, untuk menyimpan plugin.
• 11.scafollding, berisi file-file untuk
  keperluan scafollding
Spesifikasi plugin
Plugin pada dasarnya hampir sama dengan helper. Perbedaan utama
antara plugin dan helper terletak pada jumlah fungsi. Sebuah helper dapat
terdiri dari beberapa fungsi, sedangkan sebuah plugin hanya mengandung
satu buah fungsi. Helper juga biasanya dianggap sebagai bagian dari
system utama dan dibuat oleh Tim pengembang CodeIgniter, sedangkan
plugin dimaksudan untuk dibuat dan disebarkan oleh komunitas.
Tata cara penggunaan plugin juga sama dengan cara penggunaan helper,
dimana untuk dapat menggunakan plugin dapat dilakukan dengan cara
konfigurasi pada file autoload.php atau melakukan proses loading pada
setiap controller yang akan menggunakan plugin. Konfigurasi pada
autoload.php adalah sebagai berikut:
$autoload['plugin'] = array(‘captcha’, ‘js_calendar’);

Untuk melakukan loading pada setiap controller yang akan menggunakan
plugin, dilakukan dengan sintak sebagai berikut:
$this->load->plugin(‘namaplugin’);

Namaplugin diambil dari nama file plugin, dikurangi ekstensi .php dan _pi.
Contoh apabila kita ingin me-load file captcha_pi.php, maka sintaknya
a
adalah sebagai berikut:
$this->load->plugin(‘captcha’);
Spesifikasi Library
• Library adalah sekumpulan kelas dan fungsi yang dibuat
  untuk membantu pengembang aplikasi untuk dapat
  membangun aplikasi dengan lebih cepat dan lebih efisien.
  Beberapa kelas sangat dibutuhkan dan hampir selalu
  digunakan setiap kita membangun aplikasi web,
  sedemikian sehingga kelas-kelas tersebut selalu kita atur
  supaya secara otomatis di-load oleh sistem dan dapat
  langsung digunakan. Contoh library yang hampir selalu
  digunakan dalam suatu web dinamis diantaranya adalah
  library database, session, input dan security.
  Di dalam CodeIgniter, library terbagi menjadi dua macam,
  yaitu library yang bersifat global dan library yang kita buat
  sendiri sesuai dengan kebutuhan. Library global terdiri dari
  kelas dan fungsi-fungsi yang telah disediakan oleh
  CodeIgniter, dan terletak pada folder system/libraries.
  Sedangkan library yang kita buat sendiri sesuai dengan
  kebutuhan ditempatkan pada folder application/libraries.
• Beberapa library yang wajib diketahui oleh setiap
  pengembang diantaranya adalah:
• Database, library ini menyediakan serangkaian fungsi-
  fungsi yang digunakan untuk mengakses database dan
  melakukan pengolahan data yang ada di dalam
  database.
• Input, library ini merupakan library yang digunakan
  untuk menangani dan memproses data-data yang
  berasal dari form. Misalkan apabila kita menggunakan
  form untuk memasukkan data maka library ini harus di-
  load supaya kita dapat melakukan pemrosesan data
  form.
• File Uploading, library ini merupakan library yang
  digunakan apabila kita akan membangun web yang
  dapat mengunggah (upload) file ke dalam web.
  Misalkan kita menginginkan supaya di dalam web kita
  ada fitur yang dapat digunakan untuk memasukkan file
  gambar ke dalam aplikasi web kita, maka digunakanlah
  library ini.
•   Session, library ini merupakan library yang digunakan untuk
    memelihara informasi status mengenai pengguna. Sebagai
    contoh misalkan kita membangun suatu website dimana
    pengunjung website tersebut harus melakukan proses login
    terlebih dahulu untuk masuk ke dalam suatu halaman, maka
    pada situasi seperti ini, library session harus di-load supaya
    kita dapat memelihara state dari pengunjung, sampai
    pengunjung tersebut logout.
•   URI Class, library ini berisi fungsi-fungsi yang membantu
    kita untuk mendapatkan informasi dari URI pada alamat web
    kita.
•   Validation, library ini digunakan untuk melakukan validasi
    terhadap form input yang ada pada aplikasi web kita.
•   Pagination, library ini berguna pada saat kita memiliki
    banyak data yang harus ditampilkan. Misalkan kita memiliki
    100 data, dimana ke-100 data ini akan ditampilkan ke dalam
    10 halaman (10 data / halaman). Untuk membuat 10 halaman
    yang masing-masing memuat 10 data dan masing-masing
    halaman terhubung satu sama lain, maka pagination
    merupakan library yang tepat untuk digunakan.
Spesifikasi Model
•   Model adalah komponen CodeIgniter yang dirancang untuk bekerja dengan
    informasi dalam database. Melalui model kita bisa membuat fungsi-fungsi yang
    dapat mengambil (retrieve), memasukkan (insert), menghapus (delete), maupun
    memutakhirkan (update) data.
•   Model dibuat dengan format sebagai berikut:
•
•   <? php class Nama_model extends Model {
•   function Nama_model()
    {
    parent::Model();
    }
    function nama_fungsi()
    {
•   }
    } ?>
•   Nama_model merupakan nama dari class yang kita buat. Nama dari class untuk
    model harus diawali dengan huruf capital. Pastikan bahwa setiap kita membuat
    class model, kita melakukan ‘extends’ terhadap class dasar dari Model. Nama
    konstruktor juga sama dengan nama dari class. Untuk nama fungsi biasanya diawali
    dengan huruf kecil.
•   File-file model yang kita buat, harus disimpan di dalam folder application/models.
    File-file ini seperti biasa disimpan dengan ekstensi .php, dimana nama file sama
    dengan nama class, tetapi semuanya menggunakan huruf kecil.
Spesifikasi Model
• Fungsi-fungsi dalam model, dapat kita gunakan setelah kita
  melakukan proses loading terhadap model yang telah kita
  buat. Proses loading ini dilakukan di dalam controller,
  sesuai dengan fungsi controller sebagai penghubung
  diantara komponen-komponen CodeIgniter. Sebaiknya
  model di-load di dalam konstruktor dari controller.
  Tujuannya supaya sekali di-load, semua fungsi yang ada di
  dalam controller dapat menggunakan model tersebut tanpa
  harus melakukan loading di setiap fungsi. Berikut sintak
  untuk melakukan loading suatu model:
• $this->load->model(‘nama_model’);
• Apabila model yang akan kita load berada pada folder
  tertentu, maka sintaknya:
• $this->load->model(‘nama_folder/nama_model’);
•
• Setelah model di-load, maka kita dapat mengakses fungsi-
  fungsi yang ada pada model dengan menggunakan sintak
  sebagai berikut:
• $this->nama_model->nama_fungsi();
•
Spesifikasi view
•   View dapat berupa satu tampilan utuh atau bisa juga terdiri dari beberapa
    view, dimana view-view ini merupakan bagian-bagian dari suatu halaman
    web seperti header, footer, sidebar, dan lainnya.
•   Sesuai dengan konsep MVC yang mendasari CodeIgniter, Controller
    berperan sebagai penghubung antara berbagai komponen yang
    dibutuhkan CodeIgniter untuk memproses request dari browser. Oleh
    karenanya view tidak bisa langsung dipanggil untuk melakukan sesuatu,
    tetapi harus dipanggil melalui controller.
•   Untuk melihat keterkaitan antara controller dan view dalam menampilkan
    suatu halaman web, mari kita buat suatu file dengan nama testview.php
    dengan kode seperti berikut ini:
•   <html>
    <head>
    <title>Testing View</title>
    </head>
    <body>
    <h1>Hallo. Anda telah sukses membuat view</h1>
    </body>
    </html>
•   Simpan kode di atas ke dalam folder application/views.
Controller
•   Controller berfungsi sebagai penghubung antara komponen-komponen
    yang dibutuhkan untuk memproses HTTP request dan menghasilkan
    halaman web. Terkait dengan fungsinya tersebut, maka controller akan
    berhubungan langsung dengan URI. Perhatikan contoh URI berikut ini:
•   http://localhost/index.php/test/
•   Pada contoh di atas, CodeIgniter akan mencoba mencari controller yang
    bernama test.php dan kemudian mengeksekusi file controller tersebut.
    Untuk membuktikannya, mari kita buat file test.php. File test.php dapat
    dibuat dengan menggunakan aplikasi text editor seperti Notepad, Notepad+
    +, Wordpad, EditPlus, Macromedia Dremweaver, dsb. Di dalam text editor
    yang kita gunakan, tuliskan kode berikut:
•   <?php
    class Test extends Controller {
•   function index()
    {
    echo ‘Hello World!’;
    }
    }
    ?>
• Perlu selalu diingat bahwa nama dari setiap classcontroller
  yang kita buat harus diawali dengan huruf kapital.
  Setiapclass yang kita buat juga harus extends Controller
  supaya mewarisi fungsi-fungsi classcontroller dan dikenali
  sebagai controller. File controller yang kita buat harus
  disimpan dengan format .phpdimana nama file harus sama
  dengan nama class tetapi nama file harus dimulai dengan
  huruf kecil. Seperti pada contoh di atas, nama class adalah
  Test dimana class ini extends Controller dan disimpan
  dengan nama test.php.
• Setiap controller minimal terdiri dari satu fungsi. Pada
  controller Test yang baru saja kita buat, fungsi yang kita
  buat adalah fungsi index(). Fungsi index() merupakan
  fungsi yang secara default akan dipanggil apabila argumen
  kedua pada URL kosong. Jadi ketika kita mengakses
  alamat http://localhost/index.php/test maka sebenarnya
  kita sedang mengakses fungsi index() padacontroller test.
  Hasil yang sama akan didapatkan apabila kita mengakes
  alamat http://localhost/index.php/test/index
•   Berikut kode dari fungsi tersebut:
•   <?php
    class Test extends Controller {
•   function index()
    {
    echo ‘Hello World!’;
    }
    function welcome()
    {
    echo ‘Selamat anda telah membuat fungsi!’;
    }
    }
    ?>
Aliran data
•   Gambar berikut ini menggambarkan aliran data dalam sistem:




•   Berikut penjelasan dari gambar di atas:
•   ‘index.php’ berperan sebagai controller terdepan, memulai sumber
    daya utama untuk menjalankan CodeIgniter.
•   Router memeriksa request HTTP untuk menentukan apa yang
    seharusnya dilakukan.
•   Jika terdapat file cache, maka file tersebut langsung dikirim ke
    browser, melampaui eksekusi sistem secara normal.
• Sebelum controller aplikasi dijalankan, request
  HTTP dan setiap data yang dimasukkan user
  disaring untuk keperluan keamanan.
• Controller memanggil model, library, plugin,
  helper dan sumber daya lainnya yang diperlukan
  untuk memproses request.
• Data dari controller kemudian dirender di View
  dan dikirim ke browser.
1 de 22

Recomendados

Dasar dasar-php-codeigniter por
Dasar dasar-php-codeigniterDasar dasar-php-codeigniter
Dasar dasar-php-codeigniterdicky prasetya
3.1K visualizações6 slides
Codeigniter lanjut helper dan library por
Codeigniter lanjut helper dan libraryCodeigniter lanjut helper dan library
Codeigniter lanjut helper dan libraryboys of separato
3.1K visualizações26 slides
Belajar membuat modul crud di laravel 5 por
Belajar membuat modul crud di laravel 5Belajar membuat modul crud di laravel 5
Belajar membuat modul crud di laravel 5Welly Rosadi, Mochamad
204 visualizações14 slides
Menampilkan data pada Database MySQL di JSP(Java Server Page) por
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)fahmi azain
5.7K visualizações6 slides
Modul pelatihan-django-dasar-possupi-v1 por
Modul pelatihan-django-dasar-possupi-v1Modul pelatihan-django-dasar-possupi-v1
Modul pelatihan-django-dasar-possupi-v1Ridwan Fadjar
4K visualizações30 slides
Tugas 4 rekayasa web 0316 por
Tugas 4 rekayasa web 0316Tugas 4 rekayasa web 0316
Tugas 4 rekayasa web 0316art david
158 visualizações10 slides

Mais conteúdo relacionado

Mais procurados

Tug as por
Tug asTug as
Tug asAfi Ijal
871 visualizações6 slides
Source File Compilation & Make Program por
Source File Compilation & Make ProgramSource File Compilation & Make Program
Source File Compilation & Make ProgramI Putu Arya Dharmaadi
698 visualizações18 slides
Kolaborasi jQuery, AJAX, PHP, dan MySQL por
Kolaborasi jQuery, AJAX, PHP, dan MySQLKolaborasi jQuery, AJAX, PHP, dan MySQL
Kolaborasi jQuery, AJAX, PHP, dan MySQLI Putu Arya Dharmaadi
1.2K visualizações27 slides
tutorial jsf bagian 1 por
tutorial jsf bagian 1tutorial jsf bagian 1
tutorial jsf bagian 1Jogal
710 visualizações8 slides
Jamal aplikasicrud por
Jamal aplikasicrudJamal aplikasicrud
Jamal aplikasicrudmales Aja
259 visualizações35 slides
Menggunakan database di android por
Menggunakan database di androidMenggunakan database di android
Menggunakan database di androidInto Setiawan
191 visualizações8 slides

Mais procurados(18)

Tug as por Afi Ijal
Tug asTug as
Tug as
Afi Ijal871 visualizações
Source File Compilation & Make Program por I Putu Arya Dharmaadi
Source File Compilation & Make ProgramSource File Compilation & Make Program
Source File Compilation & Make Program
I Putu Arya Dharmaadi698 visualizações
Kolaborasi jQuery, AJAX, PHP, dan MySQL por I Putu Arya Dharmaadi
Kolaborasi jQuery, AJAX, PHP, dan MySQLKolaborasi jQuery, AJAX, PHP, dan MySQL
Kolaborasi jQuery, AJAX, PHP, dan MySQL
I Putu Arya Dharmaadi1.2K visualizações
tutorial jsf bagian 1 por Jogal
tutorial jsf bagian 1tutorial jsf bagian 1
tutorial jsf bagian 1
Jogal710 visualizações
Jamal aplikasicrud por males Aja
Jamal aplikasicrudJamal aplikasicrud
Jamal aplikasicrud
males Aja259 visualizações
Menggunakan database di android por Into Setiawan
Menggunakan database di androidMenggunakan database di android
Menggunakan database di android
Into Setiawan191 visualizações
Instalasi Odoo ERP pada Ubuntu WSL di Windows por Aziz Adi Nugroho
Instalasi Odoo ERP pada Ubuntu WSL di WindowsInstalasi Odoo ERP pada Ubuntu WSL di Windows
Instalasi Odoo ERP pada Ubuntu WSL di Windows
Aziz Adi Nugroho304 visualizações
Belajar framework code igniter xii rpl por Denny Yahya
Belajar framework code igniter xii rplBelajar framework code igniter xii rpl
Belajar framework code igniter xii rpl
Denny Yahya332 visualizações
Membuat Aplikasi/Modul di Odoo ERP por Aziz Adi Nugroho
Membuat Aplikasi/Modul di Odoo ERPMembuat Aplikasi/Modul di Odoo ERP
Membuat Aplikasi/Modul di Odoo ERP
Aziz Adi Nugroho538 visualizações
Tutorial ci por Denish Anugra
Tutorial ciTutorial ci
Tutorial ci
Denish Anugra2.5K visualizações
Tugas 1 por nurul azmi
Tugas 1Tugas 1
Tugas 1
nurul azmi24 visualizações
Pengenalan Framework CodeIgniter por I Putu Arya Dharmaadi
Pengenalan Framework CodeIgniterPengenalan Framework CodeIgniter
Pengenalan Framework CodeIgniter
I Putu Arya Dharmaadi2.1K visualizações
Tugas resume aplinet (edi,vani,risky) por Koplak Koplakan
Tugas resume aplinet (edi,vani,risky)Tugas resume aplinet (edi,vani,risky)
Tugas resume aplinet (edi,vani,risky)
Koplak Koplakan384 visualizações
Bab ii por Helmita putri
Bab iiBab ii
Bab ii
Helmita putri220 visualizações
Php module hierarchical por Wahyu Bimo
Php module hierarchicalPhp module hierarchical
Php module hierarchical
Wahyu Bimo1.4K visualizações
Aplikasi JSP dengan netbeans por Jogal
Aplikasi JSP dengan netbeansAplikasi JSP dengan netbeans
Aplikasi JSP dengan netbeans
Jogal12.8K visualizações
Tugas 1 rekayasa web por Nasrul Akbar
Tugas 1 rekayasa webTugas 1 rekayasa web
Tugas 1 rekayasa web
Nasrul Akbar100 visualizações

Similar a Slide struktur codeigneter

Kelompok 7 por
Kelompok 7Kelompok 7
Kelompok 7Rita Ajah
518 visualizações20 slides
Modul 05 Framework CodeIgniter.pdf por
Modul 05 Framework CodeIgniter.pdfModul 05 Framework CodeIgniter.pdf
Modul 05 Framework CodeIgniter.pdfSetiya Nugroho
10.5K visualizações14 slides
Tutorial ci por
Tutorial ciTutorial ci
Tutorial ciWira Hul
459 visualizações19 slides
Materi-bab1.pptx por
Materi-bab1.pptxMateri-bab1.pptx
Materi-bab1.pptxAhmadFaid4
3 visualizações17 slides
Fundamental Django, dan Contoh Program CRUD Katalog Buku Perpustakaan. por
Fundamental Django, dan Contoh Program CRUD Katalog Buku Perpustakaan.Fundamental Django, dan Contoh Program CRUD Katalog Buku Perpustakaan.
Fundamental Django, dan Contoh Program CRUD Katalog Buku Perpustakaan.Aldion Amirrul
195 visualizações38 slides
Kajian4 Kelompok 6 por
Kajian4 Kelompok 6Kajian4 Kelompok 6
Kajian4 Kelompok 6Eidelbert Sinaga
302 visualizações29 slides

Similar a Slide struktur codeigneter(20)

Kelompok 7 por Rita Ajah
Kelompok 7Kelompok 7
Kelompok 7
Rita Ajah518 visualizações
Modul 05 Framework CodeIgniter.pdf por Setiya Nugroho
Modul 05 Framework CodeIgniter.pdfModul 05 Framework CodeIgniter.pdf
Modul 05 Framework CodeIgniter.pdf
Setiya Nugroho10.5K visualizações
Tutorial ci por Wira Hul
Tutorial ciTutorial ci
Tutorial ci
Wira Hul459 visualizações
Materi-bab1.pptx por AhmadFaid4
Materi-bab1.pptxMateri-bab1.pptx
Materi-bab1.pptx
AhmadFaid43 visualizações
Fundamental Django, dan Contoh Program CRUD Katalog Buku Perpustakaan. por Aldion Amirrul
Fundamental Django, dan Contoh Program CRUD Katalog Buku Perpustakaan.Fundamental Django, dan Contoh Program CRUD Katalog Buku Perpustakaan.
Fundamental Django, dan Contoh Program CRUD Katalog Buku Perpustakaan.
Aldion Amirrul195 visualizações
Kajian4 Kelompok 6 por Eidelbert Sinaga
Kajian4 Kelompok 6Kajian4 Kelompok 6
Kajian4 Kelompok 6
Eidelbert Sinaga302 visualizações
Modul Pelatihan CodeIgniter Dasar por Ridwan Fadjar
Modul Pelatihan CodeIgniter DasarModul Pelatihan CodeIgniter Dasar
Modul Pelatihan CodeIgniter Dasar
Ridwan Fadjar7.5K visualizações
Chapter 1 perkenalan code igniter 2.0 por Andarias Jacob Calvyn
Chapter 1 perkenalan code igniter 2.0Chapter 1 perkenalan code igniter 2.0
Chapter 1 perkenalan code igniter 2.0
Andarias Jacob Calvyn156 visualizações
Belajar Framework CodeIgnitier Lengkap (bahasa Indonesia) por riarel
Belajar Framework CodeIgnitier Lengkap (bahasa Indonesia)Belajar Framework CodeIgnitier Lengkap (bahasa Indonesia)
Belajar Framework CodeIgnitier Lengkap (bahasa Indonesia)
riarel888 visualizações
Plugin chapter-12-materi-kuliah-web-framework1-pengenalan-web-framework por Muhammad Rio
Plugin chapter-12-materi-kuliah-web-framework1-pengenalan-web-frameworkPlugin chapter-12-materi-kuliah-web-framework1-pengenalan-web-framework
Plugin chapter-12-materi-kuliah-web-framework1-pengenalan-web-framework
Muhammad Rio1.3K visualizações
Belajar php-dengan-framework-code-igniter por Muhammad Rais
Belajar php-dengan-framework-code-igniterBelajar php-dengan-framework-code-igniter
Belajar php-dengan-framework-code-igniter
Muhammad Rais3.5K visualizações
Php dgn frame work code ignitier por Haswi Haswi
Php dgn frame work code ignitierPhp dgn frame work code ignitier
Php dgn frame work code ignitier
Haswi Haswi394 visualizações
Belajar php-dengan-framework-code-igniter por George Kartutu
Belajar php-dengan-framework-code-igniterBelajar php-dengan-framework-code-igniter
Belajar php-dengan-framework-code-igniter
George Kartutu393 visualizações
Php dgn framework code ignitier por Albertz Ace-Red
Php dgn framework code ignitierPhp dgn framework code ignitier
Php dgn framework code ignitier
Albertz Ace-Red98 visualizações
Belajar php dengan framework code igniter3 por iimpunya3
Belajar php dengan framework code igniter3Belajar php dengan framework code igniter3
Belajar php dengan framework code igniter3
iimpunya3426 visualizações
Belajar php-dengan-framework-code-igniter1 por Al-dhimas Purnama
Belajar php-dengan-framework-code-igniter1Belajar php-dengan-framework-code-igniter1
Belajar php-dengan-framework-code-igniter1
Al-dhimas Purnama572 visualizações
Pengenalan code igniter por KhairulMustofa2
Pengenalan code igniterPengenalan code igniter
Pengenalan code igniter
KhairulMustofa222 visualizações
Modul1 Penjelasan Mengenai Codeigniter por Riki Afriansyah
Modul1 Penjelasan Mengenai CodeigniterModul1 Penjelasan Mengenai Codeigniter
Modul1 Penjelasan Mengenai Codeigniter
Riki Afriansyah100 visualizações
Tugas 3 por ibonk201
Tugas 3Tugas 3
Tugas 3
ibonk201131 visualizações
Wawan tutorial-zend-bagian-1-3 por Haswi Haswi
Wawan tutorial-zend-bagian-1-3Wawan tutorial-zend-bagian-1-3
Wawan tutorial-zend-bagian-1-3
Haswi Haswi370 visualizações

Último

Digitalisasi Pertanian por
Digitalisasi PertanianDigitalisasi Pertanian
Digitalisasi PertanianAbdCharisFauzan
5 visualizações11 slides
LATIHAN7_HEPIMAYASARI_E1G017085.pptx por
LATIHAN7_HEPIMAYASARI_E1G017085.pptxLATIHAN7_HEPIMAYASARI_E1G017085.pptx
LATIHAN7_HEPIMAYASARI_E1G017085.pptxhepimayasari28
14 visualizações9 slides
Yohanes silaen E1G022043.pptx por
Yohanes silaen E1G022043.pptxYohanes silaen E1G022043.pptx
Yohanes silaen E1G022043.pptxyohanessilaen6
5 visualizações8 slides
1-zv2Thh900fnv_bslVdRio9ojEMA3DO2lH0DSVPlzYM.pptx por
1-zv2Thh900fnv_bslVdRio9ojEMA3DO2lH0DSVPlzYM.pptx1-zv2Thh900fnv_bslVdRio9ojEMA3DO2lH0DSVPlzYM.pptx
1-zv2Thh900fnv_bslVdRio9ojEMA3DO2lH0DSVPlzYM.pptxichannudin1
7 visualizações23 slides
Latihan 6_Novelia Tamba_E1G022063-1.pptx por
Latihan 6_Novelia Tamba_E1G022063-1.pptxLatihan 6_Novelia Tamba_E1G022063-1.pptx
Latihan 6_Novelia Tamba_E1G022063-1.pptxnoveliatamba
14 visualizações6 slides
DITHYA HUTASOIT_E1G022069.pptx por
DITHYA HUTASOIT_E1G022069.pptxDITHYA HUTASOIT_E1G022069.pptx
DITHYA HUTASOIT_E1G022069.pptxDithyaHutasoit
6 visualizações6 slides

Último(7)

Digitalisasi Pertanian por AbdCharisFauzan
Digitalisasi PertanianDigitalisasi Pertanian
Digitalisasi Pertanian
AbdCharisFauzan5 visualizações
LATIHAN7_HEPIMAYASARI_E1G017085.pptx por hepimayasari28
LATIHAN7_HEPIMAYASARI_E1G017085.pptxLATIHAN7_HEPIMAYASARI_E1G017085.pptx
LATIHAN7_HEPIMAYASARI_E1G017085.pptx
hepimayasari2814 visualizações
Yohanes silaen E1G022043.pptx por yohanessilaen6
Yohanes silaen E1G022043.pptxYohanes silaen E1G022043.pptx
Yohanes silaen E1G022043.pptx
yohanessilaen65 visualizações
1-zv2Thh900fnv_bslVdRio9ojEMA3DO2lH0DSVPlzYM.pptx por ichannudin1
1-zv2Thh900fnv_bslVdRio9ojEMA3DO2lH0DSVPlzYM.pptx1-zv2Thh900fnv_bslVdRio9ojEMA3DO2lH0DSVPlzYM.pptx
1-zv2Thh900fnv_bslVdRio9ojEMA3DO2lH0DSVPlzYM.pptx
ichannudin17 visualizações
Latihan 6_Novelia Tamba_E1G022063-1.pptx por noveliatamba
Latihan 6_Novelia Tamba_E1G022063-1.pptxLatihan 6_Novelia Tamba_E1G022063-1.pptx
Latihan 6_Novelia Tamba_E1G022063-1.pptx
noveliatamba14 visualizações
DITHYA HUTASOIT_E1G022069.pptx por DithyaHutasoit
DITHYA HUTASOIT_E1G022069.pptxDITHYA HUTASOIT_E1G022069.pptx
DITHYA HUTASOIT_E1G022069.pptx
DithyaHutasoit6 visualizações
TugasPenkom6_Mohammad Alfarezi_E1G022091.pdf por arezi787
TugasPenkom6_Mohammad Alfarezi_E1G022091.pdfTugasPenkom6_Mohammad Alfarezi_E1G022091.pdf
TugasPenkom6_Mohammad Alfarezi_E1G022091.pdf
arezi7879 visualizações

Slide struktur codeigneter

  • 1. Materi Struktur CodeIgniter • Kelompok NP 10-01 Nama : Cicilia Natalia (30210115) Wildan Putra Delianda (30210158) Andika cherry Serano (30210167)
  • 2. Struktur aplication or module (controller) Codeigniter memiliki struktur direktori tersendiri. Direktori utama CI berada di direktori system/application.
  • 3. System • Di dalam folder system, kita akan sering bekerja dengan folder controllers, models, dan views (dari konsep MVC, Model <-> Views <-> Controller)
  • 4. Folder Application • Dalam folder ini,berisi kode-kode yang kita buat nantinya akan disimpan didalam folder yang sesuai. Model disimpan di folder models,controller di folder controller dan view di folder views.
  • 5. Folder application • Folder-folder yang ada direktori application adalah • 1. models => menyimpan model yang dibuat • 2. controller => tempat menyimpan semua file controller. • 3. Folder config : tempat menyimpan semua file konfigurasi yang ada di aplikasi mulai dari database, router dan autoload dari aplikasi
  • 6. Folder Application • 4. Folder errors : tempat menyimpan semua template error aplikasi • 5. Folder helpers : tempat menyimpan helper-helper yang bukan berasal dari CI • 6. Folder hooks : tempat menyimpan hook yang digunakan untuk mengubah alur fungsi dari core CI • 7. Folder language : tempat menyimpan bahasa-bahasa yang akan di gunakan • 8. Folder libraries : tempat menyimpan semua library buatan kita sendiri
  • 7. Folder application • 9. Folder views tempat menyimpan semua file view applikasi.
  • 8. folder-folder selanjutnya • cache, untuk meyimpan caching dari website. • 3. codeigniter, berisi file-file yang akan me-load inti dari framework. • 4. database, berisi class-class yang akan digunakan untuk bekerja dengan • basis data, termasuk didalamnya driver-driver untuk beberapa server
  • 9. • basis data yang didukung oleh CodeIgniter. • 5. fonts, digunakan untuk menyimpan font yang nanti akan kita gunakan di • dalam website. • 6. helpers, berisi helper. • 7. language, digunakan untuk menyimpan file-file dukungan bahasa. • .
  • 10. • 8. libraries, berisi pustaka-pustaka yang disediakan untuk digunakan untuk • pembuatan website. • 9. logs, berisi file-file catatan yang mencatat log dari website kita. • 10.plugins, untuk menyimpan plugin. • 11.scafollding, berisi file-file untuk keperluan scafollding
  • 11. Spesifikasi plugin Plugin pada dasarnya hampir sama dengan helper. Perbedaan utama antara plugin dan helper terletak pada jumlah fungsi. Sebuah helper dapat terdiri dari beberapa fungsi, sedangkan sebuah plugin hanya mengandung satu buah fungsi. Helper juga biasanya dianggap sebagai bagian dari system utama dan dibuat oleh Tim pengembang CodeIgniter, sedangkan plugin dimaksudan untuk dibuat dan disebarkan oleh komunitas. Tata cara penggunaan plugin juga sama dengan cara penggunaan helper, dimana untuk dapat menggunakan plugin dapat dilakukan dengan cara konfigurasi pada file autoload.php atau melakukan proses loading pada setiap controller yang akan menggunakan plugin. Konfigurasi pada autoload.php adalah sebagai berikut: $autoload['plugin'] = array(‘captcha’, ‘js_calendar’); Untuk melakukan loading pada setiap controller yang akan menggunakan plugin, dilakukan dengan sintak sebagai berikut: $this->load->plugin(‘namaplugin’); Namaplugin diambil dari nama file plugin, dikurangi ekstensi .php dan _pi. Contoh apabila kita ingin me-load file captcha_pi.php, maka sintaknya a adalah sebagai berikut: $this->load->plugin(‘captcha’);
  • 12. Spesifikasi Library • Library adalah sekumpulan kelas dan fungsi yang dibuat untuk membantu pengembang aplikasi untuk dapat membangun aplikasi dengan lebih cepat dan lebih efisien. Beberapa kelas sangat dibutuhkan dan hampir selalu digunakan setiap kita membangun aplikasi web, sedemikian sehingga kelas-kelas tersebut selalu kita atur supaya secara otomatis di-load oleh sistem dan dapat langsung digunakan. Contoh library yang hampir selalu digunakan dalam suatu web dinamis diantaranya adalah library database, session, input dan security. Di dalam CodeIgniter, library terbagi menjadi dua macam, yaitu library yang bersifat global dan library yang kita buat sendiri sesuai dengan kebutuhan. Library global terdiri dari kelas dan fungsi-fungsi yang telah disediakan oleh CodeIgniter, dan terletak pada folder system/libraries. Sedangkan library yang kita buat sendiri sesuai dengan kebutuhan ditempatkan pada folder application/libraries.
  • 13. • Beberapa library yang wajib diketahui oleh setiap pengembang diantaranya adalah: • Database, library ini menyediakan serangkaian fungsi- fungsi yang digunakan untuk mengakses database dan melakukan pengolahan data yang ada di dalam database. • Input, library ini merupakan library yang digunakan untuk menangani dan memproses data-data yang berasal dari form. Misalkan apabila kita menggunakan form untuk memasukkan data maka library ini harus di- load supaya kita dapat melakukan pemrosesan data form. • File Uploading, library ini merupakan library yang digunakan apabila kita akan membangun web yang dapat mengunggah (upload) file ke dalam web. Misalkan kita menginginkan supaya di dalam web kita ada fitur yang dapat digunakan untuk memasukkan file gambar ke dalam aplikasi web kita, maka digunakanlah library ini.
  • 14. Session, library ini merupakan library yang digunakan untuk memelihara informasi status mengenai pengguna. Sebagai contoh misalkan kita membangun suatu website dimana pengunjung website tersebut harus melakukan proses login terlebih dahulu untuk masuk ke dalam suatu halaman, maka pada situasi seperti ini, library session harus di-load supaya kita dapat memelihara state dari pengunjung, sampai pengunjung tersebut logout. • URI Class, library ini berisi fungsi-fungsi yang membantu kita untuk mendapatkan informasi dari URI pada alamat web kita. • Validation, library ini digunakan untuk melakukan validasi terhadap form input yang ada pada aplikasi web kita. • Pagination, library ini berguna pada saat kita memiliki banyak data yang harus ditampilkan. Misalkan kita memiliki 100 data, dimana ke-100 data ini akan ditampilkan ke dalam 10 halaman (10 data / halaman). Untuk membuat 10 halaman yang masing-masing memuat 10 data dan masing-masing halaman terhubung satu sama lain, maka pagination merupakan library yang tepat untuk digunakan.
  • 15. Spesifikasi Model • Model adalah komponen CodeIgniter yang dirancang untuk bekerja dengan informasi dalam database. Melalui model kita bisa membuat fungsi-fungsi yang dapat mengambil (retrieve), memasukkan (insert), menghapus (delete), maupun memutakhirkan (update) data. • Model dibuat dengan format sebagai berikut: • • <? php class Nama_model extends Model { • function Nama_model() { parent::Model(); } function nama_fungsi() { • } } ?> • Nama_model merupakan nama dari class yang kita buat. Nama dari class untuk model harus diawali dengan huruf capital. Pastikan bahwa setiap kita membuat class model, kita melakukan ‘extends’ terhadap class dasar dari Model. Nama konstruktor juga sama dengan nama dari class. Untuk nama fungsi biasanya diawali dengan huruf kecil. • File-file model yang kita buat, harus disimpan di dalam folder application/models. File-file ini seperti biasa disimpan dengan ekstensi .php, dimana nama file sama dengan nama class, tetapi semuanya menggunakan huruf kecil.
  • 16. Spesifikasi Model • Fungsi-fungsi dalam model, dapat kita gunakan setelah kita melakukan proses loading terhadap model yang telah kita buat. Proses loading ini dilakukan di dalam controller, sesuai dengan fungsi controller sebagai penghubung diantara komponen-komponen CodeIgniter. Sebaiknya model di-load di dalam konstruktor dari controller. Tujuannya supaya sekali di-load, semua fungsi yang ada di dalam controller dapat menggunakan model tersebut tanpa harus melakukan loading di setiap fungsi. Berikut sintak untuk melakukan loading suatu model: • $this->load->model(‘nama_model’); • Apabila model yang akan kita load berada pada folder tertentu, maka sintaknya: • $this->load->model(‘nama_folder/nama_model’); • • Setelah model di-load, maka kita dapat mengakses fungsi- fungsi yang ada pada model dengan menggunakan sintak sebagai berikut: • $this->nama_model->nama_fungsi(); •
  • 17. Spesifikasi view • View dapat berupa satu tampilan utuh atau bisa juga terdiri dari beberapa view, dimana view-view ini merupakan bagian-bagian dari suatu halaman web seperti header, footer, sidebar, dan lainnya. • Sesuai dengan konsep MVC yang mendasari CodeIgniter, Controller berperan sebagai penghubung antara berbagai komponen yang dibutuhkan CodeIgniter untuk memproses request dari browser. Oleh karenanya view tidak bisa langsung dipanggil untuk melakukan sesuatu, tetapi harus dipanggil melalui controller. • Untuk melihat keterkaitan antara controller dan view dalam menampilkan suatu halaman web, mari kita buat suatu file dengan nama testview.php dengan kode seperti berikut ini: • <html> <head> <title>Testing View</title> </head> <body> <h1>Hallo. Anda telah sukses membuat view</h1> </body> </html> • Simpan kode di atas ke dalam folder application/views.
  • 18. Controller • Controller berfungsi sebagai penghubung antara komponen-komponen yang dibutuhkan untuk memproses HTTP request dan menghasilkan halaman web. Terkait dengan fungsinya tersebut, maka controller akan berhubungan langsung dengan URI. Perhatikan contoh URI berikut ini: • http://localhost/index.php/test/ • Pada contoh di atas, CodeIgniter akan mencoba mencari controller yang bernama test.php dan kemudian mengeksekusi file controller tersebut. Untuk membuktikannya, mari kita buat file test.php. File test.php dapat dibuat dengan menggunakan aplikasi text editor seperti Notepad, Notepad+ +, Wordpad, EditPlus, Macromedia Dremweaver, dsb. Di dalam text editor yang kita gunakan, tuliskan kode berikut: • <?php class Test extends Controller { • function index() { echo ‘Hello World!’; } } ?>
  • 19. • Perlu selalu diingat bahwa nama dari setiap classcontroller yang kita buat harus diawali dengan huruf kapital. Setiapclass yang kita buat juga harus extends Controller supaya mewarisi fungsi-fungsi classcontroller dan dikenali sebagai controller. File controller yang kita buat harus disimpan dengan format .phpdimana nama file harus sama dengan nama class tetapi nama file harus dimulai dengan huruf kecil. Seperti pada contoh di atas, nama class adalah Test dimana class ini extends Controller dan disimpan dengan nama test.php. • Setiap controller minimal terdiri dari satu fungsi. Pada controller Test yang baru saja kita buat, fungsi yang kita buat adalah fungsi index(). Fungsi index() merupakan fungsi yang secara default akan dipanggil apabila argumen kedua pada URL kosong. Jadi ketika kita mengakses alamat http://localhost/index.php/test maka sebenarnya kita sedang mengakses fungsi index() padacontroller test. Hasil yang sama akan didapatkan apabila kita mengakes alamat http://localhost/index.php/test/index
  • 20. Berikut kode dari fungsi tersebut: • <?php class Test extends Controller { • function index() { echo ‘Hello World!’; } function welcome() { echo ‘Selamat anda telah membuat fungsi!’; } } ?>
  • 21. Aliran data • Gambar berikut ini menggambarkan aliran data dalam sistem: • Berikut penjelasan dari gambar di atas: • ‘index.php’ berperan sebagai controller terdepan, memulai sumber daya utama untuk menjalankan CodeIgniter. • Router memeriksa request HTTP untuk menentukan apa yang seharusnya dilakukan. • Jika terdapat file cache, maka file tersebut langsung dikirim ke browser, melampaui eksekusi sistem secara normal.
  • 22. • Sebelum controller aplikasi dijalankan, request HTTP dan setiap data yang dimasukkan user disaring untuk keperluan keamanan. • Controller memanggil model, library, plugin, helper dan sumber daya lainnya yang diperlukan untuk memproses request. • Data dari controller kemudian dirender di View dan dikirim ke browser.