Modul CodeIgniter Update Lengkap [PDF]

  • 0 0 0
  • Suka dengan makalah ini dan mengunduhnya? Anda bisa menerbitkan file PDF Anda sendiri secara online secara gratis dalam beberapa menit saja! Sign Up
File loading please wait...
Citation preview

Modul Pelatihan Pemrograman Framework Office: Jl. Olat Maras Sumbawa Besar, NTB Website: uts.ac.id Email: [email protected] Univeristas Teknologi Sumbawa



KATA PENGANTAR Segala puji dan syukur penulis panjatkan ke hadirat Allah Swt. Alhamdulillahi Rabbil ’Aalamin, atas limpahan rahmat dan karunia-Nya penulis dapat menyelesaikan penyusunan modul ini. Shalawat dan salam dengan ucapan Allahumma sholli ’ala Muhammad wa ’ala ali Muhammad penulis sampaikan untuk junjungan kita Nabi besar Muhammad Saw. Modul ini disusun untuk memenuhi kebutuhan pengajaran menggunakan CodeIgniterr dalam rangka meningkatkan pengetahuan pembaca dalam menggunakan framework untuk membuat Aplikasi berbasis Website dengan menggunakan CodeIgniter. Maka modul ini disusun dengan kualifikasi merangkum semua tahap-tahap yang ada didalam CodeIgniter, dengan teknik penyajiannya dilakukan secara bertahap. Hal ini dilakukan untuk menghindari pengulangan dan ketidak pahaman pembaca karena tahap yang tidak teratur. Seperti layaknya sebuah modul, maka pembahasan dimulai dengan menjelaskan tujuan yang hendak dicapai. Dengan demikian pengguna modul ini secara mandiri dapat membuat Aplikasi berbasis Website dengan menggunakan CodeIgniter. Penulis menyadari sepenuhnya bahwa modul ini tentu punya banyak kekurangan. Untuk itu penulis dengan berlapang dada menerima masukan dan kritikan konstruktif dari berbagai pihak demi kesempurnaannya di masa yang akan datang. Akhirnya kepada Allah jualah penulis bermohon semoga semua ini menjadi amal saleh bagi penulis dan bermanfaat bagi pembaca.



Sumbawa, Pebruari 2021 Penulis, I Made Widiarta, S.Komp, M. M. Inov



DAFTAR ISI Tentang Kami Kata Pengantar Daftar Isi BAB 1. TUTORIAL CODEIGNITER .......................................................................... 1 1. HOME ................................................................................................................ 1 1.1. Apa Itu CodeIgniter? ................................................................................... 1 1.2. User / Pemakai ............................................................................................. 1 1.3. Kelebihan CodeIgniter ................................................................................. 1 2. OVERVIEW ..................................................................................................... 1 3. INSTILING APPLICATION .......................................................................... 2 4. APPLICATION ARCHITECTURE .............................................................. 3 4.1. Arsitektur Aplikasi....................................................................................... 3 4.2. Struktur Direktori......................................................................................... 4 4.3. Aplikasi ........................................................................................................ 5 4.4. Sistem .......................................................................................................... 5 4.5. Panduan Pengguna ....................................................................................... 6 5. MVC FRAMEWORK ...................................................................................... 6 6. BASIC CONCEPTS ......................................................................................... 7 6.1. Pengontrol .................................................................................................... 7 6.2. Membuat Pengendali ................................................................................... 7 6.3. Memanggil Pengendali ................................................................................ 8 6.4. Membuat & Memanggil Metode Konstruktor ............................................. 8 6.5. Poin untuk Diingat ....................................................................................... 9 6.6. Tampilan .................................................................................................... 10



6.7. Model ......................................................................................................... 11 6.8. Membuat Kelas Model .............................................................................. 11 6.9. Membuat Model......................................................................................... 12 6.10. Membuat Model Otomatis ....................................................................... 12 6.11. Pembantu ................................................................................................. 12 6.12. Pembantu yang sering digunakan ............................................................ 13 7. CONFIGURATION ....................................................................................... 15 7.1. Mengkonfigurasi URL ............................................................................... 15 7.2. Konfigurasi Basis Data .............................................................................. 15 7.3. Konfigurasi Pengisian Otomatis ................................................................ 17 8. WORKING WITH DATABASE .................................................................. 18 8.1. Menghubungkan ke Database .................................................................... 18 8.2. Memasukkan Catatan................................................................................. 19 8.3. Memperbarui Catatan ................................................................................ 19 8.4. Menghapus Rekaman................................................................................. 21 8.5. Memilih Catatan ........................................................................................ 21 8.6. Menutup Koneksi....................................................................................... 22 9. LIBRARIES .................................................................................................... 27 91. Kelas Perpustakaan ..................................................................................... 27 9.2. Membuat Perpustakaan .............................................................................. 27 9.3. Perpanjang Native Library ......................................................................... 28 9.4. Ganti Perpustakaan Asli ............................................................................ 29 10. ERROR HANDLING ................................................................................... 29 11. FILE UPLOADING ..................................................................................... 32 12. SENDING EMAIL ....................................................................................... 36 12.1. Fitur fitur mengirim email : ................................................................... 36 12.2. Mengirim Email .................................................................................... 39



