IMPLEMENTASI FRAMEWORK YII2 UNTUK PEMBUATAN CMS PADA PT. BINTANG MONO INDONESIA
NASKAH PUBLIKASI
diajukan oleh Agiel Kurniawan Saputra 13.21.0740
kepada SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER AMIKOM YOGYAKARTA YOGYAKARTA 2016
NASKAH PUBLIKASI
IMPLEMENTASI FRAMEWORK YII2 UNTUK PEMBUATAN CMS PADA PT. BINTANG MONO INDONESIA Agiel Kurniawan Saputra1), Armadyah Amborowati 2) 1, 2) Teknik Informatika STMIK AMIKOM Yogyakarta Jl Ringroad Utara, Condongcatur, Depok, Sleman, Yogyakarta Indonesia 55283
Email:
[email protected]),
[email protected]) Abstract - Content management system (CMS) is content-oriented software that provides easy management of website information. The use of PHP natively in CMS development requires a relatively long time, so it needed more systematic and efficient manner, called framework. Yii version 2 (Yii2) is useful in CMS development as it not only has a clear pattern but also apply the latest technology for website development. PT. Bintang Mono Indonesia (BMI) is a supplier of medical equipment which has been established since 2002 but does not have a website. In fact, the need of website for PT. BMI is important because with a website that has good and efficient management will facilitate PT. BMI to introduce the company and its products, otherwise it will make it easier to communicate with clients. In this research, researcher tried to implement Yii2 framwork for CMS development at PT. Bintang Mono Indonesia. The result CMS is an application that has settings of users, posts, taxonomies, media, modules, widgets, menus and comentaries. The application is expected to help PT. BMI to manage information through a website.
mempermudah komunikasi, membangun citra profesional dan memperkenalkan produk. PT. Bintang Mono Indonesia (BMI) adalah sebuah perusahaan distributor perlengkapan medis yang telah berdiri sejak tahun 2002 namun belum memiliki website. Pada kenyataannya, kebutuhan website bagi PT. BMI sangat penting karena banyak klien dan pemasok memastikan perusahaan melalui website. Hal tersebut tentunya akan menjadi masalah ketika PT. BMI belum mempunyai website dengan kemampuan pengaturan content yang baik. 1.2 Rumusan Masalah Berdasarkan latar belakang yang telah disampaikan, maka dapat disimpulkan rumusan masalah yaitu bagaimana mengimplementasikan framework Yii2 dalam pembuatan CMS pada PT. Bintang Mono Indonesia? 1.3 Maksud dan Tujuan
1. Pendahuluan
Tujuan penelitian adalah membangun aplikasi CMS berbasis web pada PT. Bintang Mono Indonesia menggunakan framerowk Yii2 yang memiliki pengaturan user, post, taxonomy, media, module, widget, menu dan komentar.
1.1 Latar Belakang
1.4 Metode Penelitian
Keywords - Content Management System, CMS, Website, Yii2 Framework, PT. Bintang Mono Indonesia
Content management system atau CMS merupakan perangkat lunak berorientasi isi atau content yang mempermudah pengguna dalam mengelola sebuah website. Kemudahan ini tidak hanya dirasakan bagi pengguna yang memiliki keahlian teknis tapi juga bagi yang tidak memilikinya. Teknologi CMS memungkinkan pembuatan website dinamis dengan tetap menjaga konsistensi tampilan. Pembuatan CMS dengan native PHP membutuhkan waktu relatif lama sehingga diperlukan cara yang lebih sistematis dan efisien yang sering disebut dengan framework. Framework Yii versi 2 merupakan salah satu framework PHP yang mengimplementasikan pola model-view-controler (MVC). Pola MVC bertujuan memisahkan logika bisnis dari antar muka sehingga pengembang dapat dengan mudah mengubah bagian tanpa mempengaruhi bagian lain. Framework ini sangat berguna dalam pengembangan CMS karena selain mempunyai pola yang jelas juga menerapkan teknologi terbaru untuk pengembangan website. Website dan internet juga mempengaruhi perilaku perusahaan dan kliennya. Website merupakan cara bagi klien untuk mengenal perusahaan, sedangkan bagi perusahaan, keberadaan website dapat menjadi salah satu cara untuk
1. Metode pengumpulan data terdiri metode observasi, wawancara dan studi kepustakaan. 2. Metode analisis terdiri dari perancangan SRS dan use case diagram. 3. Metode perancangan meliputi pembuatan diagramdiagram UML, perancangan database dan desain antarmuka. 1.5 Tinjauan Pustaka Randy Yuliandi dan Adhi Prasetyo dari Universitas Telkom dalam penelitian yang berjudul Pengaruh Kualitas Website Terhadap Minat Beli Produk Jaben Bandung mengemukakan bahwa kualitas website mempunyai pengaruh signifikan terhadap minat beli pada produk. Hendranata Prasetyo dari Universitas Kristen Petra dalam tulisan yang berjudul Perancangan Dan Pembuatan Aplikasi Content Management System Untuk Website Dengan Customized Template menjelaskan pembuatan content management system (CMS) dengan menggunakan native PHP dan MySQL. Selain itu, juga dibahas mengenai fitur-fitur yang ada dalam sebuah CMS
1
Puspita Widhy Pradhana (STMIK Amikom Yogyakarta) dalam tulisannya yang berjudul Perancangan Dan Pembuatan Content Management System (Cms) “Widi Cms” Menggunakan Framework Codeigniter menyatakan bahwa dibutuhkan sebuah aplikasi content management system (CMS) untuk mempermudah pengelolaan website yang banyak memiliki content berupa artikel maupun file tanpa harus banyak bersinggungan dengan skrip program. Puspita Widhy Pradhana juga mengungkapkan keunggulan pembuatan CMS menggunakan framework dibandingkan dengan menggunakan PHP secara native. 1.6 Dasar Teori 1.6.1 Content Management System (CMS) Content management system (CMS) bisa didefenisikan sebagai pengelolaan isi atau content. Bila dikaitkan dengan web, maka content management system bisa didefinisikan sebagai perangkat lunak yang mampu mengelola isi atau content (bisa berupa tulisan, gambar, file ataupun lainnya) dari sebuah website seperti melakukan publikasi, merubah ataupun menghapus content. Pengelolaan tersebut hanya bisa dilakukan oleh orang yang telah diberikan hak tertentu [1]. 1.6.2 Model Proses Perangkat Lunak Waterfall Model pengembangan waterfall adalah model pertama yang dikemukan oleh Royce. Model ini berupa penurunan fase ke fase dari tahap utama pemodelan yang digunakan dalam pemetaan kegiatan dasar [2]. Model ini sering disebut dengan model klasik yang menyarankan pendekatan sekuen dan sistematik untuk pengembangan perangkat lunak dimulai dengan sistem, berlanjut ke analisis, lalu perancangan, pemrograman, pengujian dan pemeliharaan [3]. 1.6.3 Software Requirement Specification (SRS) SRS adalah pernyataan tertulis mengenai kebutuhan sistem/perangkat lunak yang akan dibuat dan umumnya dikembangkan bersama oleh calon pengguna dan pengembang. Selain mencatat kebutuhan pengguna, SRS juga berperan sebagai kendali/kontrol saat pengembangan dilaksanakan dan sering digunakan sebagai acuan saat pengujian sehingga sistem/perangkat lunak benar-benar memenuhi harapan [2]. Persyaratan sistem perangkat lunak sering diklasifikasikan sebagai persyaratan fungsional dan non-fungsional atau sebagai persyaratan domain [4]. 1.6.4 Unified Modelling Language (UML) UML adalah bahasa grafis untuk mendokumentasi, menspesifikasi, dan membangun sistem perangkat lunak. UML menerapkan banyak level abstraksi, tidak tergantung proses pengembangan, bahasa dan teknologi. Tujuan utama UML adalah memberikan peralatan untuk menganalisis, mendesain dan mengimplementasi sistem berbasis perangkat lunak serta pemodelan bisnis [5], [6].
dirancang dan digunakan tanpa tergantung pada suatu platform tertentu (platform independent). Dokumen HTML adalah suatu teks biasa dan disebut sebagai markup language karena mengandung tanda-tanda (tag) tertentu yang digunakan untuk menentukan tampilan dan tingkat kepentingan dari teks tersebut dalam suatu dokumen [7]. 1.6.6 PHP: Hypertext Preprocessor (PHP) PHP (singkatan berulang dari PHP: Hypertext Preprocessor) adalah bahasa pemrograman open source, digunakan secara luas dan cocok dalam pengembangan web. Berbeda dengan C atau Perl, halaman PHP berisi HTML yang disisipi kode untuk melakukan sesuatu tanpa menuliskan banyak perintah. Kode PHP diapit oleh tanda khusus yang merupakan tanda keluar-masuk mode PHP [8]. 1.6.7 Composer Composer adalah pangatur dependensi PHP yang memberikan sebuah format standar dalam pengaturan dependensi software PHP yang memerlukan library. Composer hanya mengatur (meng-install dan meng-update) package atau library dalam sebuah proyek. Pengelolaan dependensi PHP dimudahkan dengan kehadiran composer karena composer akan menarik semua library yang telah didefinisikan dan mengaturnya di sebuah tempat dalam proyek. Composer berjalan pada commandline dan menyediakan dua cara pemasangan, yaitu melalui commandline dan men-download secara langsung melalui website composer [9]. 1.6.8 Framework Yii Yii adalah framwork PHP berbasis komponen berkinerja tinggi untuk pengembangan aplikasi web modern yang cepat. Nama Yii (diucapkan Yee [ji:]) berarti “sederhana dan evolusioner” dalam bahasa China. Dapat juga dianggap sebagai akronim dari Yes It Is [10] . 1.6.9 Server Web Apache Proyek server web Apache adalah usaha pengembangan perangkat lunak kolaboratif yang bertujuan menciptakan server HTTP (web) yang kuat, setara dengen server komersial dengan kode sumber yang tersedia secara bebas. Proyek Apache dikelola secara bersama oleh sekelompok sukarelawan di seluruh dunia yang menggunakan internet dan web untuk merencanakan dan mengembangkan server beserta dokumen terkait. Proyek ini merupakan bagian dari Apache Software Foundation. Selain itu, banyak pengguna yang telah berkontribusi memberikan ide, kode, dan dokumentasi [11]. 1.6.10 Database MySQL MySQL adalah sistem manajemen database SQL yang dikembangkan, didistribusikan dan didukung oleh Oracle. Informasi terbaru mengenai MySQL dapat diperoleh dari situs resmi MySQL (http://www.mysql.com/) [12].
1.6.5 Hypertext Markup Language (HTML) HTML (hypertext markup language) adalah suatu bahasa yang digunakan dalam penulisan halaman web. HTML
2
1.6.11 Black-Box Testing Black-box testing berfokus pada persyaratan fungsional perangkat lunak yang memungkinkan pengembang untuk memperoleh set kondisi input yang sepenuhnya akan melaksanakan persyaratan fungsional untuk sebuah program [13]. 2. Pembahasan
Gambar 3. Activity Diagram Manage Post
2.1 Software Requirement Specification (SRS)
2.4 Class Diagram
SRS aplikasi dibagi menjadi dua yaitu SRS fungsional yang menjelaskan layanan yang harus diberikan sistem dan nonfungsional yang menjelaskan kebutuhan yang tidak berkaitan langsung dengan sistem. Sistem memiliki tujuh aktor yang terdiri dari superadmin, administrator, editor, author, contributor, subscriber, dan visitor.
Gambar 4 menggambarkan package common::models yang berfungsi dalam pengelolaan sistem yang berhubungan dengan database.
2.2 Use Case Diagram Use case diagram digunakan untuk memperjelas kebutuhan sistem yang dibuat berdasarkan SRS fungsional. Perangkat lunak dibuat dengan dua subsistem, subsistem pertama adalah backend yang digunakan dalam pengelolaan website dan yang kedua adalah frontend yang dapat diakses oleh visitor. Gambar 1 menunjukkan interaksi antara user dengan sistem backend dalam menjalankan aktivitasnya.
Gambar 4. Package common::models Package backend::controllers berisi semua class yang menjadi controller pada sistem backend.
Gambar 1. Use Case Diagram Backend Gambar 2 menunjukkan interaksi user dengan sistem frontend.
Gambar 2. Use Case Diagram Frontend 2.3 Activity Diagram Activity diagram dibuat supaya lebih menjelaskan tentang diagram use case yang telah dibuat.
Gambar 5. Package backend::controllers Package frontend::controllers berisi class yang menjadi controller pada sistem frontend. Class pada masing-masing
3
package controllers diturunkan dari class yii::web::Controller sehingga mewarisi semua atribut dan operasinya.
Gambar 9 menggambarkan rangkaian interaksi objek dalam proses update post.
Gambar 6. Package frontend::controllers 2.5 Sequence Diagram Pengaturan (manage) post merupakan proses utama aplikasi CMS.
Gambar 9. Sequence Diagram Update Post
Gambar 7. Sequence Diagram Manage Post
Gambar 10 adalah sequence diagram untuk proses penghapusan post. Proses ini hanya bisa dilakukan melalui HTTP POST.
Gambar 8 menggambarkan rangkaian interaksi objek dalam pembuatan post.
Gambar 10. Sequence Diagram Delete Post Gambar 11 menggambarkan sequence diagram view post, yaitu proses yang terjadi ketika user melihat halaman sebuah post. Gambar 8. Sequence Diagram Create Post
4
Gambar 13. Schema Diagram
Gambar 11. Sequence Diagram View Post 2.6 Entity Relationship Diagram (ERD)
2.8 Antarmuka (Interface)
Dalam tahap ini diberikan gambaran mengenai hubungan atau relasi antar entitas database.
Halaman backend adalah halaman yang dapat diakses oleh user yang telah login ke sistem backend sedangkan halaman frontend dapat diakses oleh semua user.
Gambar 14. Subsistem Backend
Gambar 12. Entity Relationship Diagram 2.7 Pembuatan Schema Diagram (Diagram Skema) Dari ERD kemudian dibentuk schema diagram yang menggambarkan relasi antar tabel yang terdapat pada database.
Gambar 15. Subsistem Backend
5
2.9 Testing Testing dilakukan dengan dua cara, yaitu secara lokal dan secara online. Gambar16 merupakan hasil testing secara lokal sedangkan gambar 17 merupakan hasil testing secara online menggunakan Travis CI.
Gambar 16. Hasil Pengujian Secara Lokal
[7] Sutarman. 2003. Membangun Aplikasi Web dengan PHP dan MySQL. Yogyakarta: Graha Ilmu.hal 48 [8] PHP. 2015a. What is PHP?. http://php.net/manual/en/intro-whatis.php. 4 November 2015. [9] Composer. 2015. Introduction. https://getcomposer.org/doc/00-intro.md. 13 November 2015 [10] Yii Framwork. 2015a. What is Yii. http://www.yiiframework.com/doc-2.0/guide-introyii.html. 4 November 2015. [11] The Apache Software Foundation. 2015. About the Apache HTTP Server Project. https://httpd.apache.org/ABOUT_APACHE.html. 5 November 2015. [12] Oracle Corporation. Tanpa Tahun. What is MySQL?. https://dev.mysql.com/ doc/refman/5.7/en/what-ismysql.html. 7 November 2015. [13] Pressman, Roger S. 2010. Software Engineering: A Practitioner’s Approach, Seventh Edition. Edisi Ketujuh. New York: McGraw-Hill. hal 495 Biodata Penulis Agiel Kurniawan Saputra, memperoleh gelar Sarjana Komputer (S.Kom), Jurusan Teknik Informatika STMIK Amikom Yogyakarta, lulus tahun 2016
Gambar 17. Hasil Pengujian Menggunakan Travis CI 3.
Simpulan
Aplikasi CMS berbasis web pada PT. Bintang Mono Indonesia menggunakan framerowk Yii2 yang memiliki pengaturan user, post, taxonomy, media, module, widget, menu dan komentar berhasil dibuat. Aplikasi CMS dibuat dengan tujuh aktor yang terdiri dari superadmin, administrator, editor, author, contributor, subscriber, dan visitor. Aplikasi CMS mempunyai module yang siap digunakan yaitu feed dan sitemap. Aplikasi CMS mempunyai beberapa widget yang siap pakai antara lain custom menu, meta, recent posts, search, term list dan text.
Armadyah Amborowati, memperoleh gelar Sarjana Komputer (S.Kom) Jurusan Sistem Informasi STMIK AMIKOM Yogyakarta. Memperoleh gelar Master of Engineering (M.Eng) Program Pasca Sarjana Magister Teknologi Informasi Fakultas Teknik Elektro Universitas Gajah Mada Yogyakarta. Saat ini menjadi Dosen di STMIK AMIKOM Yogyakarta.
Daftar Pustaka [1] Gunardi, I Made dan Lirva32. 2007. Joomla Website Magic : Dengan Joomla Bikin Website Semudah Memasak Mie Instan. Jakarta: Jasakom. hal 3 [2] Sommerville, Ian, et al.. 2003. Software Enginering (Rekayasa Perangkat Lunak) Jilid Pertama Edisi Keenam. Jakarta: Erlangga. Hal 94 [3] Heriyanto, Bambang. 2004. Rekayasa Sistem Berorientasi Objek. Bandung: Informatika.hal. 38 [4] Nugroho, Adi. 2005. Analisis dan Perancangan Sistem Informasi dengan Metodologi Berorientasi Objeki. Edisi Revisi. Bandung: Informatika.hal 138-139 [5] Heriyanto, Bambang. 2004. Rekayasa Sistem Berorientasi Objek. Bandung: Informatika.hal. 259 [6] Object Management Group. 2015. OMG Unified Modeling Language (OMG UML). http://www.omg.org/cgi-bin/doc?formal/15-03-01.pdf. 7 November 2015. hal 1
6