Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Seminar Nasional Telekomunikasi dan Informatika (SELISIK 2016)
Bandung, 28 Mei 2016
199
ISSN : 2503-2844
Nia Kusuma Wardha...
Seminar Nasional Telekomunikasi dan Informatika (SELISIK 2016)
Bandung, 28 Mei 2016
200
ISSN : 2503-2844
Nia Kusuma Wardha...
Seminar Nasional Telekomunikasi dan Informatika (SELISIK 2016)
Bandung, 28 Mei 2016
201
ISSN : 2503-2844
Nia Kusuma Wardha...
Seminar Nasional Telekomunikasi dan Informatika (SELISIK 2016)
Bandung, 28 Mei 2016
202
ISSN : 2503-2844
Nia Kusuma Wardha...
Seminar Nasional Telekomunikasi dan Informatika (SELISIK 2016)
Bandung, 28 Mei 2016
203
ISSN : 2503-2844
Nia Kusuma Wardha...
Seminar Nasional Telekomunikasi dan Informatika (SELISIK 2016)
Bandung, 28 Mei 2016
204
ISSN : 2503-2844
Nia Kusuma Wardha...
Upcoming SlideShare
Loading in …5
×

IMPLEMENTASI FRAMEWORK MTG DALAM PENGEMBANGAN CRUD, PEMBUATAN LAPORAN, GRAFIK DAN EKSPORT BERKAS MENGGUNAKAN BAHASA PEMROGRAMAN PHP

332 views

Published on

IMPLEMENTASI FRAMEWORK MTG DALAM
PENGEMBANGAN CRUD, PEMBUATAN LAPORAN, GRAFIK
DAN EKSPORT BERKAS MENGGUNAKAN BAHASA
PEMROGRAMAN PHP

Published in: Software
  • Be the first to comment

IMPLEMENTASI FRAMEWORK MTG DALAM PENGEMBANGAN CRUD, PEMBUATAN LAPORAN, GRAFIK DAN EKSPORT BERKAS MENGGUNAKAN BAHASA PEMROGRAMAN PHP

  1. 1. 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
  2. 2. 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
  3. 3. 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.
  4. 4. 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
  5. 5. 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
  6. 6. 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.

×