Anda di halaman 1dari 9

ABSTRAK

Framework merupakan sekumpulan library yang diorganisasikan pada sebuah


rancangan arsitektur untuk memberikan ketepatan, kecepatan, kemudahan dan
konsistensi dalam pengembangan aplikasi. Framework PHP yang sangat banyak
tersedia menjadi kendala bagi seseorang untuk memilih menggunakannya. Saat ini
framework yang populer dan cukup banyak digunakan untuk aplikasi website seperti
Laravel, Yii, CodeIgniter, Zend, CakePHP, Symfony, dan lain sebagainya.
Dari sekian banyak framework PHP yang ada , CodeIgniter termasuk salah satu
framework yang banyak diminati oleh programmer PHP. Alasannya karena
CodeIgniter memiliki konsep yang sederhana, powerful, fleksibel (tidak kaku), dan
berukuran sangat kecil dan cukup mudah untuk dikuasai. CodeIgniter juga datang
dengan manual yang tergolong lengkap.
CodeIgniter memiliki banyak fitur (fasilitas)yang membantu para pengembang
(developer) PHP untuk membuat aplikasi web secara mudah dan cepat. Dibandingkan
dengan framework PHP lainnya, harus diakui bahwa CodeIgniter memiliki desain yang
lebih sederhana dan bersifat fleksibel. CodeIgniter mengizinkan para pengembang
untuk menggunakan framework secara parsial maupun secara keseluruhan.
Framework CodeIgniter merupakan framework PHP yang dibangun untuk
pengembang aplikasi wib yang membutuhkan toolkit sederhana untuk membuat
aplikasi web dengan fitur lengkap yang banyak memiliki keunggulan dibandingkan
dengan framework yang lain.
Kata Kunci: Framework, PHP, CodeIgniter, MVC.

1
BAB I
PENDAHULUAN

A. Latar Belakang
Perkembangan teknologi pada era sekarang sudah tumbuh sangat pesat,
lembaga atau perusahaan sekarang hampir semuanya sudah mengadopsi teknologi
untuk mengelola pekerjaannya. Ketatnya persaingan teknologi menyebabkan
peningkatan kebutuhan akan penggunaan teknologi informasi.
Lembaga ,perusahaan ataupun perorangan yang saat ini selalu mengikuti
perkembangan teknologi kebutuhan informasi untuk dapat membantu kebutuhan
operasionalnya dengan menggunakan system yang lebih efektif dan efisien dalam
menjalankan bisnisnya. salah satu kegiatan bisnis yang popular pada saat ini dan
menjadi kebutuhan lembaga, perusahaan ataupun perorangan dalam mempromosikan
penjualan ataupun kebutuhan bisnis dan manajerial adalah dengan menggunakan
website.
Website merupakan halaman situs sistem informasi yang digunakan untuk
menampilkan informasi teks, gambar, animasi, suara atau gabungan dari semuanya baik
yang bersifat statis maupun dinamis dimana masing-masing dihubungkan dengan
jaringan-jaringan halaman (hyperlink).
Selain itu berkembangnya keberadaan framework PHP (Hypertext
Preprocessor) untuk pembuatan website menjadi tantangan tersendiri bagi user dalam
membuat aplikasi berbasis web.
Framework merupakan sekumpulan library yang diorganisasikan pada sebuah
rancangan arsitektur untuk memberikan ketepatan, kecepatan, kemudahan dan
konsistensi dalam pengembangan aplikasi. Framework PHP yang sangat banyak
tersedia menjadi kendala bagi seseorang untuk memilih menggunakannya. Saat ini
framework yang populer dan cukup banyak digunakan untuk aplikasi website seperti
Laravel, Yii, CodeIgniter, Zend, CakePHP, Symfony, dan lain sebagainya.
Sehingga pada makalah ini ingin memperkenalkan apa itu CodeIgniter dan
bagaimana framework CodeIgniter itu bekerja.

