di subject artificial neural network, saya mendapatkan project ini. soalnya sih simple, tapi yang ngerjain mati-matian hahaha. sampe ga tidur berhari hari.. (heleh..)
Dari soal, kita diberi daftar nilai 50 orang mahasiswa, dengan nilai tersebut merupakan nilai ujian, tugas, kuis, dll. Ada 5 jenis nilai (X1-X5), dan dengan menggunakan rumus tertentu akan diperoleh nilai akhir untuk mata kuliah tersebut. Program yang akan dibuat berfungsi untuk memprediksi nilai suatu mahasiswa apabila diketahui 5 nilai ujiannya, dengan ketentuan sebagai berikut :
1. Untuk melatih program digunakan 50 data nilai 1.
2. Untuk melakukan uji prediksi, digunakan 50 data nilai 2.
Inti Permasalahan
Kita tahu bahwa untuk menentukan Nilai Akhir nya adalah tidak dengan semudah mencari rata – rata nilainya, melainkan setiap nilai memiliki bobot sendiri – sendiri. Inti dari program ini adalah memprediksi bobot dengan menggunakan algoritma pelatihan (Data Nilai 1 dilatih, sehingga ditemukan pola bobot tertentu pada setiap X1-X5), menghitung output sesuai dengan bobot, sampai didapatkan output yang paling mendekati dengan Nilai Akhir yang sebenarnya (dengan kata lain adalah menghitung bobot yang paling benar/ mendekati untuk setiap 5 nilai ujian).
algoritma dan ide penyelesaian
Metode Komputasi JST yang akan digunakan dalam program untuk memprediksi nilai ujian mahasiswa ini adalah algoritma pelatihan Back Propagation. Pelatihan Back Propagation didasarkan pada satu hubungan sederhana: “Jika output memberikan hasil yang salah, maka weight dikoreksi agar galatnya dapat diperkecil dan respon jaringan selanjutnya diharapkan akan lebih mendekati nilai yang benar.”
Metode Back Propagation ini termasuk metode pelatihan supervised/ terbimbing dan didesain untuk operasi pada jaringan feed forward multi layer.
Tahapan Pelatihan Back Propagation :
1. Jaringan diberi pola input sebagai training.
2. Pola tersebut akan menuju ke unit – unit pada hidden layer (lapisan tersembunyi) untuk diteruskan ke unit – unit lapisan output.
3. Kemudian unit – unit lapisan output memberikan tanggapan yang disebut dengan Output Jaringan.
4. Saat output jaringan tidak sama dengan output yang diharapkan (target atau desired output), maka output akan menyebar mundur (backward) pada hidden layer dan diteruskan ke unit pada lapisan input.
Pada awalnya program dibuat dengan menggunakan 2 hidden layer dengan masing – masing 1 buah unit (node), tapi ternyata masih terdapat kekurangan. Yaitu jika untuk memprediksi nilai dengan nilai tinggi (diatas 60-an), maka terdapat selisih jauh diantara Y asli dan Y prediksi. Kesalahan (menurut saya) adalah pada rumus error gradien untuk kedua hidden layer. Tetapi sayangnya sampai deadline program saya belum bisa membenarkannya ![]()
Akhirnya program yang dibuat akan menggunakan 1 layer hidden dengan masing – masing 3 unit/node (agar tidak terlalu ruwet dalam source code programnya
). Untuk ilustrasi layer dan keterangannya bisa dilihat pada gambar dibawah ini.

Keterangan:
X1-Xb (Z1-Z5) : unit masukan/ input
Zb (Z bias) : selalu 0
Z6-Z8 : unit pada hidden layer
Z9 : unit output
Bobot dari input ke unit Z6 (hidden) adalah W1, W2, W3, W4, W5, dan Wb
Bobot dari input ke unit Z7 (hidden) adalah W6, W7, W8, W9, W10, dan Wb2
Bobot dari input ke unit Z8 (hidden) adalah W11, W12, W13, W14, W15, dan Wb3
Bobot dari unit hidden layer ke unit output adalah W16, W17, W18
Bobot dari unit input Xb (bias) ke unit output adalah Wb4
untuk algoritma backpropagation, anda bisa mencarinya sendiri di google. ada berjuta-juta kok. oke?
ini adalah data test nya, saya upload dalam bentuk .doc, entar rename dengan txt aja..
tests
dan ini source code nya..
download this project!!
Filed under: IT project, artificial neural network, backpropagation, jaringan saraf tiruan, pascal, prediksi nilai, source code



Recent Comments