Struktur Data Sistem pemerolehan informasi karya ilmiah berbasis Cluster dengan G-Means Clustering.
43
terdekat sudah ditemukan clusternya 28. LinkedListRecord tempRecordListCluster1 = null;
29. LinkedListRecord tempRecordListCluster2 = null; 30.
31. a : while true { 32.
33. tempRecordListCluster1 = new LinkedList; 34. tempRecordListCluster2 = new LinkedList;
35. 36. assign ke centroid terdekat
37. for int j = 0; j recordList.size; j++ { 38. Record rec = recordList.getj;
39. double[] dataArray = util.convert1DPCARecordToArrayrec; 40. double distToCentroid1 = calc.euclideanDistancedataArray,
centroid1; 41. double distToCentroid2 = calc.euclideanDistancedataArray,
centroid2; 42.
43. if distToCentroid1 distToCentroid2 { 44. tempRecordListCluster2.addrec;
45. } else { 46. tempRecordListCluster1.addrec;
47. } 48. }
49. 50. hitung centroid baru
51. iftempRecordListCluster1.isEmpty == false { 52. centroid1 = calculateNewCentroidtempRecordListCluster1;
53. } else { 54. System.out.printlnempty cluster;
55. cluster1.setRecordListtempRecordListCluster1; PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
44
56. cluster1.setCentroidutil.convert1DPCAArrayToRecordcentroid1;
57. cluster2.setRecordListtempRecordListCluster2; 58.
cluster2.setCentroidutil.convert1DPCAArrayToRecordcentroid2; 59. break a;
60. } 61.
62. iftempRecordListCluster2.isEmpty == false { 63. centroid2 = calculateNewCentroidtempRecordListCluster2;
64. } else { 65. System.out.printlnempty cluster;
66. cluster1.setRecordListtempRecordListCluster1; 67.
cluster1.setCentroidutil.convert1DPCAArrayToRecordcentroid1; 68. cluster2.setRecordListtempRecordListCluster2;
69. cluster2.setCentroidutil.convert1DPCAArrayToRecordcentroid2;
70. break a; 71. }
72. 73. cek centroid baru thd centroid lama, apabila centroidBaru =
centroidLama, maka kmeans selesai stop while loop 74. boolean checkCluster1 = checkNewWithOldCentroidcentroid1,
util.convert1DPCARecordToArraycluster1.getCentroid; 75. boolean checkCluster2 = checkNewWithOldCentroidcentroid2,
util.convert1DPCARecordToArraycluster2.getCentroid; 76.
77. pindahkan isi tempRecordListCluster ke recordList di Cluster yang sesuai
78. cluster1.setRecordListtempRecordListCluster1; PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI