• Tidak ada hasil yang ditemukan

Pada penelitian ini, dilakukan deteksi outlier menggunakan algoritma Block-based Nested-Loop dengan data akademik yang berasal dari gudang data data akademik mahasiswa yang berasal dari penelitian Rosa dkk (2011). Data yang awalnya dalam bentuk skrip .sql diubah ke dalam format .xls agar lebih mudah untuk diolah. Data yang akan diolah berasal dari tabel fact_lengkap2. Jumlah data yang digunakan sebanyak 13 baris. Data tersebut telah diseleksi khusus untuk mahasiswa yang memiliki sk_prodi = 27 (Prodi Teknik Informatika), angkatan 2007 dan statustes = T (jalur tes). Data yang digunakan untuk analisis tersebut adalah seperti gambar 3.2 di bawah ini

Gambar 3.2 Data mentah untuk implementasi algoritma Block-based Nested-Loop

Pada bagian ini, penjelasan mengenai langkah-langkah deteksi outlier menggunakan algoritma Block-based Nested-Loop hanya akan ditampilkan menggunakan data mahasiswa di atas pada semester satu saja. Untuk semester tiga hingga semester empat hanya akan ditampilkan hasil deteksi outliernya saja. Proses deteksi outlier menggunakan algoritma Block-based Nested-Loop adalah sebagai berikut:

1. Menentukan nilai parameter D = 2 dan M = 4 2. Mengasumsikan jumlah blok = 4

3. Membagi seluruh data ke dalam sejumlah blok. Jumlah blok = 4, maka setiap 13

4 = 3 data dan sisa 1 data. Berdsarkan perhitungan tersebut, setiap blok akan berisi 3 buah data. Perhitungan ini menyisakan 1 data yang belum masuk ke dalam sebuah blok. Sisa data dapat dimasukkan ke dalam blok yang mana saja. Dalam contoh ini, sisa data dimasukkan ke dalam blok ke-4. Dengan demikian diperoleh hasil pembagian blok yaitu blok 1, blok 2, blok 3 (masing-masing berisi 3 data) dan blok 4 (berisi 4 data)

Tabel 3.1 Data mentah dibagi ke dalam 4 blok

4. First array diisi dengan data dari blok 1.

5. Setiap data dalam first array dihitung jaraknya terhadap setiap data lainnya dalam first array menggunakan Euclidean distance dan nilainya dimasukkan pada kolom Eucliden dist.

Setiap kali jarak telah dihitung, nilai jarak langsung dibandingkan dengan nilai parameter D. Jika jarak ≤ D, maka kedua data dinyatakan sebagai

tetangga dan ditandai dengan angka 1 pada kolom Neighbor. Jika jarak > D, maka dinyatakan sebagai bukan tetangga dan ditandai dengan angka 0.

Gambar 3.3 Pengecekan tetangga pada first array antara blok 1 dan blok 1

Menurut analisis di atas, pada data mahasiswa dengan nomor 73 ditemukan tetangga sebanyak 2 buah yaitu mahasiswa dengan nomor 74 dan 75.

6. Setelah jumlah tetangga ditemukan, lalu dibandingkan dengan nilai parameter M. Jika jumlah tetangga > M maka data tersebut dinyatakan sebagai bukan outlier, jika sebaliknya maka data masih dinyatakan sebagai unmarked. Pada contoh di atas, karena diperoleh jumlah tetangga = 2 yang artinya < M, maka data masih diberi keterangan unmarked.

7. Selanjutnya, pengecekan dilakukan terhadap data lainnya dalam blok 1 yaitu mahasiswa nomor 74 dan 75 (kembali ke langkah 5).

Hasil pengecekan dalam first array (blok 1 dan blok 1) diperoleh semua data masih berstatus unmarked. Artinya, seluruh data tersebut masih dicek lagi dalam pengecekan berikutnya pada iterasi selanjutnya.

Gambar 3.4 Hasil akhir pengecekan blok 1 dan blok 1 dalam first array

Selanjutnya blok 2 dimasukkan ke second array.

8. Setiap data dalam first array yang masih unmarked, dicari tetangganya yang berada dalam second array. Jumlah tetangga yang diperoleh pada perhitungan sebelumnya akan ditambahkan ke dalam pengecekan ini.

Pada gambar di atas, terlihat bahwa mahasiswa nomor 73 mendapatkan 1 orang tetangga pada pengecekan dengan blok 2. Jumlah tetangga ini dijumlahkan dengan jumlah tetangga sebelumnya yaitu 2 orang sehingga menjadi 3 orang. Mahasiswa nomor 73 masih berstatus unmarked pada tahap ini karena jumlah tetangganya masih < M. Maka data mahasiswa ini akan dimasukkan lagi ke dalam pengecekan selanjutnya.

