• Tidak ada hasil yang ditemukan

PENGUKURAN SOFTWARE METRIC TERHADAP IMPL

N/A
N/A
Protected

Academic year: 2018

Membagikan "PENGUKURAN SOFTWARE METRIC TERHADAP IMPL"

Copied!
8
0
0

Teks penuh

(1)

PENGUKURAN

SOF TWARE METRIC TERHADAP IMPLEMENTASI

F RAMEWORK

LARAVEL PADA PEMBANGUNAN APLIKASI BERBASIS WEB

STUDI KASUS : JURNAL LOGIC

SOF TWARE METRIC MEASUREMENT ON LARAVEL F RAMEWORK

IMPELEMENTATION F OR WEBSITE APPLICATION

CASE STUDI : JURNAL LOGIC

Moch Irfandi Susanto1 Eko Darwiyanto2 Gede Agung Ary Wisudawan3

1,2,3Prodi S1 Teknik Informatika, Fakultas Teknik, Universitas Telkom 1

d.vendy@yahoo.co.id 2ekodarwiyanto@telkom.ac.id 3ary.wisudiawan@gmail.com

Abstrak

Pengukuran adalah hal yang mendasar bagi setiap disiplin rekayasa, tidak terkecuali rekayasa teknik perangkat lunak (software engineering). Dengan pengukuran, dapat diperoleh informasi terkait suatu objek atau produk melalui mekanisme evaluasi secara objektif. Software metrics mengacu pada berbagai pengukuran untuk perangkat lunak.

Web application framework merupakan sebuah kerangka perangkat lunak yang dirancang untuk membantu pembangunan web dinamis, aplikasi web, web services, dan web resources. Laravel merupakan salah satu dari beberapa framework web yang ada saat ini.

Dalam tugas akhir ini dibangun aplikasi web Jurnal Logic menggunakan framework Laravel, kemudian dilakukan pengukuran software metric terhadap aplikasi web tersebut menggunakan tools Php Depend dan Php Metric. Dari penelitian ini didapatkan bahwa nilai efficiency, complexity, understandability, reusability, dan maintainability produk dapat ditingkatkan dengan membuat subclass, memisahkan fungsi kedalam kelas secara spesifik, membuat algoritma yang lebih sederhana, dan menambahkan komentar pada kode.

Kata kunci : Software metrics, Web Application Framework, Laravel

Abstract

Measurement is fundamental to every discipline of engineering, including software engineering. With measurement, we can obtain relevant information of an object or product through the mechanism of an objective evaluation. Software metric refers to a variety of measurement metrics for software.

Web application framework is a software framework designed to assist the development of dynamic web applications, web services, and web resources. Laravel is one of the web framework that exists today.

In this final project, we built a Journal Logic web application using Laravel framework. Then the software metric is measured againts the web application using Php Depend and Php Metric tools. This researh concluded that the value of efficiency, complexity, understandability, reusability, and maintainability can be improve d by creating a subclass, separate the functions into a specific class, maintain a better algorithm, and adding a comment to a source code.

(2)

1. Pendahuluan

Pengukuran adalah hal yang mendasar bagi setiap disiplin rekayasa, tidak terkecuali rekayasa teknik perangkat lunak (software engineering). Dengan pengukuran, dapat diperoleh informasi terkait suatu objek atau produk melalui mekanisme evaluasi secara objektif. Hasil dari pengukuran ini dapat diolah sehingga tingkat pencapaian di dalam proyek perangkat lunak dapat diketahui.

Software metrics mengacu pada berbagai pengukuran untuk perangkat lunak. Tujuannya adalah antara lain mendapatkan pengukuran yang dapat dihitung dan direproduksi sehingga membantu dalam berbagai aplikasi seperti quality assurance testing, software debugging, dan software performance optimization [1].