13. FORM VALIDATION ................................................................................. 42 14. SESSION MANAGEMENT ........................................................................ 46 14.1. Menginisialisasi Sesi ............................................................................. 46 14.2. Tambahkan Data Sesi ............................................................................ 46 14.3. Hapus Data Sesi..................................................................................... 47 14.4. Ambil Data Sesi..................................................................................... 47 15. FLASH DATA .............................................................................................. 49 16. TEMPDATA ................................................................................................. 52 16.1. Tambahkan Tempdata ........................................................................... 52 16.2. Ambil Tempdata .................................................................................... 53 16.3. Hapus Tempdata .................................................................................... 53 16.4. Menghancurkan Sesi ............................................................................. 56 17. COOKIE MANAGEMENT ........................................................................ 56 18. COMMON FUNCTION .............................................................................. 59 19. PAGE CACHING ......................................................................................... 64 19.1. Aktifkan Caching .................................................................................. 64 19.2. Nonaktifkan Caching ............................................................................. 64 20. PAGE REDIRECTION ............................................................................... 66 21. APPLICATION PROFILING .................................................................... 68 21.1. Aktifkan Pembuatan Profil .................................................................... 68 21.2. Nonaktifkan Profiling ............................................................................ 68 21.3. Aktifkan / Nonaktifkan Bagian Profiler ................................................ 68 22. BENCHMARKING ...................................................................................... 70 23. ADDING JS AND CSS ................................................................................ 73 24. INTERNATIONALIZATION..................................................................... 75 24.1. Membuat file Bahasa ............................................................................. 75 24.2. Memuat file bahasa ............................................................................... 76



24.3. Mengambil Teks Bahasa ....................................................................... 76 24.4. Muat Ulang Otomatis Bahasa................................................................ 76 25. SECURITY ................................................................................................... 81 25.1. Pencegahan XSS.................................................................................... 81 25.2. Pencegahan Injeksi SQL ....................................................................... 81 25.3. Escaping Queries ................................................................................... 82 25.4. Query Biding ......................................................................................... 82 25.5. Active Record Class .............................................................................. 82 25.6. Menyembunyikan Kesalahan PHP ........................................................ 82 25.7. Pencegahan CSRF ................................................................................. 83 25.8. Penanganan Kata Sandi ......................................................................... 84



Modul Pelatihan Pemrograman Framework



BAB I TUTORIAL CODEIGNITER



1. HOME 1.1 Apa Itu CodeIgniter? CodeIgniter adalah framework PHP yang aman dengan kapasitas yang sangat kecil, dibangun untuk pengembang yang membutuhkan toolkit sederhana dan elegan untuk membuat aplikasi web berfitur lengkap. CodeIgniter dibuat oleh EllisLab, dan sekarang merupakan proyek dari British Columbia Institute of Technology. 1.2. User / Pemakai Tutorial ini telah disiapkan untuk pengembang yang ingin mempelajari seni mengembangkan situs web menggunakan CodeIgniter. Ini memberikan pemahaman lengkap tentang framework ini. 1.3. Kelebihan CodeIgniter Sebelum Anda mulai melanjutkan dengan tutorial ini, kami berasumsi bahwa Anda sudah paham dengan HTML, Core PHP, dan PHP Advance. Kami telah menggunakan CodeIgniter versi 3.0.1 di semua contoh CodeIgniter adalah framework pengembangan aplikasi, yang dapat digunakan untuk mengembangkan situs web, menggunakan PHP. CodeIgniter adalah framework Terbuka yang memiliki serangkaian fungsi yang sangat banyak, yang akan meningkatkan kecepatan pekerjaan pengembangan situs web. Jika Anda mengenal PHP dengan baik, maka CodeIgniter akan membuat tugas Anda lebih mudah. Ia memiliki koleksi perpustakaan yang sangat banyak. Dengan menggunakan CodeIgniter, Anda akan menghemat banyak waktu, jika Anda mengembangkan situs web dari awal. Tidak hanya itu, situs web yang dibangun di CodeIgniter juga aman, karena memiliki kemampuan untuk mencegah berbagai serangan yang terjadi melalui situs web.



2. OVERVIEW Fitur CodeIgniter Beberapa fitur penting CodeIgniter tercantum di bawah ini adalah : • Sistem Berbasis Model-View-Controller • Sangat Ringan



UNIVERSITAS TEKNOLOGI SUMBAW @ 2021



1



Modul Pelatihan Pemrograman Framework



• • • • • • • • • • • • • • • • • • • • • • • • • •



Kelas basis data berfitur lengkap dengan dukungan untuk beberapa platform. memiliki Database Builder Kueri Formulir dan Validasi Data Keamanan dan Penyaringan XSS Manajemen Sesi Dilengkapi dengan Email Kelas. Mendukung Lampiran, email HTML / Teks, banyak protokol (sendmail, SMTP, dan Mail) dan banyak lagi. Perpustakaan Manipulasi Gambar (memotong, mengubah ukuran, memutar, dll.). Mendukung GD, ImageMagick, dan NetPBM Terdapat Kelas Mengunggah File Kelas FTP Lokalisasi Pagination Enkripsi data Tersedia halaman caching yang banyak Kesalahan Logging Profil Aplikasi Terdapat Kelas Kalender Kelas Agen Pengguna Kelas Pengkodean Zip Kelas Mesin Template Kelas Pelacakan Perpustakaan XML-RPC Kelas Pengujian Unit URL Ramah mesin pencari Routing URI yang Fleksibel terdapat Hooks dan Ekstensi Kelas Perpustakaan besar yang sangat membantu.