B. Rumusan Masalah
Berdasarkan uraian latar belakang diatas maka yang menjadi rumusan masalah pada
makalah ini adalah sebagai berikut:
1. Apa itu Framework web
2. Apa itu CodeIgniter
3. Keunggulan CodeIgniter
4. Instalasi CodeIgniter
5. Mengenal pola desain CodeIgniter
6. Struktur direktori CodeIgniter
7. Alur aplikasi CodeIgniter
C. Tujuan Penulisan
Yang menjadi tujuan penulisan pada makalah ini adalah untuk mengetaui apa itu
CodeIgniter dan seperti apa penggunaanya.

2
BAB II
PEMBAHASAN

A. Apa Itu Framework Web


Framework secara sederhana dapat diartikan kumpulan dari fungsi-
fungsi/prosedur-prosedur dan class-class untuk tujuan tertentu yang sudah siap
digunakan sehingga bias lebih mempermudah dan mempercepat pekerjaan seorang
programmer, tanpa harus membuat fungsi atau class dari awal
Web Aplication Framework(WAF), atau sering disebut dengan web framework,
adalah suatu kumpulan kode berupa pustaka (library) dan alat (tool) yang dipadukan
sedemikian rupa menjadi suatu kerangka kerja (framework) untuk memudahkan dan
mempercepat proses pengembangan aplikasi web.
Proses pengembangan web itu sendiri dapat dilakukan dengan beragam Bahasa
pemrograman, salah satunya bias mengunakan PHP, Python, Ruby, Perl, C++, dan
sebagainya. Sebagian besar dari framework yang tertera diatas mengimplementasikan
pola desain Model-View-Controler (MVC), yang memisahkan bagian kode untuk
penanganan proses bisnis dengan bagian kode untuk keperluan presentasi (tampilan).
Saat ini,banyak pilihan framework web yang dapat digunakan untuk
menyederhanakan dan mempercepat proses pengembangan web. Bukan hanya
framework untuk PHP, tetapi juga framework untuk bahasa-bahasa pemrograman lain
seperti Ruby, Python, Java, dan bahkan C++. Pengguna Ruby dapat menggunakan
Ruby on Rails maupun Sinatra, pengguna Java dapat menggunakan Spring MVC,
JavaServer Face (JSF) maupun Apache Trust, pengguna C++ dapat menggunakan
CppCMS maupun Crow, pengguna Python dapat menggunakan Django, CheryPy,
Flask, dan banyak framework lainnya. Dibanding dengan Bahasa pemrograman lain,
PHP memiliki varian framework yang paling banyak. CodeIgniter, Yii, Zend
Framework , Laravel, Symfoni, CakePHP, Kohana, Prado, Phalcon, dan FuelPHP
merupakan beberapa contoh framework untuk PHP.

B. CodeIgniter
Dari sekian banyak framework PHP yang ada , CodeIgniter termasuk salah satu
framework yang banyak diminati oleh programmer PHP. Alasannya karena
CodeIgniter memiliki konsep yang sederhana, powerful, fleksibel (tidak kaku), dan
berukuran sangat kecil dan cukup mudah untuk dikuasai. CI juga datang dengan manual
yang tergolong lengkap. CodeIgniter adalah framework web untuk bahasa
pemrograman PHP, yang dibuat oleh Rick Ellis pada tahun 2006, penemu dan pendiri
EllisLab. EllisLab adalah suatu tim kerja yang berdiri pada tahun 2002 dan bergerak
dibidang pembuatan software dan tool untuk para pengembang web. Sejak tahun 2014
hingga sekarang, EllisLab teleh menyerahkan hak kepemilikan CodeIgniter ke British
Columbia Institute of technology(BCIT) untuk proses pengembangan lebih lanjut. Saat
ini, situs web resmi dari CodeIgniter telah berubah dari www.ellislab.com ke
www.codeigniter.com.
CodeIgniter memiliki banyak fitur (fasilitas)yang membantu para pengembang
(developer) PHP untuk membuat aplikasi web secara mudah dan cepat. Dibandingkan
dengan framework PHP lainnya, harus diakui bahwa CodeIgniter memiliki desain yang
lebih sederhana dan bersifat fleksibel. CodeIgniter mengizinkan para pengembang
untuk menggunakan framework secara parsial maupun secara keseluruhan. ini berarti
bahwa CodeIgniter masih memberi kebebasan kepada para pengembang untuk menulis
bagian bagian kode tertentu di dalam aplikasi menggunakan cara konvensional (tanpa
framework).

