• Tidak ada hasil yang ditemukan

METODE PENELITIAN

3.8. Klasifikasi Data

3.8.1. Pemodelan Klasifikasi Data

Klasifikasi data dilakukan dengan memanfaatkan kemampuan metode back propagation pada jaringan syaraf tiruan untuk melakukan prediksi indeks prestasi. Model klasifikasi akan terdiri dari 4 bagian yakni: bagian yang melaksanakan pengelompokan, bagian yang melaksanakan pengambilan data, bagian yang melakukan prediksi, dan bagian yang melakukan penentuan apakah variabel dapat dipergunakan sebagai data prediksi. Diagram aktivitas klasifikasi data dapat dilihat pada Gambar 3.2.

Gambar 3.2 Diagram Aktivitas Klasifikasi

Pengelompokan Pengambilan Data Prediksi Penentuan Variabel Terminasi Pelatihan

3.8.2. Pengelompokan

Bagian pengelompokan memiliki 2 bagian yakni bagian yang berfungsi untuk menyusun dan melakukan pengelompokan variabel yang akan menjadi masukan pada jaringan syaraf tiruan dan bagian yang menyusun kelas data. Pengelompokan variabel memiliki sub bagian yang melakukan penyusunan kelompok dan menyimpan informasi pengelompokan ke dalam database.

Informasi penyusunan kelompok yang disimpan tersebut memiliki 3 fungsi yakni:

a. Membedakan antara pengujian dengan pengelompokan kelas yang berbeda.

b. Mendapatkan variabel yang tepat pada saat pelatihan, pengklasifikasian dan penentuan variabel.

c. Pengujian dapat dilakukan dengan menggunakan data yang memiliki karakteristik yang sama dengan data pelatihan, pengklasifikasian dan penentuan variabel.

Penyimpanan informasi pengelompokan juga dipergunakan untuk membantu menempatkan data yang berasal dari variabel yang tepat, sebagai masukan pada jaringan syaraf tiruan yang dilatih dengan variabel yang sama. Proses pengelompokan dilakukan dengan melakukan perubahan query database pada saat dilakukannya pengambilan data. Diagram aktivitas penyusunan kelompok variabel dapat dilihat pada Gambar 3.3.

30

Gambar 3.3 Diagram Aktivitas Penyusunan Kelompok Variabel

Kelas data merupakan pengelompokan nilai keluaran (indeks prestasi) dari data prediksi. Masing-masing kelas data yang disusun akan memiliki satu buah objek jaringan syaraf tiruan yang dilatih berdasarkan data masukan. Untuk memperoleh kelas dilakukan perhitungan jumlah data. Proses penyusunan kelas diawali dengan mengambil jumlah data indeks prestasi yang seragam. Untuk mendapatkan kelas, maka data akan disusun berdasarkan pengelompokan nilai indeks prestasi yang seragam tersebut dengan minimal N jumlah data. Pada penelitian [4,5,27], umumnya data keluaran disusun dalam pengelompokan yang cukup sedikit dibawah 5

Ambil data variabel

Susun query pengambilan data

Simpan query ke database

Terminasi [akhir rekod] [ambil rekod berikutnya]

buah kelas. Berdasarkan hal ini maka nilai N yang diujicobakan akan memiliki nilai 300,500 dan 700. Pemilihan jumlah ini digunakan karena jumlah data untuk pelatihan jaringan syaraf tiruan yang ada pada database sejumlah 2300, dimana dengan nilai ini akan diperoleh 7 buah kelas untuk N=300,4 buah kelas untuk N=500 dan 3 buah kelas untuk N=700. Setiap kelas memiliki informasi yakni: objek jaringan syaraf tiruan, indeks prestasi minimum, dan indeks prestasi maksimum.

Proses penyusunan kelas dimulai dengan melakukan pengelompokkan data menggunakan query pengelompokan dan pengurutan data dari yang terkecil ke yang terbesar. Hasil pengelompokan ini akan disusun ke dalam dataset dan akan diakses secara terus menerus dengan memanfaatkan perulangan. Setiap kali dilakukan pengambilan data, akan terdapat bagian yang melakukan pengecekan apakah dataset telah mencapai akhir rekod. Bila dataset telah mencapai akhir dari rekod, maka proses dinyatakan selesai. Bila dataset belum mencapai akhir rekod, maka proses akan melakukan perhitungan apakah jumlah variabel telah mencapai jumlah kelompok N. Bila jumlah pengelompokan telah mencapai nilai N atau lebih, maka dilakukan penyimpanan data kelas ke dalam database dan menolkan data penjumlahan menjadi 0 dan melakukan proses penjemputan data berikutnya dari dataset. Proses akan tetap berjalan sampai data pada dataset telah terambil seluruhnya. Diagram aktivitas penyusunan kelas dapat dilihat pada Gambar 3.4.