3. INSTILING APPLICATION Cara Menginstal CodeIgniter sangat mudah, Ikuti saja langkah-langkah yang diberikan di bawah ini : ➢ Langkah-1 - Unduh CodeIgniter dari tautan CodeIgniter Ada dua opsi warisan berbeda dan terbaru. Nama-nama itu sendiri deskriptif diri. legacy memiliki versi kurang dari 2.x dan terbaru memiliki versi 3.0. Kita juga bisa menggunakan GitHub dan mendapatkan semua skrip terbaru .. ➢ Langkah-2 - Buka ritsleting folder. UNIVERSITAS TEKNOLOGI SUMBAW @ 2021



2



Modul Pelatihan Pemrograman Framework



➢ Langkah-3 - Unggah semua file dan folder ke server Anda. ➢ Langkah-4 - Setelah mengunggah semua file ke server Anda, kunjungi URL server Anda, mis., Www.domain-name.com. Saat mengunjungi URL, Anda akan melihat layar berikut :



4. APPLICATION ARCHITECTURE 4.1. Arsitektur Aplikasi



• •



Langkah pertama Seperti yang ditunjukkan pada gambar, setiap kali permintaan datang ke CodeIgniter, pertama-tama akan pergi ke halaman index.php. Pada langkah kedua, Routing akan memutuskan apakah akan meneruskan permintaan ini ke langkah-3 untuk caching atau meneruskan permintaan ini ke langkah-4 untuk pemeriksaan keamanan.



UNIVERSITAS TEKNOLOGI SUMBAW @ 2021



3



Modul Pelatihan Pemrograman Framework















Jika halaman yang diminta sudah dalam Caching, maka Routing akan meneruskan permintaan ke langkah-3 dan jawabannya akan kembali ke pengguna. Jika halaman yang diminta tidak ada dalam Caching, maka Routing akan melewati halaman yang diminta ke langkah-4 untuk pemeriksaan Keamanan. Sebelum meneruskan permintaan ke Pengontrol Aplikasi, Keamanan data yang dikirimkan diperiksa. Setelah pemeriksaan Keamanan, Pengontrol Aplikasi memuat Model, Perpustakaan, Pembantu, Plugin, dan Skrip yang diperlukan dan meneruskannya ke View. Tampilan akan membuat halaman dengan data yang tersedia dan meneruskannya untuk Caching. Karena halaman yang diminta tidak di-cache sebelum jadi kali ini akan di-cache dalam Caching, untuk memproses halaman ini dengan cepat untuk permintaan di masa mendatang.



4.2. Struktur Direktori Gambar yang diberikan di bawah ini menunjukkan struktur direktori CodeIgniter.



Struktur direktori CodeIgniter dibagi menjadi 3 folder yaitu : Aplikasi, Sistem, dan Panduan pengguna.



UNIVERSITAS TEKNOLOGI SUMBAW @ 2021



4



Modul Pelatihan Pemrograman Framework



4.3 Aplikasi Seperti namanya menunjukkan folder Aplikasi berisi semua kode aplikasi Anda yang sedang Anda bangun. Ini adalah folder tempat Anda akan mengembangkan proyek Anda. Folder Aplikasi berisi beberapa folder lain, yang dijelaskan di bawah ini. • •



• • • • • • • • • •



Cache - Folder ini berisi semua halaman cache aplikasi Anda. Halaman yang di-cache ini akan meningkatkan kecepatan keseluruhan untuk mengakses halaman. Config - Folder ini berisi berbagai file untuk mengkonfigurasi aplikasi. Dengan bantuan file config.php, pengguna dapat mengkonfigurasi aplikasi. Menggunakan file database.php, pengguna dapat mengkonfigurasi database aplikasi. Pengontrol - Folder ini menampung pengontrol aplikasi Anda. Ini adalah bagian dasar dari aplikasi Anda. Inti - Folder ini akan berisi kelas dasar aplikasi Anda. Pembantu - Dalam folder ini, Anda dapat menempatkan kelas pembantu aplikasi Anda. Kait - File dalam folder ini menyediakan sarana untuk memanfaatkan dan memodifikasi cara kerja kerangka tanpa meretas file inti. Bahasa - Folder ini berisi file terkait bahasa. Perpustakaan - Folder ini berisi file perpustakaan yang dikembangkan untuk aplikasi Anda. Log - Folder ini berisi file yang terkait dengan log sistem. Model - Login basis data akan ditempatkan di folder ini. Third_party - Di folder ini, Anda dapat menempatkan plugin apa pun, yang akan digunakan untuk aplikasi Anda. Tampilan - File HTML aplikasi akan ditempatkan di folder ini.



4.4. Sistem Folder ini berisi kode inti CodeIgniter, pustaka, helper, dan file lainnya, yang membantu memudahkan pengodean. Perpustakaan dan bantuan ini dimuat dan digunakan dalam pengembangan aplikasi web. Folder ini berisi semua kode CodeIgniter dari konsekuensi, disusun dalam berbagai folder. •



• • • •



Inti - Folder ini berisi kelas inti CodeIgniter. Jangan modifikasi apa pun di sini. Semua pekerjaan Anda akan berlangsung di folder aplikasi. Bahkan jika maksud Anda adalah untuk memperpanjang inti CodeIgniter, Anda harus melakukannya dengan kait, dan kait langsung di folder aplikasi. Basis data - Folder basis data berisi driver basis data inti dan utilitas basis data lainnya. Font - Folder font berisi informasi dan utilitas terkait font. Pembantu - Folder pembantu berisi pembantu CodeIgniter standar (seperti pembantu tanggal, cookie, dan URL). Bahasa - Folder bahasa berisi file bahasa. Anda dapat mengabaikannya untuk saat ini.



UNIVERSITAS TEKNOLOGI SUMBAW @ 2021