3
C. Keunggulan CodeIgniter
CodeIgniter merupakan sebuah toolkit yang ditujukan untuk orang lain yang ingin
membangun aplikasi web dalam bahasa pemograman PHP. Beberapa keunggulan yang
ditawarkan oleh CodeIgniter adalah sebagai berikut:
 CodeIgniter adalah Framework yang bersifat gratis dan open source.
 CodeIgniter memiliki ukuran yang kecil disbanding dengan framework lain.
 Aplikasi yang dibuat menggunakan CodeIgniter bias berjalan cepat.
 CodeIgniter menggunakan pola desain Model-View-Controler (MVC) sehingga
suatu file tidak terlalu berisi banyak kode. Hal ini menjadikan kode libih mudah
dibaca, dipahami, dan dipelihara dikemudian hari.
 CodeIgniter dapat diperluas sesuai dengan kebutuhan.
 CodeIgniter terdokumentasi dengan baik. Informasi tentang pustaka kelas dan
fungsi yang disediakan oleh CodeIgniter dapat diperoleh melalui dokumentasi
yang disertakan didalam paket distribusinya.
 Kinerja yang luar biasa, CodeIgniter secara konsisten melebihi kebanyakan
pesaingnya.
 Tidak ada skala besar library monolotik, kerangka kerja MVC ramping, dengan
kemampuan yang cukup untuk meningkatkan produktivitas, sambil
memberikan pihak ketiga addons atau plugin untuk fungsi tambahan.
 Hampir nol konfigurasi, banyak dari konfigurasi CodeIgniter dilakukan dengan
konvensi, misalnya menempatkan model dalam folder "model". Masih ada
sejumlah pilihan konfigurasi yang tersedia, melalui script di folder "config".
 Solusi sederhana atas kompleksitas, CodeIgniter mendorong MVC, namun
tidak memaksa.
 Tidak ada aturan coding ketat, gunakan sendiri coding dan penamaan konvensi
Anda, dengan hanya beberapa peringatan yang berhubungan dengan konflik
classname. CodeIgniter terlihat untuk memberdayakan Anda, tidak
membelenggu Anda.
 Kerangka dengan footprint yang kecil, CodeIgniter 3 memiliki download 2MB,
termasuk buku petunjuk.
 Dokumentasi jelas, panduan pengguna CodeIgniter dilengkapi dengan
download pengantar, tutorial, sejumlah "bagaimana" panduan, dan kemudian
referensi dokumentasi untuk komponen yang membentuk kerangka.
 Kompatibilitas dengan standart hosting, CodeIgniter 3 hanya membutuhkan
PHP 5.3.7, dan memainkan baik dengan hampir semua berbagi atau dedicated
hosting platform. Banyak webapps perlu database, dan CodeIgniter mendukung
paling umum, termasuk MySQL.

D. Instalasi CodeIgniter
CodeIgniter dapat diunduh dari situs resminya: www.codeigniter.com. Instalasi
CodeIgniter sangat sederhana dan mudah dilakukan. Hanya perlu mengekstrak file
paket framework yang diunduh ke direktori \htdoc. Agar mudah dibaca, nama direktori
hasih ekstrak tersebut dapat dirubah sesuai nama yang diinginkan, misal ci.
Untuk memeriksa apakah CodeIgniter sudah terpasang dengan benar atau belum, dapat
dilihat pada browser lalu tulisakan http://localhost/ci/ jika berjaln dengan baik maka
akan keluar tampilan seperti pada gambar berikut:

