• Tidak ada hasil yang ditemukan

LAMPIRAN. Kuesioner Pengumpulan Data. Langkah 1 : Ruang Lingkup Aplikasi. Langkah 2 : Pengukuran Fungsional Data. Nama Perusahaan Anda :

N/A
N/A
Protected

Academic year: 2021

Membagikan "LAMPIRAN. Kuesioner Pengumpulan Data. Langkah 1 : Ruang Lingkup Aplikasi. Langkah 2 : Pengukuran Fungsional Data. Nama Perusahaan Anda :"

Copied!
13
0
0

Teks penuh

(1)

Kuesioner Pengumpulan Data

Nama Perusahaan Anda : _______________________

Nama Project : _______________________

Langkah 1 : Ruang Lingkup Aplikasi

1.1. Tipe Proyek : _____________________ (baru /maintenance)

1.2. Ruang Lingkup Proyek :

__________________________________________________________________

__________________________________________________________________

_______________________________

Langkah 2 : Pengukuran Fungsional Data

2.1. Daftarkan semua class yang ada dalam ruang lingkup aplikasi.

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________

(2)

2.2. Pengukuran Kompleksitas Class

ID

Class

DET RET

1

2

3

4

5

6

7

8

2.3. Daftarkan semua Legacy View yang ada dalam ruang lingkup aplikasi

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

__________________________

2.4. Pengukuran Kompleksitas Legacy View.

ID Legacy View / Class

DET RET

1

2

3

(3)

4

5

6

7

8

Langkah 3. Pengukuran Fungsional Transaksi

3.1. Identifikasi EI : (Daftarkan semua service untuk setiap class atau legacy view)

ID

Class Services

1

2

3

4

5

3.2. Pengukuran Kompleksitas Services

(4)

Services (dari class 2 )

DET

FTR

Services (dari class 3 )

DET

FTR

3.3. Identifikasi EO dan EQ (Daftarkan semua konteks navigational)

ID Nama

Konteks DET

FTR

1

(PIU atau IIU atau MDIU)

2

3

4

5

(5)

Langkah 4. Pengukuran Faktor Multimedia dari Proyek Web

No

Metrics

Deskripsi

Jumlah

1

TypeApp

Tipe web yang dikembangkan (commerce,

e-business, social media, dll)

2

Languages

Bahasa yang digunakan untuk pengembangan

web (PHP, JSP, Asp.net, dll)

3

Nlang

Jumlah bahasa yang digunakan (PHP,

Javascript, css, dll)

4

ProcImpr

Jumlah tim development yang terlibat dalam

proses pengembangan program

5

Metrics ?

Apakah tim development terlibat dalam

pengukuran ukuran web ?

6

Devteam

Jumlah anggota yang terlibat dalam

pengembangan proyek

7

Teamexp

Rata-rata pengalaman dari tim developer

8

Webpages

Jumlah halaman web

9

newWp

Jumlah halaman web baru

10 Wpcustom

Jumlah halaman web yang diberikan oleh

pengguna

11 Wpout

Jumlah halaman web yang digunakan kembali

dari library lain

12 Wpownco

Jumlah halaman web yang digunakan kembali

(6)

13 txtTyped

Jumlah halaman teks yang diketik

14 txtElec

Jumlah format halaman text

15 txtScan

Jumlah halaman teks yang di sc

16 imgNew

Jumlah

gambar

baru

17 Img3rdP

Jumlah gambar dari tempat lain

18 Imscan

Jumlah gambar yang di scan

19 Imglib

Jumlah gambar dari library

20 Imgownco

Jumlah gambar dari proyek sebelumnya

21 Animnew

Jumlah animasi baru

22 Animlib

Jumlah animasi dari library

23 Avnew

Jumlah file audio/video baru

24 Avlib

Jumlah file audio/video dari library

25 Totdiffpro

Jumlah produk yang ditawarkan

26 Heffdev

Waktu yang dianggap paling lama untuk

mengembangkan suatu fitur atau fungsi

27 HeffAdpt

Waktu yang dianggap paling lama mengadopsi

fitur atau fungsi yang sudah ada

28 Hfots

Jumlah fitur/fungsi rumit yang digunakan

kembali tanpa adaptasi

29 Hfots

Jumlah fitur/fungsi rumit yang digunakan

kembali dengan adaptasi

30 Tothhigh

Total jumlah fitur atau fungsi yang rumit

(7)

32 Fotsa

Jumlah fitur sederhana yang diadopsi dari

