• Tidak ada hasil yang ditemukan

BAB VII PENUTUP

LAMPIRAN 7 Algoritma Per Method

LAMPIRAN 7 : Algoritma Per Method

Tabel 4. 2 Rincian Algoritma per Method Kelas controlECODB

Nama Method Fungsi Method Algoritma Method

distance(ArrayList<Data> data)

Menyimpan jarak antar sekolah

1. Membuat array 2 dimensi bertipe Jarak dengan nama hasil, kemudian menentukan jumlah baris sebanyak jumlah data dan jumlah kolom sebanyak jumlah data.

2. Kemudian menghitung jarak antar sekolah dan disimpan ke dalam array 2 dimensi hasil.

3. Mengembalikan array 2 dimensi hasil. tetanggaterdekat(Jarak[][]

jaraksekolah,int k)

Menyimpan jarak sekolah terdekat

1. Membuat array 2 dimensi bertipe Jarak dengan nama hasil, kemudian menentukan jumlah baris sebanyak jumlah baris dari jaraksekolah dan jumlah kolom sebanyak k.

2. Untuk setiap baris dari jaraksekolah, mengambil isi per baris dari jaraksekolah dan disimpan di dalam array tampung yang bertipe Jarak. 3. Mengurutkan isi array tampung.

4. Kemudian top k dari array tampung disimpan dalam array 2 dimensi hasil.

97 pcl(Jarak[][] tetangga,

ArrayList<Data> data)

Menentukan pcl setiap

instance T

1. Membuat objek dari ArrayList<HasilECODB> dengan nama hasil. 2. Untuk setiap instance T pada data, hitung jumlah instance pada tetangga

yang memiliki akreditasi yang sama dengan instance T pada data. 3. Kemudian hitung nilai PCL (Probability of Class Label) dengan

membagi jumlah instance yang memiliki kelas sama dengan jumlah tetangga.

4. Kemudian simpan hasil perhitungan PCL ke dalam objek hasil. 5. Kemudian mengembalikan objek hasil.

deviation(Jarak[][] jaraksekolah,

ArrayList<HasilECODB> data, ArrayList<Data> dt)

Menentukan nilai deviation untuk setiap

instance T

1. Untuk setiap instance T pada dt, cek apakah instance T pada dt memiliki kelas label yang sama dengan instance pada matriks jaraksekolah.

2. Jika iya maka menjumlahkan nilai jaraksekolah.

3. Kemudian menyimpan hasil penjumlahan ke dalam ArrayList data. 4. Kemudian mengembalikan ArrayList data.

Kdist(Jarak[][] tetangga, ArrayList<HasilECODB> data, ArrayList<Data> dt)

Menentukan nilai kdist untuk setiap instance T

1. Untuk setiap instance T pada dt, jumlahkan nilai jaraksekolah setiap instance pada matriks tetangga.

2. Kemudian menyimpan hasil penjumlahan ke ArrayList data. 3. Kemudian mengembalikan ArrayList data.

normalisasi(double [] data)

Menormalisasi setiap nilai pada instance T

1. Menentukan nilai max pada data. 2. Menentukan nilai min pada data.

98

3. Kemudian normalisasi setiap instance T pada data dengan rumus instance T dikurangi nilai min dibagi max kurang min.

4. Kemudian mengembalikan data. cof(ArrayList

<HasilECODB> data, int k)

Menentukan nilai cof (class outlier factor) untuk setiap instance T

1. Membuat variabel bertipe double dengan nama cof.

2. Untuk setiap instance T pada data hitung nilai cof dengan rumus 2.5 3. Kemudian simpan nilai cof pada ArrayList cof.

4. Kemudian mengembalikan ArrayList data. getOutliers(int k, int n,

ArrayList<Data> data)

Mendapatkan outliers dari data.

1. Menentukan jarak antar sekolah dengan membuat array 2 dimensi bertipe Jarak dengan nama jarak sekolah, isi array 2 dimensi jarak sekolah dengan memanggil method distance dan isi parameter dengan ArrayList data.

2. Menentukan jarak antar sekolah terdekat dengan membuat array 2 dimensi bertipe Jarak dengan nama tetangga, kemudian isi array 2 dimensi tetangga dengan memanggil method tetanggaTerdekat dan isi parameter dengan array 2 dimensi jaraksekolah dan k.

3. Membuat ArrayList bertipe HasilECODB dengan nama dt.

4. Kemudian isi ArrayList dt dengan probability of class label dengan memanggil method pcl dan isi parameter dengan array 2 dimensi tetangga dan ArrayList data.

