Anda di halaman 1dari 6

MEMBANGUN WEBSITE CMS HOTEL DENGAN TEKNIK MVC

MENGGUNAKAN FRAMEWORK CODEIGNITER


I Wayan Gede Suma Wijaya1)
Teknik Informatika, STIKOM PGRI Banyuwangi
Jl. Jend. A Yani 82, Banyuwangi, Jawa Timur, 68416
Telp : (0333) 7700669, Fax : (0333) 7700669
E-mail : gedesumawijaya@gmail.com1)

Abstrak – Teknologi internet semakin 1. Pendahuluan


mempermudah orang untuk terhubung dan
berkomunikasi dengan berbagai orang di Dewasa ini, informasi menjadi sesuatu hal yang
belahan dunia. Jarak dan waktu sudah tidak sangat berharga di dunia internet. Dengan bantuan
menjadi halangan untuk saling bertukar media internet, pertukaran informasi menjadi lebih
informasi. Pertukaran informasi menjadi lebih cepat tanpa dihalangi oleh jarak dan waktu seperti
cepat dan hal tersebut dimanfaatkan pula untuk dulu. Informasi yang lengkap bisa digunakan untuk
penyebaran informasi dalam bentuk iklan dari mendatangkan profit bagi pemiliknya, salah
berbagai sektor pekerjaan, salah satunya ialah satunya dengan memanfaatkannya sebagai media
sektor pariwisata. Hotel adalah salah satu penyebaran iklan. Contohnya ialah informasi
sektor pariwisata yang paling banyak dicari tentang hotel yang banyak dicari oleh wisatawan
informasinya oleh wisatawan asing maupun asing maupun lokal di kala musim liburan tiba.
lokal. Untuk mempublikasikan informasi Cara penyebaran informasi yang paling efektif,
sebuah hotel, bisa memanfaatkan media murah dan hemat biaya jika dibandingkan dengan
website. Media website saat ini umumnya promosi konvensional dengan media cetak.
sudah dibuat ke dalam bentuk cms (content Dengan memanfaatkan teknologi internet yang
management system) yang terintegrasi dan dapat digunakan untuk mempublikasikan informasi
mudah dalam proses pemeliharaannya. sebuah hotel, salah satunya yang paling populer
ialah dengan menggunakan media website. Media
Untuk memiliki sebuah website cms hotel, kita website saat ini umumnya sudah dibuat ke dalam
bisa menggunakan cms-cms yang banyak bentuk cms (content management system) yang
disediakan di internet. Kebanyakan cms yang terintegrasi dan mudah dalam proses
disediakan bersifat gratis serta open source. pemeliharaannya.
Banyak plug-in yang sudah terdapat di
dalamnya, sehingga pengguna hanya perlu Sebuah website hotel cukup mudah untuk dimiliki,
melakukan proses instalasi dan pengaturan dapat menggunakan cms-cms yang banyak
yang bisa dilakukan dengan mudah dengan bertebaran di internet atau menyewa tenaga web
bantuan dokumentasi yang sudah lengkap. desainer dan programmer untuk membuat website
Permasalahan pun muncul ketika aplikasi cms cms hotel sesuai keinginan pembuatnya.
hotel tersebut ingin dikembangkan lebih lanjut Kebanyakan cms-cms tersebut bersifat gratis dan
oleh pengguna. Cukup memakan waktu yang open source. Banyak plug-in yang sudah terdapat
lama, karena harus mempelajari alur sistem di dalamnya, sehingga pengguna hanya perlu
dari cms hotel tersebut dari awal. melakukan proses instalasi dan pengaturan yang
bisa dilakukan dengan mudah melalui bantuan
Permasalahan di atas bisa diselesaikan dengan dokumentasi yang sudah lengkap dari
membuat sebuah cms hotel secara mandiri pengembangnya. Permasalahan muncul ketika
dengan memanfaatkan framework Codeigniter. aplikasi cms hotel tersebut ingin dikembangkan
Framework Codeigniter menggunakan konsep lebih lanjut oleh pengguna. Pengguna harus
Model View Controller (MVC), dimana antara mempelajari kembali alur sistem cms hotel tersebut
logika aplikasi, business process dan tampilan dari awal.
aplikasi berdiri secara terpisah. Framework
Codeigniter juga menyediakan berbagai library Solusinya ialah dengan membuat sebuah cms
dan dokumentasi yang lengkap, sehingga hotel secara mandiri dengan memanfaatkan
aplikasi cms hotel bisa dibangun dengan cepat framework Codeigniter yang sudah menggunakan
dan mudah. Dari penelitian ini, diharapkan konsep Model, View, Controller (MVC). Dan
dapat menghasilkan sebuah aplikasi cms hotel tambahan jQuery framework javascript, tampilan
yang ringan, cepat, hemat sumber daya dan aplikasi cms hotel menjadi lebih interaktif. Alat
mudah dalam pengembangan ke depannya bantu yang berupa program aplikasi berbasiskan
nanti. web tersebut selanjutnya dinamakan Content
Management System Hotel.
Kata Kunci : cms, hotel, cms hotel, reservasi
online
2. Landasan Teori jQuery adalah library Javascript yang gratis dan
open source. jQuery ukuran nya cukup kecil,
2.1. Model View Controller Framework
sehingga tidak memperlambat proses loading
halaman web yang kita buat. jQuery juga
MVC adalah sebuah metode untuk membuat kompatibel dengan CSS3 dan yang tak kalah
sebuah aplikasi dengan memisahkan data dari penting adalah jQuery bisa berjalan di semua
database (Model), tampilan (View) dan bagaimana browser – cross browser.
logika untuk memprosesnya (Controller) (Radek,
2009). Konsep MVC ini diperkenalkan dengan 2.4 Denormalisasi Database
tujuan untuk memudahkan bagi para pengembang
aplikasi berbasis web dalam mengembangkan Dalam merancang database secara umum
aplikasinya. Untuk memahami metode terdapat dua teknik yaitu teknik normalisasi dan
pengembangan aplikasi berbasis MVC, diperlukan denormalisasi. Untuk menangani redundansi data
pengetahuan tentang pemrograman berbasis objek
pada database dalam skala besar, sampai saat ini
(OOP).
banyak yang menggunakan teknik normalisasi.
Seiring dengan perkembangan teknik Akan tetapi teknik normalisasi ini kadang
pemrograman, saat ini banyak aplikasi-aplikasi menyebabkan beberapa pembatasan dalam
yang dikembangkan untuk mempermudah
mendukung kebutuhan aplikasi. Solusi yang bagus
developer dalam pembuatan sebuah aplikasi
untuk menangani model data hierarki tersebut
website. Banyak kemudahan yang ditawarkan oleh diperkenalkanlah teknik denormalisasi hierarki.
aplikasi tersebut, misalnya sudah disediakan Adapun ilustrasi dari teknik ini adalah seperti
berbagai macam library dan plugins yang siap berikut ini masing-masing anggota dalam hierarki
pakai sehingga pengembang tidak perlu bersusah dinamakan “node”. Node yang paling atas (puncak)
payah membangun aplikasi web mulai dari awal dalam hierarki dinamakan “root node”. Semua yang
lagi. Ketika menggunakan aplikasi yang
ada dibawah root node dinamakan “leaf node”.
berbasiskan MVC, programmer harus mengikuti
“Parent node” adalah “node“ yang mempunyai
aturan-aturan yang sudah disediakan di dalamnya
anak (child). Sedangkan “child node” adalah node
(Supaartagor, 2011).
yang mengikuti (menjadi bagian) induknya (parent).
“Parent” bisa jadi merupakan anak (child), dan
anak bisa jadi merupakan induk (parent) (Morteza,
2.2. CodeIgniter MVC Framework 2009).