5



Modul Pelatihan Pemrograman Framework







Perpustakaan - Folder perpustakaan berisi perpustakaan CodeIgniter standar (untuk membantu Anda dengan email, kalender, unggahan file, dan banyak lagi). Anda dapat membuat pustaka Anda sendiri atau memperluas (dan bahkan mengganti) pustaka standar, tetapi pustaka tersebut akan disimpan dalam direktori aplikasi / pustaka untuk memisahkannya dari pustaka CodeIgniter standar yang disimpan dalam folder khusus ini.



4.5.Panduan pengguna Ini adalah panduan pengguna untuk CodeIgniter. Pada dasarnya, ini adalah versi offline dari panduan pengguna di situs web CodeIgniter. Dengan menggunakan ini, seseorang dapat mempelajari berbagai fungsi perpustakaan, pembantu dan kelas. Disarankan untuk membaca panduan pengguna ini sebelum membangun aplikasi web pertama Anda di CodeIgniter. Di samping ketiga folder ini, ada satu lagi file penting bernama "index.php". Dalam file ini, kita dapat mengatur lingkungan aplikasi dan tingkat kesalahan dan kita dapat mendefinisikan sistem dan nama folder aplikasi. Disarankan, jangan mengedit pengaturan ini jika Anda tidak memiliki cukup pengetahuan tentang apa yang akan Anda lakukan.



5. MVC FRAMEWORK CodeIgniter didasarkan pada pola pengembangan Model-View-Controller (MVC). MVC adalah pendekatan perangkat lunak yang memisahkan logika aplikasi dari presentasi. Dalam praktiknya, ini memungkinkan halaman web Anda untuk mengandung skrip minimal karena presentasi terpisah dari skrip PHP.



UNIVERSITAS TEKNOLOGI SUMBAW @ 2021



6



Modul Pelatihan Pemrograman Framework



a. Model mewakili struktur data Anda. Biasanya, kelas model Anda akan berisi fungsi yang membantu Anda mengambil, menyisipkan, dan memperbarui informasi dalam basis data Anda. b. View adalah informasi yang disajikan kepada pengguna. Tampilan biasanya akan menjadi halaman web, tetapi dalam CodeIgniter, tampilan juga bisa berupa fragmen halaman seperti header atau footer. Ini juga bisa berupa halaman RSS, atau "halaman" jenis lainnya. c. Controller berfungsi sebagai perantara antara Model, Tampilan, dan sumber daya lainnya yang diperlukan untuk memproses permintaan HTTP dan menghasilkan halaman web.



6. BASIC CONCEPTS 6.1. Pengontrol Pengontrol adalah file kelas sederhana. Seperti namanya, itu mengontrol seluruh aplikasi oleh URI. 6.2. Membuat Pengendali Pertama, buka folder aplikasi / pengontrol. Anda akan menemukan dua file di sana, index.html dan Welcome.php. File-file ini datang dengan CodeIgniter. Simpan file-file ini sebagaimana adanya. Buat file baru di bawah jalur yang sama bernama "Test.php". Tulis kode berikut dalam file itu



Kelas Tes memperluas kelas built-in yang disebut CI_Controller. Kelas ini harus diperpanjang setiap kali Anda ingin membuat kelas Controller Anda sendiri.



UNIVERSITAS TEKNOLOGI SUMBAW @ 2021



7



Modul Pelatihan Pemrograman Framework



6.3. Memanggil Pengendali Kontroler di atas dapat dipanggil oleh URI sebagai berikut http://www.your-domain.com/index.php/test Perhatikan kata "test" di URI di atas setelah index.php. Ini menunjukkan nama kelas controller. Seperti yang telah kita beri nama controller "Test", kita menulis "test" setelah index.php. Nama kelas harus dimulai dengan huruf besar tetapi kita harus menulis huruf kecil ketika kita memanggil controller itu oleh URI. Sintaks umum untuk memanggil controller adalah sebagai berikut. http://www.your-domain.com/index.php/controller/method-name



6.4. Membuat & Memanggil Metode Konstruktor Mari kita modifikasi kelas di atas dan buat metode lain bernama "halo".



Kita dapat menjalankan controller di atas dengan tiga cara berikut. http://www.your-domain.com/index.php/test http://www.your-domain.com/index.php/test/index http://www.your-domain.com/index.php/test/hello



UNIVERSITAS TEKNOLOGI SUMBAW @ 2021



8



Modul Pelatihan Pemrograman Framework



Setelah mengunjungi URI pertama di browser, kami mendapatkan output seperti yang ditunjukkan pada gambar di bawah ini. Seperti yang Anda lihat, kami mendapat hasil dari metode "indeks", meskipun kami tidak memberikan nama metode URI. Kami hanya menggunakan nama pengontrol di URI. Dalam situasi seperti itu, CodeIgniter memanggil metode standar "indeks".



Mengunjungi URI kedua di browser, kami mendapatkan output yang sama seperti yang ditunjukkan pada gambar di atas. Di sini, kami telah memasukkan nama metode setelah nama pengontrol di URI. Karena nama metode ini adalah "indeks", kami mendapatkan hasil yang sama. Mengunjungi URI ketiga di browser, kami mendapatkan output seperti yang ditunjukkan pada gambar di bawah ini. Seperti yang Anda lihat, kita mendapatkan output dari metode "halo" karena kita telah melewati "halo" sebagai nama metode, setelah nama controller "test" di URI.