32

Gambar 3.4 Diagram Aktivitas Penyusunan Kelas

Ambil jumlah data berdasarkan IP

Batas pengelompokan N

set jum menjadi 0

ambil rekod tambahkan jumlah rekod jum Ambil IP max Ambil IP min Simpan Kelas set jum menjadi 0 Terminasi [akhir rekod data]

[jum>=N] [jum=0]

[jum<N] [ambil rekod data]

Hasil dari penyusunan kelas disimpan agar dapat dipergunakan pada saat melakukan pelatihan dan prediksi. Hasil penyusunan kelas dapat dilihat pada Tabel 3.2,3.3, dan 3.4:

Tabel 3.2 Penyusunan Kelas Dengan N=300 No. Ip Terkecil Ip Terbesar Jumlah

1 0 2.21 303 2 2.22 2.54 300 3 2.55 2.77 303 4 2.78 2.96 304 5 2.97 3.14 300 6 3.15 3.32 300 7 3.33 4 490

Tabel 3.3 Penyusunan Kelas Dengan N=500 No. Ip Terkecil Ip Terbesar Jumlah

1 0 2.42 501

2 2.43 2.83 503

3 2.84 3.14 506

4 3.15 4 790

Tabel 3.4 Penyusunan Kelas Dengan N=700 No. Ip Terkecil Ip Terbesar Jumlah

1 0 2.61 710

2 2.62 3.08 706

3 3.09 4 884

Jumlah pada setiap tabel menunjukkan jumlah pengelompokan data yang menentukan batas indeks prestasi terkecil dan terbesar. Jumlah yang besar pada kelas

34

terakhir menunjukkan bahwa jumlah data yang nilai indeks prestasinya berada antara rentang kelas tersebut cukup besar.

3.8.3. Pengambilan Data

Pengambilan data memiliki fungsi untuk melakukan penyusunan kelas data yang akan menjadi masukan pada data pelatihan jaringan syaraf tiruan dan melakukan pengambilan data berdasarkan pengelompokan data. Bagian pengambilan data akan mengambil informasi pengelompokan variabel yang akan digunakan dari bagian pengelompokan data, kemudian mengambil data ke database.

Bagian pengambilan data juga harus dapat membedakan pengambilan data untuk data latihan dan pengambilan data untuk data uji coba. Perbedaan pengambilan data masukan pelatihan dan data uji coba adalah penyusunan data berdasarkan kelas. Untuk data yang digunakan sebagai data masukan untuk melatih objek jaringan syaraf tiruan, bagian pengambil data melakukan penyusunan query dengan informasi dari tiap kelas sebagai batasan pemanggilan data.

Pemanggilan data sebagai data masukan uji coba tidak memerlukan batasan dari informasi kelas, sebab data yang digunakan tidak memerlukan informasi keluaran untuk melakukan prediksi, tetapi informasi keluaran akan digunakan sebagai pembanding yang akan digunakan pada bagian prediksi. Diagram aktivitas pemanggilan data dapat dilihat pada Gambar 3.5.

Gambar 3.5 Diagram Aktivitas Pemanggilan Data 3.8.4. Jaringan Syaraf Tiruan

Jaringan syaraf tiruan berfungsi untuk melakukan prediksi nilai indeks prestasi. Dengan memanfaatkan jaringan syaraf tiruan, akan ditentukan apakah suatu data dari variabel yang telah dikumpulkan dapat digunakan sebagai data untuk prediksi yang sebenarnya.

Perancangan jaringan syaraf tiruan dimulai dengan menentukan arsitektur jaringan syaraf tiruan yang akan dibuat. Dalam penelitian ini akan digunakan 1 layer

masukan, 1 layer tersembunyi, dan 1 layer keluaran. Arsitektur ini merupakan Ambil data variabel

Susun query pengambilan data

Simpan query ke database

Terminasi [akhir rekod] [ambil rekod berikutnya]

