2
1. Pendahuluan
Telepon seluler cellphone sudah menjadi kebutuhan yang sangat penting untuk melakukan komunikasi dan seiring dengan semakin umumnya cellphone,
kebutuhan akan pulsa cellphone pun meningkat sangat pesat. Dengan semakin pesatnya teknologi, semakin banyak orang yang menyediakan jasa pengisian pulsa
elektronik. Pada saat ini pengisian pulsa lebih banyak di kelola oleh dealer-dealer besar, dengan sistem Multi Level Marketing MLM, kemudian para dealer merekut
orang yang di sebut reseller untuk menjual pulsa elektronik. Bagi para reseller pulsa elektronik bisnis ini adalah salah satu bisnis yang menjanjikan selain konsumsi
masyarakat yang tinggi terhadap pulsa, reseller juga tidak diharuskan memiliki modal yang sangat besar.
Sebagian besar dealer dalam merekut reseller hanya memberitahukan pada para reseller cara untuk melakukan transaksi secara manual dan tidak memberikan
fasilitas yang memadai contoh:pencatatan transaksi. Masalah yang sering timbul adalah para reseller terkadang mengalami kesulitan untuk melakukan pencatatan
setelah melakukan transaksi, akibatnya adalah reseller dapat merugi karena beberapa pembelian tidak tercatat.
Aplikasi pencatatan transaksi reseller pulsa elektronik dibutuhkan untuk
memberikan bantuan bagi para reseller dalam mengorganisasi transaksi dalam hal ini adalah pencatatan transaksi yang sudah terjadi sehingga pengguna aplikasi bisa
mengetahui detail transaksi yang terjadi dan jika diperlukan dapat membuat laporan transaksi. Teknologi yang dapat digunakan dalam aplikasi ini adalah Model View
Controller
MVC dan Object Relational Mapping ORM. Dengan menggunakan teknologi MVC maka aplikasi akan memisahkan
datamodel dari tampilan view dan bagaimana cara meresponnya controller sehingga ketika diperlukan perubahan tidak harus mengubah semua bagian dari
aplikasi tetapi bagian yang diperlukan saja. Sedangkan dengan menggunakan teknologi ORM maka database akan dipetakan ke dalam bentuk objek, sehingga
proses penulisan kode program yang berhubungan dengan database akan menjadi semakin sederhana. Atas dasar keunggulan teknologi MVC dan ORM aplikasi
dirancang menggunakan framework CakePHP yang merupakan framework Open Source
dan mendukung pemrograman berbasis OO object oriented yang dapat digunakan untuk mengembangkan aplikasi web. Framework CakePHP juga
mendukung pengembangan aplikasi dengan penggunaan teknologi MVC dan ORM. 2.
Kajian Pustaka
Beberapa penelitian yang telah ada menggunakan teknologi ORM sebagai berikut : Perancangan dan Pembuatan Sistem Penggajian serta Fasilitas Pengisian
Pulsa Otomatis Via SMS untuk Karyawan Perusahaan “X”, yang berisi tentang pembuatan sistem pengisian pulsa karyawan via sms [1].
Penelitian yang menggunakan framework CakePHP antara lain : Perancangan dan Implementasi Sistem Informasi Kepegawaian Berbasis Web dengan Framework
CakePHP , yang membahas tentang keuntungan menggunakan framework CakePHP
untuk meningkatkan efektifitas dan profesionalime dalam berorganisasi [2].
3 Penelitian lainnya yang dilakukan adalah tentang, Implementasi Model View
Controller dan Object Relational Mapping pada Content Management Sistem Sistem Informasi Keuangan.
yang membahas tentang penggunaan MVC, ORM pada aplikasi CMS
Sistem informasi keuangan dan keuntungan yang didapat berdasarkan teori yang ada [3].
Transaksi adalah sekumpulan instruksi atau operasi yang menjalankan sebuah fungsi logis. Salah satu sifat yang harus dimiliki oleh transaksi adalah keatomikan.
Sifat ini menjadikan suatu transaksi sebagai suatu kesatuan sehingga pengeksekusian instruksi-instruksi di dalamnya harus dijalankan secara keseluruhan atau tidak
dijalankan sama sekali. Hal ini dilakukan untuk menghindari terjadinya kesalahan hasil eksekusi bila operasi-operasi yang ada dijalankan hanya sebagian saja. [4]
Sebuah transaksi berpeluang untuk „mengganggu‟ integritas basis data yang dapat membuat kondisihubungan antar data tidak seperti seharusnya. Untuk
menjamin agar integritas dapat tetap terpelihara maka setiap transaksi harus memiliki sifat-sifat: a. Atomik, dimana semua operasi dalam transaksi dapat dikerjakan
seluruhnya atau tidak sama sekali; b. Konsisten, dimana eksekusi transaksi secara tunggal harus dapat menjamin data tetap konsisten setelah transaksi berakhir; c.
Terisolasi, jika pada sebuah sistem basis data terdapat sejumlah transaksi yang dilaksanakan secara bersamaan, maka semua transaksi yang dilaksanakan pada saat
yang bersamaan tersebut harus dapat dimulai dan bisa berakhir; d. Bertahan, dimana perubahan data yang terjadi setelah sebuah transaksi berakhir dengan baik, harus dapat
bertahan bahkan jika seandainya sistem menjadi mati.
Web Application Framework adalah aplikasi atau perangkat lunak pendukung
yang membantu dalam pengembangan website dinamis, web aplikasi dan web service. Framework
merupakan kumpulan dari basic function, class dan rule yang secara keseluruhan menjadi satu kesatuan sebagai aplikasi yang membantu
perancangan dan pengembangan aplikasi yang lebih kompleks. Dalam penelitian yang dilakukan, framework yang digunakan adalah framework yang khusus untuk
membantu perancangan dan pengembangan aplikasi berbasis web PHP.
Cakephp adalah sebuah framework atau kerangka kerja untuk membuat
aplikasi CRUD Create, Read, Update, Delete berbasis bahasa pemrograman PHP. Cakephp
juga menjadi salah satu framework pilihan yang memungkinkan seorang developer
web untuk membuat sebuah aplikasi dengan karakter pengembangan RAD Rapid Application Development, yang memungkinkan untuk digunakan dan
dikembangkan menjadi aplikasi lain yang lebih kompleks. Beberapa keuntungan menggunakan CakePHP adalah : a. Ringan, CakePHP
adalah salah satu framework paling ringan. Salah satu prinsip CakePHP adalah “no
we-might-need-it code ”, atau dengan kata lain, semua code dalam CakePHP adalah
bermanfaat dan selalu digunakan dalam pembuatan aplikasi. Tidak ada kode-kode yang tidak berguna yang dapat memperbesar ukuran framework secara keseluruhan; b.
Kompatibel dengan PHP 4 dan PHP 5; c. Scaffolding feature. CakePHP mempunyai fitur yang mampu men-generate prototype aplikasi, sebelum menyusun source code
secara lengkap. Cukup tambahkan variabel scaffold di controller, dan Aplikasi sudah bisa dinikmati; d. Mendukung AJAX.
MVC merupakan konsep untuk memudahkan pengelolaan pengembangan
aplikasi. Aplikasi yang semula ditulis dalam satu halaman, dipisah-pisahkan menjadi tiga bagian yang terpisah, tapi saling berhubungan. Bagian-bagian itu adalah Model,
View , dan Controller.
4 Model
mencakup semua proses yang terkait dengan pemanggilan struktur data baik berupa pemanggilan fungsi, input processing atau mencetak output ke dalam
browser . Bisa dikatakan sebagai representasi aktif dari struktur database. Model berisi
class dan fungsi untuk mengambil, melakukan update dan menghapus data website.
Karena sebuah website menggunakan basis data dalam menyimpan data maka bagian Model
akan berhubungan dengan perintah-perintah query SQL. Model khusus digunakan untuk melakukan koneksi ke basis data, oleh karena itu logika-logika
pemrograman yang berada didalam model juga harus yang berhubungan dengan basis data.
View merupakan tampilan luar aplikasi yang akan dihadapi oleh user secara
langsung. View bisa dikatakan sebagai template dari tampilan aplikasi dan view tidak boleh mengandung logika kerja aplikasi. View merupakan informasi yang ditampilkan
kepada user website. Didalam View tidak berisi logika-logika kode tetapi hanya berisi variabel-variabel yang berisi data yang siap ditampilkan. View adalah halaman website
yang dibuat menggunakan HTML dengan bantuan CSS atau JavaScript. View hanya dikhususkan untuk menampilkan data-data hasil dari model dan controller.
Controller adalah bagian yang paling signifikan dalam aplikasi berbasis MVC.
Controller akan mengolah data dari model, menyimpannya dalam variable-variabel
dan akan ditampilkan pada view. Controller merupakan penghubung antara Model dan View
. Didalam Controller inilah terdapat class dan fungsi-fungsi yang memproses permintaan dari View ke dalam struktur data didalam Model. Controller tidak boleh
berisi kode untuk mengakses basis data. Tugas controller adalah menyediakan berbagai variabel yang akan ditampilkan di view, memanggil model untuk melakukan
akses ke basis data, menyediakan penanganan error, mengerjakan proses logika dari aplikasi serta melakukan validasi atau cek terhadap input.
Gambar 1 Struktur kerja MVC pada PHP
[5]
ORM atau Object Relational Mapping merupakan teknik otomasi dan
transparansi dari object persistence ke dalam tabel pada basis data, menggunakan metadata
yang mendeskripsikan pemetaan antara objek dan basis data [5]. ORM
5 berperan dalam lapisan model dalam konsep MVC. Model adalah sebuah lapisan yang
paling dekat dengan sumber data, baik itu berasal dari basis data, webservice, maupun file sistem
. Object Relational Mapping
ORM adalah pengembangan pendekatan perangkat lunak untuk memperlakukan data yang disimpan dalam relasional SQL
tabel database seolah-olah data yang disimpan merupakan sebuah objek [6]. Pada
dasarnya kita dapat membuat kelas dengan variabel yang mewakili bidang tabel database
. Untuk menyisipkan catatan tabel yang dibutuhkan untuk membuat sebuah objek dari kelas, menetapkan nilai-nilai variabel, dan memanggil fungsi dari kelas
yang menangani memasukkan catatan tabel. Gambar 2 memperlihatkan arsitektur ORM
.
Gambar 2
Arsitektur ORM [7]
3. Perancangan Sistem