9. Selanjutnya, pengecekan dilakukan terhadap data lainnya dalam blok 1 yaitu mahasiswa nomor 74 dan 75 (kembali ke langkah 8).

Hasil akhir pengecekan antara blok 1 (first array) dan blok 2 (second array) diperoleh mahasiswa nomor 73, 74 dan 75 akan dimasukkan ke dalam pengecekan dengan blok selanjutnya karena masih ditandai sebagai unmarked.

Gambar 3.6 Hasil akhir pengecekan blok 1 (first array) dan blok 2 (second array)

Selanjutnya blok 3 dimasukkan ke second array.

10.Setiap data dalam first array yang masih unmarked, dicari tetangganya yang berada dalam second array. Jumlah tetangga yang diperoleh pada perhitungan sebelumnya akan ditambahkan ke dalam pengecekan ini.

Gambar 3.7 Pencarian tetangga dari data first array pada second array

Pada gambar di atas, terlihat bahwa mahasiswa nomor 73 mendapatkan 1 tetangga. Jumlah tetangga ini dijumlahkan dengan jumlah tetangga sebelumnya yaitu 3 orang sehingga menjadi 4 orang. Mahasiswa nomor 73 masih berstatus unmarked pada tahap ini karena jumlah tetangganya masih kurang dari M. Maka data mahasiswa ini akan dimasukkan lagi ke dalam pengecekan selanjutnya.

11.Selanjutnya, pengecekan dilakukan terhadap data lainnya dalam blok 1 yaitu mahasiswa nomor 74 dan 75 (kembali ke langkah 10).

Hasil akhir pengecekan antara blok 1 (first array) dan blok 3 (second array) diperoleh 2 data yang ditandai sebagai bukan outlier yaitu mahasiswa dengan nomor 74 dan 75. Ketika mahasiswa 74 dicek dengan mahasiswa nomor 80, jumlah tetangga mahasiswa nomor 74 telah mencapai M > 4. Jumlah tetangga

mahasiswa nomor 74 adalah 4 dari pengecekan sebelumnya dan ditambah 1 pada tahap ini sehingga menjadi 5 orang. Data yang diberi label biru menunjukkan data yang tidak ikut serta ditambahkan sebagai tetangga mahasiswa nomor 74 karena pengecekan berhenti saat M > 4. Kedua data ini tidak akan disertakan lagi dalam pengecekan berikutnya pada iterasi selanjutnya.

Gambar 3.8 Hasil akhir pengecekan blok 1 (first array) dan blok 3 (second array)

Selanjutnya blok 4 dimasukkan ke dalam second array.

12.Setiap data dalam first array yang masih unmarked, dicari tetangganya yang berada dalam second array. Jumlah tetangga yang diperoleh pada perhitungan sebelumnya akan ditambahkan ke dalam pengecekan ini.

Gambar 3.9 Hasil akhir pengecekan blok 1 (first array) dan blok 4 (second array)

Hasil akhir pengecekan antara blok 1 (first array) dan blok 4 (second array) diperoleh data mahasiswa 73 yang ditandai sebagai bukan outlier yaitu. Ketika mahasiswa 73 dicek dengan mahasiswa nomor 83, jumlah tetangga mahasiswa nomor 73 telah mencapai M > 4. Jumlah tetangga mahasiswa nomor 73 adalah 4 dari pengecekan sebelumnya dan ditambah 1 pada tahap ini sehingga menjadi 5 orang. Data yang diberi label biru menunjukkan data yang tidak ikut serta ditambahkan sebagai tetangga mahasiswa nomor 73 karena pengecekan berhenti saat M > 4. Karena seluruh data dalam blok 1 telah dicek dengan seluruh blok lainnya maka iterasi pegecekan outlier untuk data dalam blok 1 telah selesai.

13. Jika blok yang berada dalam second array belum pernah menjadi first array, tukarkan isi kedua array tersebut dan proses pengecekan berjalan kembali seperti pada langkah ke-4. Jika blok yang berada pada second array sudah pernah menjadi first array, proses deteksi outlier dihentikan.

Urutan pengecekan data pada kasus di atas adalah sebagai berikut:

1. Blok 1 dan Blok 1, kemudian dengan Blok 2, Blok 3, Blok 4 total ada 4 blok yang dibaca

2. Blok 4 dan Blok 4 (tidak perlu dibaca, sudah berada dalam array), kemudian dengan Blok 1 (tidak perlu dibaca, sudah berada dalam array), Blok 2, dan Blok 3

total ada 2 blok yang dibaca

3. Blok 3 dan Blok 3, kemudian dengan Blok 4, Blok 1, dan Blok 2 total ada 2 blok yang dibaca

4. Blok 2 dan Blok 2, kemudian dengan Blok 3, Blok 4, Blok 1 total ada 2 blok yang dibaca

34

Bab 4

ANALISIS DAN PERANCANGAN SISTEM

Dokumen terkait