19
Bab 3 METODE PENELITIAN
Bab ini berisi penjelasan mengenai langkah atau metode yang dilakukan untuk menyelesaikan masalah dalam penelitian ini. Langkah penyelesaian
masalah tersebut meliputi data yang digunakan dalam penelitian, cara mengolah data dan contoh implementasi algoritma Block-based Nested-Loop. Hal-hal
tersebut akan diuraikan dalam tiga sub bab di bawah ini.
3.1 Data
Pada penelitian ini data yang digunakan adalah data akademik mahasiswa Universitas Sanata Dharma Prodi Teknik Informatika Angkatan 2007 dan 2008.
Data ini diperoleh dari gudang data akademik mahasiswa hasil penelitian Rosa dkk 2011. Data diperoleh dalam bentuk skrip .sql. Dari skrip tersebut, data yang
digunakan dalam penelitian ini adalah data nilai hasil seleksi masuk mahasiswa jalur tes dan jalur prestasi dan nilai indeks prestasi semester IPS pada
semester satu sampai semester empat. Total data akademik yang digunakan dalam penelitian ini sebanyak 126 buah.
3.2 Pengolahan Data
Pengolahan data akademik dalam penelitian ini meliputi beberapa langkah yaitu :
3.2.1 Pemrosesan Awal Data
Data mentah yang digunakan dalam penelitian ini dalam bentuk skrip .sql. Sebelum mengolah data yang ada dalam skrip tersebut, skrip dijalankan terlebih
dahulu menggunakan SQLyog. Hasil yang diperoleh yaitu terdapat gudang data dengan nama data_mahasiswa dan di dalamnya terdapat beberapa tabel yaitu
dim_angkatan, dim_daftarsmu, dim_fakultas, dim_jeniskel, dim_kabupaten, dim_prodi, dim_prodifaks, dim_statustes dan fact_lengkap2. Setelah semua tabel
berhasil dibuat, proses pengolahan data dilanjutkan ke seleksi data.
Gambar 3.1 Gudang data ‘data_mahasiswa’ 3.2.2
Seleksi Data
Pada tahap ini dilakukan seleksi terhadap data yang relevan dengan penelitian. Berdasarkan data yang diperoleh, data yang akan dipakai adalah
kolom ips1, ips2, ips3, ips4, ips4, nil11, nil12, nil13, nil14, nil15 dan final. Kolom-kolom tersebut seluruhnya berada pada tabel fact_lengkap2. Kolom-
kolom tersebut kemudian diseleksi lagi barisnya yaitu diambil hanya baris
dengan sk_prodi = 27. Baris dengan sk_prodi = 27 merupakan data mahasiswa yang berasal dari Prodi Teknik Informatika. Data ini yang dipilih karena dapat
digunakan sebagai variabel numerik untuk mendeteksi outlier dan sesuai untuk mencapai tujuan penelitian.
3.2.3 Transformasi Data
Data yang telah diseleksi masih berupa data yang belum tepat untuk ditambang. Data tersebut belum tepat ditambang karena masih terdapat
perbedaan rentang nilai antara atribut nilai final, nilai tes masuk dan ips. Nilai final memiliki rentang nilai antara 0-100. Nilai tes masuk memiliki rentang nilai
antara 0-10. Ips memiliki rentang nilai antara 0-4. Perbedaan rentang nilai ini akan disamakan melalui proses transformasi data.
Transformasi data dilakukan dengan menggunakan metode normalisasi. Metode normalisasi dilakukan dengan cara membuat skala pada data atribut.
Salah satu jenis metode normalisasi yaitu min-max normalization Han Kamber, 2006.
Min-max normalization didefinisikan sebagai berikut :
di mana v = nilai awal, min
A
= nilai minimum atribut A sebelum normalisasi, max
A
= nilai maksimum atribut A sebelum normalisasi, new_max
A
= nilai 3.1
maksimum atribut A setelah normalisasi dan new_min
A
= nilai minimum atribut A setelah normalisasi.
Penelitian ini menggunakan data berupa nilai tes masuk, nilai final dan ips. Range data nilai tes masuk dan data nilai final disamakan dengan range data
ips. Contoh normalisasi data nilai final adalah sebagai berikut. Diketahui nilai final awal v = 77.10, nilai minimum awal min
A
= 0, nilai maksimum awal max
A
= 100, nilai minimum baru new_min
A
= 0 dan nilai maksimum baru new_min
A
= 4, maka nilai final setelah normalisasi
v’ =
77.10 −0
100 −0
4 − 0 + 0 = 3.08 Contoh normalisasi data nilai tes masuk adalah sebagai berikut. Diketahui nilai
tes awal v = 8.00, nilai minimum awal min
A
= 0, nilai maksimum awal max
A
= 10, nilai minimum baru new_min
A
= 0 dan nilai maksimum baru new_min
A
= 4, maka nilai tes setelah normalisasi
v’ =
8.00 − 0
10 −0
4 − 0 + 0 = 3.20
3.2.4 Penambangan Data
Data yang telah melalui proses transformasi data selanjutnya dicari outlier
nya menggunakan algoritma deteksi outlier yaitu algoritma Block-based Nested-Loop
. Data yang diteliti akan dibatasi pada data dua tahun angkatan di Universitas Sanata Dharma yaitu tahun angkatan 2007 dan 2008. Pada tahap ini,
akan ditentukan juga variabel-variabel yang akan digunakan untuk menambang data. Variabel-variabel tersebut antara lain :
1. Input, yang terdiri dari :
a. Nilai hasil seleksi penerimaan mahasiswa baru.
Untuk mahasiswa yang mengikuti jalur tes, nilai hasil seleksi yang digunakan berasal dari lima jenis mata tes yaitu nilai penalaran
mekanik, nilai penalaran verbal, nilai hubungan ruang, nilai Bahasa Inggris dan nilai kemampuan numerik serta nilai final.
Untuk mahasiswa yang mengikuti jalur prestasi, nilai hasil seleksi yang digunakan berasal dari nilai final.
b. Nilai Indeks Prestasi Semester IPS pada semester 1 sampai
semester 4. 2.
Output, yaitu sejumlah data yang masuk ke dalam kelompok outlier, jika ada
3.2.5 Evaluasi Pola yang Ditemukan
Pada tahap ini, pengetahuan atau pola berupa outlier yang didapat dari proses deteksi outlier akan dievaluasi dengan hipotesa yang telah dibentuk
sebelumnya. Hipotesa awal mengenai mahasiswa yang masuk ke dalam kategori outlier
yaitu mahasiswa dengan data akademik khusus atau unik dilihat dari hasil seleksi masuk dan IPS setiap semester. Kesesuaian hasil deteksi outlier dengan
hipotesa awal menunjukan output yang baik dari proses penambangan data yang dilakukan.
3.2.6 Presentasi Pengetahuan
Tahap ini merupakan tahap akhir dari penelitian. Pola khusus yang dihasilkan outlier perlu ditampilkan ke dalam bentuk yang mudah dimengerti
oleh pihak yang berkepentingan. Oleh sebab itu, pada tahap ini akan dilakukan pembuatan sistem dengan antarmuka pengguna yang mudah dimengerti oleh
pihak universitas.
3.3 Contoh Implementasi Algoritma Block-based Nested-Loop
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.
Gambar 3.5 Pencarian tetangga dari data first array pada second array
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
Total ada 10 blok yang dibaca dalam pengecekan ini.
34
Bab 4 ANALISIS DAN PERANCANGAN SISTEM
4.1 Identifikasi Sistem
Universitas Sanata Dharma melakukan seleksi penerimaan mahasiswa baru setiap tahun. Seleksi penerimaan mahasiswa baru terbagi menjadi dua jalur
yaitu jalur prestasi dan jalur tes. Kedua jalur penerimaan mahasiswa baru tersebut memiliki persyaratan yang harus dipenuhi oleh calon mahasiswa. Calon
mahasiswa yang mengikuti jalur prestasi diwajibkan melampirkan nilai raport SMA saat kelas XI semester 1 dan semester 2. Untuk calon mahasiswa yang
mengikuti jalur tes, diwajibkan mengikuti tes tertulis yang terdiri dari lima jenis tes yaitu tes penalaran mekanik, tes penalaran verbal, tes hubungan ruang, tes
kemampuan numerik dan tes Bahasa Inggris. Berdasarkan nilai final untuk jalur prestasi dan nilai final serta nilai lima tes untuk jalur tes tersebut, dapat
ditentukan calon mahasiswa yang diterima menjadi mahasiswa di Universitas Sanata Dharma.
Mahasiswa di Universitas Sanata Dharma menjalani masa perkuliahan yang dibagi ke dalam beberapa semester. Setiap semester dilakukan evaluasi
untuk mengetahui tingkat pemahaman setiap mahasiswa. Tingkat pemahaman mahasiswa ditunjukkan oleh Indeks Prestasi Semester IPS. Setiap mahasiswa
memiliki IPS yang bervariasi terhadap mahasiswa lainnya. Selain itu setiap mahasiswa juga dapat memiliki IPS yang sama atau berbeda-beda di setiap
semester.