Langsung ke konten utama

Tutorial Codeigniter #1: Pengenalan Codeigniter untuk Pemula


PHP memiliki banyak framework, saking banyaknya kadang kita dibuat galau untuk memilih framework.
Milih framework saja masih bingung…
…apalagi milih jodoh .😆
Serius!
Banyak yang masih galau memilih framework. Bahkan menghabiskan waktunya untuk mencari perbandingan antar framework.
Daripada mebanding-bandingkan, sebaiknya kita mulai belajar salah satu framework.
Agar nanti kita bisa menyimpulkan sendiri, mana framework yang disukai dan cocok untuk kita gunakan.
Kalau tidak cocok… ya tinggal cari dan pelajari framework yang lain.
Sia-sia donk, sudah susah belajar tapi tidak cocok.
Menurut saya:
Tidak ada yang namanya sia-sia dalam belajar. Karena kita akan mendapatkan ilmu dan pengalaman.
Kalaupun ilmunya belum bisa diamalkan, setidaknya kita bisa mengajari orang lain.
Oke, lanjut…
Ngomong-ngomong, apa itu framework?
Framework dalam bahasa indonesia artinya kerangka kerja. Kerangka kerja untuk membuat sesuatu (web).
Perumpamaannya mungkin bisa seperti itu.
Dengan menggunakan framework, pembuatan web akan lebih cepat dibandingkan PHP Native. Karena kita tidak perlu membuat semuanya dari nol.
Framework sudah menyediakan fungsi, library, dan peralatan lainnya yang kita butuhkan.
Salah satu framework yang cukup populer di Indonesia adalah Codeigniter.

Apa itu Codeigniter?

Codeigniter merupakan sebuah framework PHP yang menggunakan pola desain (design pattern) MVC (Model View Controller).
CodeIgniter dirilis pertama kali pada 28 Februari 2006. Versi stabil terakhir—saat tulisan ini dibuat—adalah versi 3.1.9.
Website Codeigniter
Sedangkan Codeigniter 4 masih dalam tahap pengembangan. CI 4 adalah generasi penerus dari CI 3 yang konsepnya lebih modern.
Codeigniter cocok digunakan untuk membuat aplikasi web seperti:
  • Portal Berita;
  • Sistem Informasi;
  • Web Startup;
  • Profile Company;
  • eComerce;
  • Blog;
  • dan sebagainya.

Kelebihan Codeigniter

Ada beberapa kelebihan CodeIgniter (CI) dibandingkan dengan Framework PHP lain,
  • Performa cepat: Codeigniter merupakan framework yang paling cepat dibanding framework yang lain. Karena tidak menggunakan template engine dan ORM yang dapat memperlambat proses.
  • Konfigurasi yang minim (nearly zero configuration): tentu saja untuk menyesuaikan dengan database dan keleluasaan routing tetap diizinkan melakukan konfigurasi dengan mengubah beberapa file konfigurasi seperti database.php atau autoload.php, namun untuk menggunakan codeigniter dengan setting standard, anda hanya perlu mengubah sedikit saja pada file di folder config.
  • Memiliki banyak komunitas: Komunitas CI di indonesia cukup ramai, tutorialnya pun mudah dicari.
  • Dokumentasi yang lengkap: Codeigniter disertai dengan user_guide yang berisi dokumentasi yang lengkap.
  • Mudah dipelajari pemula: Bagi pemula, CI sangat mudah dipelajari. Karena CI tidak terlalu bergantung pada tool tambahan seperti composer, ORM, Template Engine, dll.

Contoh Website yang dikembangkan dengan Codeigniter

Salah satu website indonesia yang masih menggunakan CI hingga saat ini adalah projects.co.id.
Sedangkan Codeigniter 4 masih dalam tahap pengembangan. CI 4 adalah generasi penerus dari CI 3 yang konsepnya lebih modern.
Codeigniter cocok digunakan untuk membuat aplikasi web seperti:
  • Portal Berita;
  • Sistem Informasi;
  • Web Startup;
  • Profile Company;
  • eComerce;
  • Blog;
  • dan sebagainya.

Kelebihan Codeigniter