4
E. Mengenal Pola Desain MVC
Pada teknik pemrograman berorientasi objek, Model-View-Controller (MVC)
adalah nama dari suatu metodologi atau pola desain (design pattern) yang digunakan
untuk merelasikan data dan user interface aplikasi secara efisien. Pola MVC awalnya
digunakan untuk rancang bangun aplikasi desktop, khususnya untuk aplikasi-aplikasi
yang deikembangkan menggunakan C++, java, Smalltalk. Namun, saat ini pola tersebut
telah diadopsi untuk aplikasi berbasis web. Hamper semua framework untuk
pengembangan aplikasi web menggunakan arsitektur MVC.
Dalam pola MVC, komponen aplikasi dibagi menjadi Tiga bagian ,yaitu:
 Model, yang mempresentasikan struktur data
 View, yang merupakan representasi keluaran dari suatu model.
 Controller, yaitu komponen yang bertugas mengambil masukan dari user dan
mengubahnya menjadi perintah untuk model dan view.
Secara umum, pola MVC dapat digambarkan sebagai berikut:

sama dengan sebagian framework PHP lainnya, CodeIgniter juga


mengimplementasikan pola MVC . meskipun demikian, implementasi MVC untuk

5
masing-masing framework tentu akan berbeda . beberapa framework tertentu bias saja
menambahkan komponen lain kedalam arsitektur diatas untuk meningkatkan kinerja
dari aplikasi mereka.

F. Struktur Direktori CodeIgniter


Dalam paket distribusinya CodeIgniter memiliki tiga direktori yaitu:
 Direktori Aplication
Direktori Aplication adalah direktori yang didunakan untuk menempatkan file-
file dari aplikasi yang akan kita buat. Kita perlu menempatkan daftar model,
controller, dan view yang akan kita buat didalam direktori ini. Berikut adalah
sub-direktori yang terdapat dalam direktori application
a) Cache, berguna untuk menyimpan halaman-halaman yang telah dibuka
sebelumnya dan ditembolokkan atau disembunyikan (cached).
b) Config, berisi daftar file konfigurasi yang akan digunakan oleh apikasi
yang kita kembangkan.
c) Controllers, berisi daftar file controller.
d) Core, digunakan untuk menempatkan daftar file kelas induk atau kelas
dasar yang nantinya akan diturunkan atau diwariskan oleh kelas kelas
yang digunakan oleh aplikasi.
e) Helpers, digunakan untuk menempatkan daftar file helper (pustaka
dalam bentuk fungsi) yang didfenisikan sendiri.
f) Hooks, digunakan untuk menyimpan file pendukung aplikasi.
g) Language, dalam direktori ini kita dapat mendefinisikan nilai konstanta
tertentu dalam bahasa yang kita inginkan.
h) Libraries, berisi daftar library (pustaka dalam bentuk kelas) yang kita
definisikan sendiri.
i) Logs, digunakan oleh CodeIgniter untuk menyimpan file log (catatan).
j) Models, berisi daftar file model yang diperlukan oleh aplikasi.
k) Third_party, digunakan untuk menyimpan plugin yang dikembangkan
oleh pihak ketiga.
l) Views, berisi daftar file view yang diperlukan oleh aplikasi.

 Direktori system