6.5. Poin untuk Diingat • Nama kelas pengontrol harus dimulai dengan huruf besar. • Pengontrol harus dipanggil dengan huruf kecil. • Jangan menggunakan nama metode yang sama dengan kelas induk Anda, karena akan menimpa fungsionalitas kelas induk.



UNIVERSITAS TEKNOLOGI SUMBAW @ 2021



9



Modul Pelatihan Pemrograman Framework



6.6. Tampilan Ini bisa berupa laman web sederhana atau kompleks, yang bisa dipanggil oleh pengontrol. Halaman web dapat berisi tajuk, catatan kaki, bilah sisi dll. Tampilan tidak dapat dipanggil secara langsung. Mari kita buat tampilan sederhana. Buat file baru di bawah aplikasi / tampilan dengan nama "test.php" dan salin kode yang diberikan di bawah ini dalam file itu.







CodeIgniter View Example



CodeIgniter View Example



Ubah kode file aplikasi / pengontrol / test.php seperti yang ditunjukkan di bawah ini. Tampilan dapat dimuat oleh sintaks berikut $this->load->view('name');



Di mana nama adalah file tampilan, yang sedang dirender. Jika Anda berencana untuk menyimpan file tampilan di beberapa direktori maka Anda dapat menggunakan sintaks berikut $ this-> load-> view ('direktori-nama / nama'); Tidak perlu menentukan ekstensi sebagai php, kecuali sesuatu selain .php digunakan. Metode index () memanggil metode view dan meneruskan "test" sebagai metode argument to view () karena kami telah menyimpan pengkodean html dalam file "test.php" di bawah application / views / test.php.



UNIVERSITAS TEKNOLOGI SUMBAW @ 2021



10



Modul Pelatihan Pemrograman Framework



Berikut adalah output dari kode di atas.



6.7. Model Kelas model dirancang untuk bekerja dengan informasi dalam database. Sebagai contoh, jika Anda menggunakan CodeIgniter untuk mengelola pengguna di aplikasi Anda, maka Anda harus memiliki kelas model, yang berisi fungsi untuk menyisipkan, menghapus, memperbarui, dan mengambil data pengguna Anda. 6.8. Membuat Kelas Model Kelas model disimpan dalam direktori aplikasi / model. Kode berikut menunjukkan cara membuat kelas model di CodeIgniter. Di mana Model_name adalah nama kelas model yang ingin Anda berikan. Setiap kelas model harus mewarisi kelas CI_Model CodeIgniter. Huruf pertama dari kelas model harus dalam huruf kapital. Berikut ini adalah kode untuk kelas model pengguna.



Kelas model di atas harus disimpan sebagai User_model.php. Nama kelas dan nama file harus sama.



UNIVERSITAS TEKNOLOGI SUMBAW @ 2021



11



Modul Pelatihan Pemrograman Framework



6.9. Membuat Model Model dapat disebut di controller. Kode berikut dapat digunakan untuk membuat model apa pun. $ this-> load-> model ('model_name'); Di mana model_name adalah nama model yang akan dimuat. Setelah memuat model, Anda dapat memanggil metode seperti yang ditunjukkan di bawah ini. $ this-> model_name-> method ();



6.10. Membuat Model Otomatis Mungkin ada situasi di mana Anda ingin beberapa kelas model di seluruh aplikasi Anda. Dalam situasi seperti itu, lebih baik jika kita memuatnya secara otomatis. /* | --------------------------------------------------------------| Auto-Load Models | --------------------------------------------------------------| Prototype: | | $autoload['model'] = array('first_model', 'second_model'); | | You can also supply an alternative model name to be assigned | in the controller: | | $autoload['model'] = array('first_model' => 'first'); */ $autoload['model'] = array();



Seperti yang ditunjukkan pada gambar di atas, masukkan nama model dalam array yang Anda ingin autoload dan itu akan dimuat secara otomatis, saat sistem dalam keadaan inisialisasi dan dapat diakses di seluruh aplikasi. 6.11. Pembantu Seperti namanya, ini akan membantu Anda membangun sistem Anda. Ini dibagi menjadi beberapa fungsi kecil untuk melayani berbagai fungsi. Sejumlah pembantu tersedia di CodeIgniter, yang tercantum dalam tabel di bawah ini. Kita juga bisa membangun pembantu kita sendiri.



UNIVERSITAS TEKNOLOGI SUMBAW @ 2021



12



Modul Pelatihan Pemrograman Framework



Pembantu biasanya disimpan di sistem / pembantu Anda, atau direktori aplikasi / pembantu. Pembantu kustom disimpan dalam direktori aplikasi / pembantu dan pembantu sistem disimpan di direktori sistem / pembantu. CodeIgniter akan terlihat pertama di direktori aplikasi / pembantu Anda. Jika direktori tidak ada atau pembantu yang ditentukan tidak ditemukan, CodeIgniter sebaliknya akan mencari di sistem global Anda / helpers / direktori. Setiap helper, apakah itu custom atau system helper, harus dimuat sebelum menggunakannya. 6.12. Pembantu yang sering digunakan •



Helper Helper dapat dimuat seperti yang ditunjukkan di bawah ini. $ this-> load-> helper ('name'); Di mana nama adalah nama pembantu. Misalnya, jika Anda ingin membuat Pembantu URL, maka dapat dimuat sebagai berikut. $ this-> load-> helper ('url');



