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.