Ada beberapa kelebihan CodeIgniter (CI) dibandingkan dengan Framework PHP lain,
  • Performa cepat: Codeigniter merupakan framework yang paling cepat dibanding framework yang lain. Karena tidak menggunakan template engine dan ORM yang dapat memperlambat proses.
  • Konfigurasi yang minim (nearly zero configuration): tentu saja untuk menyesuaikan dengan database dan keleluasaan routing tetap diizinkan melakukan konfigurasi dengan mengubah beberapa file konfigurasi seperti database.php atau autoload.php, namun untuk menggunakan codeigniter dengan setting standard, anda hanya perlu mengubah sedikit saja pada file di folder config.
  • Memiliki banyak komunitas: Komunitas CI di indonesia cukup ramai, tutorialnya pun mudah dicari.
  • Dokumentasi yang lengkap: Codeigniter disertai dengan user_guide yang berisi dokumentasi yang lengkap.
  • Mudah dipelajari pemula: Bagi pemula, CI sangat mudah dipelajari. Karena CI tidak terlalu bergantung pada tool tambahan seperti composer, ORM, Template Engine, dll.

Contoh Website yang dikembangkan dengan Codeigniter

Salah satu website indonesia yang masih menggunakan CI hingga saat ini adalah projects.co.id.



Membuat Project Codeigniter

Langkah-langkah yang harus dilakukan untuk membuat project CI:
  1. Download Codeigniter;
  2. Ekstrak CI ke htdocs.
Silahkan buka website Codeigniter untuk mendownload.

Kita akan mendapatkan sebuah file zip  CodeIgniter-3.1.9.zip, ekstrak file tersebut ke dalam c:\xampp\htdocs (XAMPP) atau /var/www/html (di Linux).



Setelah itu, ubah nama CodeIgniter-3.1.9 menjadi gamingstore.

Kenapa namanya gamingstore?
Karena pada project ini, kita akan membuat sebuah website yang menjual aksesoris gaming.
Sekarang coba buka: http://localhost/gamingstore/

Selamat Codeigniter sudah berhasil diinstal.
Selanjutnya, silahkan buka dengan teks editor. Lalu coba untuk mengenali struktur direktorinya.
 Saya membukanya dengan teks editor VS Code:


Mengenal Struktur Direktori Codeigniter

Ini adalah struktur direktori Codeigniter:

Tedapat dua direktori penting di dalam CI: application dan system. Selain itu terdapat juga direktori user_guide dan beberapa file. Berikut ini penjelasannya:
    📁
  1. application berisi semua kode aplikasi. Di dalam direktori inilah kita akan menulis semua kode aplikasi kita.
  2. system berisi kode-kode inti dari Codeiniter. Jangan mengubah apapun di dalam direktori ini. Jika kita ingin upgrade versi, kita cukup me-replace direktori ini dengan yang baru.
  3. tests berisi kode untuk melakukan unit testing.
  4. user_guide berisi dokumentasi codeigniter. Kita bisa menghapus direktori ini saat web sudah jadi.
  5. .editor_config berisi konfigurasi untuk teks editor.
  6. .gitignore berisi daftar file dan folder yang akan diabaikan oleh Git.
  7. comspoer.json adalah file yang berisi keterangan project dan keterangan library yang digunakan. File ini dibutuhkan oleh composer.
  8. contributing.md adalah file yang berisi penjelasan cara berkontribusi di proyek CI. Kita bisa menghapus file ini, apabila web sudah jadi.
  9. license.txt adalah file yang berisi keterangan lisensi dari CI.
  10. readme.rst sama seperti file contributing.md file ini berisi penjelasan dan informasi tentang project CI. Kita juga bisa menghapus file ini saat web sudah selesai.
  11. index.php adalah file utama dari CI. File yang akan dibuka pertamakali saat kita mengakses web.