CodeIgniter adalah sebuah framework PHP open


source yang dikembangkan oleh EllisLab. 3. Desain Sistem
Framework ini sudah mendukung konsep MVC 3.1. Desain Logical Database
(Model View Controller) yang membedakan antara
logika dan tampilan, sehingga pemrosesan aplikasi Pada penelitian ini, database yang digunakan
bisa dipecah-pecah menjadi beberapa bagian yang untuk menyimpan data ialah MySQL dengan
lebih spesifik. Selain itu, CodeIgniter juga telah menggunakan teknik denormalisasi guna
menyediakan berbagai library yang siap pakai dan mengoptimalkan database secara logikal sehingga
memungkinkan proses pembuatan aplikasi web memudahkan dan mempercepat proses
menjadi lebih cepat (CodeIgniter User Guide, pengambilan data dari database. Teknik
2011). denormalisasi digunakan untuk menangani data
dengan jumlah yang lebih sedikit, berbeda dengan
CodeIgniter membutuhkan resource yang sedikit, teknik normalisasi yang digunakan untuk
sehingga ringan dan cepat ketika dijalankan. merelasikan data yang banyak agar tidak terjadi
Karena ketika pertama kali dijalankan, kita bisa redudansi.
menyesuaikan library yang akan dipanggil ke
dalam aplikasi. Dokumentasi yang lengkap juga Tabel-tabel yang dibutuhkan dalam aplikasi CMS
menjadi salah satu kelebihan framework PHP ini, hotel ini ialah sebagai berikut : tabel captcha,
sehingga sangat memudahkan bagi pemula dalam tbl_banner, tbl_content, tbl_gallery, tbl_menu,
mempelajari lingkungan pengembangan website tbl_news, tbl_spr_admn, serta tbl_tempat_wisata.
berbasis CodeIgniter (CodeIgniter User Guide,
2011).