proyek lain

33 New

Jumlah fitur/fungsi sederhana yang baru

34 Totnhigh

Total jumlah fitur/fungsi sederhana

35 Toteffor

Jumlah waktu yang diperlukan untuk

(8)
(9)

Codingan untuk Aplikasi Prototype

Fungsi untuk Menghitung Standar Deviasi

Fungsi untuk Menghitung Weight yang akan digunakan pada Weighted

Euclidean Distance

public double getStandardDeviation(String name) { double std = 0, mean, n = 0, sum= 0, sum1 = 0; try { if(dataset1.first()) { n = 1; sum = dataset1.getInt(name); while(dataset1.next()) { sum += dataset1.getInt(name); n++; } } mean = sum / n; if(dataset1.first()) {

sum1 = Math.pow(dataset1.getInt(name) - mean, 2); while(dataset1.next()) {

sum1 += Math.pow(dataset1.getInt(name) - mean, 2); } } std = Math.sqrt(sum1/(n-1)); } catch (Exception e) { e.printStackTrace(); } return std; }

public double getWeight(double std) { double weight; if(std != 0) weight = 1/Math.pow(std, 2); else weight = 0; return weight; }

(10)

Fungsi yang digunakan untuk menghitung jarak antar proyek

public void calcDistance() {

int teamexpn, devteamn, webpagen, newwpn, wpcustomn, wpoutn, wpowncon, txtTypedn, txtElecn, txtScann;

int imgNewn, imgrdPn, imgScann, imgLibn, imgOwnCon, AVNewn, AVLibn, AnimNewn, AnimLibn, oomfpn;

String typeprojn, typeappn, docn; double dst; typeprojn = typeproj.getSelectedItem().toString(); typeappn = typeapp.getSelectedItem().toString(); docn = doc.getSelectedItem().toString(); try { teamexpn = Integer.parseInt(teamexp.getValue().toString()); devteamn = Integer.parseInt(devteam.getValue().toString()); webpagen = Integer.parseInt(webpage.getValue().toString()); newwpn = Integer.parseInt(newwp.getValue().toString()); wpcustomn = Integer.parseInt(wpcustom.getValue().toString()); wpoutn = Integer.parseInt(wpout.getValue().toString()); wpowncon = Integer.parseInt(wpownco.getValue().toString()); txtTypedn = Integer.parseInt(txtTyped.getValue().toString()); txtElecn = Integer.parseInt(txtElec.getValue().toString()); txtScann = Integer.parseInt(txtScan.getValue().toString()); imgNewn = Integer.parseInt(imgNew.getValue().toString()); imgrdPn = Integer.parseInt(imgrdP.getValue().toString()); imgScann = Integer.parseInt(imgScan.getValue().toString()); imgLibn = Integer.parseInt(imgLib.getValue().toString()); imgOwnCon = Integer.parseInt(imgOwnCo.getValue().toString()); AVNewn = Integer.parseInt(AVNew.getValue().toString()); AVLibn = Integer.parseInt(AVLib.getValue().toString()); AnimNewn = Integer.parseInt(AnimNew.getValue().toString()); AnimLibn = Integer.parseInt(AnimLib.getValue().toString()); oomfpn = Integer.parseInt(oomfp.getValue().toString());

if(teamexpn < 0 || devteamn < 0 || webpagen < 0 || newwpn < 0 || wpcustomn < 0 || wpoutn < 0 || wpowncon < 0 || txtTypedn < 0 || txtElecn < 0 || txtScann < 0 || imgNewn < 0 || imgrdPn < 0 || imgScann < 0 || imgLibn < 0 || imgOwnCon < 0 || AVNewn < 0 || AVLibn < 0 || AnimNewn < 0 || AnimLibn < 0) {

JOptionPane.showMessageDialog(null, "Atribut yang diisi harus lebih besar sama dengan 0", "Peringatan", JOptionPane.ERROR);

}else { dst = 0; distance.clear(); if(dataset.first()) {

(11)

Lanjutan Fungsi untuk Menghitung Jarak

dst = Math.sqrt((typeprojn.equalsIgnoreCase(dataset.getString("typeproj"))?1:0)+(typeappn.equals IgnoreCase(dataset.getString("typeapp"))?1:0)+(docn.equalsIgnoreCase(dataset.getString("d ocproc"))?1:0)+getWeight(getStandardDeviation("teamexp"))*Math.pow(teamexpn-dataset.getInt("teamexp"), 2)+getWeight(getStandardDeviation("devteam"))*Math.pow(devteamn-dataset.getInt("devteam"), 2)+getWeight(getStandardDeviation("webpages"))*Math.pow(webpagen-dataset.getInt("webpages"), 2)+getWeight(getStandardDeviation("newwp"))*Math.pow(newwpn-dataset.getInt("newwp"), 2)+getWeight(getStandardDeviation("wpcustom"))*Math.pow(wpcustomn-dataset.getInt("wpcustom"), 2)+getWeight(getStandardDeviation("wpout"))*Math.pow(wpoutn-dataset.getInt("wpout"), 2)+getWeight(getStandardDeviation("wpownco"))*Math.pow(wpowncon-dataset.getInt("wpownco"), 2)+getWeight(getStandardDeviation("txtTyped"))*Math.pow(txtTypedn-dataset.getInt("txtTyped"), 2)+getWeight(getStandardDeviation("txtElec"))*Math.pow(txtElecn-dataset.getInt("txtElec"), 2)+getWeight(getStandardDeviation("txtScan"))*Math.pow(txtScann-dataset.getInt("txtScan"), 2)+getWeight(getStandardDeviation("imgNew"))*Math.pow(imgNewn-dataset.getInt("imgNew"), 2)+getWeight(getStandardDeviation("imgrdP"))*Math.pow(imgrdPn-dataset.getInt("imgrdP"), 2)+getWeight(getStandardDeviation("imgScan"))*Math.pow(imgScann-dataset.getInt("imgScan"), 2)+getWeight(getStandardDeviation("imgLib"))*Math.pow(imgLibn-dataset.getInt("imgLib"), 2)+getWeight(getStandardDeviation("imgOwnCo"))*Math.pow(imgOwnCon-dataset.getInt("imgOwnCo"), 2)+getWeight(getStandardDeviation("AVNew"))*Math.pow(AVNewn-dataset.getInt("AVNew"), 2)+getWeight(getStandardDeviation("AVLib"))*Math.pow(AVLibn-dataset.getInt("AVLib"), 2)+getWeight(getStandardDeviation("AnimNew"))*Math.pow(AnimNewn-dataset.getInt("animNew"), 2)+getWeight(getStandardDeviation("animLib"))*Math.pow(AnimLibn-dataset.getInt("animLib"), 2)+getWeight(getStandardDeviation("OOmFP"))*Math.pow(oomfpn-dataset.getInt("OOmFP"), 2)); distance.add(dst); while(dataset.next()) { //calculate distance

//add to Vector distance }}

sortByDistance(); }

} catch (Exception e) { e.printStackTrace();

(12)

Fungsi untuk Mengurutkan Data Jarak antar Proyek

public void sortByDistance() { double temp;

String temp1; int i, j;

for(i = 0; i < namaProject.size(); i++) { for(j = namaProject.size()-1; j > i; j--) { if(distance.get(j) < distance.get(j-1)) { temp = distance.get(j); distance.set(j, distance.get(j-1)); distance.set(j-1, temp); temp = effort.get(j); effort.set(j, effort.get(j-1)); effort.set(j-1, temp); temp1 = namaProject.get(j); namaProject.set(j, namaProject.get(j-1)); namaProject.set(j-1, temp1); temp1 = projectID.get(j); projectID.set(j, projectID.get(j-1)); projectID.set(j-1, temp1); } } } }

(13)

Distribusi Data Penelitian

Variabel Min

Max

Mean

Median Std.

Dev.

Effort 48

800

104.75

68

135.38

FP 32

358

203.83

198.5

80.75

Devteam 1 8

2.38 2 1.46

Teamexp 2 5 4.48 5 1.11

Webpages 2 255

17.48 10.5 38.87

newWP 2

2555

17.48

10.5 32.28

Wpcustom 0 2 0.05 0

0.32

Wpout 0

0

0 0 0

wpOwnCo 0 30 0.75 0

4.74

txtTyped 0

10

0.25 0 1.58

txtElec 0

5

0.13 0 0.79

txtScan 0

0

0 0 0

imgNew 0

31

5.18 5 4.57

Img3rdP 0 7 0.4 0 1.37

imgScan 0 0 0 0

0

imgLib 0

14

4.83 5 3.34

imgOwnCo 0 0 0

0

0

Animnew 0 0 0

0

0

animLib 0

15

4.2 3 3.57

AVNew 0

1

0.025 0 0.16

AVLib 0

0

0 0 0

Referensi

Dokumen terkait