36

...(3.2) ...(3.1) arsitektur yang umum digunakan dalam aplikasi dan penelitian [25,26]. Arsitektur jaringan dapat dilihat pada Gambar 3.6.

Gambar 3.6 Arsitektur Jaringan Syaraf Tiruan

Pemilihan fungsi aktifasi menjadi bagian yang penting dalam perancangan jaringan syaraf tiruan. Fungsi aktifasi untuk back propagation seharusnya memiliki karakteristik penting yakni: memiliki fungsi kontinu, derivatif dan bukan merupakan fungsi penurunan linier [29]. Peneliti memilih memanfaatkan fungsi sigmoid, karena fungsi sigmoid ini memenuhi karateristik yang disebutkan diatas, untuk menentukan aktifasi dari neuron. Fungsi sigmoid didefenisikan sebagai berikut

Dan fungsi derivatifnya adalah:

Agar jaringan syaraf tiruan dapat dipergunakan dalam prediksi, terlebih dahulu setiap neuron harus diberikan bobot. Pelatihan jaringan syaraf dimaksudkan untuk memberikan bobot tersebut yang akan dilakukan dengan menggunakan metode

back propagation. Algoritma pembelajaran dengan metode back propagation sesuai dengan algoritma yang telah dipaparkan pada Bab 2.4.

Dalam perancangan jaringan syaraf tiruan, jumlah neuron pada lapisan tersembunyi juga memiliki fungsi yang sangat berpengaruh. Jumlah neuron akan memberikan pengaruh pada kestabilan jaringan dan kestabilan perbandingan antara masukan dan keluaran [31]. Semakin banyak jumlah lapisan tersembunyi maka nilai bobot masing-masing neuron akan semakin kecil [31]. Jumlah lapisan tersembunyi ini juga memiliki pengaruh terhadap cepat lambatnya proses pelatihan dan prediksi dengan memanfaatkan jaringan syaraf tiruan tersebut. Semakin banyak jumlah lapisan tersembunyi maka semakin lama waktu yang diperlukan jaringan syaraf tiruan untuk melakukan pelatihan dan prediksi.

Penentuan jumlah neuron juga akan membantu mengoptimalkan waktu yang diperlukan untuk pelatihan dan prediksi dan juga membantu menurunkan tingkat kesalahan prediksi. Untuk menemukan jumlah hidden neuron yang tepat, akan digunakan algoritma sebagai berikut:

a. Melakukan pengambilan data masukan dan keluaran.

b. Melakukan pelatihan jaringan dengan jumlah neuron sebanyak n, untuk no=1.

38

c. Ambil nilai error, simpan ke dalam array E(t) dimana t adalah jumlah iterasi saat ini.

d. Jika nilai |E(t)-E(t-1)| lebih besar dari 0.05, maka akan dilakukan pelatihan dengan nilai iterasi selanjutnya. Nilai 0.05 diambil untuk membatasi bahwa perubahan jaringan sudah stabil sehingga tidak akan terjadi perubahan yang signifikan jika dilakukan pelatihan selanjutnya. e. Jika nilai |E(t) - E(t-1)| lebih kecil dari 0.05, maka akan dilakukan

pengecekan apakah E(t) lebih kecil dari nilai error rate yang diberikan, jika lebih kecil, maka pelatihan dihentikan dan akan dilanjutkan dengan update status data variabel.

f. Bila nilai E(t) lebih besar dari error rate, maka akan dilakukan penambahan jumlah neuron pada lapisan tersembunyi dengan jumlah n=n+1 dan proses akan diulang kembali mulai dari langkah ke-2.

g. Bila jumlah n telah sama dengan jumlah masukan, maka pelatihan akan dihentikan, sesuai dengan penelitian yang dilakukan oleh [28,29] bahwa jumlah neuron yang optimum yang digunakan adalah jumlah antara jumlah keluaran yang diharapkan dan jumlah masukan yang diberikan pada jaringan syaraf tiruan yang dibentuk.

Diagram aktivitas dari penentuan jumlah neuron pada lapisan tersembunyi digambarkan pada Gambar 3.7.

Gambar 3.7 Diagram Aktivitas Penentuan Jumlah Neuron

Jumlah neuron n=1

Susun jaringan syaraf tiruan dengan n

neuron

Latih Jaringan

simpan nilai error (E(t)) Ambil data masukan