2.3. jQuery Javascript Framework

jQuery adalah sebuah library Javascript yang


sangat ringkas dan sederhana untuk memanipulasi
komponen di dokumen HTML, menangani event,
animasi, efek dan memproses interaksi ajax.
jQuery dirancang sedemikian rupa supaya
membuat program menggunakan Javascript
menjadi relatif sangat mudah. Sesuai slogan nya,
write less, do more. Menulis kode lebih sedikit,
tetapi melakukan pekerjaan lebih banyak.
Login Administrator

Manajemen Artikel

Manajemen Konten

Manajemen USer
Manajemen Galeri
Gambar 1 : Relasi tabel untuk mendapatkan informasi
konten, galeri, dan data admin

Pada Gambar 1 teknik denormalisasi diterapkan Manajemen News Ticker


pada tabel menu, dimana tabel menu
menggunakan konsep tree (parent and child). Manajemen Menu
Teknik denormalisasi ini dapat memperkecil waktu
komputasi, karena proses hanya terjadi di dalam
satu tabel. Manajemen Banner

3.2. Desain Aplikasi CMS Hotel

Proses mendesain pembangunan aplikasi


dijabarkan dalam activity diagram dan class
diagram, yaitu activity diagram dan class diagram
untuk halaman pengunjung yang akan melakukan
proses reservasi serta untuk administrator yang Manajemen Top Banner Manajemen Slide Banner
akan melakukan manajemen konten website.

Gambar 3 : Avctivity diagram aplikasi cms hotel untuk


halaman administrator

Membuka Website

Pengunjung Melihat Data Kamar


Pengunjung Melihat Paket Hotel

Pengunjung Melihat Fasilitas Hotel Pengunjung Melihat Galeri Gambar

Pengunjung Melakukan Reservasi

Pengunjung Mengisi Data Resevasi

Kirimkan Data Reservasi

Gambar 2 : Activity diagram aplikasi cms hotel untuk


halaman pengunjung/konsumen
Controller Controller

Class1::Webadmin
Web
+__contruct()
+__construct() +index()
+index() +menu()
+reservation() +loginpage()
+pages() +pages()
+gallery() +home()
+place() +gallery()
+place()
+read_place()
+top_banner()
+_make_captcha()
+slide_banner()
+_check_captcha()
+news()
+create_user()
+changepassword()
+update_pass()
+create_menu()
+reservation()
+edit_menu()
+delete_photo()
helper library +delete_banner()
+delete_place()
+delete_news()
+delete_user()
+delete_menu()
+upload_image()
Model
+in_content()
+make_captcha()
+in_news()
+in_banner()
+in_place()
+in_user()
+_check_captcha()
Web_Model +loginaction()
+logout()

+__construct()
+tampil_menu(in id_p)
+pilih_menu(in id_m)
+gen_menu(in id_pr)
+ekstrak_menu(in id_pr) helper library
+tampil_content(in id_m)
+tempat_wisata()
+detail_wisata(in id)
Model
+gallery_limit(in limit, in offset, in ord)
+place_limit(in limit, in offset, in ord)

Gambar 4 : Class diagram aplikasi cms hotel untuk


halaman pengunjung/konsumen Class1::Webadmin_Model

+__construct()
+menu_all()
+data_login_admin(in user, in pass)
+jalankan_query_manual(in datainput)
+pilih_menu(in id_m)
+ekstrak_menu(in id_pr)
+pilih_content(in id_m)
+ekstrak_content(in id_pr)
+ekstrak_id_content(in id_pr)
+gallery_limit(in limit, in offset, in ord)
+place_limit(in limit, in offset, in ord)
+delete_content(in id, in seleksi, in tabel)

Gambar 5 : Class diagram aplikasi cms hotel untuk


halaman administrator
4. Hasil Uji Coba
4.1. Uji Coba Aplikasi CMS Hotel Untuk
Halaman Pengunjung/Konsumen

Uji coba dilakukan dengan menggunakan


spesifikasi software browser Google Chrome, web
server Apache, database server mysql, sistem
operasi Linux Ubuntu. Dan untuk hardware
menggunakan laptop dengan processor Core I3
2,2 Ghz, memory 4 GB, harddisk 500 GB.