Perkembangan teknologi informasi yang tinggi saat ini diiringi dengan p ermintaan kebutuhan baik dari personal, maupun organisasi yang besar. Internet dan web merupakan salah satu dari banyak segi IT yang berkembang saat ini, karena dampak dan kegunaannya yang sangat luas. Namun, untuk membuat suatu website diperlukan waktu yang cukup lama karena developer harus merancang dari awal pembuatan. Hal ini akan menjadi masalah ketika permintaan banyak, dan terdapat pergantian fitur dimana akan memakan waktu dan biaya jika tidak terkontrol.

Masalah yang timbul dari pembangunan website tersebut dapat diatasi dengan menggunakan web application framework. Web application framework merupakan sebuah kerangka perangkat lunak yang dirancang untuk membantu pembangunan web dinamis, aplikasi web, web services, dan web resources. Dengan menggunakan sebuah framework, proses pembangunan web menjadi semakin mudah, cepat, dan hemat biaya, karena framework telah mengimplementasikan fitur-fitur seperti Data Persistence, Session Management, User Authentication, Security, Caching, dan Administrative Interface [2].

Laravel framework ini bersifat free open source dan berjalan di atas PHP (Object -Oriented). Laravel juga merupakan framework web terbaik dalam top-ten best PHP frameworks for 2014 [3].

Pada tugas akhir ini dibangun suatu website Jurnal Logic berupa CMS (Content Management System) menggunakan framework Laravel sebagai studi kasus. Tujuan yang ingin dicapai adalah untuk melakukan pengukuran software metric terhadap implementasi framework Laravel dalam pembangunan website Jurnal Logic ini, sehingga didapat suatu rekomendasi bagi pihak developer untuk proses pengembangan produk yang lebih baik.

2. Dasar Teori

2.1 Pengukuran

Pengukuran adalah suatu elemen penting dalam proses engineering. Dengan pengukuran, produk atau sistem yang telah dibangun dapat dihitung atributnya secara kuantitatif sehingga didapatkan pemahaman yang lebih dalam terhadap sistem. Fenton dalam bukunya menyatakan “Pengukuran adalah suatu proses dimana nomor atau simbol ditetapkan pada suatu atribut dalam entitas di dunia nyata untuk dapat didefinisikan aturan aturan yang akan diberlakukan. Pada ilmu fisik, medis, ekonomi, dan ilmu sosial, kita dapat mengukur atribut yang sebelumnya tidak dapat diukur. Tentu saja pengukuran tersebut tidak sehalus pengukuran dalam ilmu fisik, namun atribut tersebut ada. Kami merasakan suatu keharusan untuk “mengukur sesuatu yang tidak dapat diukur.” Demi meningkatkan pemahaman dalam softwa re engineering seperti pada disiplin ilmu lainnya.”[13]

2.2 Software Metric

(3)

2.3.Kriteria evaluasi Software Metric

Berikut adalah kriteria evaluasi tiap software metric.

- Efficiency – LCoM, CBO, DIT, NoC - Complexity – CC

- Understa nda bility – Comment percentage, WMC, NoM

- Reusa bility – Comment percentage, WMC, LCoM, CBO, DIT, NoC - Testa bility/Ma inta ina bility – Comment percentage, WMC, NoM, NoC

2.3 Metric Tools

Penelitian ini menggunakan dua buah metric tools yaitu Php Depend dan Php Metric. Pada pengukuran ini dibutuhkan metric Comment Persentage dan Lack of Cohession of Method yang tidak dapat dihitung menggunakan Php Depend. Maka dari itu digunakan tools kedua yaitu Php Metrics, sehingga semua metric yang dibutuhkan dapat dihitung. Php Depend adalah program / tools yang digunakan untuk menganalisa kode statis pada suatu sumber. Hasil dari Php Depend adalah kumpulan softwa re metric[20]. Php Depend dipilih karena merupakan tools yang dapat digunakan untuk menganalisa softwa re metric pada produk yang berbasis bahasa pemrograman PHP. PhpMetric adalah tool yang digunakan untuk mengukur software metric suatu program atau projek berbasis PHP. PhpMetric bersifat open source dan dikembangkan oleh Jean -François Lépine [7]. PhpMetric dipilih sebagai software metric tools pada tugas akhir ini karena s elain aplikasi web yang berjalan di atas framework PHP, PhpMetric juga dapat menyajikan informasi metric secara lengkap dalam bentuk chart dan tabel, juga dilengkapi dengan relasi antar kelas dalam bentuk relations map.

