PENERAPAN FRAMEWORK CODEIGNITER PADA APLIKASI WEB ECOMMERCE (JUNAEDI, Dr. Ravi Ahmad Salim.)
Fakultas Teknologi Industri - Jurusan Teknik Informatika Universitas Gunadarma ABSTRAK Banyak media yang dapat digunakan untuk mendapatkan suatu informasi. Salah satu media penyebaran informasi yang paling diminati saat ini adalah media internet. Penyebaran informasi di internet tidak terlepas dari sebuah layanan yang bernama website. Seiring dengan perkembangan internet yang semakin pesat membuat suatu website selain sebagai media informasi juga dapat sebagai media bisnis yaitu penjualan secara online atau web e-commerce. Dengan adanya Framework Codeigniter, maka Framework ini diterapkan pada web e-commerce, karena Framework Codeigniter memiliki konsep MVC dimana pengcodingan menjadi terstruktur yaitu Model sebagai proses yang berinteraksi dengan database, View sebagai penerima dan merepresentasikan data kepada user Controller berfungsi untuk menerima request dan data dari user kemudian menentukan apa yang akan diproses oleh aplikasi, kemudian untuk database-nya menggunakan mysql. Codeigniter juga memiliki library yang dapat digunakan programmer sehingga programmer tidak perlu membuat lagi seperti pagination library, session library, file uploading library, dan lainlain. Kata Kunci : E-commerce, CodeIgniter, Mysql. 1 P ENDAHULUAN Kebutuhan akan informasi tidak terlepas dari kehidupan saat ini. Banyak media yang dapat digunakan untuk mendapatkan suatu informasi. Salah satu media penyebaran informasi yang paling diminati saat ini adalah media internet. Penyebaran informasi di internet tidak terlepas dari sebuah layanan yang bernama website. Melalui website informasi dapat disampaikan baik berbasis teks, grafik, suara, animasi dan gambar. Tools yang digunakan untuk membuat suatu website juga semakin berkembang. Salah satunya adalah penggunaan framework dalam pembuatan website. Framework pada saat ini semakin banyak digunakan dalam pembuatan website. Codeigniter merupakan salah satu framework yang open source. Codeigniter dapat digunakan dalam pembuatan website
yang menggunakan bahasa pemrograman PHP. Seiring dengan perkembangan internet yang semakin pesat membuat suatu website selain sebagai media informasi juga dapat sebagai media bisnis yaitu penjualan secara online atau web ecommerce. Penulis berkeinginan membuat suatu website penjualan produk. Web ECommerce ini hanya menampilkan barang yang dijual tanpa adanya transaksi langsung pada web, dalam artian pemesanan dilakukan melalui web, pengguna hanya duduk di depan komputer untuk pemesanan barang namun harus melakukan transaksi pembayaran melalui ATM. Oleh karena kasus diatas dan kemunculan penggunaan framework pada pembuatan website, maka penulis berkeinginan membuat "PENERAPAN
FRAMEWORK CODEIGNITER PADA APLIKASI WEB E-COMMERCE". 2 TINJAUAN PUSTAKA 2.1 Bahasa Pemograman Web Dalam pembuatan website dapat dibaca oleh browser adalah HTML. HTML merupakan bahasa standar yang digunakan untuk dokumen WWW. Bahasa HTML merupakan tag (akhiran) yang menandakan cara browser menampilkan elemen halaman seperti teks dan gambar dan cara browser menanggapi sesuatu tindakan tertentu dari pemakai seperti Hyperlink dengan hanya meng-klik mouse dan/atau menekan keyboard. Disampi ng bahasa HTML ada bahasa pemrograman lain yang dapat disinergikan dengan HTML. Bahasa-bahasa pemograman yang dipakai dapat dilihat pada tabel berikut: Tabel 2.1 Bahasa Pemrograman Web.
Menurut situs berdasarkan sumber http://webdesign.about.com/ pemograman yang paling sering digunakan adalah php, berikut adalah hasil polling yang dilakukan oleh web tersebut.
Dari gambar diatas dapat dilihat bahwa bahasa pemograman yang paling banyak digunakan oleh programmer adalah PHP (PHP HyperText PreProcessor). PHP adalah bahasa pemrograman yang berjalan pada sisi server (server side) yang digunakan untuk pengembangan Web dan dapat disatukan dengan HTML. PHP bersifat dinamis, artinya dengan file yang sama dapat menghasilkan output yang berbeda-beda. Alasan mengapa php banyak digunakan oleh pembuat website dapat dilihat dari kelebihan-kelebihan php, yakni sebagai berikut: 1. Gratis. 2. Kode program (script ) terintegrasi dengan file HTML , sehingga developer bisa berkonsentrasi pada penampilan dokumen web nya. 3. Tidak ada proses compiling dan linking. 4. Berorientasi obyek (object oriented). 5. Sintaksis pemrogramannya mudah dipelajari karena menyerupai bahasa C. 6. Integrasi yang luas ke berbagai server basis data. Basis data yang didukung oleh PHP : Oracle , Sybase , MySQL , mSQL , PostgreeSQL , Solid, ODBC, AdabasD, FilePRo, Velocis, Informix, dBase, UNIX dbm. 7. MultiPlatform, PHP hampir dapat digunakan di hampir semua server web yang ada di pasaran seperti Apache , AOLServer , fhttpd , phttpd , Microsoft IIS dan lain-lain dengan berbagai sistem operasi seperti Linux, FreeBSD, Unix, Solaris dan Windows sehingga hambatan teknis dapat lebih ditekan. 2.2 FRAMEWORK Framework adalah sekumpulan library yang diorganisasikan pada sebuah rancangan arsitektur untuk memberikan kecepatan, ketepatan, kemudahan dan konsistensi di dalam pengembangan aplikasi dari definisi tersebut, framework mengandung unsur-unsur berikut :
Librari Arsitektur Metodologi
Framework menyediakan pustaka yang lengkap dan terintegrasi. Unsur inilah yang paling banyak memberikan keuntungan bagi pengembang aplikasi. Sebagai contoh, framework aplikasi web menyediakan library-library dasar berkaitan layanan web, seperti authentication, database access, html generation, template engine, session management, caching, searching, email, http, pdf, zip dan ajax. Framework juga menyediakan sarana extension untuk pustaka-pustaka yang belum tersedia atau pustaka yang perlu ditingkatkan kemampuannya. 2.3 Pemilihan Framework Pemilihan framework yang salah akan menjadi sebuah bencana bagi penggunanya. Ada beberapa hal yang harus di pertimbangkan dalam memilih framework: Pertama dokumentasi dari framework itu sendiri. Dokumentasi sangat penting adanya mengingat pada umumnya tidak banyak orang/perusahaan yang membuat framework sendiri dalam membuat applikasi. Oleh karena itu akan sangat tergantung dengan dokumentasi yang di sediakan oleh framework yang dipilih. Berikutnya kesesuaian framework tersebut dengan applikasi apa yang hendak dikembangkan. Dalama memilih framework dengan fasilitas yang sesuai dengan kebutuhan. Kemudian perhatikan standar standar framework yang ada, misalkan apakah framework tersebut MVC, apakah framework tesebut mendukung versi sekian, apakah mendukung templating dan
lain-lain. Semakin banyak hal yang di support oleh framework tersebut semakin baik. Karena hal tersebut akan mempengaruhi kualitas dari software yang dikembangkan. Lalu yang terakhir adalah faktor kemudahan. Tentunya ini sangat tergantung dari sumberdaya yang ada.
2.4 Model View Controller (MVC) Secara umum tujuan suatu aplikasi web adalah menampilkan informasi yang diminta oleh pengguna. Pengguna mengirimkan permintaannya melalui program browser ke web server, web server akan melakukan pemrosesan atas permintaan tersebut, kemudian hasilnya akan dikirimkan kembali dan akan ditampilkan juga di program browser. Berdasarkan mekanisme ini, aplikasi web dapat dibagi menjadi tiga bagian: 1. Bagian yang berfungsi untuk mengintepretasikan permintaan dari pengguna (HTTP Request). 2. Bagian yang memodelkan problem domain atau bussines logic 3. Bagian yang mengelola tampilan yang akan dikirimkan ke pengguna. Dalam pemrograman aplikasi web yang menggunakan PHP terkadang ketiga bagian program dicampur menjadi satu bagian. Aplikasi web merupakan bagian yang sangat sering mengalami perubahan. Seperti perubahan tampilan, layout, penambahan menu dan banyak lagi yang tidak ada kaitannya atau tidak memberikan dampak pada logika dari aplikasi web tersebut. Dengan mencampuradukkan ketiga bagian tersebut maka setiap kali dilakukan perubahan pada tampilan ada kemungkinan diperlukan juga perubahan pada bagian logikanya. Hal ini memperbesar kemungkinan timbulnya kesalahan pada aplikasi. MVC adalah pola dasar yang memisahkan ketiga bagian program
menjadi tiga buah objek yang terpisah. Interaksi antara ketiga bagian program tersebut dapat digambarkan seperti dibawah ini:
Gambar 2.2 Model View Controller Controller pada dasarnya merupakan penerima tamu dari permintaan yang datang (HTTP request). Controller merupakan bagian yang mengatur hubungan antara bagian model dan bagian view, controller berfungsi untuk menerima request dan data dari user kemudian menentukan apa yang akan diproses oleh aplikasi. View merupakan bagian yang menangani presentation logic. Pada suatu aplikasi web bagian ini biasanya berupa file template HTML, yang diatur oleh controller. View berfungsi untuk menerima dan merepresentasikan data kepada user. Bagian ini tidak memiliki akses langsung terhadap bagian model. Model merupakan representasi dari proses bisnis di dalam setiap aplikasi perangkat lunak. Model adalah bagian yang bertugas mengolah data mentah menjadi data yang mengandung arti yang diinginkan oleh pengguna. Model biasanya berhubungan langsung dengan database untuk memanipulasi data, menangani validasi dari bagian controller, namun tidak dapat berhubungan langsung dengan bagian view. 3 METODE PENELITIAN Penelitian yang dilakukan melalui beberapa tahap, yaitu pengumpulan data,
perancangan aplikasi, pembuatan aplikasi dan tahap uji coba aplikasi. Tahap pengumpulan data dilakukan dengan mengumpulkan bahan dari beberapa sumber seperti buku, tutorial, dan artikel di internet yang berhubungan dengan Frame work Codeigniter dan juga informasi yang berhubungan dengan Produk yang dibutuhkan user. Perancangan aplikasi dilakukan untuk merancang alur program dan tampilan untuk aplikasi yang dibuat. Pembuatan aplikasi menggunakan PHP, Codeigniter dan Notepad++ sebagai tool pemrograman sekaligus sebagai media untuk menuliskan sintaks tersebut. Tahap pembutan aplikasi ini dilakukan pada system operasi windows seven dengan ruang penyimpanan 80GB dan memori 2GB. Tahap terakhir dalam pembuatan aplikasi ini adalah tahapan uji coba. Pada tahapan ini dilakukan proses uji coba pengaksesan aplikasi dengan menggunakan browser Mozilla firefox dan beberapa browser lainnya.
3.1 Tinjauan Umum Web Pemesanan barang Online adalah web yang diperuntukkan untuk semua kalangan. Di dalam web ini user dapat memesan barang secara online, yang didalamnya terdapat pilihan barang-barang yang dijual, Setelah memilih barangbarang yang akan dibeli user dapat memasukan barang-barang yang dipilih kekranjang belanja, user juga dapat mengisi buku tamu yang biasa disebut guestbook untuk meninggalkan pesan atau komentar mengenai web e-commerce ini. Setelah aktivitas selesai dan user juga telah memilih barang barang yang dipilih transaksi pembayaran dilakukan via transfer antar bank. 3.2 Struktur Navigasi Struktur navigasi merupakan rancangan gambaran hubungan dan rantai kerja dari beberapa kerja atau beberapa area yang
berbeda dan dapat membantu mengorganisasikan seluruh halaman dalam web dengan pemberian hyperlink. Struktur navigasi pada aplikasi ini adalah struktur navigasi campuran. Tabel 3.3 Tabel Captcha
Tabel 3.4 Tabel Guestbook Gambar 3.1 Struktur Navigasi Pengunjung Tabel 3.5 Tabel Pemesanan c h
Gambar 3.2 Struktur Navigasi Administrator 3.3 Struktur Database Untuk pembuatan struktur database penulis harus mengetahui atribut apa saja yang harus diperlukan dalam pembuatan tabel di dalam database ini. Setelah mengetahui atribut yang diperlukan, penulis menentukan jenis data apa saja yang diperlukan untuk atribut-atribut tersebut. Dibawah ini merupakan tabel-tabel yang digunakan dalam Web e-commerce yang didalamnya terdapat nama tabel, field-field, primary key dan tipe daya yang digunakan. Tabel-tabel tersebut diantaranya : tabel admin, produk, captcha, guestbook dan pemesanan. Tabel-tabel tersebut bisa dilihat di bawah ini. Tabel 3.1 Tabel Admin
3.4 Implementasi Pada tahap ini, penulis akan menjelaskan rancangan-rancangan dari web web ecommerce. 3.4.1 Rancangan Tampilan Halaman Admin Halaman ini yang dikhususkan untuk pembangun web site. Untuk mengaksesnya diperlukan username dan password untuk authentifikasi halaman Admin. Rancangan tampilannya adalah sebagai berikut :
Username password image captcha Log
Tabel 3.2 Tabel Produk Gambar 3.6 Rancangan Tampilan halaman Login
Setelah berhasil login dengan mengisi password dan username benar maka selanjutnya masuk ke halaman utama Admin. Rancangannya adalah sebagai berikut :
logo
header
Header
Link1 link2 link3 Info halaman content
Info halaman content
Shoppi ng chart Banner
footer footer Gambar 3.7 Rancangan tampilan halaman utama Admin
Keterangan : 1. Header : Merupakan gambar pengenal dari website agar tampilan lebih menarik 2. Link 1-5 : Untuk mengakses yang hanya menjadi hak dari Admin 3. Info halaman : Isi halaman yang sedang dikunjungi/dibuka 4. Content : Berisi tentang halaman yang dituju 5. Footer : Merupakan bagian bawah dari sebuah website.
3.4.2 Rancangan Tampilan Halaman User Untuk masuk ke dalam halaman ini user tidak perlu login karena website yang yang dibuat ini bisa dikses oleh semua orang. Login hanya bisa dilakukan oleh Admin. Rancangan tampilan User bisa di lihat pada gambar 3.7 di bawah ini.
Gambar 3.8 Rancangan halaman utama User Keterangan : 1. Header : Merupakan gambar pengenal dari website agar tampilan lebih menarik 2. Link 1-5 : Untuk mengakses yang hanya menjadi hak dari Admin 3. Info halaman : Isi halaman yang sedang dikunjungi/dibuka 4. Content : Berisi tentang halaman yang dituju. 5. Shopping chart:Berisi tentang barang belanjaan user. 6. Footer : Merupakan bagian bawah dari sebuah website.
3.5 Integrasi Framework Seperti yang telah dijelaskan sebelumnya pembuatan website dengan menggunakan framework CodeIgniter bekerja didalam folder system. Didalam folder system terdapat beberapa folder lain, yang akan sering kita akses adalah folder application karena di folder inilah kode-kode (scriptscript ) akan disimpan. Kode-kode yang dibuat akan disimpan didalam folder yang sesuai. Model disimpan pada folder models, Controller disimpan pada folder
controller, dan View disimpan pada folder Views. yang digunakan pada website ini yaitu : - Admin - User Model yang digunakan adalah sebagai berikut : - admin_model - user_model Dan pada folder view file digunakan untuk admin adalah :
yang
- admin_contact -admin_updateguestbook - admin_footer -admin_updatepemesanan -admin_guestbook -admin_updateproduk -admin_header -admin_home -admin_listproduk -admin_login -admin_pemesanan -admin_tambahproduk File view yang digunakan untuk user adalah : - content_about - content_contact - content_caraorder - content_detailproduk - content_guestbook - content_home - content_home2 - content_order - content_produk - footer - header - menu - sidebar - searching
Gambar 3.18 Halaman Contact Person Pada saat mengakses alamat http:// maka halaman yang tampil pertama kali seperti tampak pada gambar di atas, yaitu halaman home tamu (guest). Untuk menampilkan halaman tersebut akan diproses oleh sebuah controller, controller yang digunakan yaitu controller viewer dengan function index. Pada controller akan memanggil sebuah model. Kemudian controller viewer akan memanggil view untuk memberikan tampilan kepada user. View yang digunakan berada pada folder views, yaitu file header, Content_home2, footer. File header merupakan sebuah file yang digunakan untuk menampilkan header dan menu (struktur navigasi), sedangkan footer untuk menampilkan footer. Sehingga file header dan footer akan selalu digunakan oleh controllercontroller yang berhubungan dengan tampilan tamu (guest). Sedangkan file Content_home merupakan file yang digunakan untuk menampilkan isi dari halaman home. Ketika user melakukan requet seperti mengklik salah satu menu, misalkan user mengklik produk yang ada. Maka request tersebut akan diproses oleh controller user dengan function produk karena untuk menampilkan detail dari produk. Function ini memanggil sebuah model yaitu user_model. Dimana pada model ini terdapat beberapa function , dan function yang digunakan oleh controller user dengan function
produk adalah function detailproduk. Function detaiproduk digunakan untuk mengambil data dari database yaitu data produk yang akan ditampilkan, kemudian data-data ini akan dikembalikan ke controller tersebut dan selanjutnya controller akan memanggil view pada folder views dengan nama header, content_detailproduk, sidebar dan footer . halaman produk dapat dilihat pada gambar dibawah ini :
dan harus login terlebih dahulu . untuk melakukan login , harus melalui alamat http:// . Seperti tampak dibawah ini : Untuk login controller yang digunakan adalah admin dengan 2 function yaitu function index dan function login . Function index digunakan untuk menampilkan halaman login sedangkan function login untuk mengecek apakah username dan password sesuai dengan username dan passwaord yang terdapat dalam database , proses pengecekan ini memanggil model yaitu admin_model dengan function check_login. Function ini yang akan melakukan pengecekan ke database dan mengembalikan data ke controller apakah login valid atau tidak . Jika login berhasil maka akan menjalankan controller home yang merupakan halaman utama administrator yang tampak seperti dibawah ini :
Gambar 3.19 Halaman Produk Pada halaman produk ini terdapat informasi nama barang, harga barang, dan deskripsi nama barang. Jadi saat user mengklik salah satu dari produk yang maka akan muncul tampilan produk yang di dalamnya terdapat detail dari produk tersebut seperti harga,nama produk, pilhan warna ataupun bentuk lain produk.
Gambar 3.20 Halaman Login Untuk manajemen pengelolaan web e-commerce dilakukan oleh administrator
Gambar 3.21 Halaman Beranda Administrator Pada halaman administrator terdapa beberapa menu untuk manajemen web ecommerce. Pada saat admin mengklik menu input produk untuk menambah produk pada website, maka proses yang terjadi adalah memanggil controller admin dengan function tambah_produk dan akan memanggil view admin_header, admin_tambahproduk, admin_footer kemudian akan menampilkan halaman seperti gambar 3.13.: Sama halnya dengan menu-menu yang lain. Semua proses akan dijalankan pada controller admin dan model admin_model, yang membedakan hanyalah function-function yang
dipanggil. Dan untuk setiap menampilkan ke user menggunakan views merupakan view untuk admin. 3.6 Tahap Uji Coba Aplikasi yang dibuat juga harus dilakukan pengujian terhadapa kinerjanya. Dengan ruang lingkup software dan hardware sebagai pengujian kinerja dari aplikasi tersebut. Pengujian yang dilakukan dengan software ialah membandingkan browser mozilla dengan google chrome apakah diantara keduanya terdapat perbedaan dalam menjalankan aplikasi tersebut. Kemudian dari segi hardware, untuk menjalankan aplikasi web e-commerce diperlukan beberapa software pendukung. Hardware yang digunakan untuk menginstal software pendukung dan menjalankan aplikasi adalah sebagai berikut : 1. 1 unit komputer intel pentium IV 1,8 GHz 2. memori 2 giga 3. vga 128 4. harddisk 80 gb 5. dvd rw 6. 1 mouse 7. 1 keyboard Kemudian dari segi software,penulis menggunakan beberapa software pendukung untuk menjalankan aplikasi web e-commerce. Diantaranya adalah : 1. Server web menggunakan XAMPP 2. Database web menggunakan MySQL 3. Untuk Browser menggunakan Mozilla Firefox 4. Web Editor : PSpad 5. Adobe Photoshop CS3 Pada software diatas xampp digunakan sebagai web server, kemudian memakai database mysql karena database yang digunakan tidak terlalu banyak dalam pembuatan web e-commerce, menggunakan Pspad sebagai editor untuk coding script, lalu photoshop untuk memanipulasi gambar yang dibutuhkan dalam pembuatan web.
Untuk pengujian kinerja aplikasi web e-commerce digunakan 2 browser, Mozilla dan google chrome. Pada masingmasing browser menunjukkan waktu yang berbeda saat aplikasi dijalankan. Perbedaan waktu ini dihitung menggunakan stopwatch, lebih jelasnya bisa dilihat pada tabel pengamatan 3.6. Tabel 3.6 Tabel Pengamatan Halaman waktu waktu yang akses pada akses pada diakses mozilla google chrome Index 0.00.00.62 0.00.00.64 detik detik Home 0.00.00.51 0.00.00.53 detik detik Cara order 0.00.00.45 0.00.00.48 detik detik Guestbook 0.00.00.56 0.00.00.59 detik detik Produk 0.00.00.72 0.00.00.74 detik detik Jumlah 0.00.02.86 0.00.02.98 detik detik Rata-rata 0.00.00.57 0.00.00.59 detik detik
Pada tabel pengamatan 3.6 didapat hasil untuk kinerja aplikasi web e-commerce. Penggunaan aplikasi lebih efektif dan lebih cepat diakses dengan menggunakan browser mozilla. 4 Kesimpulan Dari hasil pembahasan tentang Penerapan Codeigniter pada Aplikasi Web ECommerce, maka kesimpulan yang di dapat dari penelitian ini adalah sebagai berikut: Penulis menyimpulkan bahwa codeigniter memliki konsep MVC dimana pengcodingan menjadi terstruktur yaitu Model sebagai proses yang berinteraksi dengan database, View sebagai penerima dan merepresentasikan data kepada user, Controller berfungsi untuk menerima request dan data dari user kemudian menentukan apa yang akan diproses oleh aplikasi.
Codeigniter juga memiliki library yang dapat digunakan programmer sehingga programmer tidak perlu membuat lagi seperti pagination library, session library, file uploading library, dan lainlain. Selain itu berdasarkan pengamatan yang penulis lakukan terhadap 2 browser yaitu Mozilla firefox dan Google chrome, didapat hasil untuk kinerja aplikasi web ecommerce. Penggunaan aplikasi lebih efektif dan lebih cepat diakses dengan menggunakan browser mozilla. 5 SARAN Dalam perancangan website ini disadari masih banyak memiliki kekurangan. Maka dari itu perlu yang harus dikembangkan misal dengan ditambahkan fasilitasfasilitas pembayaran secara online menggunakan paypal dan lain-lain.
6 DAFTAR PUSTAKA [1] Didik Dwi Prasetyo, 101 Tip & trik pemrograman PHP, Elex Media Komputindo, Jakarta 2006. [2] Supono, Pemrograman Web Dengan Javascript, Yrama Widya 2006. [3] URL: http://www.codeigniter.com/user_guide/, 5 Mei 2011. [4] URL: http:/ php.net/manual/en/index.php, 5 Mei 2011 [5] URL: http://dev.mysql.com/doc/refman/5.1/en/ , 5 Mei 2011. [6] URL: http://www.w3schools.com/css/default.asp , 5 Mei 2011.
.