analisis dan perancangan software pengukuran metrik skala
TRANSCRIPT
ILKOMNIKA: Journal of Computer Science and Applied Informatics E-ISSN: 2715-2731
Vol. 2, No. 1, April 2020, Halaman 73-84 73
https://doi.org/10.28926/ilkomnika.v2i1.101 http://journal.unublitar.ac.id/ilkomnika
Analisis dan Perancangan Software Pengukuran Metrik Skala dan
Kompleksitas Query Database
Moh. Ariffudin1,*, Hafizzudin Sifaulloh2, Eka Manggala Putra3, Muhammad Ainul Yaqin4
Teknik Informatika, Universitas Islam Negeri Maulana Malik Ibrahim, Indonesia [email protected]; [email protected]; [email protected] * corresponding author
PENDAHULUAN
Pengukuran perangkat lunak menjadi salah satu kebutuhan saat ini disaat meningkatnya
pertumbuhan perangkat lunak yang beredar dan kemajuan akses terhadap internet ini
membuat aplikasi mobile berlomba-lomba untuk membuat perangkat lunak yang dapat
digunakan secara gratis maupun berbayar pada perangkat komunikasi. Pertumbuhan secara
massif ini membuat sebuah pengukuran perangkat lunak menjadi sangat perlu dilakukan
sebagai sarana untuk menilai kualitas sebuah perangkat lunak [1]. Walaupun hingga saat ini
belum ada regulasi yang terstruktur dan spesifikasi untuk mengukur kualitas perangkat lunak
yang beredar agar memenuhi standar kualitas tertentu, tidak membuat pengukuran perangkat
lunak menjadi suatu hal yang kalah penting dibandingkan proses pembuatan dan pengujian
perangkat lunak tersebut, karena fungsinya sangat krusial dalam penetuan kualitas perangkat
lunak [2].
Sama seperti sebuah program, sebuah Query Database perlu diukur juga
kompleksitasnya. Sejauh ini, insinyur perangkat lunak telah mengedepankan ratusan metrik
untuk meningkatkan kualitas dari program perangkat unak mengabaikan Query Database.
Padahal aspek data pada perangkat lunak penting karena ukuran data berkontribusi pada
banyak kualitas sistem [3]. Maka diperlukam sebuah kompleksitas metriks yang dapat
mengukur tingkat kerumitan dalam mendapatkan data, dilihat dari jumlah tabel, kolom,
statement, kedalaman dan fungsi logika yang digunakan pada Query Database [5].
Untuk menciptakan sebuah formula kompleksitas Query Database yang komprehensif
dan sensitive terhadap pembuahan kecil haruslah menyertakan setiap metrik untuk Query
Database. Beberapa formul telah dianjurkan sebelumnya untuk menyelesaikan masalah ini.
Namun masih ada metrik yang belum disertakan didalamnya dan ada pula metriks yang
IN F O AR T I KEL
ABST R AK
Sejarah Artikel Diterima: 18 Desember 2019 Direvisi: 13 Januari 2020 Diterbitkan: 30 April 2020
Kompleksitas Query Database dalam suatu sistem semakin meningkat
seiring pertumbuhan data. Kompleksitas Query Database yang
meningkat mengakibatkan kerumitan dalam mendapatkan data yang
sesuai dengan kebutuhan. Insinyur perangkat lunak telah
mengedepankan banyak metriks untuk meningkatkan kualitas dari
program perangkat lunak, mengabaikan Query Database yang
digunakan. Sehingga belum ada metriks yang dapat mengukur tingkat
kerumitan dalam mendapatkan data. Padahal aspek data pada perangkat
lunak penting karena ukuran data berkontribusi pada banyak kualitas
sistem. Paper ini menggunakan metode GQM untuk mengidentifikasi
metriksnya. Paper ini mengidentifikasi bahwa metriks untuk sebuah
Query Database meliputi jumlah tabel, kolom, statement, kedalaman
dan fungsi logika. Dari beberapa formula kompleksitas yang sudah
pernah diajukan, kami hanya menghitung dari statement select dan
diformulasikan dengan metode Analytic Hierarchy Process (AHP).
Kata Kunci Skala metrik Kompleksitas Query database
74 ILKOMNIKA: Journal of Computer Science and Applied Informatics E-ISSN: 2715-2731
Vol. 2, No. 1, April 2020, Halaman 73-84
opsional untuk diukur jika dilihat dari view data language (VDL). Sehingga saat ini
digunakan untuk mengukur kompleksitas Query Database yang strukturnya hampir identik,
maka hasil yang diperoleh bisa memiliki nilai yang sama
METODE
Vashistha dkk. dalam pengukuran kompleksitas Query Database menggunakan nilai
perhitungan regression yang dikalikan dengan metriks Query Database yaitu tabel, kolom,
length, logika, statement dan runtime. Setelah itu, nilai yang sudah diukur kemudian
dijumlahkan untuk mendapatkan nilai kompleksitas Query Database [4]. Berikut ini adalah
penjelasan metriks-metriks yang ada pada Query Database:
• Jumlah Tabel (T) : jumlah tabel dalam Query Database
• Jumlah Kolom (K) : jumlah kolom dalam sebuah tabel
• Length (L) : panjang Query string
• Kedalaman (Dp) : ukuran kedalaman sebuah tree Query
• Statement (S) : jumlah statement/expression yang digunakan dalam Query
• Logika (Log) : jumlah fungsi logika/operator yang digunakan dalam Query
• Runtime (Rt) : lama waktu yang diperlukan untuk menjalankan sebuah Query
Tabel 1. Metrik-metrik yang telah disertakan dalam formula kompleksitas
T K L Dp S Log Rt
Vashista
dkk., 2012 Ya Ya Ya Tidak Ya Ya Ya
Formula yang
kami ajukan Ya Ya Tidak Ya Ya Ya Tidak
Kami mengidentifikasi metriks menggunakan Goal Question Metric (GQM), yang akan
menghasilkan metriks-metriks dalam pengukuran kompleksitas Query. Kemudian, metriks
akan direpresentasikan menggunakan model Weighted Tree, diformulasikan dengan metode
Analytic Hierarchy Process (AHP).
Identifikasi Menggunakan GQM
Tabel 2. Hasil Identifikasi Menggunakan GQM
Pencapaian Objek : Formula kompleksitas Query Database
Pertanyaan
Jawaban
Apa yang hasil Query Database?
Tabel
Pertanyaan
Jawaban
Apa yang membentuk sebuah tabel?
Baris, kolom
Pertanyaan
Jawaban
Apa saja yang terdapat pada baris dan kolom?
Logika, statement, kedalaman
Pertanyaan
Jawaban
Apa saja logika pada Query Database?
AND, OR, XOR
Pertanyaan
Jawaban
Apa saja metriks Query Database yang pernah diajukan?
Tabel, kolom, statement, logika, kedalaman
E-ISSN: 2715-2731 ILKOMNIKA: Journal of Computer Science and Applied Informatics 75 Vol. 2, No. 1, April 2020, Halaman 73-84
Pertanyaan
Jawaban
Apa saja metriks Query Database yang belum diajukan?
Statement yang hanya menggunakan select
Representasi Menggunakan Weighted Tree
Representasi metriks dengan menggunakan weighted tree dapat dilihat pada Gambar 1.
Node pada weighted tree merepresentasikan metriksnya.
Gambar 1. Weighted Tree
Formulasi Metrik Menggunakan AHP
Dengan menggunakan metode Analytical Hierarchy Process (AHP), diperoleh bobot
untuk setiap metriks yang terdapat dalam Query Database. Bobot untuk setiap metriks pada
Query Database disajikan dalam Tabel 3.
Tabel 3. Bobot setiap metrik menggunakan AHP
Metriks Bobot
Tabel 0.40
Kolom 0.06
Logika 0.10
Kedalaman 0.17
Statement 0.27
Untuk penilaian bobot dari Query logika Database, kami menggunakan perhitungan
cognitive complexity [2]. Bobot logika dengan menggunakan cognitive complexity disajikan
dalam Tabel 4.
Tabel 4. Bobot Logika dengan Cognitive Complexity
Logika Bobot Keterangan
AND 4 Setiap AND mengaktifkan links yang keluar secara parallel,
AND-join yang sesuai, menyinkronkan aliran kontrol.
OR 7 Nilai atau bobotnya ditentukan dari percabangan logika
case, yang nantinya diikuti oleh eksekusi secara paralel. Hal
ini juga dapat dikatakan bahwa nilai dari logika OR
merupakan gabungan dari nilai logika AND dan logika
XOR yang menggunakan ‘ case’
76 ILKOMNIKA: Journal of Computer Science and Applied Informatics E-ISSN: 2715-2731
Vol. 2, No. 1, April 2020, Halaman 73-84
XOR 2/3 Jika dalam suatu Query menggunakan logika ‘ if’ maka
nilai XOR adalah 2. Sedangkan jika Query menggunakan
logika ‘ case’ maka nilai XOR adalah 3
Pencarian Metrik Tabel
Pencarian metrik tabel bisa dicari apabila dibawah node from tidak merupakan statement
select. Misal:
Gambar 2. Bagian Weighted Tree (From)
Pada gambar diatas menunjukkan bahwa terdapat sebuah tabel dikarenakan tidak berupa
statement select.
Pencarian Metrik Kolom
Pencarian merik kolom mirip seperti mencari metrik tabel. Apabila dibawah statement
select tidak berupa statement select. Misal:
Gambar 3. Bagian Weighted Tree (Kolom)
Metrik kolom pada tree diatas ada lima dikarenakan tidak adanya statement select yang
terdapat dibawah node select diatas.
Pencarian Metrik Logika
Metrik logika bisa dicari apabila setelah kondisi seletah where mempunyai logika,
diantara logika tersebut adalah and, or dan xor. Misal:
Gambar 4. Bagian Weighted Tree (Logika)
Metrik logika tersebut ada satu dikarenakan adanya logika berupa and.
Pencarian Metrik Kedalaman
E-ISSN: 2715-2731 ILKOMNIKA: Journal of Computer Science and Applied Informatics 77 Vol. 2, No. 1, April 2020, Halaman 73-84
Pencarian metrik kedalaman dicari dengan banyaknya urutan berdasarkan vertikal
statement select yang ada pada tree. Misal:
Gambar 5. Bagian Weighted Tree (Kedalaman)
Metrik kedalaman pada tree diatas adalah dua. Dikarenakan adanya statement select yang
ada pada tree diatas berada pada urutan pertama dan kedua berdasarkan urutan vertikal.
Pencarian Metrik Statement
Metrik statement didapat apabila statement tersebut berupa statement select.
HASIL DAN PEMBAHASAN
Bagian Formula Metrik Kompleksitas
QC = (0.4*T) + (0.06*K) + (0.1*Log) + (0.17*Dp) + (0.27*S)
Studi Kasus
Query 1
SELECT `nama`, `kelas`, `alamat`, `nama_ayah ` FROM `siswa` WHERE `kelas`
NOT IN (SELECT `kelas` FROM `siswa` WHERE `kelas` = 'X') AND `nama` IN
(SELECT `nama ` FROM `siswa` WHERE `nama ` = 'Amir');
Query 2
SELECT `id`, `nama`, `kelas` FROM `siswa` ORDER BY `nama`, `kelas`;
Query 3
SELECT `id_siswa`, `nama_ayah`, `nama_ibu`, `alamat` FROM `siswa`ORDER BY
`id_siswa`
Pengukuran Matriks Weighted Tree
Weighted tree pada masing-masing Query Database diatas bisa dilihat pada Gambar 6,
7 & 8.
78 ILKOMNIKA: Journal of Computer Science and Applied Informatics E-ISSN: 2715-2731
Vol. 2, No. 1, April 2020, Halaman 73-84
Gambar 6. Weighted Tree Query 1
Gambar 7. Weighted Tree Query 2
Gambar 8. Weighted Tree Query 3
Pencarian Metriks Tabel
Pencarian metrik tabel bisa dicari apabila dibawah node from tidak merupakan statement
select. Untuk pencarian metriks tabel pada Query 1, 2 dan 3 bisa dilihat pada Gambar 9, 10,
& 11.
Gambar 9. Weighted Tree Query 1 (Tabel)
Pada weighted tree diatas ditemukan tiga banyaknya tabel yang diberi tanda bold.
Dikarenakan tiga nama tabel pada weighted tree tersebut sama maka tabel tersebut dijadikan
hanya satu tabel.
E-ISSN: 2715-2731 ILKOMNIKA: Journal of Computer Science and Applied Informatics 79 Vol. 2, No. 1, April 2020, Halaman 73-84
Gambar 10. Weighted Tree Query 2 (Tabel)
Pada weighted tree diatas ditemukan satu banyaknya tabel yang diberi tanda bold dengan
bobot sebesar 1 x 0.4.
Gambar 11. Weighted Tree Query 3 (Tabel)
Pada weighted tree diatas ditemukan satu banyaknya tabel yang diberi tanda bold dengan
bobot sebesar 1 x 0.4. Setelah banyaknya tabel ditemukan, hasil dari pencarian metriks tabel
bisa dilihat pada Tabel 5. Tabel 5. Metriks dan Bobot Metriks Tabel (T)
Query 1 Query 2 Query 3
Banyaknya Tabel 1 1 1
Bobot 0.4 0.4 0.4
Pencarian Metriks Kolom
Pencarian merik kolom mirip bisa ditemukan apabila dibawah statement select tidak
berupa statement select. Untuk pencarian metriks kolom pada Query 1, 2 dan 3 bisa dilihat
pada Gambar 12, 13, & 14.
Gambar 12. Weighted Tree Query 1 (Kolom)
Pada weighted tree diatas ditemukan empat banyaknya kolom yang diberi tanda bold. Nama
kolom tidak boleh sama, apabila nama kolom sama maka nama kolom tersebut dijadikan
menjadi satu.
80 ILKOMNIKA: Journal of Computer Science and Applied Informatics E-ISSN: 2715-2731
Vol. 2, No. 1, April 2020, Halaman 73-84
. Gambar 13. Weighted Tree Query 2 (Kolom)
Pada weighted tree diatas ditemukan tiga banyaknya kolom yang diberi tanda bold dengan
bobot 3 x 0.06.
Gambar 14. Weighted Tree Query 3 (Kolom)
Pada weighted tree diatas ditemukan empat banyaknya kolom yang diberi tanda bold dengan
bobot 4 x 0.06. Setelah banyaknya tabel ditemukan, hasil dari pencarian metriks tabel bisa
dilihat pada Tabel 6. Tabel 6. Metriks dan Bobot Metriks Kolom (K)
Query 1 Query 2 Query 3
Banyaknya Kolom 4 3 4
Bobot 0.24 0.18 0.24
Pencarian Metriks Logika
Metriks logika bisa dicari apabila setelah kondisi seletah where mempunyai logika,
diantara logika tersebut adalah and, or dan xor. Pencarian metriks logika pada Query 1, 2, &
3 bisa dilihat pada Gambar 15, 16 & 17.
Gambar 15. Weighted Tree Query 1 (Logika)
Pada Gambar 15 dinyatakan bahwa Query 1 hanya mempunyai satu logika yang berada
dibawah where. Bobot logika yang dipunyai oleh Query 1 bernilai 1 x 4 dikarenakan bobot
logika and bernilai 4.
E-ISSN: 2715-2731 ILKOMNIKA: Journal of Computer Science and Applied Informatics 81 Vol. 2, No. 1, April 2020, Halaman 73-84
Gambar 16. Weighted Tree Query 2 (Logika)
Metriks logika pada Query 2 tidak ada dikarenakan tidak adanya salah satu logika and, or &
xor, maka bobot metriks logika yang dipunyai oleh Query 2 berjumlah 0.
Gambar 17. Weighted Tree Query 3 (Logika)
Setelah melihat weighted tree pada Gambar 17 dinaytakan bahawa Query 3 tidak
mempunyai metriks logika diakrenakan tidak adanya logika yang terdapat dibawah where,
maka bobot metriks logika pada Query 3 bernilai 0. Banyaknya logika dan bobot pada
masing-masing Query 1, 2 & 3 bisa dilihat pada Tabel 7.
Tabel 7. Metriks dan Bobot Metriks Logika (L)
Query 1 Query 2 Query 3
Banyaknya Logika 1 0 0
Bobot 4 0 0
Pencarian Metriks Kedalaman
Pencarian metrik kedalaman dicari dengan banyaknya urutan berdasarkan vertikal
statement select yang ada pada tree. Pencarian metriks kedalaman pada Query 1, 2 & 3
diperoleh pada Gambar 18, 19 & 20.
Gambar 18. Weighted Tree Query 1 (Kedalaman)
Query 1 mempunyai dua kedalaman (depth), dikarenakan ada dua urutan vertikal pada
statement select. Bobot yang dipunyai Query 1 bernilai 2 x 0.17.
82 ILKOMNIKA: Journal of Computer Science and Applied Informatics E-ISSN: 2715-2731
Vol. 2, No. 1, April 2020, Halaman 73-84
Gambar 19. Weighted Tree Query 2 (Kedalaman)
Metriks kedalaman yang dipunyai Query 2 berjumlah satu karena pada weighted tree diatas
hanya mempunyai satu urutan vertikal pada statement select. Bobot kedalaman yang
dipunyai Query 2 berjumlah 1 x 0.17.
Gambar 20. Weighted Tree Query 3 (Kedalaman)
Pada weighted tree diatas dinyatakan bahwa Query 3 hanya mempunyai satu metriks
kedalaman karena pada weighted tree diatas hanya mempunyai satu urutan vertikal pada
statement select. Bobot kedalaman yang dipunyai Query 3 berjumlah 1 x 0.17. Setelah
banyaknya metriks dan bobot pada metriks kedalaman, maka disimpulkan pada Tabel 8.
Tabel 8. Metriks dan Bobot Metriks Kedalaman (Dp)
Query 1 Query 2 Query 3
Banyaknya Logika 2 1 1
Bobot 0.34 0.17 0.17
Pencarian Metriks Statement
Metrik statement didapat apabila statement tersebut berupa statement select. Bisa dilihat
pada setiap Query 1, 2 & 3.
Query 1
SELECT `nama`, `kelas`, `alamat`, `nama_ayah ` FROM `siswa` WHERE `kelas` NOT IN
(SELECT `kelas` FROM `siswa` WHERE `kelas` = 'X') AND `nama` IN (SELECT `nama
` FROM `siswa` WHERE `nama ` = 'Amir');
Statement yang dipunyai pada Query 1 adalah tiga dikarenakan adanya tiga statement select
pada Query tersebut, maka bobot metriks statement pada Query 1 berjumlah 3 x 0.27.
Query 2
SELECT `id`, `nama`, `kelas` FROM `siswa` ORDER BY `nama`, `kelas`;
Pada Query 2 dinyatakan bahwa Query 2 hanya memiliki satu metriks statement, maka bobot
metriks statement yang dimiliki adalah 1 x 0.27.
E-ISSN: 2715-2731 ILKOMNIKA: Journal of Computer Science and Applied Informatics 83 Vol. 2, No. 1, April 2020, Halaman 73-84
Query 3
SELECT `id_siswa`, `nama_ayah`, `nama_ibu`, `alamat` FROM `siswa`ORDER BY
`id_siswa`
Pada Query 3 dinyatakan bahwa Query 3 memiliki satu metriks statement, maka bobot
metriks statement yang dimiliki adalah 1 x 0.27. Setelah jumlah metriks dan bobot statement
diperoleh, jumlah metriks dan bobot metriks statement bisa dilihat pada Tabel 9.
Tabel 9. Metriks dan Bobot Metriks Statement (S)
Query 1 Query 2 Query 3
Banyaknya Logika 3 1 1
Bobot 0.91 0.27 0.27
Hasil Pengukuran
Setelah hasil pengukuran metriks dan bobot yang dimiliki setia Query, maka jumlah
metriks yang dimiliki setiap Query tersebut disajikan pada Tabel 10.
Tabel 10. Banyaknya Metriks.
Query 1 Query 2 Query 3
Tabel 1 1 1
Kolom 4 3 4
Logika 1 0 0
Statement 3 1 1
Kedalaman 2 1 1
Adapun jumlah bobot metriks yang dimiliki setiap Query disajikan pada Tabel 11.
Tabel 11. Jumlah Bobot Metriks.
Query 1 Query 2 Query 3
Tabel 0.4 0.4 0.4
Kolom 0.24 0.18 0.24
Logika 0.4 0 0
Statement 0.91 0.27 0.27
Kedalaman 0.34 0.17 0.17
Jumlah kompleksitas yang berdasarkan formula yang kami ajukan disajikan pada Tabel 12.
Tabel 12. Jumlah Kompleksitas Query.
Query 1 Query 2 Query 3
Tabel 0.16 0.16 0.16
Kolom 0.0144 0.0108 0.0144
Logika 0.04 0 0
Statement 0.1547 0.0459 0.0459
Kedalaman 0.0918 0.0459 0.0459
Hasil perbandingan pengukuran dengan menggunakan tiga formula kompleksitas disajikan
dalam Tabel 13.
84 ILKOMNIKA: Journal of Computer Science and Applied Informatics E-ISSN: 2715-2731
Vol. 2, No. 1, April 2020, Halaman 73-84
Tabel 13. Hasil Pengukuran Formula Komplelsitas.
Query 1 Query 2 Query 3 Metode
Vashistha dkk., 2016 -0.0010 -0.0009 -0.0010 Regresi
Formula yang kami
ajukan 0.4609 0.2626 0.2662
AHP
KESIMPULAN
Paper ini telah mengindentifikasi bahwa metriks yang dijadikan untuk sebuah Query
Database adalah: jumlah tabel, kolom, logika, kedalaman dan statement Query. Formula
kompleksitas yang disajikan pada paper ini dapat direpresentasikan menggunakan model
weighted tree. Bentuk formula kompleksitas dapat dilihat pada persamaan QC = (0.4*T) +
(0.06*K) + (0.1*Log) + (0.17*Dp) + (0.27*S). Setelah dilakukan pengujian dengan
membandingan hasil pengukuran yang diperoleh menggunakan formula kompleksitas dari
peneliti lain, ditemukan bahwa formula kompleksitas yang kami ajukan lebih komprehensif
dan lebih sensitif terhadap perubahan kecil.
REFERENSI
[1] M. A. Yaqin, R. Sarno, and A. C. Fauzan, “Scalability measurement of business process model using
business processes similarity and complexity,” Int. Conf. Electr. Eng. Comput. Sci. Informatics, vol. 4,
no. September, pp. 306–312, 2017, doi: 10.11591/eecsi.4.1033.
[2] G. Volker, and R. Laue. "Adopting the cognitive complexity measure for business process
models." 2006 5th IEEE international conference on cognitive informatics. Vol. 1. IEEE, 2006.
[3] P. Mario, C. Calero, and M. Genero. "Table oriented metrics for relational Databases." Software
Quality Journal 9.2 (2001): 79-97.
[4] V. Aditya, and S. Jain. "Measuring Query complexity in SQLShare workload." Proceedings of the
2019 international conference on management of data. 2016.
[5] A. Yunus, A. C. Fauzan, A. N. Faizin, and K. Sabbihatul, “Analisis Control Flow Complexity Untuk
Komparasi Kompleksitas Proses Bisnis Penerimaan Mahasiswa Baru Universitas Nahdlatul Ulama
Blitar Berbasis Petri Net Modelling Language,” Ilk. J. Comput. Sci. Appl. Informatics, vol. 1, no. 2,
pp. 39–46, 2019.