Tabel 1 - Metric yang digunakan dan tools yang digunakan untuk mengukur

Metric Php Depend Php Metric

(4)

2.4.1 Laravel

Laravel adalah salah satu web application framework yang bersifat open source. Frame work ini berjalan diatas PHP 5 dan berbasis MVC (Model View Controller). Laravel pertama kali dirilis pada 22 Februari 2012, dan versi stabil terbaru adalah versi 4.2.11 yang dirilis pada 4 Oktober 2014 [8].

Gambar 1 - Logo Laravel

2.5 Arsitektur Model View Controller (MVC)

Model View Controller adalah sebuah metode untuk membuat sebuah aplikasi dengan memisahkan data (Model) dari tampilan (View) dan cara bagaimana memprosesnya (Controller) [9]. Terdapat tiga komponen pembangun suatu MVC yaitu:

- Model

Model adalah bagian yang berperan menghubungkan controller dengan database. Tugas dari model

adalah melakukan manipulasi data ke database seperti CRUD (crea te, rea d, upda te, delete).

- View

View mengatur bagaimana data akan ditampilkan kepada user. Data yang didapat dari model akan

diproses oleh controller kemudian oleh View ditampilkan kepada user.

- Controller

Controller merupakan bagian yang menjadi penghubung antara model dan view. Controller berfungsi

memroses fungsi atau perintah dari user kemudian menentukan bagaimana aplikasi dijalankan.

(5)

2.6 Jurnal Logic

Jurnal Logic adalah buku berisi kumpulan jurnal hasil penelitian. Jurnal Logic diterbitkan sebagai media informasi dan komunikasi serta forum pembahasan dan pengkajian masalah dalam disiplin ilmu informatika, sejalan dengan perkembangan ilmu dan teknologi [11]. Jurnal logic diterbitkan sebanyak tiga kali dalam satu tahun pada bulan April, Agustus, dan September.

3. Pembahasan

3.1 Website Jurnal Logic

Website ini dibangun setelah dilakukan perancangan terhadap Use Case dan ER diagramnya. Pembangunan website menggunakan framework laravel. Digunakan WAMP sebagai web development environment [12]. Bahasa pemrograman yang digunakan untuk Laravel adalah PHP versi 5.3 keatas [8].

3.2 Pengukuran Software Metrics

Laravel adalah framework web berbasis PHP, dan PHP adalah bahasa pemrograman berorientasi objek. Maka dari itu, menurut Rosenberg L [16], software metric yang digunakan untuk mengu kur produk berorientasi objek adalah sebagai berikut:

3.2.1 Cyclomatic Complexity (CC)

Cyclomatic Complexity digunakan untuk menghitung kompleksitas suatu program dengan mengukur banyaknya alur kontrol dalam suatu modul. Pada dasarnya, semakin banyak jalur pada suatu modul, maka kompleksitasnya juga semakin besar. Sebuah modul didefinisikan sebagai kumpulan kode program yang memiliki masukan dan keluaran. [16]

3.2.2 Size

3.2.2.1 Line of Code (LOC)

Line of code adalah salah satu software metric yang digunakan untuk mengukur ukuran dari program komputer dengan menghitung banyak baris kode dalam suatu source code. Jumlah baris yang dihitung adalah semua baris kode termasuk komentar dan baris kosong. [17]

3.2.2.2 Logical Line of Code (LLOC)

Logical line of code adalah salah satu software metric yang menghitung source code, namun berbeda dengan LOC, dimana LLOC hanya menghitung baris yang merepresentasikan suatu statement. [17]

3.2.3 Comment Percentage

Baris komentar dalam suatu source code adalah baris yang tidak diabaikan oleh compiler. Kegunaan dari komentar pada baris kode adalah sebagai sumber dokumentasi, dan kemudahan dalam memahami source code. [18]

3.2.4 Weighted Method per Class (WMC)

