Perancangan dan Implementasi Aplikasi Pencatatan Transaksi...

15
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 data(model) 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].

Transcript of Perancangan dan Implementasi Aplikasi Pencatatan Transaksi...

Page 1: Perancangan dan Implementasi Aplikasi Pencatatan Transaksi ...repository.uksw.edu/bitstream/123456789/2253/2/T1_672004032_Full... · Pada saat ini pengisian pulsa lebih banyak di

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

data(model) 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].

Page 2: Perancangan dan Implementasi Aplikasi Pencatatan Transaksi ...repository.uksw.edu/bitstream/123456789/2253/2/T1_672004032_Full... · Pada saat ini pengisian pulsa lebih banyak di

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 kondisi/hubungan 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.

Page 3: Perancangan dan Implementasi Aplikasi Pencatatan Transaksi ...repository.uksw.edu/bitstream/123456789/2253/2/T1_672004032_Full... · Pada saat ini pengisian pulsa lebih banyak di

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

Page 4: Perancangan dan Implementasi Aplikasi Pencatatan Transaksi ...repository.uksw.edu/bitstream/123456789/2253/2/T1_672004032_Full... · Pada saat ini pengisian pulsa lebih banyak di

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

Dalam pengembangan aplikasi ini metode yang digunakan adalah metode

prototyping. Metode prototyping adalah metode yang dapat digambarkan sebagai

proses pembuatan model dari aplikasi yang akan dikembangkan. Dengan

menggunakan metode prototyping maka pengembang aplikasi dan user dapat saling

berinteraksi selama proses pembuatan aplikasi. Keuntungan menggunakan metode

prototyping adalah pengguna bisa mengetahui kesesuaian antara aplikasi yang akan

dihasilkan dengan kebutuhan mereka tanpa harus menunggu sampai aplikasi

diimplementasikan. Hal ini memungkinkan pengguna lebih cepat dalam memberikan

tanggapan yang dapat membawa solusi yang lebih baik dalam membangun aplikasi

tersebut. [9]

Adapun tahapan-tahapan yang harus dilalui dalam metode prototyping adalah

mengumpulkan informasi tentang kebutuhan aplikasi, dari kebutuhan tersebut

kemudian dibuat prototype nya. Pada pembuatan prototype, yang diutamakan adalah

proses masukan dan keluaran dari aplikasi sedangkan kualitas aplikasi yang dibagun

belum diperhatikan. Setelah melalui tahapan pembuatan prototype, tahapan

selanjutnya adalah memperlihatkan prototype tersebut kepada pengguna. Pada tahap

inilah evaluasai prtototype dilakukan, tiga tahapan tersebut berulang selama prototype

yang dibangun belum sesuai dengan kebutuhan pengguna.

Page 5: Perancangan dan Implementasi Aplikasi Pencatatan Transaksi ...repository.uksw.edu/bitstream/123456789/2253/2/T1_672004032_Full... · Pada saat ini pengisian pulsa lebih banyak di

6

Gambar 3 Permodelan Prototyping [9]

Langkah-langkah dalam model Prototyping adalah :

Pengumpulan kebutuhan, tahap ini dimulai dengan mengumpulkan bahan-

bahan dan mencari sumber informasi yang akan dipakai untuk membangun aplikasi.

Dalam hal ini melakukan wawancara terhadap sejumlah reseller. Dari tahap

wawancara tersebut diketahui kebutuhan secara umum aplikasi yang akan di bangun

nantinya

Berikut adalah Flowchart penjualan pulsa elektronik secara umum yang

diminta oleh resseler, dapat digambarkan seperti pada Gambar 4.

Pada Gambar 4 dapat dilihat proses yang di inginkan reseller dalam

melakukan transaksi. Dan untuk mendukung terciptanya aplikasi yang sesuai dengan

hasil wawancara dibutuhkan proses analisis aplikasi yang akan digunakan sebagai

acuan ke tahapan selanjutnya.

Secara garis besar analisis aplikasi akan meliputi analisis input, analisis alur