Direktori system berisi daftar file kode yang disediakan oleh CodeIgniter, yang
diklasifikasikan berdasarkan fungsinya. Sub-direktori yang ada di dalam
direktori system adalah sebagai berikut:
a) Core, berisi daftar file yang merupakan kelas-kelas inti di dalam
CodeIgniter, seperti CI_Controller, CI_model, dan lain-lain.
b) Database, berisi daftar file driver dan tool yang digunakan untuk
keperluan akses database.
c) Fotns, berisi daftar file font.
d) Helpers, berisi daftar file helper standar yang disediakan oleh
CodeIgniter.
e) Language, berisi daftar file bahasa.
f) Libraries, berisidaftar file pustaka kelas standar yang disediakan oleh
CodeIgniter.

 Direktori User_guide
Direktori ini berisi dokumentasi CodeIgniter yang ditulis dalam format HTML
dan dapat dipindahkan direktori ini ke direktori lain.

6
G. Alur Aplikasi CodeIgniter
Alur aplikasi yang ditulis menggunakan CodeIgniter digambarkan seperti
gambar dibawah ini:

berikut ini adalah penjelasan dari gambar diatas:


1. File index.php berperan sebagai controller depan yang akan menginisialisasi
daftar file yang dibutuhkan untuk menjalankan CodeIgniter.
2. Permintaan yang dikirim oleh user (dalam bentuk URI) akan ditangkap oleh
router, dan router akan menentukan controller dan metode mana yang harus
dipanggil.
3. Jika ternyata halaman yang diminta oleh user sudah ditembolokkan(cached),
halaman tersebut akan diambil dari cache dan langsung disajikan ke web
browser
4. Sebelum controller yang diminta oleh user dimuat, permintaan HTTP dan
semua permintaan yang dikirim akan disaring lebih dulu untuk kepentingan
pengamanan.
5. Controller memuat model, library, helper, dan file-file pendukung lain yang
diperlukan untuk memproses permintaan user.
6. Controller memuat view untuk disajikan ke web browser. Jika mode
penembolokan (caching) diaktifkan maka view akan ditembolokkan terlebih
dahulu sebelum ditampilkan. Jika nantinya ada permintaan yang sama, maka
halaman yang diminta hanya akan diambil dari cache.

H. Tujuan Framework CodeIgniter


 Instansiasi dinamis pada CodeIgniter, komponen yang dimuat dan rutinitas
dieksekusi hanya jika diminta, bukan global. Tidak ada asumsi yang dibuat oleh
sistem mengenai apa yang mungkin diperlukan di luar sumber daya minimal,
sehingga sistem ini sangat ringan secara default. Peristiwa seperti dipicu oleh
permintaan HTTP, dan pengendali dan pandangan Anda merancang akan
menentukan apa yang dipanggil.
 Loose Coupling, coupling adalah sejauh mana komponen dari suatu sistem
saling mengandalkan. Komponen kurang bergantung satu sama lain lebih dapat
digunakan kembali dan sistem menjadi fleksibel. Tujuan kami adalah sistem
yang sangat longgar.
 Komponen Singularity. Singularity adalah sejauh mana komponen memiliki
tujuan yang difokuskan secara sempit. Dalam CodeIgniter, setiap kelas dan
fungsinya sangat otonom untuk memungkinkan kegunaan maksimum.

7
BAB III
PENUTUP

A. Kesimpulan
Dari pembahasan diatas dapat ditarik kesimpulan bahwa framework
CodeIgniter merupakan framework PHP yang dibangun untuk pengembang aplikasi
wib yang membutuhkan toolkit sederhana untuk membuat aplikasi web dengan fitur
lengkap yang banyak memiliki keunggulan dibandingkan dengan framework yang lain.

B. Saran
Demi kesempurnaan makalah ini, sebaiknya mencoba sendiri framework
CodeIgniter ini untuk mengetahui kenyamanan dan kehandalan framework
CodeIgniter.

8
DAFTAR PUSTAKA

http://www.codeigniter.com/
https://id.wikipedia.org/wiki/CodeIgniter
Budi Raharjo, Belajar Otodidak CodeIgniter, Penerbit Informatika, 2017

Anda mungkin juga menyukai