dan keluaran

n++

Update status variabel tidak dapat digunakan Update status

variabel dapat digunakan

[|E(t)> error rate?] [|E(t) -E(t-1)| >0.05]

[|E(t)< error rate]

[n > j umlah input] [n < jumlah input]

40

Proses pelatihan ini akan menghasilkan sebuah network yang akan dipergunakan sebagai klasifikasi. Untuk melakukan penyeleksian data variabel, maka jaringan yang sudah dilatih akan disimpan dalam bentuk berkas. Berkas ini kemudian dapat dipergunakan untuk melakukan prediksi terhadap variabel yang telah dipersiapkan pada bagian klasifikasi. Proses pelatihan dilakukan untuk setiap kombinasi variabel data dan kombinasi kelas. Untuk setiap kombinasi, objek data akan disimpan dalam satu berkas. Variabel yang tidak memenuhi pada proses seleksi pertama ini tidak akan digunakan pada tahap selanjutnya.

Setiap hasil akhir proses penentuan jumlah neuron akan disimpan ke dalam tabel sehingga informasi bahwa data variabel dapat digunakan atau tidak dapat diketahui. Spesifikasi tabel disusun seperti pada Tabel 3.5.

Tabel 3.5 Spesifikasi Tabel Daftar Hasil Pelatihan

Nama Kolom Tipe Data Keterangan

preTrainId int(20) unsigned Id Primer

preTrainGroup bigint(20) unsigned preTrainSolid int(10) unsigned preTrainFileName varchar(100) preTrainIteration bigint(20) unsigned preTrainNetwork int(10) unsigned preTrainEpoch varchar(45)

preTrainValid tinyint(1) unsigned preTrainId TinyInt(1) unsigned

Proses seleksi dilanjutkan dengan melakukan prediksi indeks prestasi menggunakan informasi hasil pelatihan dan objek jaringan syaraf tiruan yang sudah dilatih. Proses ini dimulai dengan menyusun data hasil pelatihan yang valid,

...(3.3) kemudian dilakukan pengambilan data yang akan digunakan sebagai data uji coba. Proses dilanjutkan dengan menyusun objek jaringan syaraf tiruan dari berkas, kemudian melakukan perhitungan bobot. Proses dilakukan secara berulang berdasarkan informasi yang disimpan pada hasil pelatihan. Nilai bobot akan menentukan apakah suatu jaringan tersebut memiliki nilai prediksi yang tepat atau tidak. Untuk setiap kelompok variabel dilakukan pelatihan data, dan akan dipilih salah satu jaringan yang dianggap tepat sesuai nilai bobot, dan informasi prediksi disimpan ke dalam tabel. Pada data yang disimpan diberikan informasi identitas data tabel variabel sehingga dapat digunakan untuk melakukan pencarian informasi jumlah kesalahan prediksi yang terjadi pada saat pengujian. Spesifikasi tabel disusun seperti pada Tabel 3.6.

Tabel 3.6 Spesifikasi Tabel Daftar Hasil Pengujian

Nama Kolom Tipe Data Keterangan

dbResultId int(10) unsigned Id Primer

dbResultTrainId int(10) unsigned dbResultAccuracy varchar(45) dbResultTryData varchar(45)

Proses prediksi akan dilakukan dalam perulangan untuk setiap data yang diambil berdasarkan pengelompokan variabel dan pengelompokan kelas keluaran data. Hasil prediksi indeks prestasi akan dibandingkan dengan perolehan indeks prestasi mahasiswa pada semester yang diprediksi. Perhitungan persentasi prediksi (E) dilakukan dengan menggunakan persamaan sebagai berikut:

42

Pada Gambar 3.8 digambarkan diagram aktivitas proses prediksi.

Gambar 3.8 Diagram Aktivitas Proses Prediksi Indeks Prestasi

Mengambil rekod pelatihan

Mengambil informasi variabel dari rekod pelatihan

Mengambil Data Pengujian

Menyusun Objek Jaringan Syaraf Tiruan dari Berkas

Hitung persentasi kesalahan

Simpan Hasil Prediksi

Terminasi

[Akhir rekod pelatihan]

Pada proses pelatihan jaringan diperlukan jumlah perulangan yang cukup banyak. Hal ini terkait dengan jumlah variabel yang akan diuji, jumlah data yang dipergunakan, jumlah iterasi dalam penentuan jumlah neuron, dan parameter-parameter yang digunakan dalam penentuan jumlah neuron. Karenanya akan dilakukan penggabungan antara pelatihan jaringan syaraf tiruan dan prediksi.

