IMPLEMENTASI FRAMEWORK MTG DALAM PENGEMBANGAN CRUD, PEMBUATAN LAPORAN, GRAFIK DAN EKSPORT BERKAS...

6
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 Wardhani 1) , Windu Gata 2) 1) Fakultas Ilmu Komputer Universitas Mercubuana, 2) Pasca Sarjana STMIK Nusa Mandiri 1) [email protected], 2) [email protected] 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

Transcript of IMPLEMENTASI FRAMEWORK MTG DALAM PENGEMBANGAN CRUD, PEMBUATAN LAPORAN, GRAFIK DAN EKSPORT BERKAS...

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)[email protected], 2)[email protected]

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.