• Rute CodeIgniter memiliki sistem perutean URI yang mudah digunakan, sehingga Anda dapat dengan mudah merutekan ulang URL. Biasanya, ada hubungan satu-ke-satu antara string URL dan kelas / metode pengontrol yang sesuai. Segmen dalam URI biasanya mengikuti pola berikut : Segmen pertama mewakili kelas pengontrol yang harus dipanggil. Segmen kedua mewakili fungsi kelas, atau metode, yang harus dipanggil. Yang ketiga, dan setiap segmen tambahan, mewakili ID dan variabel apa pun yang akan diteruskan ke controller. Dalam beberapa situasi, Anda mungkin ingin mengubah mekanisme perutean default ini. CodeIgniter menyediakan fasilitas untuk mengatur aturan perutean Anda sendiri. • Kustomisasi Aturan Perutean Ada file tertentu di mana Anda dapat menangani semua ini. File ini terletak di application / config / routes.php. Anda akan menemukan array yang disebut $ route di mana Anda dapat menyesuaikan aturan routing Anda. Kunci dalam array $ route akan memutuskan apa yang harus dirutekan dan nilainya akan memutuskan ke mana harus merutekan. Ada tiga rute yang dipesan dalam CodeIgniter.



UNIVERSITAS TEKNOLOGI SUMBAW @ 2021



13



Modul Pelatihan Pemrograman Framework



• S.N. Rute & Deskripsi Cadangan i. Route ['default_controller'] Rute ini menunjukkan kelas controller mana yang harus dimuat, jika URI tidak mengandung data, yang akan menjadi kasus ketika orang memuat URL root Anda. Anda disarankan untuk memiliki rute default jika tidak halaman 404 akan muncul, secara default. Kami dapat mengatur beranda situs web di sini sehingga akan dimuat secara default. ii. Route ['404_override'] Rute ini menunjukkan kelas controller mana yang harus dimuat jika controller yang diminta tidak ditemukan. Ini akan menimpa halaman kesalahan 404 default. Ini tidak akan memengaruhi fungsi show_404 (), yang akan melanjutkan memuat file iii.



error_404.php default di aplikasi / views / errors / error_404.php. Route ['translate_uri_dashes'] Sebagaimana terbukti dengan nilai Boolean, ini bukan rute yang tepat. Opsi ini memungkinkan Anda untuk mengganti tanda hubung (‘-‘) secara otomatis dengan garis bawah pada pengontrol dan metode segmen URI, sehingga menghemat entri rute tambahan jika Anda perlu melakukannya. Ini diperlukan karena tanda hubung bukan karakter kelas atau metode-nama yang valid dan akan menyebabkan kesalahan fatal, jika Anda mencoba menggunakannya. Rute dapat dikustomisasi dengan



wildcard atau dengan menggunakan ekspresi reguler tetapi perlu diingat bahwa aturan kustom ini untuk perutean harus datang setelah aturan yang dipesan. • Wildcard Kita dapat menggunakan dua karakter wildcard seperti yang dijelaskan di bawah ini. (: num) - Ini akan cocok dengan segmen yang hanya berisi angka. (: any) - Ini akan cocok dengan segmen yang mengandung karakter apa pun. Contoh : $ route ['product /: num'] = 'catalog / product_lookup'; Dalam contoh di atas, jika kata literal "produk" ditemukan di segmen pertama URL, dan angka ditemukan di segmen kedua, kelas "katalog" dan metode "product_lookup" digunakan sebagai gantinya.



UNIVERSITAS TEKNOLOGI SUMBAW @ 2021



14



Modul Pelatihan Pemrograman Framework



• Ekspresi Reguler Seperti wildcard, kita juga bisa menggunakan ekspresi reguler di bagian kunci $ array route. Jika ada URI yang cocok dengan ekspresi reguler, maka akan dialihkan ke bagian nilai yang diatur ke dalam array $ route. Contoh : $ route ['products / ([a-z] +) / (\ d +)'] = '$ 1 / id_ $ 2'; Dalam contoh di atas, URI yang mirip dengan produk / sepatu / 123 akan memanggil kelas pengontrol "shoes" dan metode "id_123".



7. Configuration 7.1. Mengkonfigurasi URL URL dasar situs dapat dikonfigurasi dalam file application / config / config.php. Ini adalah URL ke root CodeIgniter Anda. Biasanya, ini akan menjadi URL dasar Anda, dengan garis miring. Bisa dibuka pada http://example.com/ Jika ini tidak disetel, maka CodeIgniter akan mencoba menerka protokol, domain dan jalur untuk instalasi Anda. Namun, Anda harus selalu mengonfigurasi ini secara eksplisit dan tidak pernah mengandalkan autoguessing, terutama di lingkungan produksi. Anda dapat mengonfigurasi URL dasar dalam array $ config dengan kunci “base_url” seperti yang ditunjukkan di bawah ini : $ config ['base_url'] = 'http://your-domain.com'; 7.2. Konfigurasi Basis Data Basis data situs dapat dikonfigurasi dalam file application / config / database.php. Seringkali kita perlu mengatur basis data untuk lingkungan yang berbeda seperti pengembangan dan produksi. Dengan array multidimensi yang disediakan di CodeIgniter, kita dapat mengatur database untuk lingkungan yang berbeda. Pengaturan konfigurasi disimpan dalam array seperti yang ditunjukkan di bawah ini : $db['default'] = array( 'dsn' => '', 'hostname' => 'localhost', 'username' => 'root', 'password' => '', 'database' => 'database_name', UNIVERSITAS TEKNOLOGI SUMBAW @ 2021



15



Modul Pelatihan Pemrograman Framework