Parameter yang digunakan dalam melakukan pelatihan jaringan syaraf tiruan adalah nilai pembelajaran Lrate dan nilai sigmoid Asigmoid. Belum terdapat acuan standar dalam pemilihan nilai pembelajaran dan nilai sigmoid. Pada penelitian yang dilakukan [30], dilakukan pengujian menggunakan beberapa nilai pembelajaran yang hasilnya ditunjukkan pada Tabel 3.7.

Tabel 3.7 Hasil Penelitian Berdasarkan Nilai Pembelajaran [32] Lrate Jumlah Pelatihan Persentase Akurasi

100 3,017 25.63% 50 3,282 24.70% 10 1,955 29.21% 5 4,821 38.66% 1 1,817 56.14% 0.5 160 59.96% 0.1 7 64.86% 0.05 9 66.62% 0.01 14 68.71% 0.005 39 69.04% 0.001 242 69.48% 0.0005 473 69.47% 0.0001 2,252 69.43% 0.00005 5,913 69.47% 0.00001 18,595 69.46%

44

Berdasarkan hasil penelitian tersebut, maka digunakan nilai pembelajaran Lrate yakni 0.01, 0.05, 0.1 karena pada nilai pembelajaran tersebut, diperoleh jumlah pelatihan yang lebih sedikit dengan nilai persentasi akurasi yang cukup baik. Sedangkan nilai alpha sigmoid akan memberikan pengaruh terhadap jumlah pelatihan. Nilai alpha sigmoid yang umum digunakan dalam pengujian adalah 0.5,1,2 dimana nilai ini mewakili fungsi sigmoid, yakni nilai alpha sigmoid 0.5 memberikan karakteristik yang mendekati fungsi linier, nilai alpha sigmoid 1 memberikan karakteristik fungsi sigmoid, dan nilai alpha sigmoid 2 memberikan karakteristik mendekati fungsi step.

Adapun parameter yang akan digunakan dalam pelatihan jaringan syaraf tiruan dan prediksi adalah sebagai berikut:

a. Jumlah pengelompokan data N yakni 300,500,700 b. Nilai pembelajaran Lrate yakni 0.01, 0.05, 0.1

c. Nilai alpha sigmoid Asigmoid yang digunakan yakni 0.5,1, 2

Dalam pembentukan jaringan, aplikasi dirancang agar melakukan prediksi pada saat kondisi telah tercapai. Kondisi yang dimaksud mengacu pada Gambar 3.6 yakni bila jumlah neuron tersembunyi mencapai jumlah input atau jaringan berhasil terbentuk. Dari pengujian yang dilakukan diperoleh hasil pencatatan seperti yang ditunjukkan pada tabel di Lampiran 1 untuk pengujian menggunakan data Fakultas MIPA dan Hukum dan tabel di Lampiran 2 untuk pengujian menggunakan data Fakultas Teknik, dimana K merupakan daftar pengelompokan variabel, I merupakan jumlah pelatihan, Nn merupakan jumlah neuron yang digunakan, E merupakan

persentasi prediksi dan S menginformasikan status apakah objek jaringan valid atau tidak.

3.8.5. Penentuan Variabel

Penentuan variabel berdasarkan pada valid atau tidaknya sebuah variabel sesuai dengan hasil pengujian penentuan jumlah neuron dan persentasi prediksi. Prediksi menggunakan data pengujian, dan setelah prediksi dilakukan, data hasil prediksi dibandingkan dengan hasil sebenarnya. Variabel yang memiliki persentasi prediksi tertinggi merupakan hasil dari bagian klasifikasi variabel ini dan akan digunakan untuk menentukan apakah model ini dapat digunakan untuk membantu dalam proses pemilihan variabel bila terdapat sejumlah variabel yang menurut pengamatan memiliki pengaruh yang cukup signifikan dalam memberikan prediksi yang lebih baik.

3.8.6. Pengujian Variabel

Hasil dari klasifikasi variabel akan digunakan untuk melakukan pelatihan dan prediksi. Dari hasil prediksi indeks prestasi, akan dihitung persentasi prediksi dengan menggunakan Persamaan (3.3).

46

BAB 4

Dokumen terkait