LAMPIRAN
13
Lampiran 1 Source Code Class LoginCustomerController 1 package ilkom.erp.web.controller.customer; 2 3 import ilkom.erp.order.OrderDebitur; 4 import ilkom.erp.service.OrderService; 5 import ilkom.erp.web.util.MessageResourceUtil; 6 import ilkom.erp.web.util.SessionUtil; 7 import java.security.MessageDigest; 8 import java.security.NoSuchAlgorithmException; 9 import java.util.logging.Level; 10 import java.util.logging.Logger; 11 import javax.faces.application.FacesMessage; 12 13 public class LoginCustomerController { 14 private OrderService orderService; 15 private OrderDebitur debitur = new OrderDebitur(); 16 private String realPassword; 17 18 public String getRealPassword() { 19 return realPassword; 20 } 21 22 public void setRealPassword(String realPassword) { 23 this.realPassword = realPassword; 24 } 25 26 public void setOrderService(OrderService orderService) { 27 this.orderService = orderService; 28 } 29 30 public OrderDebitur getDebitur() { 31 return debitur; 32 } 33 34 public void setDebitur(OrderDebitur debitur) { 35 this.debitur = debitur; 36 } 37 38 public String login(){ 39 OrderDebitur orderDebiturDb = 40 orderService.getByNameOrderDebitur(debitur.getDebiturName()); 41 42 if (orderDebiturDb==null){ 43 MessageResourceUtil.addMessage(FacesMessage.SEVERITY_INFO, 44 Login.fail.signUpFirst", null); 45 clear(); 46 return "fail"; 47 }else if(!orderDebiturDb.getPassword().equals(md5(realPassword))){ 48 MessageResourceUtil.addMessage(FacesMessage.SEVERITY_INFO, 49 "Login.fail", null); 50 clear(); 51 return "fail"; 52 } 53 54 SessionUtil.setDebitur(orderDebiturDb); 55 return "login success"; 56 } 57 58 public String signUp(){ 59 clear(); 60 return "signup"; 61 } 62 63 private void clear() { 64 debitur = new OrderDebitur(); 65 } 66 67 public static String md5(String s){ 68 try { 69 MessageDigest md = MessageDigest.getInstance("MD5"); 70 md.update(s.getBytes()); 71 return new String(md.digest());
14
Lanjutan 72 } catch (NoSuchAlgorithmException ex) { 73 74 Logger.getLogger(LoginCustomerController.class.getName()).log(Level.SEVERE, 75 null, ex); 76 } 77 return null; 78 } 79 }
Lampiran 2 Perhitungan Metrics pada Class LoginCustomerController •
WMC
Class LoginCustomerController memiliki 10 buah method, yaitu getRealPassword(), setRealPassword(), setOrderService(), getDebitur(), setDebitur(), login(), signup(), clear(), md5(). Akan tetapi, masih terdapat satu buah method yang secara implisit selalu dimiliki oleh sebuah class di Java, yaitu method constructor. Kalau tidak didefinisikan oleh pembuat class, konstruktor tersebut disebut default constructor. Default constructor ini memanggil method super(), yaitu konstruktor dari superclass-nya. Dengan demikian, class LoginCustomerController memiliki 7 buah method. CC untuk setiap method sebagai berikut: Constructor: CC1 = P + 1 = 0 + 1 =1 getRealPassword(): CC2 = P + 1 = 0 + 1 =1 setRealPassword(): CC3 = P + 1 = 0 + 1 =1 setOrderService(): CC4 = P + 1 = 0 + 1 = 1 getDebitur(): CC5 = P + 1 = 0 + 1 = 1 setDebitur(): CC6 = P + 1 = 0 + 1 = 1 login(): CC7 = P + 1 = 2 + 1 = 3 signup(): CC8 = P + 1 = 0 + 1 = 1 clear(): CC9 = P + 1 = 0 + 1 = 1 md5():CC10 = P + 1 = 1 + 1 = 2 Dari CC setiap method didapat :
•
DIT
Class LoginCustomerController tidak melakukan extends (mewarisi) class lain secara eksplisit. Akan tetapi, setiap class di Java mewarisi class Object dan class Object adalah root pada hierarki pewarisan class di Java. Dengan demikian,
•
NOC
Setelah menelusuri semua class pada data, tidak terdapat satu pun class yang mewarisi class LoginCustomerController. Dengan demikian,
15
Lanjutan •
CBO
Class LoginCustomerController memiliki instance variable dari class OrderService (orderService) dan OrderDebitur (debitur). Selain itu, method login() memanggil static method addMessage() dari class MessageResourceUtil dan static method setDebitur() dari class SessionUtil. Dengan demikian,
•
RFC
Semua method yang terdapat pada class LoginCustomerController dan method yang dipanggil di dalamnya sebagai berikut: •
Constructor memanggil Object.super().
•
getRealPassword() tidak memanggil method lain.
•
setRealPassword() tidak memanggil method lain.
•
setOrderService() tidak memanggil method lain.
•
getDebitur() tidak memanggil method lain.
•
setDebitur() tidak memanggil method lain.
•
login() memanggil OrderService.getByNameOrderDebitur(), OrderDebitur.getDebiturName(), MessageResourceUtil.addMessage(), this.clear(), OrderDebitur.getPassword(), String.equals(), this.md5(), dan SessionUtil.setDebitur().
•
signUp() memanggil this.clear().
•
clear() memanggil OrderDebitur.this().
•
md5() memanggil MessageDigest.getInstance(), MessageDigest.update(), String.getBytes(), String.this(), MessageDigest.digest(), Logger.getLogger(), LoginCustomerController.class.getName(), Logger.log().
Selanjutnya RS dapat ditentukan sebagai berikut :
= {this(), this.getRealPassword(), this.setRealPassword(), this.setOrderService(), this.getDebitur(), this.setDebitur(), this.login(), this.signUp(), this.clear(), this.md5(), Object.super(), OrderService.getByNameOrderDebitur(), OrderDebitur.getDebiturName(), MessageResourceUtil.addMessage(), OrderDebitur.getPassword(), String.equals(), SessionUtil.setDebitur(), OrderDebitur.this(), MessageDigest.getInstance(), MessageDigest.update(), String.this(), String.getBytes(), MessageDigest.digest(), Logger.getLogger(), LoginCustomerController.class.getName(), Logger.log()} Dengan demikian,
•
LCOM
Class LoginCustomerController memiliki dua buah instance variable, yaitu orderService dan debitur sehingga, Iconstructor = I1 = Ø IgetRealPassword = I2 ={realPassword} IsetRealPassword = I3 ={realPassword} IsetOrderService = I4 = {orderService}
16
Lanjutan IgetDebitur = I5 = {debitur} IsetDebitur = I6 = { debitur} Ilogin = I7 = {orderService, debitur, realPassword} IsignUp = I8 = {debitur} Iclear = I9 = {debitur} Imd5 = I10 = Ø Kemudian, dari hasil di atas dapat ditentukan himpunan P dan Q sebagai berikut: P = { I1 ∩ I2, I1 ∩ I3, I1 ∩ I4, I1 ∩ I5, I1 ∩ I6, I1 ∩ I7, I1 ∩ I8, I1 ∩ I9, I1 ∩ I10, I2 ∩ I4, I2 ∩ I5, I2 ∩ I6, I2 ∩ I8, I2 ∩ I9, I2 ∩ I10, I3 ∩ I4, I3 ∩ I5, I3 ∩ I6, I3 ∩ I8, I3 ∩ I9, I3 ∩ I10, I4 ∩ I5, I4 ∩ I6, I4 ∩ I8, I4 ∩ I9, I4 ∩ I10, I5 ∩ I10, I6 ∩ I10, I7 ∩ I10, I8 ∩ I10, I9 ∩ I10} Q = { I2 ∩ I3, I2 ∩ I7, I3 ∩ I7, I4 ∩ I7, I5 ∩ I6, I5 ∩ I7, I5 ∩ I8, I5 ∩ I9, I6 ∩ I7, I6 ∩ I8, I6 ∩ I9, I7 ∩ I8, I7 ∩ I9, I8 ∩ I9} Karena |P| >|Q|, dengan demikian
17
Lampiran 3 Hasil Perhitungan Metrics pada Semua Class Project ERP No.
Class
WMC
DIT
NOC
CBO
RFC
LCOM MaxLCOM RasioLCOM
1 ilkom.erp.web.controller.admin.AccPeriodListController
7
1
0
4
15
6
21
0.2857
2 ilkom.erp.purchase.dao.PurchaseDemandDetailDao
4
1
0
1
4
0
6
0.0000
3 ilkom.erp.purchase.dao.hibernate.PurchaseSupplierDaoHibernate
14
3
0
7
27
0
45
0.0000
4 ilkom.erp.order.dao.hibernate.OrderCartDaoHibernate
12
3
0
9
30
0
21
0.0000
5
1
0
1
9
6
10
0.6000
6 ilkom.erp.order.OrderCartDetail
21
1
0
4
22
190
210
0.9048
7 ilkom.erp.web.controller.admin.AdminUserFormController
5 ilkom.erp.web.controller.deliveryOrder.DeliverOrderCartController$OrderCartWrapper
16
1
0
4
31
18
78
0.2308
8 ilkom.erp.order.dao.hibernate.OrderShippingTypeDaoHibernate
6
3
0
5
17
0
10
0.0000
9 ilkom.erp.web.controller.accountReceivable.ARInvoiceController
11
1
0
3
17
18
36
0.5000
10 ilkom.erp.web.controller.accountPayable.APMonthEndController
19
1
0
9
58
82
136
0.6029
6
3
0
9
21
0
10
0.0000
11 ilkom.erp.accountReceivable.dao.hibernate.AccountReceivableMonthEndDaoHibernate 12 ilkom.erp.order.dao.OrderShippingTypeDao
4
1
0
1
4
0
6
0.0000
13 ilkom.erp.purchase.PurchaseOrderDetail
21
1
0
4
22
190
210
0.9048
14 ilkom.erp.web.controller.inventory.ListInventoryController
15
1
0
4
28
9
45
0.2000
15 ilkom.erp.service.AccountPayableService
25
1
0
5
25
0
300
0.0000
5
1
0
1
5
0
10
0.0000
15
1
0
3
21
0
55
0.0000
6
1
0
1
6
0
15
0.0000
19 ilkom.erp.service.PurchaseService
57
1
0
12
57
0
1596
0.0000
20 ilkom.erp.generalLedger.GLMonthEnd
39
1
0
5
40
703
741
0.9487
21 ilkom.erp.purchase.dao.hibernate.PurchaseDemandDetailDaoHibernate
6
3
0
8
20
0
10
0.0000
22 ilkom.erp.order.dao.OrderCartDao
6
1
0
1
6
0
15
0.0000
23 ilkom.erp.purchase.dao.PurchaseDemandDao
6
1
0
2
6
0
15
0.0000
24 ilkom.erp.inventory.InventoryGoodReceiveDetail
23
1
0
5
24
231
253
0.9130
25 ilkom.erp.generalLedger.dao.GLMonthEndDao
4
1
0
1
4
0
6
0.0000 0.0000
16 ilkom.erp.purchase.dao.PurchaseRequisitionDao 17 ilkom.erp.web.util.SessionUtil 18 ilkom.erp.admin.dao.AdminUserDao
26 ilkom.erp.generalLedger.dao.hibernate.GeneralLedgerDaoHibernate
6
3
0
5
17
0
10
31
1
0
7
31
0
465
0.0000
28 ilkom.erp.web.validator.EmailValidator
3
1
0
0
10
1
1
0.0000
29 ilkom.erp.web.controller.purchase.ListSupplierController$PurchaseSupplierWrapper
5
1
0
3
8
2
10
0.2000
30 ilkom.erp.inventory.dao.InventoryProductCategoryDao
4
1
0
1
4
0
6
0.0000 0.0000
27 ilkom.erp.service.OrderService
31 ilkom.erp.purchase.dao.PurchaseMonthendtrxDao
4
1
0
1
4
0
6
32 ilkom.erp.web.controller.accountReceivable.AddReceiptController
62
1
0
12
95
368
630
0.5841
33 ilkom.erp.inventory.InventoryProductCategory
15
1
0
1
17
87
105
0.8286
34 ilkom.erp.web.controller.admin.AdminUOMController
7
1
0
4
15
6
21
0.2857
35 ilkom.erp.purchase.dao.hibernate.PurchaseRequisitionDetailDaoHibernate
7
3
0
8
22
0
15
0.0000
36 ilkom.erp.web.util.MessageResourceUtil
4
1
0
0
18
0
6
0.0000
11
1
0
1
12
45
55
0.8182
5
1
0
1
8
0
10
0.0000
39 ilkom.erp.inventory.InventoryGoodReceive
29
1
0
3
31
374
406
0.9212
40 ilkom.erp.accountReceivable.AccountReceivableReceipt
25
1
0
2
28
246
276
0.8913
7
1
0
1
17
7
15
0.4667
22
1
0
4
37
56
136
0.4118
4
1
0
1
4
0
6
0.0000
37 ilkom.erp.order.OrderShippingType 38 ilkom.erp.web.controller.customer.InventoryItemController
41 ilkom.erp.web.controller.customer.FormOrderCartController$OrderCartDetailWrapper 42 ilkom.erp.web.controller.admin.AdminUOMConvFormController 43 ilkom.erp.inventory.dao.InventoryProductBrandDao 44 ilkom.erp.web.controller.admin.AdminVehicleController
7
1
0
4
15
6
21
0.2857
45 ilkom.erp.web.controller.generalLedger.GLAccountAddController
10
1
0
3
15
0
36
0.0000
46 ilkom.erp.purchase.PurchaseDemand
31
1
0
4
34
399
435
0.9172
47 ilkom.erp.admin.dao.hibernate.AdminUserDaoHibernate
9
3
0
5
25
0
21
0.0000
48 ilkom.erp.admin.dao.AdminUOMDao
5
1
0
1
5
0
10
0.0000
49 ilkom.erp.accountReceivable.dao.hibernate.AccountReceivableReceiptDaoHibernate
7
3
0
6
21
0
15
0.0000
50 ilkom.erp.web.controller.purchase.ApproveListRFQSupplierController$PurchaseSupplyRFQWrapper
7
1
0
2
15
7
15
0.4667
18
Lanjutan No.
Class
51 ilkom.erp.web.controller.inventory.FormInventoryController 52 ilkom.erp.web.controller.accountReceivable.AddReceiptController$ReceiptDetailWrapper 53 ilkom.erp.order.dao.hibernate.OrderPaymentTypeDaoHibernate
WMC
DIT
NOC
CBO
RFC LCOM MaxLCOM RasioLCOM
46
1
0
10
77
324
496
0.6532
5
1
0
1
11
6
10
0.6000
6
3
0
5
17
0
10
0.0000
54 ilkom.erp.purchase.PurchaseMonthendtrx
37
1
0
4
38
630
666
0.9459
55 ilkom.erp.purchase.PurchaseSupplyRFQDetail
28
1
0
4
30
264
300
0.8800
6
1
0
3
6
0
15
0.0000
57 ilkom.erp.web.controller.accountPayable.APPaymentController
11
1
0
3
17
18
36
0.5000
58 ilkom.erp.web.util.UserAuthenticatinPhaseListener
24
1
0
4
20
0
10
0.0000
59 ilkom.erp.web.controller.purchase.ApproveListRFQSupplierController
11
1
0
7
27
14
28
0.5000
60 ilkom.erp.accountReceivable.dao.AccountReceivableReceiptDao
5
1
0
1
5
0
10
0.0000
61 ilkom.erp.order.dao.OrderPaymentTypeDao
4
1
0
1
4
0
6
0.0000
56 ilkom.erp.purchase.dao.PurchaseSupplyRFQDetailDao
62 ilkom.erp.web.controller.generalLedger.GLJournalController
9
1
0
3
15
11
21
0.5238
63 ilkom.erp.accountPayable.AccountPayableInvoice
31
1
0
3
34
399
435
0.9172
64 ilkom.erp.admin.AdminVehicle
27
1
0
4
29
297
325
0.9138
65 ilkom.erp.purchase.PurchaseRequisition
25
1
0
2
28
246
276
0.8913
66 ilkom.erp.admin.AdminUOM
15
1
0
1
17
75
91
0.8242
5
1
0
1
5
0
10
0.0000
25
1
0
6
26
276
300
0.9200
6
3
0
7
20
0
10
0.0000
14
1
0
4
21
21
55
0.3818
71 ilkom.erp.accountPayable.dao.AccountPayableInvoiceDao
6
1
0
1
6
0
15
0.0000
72 ilkom.erp.web.controller.purchase.RFQSupplierController
20
1
0
6
35
25
55
0.4545
73 ilkom.erp.purchase.dao.hibernate.PurchaseSupplyRFQDaoHibernate
17
3
0
10
39
0
55
0.0000
74 ilkom.erp.inventory.InventoryProductBrand
15
1
0
1
17
87
105
0.8286
5
1
0
1
10
6
15
0.4000
53
1
0
2
55 1318
1378
0.9565
9
1
0
11
45
11
21
0.5238
78 ilkom.erp.admin.AdminAccPeriod
17
1
0
1
19
102
120
0.8500
79 ilkom.erp.accountPayable.AccountPayableMonthEnd
37
1
0
5
38
630
666
0.9459
80 ilkom.erp.web.controller.customer.EditPasswordController
17
1
0
5
23
39
91
0.4286
81 ilkom.erp.accountPayable.dao.AccountPayablePaymentDao
6
1
0
1
6
0
15
0.0000
82 ilkom.erp.order.dao.OrderDeliveryDao
4
1
0
1
4
0
6
0.0000
83 ilkom.erp.purchase.PurchaseSupplier
49
1
0
3
68
779
1035
0.7527
84 ilkom.erp.accountReceivable.dao.AccountReceivableMonthEndDao
4
1
0
1
4
0
6
0.0000
85 ilkom.erp.generalLedger.dao.GLJournalDao
5
1
0
1
5
0
10
0.0000
86 ilkom.erp.web.controller.admin.AdminUserController
7
1
0
4
15
6
21
0.2857 0.0000
67 ilkom.erp.order.dao.OrderDebiturDao 68 ilkom.erp.accountPayable.AccountPayableInvoiceDetail 69 ilkom.erp.inventory.dao.hibernate.InventoryGoodReceiveDaoHibernate 70 ilkom.erp.web.controller.customer.SignUpController
75 ilkom.erp.web.controller.inventory.GoodReceiveController$GoodReceiveDetailWrapper 76 ilkom.erp.order.OrderDebitur 77 ilkom.erp.web.controller.purchase.PurchaseDemandController
87 ilkom.erp.admin.dao.AdminModulDao
5
1
0
1
5
0
10
14
1
0
4
28
11
55
0.2000
5
1
0
1
5
0
10
0.0000
44
1
0
8
70
74
276
0.2681
8
3
0
6
22
0
21
0.0000
14
1
0
3
28
7
55
0.1273
7
3
0
5
19
0
15
0.0000
94 ilkom.erp.order.OrderDelivery
23
1
0
4
25
227
253
0.8972
95 ilkom.erp.purchase.PurchaseDemandDetail
21
1
0
4
22
190
210
0.9048
8
3
0
9
24
0
21
0.0000
31
1
0
1
34
399
435
0.9172
98 ilkom.erp.accountPayable.dao.hibernate.AccountPayableInvoiceDaoHibernate
8
3
0
7
23
0
21
0.0000
99 ilkom.erp.admin.dao.hibernate.AdminModulDaoHibernate
7
3
0
5
21
0
15
0.0000
100 ilkom.erp.accountReceivable.dao.AccountReceivableReceiptDetailDao
4
1
0
1
4
0
6
0.0000
88 ilkom.erp.web.controller.purchase.ListRFQController 89 ilkom.erp.inventory.dao.InventoryItemDao 90 ilkom.erp.web.controller.generalLedger.GLJournalDetailController 91 ilkom.erp.accountPayable.dao.hibernate.AccountPayablePaymentDaoHibernate 92 ilkom.erp.web.controller.deliveryOrder.ListOrderCartController 93 ilkom.erp.admin.dao.hibernate.AdminUOMDaoHibernate
96 ilkom.erp.accountPayable.dao.hibernate.AccountPayableInvoiceDetailDaoHibernate 97 ilkom.erp.generalLedger.GLJournal
19
Lanjutan No.
Class
WMC
DIT
NOC
CBO
RFC LCOM MaxLCOM RasioLCOM
101 ilkom.erp.web.controller.customer.FormOrderCartController
54
1
0
11
104
385
595
0.6471
102 ilkom.erp.web.controller.LoginController
17
1
0
6
18
3
21
0.1429 0.0000
103 ilkom.erp.web.controller.purchase.ListSupplierController$1
0
1
0
0
0
0
0
21
1
0
2
23
168
190
0.8842
105 ilkom.erp.web.controller.admin.AdminCompanyController
7
1
0
4
15
6
21
0.2857
106 ilkom.erp.web.controller.inventory.GoodReceiveController
104 ilkom.erp.admin.AdminPage
60
1
0
11
87
288
496
0.5806
107 ilkom.erp.admin.dao.AdminGroupDao
5
1
0
1
5
0
10
0.0000
108 ilkom.erp.purchase.PurchaseRFQPrice
11
1
0
2
12
45
55
0.8182
109 ilkom.erp.admin.AdminModulPeriod
33
1
0
1
34
496
528
0.9394
6
3
0
9
21
0
10
0.0000
110 ilkom.erp.generalLedger.dao.hibernate.GLMonthEndDaoHibernate 111 ilkom.erp.service.impl.OrderServiceImpl
46
1
0
15
78
787
1035
0.7604
112 ilkom.erp.web.controller.deliveryOrder.DeliveredCartsController
11
1
0
3
18
0
36
0.0000
113 ilkom.erp.web.controller.customer.ConfirmShippingController
15
1
0
3
24
19
55
0.3455
114 ilkom.erp.inventory.dao.hibernate.InventoryMonthenditemDaoHibernate
6
3
0
6
18
0
10
0.0000
115 ilkom.erp.accountPayable.dao.hibernate.AccountPayableMonthEndDaoHibernate
6
3
0
9
20
0
10
0.0000
116 ilkom.erp.web.util.MessagesNotJsfApprouchListener
6
1
0
0
19
0
6
0.0000
117 ilkom.erp.web.controller.purchase.PurchaseRequisitionController$PurchaseRequisitionDetailWrapper
5
1
0
1
10
6
10
0.6000
10
1
0
3
15
0
36
0.0000
119 ilkom.erp.inventory.dao.InventoryGoodReceiveDetailDao
4
1
0
1
4
0
6
0.0000
120 ilkom.erp.inventory.dao.InventoryGoodReceiveDao
4
1
0
1
4
0
6
0.0000
121 ilkom.erp.purchase.dao.hibernate.PurchaseSupplyRFQDetailDaoHibernate
8
3
0
9
25
0
21
0.0000
122 ilkom.erp.generalLedger.dao.hibernate.GLJournalDetailDaoHibernate
6
3
0
7
19
0
10
0.0000
123 ilkom.erp.web.controller.admin.AdminVehicleFormController
24
1
0
6
42
89
171
0.5205
124 ilkom.erp.purchase.dao.hibernate.PurchaseDemandDaoHibernate
10
3
0
8
30
0
21
0.0000
125 ilkom.erp.accountReceivable.AccountReceivableInvoice
27
1
0
3
30
293
325
0.9015
126 ilkom.erp.service.impl.AccountPayableServiceImpl
38
1
0
15
104
392
630
0.6222
127 ilkom.erp.web.controller.purchase.ListPurchaseDemandController
13
1
0
4
20
27
55
0.4909
128 ilkom.erp.admin.AdminCompany
39
1
0
1
41
663
703
0.9431
129 ilkom.erp.accountPayable.AccountPayablePaymentDetail
21
1
0
5
22
190
210
0.9048
130 ilkom.erp.web.util.TextUtil
3
1
0
0
6
0
1
0.0000
131 ilkom.erp.admin.AdminUser
23
1
0
1
25
207
231
0.8961
132 ilkom.erp.web.controller.admin.AdminUOMFormController
10
1
0
3
15
0
36
0.0000 0.0000
118 ilkom.erp.web.controller.admin.AdminCompanyFormController
133 ilkom.erp.purchase.dao.hibernate.PurchaseRequisitionDaoHibernate
9
3
0
6
26
0
15
134 ilkom.erp.service.AdminService
45
1
0
10
45
0
990
0.0000
135 ilkom.erp.web.controller.admin.AccPeriodController
10
1
0
3
15
0
36
0.0000
136 ilkom.erp.web.controller.purchase.RFQController
68
1
0
11
95
266
496
0.5363
4
1
0
1
4
0
6
0.0000
137 ilkom.erp.accountReceivable.dao.AccountReceivableInvoiceDetailDao 138 ilkom.erp.web.controller.generalLedger.GLPostJournalController 139 ilkom.erp.accountReceivable.AccountReceivableInvoiceDetail 140 ilkom.erp.accountReceivable.dao.AccountReceivableInvoiceDao
7
1
0
4
16
6
21
0.2857
25
1
0
5
26
276
300
0.9200 0.0000
5
1
0
1
5
0
10
141 ilkom.erp.web.controller.purchase.PurchaseOrderController
11
1
0
12
47
26
36
0.7222
142 ilkom.erp.web.controller.deliveryOrder.DeliverOrderCartController
31
1
0
6
52
192
300
0.6400
143 ilkom.erp.admin.AdminGroup
17
1
0
0
20
98
120
0.8167
144 ilkom.erp.purchase.PurchaseRequisitionDetail
19
1
0
4
20
153
171
0.8947
6
3
0
8
20
0
10
0.0000
146 ilkom.erp.web.controller.accountPayable.AddInvoiceController
77
1
0
15
119
723
1035
0.6986
147 ilkom.erp.web.controller.accountPayable.APInvoiceController
9
1
0
3
15
5
21
0.2381
148 ilkom.erp.admin.dao.hibernate.AdminGroupDaoHibernate
7
3
0
4
20
0
15
0.0000
149 ilkom.erp.order.dao.OrderMonthendtrxDao
4
1
0
1
4
0
6
0.0000
33
1
0
11
56
354
528
0.6705
145 ilkom.erp.inventory.dao.hibernate.InventoryGoodReceiveDetailDaoHibernate
150 ilkom.erp.service.impl.AccountReceivableServiceImpl
20
Lanjutan No.
Class
151 ilkom.erp.inventory.InventoryMonthenditem 152 ilkom.erp.inventory.dao.InventoryMonthenditemDao 153 ilkom.erp.service.impl.AdminServiceImpl
WMC
DIT
NOC
CBO
RFC LCOM MaxLCOM RasioLCOM
23
1
0
2
24
231
253
0.9130
4
1
0
1
4
0
6
0.0000
66
1
0
21
111 1779
2145
0.8294
154 ilkom.erp.generalLedger.dao.hibernate.GLJournalDaoHibernate
7
3
0
5
20
0
15
0.0000
155 ilkom.erp.purchase.dao.PurchaseSupplierDao
9
1
0
3
9
0
36
0.0000
156 ilkom.erp.inventory.dao.hibernate.InventoryProductBrandDaoHibernate
6
3
0
5
20
0
10
0.0000
157 ilkom.erp.admin.dao.AdminVehicleDao
5
1
0
1
5
0
10
0.0000
158 ilkom.erp.generalLedger.GeneralLedgerAccount
17
1
0
1
19
102
120
0.8500
159 ilkom.erp.web.controller.purchase.ListPurchaseOrderController
11
1
0
3
18
14
36
0.3889
160 ilkom.erp.service.InventoryService
25
1
0
6
25
0
300
0.0000
161 ilkom.erp.web.controller.admin.AdminUOMConvertionController
7
1
0
4
15
6
21
0.2857
162 ilkom.erp.accountPayable.dao.hibernate.AccountPayablePaymentDetailDaoHibernate
7
3
0
4
17
0
15
0.0000
163 ilkom.erp.order.dao.hibernate.OrderDeliveryDaoHibernate
6
3
0
8
20
0
10
0.0000
164 ilkom.erp.web.controller.purchase.RFQController$PurchaseRFQDetailWrapper
5
1
0
1
10
6
15
0.4000
165 ilkom.erp.purchase.dao.hibernate.PurchaseMonthendtrxDaoHibernate
6
3
0
8
20
0
10
0.0000
63
1
0
12
98
368
630
0.5841
4
1
0
1
4
0
6
0.0000
166 ilkom.erp.web.controller.accountPayable.AddPaymentController 167 ilkom.erp.admin.dao.AdminAccPeriodDao
15
1
0
6
30
5
45
0.1111
169 ilkom.erp.accountReceivable.dao.hibernate.AccountReceivableReceiptDetailDaoHibernate
168 ilkom.erp.web.controller.purchase.ListSupplierController
6
3
0
8
19
0
10
0.0000
170 ilkom.erp.admin.dao.hibernate.AdminUOMConvertionDaoHibernate
7
3
0
6
21
0
15
0.0000
171 ilkom.erp.service.AccountReceivableService
22
1
0
5
22
0
231
0.0000
172 ilkom.erp.purchase.Address
15
1
0
0
16
91
105
0.8667
5
1
0
2
8
2
10
0.2000
5
0.0000
173 ilkom.erp.web.controller.customer.CompanyController 174 ilkom.erp.purchase.dao.PurchaseRequisitionDetailDao
5
1
0
1
0
10
175 ilkom.erp.service.impl.PurchaseServiceImpl
81
1
0
25
153 2588
3160
0.8190
176 ilkom.erp.web.controller.customer.LoginCustomerController
13
1
0
4
26
45
0.3778 0.0000
177 ilkom.erp.purchase.dao.PurchaseOrderDao
17
5
1
0
1
5
0
10
21
1
0
2
23
168
190
0.8842
179 ilkom.erp.admin.dao.AdminUOMConvertionDao
5
1
0
1
5
0
10
0.0000
180 ilkom.erp.purchase.dao.hibernate.PurchaseOrderDaoHibernate
9
3
0
8
28
0
15
0.0000
181 ilkom.erp.web.controller.generalLedger.GLJournalDetailController$GLJournalDetailWrapper
5
1
0
1
10
6
10
0.6000
182 ilkom.erp.admin.dao.hibernate.AdminModulPeriodDaoHibernate
6
3
0
5
17
0
10
0.0000
183 ilkom.erp.inventory.dao.hibernate.InventoryItemDaoHibernate
7
3
0
9
23
0
15
0.0000
184 ilkom.erp.accountReceivable.dao.hibernate.AccountReceivableInvoiceDetailDaoHibernate
6
3
0
9
21
0
10
0.0000
185 ilkom.erp.web.controller.purchase.ListPurchaseRequisitionController
12
1
0
3
23
11
45
0.2444
186 ilkom.erp.order.OrderCart
47
1
0
5
49 1031
1081
0.9537
7
3
0
5
19
15
0.0000
188 ilkom.erp.service.impl.InventoryServiceImpl
38
1
0
13
64
511
703
0.7269
189 ilkom.erp.accountPayable.AccountPayablePayment
25
1
0
2
28
246
276
0.8913
190 ilkom.erp.web.controller.inventory.ListGoodReceiveController
9
1
0
3
15
5
21
0.2381
191 ilkom.erp.order.dao.hibernate.OrderCartDetailDaoHibernate
6
3
0
5
17
0
10
0.0000
192 ilkom.erp.purchase.dao.PurchaseOrderDetailDao
4
1
0
1
4
0
6
0.0000
193 ilkom.erp.accountPayable.dao.AccountPayableInvoiceDetailDao
6
1
0
1
6
0
15
0.0000
39
1
0
5
40
703
741
0.9487
9
1
0
3
15
5
21
0.2381
39
1
0
5
40
703
741
0.9487
6
3
0
5
17
0
10
0.0000
178 ilkom.erp.admin.AdminUOMConvertion
187 ilkom.erp.admin.dao.hibernate.AdminPageDaoHibernate
194 ilkom.erp.accountReceivable.AccountReceivableMonthEnd 195 ilkom.erp.web.controller.accountPayable.listInvoiceController 196 ilkom.erp.order.OrderMonthendtrx 197 ilkom.erp.admin.dao.hibernate.AdminAccPeriodDaoHibernate 198 ilkom.erp.web.controller.accountPayable.AddPaymentController$PaymentDetailWrapper
0
5
1
0
1
11
2
10
0.2000
199 ilkom.erp.generalLedger.GLJournalDetail
19
1
0
3
20
153
171
0.8947
200 ilkom.erp.accountReceivable.AccountReceivableReceiptDetail
19
1
0
4
20
153
171
0.8947
21
Lanjutan No.
Class
201 ilkom.erp.web.controller.SignOutController
WMC
DIT
NOC
CBO
RFC
LCOM MaxLCOM RasioLCOM
2
1
0
0
7
0
1
0.0000
202 ilkom.erp.admin.dao.hibernate.AdminCompanyDaoHibernate
10
3
0
5
22
0
36
0.0000
203 ilkom.erp.service.impl.GeneralLedgerServiceImpl
26
1
0
9
44
193
325
0.5938
204 ilkom.erp.purchase.dao.PurchaseSupplyRFQDao
10
1
0
4
10
0
45
0.0000
205 ilkom.erp.purchase.dao.hibernate.PurchaseOrderDetailDaoHibernate
6
3
0
8
20
0
10
0.0000
206 ilkom.erp.order.dao.hibernate.OrderMonthendtrxDaoHibernate
6
3
0
9
21
0
10
0.0000
207 ilkom.erp.web.controller.accountReceivable.AddARInvoiceController$ARInvoiceDetailWrapper
5
1
0
1
10
6
15
0.4000
208 ilkom.erp.admin.dao.AdminModulPeriodDao
4
1
0
1
4
0
6
0.0000 0.2857
209 ilkom.erp.web.controller.generalLedger.GLAccountController
7
1
0
4
15
6
21
69
1
0
5
71
2208
2278
0.9693
211 ilkom.erp.accountPayable.dao.AccountPayablePaymentDetailDao
5
1
0
1
5
0
10
0.0000
212 ilkom.erp.web.util.MessagesListener
7
1
0
0
14
0
10
0.0000
213 ilkom.erp.generalLedger.dao.GeneralLedgerDao
4
1
0
1
4
0
6
0.0000
35
1
0
4
38
521
561
0.9287
4
1
0
1
4
0
6
0.0000
216 ilkom.erp.order.OrderPaymentType
11
1
0
1
12
45
55
0.8182
217 ilkom.erp.service.GeneralLedgerService
17
1
0
4
17
0
136
0.0000
218 ilkom.erp.web.controller.inventory.ListInventoryController$InventoryItemWrapper
5
1
0
2
7
2
10
0.2000
219 ilkom.erp.web.controller.purchase.ListRFQSupplierController
4
1
0
3
9
2
6
0.3333 0.0000
210 ilkom.erp.inventory.InventoryItem
214 ilkom.erp.purchase.PurchaseOrder 215 ilkom.erp.accountPayable.dao.AccountPayableMonthEndDao
220 ilkom.erp.admin.dao.AdminCompanyDao 221 ilkom.erp.web.controller.accountReceivable.AddARInvoiceController 222 ilkom.erp.admin.dao.hibernate.AdminVehicleDaoHibernate 223 ilkom.erp.web.controller.customer.EditProfileController 224 ilkom.erp.inventory.dao.hibernate.InventoryProductCategoryDaoHibernate 225 ilkom.erp.generalLedger.dao.GLJournalDetailDao
8
1
0
1
8
0
28
78
1
0
15
118
723
1035
0.6986
7
3
0
8
22
0
15
0.0000
10
1
0
3
14
23
45
0.5111
6
3
0
5
18
0
10
0.0000 0.0000
4
1
0
1
4
0
6
39
1
0
4
43
641
703
0.9118
8
3
0
6
24
0
15
0.0000
228 ilkom.erp.web.controller.admin.ModulPeriodController
44
1
0
2
54
339
465
0.7290
229 ilkom.erp.web.controller.purchase.PurchaseRequisitionController
45
1
0
9
65
97
253
0.3834
5
1
0
1
10
6
10
0.6000 0.0000
226 ilkom.erp.purchase.PurchaseSupplyRFQ 227 ilkom.erp.order.dao.hibernate.OrderDebiturDaoHibernate
230 ilkom.erp.web.controller.accountPayable.AddInvoiceController$InvoiceDetailWrapper 231 ilkom.erp.order.dao.OrderCartDetailDao 232 ilkom.erp.admin.AdminModul 233 ilkom.erp.accountReceivable.dao.hibernate.AccountReceivableInvoiceDaoHibernate 234 ilkom.erp.web.controller.purchase.FormSupplierController 235 ilkom.erp.admin.dao.AdminPageDao 236 ilkom.erp.web.controller.accountReceivable.ARReceiptController
4
1
0
1
4
0
6
21
1
0
1
24
160
190
0.8421
7
3
0
7
22
0
15
0.0000
16
1
0
5
31
20
78
0.2564
5
1
0
1
5
0
10
0.0000
11
1
0
3
17
18
36
0.5000
22
Lampiran 4 Beberapa Class yang Disarankan Agar Diperiksa Ulang dan/atau Direvisi Terkait Dengan Nilai Metrics-nya Metrics
WMC
CBO
RFC
No.
Class
1 ilkom.erp.order.OrderDebitur 2 ilkom.erp.web.controller.customer.FormOrderCartController 3 ilkom.erp.service.PurchaseService 4 ilkom.erp.web.controller.inventory.GoodReceiveController 5 ilkom.erp.web.controller.accountReceivable.AddReceiptController 6 ilkom.erp.web.controller.accountPayable.AddPaymentController 7 ilkom.erp.service.impl.AdminServiceImpl 8 ilkom.erp.web.controller.purchase.RFQController 9 ilkom.erp.inventory.InventoryItem 10 ilkom.erp.web.controller.accountPayable.AddInvoiceController 11 ilkom.erp.web.controller.accountReceivable.AddARInvoiceController 12 ilkom.erp.service.impl.PurchaseServiceImpl 1 ilkom.erp.service.impl.AdminServiceImpl 2 ilkom.erp.service.impl.PurchaseServiceImpl 1 ilkom.erp.web.controller.deliveryOrder.DeliverOrderCartController 2 ilkom.erp.web.controller.admin.ModulPeriodController 3 ilkom.erp.order.OrderDebitur 4 ilkom.erp.service.impl.AccountReceivableServiceImpl 5 ilkom.erp.service.PurchaseService 6 ilkom.erp.web.controller.accountPayable.APMonthEndController 7 ilkom.erp.service.impl.InventoryServiceImpl 8 ilkom.erp.web.controller.purchase.PurchaseRequisitionController 9 ilkom.erp.purchase.PurchaseSupplier 10 ilkom.erp.web.controller.generalLedger.GLJournalDetailController 11 ilkom.erp.inventory.InventoryItem 12 ilkom.erp.web.controller.inventory.FormInventoryController 13 ilkom.erp.service.impl.OrderServiceImpl 14 ilkom.erp.web.controller.inventory.GoodReceiveController 15 ilkom.erp.web.controller.accountReceivable.AddReceiptController 16 ilkom.erp.web.controller.purchase.RFQController 17 ilkom.erp.web.controller.accountPayable.AddPaymentController 18 ilkom.erp.web.controller.customer.FormOrderCartController 19 ilkom.erp.service.impl.AccountPayableServiceImpl 20 ilkom.erp.service.impl.AdminServiceImpl 21 ilkom.erp.web.controller.accountReceivable.AddARInvoiceController 22 ilkom.erp.web.controller.accountPayable.AddInvoiceController 23 ilkom.erp.service.impl.PurchaseServiceImpl
Nilai Metric 53 54 57 60 62 63 66 68 69 77 78 81 21 25 52 54 55 56 57 58 64 65 68 70 71 77 78 87 95 95 98 104 104 111 118 119 153
23
Lampiran 5 Ringkasan Pengaruh Metrics Terhadap Faktor-Faktor Kualitas berdasarkan sudut pandang masing-masing metric. Faktor Kualitas No Metric
Kategori Reusability
Usability Understandability Modifiability
Testability
1 WMC
tinggi
↓
↓
NA
NA
↓
2 DIT
tinggi
↑
NA
↓
↓
↓
3 NOC
tinggi
↑
NA
NA
NA
↓
4 CBO
tinggi
↓
NA
↓
↓
↓
5 RFC
tinggi
NA
NA
↓
↓
↓
6 LCOM
tinggi
NA
NA
↓
↓
↓
Keterangan : NA = Not Applicable