Weighted Method per Class (WMC) adalah jumlah dari kompleksitas method yang diimplementasikan pada suatu kelas. Kompleksitas yang dihiting adalah Cycloma tic Complexity (CC). Jumlah dari method dan kompleksitas berpengaruh pada seberapa banyak waktu yang diperlukan dan e ffort untuk mendevelop dan me-maintain suatu kelas. [19]

3.2.5 Number of Method (NoM)

(6)

3.2.6 Lack of Cohesion of Methods (LCOM)

Lack of cohesion methods adalah softwa re metric yang menghitung jumlah dari method-method berbeda dalam suatu kelas yang menggunakan variabel dalam kelas tersebut. Suatu kelas dikatakan cohesive jika semua method di dalamnya mereferensi ke suatu variabel. Dan dikatakan non-cohesive jika terdapat method yang saling tidak berhubungan dengan method lain di dalam kelas yang sama, dan dapat dilakukan split pada kelas tersebut sehingga dihasilkan dua atau lebih kelas yang lebih kecil yang melakukan fungsi secara spesifik. [16]

3.2.7 Coupling Between Object Classes (CBO)

Coupling Between Object Classes adalah jumlah dari banyaknya kelas lain yang berinteraksi dengan suatu kelas. Dua kelas dikatakan “coupled” jika suatu method menggunakan method atau variabel milik kelas lain. Semakin tinggi nilai CBO pada suatu kelas, maka semakin menurun tingkat reusa bility dan ma inta ina bility nya. [16]

3.2.8 Depth of Inheritance Tree (DIT)

Depth of inheritance tree adalah metric yang menghitung banyak tingkat inherita nce atau pewarisan pada suatu kelas. Semakin tinggi tingkat DIT, maka kelas tersebut akan mewarisi semakin banyak method. Selain itu, kompleksitas kelas juga menjadi tinggi. Namun, semakin tinggi DIT, maka semakin ba nyak method yang bisa digunakan ulang (reuse). [4]

3.2.9 Number of Children (NoC)

Number of Children adalah ukuran dari jumlah suksesor pada suatu kelas. Semakin banyak jumlah NoC, maka tingkat reuse semakin meningkat, namun waktu testing yang diperlukan menjadi semakin besar karena diperlukan waktu lebih untuk melakukan test pada semua kelas anak. [4]

4. Kesimpulan

Kesimpulan yang dapat ditarik dari penilitian ini adalah sebagai berikut:

1. Softwa re metric pada aplikasi berbasis web diukur menggunakan tools PHP Depend dan PHP Metrics.

2. Setelah dilakukan pengukuran dan analisis terhadap aplikasi web yang dibangun menggunakan framework laravel, dapat disimpulkan bahwa:

a) Comment percenta ge memiliki kriteria buruk pada semua kelas kecuali User dan BaseController.

b) Weighted method per cla ss memiliki kriteria buruk pada kelas ArtikelController.

c) Number of method memiliki kriteria buruk pada kelas ArtikelController.

d) La ck of cohesion of methods memiliki kriteria buruk pada kelas ArtikelController, HomeController, UserController, Article, Article_ author, Article_downloader, dan Article_keyword.

e) Coupling Between Object Cla sses memiliki kriteria buruk pada kelas ArtikelController.

f) Depth of inherita nce tree memiliki kriteria baik pada semua kelas.

(7)

3. Berikut adalah hasil evaluasi metric yang digunakan sebagai feedba ck atau rekomendasi bagi developer setelah dilakukan pengukuran terhadap aplikasi.

a) Efficiency suatu produk perangkat lunak dipengaruhi oleh nilai LCOM, CBO, DIT, dan NoC. Nilai Efficiency dapat ditingkatkan dengan membuat subclass, dan memisahkan fungsi kedalam kelas secara spesifik.

b) Complexity suatu produk perangkat lunak dipengaruhi oleh nilai CC. Nilai Complexity dapat ditingkatkan dengan membuat algoritma yang lebih sederhana.

