3. Rincian Algrotima pada Method di Kelas Graph.
Nama
Method
Fungsi
Method
Algoritma
Method
addVertexString label,
ListDouble nilai
Membuat vertex
untuk membentuk
graph. 1.
Membaca parameter berupa label dan list nilai.
2. Membuat vertex baru dengan label
dan nilai yang diinputkan melalui parameter.
addEdgeint awal, int akhir, Double nilai
Mengisi nilai edge pada vertex.
1. Membaca parameter berupa awal,
akhir, dan nilai. 2.
Mengisi nilai jarak kedalam edge[awal][akhir]
dan edge[akhir][awal].
inputDataJTable jTableData
Menginputkan data dari Jtable ke dalam
matrix dalam graph. 1.
Selama i = 0 dan i tidak lebih dari jumlah baris dalam jTable maka
lakukan langkah dibawah ini maka membuat variable label bertipe
String dan listNilai yang bertipe arrayList Double.
2. Selama j = 0 dan j tidak lebih dari
jumlah baris dalam jTable. Jika j = 0 maka set label = data yang ada
dalam baris dan kolom tabel tersebut.
3. Selama j = 0 maka cek data tersebut
merupakan data numerik, jika ya maka masukkan data pada baris i,
j, dan jika tidak maka masukkan nilai 0.0 ke dalam arrayList nilai.
4. Memanggil nilai addVertex dengan
inputan label dan list Nilai.
5. Selama i = 0 dan i tidak lebih dari
jumlah baris pada jTable, selama j = i + 1 dan j tidak lebih dari jumlah
baris dari jTable, dan jika i tidak sama dengan j maka panggil method
addEdge dan memasukkan inputan j dan j kemudian menghitung jarak
berdasarkan rumus
Ecludiian Distance
dengan memanggil
method cariJarakEcludian. cariJarakEcludian
int indexAwal,
int indexTujuan
Menghitung jarak
dengan rumus
Euclidean Distance. 1.
Membaca nilai parameter input method yaitu nilai awal dan nilai
akhir. 2.
Membuat dua buah list yaitu a dan b.
a merupakan
vertexList indexAwal
dan b
merupakan vertexList indexAkhir.
3. Mengisi vertexList[awal].getNilai
da vertexList[akhir].getNilai. 4.
Selama i a.size maka lakukan perhitungan
total =
total +
Math.powa.geti - b.geti, 2; 5.
Mengembalikan Math.sqrttotal. tampilJarakEuclidean
Untuk menampilkan perhitungan
jarak dengan
menggunakan rumus Euclidean Distance.
1. Jika i = 0 dan I kurang dari jumlah
baris vertexList
maka akan
menampilkan vertexList[i] dengan memanggil method getLabel.
2. Jika i = 0 dan i kurang dari jumlah
baris adjMat
maka akan
menampilkan vertexList[i] dengan memanggil method getLabel.
3. Jika j = 0 dan j kurang dari jumlah
baris vertexList
maka akan
menampilkan adjMat[i][j]. cariRNeighborhoodD
ouble radius, int indeks Untuk
mencari RNeighborhood.
1. Membuat ArrayList dengan nama a.
2. Selama i = 0 dan i kurang dari
jumlah baris vertexList, cek apakah adjMat[indeks][i]
= -1,
dan adjMat[indeks][i] = 0, lalu cek
apakah adjMat[indeks[i] kurang dari sama dengan radius. Jika ya
maka tambahkan vertexList[i] ke dalam array a.
3. Mengembalikan a.
cariAnggotaRNeighbo rint indeks, Double
radius Untuk
mencari anggota RNeighbor.
1. Set semua wasVisited dari semua
obyek vertex menjadi false. 2.
Membuat variabel
AnggotaRNeighbor bertipe Double, temp1
bertipe Double,
dan anggotaNpir yang bertipe int.
3. Selama i = 0 dan i tidak lebih dari
jumlah baris
vertexList, dan
adjMAt[indeks][i] =
-1 dan
wasVisited == false, jika ya maka cek
apakah adjMat[indeks][i]
kurang dari sama dengan radius, jika ya maka set adjMat[indeks][i]
ke dalam variabel temp1.
4. Memanggil variabel anggotaNpir
untuk menampung npir[i]. 5.
Set AnggotaRNeighbor = temp1. 6.
Kemudian ubah wasVisited dari arrayList menjadi true dengan
memanggil method Search2 dengan inputan temp1, indeks.
7. Mengembalikan
AnggotaRNeighbor. setAnggotaRNeighbor
String label, Double radius
Untuk mengeset
anggotaRNeighbor ke dalam vertex.
1. Membuat variabel indeks dengan
memanggil method Search dengan parameter label.
2. Memanggil method setrNeighbors
pada vertexList[indeks] dengan inputan
hasil dari
cariRNeighborhood dengan inputan vertexList[indeks].getAnggotaRNei
ghbor, index. setRNeighborhoodStr
ing label Untuk
mengeset variable
RNeighborhood ke dalam vertex.
1. Membuat variabel indeks dengan
memanggil method Seacrh dengan parameter label.
2. Memanggil
method setAnggotaRNeighbors
pada vertexList[indeks] dengan inputan
hasil dari
cariAnggotaRNeighborhood dengan parameter indeks dan radius.
setNpir Untuk
mengeset npir.
1. Membuat variabel x.
2. Selama i = 0 dan i tidak lebih dari
jumlah baris adjMat, jika j = 0 dan j
tidak lebih dari jumlah barus vertexList, maka akan di cek apakah
adjmat[i][j] tidak kurang dari sama dengan radius, jika ya maka x = x +
1. Mengeset rneighbors[i][j] = j. 3.
Mengeset npir[i] = x; 4.
Mengesey nilai x = 0; tampilRNeighbor
Untuk menampilkan anggota npir dan
npi, r 1.
Membuat variabel rn. 2.
Selama i = 0 dan i tidak lebih dari jumlah barus adjMat, dan jika j = 0
dan j tidak lebih dari jumlah baris j, cek apakah adjMat[i][j] tidak lebih
dari sama dengan radius, jika ya maka rn = rn + 1 dan menampilkan
anggota npir dengan memanggil adjMat[i][j].
3. Menampilkan
npi,r dengan
memanggil atribut rn. 4.
Mengeset niali rn = 0; cariARNeighborhood
Double radius, int indeks
Untuk mencari
anggota ARneighbor.
1. Membuat ArrayList dengan nama a.
2. Selama i = 0 dan i kurang dari
jumlah baris vertexList, cek apakah adjMat[indeks][i]
= -1,
dan adjMat[indeks][i] = 0, lalu cek
apakah adjMat[indeks[i] kurang dari sama dengan alpha radius.
Jika ya
maka tambahkan
vertexList[i] ke dalam array a. 3.
Mengembalikan a.
cariAnggotaARNeigh borint indeks, Double
radius Untuk
mencari anggota
ARneighbor. 1.
Set semua wasVisited dari semua obyek vertex menjadi false.
2. Membuat
variabel AnggotaARNeighbor
bertipe Double, temp2 bertipe Double, dan
anggotaNpar yang bertipe int. 3.
Selama i = 0 dan i tidak lebih dari jumlah
baris vertexList,
dan adjMAt[indeks][i]
= -1
dan wasVisited == false, jika ya maka
cek apakah
adjMat[indeks][i] kurang dari sama dengan alpha
radius, jika
ya maka
set adjMat[indeks][i] ke dalam variabel
temp2. 4.
Memanggil variabel anggotaNpar untuk menampung npar[i].
5. Set AnggotaARNeighbor = temp2.
6. Kemudian ubah wasVisited dari
arrayList menjadi true dengan memanggil method Search2 dengan
inputan temp2, indeks. 7.
Mengembalikan AnggotaARNeighbor.
setAnggotaARNeighb orString label, Double
radius Untuk
mengeset anggotaARNeighbor
ke dalam vertex. 1.
Membuat variabel indeks dengan memanggil method Seacrh dengan
parameter label. 2.
Memanggil method setrNeighbors pada vertexList[indeks] dengan
inputan hasil
dari cariARNeighborhood
dengan
inputan vertexList[indeks].getAnggotaAR
Neighbor, index. setARNeighborhood
String label Untuk
mengeset variable
ARNeighborhood ke dalam vertex.
1. Membuat variabel indeks dengan
memanggil method Search dengan parameter label.
2. Memanggil
method setAnggotaARNeighbors
pada vertexList[indeks] dengan inputan
hasil dari
cariAnggotaARNeighborhood dengan parameter indeks dan
radius. setNpar
Untuk mengeset
npar. 1.
Membuat variabel x. 2.
Selama i = 0 dan i tidak lebih dari jumlah baris adjMat, jika j = 0 dan j
tidak lebih dari jumlah barus vertexList, maka akan di cek apakah
adjmat[i][j] tidak kurang dari sama dengan alpha radius jika ya maka
x =
x +
1. Mengeset
arneighbors[i][j] = j. 3.
Mengeset npar[i] = x; 4.
Mengesey nilai x = 0; tampilARNeighbor
Untuk menampilkan anggota npar dan
npa, r 1.
Membuat variabel arn. 2.
Selama i = 0 dan i tidak lebih dari jumlah barus adjMat, dan jika j = 0
dan j tidak lebih dari jumlah baris j, cek apakah adjMat[i][j] tidak lebih
dari sama dengan radius, jika ya
maka arn = arn + 1 dan menampilkan anggota npar dengan
memanggil adjMat[i][j]. 3.
Menampilkan npa,r
dengan memanggil atribut arn.
4. Mengeset niali arn = 0;
setJumlahAnggota Untuk
mengeset jumlah anggota.
1. Membuat variabel x dan y dengan
tipe int. 2.
Selama i = 0 dan i kurang dari jumlah baris adjMat, dan selama j =
0 dan j kurang dari jumlah baris vertexList, jika ya maka cek apakah
adjMat[i][j] kurang dari sama dengan radius, jika ya x = x + 1 dan
set rneighbors[i][j] = j. 3.
Jika tidak set rneighbors[i][j] = max.
4. Cek apakah adjmat[i][j] kurang dari
sama dengan alpha radius, jika ya maka y = y + 1 dan set
arneighbors[i][j] = j. 5.
Set npir[i] = x. 6.
Set npar[i] = y. 7.
Set nilai x = 0. 8.
Set nilai y = 0. cariLoci
Untuk mencari
outlier
. 1.
Membuat variabel
jml_npar, jml_npar2, avgNpira, stdevNpira,
mdef, omdef, komdef dengan tipe Double.
2. Memanggil
method setJumlahAnggota.
3. Mengecek apakah rneighbor[i][j]
tidak sama dengan max. jika ya maka jml_npar = jml_npar +
npar[j]. npar[j] digunakan untuk menyimpan nilai rneighbors yang
kurang dari max. 4.
Menghitung rata-rata npar dengan rumus avgNpira = jml_npar
npir[i]. 5.
Menampilkan avgNpira dengan memanggil
hasil perhitungan
avgNpira. 6.
Mengecek apakah rneighbor[i][j] tidak sama dengan max. jika ya
maka ekseksui rumus jml_npar2 = jml_npar2 + Math.pownpar[j] -
avgNpira, 2. 7.
Menghitung standar deviasi npira dengan
memanggil rumus
stdevNpira = Math.sqrtjml_npar2 npir[i].
8. Menampilkan stdevNpira dengan
memanggil hasil
perhitungan stdevNpira.
9. Menghitung nilai mdef dengan
rumus mdef = 1 - npar[i] avgNpira.
10. Menampilkan nilai mdef dengan
memanggil hasil perhitungan mdef.
11. Mengeset
mdef kedalam
vertexList[i] dengan memanggil method setMdef.
12. Menghitung omdef dengan rumus
omdef = stdevNpira avgNpira. 13.
Menampilkan nilai omdef dengan memanggil
hasil perhitungan
omdef. 14.
Mengeset omdef
kedalam vertexList[i] dengan memanggil
method setOmdef. 15.
Menghitung komdef dengan rumus komdef = konstanta omdef.
16. Menampilkan nilai komdef dengan
memanggil hasil
perhitungan komdef.
17. Mengeset
komdef kedalam
vertexList[i] dengan memanggil method setKomdef.
18. Jika nilai mdef lebih besar dari
komdef maka
akan dianggap
sebagai outlier, jika tidak maka bukan outlier.
19. Mengeset jml_npar = 0.0;
20. Mengeset jml_npar2 = 0.0;
21. Mengeset nilai mdef = 0.0.
22. Mengeset nilai omdef = 0.0.
23. Mengeset nilai komdef = 0.0.
setDataLociString label
Untuk mengeset
tabel HasilDeteksiOutlier
1. Membuat ArrayList dengan nama
dlc yang bertipe ListDataLoci.
agar hasil deteksi outlier
dapat di
tampilkan ke dalam tabel.
2. Membuat atribut dl dengan tipe
DataLoci. 3.
Mengecek apakah nilai Mdef lebih besar dari nilai Komdef dengan cara
memanggil method getMdef dan getKomdef.
4. Jika ya, membuat obyek baru
dengan nama dl untuk mengeset label, mdef, dan komdef dengan
memanggil method
getLabel, getMdef, dan getKomdef.
5. Menambahkan obyek dl kedalam
ListDataLoci. 6.
Membuat obyek
dari LociTabelModel dengan nama ltm.
7. Mengembalikan ltm.
4. Rincian