99

5. Kemudian mengurutkan ArrayList dt berdasarkan probability of class label.

6. Membuat ArrayList bertipe HasilECODB dengan nama topN. 7. Kemudian isi ArrayList topN dengan n terkecil dari ArrayList dt.

8. Kemudian isi deviation pada ArrayList topN dengan memanggil method deviation dan isi parameter dengan array 2 dimensi jaraksekolah,

ArrayList topN dan ArrayList data.

9. Kemudian isi kdist pada ArrayList topN dengan memanggil method kdist dan isi parameter dengan array 2 dimensi tetangga, ArrayList topN dan ArrayList data.

10.Membuat array normdev bertipe double kemudian isi dengan deviation

dari ArrayList topN.

11.Membuat array normdist bertipe double kemudian isi dengan kdist dari ArrayList topN.

12.Kemudian normalisasi normdist dengan memanggil method normalisasi dan isi parameter dengan normdist.

13.Kemudian normalisasi normdev dengan memanggil method normalisasi dan isi parameter dengan normdev.

100

dengan normdev dan normkdist.

15.Kemudian isi class outlier factor pada ArrayList topN dengan memanggil method cof dan isi parameter ArrayList topN dan k.

16.Kemudian mengurutkan ArrayList topN berdasarkan nilai class outlier factor.

17.Kemudian mengembalikan ArrayList topN. search(ArrayList<Data>

data, String kodeSkl)

Mencari indeks dari data yang dicari.

1. Untuk setiap instance T pada data, cek apakah kodeSkl pada instance T data sama dengan kodeSkl yang dicari.

2. Jika iya maka akan mengembalikan indeks dari instance T pada data. 3. Jika tidak maka akan mengembalikan -1.

Tabel 4. 3 Rincian Algoritma per Method Kelas controlExcel

Nama Method Fungsi Method Algoritma Method

bacaExcel(String path) Menyimpan isi dari file .xls ke dalam ArrayList bertipe Data

1. Membuat ArrayList bertipe Data dengan nama data.

2. Membuat objek w bertipe Workbook kemudian panggil method

getWorkbook dan isi parameter dengan file .xls yang akan diolah yaitu menggunakan atribut path.

3. Membuat objek s1 bertipe Sheet yaitu untuk menentukan sheet yang akan diolah pada file .xls.

101

4. Kemudian untuk setiap baris objek s1 simpan isi pada setiap barisnya ke dalam ArrayList data.

5. Kemudian mengembalikan ArrayList data. header(String path) Menyimpan header atau

label kolom dari file .xls ke dalam ArrayList

1. Membuat ArrayList dengan nama namakolom.

2. Membuat objek w bertipe Workbook kemudian panggil method

getWorkbook dan isi parameter dengan file .xls yang akan diolah yaitu menggunakan atribut path.

3. Membuat objek s1 bertipe Sheet yaitu untuk menentukan sheet yang akan diolah pada file .xls.

4. Untuk setiap kolom simpan label kolom ke dalam ArrayList namakolom. 5. Mengembalikan ArrayList namakolom.

simpanExcel(String path, ArrayList<HasilECODB> data, ArrayList header)

Menyimpan ArrayList bertipe HasilECODB ke dalam file .xls pada direktori tertentu.

1. Membuat objek bertipe File dengan nama file kemudian isi constructor

dengan path.

2. Membuat objek bertipe WorkbookSettings dengan nama wbsettings. 3. Kemudian memanggil method setLocale dari objek wbsettings. 4. Membuat objek bertipe WritableWorbook dengan nama workbook. 5. Objek workbook sama dengan memanggil method createWorkbook dan

isi parameter dengan objek file dan wbsettings untuk menentukan direktori penyimpanan file .xls yang akan dibuat.

102

6. Kemudian memanggil method createSheet dari objek workbook untuk membuat sheet.

7. Membuat objek bertipe WritableSheet dengan nama excelSheet untuk menentukan sheet yang akan dibuat dengan memanggil method getSheet dari objek workbook.

8. Kemudian memanggil method createLabel dan isi parameter dengan objek excelSheet dan ArrayList header.

9. Kemudian memanggil method createContent dan isi parameter dengan objek excelSheet dan ArrayList data.

10.Kemudian memanggil method write dari objek workbook. 11.Kemudian memanggil method close dari objek workbook. createLabel(

WritableSheet, ArrayList header)

Membuat header pada file .xls yang akan dibuat.