kerja aplikasi, dan analisis output.

Analisis Input, disini ditentukan inputan yang diperlukan aplikasi yang akan

dibuat. Dalam aplikasi yang dibuat diperlukan beberapa inputan antara lain berupa

data user, data pulsa, dan data transksi yang sebagian data ada yang dimasukkan oleh

user maupun secara otomatis oleh aplikasi ketika menerima sms. Dan semua data

tersebut akan dimasukkan dalam suatu database.

Analisis Alur Kerja Aplikasi, aplikasi yang dibuat merupakan aplikasi

pencatatan transaksi pingisian pulsa berbasis web dengan menggunakan framework

CakePHP. Aplikasi tersebut bertujuan untuk membantu reseller dalam proses

pengisian pulsa dan mencatat transaksi. Proses yang terjadi dalam aplikasi pengisian

pulsa pada aplikasi yang dibuat adalah user melakukan input data berupa data user,

data voucher, dan data transaksi.

Analisis Output, berdasarkan alur kerja aplikasi yang sudah dibuat, output

yang dihasilkan aplikasi berupa sms yang nantinya akan masuk ke database yang

kemudian akan diolah menjadi Laporan. Dari aplikasi yang telah dibuat diharapkan

mampu memenuhi kebutuhan dan mempunyai performa yang bagus setelah aplikasi

diujikan.

Page 6: Perancangan dan Implementasi Aplikasi Pencatatan Transaksi ...repository.uksw.edu/bitstream/123456789/2253/2/T1_672004032_Full... · Pada saat ini pengisian pulsa lebih banyak di

7

Gambar 4 Flowchart penjualan pulsa

Perancangan, Setelah semua kebutuhan telah dianalisis, langkah selanjutnya

adalah mendesain aplikasi dan hardware dan software yang akan digunakan,

perancangan dibagi menjadi dua bagian, yaitu: a. Perancangan Logika, bertujuan

mendapatkan dan menstrukturkan kebutuhan aplikasi secara keseluruhan. Dengan

perancangan logika didapat beberapa hasil yaitu: perincian data aplikasi, analisa

tampilan aplikasi dan aturan aplikasi; b. Perancangan Fisik, bertujuan

mengembangkan struktur kebutuhan yang ada di perancangan logika ke dalam sebuah

aplikasi. Dengan perancangan fisik didapat beberapa hasil, yaitu: struktur program,

basis data dan perancangan struktur fisik.

Page 7: Perancangan dan Implementasi Aplikasi Pencatatan Transaksi ...repository.uksw.edu/bitstream/123456789/2253/2/T1_672004032_Full... · Pada saat ini pengisian pulsa lebih banyak di

8

Melihat Pesan

Menghapus Pesan

Mengirim Pesan

Melakukan Transaksi

Melihat Transaksi

Melihat Voucher

Menambah Voucher

Menghapus Voucher

Inbox / Outbox

<<include>>

<<extend>>

<<extend>>

Transaksi

<<extend>>

<<include>>

Voucher

<<include>>

<<extend>>

<<extend>>

Report

Admin

Melihat Report

Menghapus Report

<<include>>

<<extend>>

Evaluasi Prototype, Pada tahap evaluasi, penulis akan melakukan pengujian

dan pengevaluasian terhadap aplikasi yang dapat membantu pencatatan transaksi

reseller ini pada para reseller. Jika dirasa aplikasi belum mampu memuaskan

pengguna, maka akan dilakukan perbaikan aplikasi kembali dengan memulai dari

tahap pengumpulan kebutuhan dari awal.

Perancangan sistem dibutuhkan untuk membantu proses pengembangan dan

untuk dokumentasi perangkat lunak aplikasi. Pada perancangan aplikasi ini digunakan

dengan menggunakan Unified Modelling Language (UML).

Use case diagram menggambarkan fungsionalitas yang diharapkan dari sebuah

sistem. Sebuah use case merepresentasikan sebuah interaksi antara aktor dengan

sistem.

Gambar 5 menjelaskan tentang usecase diagram Admin. Administrator