Contoh tampilan aplikasi cms hotel untuk halaman


pengunjung/konsumen yang diakses melalui
browser Google Chrome terlihat pada gambar 6, 7
dan 8.

Gambar 8 : Tampilan aplikasi cms hotel untuk halaman


pengunjung yang ingin melakukan reservasi

4.2. Uji Coba Aplikasi CMS Hotel Untuk


Halaman Administrator

Gambar dibawah ini menunjukkan administrasi


pengaturan data konten website ke dalam
database.

Gambar 9 : Tampilan aplikasi cms hotel untuk halaman


administrator

Gambar 6 : Tampilan aplikasi cms hotel untuk halaman


pengunjung yang diakses dengan browser Google
Chrome

Gambar 7 : Tampilan aplikasi cms hotel untuk halaman


pengunjung yang ingin melihat kumpulan galeri Gambar 10 : Tampilan aplikasi cms hotel untuk
melakukan input konten
Symbian, Palm, MeeGo, IOS, dan yang lainnya.
Dimana data diubah ke dalam format XML
(Extensible Markup Language) ataupun JSON
(Javascript Object Notation).

6. Daftar Pustaka

Morteza Zaker, Somnuk Phon-Amnuaisuk, Su-


Cheng Haw, Hierarchical Denormalization: A
Possibility to Optimize the Data Warehousing
Design, International Journal of Computers, Issue
1, Volume 3, 2009

CodeIgniter User Guide, 2011. CodeIgniter User


Guide Version 2.0.0, Available at:
http://www.codeigniter.com/user_guide [Accessed
Gambar 11 : Tampilan aplikasi cms hotel untuk 10 July 2011].
melakukan input galeri gambar
jQuery Docs, 2011. jQuery: Demos and
Documentation, Available at:
5. Kesimpulan dan Saran http://docs.jquery.com/ [Accessed 10 July 2011].
5.1. Kesimpulan
Kesimpulan yang dapat ditarik dari penelitian ini MySql Developer, 2011. MySQL Documentation:
adalah : MySQL Reference Manuals, Available at:
http://dev.mysql.com/doc/ [Accessed 10 July
1. Framework CodeIgniter yang berbasiskan 2011].
Model View Controller (MVC) dengan
tambahan jQuery framework javascript berhasil Supaartagor, Chanchai., 2011. PHP Framework
dimanfaatkan untuk membangun aplikasi cms For Database Management Based on MVC
hotel. Pattern. Thailand : Ubon Ratchathani University.
2. Teknik denormalisasi dapat diterapkan dengan
baik pada aplikasi ini, guna mengurangi waktu Radek Stepan, Kreus CMS & Fari MVC
proses komputasi. Sehingga dihasilkan desain Framework, Dissertation Candidate 45004, April
database yang terintegrasi dan kinerja yang 30, 2009
optimal lebih optimal untuk website dengan
konten yang berskala kecil. Kadir, Abdul. 2003. Pemrograman Web Mencakup
3. Kumpulan data hotel dan reservasi yang : HTML, CSS, Javascript & PHP. Yogyakarta :
dilakukan oleh pengunjung dapat Penerbit Andi.
terdokumentasikan dengan baik di dalam email
maupun di dalam database. Mulyana, Y.B. 2004. Trik Membangun Situs
4. Data-data konten website beserta kategori Menggunakan PHP dan MySQL. Jakarta : Penerbit
menu tersimpan di dalam masing-masing satu PT Elex Media Komputerindo.
tabel yaitu tabel content dan tabel menu. Data-
data konten website dan kategori menu
tersebut bisa ditampilkan sesuai dengan
kategori dan detail konten yang dipilih oleh
pengunjung.

5.2. Saran

Aplikasi cms hotel ini jika diakses melalui


perangkat mobile seperti handphone yang sudah
tersedia fitur GPRS terlihat tidak proporsional
dengan layar handphone. Efek-efek yang
dihasilkan oleh jQuery juga tidak berjalan optimal.
Maka dari itu perlu dilakukan pengembangan untuk
view yang dikhususkan untuk diakses oleh
perangkat handphone. Bisa memanfaatkan
framework jQueryMobile yang memang dirancang
untuk perangkat dengan ukuran layar kecil.

Selain itu juga bisa dikembangkan ke arah web


service, yang lebih hemat sumber daya. Untuk sisi
client, data-data profil hotel bisa diakses melalui
sebuah aplikasi yang berjalan pada berbagai
platform perangkat mobile seperti Android,

Anda mungkin juga menyukai