1. Membuat objek dari WritableFont dengan nama times10pt, kemudian isi

constructor dengan jenis font dan ukuran font.

2. Mengisi constructor dari objek times dengan objek times10pt.

3. Memanggil method setWrap dari objek times dan isi parameter dengan

boolean true.

4. Membuat objek dari WritableFont dengan nama times10ptboldunderline,

kemudian isi constructor dengan jenis font dan ukuran font, bold dan bergaris bawah.

103

5. Kemudian isi constructor dari objek timesBoldUnderline dengan objek

times10ptboldunderline.

6. Kemudian memanggil method setWrap dari objek timesBoldUnderline dan isi parameter dengan boolean true.

7. Membuat objek dari CellView dengan nama cv.

8. Kemudian memanggil method setFormat dari objek cv dan isi parameter dengan objek times.

9. Kemudian memanggil method setFormat dari objek cv dan isi parameter dengan objek timesBoldUnderline.

10.Kemudian memanggil method setAutosize dari objek cv dan isi parameter dengan boolean true.

11.Kemudian untuk setiap value pada ArrayList header memanggil method addCaption dan isi parameter dengan objek sheet, kolom, baris dan label kolom dari ArrayList header.

createContent( WritableSheet sheet, ArrayList<HasilECODB> data)

Mengisi file .xls dengan ArrayList data.

1. Untuk setiap value pada ArrayList data, memanggil method addLabel dan isi parameter dengan objek sheet, kolom, baris dan label dari ArrayList data untuk label berupa kategorikal, memanggil method addNumber dan isi parameter dengan objek sheet, kolom, baris dan label dari ArrayList data untuk label berupa numerik.

104 addCaption(

WritableSheet sheet, int column, int row, String s)

Membuat label berupa kategorikal dengan jenis font bold dan bergaris bawah.

1. Membuat objek bertipe Label dengan nama label, kemudian isi

constructor dengan column, row, s, dan objek timesBoldUnderline. 2. Kemudian memanggil method addCell() dari objek dan isi parameter

dengan objek label. addNumber(

WritableSheet sheet, int column, int row, Double isi)

Membuat label berupa numerik.

1. Membuat objek bertipe Number dengan nama number, kemudian isi

constructor dengan column, row, isi, dan objek times.

2. Kemudian memanggil method addCell() dari objek dan isi parameter dengan objek number.

addLabel(

WritableSheet sheet, int column, int row, String s)

Membuat label berupa kategorikal.

1. Membuat objek bertipe Label dengan nama label, kemudian isi

constructor dengan column, row, s, dan objek times.

2. Kemudian memanggil method addCell() dari objek dan isi parameter dengan objek label.

Tabel 4. 4 Rincian Algoritma per Method Kelas DataModel

Nama Method Fungsi Method Algoritma Method

getRowCount() Mendapatkan jumlah baris dari tabel.

1. Mengembalikan jumlah baris yaitu dari jumlah ArrayList data.

getColumnCount() Mendapatkan jumlah kolom dari tabel.

105 getValueAt(int rowIndex,

int column Index)

Mendapatkan value pada baris dan kolom tertentu.

1. Membuat objek bertipe Data dengan nama dt.

2. Objek dt sama dengan ArrayList data index ke rowIndex.

3. Kemudian masuk ke dalam percabangan switch case, dengan switch

menggunakan columnIndex.

4. Ketika kondisi columnIndex sama dengan 0 maka akan mengembalikan method getKodeSkl dari objek dt.

5. Ketika kondisi columnIndex sama dengan 1 maka akan mengembalikan method getNmSkl dari objek dt.

6. Ketika kondisi columnIndex sama dengan 2 maka akan mengembalikan method getNilai1 dari objek dt.

7. Ketika kondisi columnIndex sama dengan 3 maka akan mengembalikan method getNilai2 dari objek dt.

8. Ketika kondisi columnIndex sama dengan 4 maka akan mengembalikan method getNilai3 dari objek dt.

9. Ketika kondisi columnIndex sama dengan 5 maka akan mengembalikan method getNilai4 dari objek dt.

10.Ketika kondisi columnIndex sama dengan 6 maka akan mengembalikan method getNilai5 dari objek dt.

106

method getNilai6 dari objek dt.

12.Ketika kondisi columnIndex sama dengan 8 maka akan mengembalikan method getIiun dari objek dt.

13.Ketika kondisi columnIndex sama dengan 9 maka akan mengembalikan method getAkreditasi dari objek dt.

getColumnName(int column)

