{"id":5353,"date":"2017-06-13T03:03:30","date_gmt":"2017-06-13T03:03:30","guid":{"rendered":"https:\/\/blog.hostinger.io\/co-id-tutorial\/?p=5353"},"modified":"2023-05-03T13:23:49","modified_gmt":"2023-05-03T06:23:49","slug":"tutorial-codeigniter-indonesia-lengkap","status":"publish","type":"post","link":"\/id\/tutorial\/tutorial-codeigniter-indonesia-lengkap","title":{"rendered":"Tutorial CodeIgniter Indonesia lengkap"},"content":{"rendered":"<p>Di tutorial CodeIgniter Indonesia ini, kami akan memperkenalkan framework CodeIgniter secara runut kepada para pembaca.<\/p><p>Anda akan mengetahui cara menginstall dan mengonfigurasikan CodeIgniter di shared hosting Hostinger, selain membuat aplikasi PHP pertama Anda dengan memanfatkan framework yang sudah banyak digunakan ini.<\/p><p>Anda juga akan mengetahui lebih dalam lagi tentang MVC dan mengapa peranannya sangat penting di pengembangan web modern.<\/p><figure class=\"wp-block-image size-large\"><a href=\"https:\/\/assets.hostinger.com\/content\/tutorials\/pdf\/Speed-Up-Your-Website-ID.pdf\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" width=\"1024\" height=\"283\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/37\/2022\/11\/eBook-Speed-Up-website-ID.png\/public\" alt=\"\" class=\"wp-image-27589\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/37\/2022\/11\/eBook-Speed-Up-website-ID.png\/w=1024,fit=scale-down 1024w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/37\/2022\/11\/eBook-Speed-Up-website-ID.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/37\/2022\/11\/eBook-Speed-Up-website-ID.png\/w=150,fit=scale-down 150w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/37\/2022\/11\/eBook-Speed-Up-website-ID.png\/w=768,fit=scale-down 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure><p>\n\n\n\n\n\n\n<\/p><h2 class=\"wp-block-heading\" id=\"h-pengertian-codeigniter\">Pengertian CodeIgniter<\/h2><p>CodeIgniter adalah salah satu framework yang tersedia untuk developer PHP. Bisa dibilang, framework inilah yang paling dikenal di antara framework sejenisnya.<\/p><p>CodeIgniter benar-benar mempercepat pengembangan web berbasis PHP berdasarkan array library dan package yang lebih luas. Library ini dirancang untuk area, seperti aplikasi web, di mana kode yang dapat digunakan kembali merupakan hal lazim&nbsp;dan membantu pekerjaan developer.<\/p><p>Berbasis arsitektur Model-View-Controller (MCV), CodeIgniter juga menambahkan layer logic ke aplikasi web Anda. Tak hanya berkontribusi terhadap desain aplikasi cleaner, tetapi layer ini juga berguna dalam memparalelkan proses tertentu di siklus pengembangan web.<\/p><p>Alhasil, produk Anda akan sangat responsif terhadap kemungkinan perubahan bisnis dan lebih cepat menembus pasar.<\/p><p>Untuk memulai tutorial CodeIgniter ini, Anda diharapkan memiliki pengetahuan dasar tentang PHP serta pengalaman menggunakan command line Linux.<\/p><h2 class=\"wp-block-heading\" id=\"h-langkah-1-menginstall-codeigniter\">Langkah 1 &ndash; Menginstall CodeIgniter<\/h2><p>Untuk menginstall CodeIgniter, Anda harus memiliki shared hosting Hostinger atau LAMP (Linux, APache, MySQL, PHP) yang sudah dipasang dan dijalankan di VPS atau sistem lokal. Anda dapat menerapkan tutorial CodeIgniter ini dengan distribusi apa pun dari Linux; tentunya kami menggunakan akun shared hosting Hostinger.<\/p><p>Pertama-tama, akses akun Anda melalui SSH. Jika tidak begitu paham bagaimana cara mengaksesnya, bacalah <a href=\"https:\/\/blog.hostinger.io\/co-id-tutorial\/cara-menggunakan-command-ssh\/\" target=\"_blank\" rel=\"noopener\">tutorial ini<\/a>.<\/p><p>Untuk memulai proses instalasi, buka terminal dan masuk ke folder&nbsp;<strong>public_html<\/strong>. Di kami, command terlihat seperti ini:<\/p><pre class=\"wp-block-preformatted\">cd \/public_html<\/pre><p>Unduh distribusi CodeIgniter terbaru dengan mengunjungi <a href=\"https:\/\/codeigniter.com\/download\" target=\"_blank\" rel=\"noopener\">halaman resminya<\/a> dan simpan file zip. Ketika tutorial CodeIgniter ini ditulis, versi 3.1.4 merupakan CodeIgniter terbaru yang dirilis:<\/p><pre class=\"wp-block-preformatted\">wget https:\/\/github.com\/bcit-ci\/CodeIgniter\/archive\/3.1.4.zip<\/pre><p>Untuk unzip file, jalankan command berikut ini:<\/p><pre class=\"wp-block-preformatted\">unzip 3.1.4.zip<\/pre><p>Jika Anda hendak menginstall CodeIgniter di VPS, sebaiknya jangan memasang Zip di sistem karena akan mengakibatkan error ketika command di atas dijalankan. Masalah ini tentu saja dapat diatasi dengan mengunduh dan menginstall unzip, seperti ini:<\/p><pre class=\"wp-block-preformatted\">sudo apt-get install zip<\/pre><p>Sekarang salinan CodeIgniter Anda sudah bisa di-unzip.<\/p><p>Setelah salinan tersebut di-unzip, Anda akan melihat direktori dengan nama&nbsp;<strong>CodeIgniter-3.1.4.&nbsp;<\/strong>Anda dapat mengganti namanya sesuai keinginan bilamana ingin menjalankan cara di bawah ini:<\/p><pre class=\"wp-block-preformatted\">mv \/var\/www\/CodeIgniter-3.1.4 \/var\/www\/codeigniter<\/pre><p>Buka browser Anda dan masuk ke path folder ini:<\/p><p><strong>http:\/\/yourdomain.com\/codeigniter<\/strong><\/p><p>Standarnya, layar CodeIgniter selamat datang akan muncul. Layar tersebut merupakan pertanda bahwa CodeIgniter berhasil diinstall di sistem Anda.<\/p><div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/www.hostinger.com\/tutorials\/wp-content\/uploads\/sites\/2\/2017\/05\/codeigniter-welcome-screen.png\" alt=\"Tutorial CodeIgniter - Layar selamat datang\"><\/figure><\/div><h2 class=\"wp-block-heading\" id=\"h-langkah-2-mengonfigurasikan-codeigniter\">Langkah 2 &ndash; Mengonfigurasikan CodeIgniter<\/h2><p>Segera setelah salinan CodeIgniter dibuat, Anda harus mengonfigurasikannya sebelum lanjut ke langkah berikutnya. Memang ini merupakan langkah yang cukup panjang dari tutorial CodeIgniter yang kami tulis, tetapi konfigurasi hanya dibuat sekali saja.<\/p><p>Mulailah dengan membuat database MySQL baru. Di Hostinger, Anda dapat&nbsp;melakukannya di bagian <strong>Database &gt; Pengelolaan<\/strong>.<\/p><div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"901\" height=\"328\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/37\/2023\/05\/hpanel-database-pengelolaan-buat-3.png\/public\" alt=\"\" class=\"wp-image-30300\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/37\/2023\/05\/hpanel-database-pengelolaan-buat-3.png\/w=901,fit=scale-down 901w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/37\/2023\/05\/hpanel-database-pengelolaan-buat-3.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/37\/2023\/05\/hpanel-database-pengelolaan-buat-3.png\/w=150,fit=scale-down 150w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/37\/2023\/05\/hpanel-database-pengelolaan-buat-3.png\/w=768,fit=scale-down 768w\" sizes=\"(max-width: 901px) 100vw, 901px\" \/><\/figure><\/div><p>Untuk memulai proses konfigurasi, Anda harus menyediakan semua informasi yang relevan tentang database MySQL ke CodeIgniter dengan cara mengubah file&nbsp;<strong>database.php&nbsp;<\/strong>di distribusi CodeIgniter. Buka file tersebut dengan menjalankan command berikut ini:<\/p><pre class=\"wp-block-preformatted\">nano \/codeigniter\/application\/config\/database.php<\/pre><p>Konten file akan terlihat. Cari file tersebut dan masukkan informasi spesifik ke konfigurasi database MySQL Anda. Sebagai contoh, untuk terhubung ke database yang dibuat di Hostinger, file konfigurasi akan terlihat seperti ini.<\/p><pre class=\"wp-block-preformatted\">$db['default']['hostname'] = 'mysql.hostinger.com';\n\n$db['default']['username'] = 'u694443746_user';\n\n$db['default']['password'] = 'password';\n\n$db['default']['database'] = 'u694443746_database';\n\n$db['default']['dbdriver'] = 'mysql';\n\n$db['default']['dbprefix'] = '';\n\n$db['default']['pconnect'] = TRUE;\n\n$db['default']['db_debug'] = TRUE;\n\n$db['default']['cache_on'] = FALSE;\n\n$db['default']['cachedir'] = '';\n\n$db['default']['char_set'] = 'utf8';\n\n$db['default']['dbcollat'] = 'utf8_general_ci';\n\n$db['default']['swap_pre'] = '';\n\n$db['default']['autoinit'] = TRUE;\n\n$db['default']['stricton'] = FALSE;\n<\/pre><p>Setelah memperbarui file dengan segala informasi yang relevan, simpan dan tutup file tersebut. Anda telah berhasil menyinkronkan database dengan CodeIgniter.<\/p><p>Lebih jauh lagi di tutorial CodeIgniter ini, buatlah nama domain Anda. Buka file&nbsp;<strong>config.php&nbsp;<\/strong>dengan menjalankan perintah di bawah ini:<\/p><pre class=\"wp-block-preformatted\">nano codeigniter\/application\/config\/config.php<\/pre><p>Setelah file terbuka, cari lokasi di mana line di bawah ini ditempatkan, dan edit sesuai keinginan Anda.<\/p><pre class=\"wp-block-preformatted\">$config['base_url'] = 'http:\/\/yourdomain.com';<\/pre><p>Line ini menunjukkan bahwa jika Anda sudah memiliki&nbsp;<strong>yourdomain.com&nbsp;<\/strong>sebagai nama domain yang menuju ke direktori di mana CodeIgniter diinstall (command terakhir di Langkah 1), maka editlah file&nbsp;<strong>config.php&nbsp;<\/strong>agar terlihat seperti line di atas.<\/p><h3 class=\"wp-block-heading\" id=\"h-2-1-mengonfigurasikan-virtual-host-di-vps\">2.1 Mengonfigurasikan Virtual Host di VPS<\/h3><p><div><p class=\"important\">Lewati bagian ini jika Anda hendak menginstall CodeIgniter di shared hosting Hostinger.<\/p><\/div><br>Virtual Host berguna jika Anda ingin menjalankan banyak aplikasi hanya dengan satu nama domain saja. Langkah ini dapat dilakukan jika Anda hanya memiliki satu VPS dengan banyak aplikasi, produksi, atau sebaliknya, gunakan layanan yang telah disediakan. Anda dapat membuat virtual host dengan server Apache.<\/p><p>Karena pembuatan virtual host tidak dibahas di tutorial CodeIgniter ini, Anda perlu membuat beberapa perubahan tambahan di konfigurasi CodeIgniter sebelum memulai pengembangan yang resmi.<\/p><p>Pastikan root dokumen Anda&nbsp;telah disinkronkan dengan direktori instalasi CodeIgniter. Anda dapat melakukan sinkronisasi ini dengan membuka file virtual host:<\/p><pre class=\"wp-block-preformatted\">sudo nano \/etc\/apache2\/sites-enabled\/000-default<\/pre><p>Setelah file terbuka, cari block seperti di bawah ini dan masukkan direktori yang diinstall sebelum&nbsp;<strong>Document Root:<\/strong><\/p><pre class=\"wp-block-preformatted\">&lt;VirtualHost *:80&gt;\n\nDocumentRoot \/path\/to\/codeigniter\n\n[.......]\n\n&lt;VirtualHost *:80&gt;<\/pre><p>Pastikan untuk mengubah&nbsp;<strong>\/path\/to&nbsp;<\/strong>ke path yang sebenarnya.<\/p><p>Sekarang semua URL Anda akan mengarah ke mana pun CodeIgniter terinstall.<\/p><p>Beberapa konteks dibutuhkan untuk membuat perubahan selanjutnya. Secara standar, CodeIgniter mengikuti format URL berikut ini:<\/p><pre class=\"wp-block-preformatted\">&lt;base_url&gt;\/index.php\/&lt;controller_name&gt;\/&lt;controller_function&gt;\/&lt;function_parameter_1&gt;\/&gt;\/&lt;function_parameter_2&gt;_\n<\/pre><p>Seperti yang Anda ketahui,&nbsp;<strong>index.php&nbsp;<\/strong>merupakan satu-satunya bagian statis dari URL. &nbsp;Kami akan mencoba menyingkirkan semuanya.<\/p><p>Buka file config.php sekali lagi:<\/p><pre class=\"wp-block-preformatted\">nano codeigniter\/application\/config\/config.php<\/pre><p>Dan ganti line berikut ini:<\/p><pre class=\"wp-block-preformatted\">$config['index_page'] = 'index.php';<\/pre><p>Dengan ini:<\/p><pre class=\"wp-block-preformatted\">$config['index_page'] = '';<\/pre><p>Setengah pekerjaan sudah selesai. Agar tidak ada error atau kesalahan yang kemungkinan akan dialami, Anda perlu meroute kembali request menggunakan file .htaccess.<\/p><p>Namun sebelum itu, cek apakah mod_rewrite sudah diaktifkan:<\/p><pre class=\"wp-block-preformatted\">apache2ctl -M<\/pre><p>Apache akan membuat daftar berbagai kapabilitas server. Jika&nbsp;<strong>mod_rewrite&nbsp;<\/strong>ada di dalam daftar, maka Anda bisa lanjut ke langkah berikutnya. Jika tidak ada dalam daftar, jalankan line ini:<\/p><pre class=\"wp-block-preformatted\">a2enmod rewrite<\/pre><p>Dan restart web server Anda:<\/p><pre class=\"wp-block-preformatted\">sudo service apache2 restart<\/pre><p>Buat file .htaccess di folder root CodeIgniter:<\/p><pre class=\"wp-block-preformatted\">nano codeigniter\/.htaccess<\/pre><p>Setelah file .htaccess terbuka, salin line di bawah ini, lalu simpan dan keluar:<\/p><pre class=\"wp-block-preformatted\">RewriteEngine on\n\nRewriteCond %{REQUEST_FILENAME} !-f\n\nRewriteCond %{REQUEST_FILENAME} !-d\n\nRewriteRule .* index.php?\/$0 [PT,L]<\/pre><p>Buatlah agar Apache memeriksa file .htaccess yang baru saja dibuat. Buka file virtual host sekali lagi dan pastikan&nbsp;<strong>AllowOverride&nbsp;<\/strong>sudah diatur ke&nbsp;<strong>All<\/strong>:<\/p><pre class=\"wp-block-preformatted\">&lt;Directory&gt;\n\nOptions Indexes\n\nFollowSymLinks MultiViews\n\nAllowOverride All\n\nOrder allow,deny\n\nallow from all\n\n&lt;\/Directory&gt;<\/pre><p>Index.php yang mengganggu tidak akan terlihat lagi di URL Anda. Alhasil, URL Anda bersih.<\/p><h2 class=\"wp-block-heading\" id=\"h-langkah-3-memahami-mvc\">Langkah 3 &ndash; Memahami MVC<\/h2><p>Setengah tutorial ini memuat penjelasan mendalam tentang MVC agar Anda dapat benar-benar memahami kegunaan framework semacam CodeIgniter.<\/p><p>Utamanya, MVC adalah paradigma arsitektur pengembangan web yang menyarankan bahwa di setiap aplikasi yang diberikan, logika bisnis harus dipisahkan dari presentasi. MVC membagi aplikasi ke dalam tiga bagian fungsional: model, view, dan controller.<\/p><p>Model bertugas untuk mengerjakan hal-hal yang sulit, seperti mengelola database Anda, melakukan komputasi, dan lain-lain. Singkatnya, di model inilah logika bisnis Anda ditempatkan. View, di satu sisi, sama sekali tidak berkaitan dengan fungsi logika aplikasi. View membentuk layer presentasi pada aplikasi, tempat data yang berasal dari model dimasukkan saat meload halaman web. Controller merupakan binding force yang berada di antara model dan view. Controller mengirimkan permintaan user ke model yang relevan. Setelah menyelesaikan tugasnya, model meload view yang relevan.<\/p><p>Seperti halnya CodeIgniter yang mensubscribe ke Object-Oriented Programming (OOP), semua model dan controller merupakan PHP classes yang memperluas kelas utama (base class) yang disediakan oleh framework. View juga berbentuk file PHP, tetapi hanya di namanya saja karena sebagian besar kontennya adalah HTML\/CSS. Kode PHP snippet ada untuk menampilkan data yang disediakan oleh model.<\/p><p>MVC memberikan fleksibilitas yang lebih kepada developer dalam hal reusability&nbsp;kode dan pemisahan desain serta pengembangan. Kumpulan view akan terbentuk sehingga Anda tidak perlu menulis kode yang sama untuk berbagai view, contohnya seperti bar navigasi (navigation bar) di tiap halaman aplikasi web .&nbsp;Karena view dan model sepenuhnya tidak saling terikat, front-end developer dapat bekerja secara paralel dengan tim back-end developer untuk&nbsp;menghemat waktu pengembangan.<\/p><h3 class=\"wp-block-heading\" id=\"h-3-1-dasar-dasar-routing\">3.1 Dasar-dasar Routing<\/h3><p>Kita telah mengetahui cara CodeIgniter memformat URL stringnya:<\/p><pre class=\"wp-block-preformatted\">&lt;base_url&gt;\/index.php\/&lt;controller_name&gt;\/&lt;controller_function&gt;\/&lt;function_parameter_1&gt;\/&gt;\/&lt;function_parameter_2&gt;...\n<\/pre><p>Sebelumnya, kita telah mengetahui cara menghapus&nbsp;<strong>index.php&nbsp;<\/strong>dari format di atas. Hasilnya, template ini menerjemahkan URL serupa ke URL seperti di bawah ini:<\/p><p><strong>http:\/\/www.yourdomain.com\/welcome\/tester\/1<\/strong><\/p><p>Welcome adalah controller class yang sesuai dengan file controller bernama welcome.php. Setelah welcome, ada fungsi&nbsp;<strong>tester()<\/strong> dan nilai &lsquo;1&rsquo; sebagai parameter. Parameter lebih lanjut dapat disupply memakai cara yang sama dan dipisahkan dengan&nbsp;tanda garis miring.<\/p><p>Seperti yang Anda ketahui, route sangat mudah digunakan di CodeIgniter. Anda bisa menggunakannya untuk&nbsp;membuat lebih banyak route yang kompleks. Sayangnya, topik ini tidak kami bahas di sini.<\/p><h3 class=\"wp-block-heading\" id=\"h-3-2-library\">3.2 Library<\/h3><p>Fitur CodeIgniter lain yang juga tak kalah pentingnya adalah keistimewaannya menggunakan kembali solusi yang pernah ada untuk menjalankan task umum dengan cepat. CodeIgniter menyediakan library dan fungsi penolong (helper) untuk menjalankan fitur ini. Keunggulan CodeIgniter juga terletak pada kenyataan bahwa developer dapat mengambil dan memilih library mana yang dikehendaki untuk diload dan kapan meload library. Alhasil, aplikasi yang kaya fitur dan ringan akan terbentuk sebagaimana library di-load sesuai permintaan.<\/p><p>Meload library di CodeIgniter sangatlah sederhana. Sebagai contoh, untuk meload library Database, cukup masukkan line di bawah ini ke model atau controller Anda (model disarankan meskipun terkesan opsional di CodeIgniter):<\/p><pre class=\"wp-block-preformatted\">$this-&gt;load-&gt;database();<\/pre><p>Beberapa library dan helper sudah banyak dikenali sehingga sebaiknya kedua fitur ini di-autoload tepat di awal boot-up aplikasi Anda. Contohnya termasuk library Database, karena database merupakan bagian penting dari aplikasi web modern mana pun, dan fungsi helper URL agar URL dapat di-load dengan mudah.<\/p><p>Untuk autoload library Database, buka file berikut ini:<\/p><pre class=\"wp-block-preformatted\">nano application\/config\/autoload.php<\/pre><p>Setelah terbuka, ganti line ini:<\/p><pre class=\"wp-block-preformatted\">$autoload['libraries'] = array();<\/pre><p>Dengan ini:<\/p><pre class=\"wp-block-preformatted\">$autoload['libraries'] = array('database');<\/pre><p>Anda dapat autoload library tambahan di metode&nbsp;<strong>aray()<\/strong>,&nbsp;yang dipisahkan dengan koma.<\/p><p>Demikian juga untuk helper, Anda harus mengganti line ini:<\/p><pre class=\"wp-block-preformatted\">$autoload['helper'] = array();<\/pre><p>Dengan ini:<\/p><pre class=\"wp-block-preformatted\">$autoload['helper'] = array('url');<\/pre><p>Setelah mengetahui lebih banyak tentang MVC, kami harap Anda dapat memetik manfaat CodeIgniter.<\/p><h2 class=\"wp-block-heading\" id=\"h-langkah-4-membuat-aplikasi-sederhana-dengan-codeigniter\">Langkah 4 &ndash; Membuat Aplikasi&nbsp;Sederhana dengan CodeIgniter<\/h2><p>Sudah hampir separuh tutorial CodeIgniter ini dikupas dan akhirnya kita sampai di pembahasan inti. Sampai di sini, seharusnya Anda telah menjalankan distribusi CodeIgniter dengan perubahan-perubahan yang kita buat saat mengonfigurasikannya di Langkah 2. Pastinya Anda pun sudah familiar dengan cara kerja model, view, dan controller di CodeIgniter. Di langkah ini, informasi yang telah kami bahas di atas akan digunakan untuk membuat aplikasi web sederhana dengan CodeIgniter.<\/p><p>Desain aplikasi &nbsp;akan dibuat sesederhana mungkin: kami akan menggunakan model kami untuk mengambil nilai review film dari database dan menampilkannya satu demi satu menggunakan view. Controller akan digunakan untuk me-route permintaan antara model dan view. Setelah memahami prinsip CodeIgniter, Anda bisa langsung membuat aplikasi web kaya fitur.<\/p><h3 class=\"wp-block-heading\" id=\"h-langkah-4-1-pre-requisite\">Langkah 4.1 Pre-Requisite<\/h3><p>Seperti yang telah disebutkan di bagian pengenalan tutorial CodeIgniter ini, pembaca diharapkan telah menguasai pengetahuan dasar tentang MySQL. Untuk contoh aplikasi yang hendak dibuat, kami membuat tabel tunggal (single) yang diberi nama&nbsp;<strong>reviews . <\/strong>Tabel tunggal ini memiliki&nbsp;3 kolom yang diberi nama&nbsp;<strong>id&nbsp;<\/strong>(primary key dan auto-increment),&nbsp;<strong>title<\/strong> dan&nbsp;<strong>grade<\/strong>.<\/p><div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/www.hostinger.com\/tutorials\/wp-content\/uploads\/sites\/2\/2017\/05\/mysql-database-for-code-igniter-1024x355.png?x10942\" alt=\"Database MySQL untuk CodeIgniter\"><\/figure><\/div><p>Buat tabel seperti di atas yang nantinya menjadi basis aplikasi Anda. Seharusnya CodeIgniter telah mengakses database Anda jika instruksi di Langkah 2 dilakukan dengan benar. Setelah tabel dibuat, isilah dengan value tiruan (mock value).<\/p><h3 class=\"wp-block-heading\" id=\"h-langkah-4-2-model\">Langkah 4.2 Model<\/h3><p>Setelah keseluruhan database diatur, kita akan mulai mengolah logika bisnis. Pertama-tama, buat sebuah model yang akan mengambil value dari database.<\/p><p>Model ditempatkan di direktori&nbsp;<strong>applications\/models&nbsp;<\/strong>CodeIgniter. Langkah ini dilakukan untuk mencegah kekacauan struktur direktori aplikasi Anda. Buka direktori dan buat file PHP baru yang diberi nama&nbsp;<strong>reviews_model.php.<\/strong><\/p><pre class=\"wp-block-preformatted\">nano reviews_model.php<\/pre><p>Salin&nbsp;kode di bawah ini ke file baru yang telah selesai dibuat:<\/p><pre class=\"wp-block-preformatted\">&lt;?php\n\nclass News_model extends CI_Model {\n\n}\n\n?&gt;\n<\/pre><p>Seperti yang kita ketahui, model class <strong>News_model&nbsp;<\/strong>memperluas&nbsp;<strong>Cl_Model class&nbsp;<\/strong>generic yang disediakan oleh CodeIgniter. Ingatlah juga bahwa huruf pertama class Anda haruslah kapital &ndash; CodeIgniter mensyaratkan agar seluruh nama class diawali dengan huruf besar.<\/p><p>Sekarang load library Database yang telah kita bahas di Langkah 3 demi memudahkan Anda melakukan pekerjaan dengan database. Anda dapat menggunakan metode constructor yang dimiliki model. Metode ini secara efektif akan meload library dari awal. Agar cara ini dapat dilakukan, salin kode berikut&nbsp;ini ke dalam class yang telah dibuat:<\/p><pre class=\"wp-block-preformatted\">public function__construct () {\n\n$this-&gt;load-&gt;database ();\n\n}<\/pre><p>Kini library Database dapat terlihat di tiap metode di dalam class. Selanjutnya, kita harus membuat metode lain yang akan menggunakan library Database ini untuk merancang query di database:<\/p><pre class=\"wp-block-preformatted\">public function get reviews ($id) {\n\nif($id !=FALSE) {\n\n$query = $this-&gt;db-&gt;get_where ('reviews', array('id' =&gt; $id));\n\nreturn $query-&gt;row_array();\n\n}\n\nelse {\n\nreturn FALSE;\n\n}\n\n}\n<\/pre><p>Metode di atas hanya menerima ID sebagai argumen dan mengembalikan semua informasi ke dalam kolom yang berkaitan dengan ID tersebut. Jadi, metode ini akan digunakan tiap kali kita meminta review atau ulasan sebuah film.<\/p><h3 class=\"wp-block-heading\" id=\"h-langkah-4-3-controller\">Langkah 4.3 Controller<\/h3><p>Layer pengambilan data telah dibuat. Sekarang saatnya kita membuat route sehingga pada saat user meminta ulasan film, view yang belum dibuat dilengkapi informasi yang didapat dengan menggunakan model.<\/p><p>Untuk membuat controller baru, buka direktori&nbsp;<strong>applicaton\/controllers<\/strong> dan buat sebuah file dengan nama&nbsp;<strong>reviews.php<\/strong>. Catatan: controller CodeIgniter menginstruksikan bahwa nama file sebaiknya sama dengan nama class yang ditentukan di dalam file tersebut. Setelah file dibuat, buka dan salin kode berikut ini ke dalamnya:<\/p><pre class=\"wp-block-preformatted\">&lt;?php\n\nclass Review extends CI_Controller {\n\n}\n\n?&gt;\n<\/pre><p>Sekarang yang harus kami lakukan adalah membungkus data yang diterima dari model dan menyimpannya di view. Untuk melakukannya, kami akan membuat sebuah metode dengan nama&nbsp;<strong>show()<\/strong> yang nantinya mengikat data ini ke struktur yang baru dibuat dan meload view dengan struktur yang tersimpan di dalamnya.<\/p><pre class=\"wp-block-preformatted\">public function show($id) {\n\n$this-&gt;load-&gt;model('reviews_model');\n\n$reviews = $this-&gt;reviews_model-&gt;get-reviews($id);\n\n$data['title'] = $reviews['title']\n\n$data['grade'] = $reviews['grade'];\n\n$this-&gt;load-&gt;view('movie_review', $data;\n\n}\n<\/pre><p><strong>$data&nbsp;<\/strong>adalah array asosiatif dengan key&nbsp;<strong>title&nbsp;<\/strong>dan&nbsp;<strong>grade&nbsp;<\/strong>yang sesuai dengan value yang diterima dari database. Array ini akan dikirim ke view yang diberi nama&nbsp;<strong>movie_review<\/strong>. Segera setelah itu, view akan diload.<\/p><h3 class=\"wp-block-heading\" id=\"h-langkah-4-4-view\">Langkah 4.4 View<\/h3><p>Langkah terakhir, sebuah view harus dibuat untuk menampilkan ulasan film yang diminta.<\/p><p>Masuk ke folder&nbsp;<strong>application\/views<\/strong> dan buat file baru berjudul&nbsp;<strong>movie_review.php<\/strong>. Catatan: nama file tersebut harus sesuai dengan nama yang Anda sampaikan ke controller untuk diload (di akhir line metode&nbsp;<strong>show()<\/strong>). Setelah file dibuat, salin kode berikut ini ke dalamnya:<\/p><pre class=\"wp-block-preformatted\">&lt;?php\n\nprint $title;\n\nprint $grade;\n\n?&gt;<\/pre><p>View menampilkan judul, sebagaimana peringkat film, sesaat setelah kedua informasi ini disampaikan oleh controller di dalam array&nbsp;<strong>$data<\/strong>. Tentu saja, hasilnya tidak begtu bagus karena kami belum memasukkan style apa pun ke view. Anda dapat menambahkan inline styling (tidak disarankan) atau memberi referensi CSS stylesheet di view.<\/p><p>Contoh aplikasi kami sudah selesai dibuat. Diharapkan Anda dapat menjalankan aplikasi ini dengan mengetikkan&nbsp;URL berikut ini di browser:<\/p><p><strong>http:\/\/yourdomain.com\/reviews\/show\/1<\/strong><\/p><p>URL ini menampilkan controller&nbsp;<strong>reviews&nbsp;<\/strong>yang telah kami buat di Langkah 4.3. Pun menampilkan metode&nbsp;<strong>show()<\/strong> dengan nilai input 1 sebagai parameter. Parameter ini diambil sebagai ID film yang akan digunakan untuk menarik informasi database tentang film dengan ID = 1. User akan melihat judul dan ulasan peringkat dari film pertama yang muncul di database.<\/p><figure class=\"wp-block-image size-large\"><a href=\"\/id\/\" target=\"_blank\" rel=\"noreferrer noopener\"><img decoding=\"async\" width=\"1024\" height=\"300\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/37\/2023\/02\/ID-Web-hosting_in-text-banner.png\/public\" alt=\"\" class=\"wp-image-29634\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/37\/2023\/02\/ID-Web-hosting_in-text-banner.png\/w=1024,fit=scale-down 1024w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/37\/2023\/02\/ID-Web-hosting_in-text-banner.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/37\/2023\/02\/ID-Web-hosting_in-text-banner.png\/w=150,fit=scale-down 150w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/37\/2023\/02\/ID-Web-hosting_in-text-banner.png\/w=768,fit=scale-down 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure><h2 class=\"wp-block-heading\" id=\"h-kesimpulan-tutorial-codeigniter\">Kesimpulan tutorial CodeIgniter<\/h2><p>Di tutorial CodeIgniter Indonesia ini, Anda telah memahami definisi, cara menginstall, bahkan mengonfigurasikan CodeIgniter. Anda juga telah mengetahui cara membuat aplikasi sederhana menggunakan framework ini. Tutorial ini pun membahas tentang MVC &ndash; informasi dasar di balik CodeIgniter dan manfaatnya di pengembangan web modern.<\/p><p>Karena contoh aplikasi kami sangatlah sederhana hanya dengan satu model, satu view, dan satu controller serta query database tunggal (singular), kami berharap user tidak asing lagi dengan fungsi inti CodeIgniter.<\/p><p>Kini Anda dapat membuat aplikasi yang sangat dinamis, memiliki scalability, dan kaya fitur dengan CodeIgniter. Kecepatan aplikasi pun akan lebih cepat karena menggunakan library dan helper yang ditawarkan framework ini. Anda kini sudah mengetahui betapa CodeIgniter sederhana namun canggih. Semoga Anda mampu mengembangkan web dengan rangkaian framework PHP ini.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Di tutorial CodeIgniter Indonesia ini, kami akan memperkenalkan framework CodeIgniter secara runut kepada para pembaca. Anda akan mengetahui cara menginstall dan mengonfigurasikan CodeIgniter di shared hosting Hostinger, selain membuat aplikasi PHP pertama Anda dengan memanfatkan framework yang sudah banyak digunakan ini. Anda juga akan mengetahui lebih dalam lagi tentang MVC dan mengapa peranannya sangat penting [&#8230;]<\/p>\n<p><a class=\"btn btn-secondary understrap-read-more-link\" href=\"\/id\/tutorial\/tutorial-codeigniter-indonesia-lengkap\">Read More&#8230;<\/a><\/p>\n","protected":false},"author":55,"featured_media":5426,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"rank_math_title":"","rank_math_description":"Tutorial CodeIgniter Indonesia lengkap untuk menjelaskan cara membuat aplikasi sederhana kaya fitur dengan menggunakan framework CodeIgniter.","rank_math_focus_keyword":"tutorial codeigniter, tutorial codeigniter indonesia","footnotes":""},"categories":[7300],"tags":[7218,5516,7301,7305,7309,7303,6300,5285,7307,7304,6302,7308,7302,7306,5639],"class_list":["post-5353","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-php","tag-htaccess-file","tag-apache","tag-codeigniter","tag-database-mysql","tag-framework","tag-hostinger","tag-lamp","tag-linux","tag-mvp","tag-nano-text","tag-php","tag-routing","tag-tutorial-codeigniter","tag-virtual-host","tag-vps"],"hreflangs":[{"locale":"en-US","link":"https:\/\/www.hostinger.com\/tutorials\/codeigniter-tutorial","default":0},{"locale":"pt-BR","link":"https:\/\/www.hostinger.com\/br\/tutoriais\/tutorial-codeigniter","default":0},{"locale":"fr-FR","link":"https:\/\/www.hostinger.com\/fr\/tutoriels\/codeigniter","default":0},{"locale":"id-ID","link":"https:\/\/www.hostinger.com\/id\/tutorial\/tutorial-codeigniter-indonesia-lengkap","default":0},{"locale":"en-UK","link":"https:\/\/www.hostinger.com\/uk\/tutorials\/codeigniter-tutorial","default":0},{"locale":"en-MY","link":"https:\/\/www.hostinger.com\/my\/tutorials\/codeigniter-tutorial","default":0},{"locale":"en-PH","link":"https:\/\/www.hostinger.com\/ph\/tutorials\/codeigniter-tutorial","default":0},{"locale":"pt-PT","link":"https:\/\/www.hostinger.com\/pt\/tutoriais\/tutorial-codeigniter","default":0},{"locale":"en-IN","link":"https:\/\/www.hostinger.com\/in\/tutorials\/codeigniter-tutorial","default":0},{"locale":"en-CA","link":"https:\/\/www.hostinger.com\/ca\/tutorials\/codeigniter-tutorial","default":0},{"locale":"en-AU","link":"https:\/\/www.hostinger.com\/au\/tutorials\/codeigniter-tutorial","default":0},{"locale":"en-NG","link":"https:\/\/www.hostinger.com\/ng\/tutorials\/codeigniter-tutorial","default":0}],"_links":{"self":[{"href":"https:\/\/www.hostinger.com\/id\/tutorial\/wp-json\/wp\/v2\/posts\/5353","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.hostinger.com\/id\/tutorial\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.hostinger.com\/id\/tutorial\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.hostinger.com\/id\/tutorial\/wp-json\/wp\/v2\/users\/55"}],"replies":[{"embeddable":true,"href":"https:\/\/www.hostinger.com\/id\/tutorial\/wp-json\/wp\/v2\/comments?post=5353"}],"version-history":[{"count":11,"href":"https:\/\/www.hostinger.com\/id\/tutorial\/wp-json\/wp\/v2\/posts\/5353\/revisions"}],"predecessor-version":[{"id":30301,"href":"https:\/\/www.hostinger.com\/id\/tutorial\/wp-json\/wp\/v2\/posts\/5353\/revisions\/30301"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.hostinger.com\/id\/tutorial\/wp-json\/wp\/v2\/media\/5426"}],"wp:attachment":[{"href":"https:\/\/www.hostinger.com\/id\/tutorial\/wp-json\/wp\/v2\/media?parent=5353"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.hostinger.com\/id\/tutorial\/wp-json\/wp\/v2\/categories?post=5353"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.hostinger.com\/id\/tutorial\/wp-json\/wp\/v2\/tags?post=5353"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}