'dbdriver' => 'mysqli', 'dbprefix' => '', 'pconnect' => TRUE, 'db_debug' => TRUE, 'cache_on' => FALSE, 'cachedir' => '', 'char_set' => 'utf8', 'dbcollat' => 'utf8_general_ci', 'swap_pre' => '', 'encrypt' => FALSE, 'compress' => FALSE, 'stricton' => FALSE, 'failover' => array() );



Anda dapat meninggalkan beberapa opsi ke nilai defaultnya kecuali nama host, nama pengguna, kata sandi, basis data, dan driver. • hostname - Tentukan lokasi basis data Anda di sini mis. Localhost atau alamat IP • nama pengguna - Tetapkan nama pengguna dari basis data Anda di sini. • kata sandi - Tetapkan kata sandi basis data Anda di sini. • database - Tetapkan nama database di sini. • dbdriver - Tetapkan jenis basis data yang Anda gunakan mis. MySQL, MySQLi, Postgre SQL, ODBC, dan MS SQL. Dengan mengubah kunci array $ db, Anda dapat mengatur konfigurasi database lainnya seperti yang ditunjukkan di bawah ini. Di sini, kami telah menetapkan kunci untuk ‘pengujian’ untuk menetapkan basis data untuk lingkungan pengujian, dengan menjaga lingkungan basis data lainnya sebagaimana adanya. $db['test'] = array( 'dsn' => '', 'hostname' => 'localhost', 'username' => 'root', 'password' => '', 'database' => 'database_name', 'dbdriver' => 'mysqli', 'dbprefix' => '', 'pconnect' => TRUE, 'db_debug' => TRUE, 'cache_on' => FALSE, 'cachedir' => '', 'char_set' => 'utf8', 'dbcollat' => 'utf8_general_ci', UNIVERSITAS TEKNOLOGI SUMBAW @ 2021



16



Modul Pelatihan Pemrograman Framework



'swap_pre' => '', 'encrypt' => FALSE, 'compress' => FALSE, 'stricton' => FALSE, 'failover' => array() );



Anda cukup beralih ke lingkungan yang berbeda dengan mengubah nilai variabel seperti yang ditunjukkan di bawah ini $ active_group = ‘default’; // Ini akan mengatur lingkungan default $ active_group = ‘test’; // Ini akan mengatur lingkungan pengujian 7.3. Konfigurasi Pengisian Otomatis File ini menentukan, secara default, sistem mana yang harus dimuat. Untuk menjaga kerangka kerja seringan mungkin, hanya sumber daya minimal absolut yang dimuat secara default. Seseorang harus secara otomatis memuat sistem yang sering digunakan, daripada memuatnya di tingkat lokal, berulang kali. Berikut ini adalah hal-hal yang dapat Anda muat secara otomatis. •



Perpustakaan - Ini adalah daftar perpustakaan, yang harus dimuat secara otomatis. Berikan daftar pustaka dalam array seperti yang ditunjukkan di bawah ini untuk dimuat secara otomatis oleh CodeIgniter. Dalam contoh ini, kami memuat pustaka, email, dan pustaka sesi secara otomatis. $ autoload ['libraries'] = array ('database', 'email', 'session');







Driver - Kelas-kelas ini terletak di system / libraries / atau dalam direktori aplikasi / libraries / Anda, tetapi juga ditempatkan di dalam subdirektori mereka sendiri dan mereka memperluas kelas CI_Driver_Library. Mereka menawarkan beberapa opsi driver yang dapat ditukar. Berikut ini adalah contoh untuk memuat driver cache secara otomatis.







File pembantu - Ini adalah daftar file pembantu, untuk dimuat secara otomatis. Berikan daftar pustaka dalam array, seperti yang ditunjukkan di bawah ini, untuk dimuat secara otomatis oleh CodeIgniter. Dalam contoh yang diberikan, kami autoloading URL dan file helper. $ autoload ['helper'] = array ('url', 'file');



UNIVERSITAS TEKNOLOGI SUMBAW @ 2021



17



Modul Pelatihan Pemrograman Framework







File konfigurasi khusus - File ini dimaksudkan untuk digunakan, hanya jika Anda telah membuat file konfigurasi khusus. Jika tidak, biarkan kosong. Berikut ini adalah contoh cara memuat ulang otomatis lebih dari satu file konfigurasi. $ autoload ['config'] = array ('config1', 'config2');







File bahasa - Ini adalah daftar file bahasa, yang seharusnya dimuat secara otomatis. Lihatlah contoh yang diberikan di bawah ini. Berikan daftar bahasa dalam array seperti yang ditunjukkan di bawah ini untuk dimuat secara otomatis oleh CodeIgniter. Ingatlah bahwa tidak termasuk bagian "_lang" dari file Anda. Misalnya, "codeigniter_lang.php"







akan dirujuk sebagai array ('codeigniter'); Model - Ini adalah daftar file model, yang harus dimuat secara otomatis. Berikan daftar model dalam array seperti yang ditunjukkan di bawah ini untuk dimuat secara otomatis oleh CodeIgniter. Berikut ini adalah contoh cara memuat secara otomatis lebih dari satu model file. $autoload['model'] = array('first_model', 'second_model');



8. Working With Database 8.1. Menghubungkan ke Database Kita dapat terhubung ke database dengan dua cara berikut. • Penghubung Otomatis - Koneksi otomatis dapat dilakukan dengan menggunakan aplikasi file / config / autoload.php. Koneksi otomatis akan memuat basis data untuk setiap halaman. Kami hanya perlu menambahkan perpustakaan database seperti yang ditunjukkan di bawah ini $ autoload ['libraries'] = array (‘database’); •