c) Understa nda bility suatu produk perangkat lunak dipengaruhi oleh nilai persentase komentar, WMC, dan NoM. Nilai Understa nda bility dapat ditingkatkan dengan menambahkan komentar pada kode, menyederhanakan algoritma, dan melakukan pemecahan kelas menjadi subclass.

d) Reusa bility suatu produk perangkat lunak dipengaruhi oleh nilai persentase komentar, WMC, LCOM, CBO, DIT, dan NoC. Nilai Reusa bility dapat ditingkatkan dengan menambahkan komentar pada kode, membuat subclass, dan memisahkan fungsi kedalam kelas secara spesifik.

(8)

Daftar Pustaka

[1] Bourdon R. 2015. WAMP Server. [Online] Available at:

http://www.wampserver.com/en/

[Accessed 17 November 2014]

[2] DocForge, 2014. Web application framework. [Online] Available at: Logic no 1 vol 15 Ma ret 2009. Fakultas Informatika IT Telkom

[5] Filó Tarcísio G. S., Bigonha Mariza A. S., A Ca ta logue of Thresholds for Object-Oriented Softwa re Metrics. Department of Computer Science (DCC), Federal University of Minas Gerais (UFMG).

[6] Fenton, N., Softwa re Metric, Chapman and Hall, 1991.

[7] Laird M. Linda, Softwa re Mea surement a nd Estima tion: A Pra ctica l Approa ch, Wiley-Interscience, 2006.

[8] Lépine J F. 2015. PhpMetric. [Online] Available at:

http://www.phpmetrics.org

[Accessed 16 November 2014]

[9] M Squared Technologies LLC™. 2015. Source Code Size Metrics. [Online] Available at:

http://msquaredtechnologies.com/m2rsm/docs/rsm_m etrics_narration.htm

[Accessed 3 Juni 2015]

[10] Nguyen V, et al. 2007. A SLOC Counting Sta nda rd. Center for Systems and Software Engineering

[11] Otwell T. 2015. Laravel. [Online] Available at:

http://laravel.com

[Accessed 15 November 2014]

[12] Otwell T. 2015. Architecture of Laravel Applications. [Online] Available at:

[15] Reenskaug T. 2014. Model View Controller. [Online] Available at: For 2014. [Online] Available at:

http://www.webhostingreviewboards.com/developme nt/top-ten-best-php-frameworks-for-2014/

[Accessed 24 Oktober 2014]

Gambar

Tabel 1 - Metric yang digunakan dan tools yang digunakan untuk mengukur
Gambar 2 - Arsitektur MVC

Referensi

Dokumen terkait

Sedangkan hasil penelitian Wennberg, Pathak, dan Autio, (2013) membuktikan bahwa ada hubungan negatif yang signifikan antara self-efficacy dengan kecenderungan

Seusai Soeharto mengundurkan diri dari jabatannya, dan BJ Habibie mengucapkan sumpah sebagai Presiden, Panglima ABRI Jenderal TNI Wiranto dalam pidatonya menyatakan, ABRI akan tetap

Perbedaan : Komunikasi Antar pribadi dalam penelitian peneliti hanya di gunakan untuk membantu dalam memaparkan tujuan peneliti, berbeda dengan penelitian terdahulu

Pada konteks meramu rasa adil dalam pembagian kewarisan Islam, sebagaimana yang termaktub di dalam al-Qur'an surat an- Nisâ' ayat 11, maka pembacaan ulangnya (re-

bedaan nampak pada gejala penurunan berat badan, nafsu makan baik yang dalam penelitian ini tidak begitu menonjol dengan presentase yang kecil. Selain itu pada dalam

Berdasarkan alasan diatas penelitian ini ingin menguji tentang pengaruh partisipasi dalam penganggaran dan peran manajerial pengelola keuangan daerah terhadap

Walhasil, implementasi manajemen mutu model SM3S pada akhirnya bertujuan untuk memuaskan pelanggan (dalam hal ini para santri), sekaligus dalam kerangka pemenuhan ibadah

Dari fenomena tersebut maka penulis tertarik untuk melakukan penelitian dengan judul yaitu : “Kemampuan Firm Size Dan Laverage Terhadap Meningkatnya Bond Rating