• Tidak ada hasil yang ditemukan

BAB III ANALISA DAN PERANCANGAN SISTEM

2.7 Framework Codelgniter

2.7Framework Codelgniter

Framework adalah sekumpulan perintah/fungsi dasar yang dapat membantu dalam menyelesaikan proses-proses yang lebih kompleks. Penggunakan framework dalam menghasilkan suatu website akan terasa lebih efesien bagi programmer daripada jika programmer tersebut membuat website dengan alur coding standar. CodeIgniter merupakan sebuah open source framework untuk membuat aplikasi web berbasis PHP dengan fitur yang lengkap. CodeIgniter merupakan langkah cepat untuk membuat sebuah website daripada membangun sebuah website dengan alur coding yang biasa.

Dengan mempaketkan library-library, alur pemrograman akan terstruktur dan logika bisnis/proses akan lebih mudah dimengerti oleh

developer/programmer lain. CI telah mempaketkan itu semua sehingga mampu meminimalisirkan jumlah coding yang dibangun. Hal ini didasarkan pada arsitektur MVC (Model-View-Controller) dan kompatibel dengan

standart shared hosting accounts, berbagai versi PHP (termasuk PHP4 dan PHP5) dan konfigurasi. Ditambah, kita tidak perlu menggunakan command line. URL dipetakan ke fungsi tertentu di dalam controller yang dinamakan

routing. CodeIgniter juga mendukung scaffolding yang merepresentasikan cara lain mengotomatisasi dalam melakukan generate view berdasarkan model yang ada. Meskipun scaffolding didesain untuk prototype yang sederhana, CodeIgniter mengambil langkah lebih lanjut dengan

menggunakan keyword di dalam URL untuk mengakses semua scaffolding. Framework MVC modern ini mempermudah dalam pembuatan aplikasi PHP. Sebagian besar pekerjaan seperti memuat library, mendapatkan data dari

model, mengubah view, dan lain-lain, yang dilakukan di dalam controller.

CodeIgniter menyediakan berbagai macam class untuk FTP, email, file upload, XMLRPC, zip encoding.

CodeIgniter cocok untuk programmer jika :

a. Menginginkan sebuah framework dengan kapasitas ringan dan

powerfull.

b. Menginginkan sebuah kinerja yang luar biasa

c. Kompatibel dengan akses hosting yang standard dan dapat berjalan dengan variasi versi PHP apapun dengan konfigurasi yang bagaimanapun juga.

d. Tidak meminta konfigurasi

e. Tidak meminta untuk akses atau menggunakan CLI (seperti:

command line, Console, atau terminal) f. Tidak terlalu mengacu pada peraturan coding

g. Tidak meminta depedency apapun, seperti PEAR

h. Tidak memaksakan untuk belajar tentang templating language

(walaupun di CodeIgniter ada template parser, itu adalah pilihan jika ingin)

i. Tidak ingin yang begitu kompleks j. Dokumentasi yang lengkap

2.7.1 Arsitektur MVC pada CodeIgniter

CodeIgniter didasarkan pada arsitektur MVC, dimana hal yang paling utama adalah view nya harus dipisahkan dari back end suatu aplikasi. Back end dan front end dan lainnya dihubungkan dengan menggunakan controller. Pemisahan antara bagian awal dan akhir dari aplikasi web membuat kode lebih mudah dibaca dan dimengerti. MVC adalah sebuah konsep pemrograman yang fungsinya untuk memisahkan kode yang bertugas sebagai tampilan atau user interface (View), tempat untuk menampungkan data sebelum ditampilkan di view (Model) dan bagian yang mengatur perpindahan data dari model ke view (Controller).

2.7.1.1Model

Model berfungsi untuk mengkoneksikan ke database, melakukan operasi Create, Read, Update, dan Delete. Biasanya terdapat sebuah model untuk setiap tabel dalam database yang dinamakan

tablename_model.php. Model dan controller berisi uppercased konstruktor, yang sering menghasilkan nama yang sama di halaman itu sendiri. Model memiliki fungsi masing-masing yang dapat dipanggil pada saat kita membuat sebuah contoh spesifik dari model

yang diberikan. Sebagai contoh, kita akan membuat sebuah form sederhana yang disubmitkan ke database MySQL dan kemudian mengambil kembali data yang telah disubmit. Untuk tujuan tersebut, pertama kita perlu membuat sebuah tabel dimana data akan disubmitkan. Ini dapat dilakukan dengan melakukan eksekusi SQL

statement tertentu melalui phpMyAdmin atau langsung melalui MySQL console. Jadi, model mencakup semua proses yang terkait dengan pemanggilan struktur data baik berupa pemanggilan fungsi, input processing atau mencetak output ke dalam browser.

2.7.1.2Controller

Controller menghubungkan back end dan front end. Pada contoh di atas, Form_model berfungsi unuk melakukan fungsi statement

INSERT dan SELECT. Controller akan memanggil fungsi-fungsi ini untuk output apa yang dibutuhkan untuk ditampilkan di view. Semua

database yang berhubungan dengan fungsi pada CodeIgniter telah diatur dan dipanggil dengan menggunakan model. Bagian front end

ditampilkan dan diatur oleh view. Struktur controller yang mirip dengan model dan penulisan namanya dalam huruf kecil. Contohnya,

controller form.php menghubungkan antara model form_model.php

dan individual view. Pada CodeIgniter, kita dapat memiliki kontrol yang terpisah untuk setiap bagian dari website. Di sisi lain, pada bagiam halaman tersebut dapat memiliki fungsi masing-masing di dalam controller. Jadi, jika kita mengarahkan ke sebuah controller, contohnya www.yourdomain.com/index.php/form, fungsi index dari

form controller akan dipanggil. Meski demikian kita dapat memiliki sebuah halaman yang berfungsi untuk melakukan submit data, contohnya dengan membuat function submit() dan menempatkannya ke URL www.yourdomain.com/index.php/form/submit untuk

instance baru dari sebuah model, melalui fungsi tertentu dan memberikan hasilnya ke view sehingga dapat ditampilkan di browser. Controller mencakup semua proses yang terkait dengan pemanggilan database dan kapsulisasi proses-proses utama.

2.7.1.3View

View merupakan tampilan sebenarnya yang akan kita lihat. Kita dapat mengatur view dengan berbagai cara. Kita hanya dapat memiliki sebuah view saja untuk menampilkan halaman yang berbeda berdasarkan informasi yang diberikan oleh controller, atau bahkan memiliki view yang berbeda secara keseluruhan untuk setiap halaman.

View menyerupai halaman HTML regular dengan doctype, head, dan body tag. View header dan footer seringkali dimuat sebelum dan sesudah content view yang kita gunakan. View dari output memberikan keterangan yang diproses oleh controller. Semua yang ada didalam array $data diproses ke view dimana kita dapat mereferensikannya menggunakan nama objek sebagai sebuah

variabel. Misalnya, jika kita ingin memproses $data['price'] ke sebuah view, kita dapat mereferensikannya dengan menggunakan $price yang ada di dalam view itu sendiri jika kita ingin memproses $data['description'], kita dapat mereferensikannya ke view dengan menggunakan $description. Array $data itu sendiri dapat berisi array lain juga. Misalnya jika array $data berisi array bernama 'productinfo', kita menggunakan $productinfo['price'] atau

B

BAABBIIIIII

A

ANNAALLIISSAADDAANNPPEERREENNCCAANNAAAANNSSIISSTTEEMM

Dokumen terkait