bertugas untuk melihat, melakukan pengubahan, penambahan maupun pengurangan

data pada semua bagian setelah melakukan login.

Gambar 5 Use Case Diagram Admin

Class diagram merupakan diagram yang selalu ada di permodelan sistem

berorientasi objek. Class diagram menunjukkan hubungan antar class dalam sistem

yang sedang dibangun dan bagaimana setiap class dapat saling berkolaborasi untuk

mencapai suatu tujuan. Class diagram aplikasi yang akan dibuat dapat dilihat pada

Gambar 6.

Pada Gambar 6 dijelaskan bahwa setiap pengguna yang melakukan apapun di

aplikasi harus mengisi form login terlebih dahulu. Kemudian akan di cek apakah

Username dan password tersimpan di basis data pengguna. Untuk mengisi data dan

mencari barang, kelas ini akan berhubungan dengan kelas nota dan transaksi yang

terhubung dengan kelas pengguna.

Page 8: Perancangan dan Implementasi Aplikasi Pencatatan Transaksi ...repository.uksw.edu/bitstream/123456789/2253/2/T1_672004032_Full... · Pada saat ini pengisian pulsa lebih banyak di

9

Mulai

login

Selesai

Memasukkan Username dan Password

Tidak sesuai

memilih menu

Sesuai

Menampilkan Halaman Inbox/Outbox

Menapilkan data secara keseluruhan

Melakukan Penambahan/Pengubahan/Penghapusan Data

Menampilkan kembali data

Menampilkan halaman Contact

Menapilkan data secara keseluruhan

Melakukan Penambahan/Pengubahan/Penghapusan Data

Menampilkan kembali data

Selesai

Menapilkan data secara keseluruhan

Melakukan Penambahan/Pengubahan/Penghapusan Data

Menampilkan kembali data

Selesai

Menampilakan Halaman Transaksi

Masuk Menu Pilihan

Membuka Database

Membuka Database

Membuka Database

Melakukan Pencarian

Menyimpan data

Melakukan Pencarian

Menyimpan data

Melakukan Pencarian

Menyimpan data

DatabaseSoftware SystemAdministrator

Gambar 6 Class Diagram transaksi

Activity diagrams menggambarkan berbagai alur aktivitas dalam aplikasi yang

sedang dirancang, bagaimana masing-masing alur berawal, decision yang mungkin

terjadi, dan bagaimana mereka berakhir.

Gambar 7 Activity Diagram User

Page 9: Perancangan dan Implementasi Aplikasi Pencatatan Transaksi ...repository.uksw.edu/bitstream/123456789/2253/2/T1_672004032_Full... · Pada saat ini pengisian pulsa lebih banyak di

10

Gambar 7 menjelaskan tentang alur secara umum dimulai dari login user

sampai menampilkan data. Jika username atau password benar, maka aplikasi akan

memberikan respon kepada aplikasi dengan menampilkan menu pada halaman utama.

Isi dari menu tersebut bisa dibagi menjadi tiga bagian, didalam setiap menu dapat

melihat data dan untuk beberapa menu terdapat ubah data, hapus data, dan tambah

data. Dan bagian terakhir dapat melakukan Logout untuk menyelesaikan proses.

4. Implementasi dan Analisa Hasil

Implementasi Arsitektur MVC pada Framework Sistem ini dirancang

menggunakan framework CakePHP. CakePHP yang menggunakan arsitektur MVC

yang pada proses awalnya akan membuat struktur tabel direktori yang terpisah antara

Models, Views, dan Controllers. Pada Gambar 8 diperlihatkan bagaimana MVC di

implementasikan.

Gambar 8 Arsitektur MVC

Models mewakili data dan digunakan dalam aplikasi Cakephp untuk akses

data. Dan dalam pemrograman berorientasi objek, model adalah sebuah objek yang

mewakili sesuatu (dalam hal ini mewakili data pada tabel databese). File Model di

simpan pada direktori app/models/. Contoh Model dapat dilihat di Kode Program 1.

Kode Program 1 Model Inbox <?php