Penghubung Manual - Jika Anda ingin konektivitas basis data hanya untuk beberapa halaman, maka kita bisa menggunakan penghubung manual. Kita dapat terhubung ke database secara manual dengan menambahkan baris berikut di kelas mana pun. $ this-> load-> database ();



UNIVERSITAS TEKNOLOGI SUMBAW @ 2021



18



Modul Pelatihan Pemrograman Framework



8.2. Memasukkan Catatan Untuk menyisipkan catatan dalam database, fungsi insert () digunakan seperti yang ditunjukkan dibawah ini.



Contoh berikut menunjukkan cara memasukkan catatan di tabel stud. $ Data adalah array di mana kita telah menetapkan data dan untuk memasukkan data ini ke induk tabel, kita hanya perlu meneruskan array ini ke fungsi insert dalam table kedua $data = array( 'roll_no' => ‘1’, 'name' => ‘Virat’ ); $this->db->insert("stud", $data);



8.3.Memperbarui Catatan Untuk memperbarui catatan dalam database, fungsi pembaruan () digunakan bersama dengan fungsi set () dan where () seperti yang ditunjukkan pada tabel di bawah ini. Fungsi set () akan mengatur data yang akan diperbarui. Syntax



Parameters



set($key[, $value = ''[, $escape = NULL]])







$key (mixed) − Field name, or an array of field/value pairs







$value (string) − Field value, if $key is a single field



UNIVERSITAS TEKNOLOGI SUMBAW @ 2021



19



Modul Pelatihan Pemrograman Framework







$escape (bool) − Whether to escape values and identifiers



CI_DB_query_builder instance (method chaining)



Returns



Return Type



CI_DB_query_builder



Fungsi where () akan memutuskan record mana yang akan diperbarui. where($key[, $value = NULL[, $escape = NULL]])



Syntax



Parameters







$key (mixed) − Name of field to compare, or associative array







$value (mixed) − If a single key, compared to this value







$escape (bool) − Whether to escape values and identifiers



DB_query_builder instance



Returns



Return Type



Object



Terakhir , fungsi update () akan memperbarui data dalam database. Syntax



Parameters



Returns



Return Type



update([$table = ''[, $set = NULL[, $where = NULL[, $limit = NULL]]]])







$table (string) − Table name







$set (array) − An associative array of field/value pairs







$where (string) − The WHERE clause







$limit (int) − The LIMIT clause



TRUE on success, FALSE on failure



Bool



UNIVERSITAS TEKNOLOGI SUMBAW @ 2021



20



Modul Pelatihan Pemrograman Framework



$data = array( 'roll_no' => ‘1’, 'name' => ‘Virat’ ); $this->db->set($data); $this->db->where("roll_no", ‘1’); $this->db->update("stud", $data);



8.4. Menghapus Rekaman Untuk menghapus catatan dalam database, fungsi delete () digunakan seperti yang ditunjukkan pada tabel berikut. Syntax



Parameters



Returns



Return Type



delete([$table = ''[, $where = ''[, $limit = NULL[, $reset_data = TRUE]]]])







$table (mixed) − The table(s) to delete from; string or array







$where (string) − The WHERE clause







$limit (int) − The LIMIT clause







$reset_data (bool) − TRUE to reset the query “write” clause



CI_DB_query_builder instance (method chaining) or FALSE on failure



Mixed



Gunakan kode berikut untuk menghapus catatan di tabel stud. Argumen pertama menunjukkan nama tabel untuk menghapus catatan dan argumen kedua memutuskan catatan mana yang akan dihapus. $ this-> db-> delete ("stud", "roll_no = 1"); 8.5. Memilih Catatan Untuk memilih catatan dalam database, fungsi get digunakan, seperti yang ditunjukkan pada tabel berikut : Gunakan kode berikut untuk mendapatkan semua catatan dari database. Pernyataan pertama mengambil semua catatan dari tabel "stud" dan mengembalikan objek, yang akan disimpan dalam objek $ query. Pernyataan kedua memanggil fungsi result () dengan objek $ query untuk mendapatkan semua record sebagai array.



UNIVERSITAS TEKNOLOGI SUMBAW @ 2021



21



Modul Pelatihan Pemrograman Framework



$ query = $ this-> db-> get ("stud"); $ data ['records'] = $ query-> result ();



8.6. Menutup Koneksi Koneksi basis data dapat ditutup secara manual, dengan mengeksekusi kode berikut $ this-> db-> close (); Contoh Buat kelas controller yang disebut Stud_controller.php dan simpan di application / controller / Stud_controller.php Berikut adalah contoh lengkap, di mana semua operasi yang disebutkan di atas dilakukan. Sebelum menjalankan contoh berikut, buat database dan tabel seperti yang diperintahkan pada awal bab ini dan buat perubahan yang diperlukan dalam file konfigurasi database yang disimpan di application / config / database.php



UNIVERSITAS TEKNOLOGI SUMBAW @ 2021



23



Modul Pelatihan Pemrograman Framework



Buat kelas model yang disebut Stud_Model.php dan simpan di aplikasi / models / Stud_Model.php



Buat file tampilan bernama Stud_add.php dan simpan dalam aplikasi / views / Stud_add.php







Students Example







Buat file tampilan bernama Stud_edit.php dan simpan di aplikasi / views / Stud_edit.php







Students Example











UNIVERSITAS TEKNOLOGI SUMBAW @ 2021



25



Modul Pelatihan Pemrograman Framework



Buat file tampilan bernama Stud_view.php dan simpan di aplikasi / views / Stud_view.php







Students Example