Post on 17-Feb-2017
Seminar Nasional Telekomunikasi dan Informatika (SELISIK 2016) Bandung, 28 Mei 2016
199
ISSN : 2503-2844
Nia Kusuma Wardhani, Windu Gata
Seminar Nasional Telekomunikasi dan Informatika 2016
IMPLEMENTASI FRAMEWORK MTG DALAM
PENGEMBANGAN CRUD, PEMBUATAN LAPORAN, GRAFIK
MODEL DAN EKSPORT BERKAS MENGGUNAKAN BAHASA
PEMROGRAMAN PHP
Nia Kusuma Wardhani1), Windu Gata2) 1)Fakultas Ilmu Komputer Universitas Mercubuana, 2)Pasca Sarjana STMIK Nusa Mandiri
1)nia_wardhani@yahoo.com, 2)windu_gata@yahoo.com
Abstrak
Pengembangan aplikasi sering kali
dihadapkan dengan berbagai masalah eksternal, yaitu
kegunaan, kemampuan, respon, keamanan,
keberadaan, dan kehandalan; serta faktor internal,
yaitu kemudahan sintak atau kode yang mudah
digunakan. Berbagai macam kerangka kerja
perangkat lunak (framework) yang ada belum
memenuhi kebutuhan internal perusahaan MTG
yang bergerak di bidang kecantika sehingga tim
pengembang internal mengembangkan kerangka
kerja perangkat kerja MTG dengan metode
pemrograman berorientasi objek dengan pola Mode
View Controller (MVC). Kerangka kerja perangkat
lunak tersebut telah membangun sistem aplikasi
konsolidasi Salon, aplikasi Costumer Relationship
Management (CRM) dan konsolidasi Toko, dan
aplikasi kesiswaan pada perusahaan MTG yang
merupakan perusahaan yang bergerak pada bidang
kecantikan. Penggunaan kerangka kerja perangkat
lunak MTG yang dikembangkan untuk beberapa
aplikasi konsolidasi Salon, aplikasi CRM dan
konsolidasi Toko, dan aplikasi kesiswaan dengan
metode penilaian Bergmann dan Priebsch, yaitu :
Functionality, Usability, Reactivity, Security,
Availibility, Reliability, dan Easy mendapatkan nilai
lebih besar sama dengan 80% yang berarti sangat
baik dari pengembang yang menggunakan kerangka
kerja tersebut.
Kata kunci : Framework MTG, MVC, Aplikasi
Konsolidasi, CRM
Abstract
Application development is often faced with a variety
of external problems, such as usability, capability,
response, security, availability, and reliability; as
well as internal factors, such as ease of syntax or
code that is easy to use. Various kinds of existing
software frameworks are not yet sufficient to meet the
needs of MTG, so its become the motivation for
internal development team to develop MTG
framework device with object-oriented programming
methods and Mode View Controller (MVC)
approach. The software framework has been used to
build the Beauty Salon consolidation applications,
CRM applications and store consolidation, and
student applications for internal MTG company that
engaged in the field of beauty. The use of a MTG
framework which developed for multiple applications
such as beauty salon consolidation, CRM, shop
consolidation, and student assessment application
using Bergmann and Priebsch method about
Functionality, Usability, Reactivity, Security,
Availibility, Reliability, and Easy, has shown the
value more than 80%, which means very good from
developers using the framework.
Keywords : framework MTG, MVC, Consolidation
Application, CRM
I. PENDAHULUAN
Menurut Bergmann dan Priebsch (2011),
pengembangan aplikasi sering kali dihadapkan
dengan berbagai permasalahan kualitas dari sisi
eksternal dan internal. Aspek eksternal adalah
kegunaan (functionality), kemampuan untuk
digunakan (usability), respon yang cepat dalam
penggunaan (reactivity), keamanan (security),
keberadaan (availability), dan kehandalan
(reliability). Sedangkan aspek internal yang
mengharuskan pengembang fokus pada sintak atau
Seminar Nasional Telekomunikasi dan Informatika (SELISIK 2016) Bandung, 28 Mei 2016
200
ISSN : 2503-2844
Nia Kusuma Wardhani, Windu Gata
Seminar Nasional Telekomunikasi dan Informatika 2016
kode yang mudah digunakan, dapat beradaptasi,
dapat dikembangkan.
Beberapa pengembang PHP memilih untuk
menulis dari awal (scratch), membuat berkas pustaka
(library), membuat kerangka kerja aplikasi
(application framework), atau memilih kerangka
kerja perangkat lunak yang sudah banyak beredar di
internet, sebagai contoh: codeigniter, yii, zend,
lavarel, cakePHP, dan lain-lain. Pemilihan cara
pengembangan aplikasi tergantung dari masing-
masing pengembang yang disesuaikan dengan
kebutuhan lapangan dan berkualitas baik dari aspek
internal maupun dari askpek internal.
Dalam tulisan penelitian ini difokuskan pada
cara pembuatan kerangka kerja (framework)
menggunakan bahasa pemrograman PHP yang
menggunakan metode pemrograman berorientasi
objek (Object Oriented Program-OOP) dengan
model Model View Controller (MVC) yang
mempunyai tujuan agar pengembang dapat membuat
kerangka kerja dan dapat digunakan oleh
pengembang lainnya untuk membangun aplikasi yang
berguna, dapat digunakan, responsif, aman,
ketersediaan, dan handal serta efesien dan fleksibel.
Perangkat kerja perangkat lunak diharapkan
tidak hanya membantu dalam membuat kelas-kelas
Model View Controller dalam memanipulasi data
dalam bentuk Create Read Update Delete (CRUD)
serta template, tetapi juga dapat membuat grafik serta
laporan-laporan yang dibutuhkan oleh pengguna.
Setelah pembuatan desain dan pengembangan
kerangka kerja perangkat lunak telah selesai,
kerangka kerja perangkat tersebut akan diujicobakan
kepada projek-projek aplikasi perangkat lunak dan
diharapkan hasil uji coba tersebut dapat membantu
pengembang dalam mengembangkan perangkat lunak
yang berkualitas dan cepat serta sesuai dengan
kebutuhan pengguna aplikasi.
II. LANDASAN TEORI
Kerangka kerja perangkat lunak (software
framework), menurut Stephen H. Kaisler(2005),
“kerangka kerja perangkat lunak adalah arsitektur
mini yang dapat digunakan kembali yang
menyediakan struktur generik dan prilaku untuk
abstraksi dari sebuah perangkat lunak, sepanjang
kontek dari metafora yang menentukan kolaburasi
dan penggunaannya dalam domain tertentu”.
Sthepen menambahkan bahwa “kerangka kerja
perangkat lunak dapat menyuplai infrastruktur dan
mekanisme yang mengeksekusi kebijakan yang
mengatur interaksi antara komponen abstrak dengan
implementasinya”. Di bukunya, Stephen mengutip
dari Gang of Four, “satu set kelas kelas terkait yang
membentuk sebuah desain dan dapat digunakan
kembali untuk kelas tertentu dari perangkat lunak”.
Dari teori-teori yang diungkapkan sebelumnya jelasi
bahwa kerangka kerja perangkat lunak merupakan
arsitektur atau kelas-kelas yang terkait atau
terkolaburasi dan dapat digunakan kembali untuk
domain tertentu.
Menurut Shimon Y. Nof(2009), “Arsitektur
ditetapkan oleh kerangka kerja yang didefinisikan
oleh perangkat interface yang diimplementasikan
oleh komponen kerangka. Dengan demikian,
kerangka kerja perangkat lunak juga bisa
didefinisikan sebagai sebuah keluarga produk yang
dapat digunakan kembali blok-blok bangunan yang
terdiri dari komponen yang akan digunakan.
Komponen merangkum perilaku yang diperhitungkan
keluar dari semua (atau setidaknya sebagian besar
dari) aplikasi dalam domain kerangka”. Konsep
kerangka kerja perangkat lunak dapat tergambarkan
pada gambar 1.
Gambar 1. Konsep Kerangka Kerja Perangkat
Lunak
Pada gambar 2. Menampilkan gambaran lain dari
kerangka kerja perangkat lunak dibandingkan dengan
kumpulan pustaka. Aplikasi yang terinisiasi dari
kerangka kerja perangkat lunak yang dapat
digunakan kembali yang disesuaikan dengan
komponen khusus aplikasi. Sedangkan aplikasi yang
terkontruksi dari pustaka yang dapat digunakan
kembali dengan menggunakan panggilan yang
ditawarkan oleh komponen. Pendekatan kerangka
Seminar Nasional Telekomunikasi dan Informatika (SELISIK 2016) Bandung, 28 Mei 2016
201
ISSN : 2503-2844
Nia Kusuma Wardhani, Windu Gata
Seminar Nasional Telekomunikasi dan Informatika 2016
kerja perangkat lunak menekankan penggunaan
kembali seluruh arsitektur.
Gambar 2. Kerangka Kerja Perangkat Lunak dan
Pustaka dari Komponen Yang Dapat Digunakan
Kembali
Sherif M. Yacoub (2003) mengutip Johnson and
Foot (1998) yang mendeskripsikan “kerangka kerja
sebaga sesuatu yang dapat digunakan kembali,
aplikasi yang semicomplete yang dapat dikhususkan
untuk membangun berbagai aplikasi”. Dan Sherif M.
Yacoub (2003) menyatakan bahwa “Desain kerangka
kerja dapat sangat memudahkan desain dan
implementasi sistem perangkat lunak berskala besar.
Juga memungkinkan penggunaan kembali pada
tingkat abstraksi yang lebih tinggi daripada
komponen atau penggunaan kembali kode. Kerangka
kerja menyediakan satu set layanan untuk doman
aplikasi dan harus bekerja dalam lingkungan eksekusi
domain tersebut. kerangka kerjra spesifik domain
dapat menghasilkan desain yang kuat yang dipelihara
dan mendukung siklus pengembangan yang cepat”.
Merujuk hal tersebut maka kerangka kerja dipastikan
dapat digunakan kembali dan mempermudah
membangun aplikasi lain walaupun dalam skala besar
serta kuat dalam pelaksaannya dan mudah dalam
pemeliharaan.
Desain kerangka kerja perangkat lunak yang
akan dibangun juga menunjang penggunaan template
yang membentuk tampilan, dan kelas-kelas yang
menangani manipulasi data yang dikenal dengan
istilah DML, CRUD, dan CUD. Istilah DML, CRUD,
dan CUD menurut Julia Lerman(2010), “DML
seringkali digunakan sebagai singkatan Data
Manipulation Languange, dan sebagian besar
mengacu pada tiga jenis teknologi akses data yang
harus ada, yaitu Insert, Update, Data. Interpretasi
tambahan adalah Select. Istilah CRUD juga
digunakan untuk fungsi Create, Read, Update, dan
Delete. (Create sering digunakan dalam istilah
CRUD dibandingkan dengan Insert Read Update
Delete / IRUD). Terkadang beberapa orang
menggunakan istilah CUD untuk pengoperasian tiga
fungsi DML. Sayangnya, CUD mempunyai arti yang
berbeda bari orang-orang yang tinggal di negara Sapi,
dimana beberapa pengembang menggunakan DML”.
III. DESAIN KERANGKA KERJA
PERANGKAT LUNAK
Pembuatan kerangka kerja perangkat lunak MTG
dimulai dari desain menggunakan bahasa
pemrograman PHP5, penggunaan banyak database,
dan bermodelkan orientasi objek serta template yang
diperuntukkan dalam membangun kelas dalam
bentuk Model, View, dan Controller (MVC) . Desain
kerangka kerja perangkat lunak MTG juga
diharapkan dapat memenuhi aspek internal seperti
kegunaan (functionality), kemampuan untuk
digunakan (usability), respon yang cepat dalam
penggunaan (reactivity), keamanan (security),
keberadaan (availability), dan kehandalan
(reliability) serta aspek internal yang mengharuskan
pengembang fokus pada sintak atau kode yang
mudah digunakan, dapat beradaptasi, dapat
dikembangkan.
Gambar 3. Use Case – Rancangan Kerangka Kerja
Perangkat Lunak MTG
Terdapat case utama dalam kerangka kerja
MTG, yaitu Load MVC, Generate From Template,
Generate Grafik Use SQL, Generate Report Use
SQL, Generate Export dan Register Module.
Seminar Nasional Telekomunikasi dan Informatika (SELISIK 2016) Bandung, 28 Mei 2016
202
ISSN : 2503-2844
Nia Kusuma Wardhani, Windu Gata
Seminar Nasional Telekomunikasi dan Informatika 2016
Kerangka kerja MTG melakukan pemanggilan
terhadap perintah dari pengguna dalam bentuk Post
dan Get dan melakukan pendeteksian Model, View,
dan Controller sekaligus melakukan deteksi hak
pengguna (privileges) sesuai dengan pendaftaran
modul yang dilakukan oleh pengembang (developer)
dan pendaftaran hak dari setiap pengguna (user) serta
group dan modul yang dilakukan oleh admin ataupun
pengembang. Pada gambar 3, menerangkan lebih
lengkap pemanggilan MVC (load MVC).
Gambar 4. Activity – Load MVC
Diagram Activity pada Gambar 4. dapat
dituliskan dalam bentuk program PHP5, sebagai
berikut :
class routes{
function call($model, $action, $dbh) {
$filemodel = 'models/' .$model.
'.class.php';
if (file_exists($filemodel)){
require_once($filemodel);
$filecontroller = 'controllers/’
.$model.'.controller.php';
if (file_exists($filecontroller)) {
require_once($filecontroller);
$controllerName =
$model."Controller";
$model = new $model();
$controller = new
$controllerName($model,$dbh);
$controller->{ $action }();
}else{
echo $filecontroller . " Not
Found";
}
}else{
echo $filemodel .' Not Found';
}
}}
Penggunaan template untuk membangun kelas-
kelas yang dibutuhkan tersedia dalam kerangka kerja
MTG terdiri dari template Model,
ControllerGenerate, Controller, dan View. Kerangka
kerja MTG akan menjalankan permintaan dari
pengembang yang telah memilih tabel yang akan
digenerasi menjadi kelas Model dan
ControllerGenerate yang mempunyai method-
methode standar seperti CRUD, collection, pencarian,
dan lain-lain. Controller akan terbentuk apabila
belum ada atau ingin di replace dengan yang baru,
Controller tersebut merupakan kelas turunan dari
ControllerGenerate sebagai kelas yang dapat
dimodifikasi dengan methode tambahan yang
disesuaikan dengan bisnis proses yang dibutuhkan.
Apabila pengembangan membutuhkan tampilan
standar maka kerangka kerja MTG akan membentuk
tampilan (interface) dalam bentuk form, detail, dan
daftar (list). Proses pembuatan Model,
ControllerGenerate, Controller, dan View dapat
tergambarkan pada gambar 5.
Gambar 5. Activity – Generate From Template
Seminar Nasional Telekomunikasi dan Informatika (SELISIK 2016) Bandung, 28 Mei 2016
203
ISSN : 2503-2844
Nia Kusuma Wardhani, Windu Gata
Seminar Nasional Telekomunikasi dan Informatika 2016
Fasilitas kerangka kerja MTG memberikan
fasilitas kepada pengembang untuk membuat grafik
batang (bar), garis (line), pie, dan grafik lainnya,
dimana pengembang hanya menggunakan perintah
query pada basis data (SQL) dengan pilihan model
data flat atau crosstab. Dapat lebih jelasnya
tergambarkan pada gambar 6.
Gambar 6. Activity – Generate Graphic
Pembuatan laporan (report) juga telah
dipermudah untuk pengembang dengan
menggunakan perintah Query pada database (SQL)
dengan model flat atau Crosstab dan membentuk
tampilan sesuai dengan kebutuhan. Hal tersebut
tergambarkan pada gambar 7.
Gambar 7. Activity – Generate Report
Fasilitas kerangka kerja MTG lainnya adalah
menyediakan ekspor data berupa file csv maupun
excell dengan menggunakan perintah SQL. Proses
tersebut tergambarkan pada gambar 8.
Gambar 8. Activity – Generate
IV. IMPLEMENTASI KERANGKA KERJA
PERANGKAT LUNAK MTG
Kerangka kerja perangkat lunak MTG digunakan
untuk membangun tiga aplikasi, yaitu aplikasi
konsolidasi Salon, aplikasi CRM dan konsolidasi
Toko, dan aplikasi kesiswaan. Gambar 9 merupakan
contoh tampilan aplikasi yang menggunakan
Dashboard, gambar 10 menggambarkan tampilan
Create Read Update Delete (CRUD), gambar 11
adalah tampilan hasil eksport file ke excel dan report.
Gambar 9. Contoh tampilan Dashboard Aplikasi
Gambar 10. Contoh tampilan CRUD
Seminar Nasional Telekomunikasi dan Informatika (SELISIK 2016) Bandung, 28 Mei 2016
204
ISSN : 2503-2844
Nia Kusuma Wardhani, Windu Gata
Seminar Nasional Telekomunikasi dan Informatika 2016
Gambar 11. Contoh tampilan report dan file ekport ke
Excell
Adapun hasil dari kuestioner yang dibagikan
kepada tiga pengembang bahasa program PHP yang
mengembangkan menggunakan metode penilaian
likert yang terdiri dari nilai 1 untuk sangat kurang,
nilai 2 kurang, nilai 3 biasa saja, nilai 4 baik, dan
nilai 5 sangat baik untuk menilai kualitas dari sisi
ekternal dan internal menurut Bergmann dan
Priebsch terlihat pada tabel 1.
Tabel 1. Hasil Kuestionar menggunakan
metode Bergmann dan Priebsch No aspek Programmer
1 2 3 Skor (Max 15) =
n/max * 100
1 Functionality 4 4 4 80%
2 Usability 4 4 4 80%
3 Reactivity 5 5 5 100%
4 Security 4 4 5 86%
5 Availibility 4 5 5 93.3
6 Reliability 4 4 5 86%
7 Easy 5 5 5 100%
Berdasarkan skor yang didapat bahwa skor untuk
Functionality, Usability, Reactivity, Security,
Availibility, Reliability, dan Easy mendapatkan nilai
lebih besar sama dengan 80% yang berarti sangat
baik.
V. KESIMPULAN DAN SARAN
5.1. Kesimpulan
Desain kerangka kerja perangkat lunak MTG
menggunakan bahasa pemrograman PHP berbasiskan
PHP yang menggunakan metode pemrograman
berorientasi objek Model View Controller beserta
generasi class-classnya, generasi report, gererasi
grafik, dan generasi eksport data memudahkan
pengembang aplikasi dalam membangun sistem
aplikasi yang dibutuhkan.
Penggunaan kerangka kerja perangkat lunak
MTG yang dikembangkan untuk beberapa aplikasi
aplikasi konsolidasi Salon, aplikasi CRM dan
konsolidasi Toko, dan aplikasi kesiswaan dengan
metode penilaian Bergmann dan Priebsch, yaitu :
Functionality, Usability, Reactivity, Security,
Availibility, Reliability, dan Easy mendapatkan nilai
lebih besar sama dengan 80% yang berarti sangat
baik.
5.2. Saran
Adapun saran yang dapat diberikan agar
pengembangan kerangka kerja menjadi lebih baik,
adalah
1. Penilaian kualitas dari sebuah perangkat kerja
dengan menggunakan penilaian dan
pengembangan dengan metode lain seperti ISO
9126.
2. Agar kerangka kerja perangkat lunak dapat
mengembangkan aplikasi diluar lingkungan
organisasi MTG, sehingga kehandalannya
seperti Functionality, Usability, Reactivity,
Security, Availibility, Reliability, dan Easy dapat
teruji lebih baik.
DAFTAR PUSTAKA
Bergmann, S., Priebsch, S., (2011). Real-World
Solutions for Developing High-Quality PHP
Frameworks and Applications, New Jersey -
USA, John Wiley & Sons.
H. Kaisler, S., (2005), Software Paradigms, New
Jersey – USA, John Wiley &Sons.
Lerman, J.(2010). Program Entity Framework.
Gravenstein High Highway North, Sebastol.
O'Really Media, Inc.
Y. Nof, Shimon. (2009). Springer Handbook of
Automation, West Lafayette - USA.
Springer.
M. Yacoub, S., Hussein A., H. (2003). Pattern-
oriented Analysis and Design: Composing
Patterns to Design Software Systems.
Virginia. Addison-Wesley Professional: 1st
Edition.