class Inbox extends AppModel {

var $name = 'Inbox';

var $useDbConfig = 'default';

var $useTable = 'inbox';

var $order = 'Inbox.id DESC';

}?>

1

2

3

4

5

6

7

Views adalah tempat dimana pengaturan tampilan aplikasi dibuat. Di dalam

cakephp, view ditulis dalam kode PHP dan memiliki ekstensi default .CTP(CakePHP

Template), file-file ini berisi semua logika yang diperlukan untuk mendapatkan data

yang diterima dari controller dalam format yang sudah dipahami oleh user. File View

disimpan pada direktori app/views/. Pada CakePHP tampilan view dapat dibuat

Page 10: Perancangan dan Implementasi Aplikasi Pencatatan Transaksi ...repository.uksw.edu/bitstream/123456789/2253/2/T1_672004032_Full... · Pada saat ini pengisian pulsa lebih banyak di

11

dengan beberapa jalur, dan semua jalur mempunyai fungsi yang berbeda, Jalur yang

dimaksud adalah layouts, elements dan helpers. Contoh View dapat dilihat pada Kode

Program 2.

Kode Program 2 View Inbox <div id="second-nav"><ul>

<li><?php echo $html->link('New Inbox', array('action' => 'add'));

?></li>

</ul></div>

<h1>Invoices</h1>

<?php foreach ($inbox as $inbox): ?>

<?php echo $this->element('inbox', array('inbox' => $inbox)); ?>

<?php endforeach; ?>

<?php echo $this->element('pagination'); ?>

1

2

3

4

5

6

7

8

9

10

Controllers pada struktur MVC berisi tentang business logic dari aplikasi.

Controllers menangani dan meneruskan request yang dilakukan oleh client melalui

halaman aplikasi yang ditangani oleh views. File Controllers disimpan pada direktori

app/controllers/. Contoh controllers untuk tabel inbox ditunjukkan pada Kode

Program 3.

Kode Program 3 Controller Inbox <?php

class InboxController extends AppController {

var $name = 'Inbox';

var $helpers = array('Html', 'Form');

function index()

{

$this->set('inbox', $this->paginate());

}

function view($id = null)

{

$this->idEmpty($id, 'index');

$this->set('inbox', $this->Inbox->read(null, $id));

}

function delete($id = null)

{

$this->idEmpty($id, 'index');

if ($this->Inbox->delete($id))

{

$this->flashSuccess('Inbox berhasil dihapus', 'index');

}

}

} ?>

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

Dengan diimplementasikan teknologi MVC pada aplikasi pencatatan transaksi

reseller pulsa elektronik maka memudahkan dalam proses pengembangan aplikasi,

karena keteraturan penulisan kode program yang memisahkan kode program ke dalam

bagiannya masing-masing.

Implementasi ORM pada CakePHP berjalan pada bagian model, dengan

membuat class pada model bias diartikan telah membuat objek yang

mempresentasikan tabel pada database.

Page 11: Perancangan dan Implementasi Aplikasi Pencatatan Transaksi ...repository.uksw.edu/bitstream/123456789/2253/2/T1_672004032_Full... · Pada saat ini pengisian pulsa lebih banyak di

12

Didalam CakePHP relasi antara database pada tabel didefinisikan melalui

asosiasi, asosiasi merupakan cara untuk mewakilkan relasi antara database pada tabel

didalam CakePHP. Setelah asosiasi di definisikan dalam model sesuai dengan relasi

tabel, maka fungsi-fungsi yang di inginkan dapat digunakan. Dengan Menggunakan

ORM pada CakePHP sistem dapat menyimpan, mengubah, dan menghapus data yang

berhubungan didalamnya maupun data dari tabel yang lainnya, sehingga tidak perlu

menuliskan Syntax SQL dengan banyak JOIN lagi. Dan untuk menghubungkan tabel

satu dengan yang lainnya CakePHP menggunakan asosiasi hasOne untuk relasi one-

to-one, hasMany untuk relasi one-to-many, dan hasAndbelongsToMany untuk relasi

