VarianceInit.java Analisis sentimen data twitter menggunakan K-Means Clustering.

129 eucDist += Math.powinput1[i]-input2[i], 2; } eucDist = Math.sqrteucDist; return eucDist; } public double manhattanDistancedouble[] input1, double[] input2 { for int i = 0; i input1.length; i++ { manDist += Math.absinput1[i]-input2[i]; } return manDist; } }

8. NegationHandling.java

package sentimentanalysis; import java.util.ArrayList; import java.util.LinkedHashMap; public class NegationHandling { public LinkedHashMap negationHandlingLinkedHashMapInteger, ArrayListString map { for int key : map.keySet { ArrayListString list = map.getkey; for int i = 0; i list.size; i++ { String check = list.geti; switch check { case tidak: if i + 1 = list.size - 1 { list.seti, tidak + list.geti + 1; 130 list.removei + 1; break; } case bukan: if i + 1 = list.size - 1 { list.seti, bukan + list.geti + 1; list.removei + 1; break; } case tanpa: if i + 1 = list.size - 1 { list.seti, tanpa + list.geti + 1; list.removei + 1; break; } } } map.putkey, list; } return map; } }

9. WordFreq.java

package sentimentanalysis; import java.util.ArrayList; import java.util.Arrays; import java.util.HashMap; public class WordFreq { 131 public class Word implements ComparableWord { private String word; private int count; public WordString word, int count { this.word = word; this.count = count; } Override public int compareToWord otherWord { if this.getCount == otherWord.getCount { return this.getWord.compareTootherWord.getWord; } return otherWord.getCount - this.getCount; } public String getWord { return word; } public int getCount { return count; } } public Word[] getFreqWordsArrayListString words { HashMapString, Word map = new HashMap; for String s : words { Word w = map.gets; if w == null { w = new Words, 1; 132 } else { w.count++; } map.puts, w; } Word[] list = map.values.toArraynew Word[]{}; Arrays.sortlist; return list; } }

10. CSV.java

package sentimentanalysis; import java.io.; import java.util.; public class CSV { public void writeFeaturesToCSVLinkedHashMapInteger, double[] input, String filename throws IOException { StringBuilder builder = new StringBuilder; for IteratorMap.EntryInteger, double[] it = input.entrySet.iterator; it.hasNext; { Map.EntryInteger, double[] e = it.next; double[] value = e.getValue; for int i = 0; i value.length - 1; i++ { builder.appendvalue[i]; builder.append,; } builder.appendvalue[value.length - 1]; builder.appendSystem.getPropertyline.separator; } 133 String result = builder.toString; System.out.printlnresult; try Writer writer = new FileWriterfilename { writer.writeresult; writer.close; } } public LinkedHashMap readFeaturesFromCSVString csvFile { LinkedHashMapInteger, double[] map = null; double[] dToken; try { create BufferedReader to read csv file BufferedReader br = new BufferedReadernew FileReadercsvFile; String line = ; StringTokenizer st = null; map = new LinkedHashMap; int lineNumber = 0; read comma separated file line by line while line = br.readLine = null { lineNumber++; use comma as token separator st = new StringTokenizerline, ,; dToken = new double[st.countTokens]; int tokenNumber = -1; while st.hasMoreTokens {