Narotama Collection http://ejournal.narotama.ac.id

advertisement
Narotama Collection
http://ejournal.narotama.ac.id
PEMBANGUNAN APLIKASI SHOPPING CART DENGAN ARSITEKTUR MODELVIEW-CONTROLLER (MVC) DENGAN MENGGUNAKAN FRAMEWORK CAKEPHP.
Adi Candra Berutu
Universitas Narotama
Pembuatan Aplikasi Shopping Chart ini dimulai dengan sebuah fakta bahwa hanya sedikit
Aplikasi Shopping Cart berbasis open source yang tersedia. Sementara itu keterlibatan penduduk
indonesia dalam bidang e-commerce mengalami peningkatan. Tentunya permintaan akan komponen
pendukung ecommerce seperti Shopping Cart juga bisa diperkirakan akan meningkat.
Aplikasi Shopping Cart ini memanfaatkan Framework CakePHP Framework CakePHP yang
berdasar pada bahasa pemrograman PHP dengan arsitektur Model-View-Controller dan menggunakan
konsep Pemrograman Berorientasi Objek dalam hal penulisan source code-nya. Gabungan antara MVC
dan konsep OOP dan ditunjang dengan ketersediaan dokumentasi yang cukup adalah alasan utama
CakePHP terpilih sebagai sebuah Framework yang digunakan untuk membangun aplikasi Shopping Cart
ini.
merubah merubah banyak kode dilokasi file yang
PENDAHULUAN
berbeda - beda. Kode yang biasanya harus
dirubah adalah yang berhubungan dengan basis
data, tampilan (user interface) dan bagaimana
Latar Belakang
Di Indonesia ecommerce baru saja
seharusnya data ditangani dan divalidasi. Dengan
menggunakan design pattern MVC (model View
mulai menanjak Ini membuka peluang bisnis dari
Controller) pengembangan aplikasi dipisahkan
luar negeri dimana devaluasi Rupiah berarti
menjadi tiga (3) bagian yaitu Model (menangani
barang-barang kita menjadi murah untuk mereka.
Data), View (berhubungan dengan interface) dan
Dan ecommerce akan memungkinkan mereka
Control (bertanggung jawab akan penampungan
untuk membelinya dengan mudah.
events yang dibuat oleh user dari View dan
Membahas tentang ecommerce tentu tidak
melakukan update terhadap komponen Model
terlepas dari berbagai komponen pendukungnya,
menggunakan data yang dimasukkan oleh user).
salah satu komponen dalam ecommerce adalah
Framework
CakePHP
merupakan
Shopping Cart yang mampu untuk mencatat
sebuah Framework yang bersifat open source,
kegiatan pengunjung yang datang ke sebuah situs
digunakan untuk pembangunan aplikasi berbasis
belanja.
web yang memiliki konsep dasar CRUD (Create,
Dengan peningkatan kebutuhan terhadap
Read, Update, Delete) dan juga memakai
aplikasi ecommerce tentunya meningkatkan
arsitektur MVC (Model-View- Controller) .
kebutuhan terhadap aplikasi Shopping Cart.
Dengan
tingginya
tuntutan
untuk
menghasilkan aplikasi dalam waktu yang cepat
Perumusan masalah
Dari uraian diatas maka dapat
para pengembang IT saat ini mempunyai
kecenderungan mengarah ke dunia “Objectdirumuskan masalah yaitu bagaimana membuat
Oriented” & “reusable”. Praktisi IT kini,
suatu aplikasi Shopping Cart dari Framework
berubah dari yang dulunya melakukan coding
CakePHP agar lebih mudah dibangun serta tidak
sulit dalam proses maintenance-nya.
dari awal, menjadi seorang pengembang
(developer) yang cenderung membangun sesuatu
diatas sesuatu.
Batasan Masalah
Dari
permasalahan
yang
telah
Penggunaan
Framework
bisa
disebutkan di atas, maka batasan-batasan dalam
mengakomodasi kebutuhan tersebut. Framework
tugas akhir ini adalah sebagai berikut:
merupakan sebuah alat yang digunakan untuk
mengurangi peningkatan biaya dalam kegiatan
Pembuatan
Shopping
Cart
ini
pembangunan sebuah aplikasi.
menggunakan
Framework
CakePHP
Hal lain yang sering muncul menjadi
dengan pendekatan
arsitektur MVC
masalah dalam hal pembangunan sebuah aplikasi
(Model-View-Controller)
adalah pemeliharaan dan peremajaan aplikasi,
sering kali para Developer web berhubungan
Desain aplikasi digambarkan dengan
diagram UML (Unified modelling
dengan klien yang terus meminta tambahan –
language)
tambahan lain yang mengharuskan
mereka
Narotama Collection
http://ejournal.narotama.ac.id
Tujuan dan Manfaat
Tujuan dari tugas akhir ini adalah
merancang dan membuat Shopping Cart dengan
menggunakan CakePHP Framework dengan
pndeketan Arsitektur Model View Controller.
Manfaat yang diberikan tugas akhir ini
adalah sebagai berikut:
1. Kecepatan pembuatan sebuah Aplikasi
Shopping Cart dengan memanfaatkan
framework CakePHP.
2. Pola MVC menyediakan sebuah solusi
terhadap permasalahan penumpukan
kode Presentation logic (User Interface)
, Business logic (penanganan validasi
data) , dan Data Access logic (akses ke
basis data) pada satu file
dengan
membaginya menjadi bagian – bagian
tersendiri,
fitur pemesanan juga termasuk dalam beberapa
jenis program Shopping Cart.
Framework CakePHP
Framework bila diartikan secara langsung
adalah kerangka kerja. Dalam mengembangkan
sebuah aplikasi dengan menggunakan framework
berarti kita telah disediakan sebuah kerangka
kerja yang jelas, memiliki aturan-aturan kerja
dalam kerangka tersebut. Framework secara
umum memilki kumpulan kelas ( library) untuk
mengakses database, pembuatan template,
manajemen session dan juga kumpulan banyak
kode yang bisa digunakan ulang.
LANDASAN TEORI
Shopping Cart
Defenisi paling dasar :
Shopping Cart dalam pengertian paling
dasar adalah kumpulan Script yang mampu untuk
mencatat kegiatan pengunjung yang datang ke
sebuah situs
(dalam hal ini adalah pembeli). Catatan yang
direkam adalah catatan mengenai item barang
yang dipilih oleh pembeli sampai akhirnya
pembeli memutuskan untuk Checkout.
Menurut
komponennya
Aplikasi
Shopping Cart terbagi atas dua tipe, yaitu:
Storefront: bagian dari yang toko
dapat diakses oleh pengunjung toko online.
Kategori, produk, dan halaman lain (misal:
search, best sellers, dll.) merupakan hal yang
umum pada software yang berbasis informasi
yang disimpan dalam data base.
Administration: bagian dari toko
online yang dapat diakses oleh pemasok
(pedagang) untuk mengelola toko online. Jumlah
dari fitur pengelolaan toko berubah tergantung
pada karakteristik dari aplikasi Shopping Cart,
tetapi pada umumnya pengelola dapat
menambahkan dan mengubah setting, produk,
kategori, diskon, pengiriman dan pengaturan
pembayaran dan lain sebagainya. Pengelolaan
Gambar 1. Arsitektur CakePHP [3]
PERANCANGAN
Design Interface
Aplikasi Shopping Cart ini
menggunakan empat (4) design interface :
Halaman Pengunjung
Halaman Login
Halaman Admin
Halaman Menu Admin
Design Database
Menciptakan asosiasi antar entity
merupakan langkah pertama dalam perancangan
database aplikasi Shopping Cart ini. Terdapat
dua puluh satu (21) entity yang berasosiasi
dalam aplikasi ini.yaitu : Accounts,Brands,
Categories, Contents, Countries, Images,
Orders, Order_Products, Payment_Methods,
Products, Shipping_Methods, Shipping_Rules,
Shopping_Carts,
Shopping_Cart_Products
,Specials, Countries_Payment_Methods,
Countries_Shipping_Methods,
Images_Products, Subproducts.
Design sistem arsitektur
Narotama Collection
http://ejournal.narotama.ac.id
Gambar 2 menjelaskan implementasi
Model-View-Controller pada aplikasi Shopping
Cart. Model adalah bagian aplikasi terdiri dari
kelas – kelas yang berhubungna dengan data
base dan mengatur asosiasi antar tabel-tabel.
Controller merupakan bagian dari aplikasi yang
berisikan kelas – kelas yang menangani request
dari user aplikasi Shopping chart dan merupakan
bisnis logic aplikasi. View adalah bagian aplikasi
yang secara langsung berhubunga dengan user.
Proses render terhadap data yang dihasilkan
diproses oleh controller.
web interface ini dengan menggunakan web
browser-nya.
Sistem Administrator (Harus
Login)
Default Sistem
Hak Akses Admin
Akses Home
Pengunjung
Admin
Manajemen Produk
Lihat Detail Produk
«uses»
Cari Produk
Masukkan Produk ke
keranjang Belanja
«uses»
«uses»
Manajemen Account
Manajemen Tampilan
Web
Apache Web Server
Database
Dispatcher
Actor
View
FILENAME
Add
FILENAME
PAGE
Edit
accounts
FILENAME
Delete
FILENAME
Login
FILENAME
add
PAGE
products
FILENAME
….
FILENAME
…….
FILENAME
….
PAGE
FILENAME
…….
…..
Controller
Model
accounts_controller
brands_controller
Account
brand
categories_controller
checkout_controller
category
content
contents_controller
countries_controller
images_controller
country
order_products_controller
orders_controller
order_product
payment_method
pages_controller
product
payment_methods_controller
shipping_method
shipping_rule
shopping_cart
shopping_cart_pro
products_controller
shipping_methods_controller
shipping_rules_controller
shopping_cart_products_controller
shopping_carts_controller
specials_controller
states_controller
Lihat Isi
Keranjang Belanja
Hapus Produk dari
Isi Keranjang Belanja
Memasukkan Data dan
Informasi Pembayaran
Manajemen
Pembayaran
Manajemen
Pengiriman
Manajemen Order
Image
order
duct
special
State
subproduct
subproducts_controller
……….
Gambar 2 Arsitektur MVC pada Aplikasi
Shopping Cart yang dibangun
Gambar 3 menunjukkan diagram use
case dari aplikasi Shopping chart. Terdapat 2
actor dalam aplikasi ini.: pengunjung dan admin.
Pengunjung adalah semua orang yang memasuki
halaman aplikasi Shopping Cart. Admin adalah
pengunjung yang berhasil melakukan login dan
mempunyai hak administrasi. Diagram use case
ini memiliki 6 sub sistem. Default sistem yang
terletak di sebelah kiri bisa diakses oleh semua
pengunjung. Sistem administrasi yang terletak
disebelah kanan adalah sebuah sistem yang
hanya bisa diakses oleh pengunjung yang
memiliki account di database.
Gambar 4 menjelaskan secara jelas alur
program dari aplikasi Shopping Cart ini dalam
arsitektur MVC. Model menangani sanitasi data
dan data yang divalidasi kemudian diproses oleh
Controller. Data hasil pemrosesan ini akan
dirender oleh View, di interface web yang terdiri
dari code HTML, CSS, PHP dan atau JAVA
SCRIPT. Pengunjung mendapatkan hasil dan
semua informasi yang diproses oleh sistem via
Checkout
Gambar 3 Design Use Case
Komponent Aplikasi Shopping Chart.
Aplikasi ini dibagi menjadi beberapa
bagian yang akan dijelaskan dibawah ini.
Framework Cake PHP
Framework Cake PHP adalah bagian
utama yang digunakan dalam pengembangan
aplikasi Shopping chart ini. Dalam struktur
aplikasi file kelas-kelas cake php terletak di
folder cake/. Versi framework cake php yang
digunakan adalah: 1.1.10.3825 (stable).
Library utama ( Webroot)
Library utama ( Webroot) berisikan
beberapa file yang dibutuhkan untuk mendukung
interface aplikasi. Library ini terdiri dari gambar
– gambar, CSS (Cascading Style Sheet) dan
Javascript. Dalam folder webroot juga terdapat
subdirectory upload yang berisi semua gambar
hasil upload untuk digunakan pada aplikasi ini.
Narotama Collection
http://ejournal.narotama.ac.id
Evaluasi Interface
Aplikasi Shopping
Cart ini bisa
berjalan secara sempurna tanpa ada masalah
pada Mozilla Firefox, Internet Explorer dan
Opera. Meskipun begitu masih dibutuhkan waktu
untuk menguji hasil render data pada interface
dengan menggunakan browser lainnya.
Penggunaan
Mozilla
Firefox
sangat
direkomendasikan untuk menjamin semua
fungsionalitas sistem berjalan tanpa ada
masalah.
Gambar 4 Alur Program Aplikasi Shopping
Cart
Kelas Konfigurasi
Aplikasi
Shopping
Cart
ini
membutuhkan beberapa variable konfigurasi,
bergantung pada tipe instalasi, konfigurasi
database, konfigurasi session, konfigurasi tipe
produksi, dan sebagainya. Framework CakePHP
menempatkan semua kelas – kleas konfigurasi di
dalam kelas folder app/config. File konfigurasi
yang sangat penting adalah core.php, routes.php,
dan database.php .
IMPLEMENTASI SISTEM
Evaluasi sistem
Metode evaluasi
Proses evaluasi selama tahap implementasi ini
bertujuan untuk mendpatkan informasi yang
berhubungan dengan performa dan ketahan
setiap modul. Proses evaluasi akan memberi kita
informasi bug aplikasi dan beberapa error yang
terjadi selama proses implementasi. Proses
evaluasi dibagi menjadi tiga tahap :
1. Evaluasi Interface
Evaluasi interface telah dilakukan dengan
menjalankan aplikasi di berbagai browser yang
kerap digunakan oleh user untuk mengakses
internet seperti Internet Explorer, Mozilla
Firefox dan Opera.
2. Evaluasi Instalasi Sistem
Evaluasi sistem telah dilakukan dengan
dengan
mengimplementasikan
Aplikasi
Shopping Cart ini pada dua sistem operasi yang
berbeda yakni Windows dan Linux.
Gambar 5
Evaluasi instalasi sistem
Evaluasi
instalasi
sistem
telah
dilaksanakan pada dua (2) sistem operasi, yaitu
Microsof Windows XP Service Pack II dan
Ubuntu Linux 6.0
Implementasi instalasi pada dua Sistem
Operasi yang berbeda dengan karakteristik yang
berbeda membutuhkan prosedur khusus.
Beberapa requirement yang dibutuhkan
untuk menjalankan Aplikasi Shopping Cart ini
pada Sistem Operasi adalah :
1. Pengaktifan modul mod_rewrite pada
Web Server Apache. Secara default,
CakePHP menggunakan mod_rewrite
untuk mengakses semua direktori yang
ada di dalamnya
2. Library GD (Untuk proses render
gambar) daharus diaktifkan pada saat
instalasi PHP.
3. Penggunaan .htaccess diizinkan.
4. app/config harus bisa diakses oleh
sistem, khususnya jika Sistem Operasi
yang digunakan adalah Ubuntu Linux.
Karena itu akses nya harus di-set
menjadi 755 atau 777 dengan perintah
chmod melalui command prompt pada
konsolo. Jika Sistem Operasi yang
digunakan adalah Windows XP maka
Narotama Collection
http://ejournal.narotama.ac.id
kita perlu
aksesnya.
untuk
mengubah
hak
KESIMPULAN
Framework CakePHP dapat digunakan
sebagai alat untuk membangun sebuah aplikasi
terintegrasi yang melibatkan banyak modul.
Dengan mengetahui fungsi kelas – kelas library
CakePHP, Framework CakePHP bisa digunakan
untuk aplikasi web yang beragam.
SARAN
Aplikasi Shopping
Cart ini masih
sangat mungkin untuk dikembangkan menjadi
sebuah aplikasi yang lebih kompleks.Beberapa
hal yang berhubungan dengan Shopping Cart ini
yang masih bisa dikembangkan
seperti
penambahan modul untuk pendaftaran untuk
pengunjung (tercatat dalam database). Dalam
melakukan transaksi Pengunjung yang terdaftar
bisa melakukan login terlebih dahulu, dan tidak
perlu lagi untuk memasukkan semua Informasi
tentang dirinya.
Download