many to many.

Kode Program 4 Model ContactGroup <?php

class ContactGroup extends AppModel {

var $name = 'ContactGroup';

var $hasMany = array(

'Contact' => array('className' => 'Contact',

'foreignKey' => 'contact_group_id',

....

1

2

3

4

5

6

7

Kode Program 5 Model Contact <?php

class Contact extends AppModel {

var $name = 'Contact';

var $belongsTo = array(

'ContactGroup' => array('className' => 'ContactGroup',

'foreignKey' => 'contact_group_id',

....

1

2

3

4

5

6

7

Pada Kode Program 4 baris ke empat sampai dengan enam dan Kode Program

5 pada baris ke empat sampai dengan enam dapat dilihat penggunaan asosiasi untuk

mewakili relasi one-to-many antara Contact dan ContactGroup.

Dengan diimplementasikannya ORM pada aplikasi, akan memudahkan

programmer melakukan pengembangan aplikasi, karena selain ORM yang berbasis

objek sehingga mudah dipahami, ORM juga membuat penulisan kode program

menjadi lebih sederhana, karena sangat jarang penulisan statement SQL dilakukan

oleh programmer.

Implementasi Proses Registrasi User Pada proses registrasi user, admin akan

memasukkan nama user yang berhak menggunakan sistem ini dengan data masukan

berupa informasi mengenai data diri dan data untuk proses autentikasi seperti email

dan password dan untuk menghindari masukknya user yang tidak di inginkan, pada

bagian akhir pendaftaran user Tampilan antarmuka form registrasi terlihat pada

Gambar 9.

Page 12: Perancangan dan Implementasi Aplikasi Pencatatan Transaksi ...repository.uksw.edu/bitstream/123456789/2253/2/T1_672004032_Full... · Pada saat ini pengisian pulsa lebih banyak di

13

Gambar 9 Implementasi Proses Registrasi User

Implementasi Transaksi Setelah user mendapatkan username dan password

maka user dapat masuk pada halaman transaksi disini bisa melihat operator apa saja

yang ada beserta voucher yang tersedia dan juga tempat untuk melakukan transaksi.

Gambar 10 Implementasi Halaman Transaksi

Untuk melakukan transaksi penjualan pulsa elektronik dengan hanya memilih

operator yang digunakan oleh pembeli, pulsa yang ingin dibeli dan nomor tujuan

pengiriman pulsa elektronik setelah itu klik tombol Submit. Form penjualan pulsa

elektronik dapat dilihat pada Gambar 11

Page 13: Perancangan dan Implementasi Aplikasi Pencatatan Transaksi ...repository.uksw.edu/bitstream/123456789/2253/2/T1_672004032_Full... · Pada saat ini pengisian pulsa lebih banyak di

14

Gambar 11 Implementasi Form Pengisian Pulsa

Implementasi Pencatatan Transaksi, Ketika admin atau user ingin melihat

catatan transaksi, user mengklik menu report dan memilih report seperti terlihat pada

Gambar 12.

Gambar 12 Implementasi Pencatatan Transaksi

Kriteria yang dijadikan acuan dalam melakukan pengujian sistem adalah

Validation dan Koesioner

Berdasarkan pengujian aplikasi yang telah dilakukan dan hasil koesioner dari

responden dapat ditarik kesimpulan bahwa aplikasi ini telah lulus dalam pengujian

baik dari validasi maupun dari koesioner.

Konsep arsitektur MVC yang telah diterapkan pada aplikasi pencatatan untuk

reseller pulsa elektronik ini dirasa sangat memudahkan dalam proses pengembangan

aplikasi, karena penulisan kode program yang memisahkan kode program ke dalam

bagiannya masing-masing sangat efisien.

Page 14: Perancangan dan Implementasi Aplikasi Pencatatan Transaksi ...repository.uksw.edu/bitstream/123456789/2253/2/T1_672004032_Full... · Pada saat ini pengisian pulsa lebih banyak di

15

Sedangkan dengan diimplementasikannya ORM pada aplikasi pencatatan

untuk reseller pulsa elektronik, akan memudahkan programmer melakukan

pengembangan aplikasi karena selain ORM yang berbasiskan objek sehingga mudah

dipahami, ORM juga membuat penulisan kode program menjadi lebih sederhana,

karena sangat jarang penulisan statement SQL yang di lakukan.

Dan dari penerapan konsep MVC dan ORM pada aplikasi pencatatan untuk

reseller pulsa elektronik, didapatkan bahwa aplikasi yang telah dibuat sudah

memenuhi kebutuhan umum yang diperlukan, yaitu melakukan transaksi dan

pencatatan transaksi.

5. Simpulan

Dari hasil penelitian Perancangan dan Implementasi Aplikasi Pencatatan

Transaksi Reseller Pulsa Elektronik dengan Teknologi MVC dan ORM, dapat ditarik

kesimpulan: Aplikasi Pencatatan Transaksi Reseller Pulsa Elektronik dengan

Teknologi MVC dan ORM telah berhasil dirancang dan diimplementasikan. Dan

dengan proses penulisan kode program dengan menggunkan arsitektur MVC,

penulisan kode program menjadi lebih terorganisasi dengan baik, dengan demikian

aplikasi dapat lebih mudah dikembangkan Dan penggunaan teknologi ORM telah

direalisasikan dengan membuat class dan mengatasi mismatch database dengan

merelasikan objek yang mewakili database pada bagian models dan dengan

digunakannya ORM membuat tidak ada statement SQL yang ditulis pada halaman

kerja. Hasil dari implementasi dan pengujian aplikasi dapat dikatakan bahwa aplikasi

yang menggunakan teknologi MVC dan ORM sangat membantu dalam proses

pembuatan dan pengorganisasian aplikasi dan aplikasi yang dibuat telah di ujicoba

oleh reseller pulsa elektronik dalam melakukan transaksi dan pencatatannya dan

mendapatkan tanggapan yang bagus.

6. Daftar Pustaka

[1] Purna, Arthur Wiyoga, 2006, Perancangan dan Pembuatan Sistem Penggajian

serta Fasilitas Pengisian Pulsa Otomatis Via SMS untuk Karyawan

Perusahaan “X”, Fakultas Teknologi Informasi, Universitas Kristen Petra.

[2] Praboyo, Efifany Adventia, 2010, Perancangan dan Implementasi Sistem

Informasi Kepegawaian Berbasis Web dengan Framework CakePHP, Fakultas

Teknologi Informasi, Universitas Kristen Satya Wacana.

[3] Adi Sanjaya, David, Implementasi Model View Controller dan Object

Relational Mapping pada Content Management System Sistem Informasi

Keuangan. Fakultas Teknologi Informasi, Universitas Kristen Satya Wacana.

[4] Ridwan, Anggraeni, 2006, Sistem Basis Data 2 : Transaksi,

http://neni_rid.staff.gunadarma.ac.id/Downloads/folder/0.1, diakses tanggal 5

April 2012.

[5] Golding, David, 2008, Beginning CakePHP: From Novice to Professional,

New York : APRESS.

[6] Bauer C, King G. 2007. Java Persistence with Hibernate. United States :

Manning.

Page 15: Perancangan dan Implementasi Aplikasi Pencatatan Transaksi ...repository.uksw.edu/bitstream/123456789/2253/2/T1_672004032_Full... · Pada saat ini pengisian pulsa lebih banyak di

16

[7] Lemos, Manuel, 2008, PHP Object-Relational Mapping: ORM or ROM?,

http://www.phpclasses.org/blog/post/82-PHP-ObjectRelational-Mapping-

ORM-or-ROM.html, diakses tanggal 1 Oktober 2011.

[8] Jones, Steve, 2010, The ORM Dilemma,

http://www.sqlservercentral.com/articles/Editorial/70246/, diakses tanggal 21

Oktober 2011

[9] Pressman, Roger S. 1997. Software Engineering : A practicioner‟s approach.

Yogyakarta, Andi