Mendapatkan label kolom dari tabel.

1. Masuk ke dalam percabangan swith case, dengan switch menggunakan column.

2. Ketika kondisi column sama dengan 0 maka akan mengembalikan ArrayList header index ke 0.

3. Ketika kondisi column sama dengan 1 maka akan mengembalikan ArrayList header index ke 1.

4. Ketika kondisi column sama dengan 2 maka akan mengembalikan ArrayList header index ke 2.

5. Ketika kondisi column sama dengan 3 maka akan mengembalikan ArrayList header index ke 3.

6. Ketika kondisi column sama dengan 4 maka akan mengembalikan ArrayList header index ke 4.

7. Ketika kondisi column sama dengan 5 maka akan mengembalikan ArrayList header index ke 5.

107

8. Ketika kondisi column sama dengan 6 maka akan mengembalikan ArrayList header index ke 6.

9. Ketika kondisi column sama dengan 7 maka akan mengembalikan ArrayList header index ke 7.

10.Ketika kondisi column sama dengan 8 maka akan mengembalikan ArrayList header index ke 8.

11.Ketika kondisi column sama dengan 9 maka akan mengembalikan ArrayList header index ke 9.

Tabel 4. 5 Rincian Algoritma per Method Kelas HasilECODBModel

Nama Method Fungsi Method Algoritma Method

getRowCount() Mendapatkan jumlah baris dari tabel.

1. Mengembalikan jumlah baris yaitu dari jumlah ArrayList data.

getColumnCount() Mendapatkan jumlah kolom dari tabel.

1. Mengembalikan jumlah kolom.

getValueAt(int rowIndex, int column Index)

Mendapatkan value pada baris dan kolom tertentu.

1. Membuat objek bertipe HasilECODB dengan nama dt. 2. Objek dt sama dengan ArrayList data index ke rowIndex.

3. Kemudian masuk ke dalam percabangan switch case, dengan switch

108

4. Ketika kondisi columnIndex sama dengan 0 maka akan mengembalikan method getKodeSkl dari objek dt.

5. Ketika kondisi columnIndex sama dengan 1 maka akan mengembalikan method getNmSkl dari objek dt.

6. Ketika kondisi columnIndex sama dengan 2 maka akan mengembalikan method getNilai1 dari objek dt.

7. Ketika kondisi columnIndex sama dengan 3 maka akan mengembalikan method getNilai2 dari objek dt.

8. Ketika kondisi columnIndex sama dengan 4 maka akan mengembalikan method getNilai3 dari objek dt.

9. Ketika kondisi columnIndex sama dengan 5 maka akan mengembalikan method getNilai4 dari objek dt.

10.Ketika kondisi columnIndex sama dengan 6 maka akan mengembalikan method getNilai5 dari objek dt.

11.Ketika kondisi columnIndex sama dengan 7 maka akan mengembalikan method getNilai6 dari objek dt.

12.Ketika kondisi columnIndex sama dengan 8 maka akan mengembalikan method getIiun dari objek dt.

109

method getAkreditasi dari objek dt.

14.Ketika kondisi columnIndex sama dengan 10 maka akan mengembalikan method getCOF dari objek dt.

getColumnName(int column)

Mendapatkan label kolom dari tabel.

1. Masuk ke dalam percabangan swith case, dengan switch menggunakan column.

2. Ketika kondisi column sama dengan 0 maka akan mengembalikan ArrayList header index ke 0.

3. Ketika kondisi column sama dengan 1 maka akan mengembalikan ArrayList header index ke 1.

4. Ketika kondisi column sama dengan 2 maka akan mengembalikan ArrayList header index ke 2.

5. Ketika kondisi column sama dengan 3 maka akan mengembalikan ArrayList header index ke 3.

6. Ketika kondisi column sama dengan 4 maka akan mengembalikan ArrayList header index ke 4.

7. Ketika kondisi column sama dengan 5 maka akan mengembalikan ArrayList header index ke 5.

8. Ketika kondisi column sama dengan 6 maka akan mengembalikan ArrayList header index ke 6.

110

9. Ketika kondisi column sama dengan 7 maka akan mengembalikan ArrayList header index ke 7.

10.Ketika kondisi column sama dengan 8 maka akan mengembalikan ArrayList header index ke 8.

11.Ketika kondisi column sama dengan 9 maka akan mengembalikan ArrayList header index ke 9.

12.Ketika kondisi column sama dengan 10 maka akan mengembalikan “COF”.

111

Dokumen terkait