Selanjutnya silahkan buka direktori application dan perhatikan direktori yang ada di sana.
  • cache berisi cache dari aplikasi.
  • config berisi konfigurasi aplikasi.
    • autoload.php tempat kita mendefinisikan autoload;
    • config.php konfigurasi aplikasi;
    • constants.php berisi konstanta;
    • database.php konfigurasi database aplikasi;
    • doctypes.php berisi definisi untuk doctype HTML;
    • foreign_chars.php berisi karakter dan simbol;
    • hooks.php berisi konfigurasi hooks;
    • index.html untuk mencegah direct access;
    • memcached.php untuk berisi konfigurasi untuk memcached;
    • migration.php konfigurasi untuk migrasi;
    • mimes.php berisi definisi tipe file;
    • profiler.php konfigurasi untuk profiler;
    • routers.php tempat kita menulis route aplikasi;
    • smileys.php berisi kode untuk emoji;
    • user_agents.php berisi definisi untuk user agents.
  • controller berisi kode untuk controller.
  • core berisi kode untuk custom core.
  • helpers berisi fungsi-fungsi helper.
  • hooks berisi kode untuk script hook.
  • language berisi string untuk bahasa, apabila web mendukung multibahasa.
  • libraries berisi library.
  • logs berisi logs dari aplikasi.
  • models berisi kode untuk model.
  • thrid_party berisi library dari pihak ketiga.
  • views berisi kode untuk view.
  • index.html file html untuk mencegah direct access. 
  •  
  • Selamat datang di Codeigniter

    Ketika membuka http://localhost/gamingstore/, kita akan mendapatkan tampilan Welcome to Codeigniter.

    Ini adalah tampilan awal yang akan kita lihat saat baru pertama instal CI.
    Sebagai pemanasan, cobalah untuk mengubah teks Welcome to CodeIgniter! menjadi Selamat datang di Gaming Store Belajar Ngoding.
    Caranya:
    Buka file application/views/welcome_message.php. Lalu ubah teks pada baris 71.


     …dan sekarang coba reload kembali halaman http://localhost/gamingstore/.


    Penjelasan:
    File welcome_message.php yang berada di dalam direktori views merupakan file yang bertanggung jawab untuk menampilkan sesuatu. Di sini kita bisa menuliskan kode untuk template dan CSS.
    File welcome_message.php di-load oleh sebuah controller application/controllers/welcome.php dengan kode:


    Controller welcome adalah controller default yang digunakan. Hal ini bisa kita lihat pada konfigurasi routers di application/config/routers.php.


    Bingung?
    Tenang…
    Kita akan pelajari di tutorial berikutnya.

    Apa Selanjutnya?

    Cara terbaik belajar framework adalah dengan mencoba membuat sesuatu.
    Praktek langsung dengan studi kasus.
    Ke depan, kita akan belajar membuat sebuah website toko online (toko aksesoris gaming).
    Jadi, selanjutnya silahkan pelajari.
    Terima kasih mengunjungi blog ini.

Komentar

Postingan populer dari blog ini

Tutorial Codeigniter #2: MVC dan Routing, Konsep dasar CI yang Harus Kamu Pahami

Pada tutorial sebelumnya , kita sudah belajar cara menginstal CI dan mengenal struktur direktori dari CI. Sekarang kita lanjut belajar tentang routing dan MVC. Rencananya, kita akan membuat aplikasi online shop (olshop). Namun, sebelum kita mulai membuat aplikasi dengan CI, ada baiknya berkenalan dulu dengan konsep dasar CI. Codeigniter adalah frameowrk yang menggunakan konsep MVC. Apa itu MVC? Mari kita bahas… Mengenal Konsep MVC pada Codeigniter MVC (Model, View, Controller) adalah sebuah pola desain (design pattern) arsitektur pengembangan aplikasi yang memisahkan dan mengelompokan beberapa kode sesuai degan fungsinya. MVC membagi aplikasi ke dalam tiga bagian fungsional: model, view, dan controller. Model adalah kode-kode untuk model bisnis dan data. biasanya berhubungan langsung dengan database untuk memanipulasi data (insert, update, delete, search), menangani validasi dari bagian controller, namun tidak dapat berhubungan langsung dengan bagian view. Vie

Tutorial Codeigniter #4: Teknik Membuat Template Admin yang Efektif

Pada tutorial sebelumnya, kita sudah berhasil menambahkan Bootstrappada proyek CI . Namun, masih ada yang kurang… Template masih dibuat dalam satu file saja. Ini nanti akan bermasalah ketika kita membuat halaman baru. Permsalahannya: Kita akan menulis kode yang sama berulang-ulang dalam file template yang berbeda. Bagaimana nanti kalau ada perubahan? Misal, perubahan link pada navbar. Maka kita harus mengubah semua file template yang kita buat satu per satu. Tentu ini kurang efektif, karena kita akan menghabiskan banyak waktu dan tentaga untuk mengubahnya. Salah satu solusi dari permasalahan ini yaitu dengan menggunakan partials . Dengan partials kita akan membagi template menjadi bagian-bagian kecil yang dapat digunakan kembali. Jika kamu pernah belajar Laravel, kamu mungkin pernah mendengar fungsi yield yang memungkinkan kita untuk mengimpor bagian template yang lain. Fungsi yield di Laravel sering digunakan untuk membuat layout. Lalu di Codeigniter, apakah ada fungsi