UPI YPTK Jurnal KomTekInfo Vol. 4, No. 1, Juni 2017, Hal. 14-20 Copyright©2017 by LPPM UPI YPTK Padang
ISSN :2356-0010
Jaringan Syaraf Tiruan Menggunakan Algoritma Backpropagation Untuk Memprediksi Jumlah Pengangguran (Studi Kasus DiKota Padang) Hadi Syahputra Universitas Putra Indonesia “YPTK” Padang E-mail:
[email protected]
Abstrak Abstrak - Angka pengangguran yang besar tidak hanya disumbang oleh masyarakat yang memiliki pendidikan rendah, tapi tak jarang juga banyak pengangguran terdidik yang kesulitan memperoleh pekerjaan, hal ini menyebabkan jumlah pengangguran di Indonesia dari tahun ke tahun terus semakin meningkat. Penerapan Jaringan Syaraf Tiruan (JST) untuk memprediksi jumlah pengangguran di Kota Padang dengan menggunakan algoritma pembelajaran backpropagation berdasarkan pada data survey lapangan, sebagai tolak ukur perlu tidaknya ditinjau kembali peningkatan lapangan pekerjaan yang bersesuaian. Dengan menggunakan beberapa variabel masukan yaitu: data tahun 2010 – 2014, diharapkan memperoleh keluaran prediksi jumlah pengangguran ditahun berikutnya. Dari hasil pengujian metode JST- Backpropagation dapat memprediksi jumlah pengangguran dan target output yang diinginkan lebih mendekati ketepatan dalam melakukan pengujian, karena terjadi penyesuaian nilai bobot dan bias yang semakin baik pada proses pelatihan. Hasil pengujian data pelatihan dengan persentase kebenaran data 97% dan data pengujian dengan persentase 90% dari hasil prediksi pengangguran tahun 2014 yaitu 47.872 yang dilakukan oleh BPS Kota Padang. Kata Kunci : Jaringan Syaraf Tiruan, Backpropagation, Prediksi, Pengangguran
1. Pendahuluan Sejalan dengan ilmu pengetahuan modern saat ini banyak ditemukan problem-problem menarik yang salah satunya dapat digolongkan ke dalam peramalan (forecasting). Peramalan dapat dilakukan dengan berbagai macam cara, salah satunya adalah dengan mengembangkan teknik kecerdasan buatan, yang dalam hal ini paling banyak menggunakan Artificial Neural Network (ANN) Jaringan Syaraf Tiruan (JST). Pada JST untuk memprediksi jumlah pengangguran mempunyai konsep yaitu dengan cara pola data pengangguran pada periode masa lalu dimasukkan kedalam sistem, kemudian dilakukan proses pelatihan menggunakan Jaringan Syaraf Tiruan (JST) dan algoritma pembelajaran Backpropagation. Setelah dilakukan proses pelatihan, sistem akan menghasilkan bobot-bobot yang akan digunakan untuk memprediksi jumlah pengangguran pada periode tahun-tahun selanjutnya.
2. Landasan Teori 2.1 Jaringan Syaraf Tiruan Jaringan Syaraf Tiruan merupakan salah satu upaya manusia untuk memodelkan cara kerja atau fungsi sistem syaraf manusia dalam melaksanakan tugas tertentu atau dengan kata lain Jaringan Syaraf Tiruan (JST) adalah sistem memproses informasi yang memiliki karakteristik mirip dengan jaringan syaraf biologi.
2.2 Backpropagation Algoritma Backpropagation merupakan salah satu algoritma yang sering digunakan dalam menyelesaikan masalah - masalah yang rumit. Hal ini dimungkinkan karena jaringan dengan algoritma ini dilatih dengan menggunakan metode belajar terbimbing. Pada jaringan diberikan sepasang pola yang terdiri dari atas pola masukan dan pola yang diinginkan. Di dalam Jaringan Syaraf Tiruan backprogation, setiap unit yang berada dilapisan input terhubung dengan setiap unit yang ada dilapisan tersembunyi. Setiap unit yang ada dilapisan tersembunyi terhubung dengan setiap unit yang ada dilapisan output. Backpropagation 14
UPI YPTK Jurnal KomTekInfo Vol. 4, No. 1, Juni 2017, Hal. 14-20 Copyright©2017 by LPPM UPI YPTK Padang
ISSN :2356-0010
merupakan proses berulang yang dimulai dengan lapisan terakhir dan bergerak mundur melalui lapisan sampai lapisan pertama tercapai. (Santhosh dan Shereef, 2010).
Gambar 1. Arsitektur Backpropagation
Gambar Arsitektur backgropagation di atas merupakan jaringan backpropagation yang terdapat neuron pada lapisan input, lapisan tersembunyi dan lapisan utput. Sehingga terdapat edge dari lapisan input ke lapisan tersembunyi dan edge dari lapisan tersembunyi ke lapisan output. Setiap edge memiliki bobot (weight).V11merupakan bobot garis dari unit masukan xi pada lapisan input ke masing-masing unit Zpada lapisan tersembunyi. W merupakan bobot dari unit lapisan tersembunyi Z ke unit keluaranY. Nilai masukan pada lapisan input dinotasikan sebagai x1, x2, x3. Pada lapisan tersembunyi neuron-neuronnya dinotasikan dengan Z11, Z22. Begitujuga neuron-neuron pada lapisan output dinotasikan dengan Y1, Y2, Y3. 2.3 Pelatihan standar Backpropagation Pelatihan backpropagation meliputi tiga fase. Fase pertama adalah fase maju, pola masukan dihitung maju mulai layer masukan hingga layer keluaran menggunakan fungsi aktivasi yang ditentukan. Fase kedua adalah fase mundur, selisih antara keluaran jaringan dengan target yang diinginkan merupakan kesalahan yang terjadi. Kesalahan tersebut dipropagasikan mundur, mulai dari garis yang berhubungan langsung dengan unit-unit di layer keluaran. Fase ketiga akan memodifikasi bobot untuk menurunkan kesalahan yang terjadi. 1. Fase I : Propagasi maju Selama propagasi maju sinyal masukan (= xi) di propagasikan ke layer tersembunyi menggunakan fungsi aktivasi yang ditentukan. Keluaran dari setiap unit layer tersembunyi (= zj) tersebut selanjutnya dipropagasikan maju lagi ke layer tersembunyi diatasnya menggunakan fungsi aktivasi yang ditentukan. Demikian seterusnya hingga menghasilkan keluaran jaringan (= yk). Selanjutnya keluaran jaringan (= yk) dibandingkan dengan target yang harus dicapai (= tk). Selisih tk – yk adalah kesalahan yang terjadi. Jika kesalahan lebih kecil dari batas toleransi yang ditentukan maka iterasi dihentikan. Sebaliknya apabila kesalahan masih lebih besar dari batas toleransi, maka bobot setiap garis dalam jaringan akan dimodifikasi untuk mengurangi kesalahan yang terjadi. 2. Fase II : Propagasi mundur Berdasarkan kesalahan tk – yk, dihitung faktor δk(k = 1, 2, …, m) yang dipakai untuk mendistribusikan kesalahan di unit yk ke semua unit tersembunyi yang terhubung langsung dengan yk. δkjuga dipakai untuk merubah bobot garis yang berhubungan langsung dengan unit keluaran. dengan cara yang sama dihitung faktor δj di setiap unit di layer tersembunyi sebagai dasar perubahan bobot semua garis yang berasal dari unit tersembunyi di layer di bawahnya. Demikian seterusnya hingga semua faktor δ di unit tersembunyi yang berhubungan langsung dengan unit masukan dihitung. 3. Fase III : Perubahan bobot Setelah semua faktor δdihitung, bobot semua garis di modifikasi bersamaan. Perubahan bobot suatu garis didasarkan atas faktor δneuron di layer atasnya. Sebagai contoh, perubahan bobot garis yang menuju ke layar keluaran didasarkan atas ä yang ada di unit keluaran. Ketiga fase tersebut diulang-ulang terus hingga kondisi penghentian terpenuhi. Umumnya kondisi penghentian yang sering dipakai adalah jumlah itersai atau kesalahan. Iterasi akan dihentikan jika jumlah iterasi yang dilakukan sudah melebihi jumlah maksimum iterasi yang
15
UPI YPTK Jurnal KomTekInfo Vol. 4, No. 1, Juni 2017, Hal. 14-20 Copyright©2017 by LPPM UPI YPTK Padang
ISSN :2356-0010
ditetapkan, atau jika kesalahan yang terjadi sudah lebih kecil dari batas toleransi yang diijinkan. 2.4 Fase-fase Algoritma Backpropagation 1. Initialization Pada fase pertama ini yang harus dilakukan adalah set : set nilai awal untuk variabelvariabel yang diperlukan (nilai input, weight, output yang diharapkan, learning rate α, θ, dan sebagainya. 2. Activation Menghitung aktual output pada hidden layer dengan rumus :
n Yj( P) fungsi xij ( P).wij (ij ( P) i 1
...... (2.1)
Menghitung aktual output pada layer dengan rumus :
n Yk ( P) fungsi xjk ( P).wjk ( P) i 1
....... 2.2)
3. Weight Training A. Menghitung error griend pada output layer Menghitung koreksi dari pada nilai pemberat (weight correction) Δk (P)=x,[1-Yk(P)]e(k) …… (2.3) Dimana : δk (P) = Error griend pada output layer Yk (P) = Actual output pada output layer E (k) = Error pada output layer Menghitung koreksi weight Wjk (P – 1 ) = Wjk (P) + ΔWkj (P) …… (2.4) Dimanan : ΔWjk (P) = α . Yj (P) .δk (P) α = Learning rate Yj = Actual output hidden B. Menghitung error griend pada hidden layer 1
Δj(P) = Yj(P).[1-Yj(P)].
(P)xWjk(P)
....... (2.5)
k 1
Menghitung nilai pemberat (weight correction) Wij (P + 1 ) = Wij (P) + ΔWij (P) Dimana : Δwij (P) = α . Xi (P) .δj (P) α = Learning rate Xi = Actual output hidden 4. Iteration Ulangi sampai proses error yang diharapkan ditemukan, lalu kembali ke langkah yang ke 2. 2.5. Algoritma Pelatihan a) Inisialisasi bobot b) Tetapkan epoch maksimum, target, error, dan leraning rate c) Inisialisasi epoch = 0, MSE = 1 d) Selama kondisi berhenti terpenuhi, lakukan langkah berikut : 1. Epoch = epoch +1 2. Unit tiap-tiap pasangan elemen yang akan dilakukan pembelajaran. 3. Setiap unit input Xj ( dari unit ke-1 sampai unit ke-n pada lapisan input) mengiriman sinyal input kesemua unit yang ada pada lapisan atasnya kelapisan atasnya ( lapisan tersembunyi ) :xi.
16
UPI YPTK Jurnal KomTekInfo Vol. 4, No. 1, Juni 2017, Hal. 14-20 Copyright©2017 by LPPM UPI YPTK Padang
ISSN :2356-0010
4. Pada setiap unit di lapisan tersembunyi Zj ( dari unit ke-1 sampai unit ke-p; 1=1,....,n; j=1,......,p ) sinyal output lapisan tersembunyi dihitung dengan menerapkan fungsi aktivasi terhadap penjumlahan sinyal-sinyal input berbobot xi : ...... (2.6) Zj f ( 0 j xi vij ) i n1
Di mana : Zj F Voj
xi
= unit tersembunyi ke-j = fungsi nonlinear = bias pada unit tersembunyi -j = jumlah input ke-i
Vij = bobot ke–j Kemudian dikirim kesemua unit dilapisan atasnya. 5. Setiap unit dilapisan output yk (dari unit ke-1 sampai unit ke-m, 1, ...., n k=1, ....., m) dihitung sinyal ouputnya dengan menerapkan fungsi aktivasi terhadap penjumlahan sinyalsinyal input berbobot zj bagi lapisan ini : Yk = ƒ wok z j w jk i p1 ....... (2.7)
Dimana : Yk = Unit output ke-k ƒ = Fungsi non linier Wok = Unit ke-0 dan k = Jumlah unit tersembunyi ke-j zj
Wjk = Bobot awal Kerjakan : mempropagasibalikan error 6. Setiap unit output yk (dari unit ke-1 sampai unit ke=m, j=1, ........,p,k=1,..m) menerima pola target tklalu informasi kesalahan lapisan output (δk) dihitung. δkdikirim ke lapisan dibawahnya dan digunakan untuk menghitung besar koreksi bobot dan bias (Δwok) antara lapisan tersembunyi dengan lapisan outputnya : δk = (tk - yk) ƒ’ wok z j w jk j p1 ......... (2.8)
Δwjk Δwok Di mana : δk tersembunyi. tk Yk ƒ Wok
z
j
= αδk zj = α δk = Informasi tentang kesalahan pada unit yk yang disebarkan kembali ke unit = Output vektor target ke-k = Unit output ke-k = Fungsi non linier = Unit input ke-0 dan k = Jumlah unit tersembunyi ke-j
Wjk = Bobot awal ΔWjk = Perubahan bobot α = Kecepatan pembelajaran (learning rate) ΔWok = Perubahan bobot awal 7. Pada setiap unit di lapisan tersembunyi (dari unit ke-1 sampai unit ke-p...i=1, ....., n; j=1, ..... , p; k=1, ....., m) dilakukan perhitungan informasi kesalahan lapisan tersembunyi (δj). δj kemudian digunakan untuk menghitung besar koreksi bobot dan bias (ΔWij dan ΔWoj) antara lapisan dan lapisan tersembunyi. 8. Pada setiap unit output yk (dari unit ke-1 smpai unit ke-m) dilakukan pengupdate-an bias dan bobot (j=0,....., p; k=1,.....,m) sehingga bias dan bobot yang baru menjadi : Wjk (baru) – Wjk(lama) + ΔVij 9. Tes kondisi; berhenti.
17
UPI YPTK Jurnal KomTekInfo Vol. 4, No. 1, Juni 2017, Hal. 14-20 Copyright©2017 by LPPM UPI YPTK Padang
ISSN :2356-0010
3. Metodologi Penelitian 3.1 Frame Work (Kerangka Kerja) Untuk memberikan panduan dalam penyusunan penelitian ini, maka perlu adanya susunan kerangka kerja (Frame Work) yang jelas tahapan-tahapannya. Pendifinisian ruang lingkup masalah - Perumusan masalah - Menentukan tujuan
Mempelajari Literatur
Studi Literatur
Studi Lapangan
- Identifikasi Permasalahan - Mencari Proceding,buku, jurnal tentang UML
- Wawancara - Observasi
Mengumpulkan data dan informasi
Menganalisa Sistem
Merancang Model - Pemodelan UML - Membuat Use Case Diagram - Membuat Use Case Scenario - Membuat Activity Diagram - Membuat Sequence Diagram - Membuat Class Diagram
Merancang User Interface - Desain Database - Desain input output - Implementasi sistem menggunakan php mysql
Mengimplementasi
Pengujian Hasil
Gambar 2. Kerangka Kerja Penelitian
3.2. Uraian Kerangka Kerja Dari kerangka kerja yang digambarkan diatas maka dapat diuraikan pembahasan masing-masing kegiatan sebagai berikut ini: 1. Pendefisian ruang lingkup masalah a. Merumusan Masalah Ruanglingkup masalah yang akan diteliti harus ditentukan terlebih dahulu, karena tanpa mampu menentukan serta mendefinisikan batasan masalah yang akan diteliti, maka tidak akan pernah didapat suatu solusi yang terbaik dari masalah tersebut. Jadi langkah pertama adalah langkah awal yang terpenting dalam penulisan ini. Pada tahap ini dilakukan peninjauan ke sistem yang akan diteliti untuk mengamati serta melakukan explorasi lebih dalam dan menggali permasalahan yang ada pada sistem yang berjalan pada saat ini. Tahap perumusan masalah, merupakan langkah awal dari penelitian ini, karena tahap ini diperlukan untuk mendefinisikan keinginan dari sistem yang belum tercapai. b. Menentuan Tujuan Berdasarkan perumusan masalah yang telah dibuat pada tahap sebelumnya, maka tahap penentuan tujuan berguna untuk memperjelas kerangka tentang apa saja yang menjadi sasaran dari penelitian ini. Pada tujuan ini ditentukan target yang akan dicapai, terutama yang dapat mengatasi masalah - masalah yang ada. 2. Mempelajari Literatur Untuk mencapai tujuan maka dipelajari beberapa literatur-literatur yang diperkirakan dapat digunakan. Kemudian literatur-literatur yang dipelajari tersebut diseleksi untuk dapat ditentukan literatur - literatur mana yang akan digunakan dalam penelitian.
18
UPI YPTK Jurnal KomTekInfo Vol. 4, No. 1, Juni 2017, Hal. 14-20 Copyright©2017 by LPPM UPI YPTK Padang
ISSN :2356-0010
Dalam mempelajari studi literatur ada dua tahap dilakukan yaitu : a. Melakukan Studi Literatur Studi kepustakaan berguna untuk memperoleh referensi serta literatur yang mendukung proses penelitian. Sehingga dengan memanfaatkan studi literatur, maka tujuan dari penelitian ini dapat tercapai. b. Melakukan Studi Lapangan Studi lapangan yaitu pembelajaran yang penulis lakukan pada objek yang diteliti dengan cara : 1) Wawancara, yaitu melakukan tanya jawab langsung dengan salah seorang pegawai yang bertanggung jawab terhadap pengelolaan sistem informasi. 2) Observasi, yaitu pengamatan dan pengumpulan data. 3. Mengumpulkan dan Menganalisa Data
Proses pengumpulan dan analisa data diambil atas izin dari pihak pejabat yang bertanggung jawab dalam bidang teknologi informasi. 4. Menganalisis Sistem Tahapan analisis sistem bertujuan untuk mempelajari masalah dan kelemahan yang timbul dan menentukan kebutuhan - kebutuhan pemakai sistem. Permasalahan dan kelemahan tersebut diidentifikasi dan diinventarisir yang nantinya akan dirangkaikan dengan data-data lain sehingga dapat menjadi informasi yang mendukung dalam pengembangan perangkat lunak. Tahap ini juga termasuk salah satu tahap yang penting, karena kesalahan dalam mengidentifikasi masalah dalam sistem yang baru.
4.
Hasil dan Diskusi
4.1 Perancangan Input dan Output Dalam banyak penelitian menyatakan ada banyak faktor yang mempengaruhi peramalan, dan pada penelitian ini dipilih 6 (enam) faktor yang mempengaruhi prediksi jumlah pengangguran, yaitu : 1. Data tahun 2010 – 2014[4]. 2. Jumlah Penduduk menurut Jenis Kelamin dan Kelompok Umur 3. Angkatan Kerja 4. Penduduk yang Bekerja 5. Tingkat Pengangguran Terbuka (TPT). 6. Tingkat Partisipasi Angkatan Kerja (TPAK). 7. Jumlah Pengangguran Reality di Lapangan 4.2 Perancangan Arsitektur Sistem Pada permasalahan ini arsitektur Jaringan Syaraf Tiruan yang digunakan adalah Jaringan Syaraf Tiruan dengan banyak lapisan (multi layer net) dengan algoritma backpropagation dengan menggunakan fungsi aktifasi sigmoid terdriri dari : a. Lapisan input dengan 5 simpul b. Lapisan output dengan 1 simpul dengan prediksi jumlah pengangguran 1 simpul (y), yaitu : y c. Lapisan tersembunyi dengan jumlah simpul yang ditentukan pengguna (z1, z2, ....zn). Algoritma pembelajaran yang digunakan adalah algoritma propagasi balik dengan fungsi aktivasi sigmoid. Penulis merancang Jaringan Syaraf Tiruan dengan algoritma propagasi balik dengan fungsi aktivasi sigmoid untuk menentukan keluaran suatu neuron. Dimana penulis menetapkan 5 variabel input x1, x2, x3, x4, 5 dan 2 buah neuron pada hidden layer z1 dan z2 serta 1 buah output layer Y. Dari proses perhitungan secara manual dapat dilihat bahwa algoritma backpropagation yang telah diujikan sebelumnya akan memberikan pelatihan yang baik dengan mempunyai kebenaran yang cukup baik jika diberikan nilai masukan yang mirip. Korelasi hasil penelitian tentang memprediksi jumlah pengangguran pada iterasi pertama nilai keluaran aktualnya 0,68155817 dan nilai error nya 0,76094180 masih kurang mendekati, tapi pelatihan dan pengujian tidak
19
UPI YPTK Jurnal KomTekInfo Vol. 4, No. 1, Juni 2017, Hal. 14-20 Copyright©2017 by LPPM UPI YPTK Padang
ISSN :2356-0010
berhenti pada iterasi pertama tapi masih harus dilakukan pada iterasi berikutnya dengan jenis arsitektur yang berbeda sehingga bias mendapatkan hasil dibawah nilai nol atau tingkat error yang rendah untuk melakukan pengolahan yang lebih banyak lagi maka digunaka software matlab yang akan dibahas pada bab selanjutnya
5. Kesimpulan Berdasarkan pelatihan dan pengujian serta implementasi dengan menggunakan software Matlab 6.1 terhadap data jumlah pengangguran, Arsitektur jaringan yang paling tepat digunakan untuk prediksi jumlah pengangguran adalah dengan Jaringan Syaraf Tiruan menggunakan algoritma Backpropagation dengan pola arsitektur 5-2-1 dengan membagi data menjadi dua bagian yaitu 3 data pelatihan dengan persentase kebenaran data 97 %.dan 2 data pengujian dengan persentase 90 %. Algoritma backpropagation merupakan salah satu algoritma yang mudah diterapkan untuk menyelesaikan beberapa permasalahan terutama yang berkaitan dengan masalah prediksi. Dengan menggunakan Jaringan Syaraf Tiruan dengan algoritma Backpropagation proses prediksi lebih cepat, akurat, meminimalisir kesalahan dan bisa menggunakan teknologi komputer. Serta mudah dalam pengembangannya. Semakin kecil tingkat ketelitian error yang digunakan maka akan semakin kecil penyimpangan hasil Jaringan Syaraf Tiruan dengan target yang diinginkan. Walaupun penelitian yang telah dilakukan melalui tahap pelatihan dan pengujian serta implementasi terhadap data jumlah pengangguran di Kota Padang, untuk penerapan dan kelanjutan dari sistem Jaringan Syaraf Tiruan dengan algoritma Backpropagation jaringan perlu dilatih dengan data pelatihan yang lebih banyak data lagi sehingnga akan lebih baik dalam mendapatkan tingkat presentase yang akurat.
Daftar Pustaka [1] Halim, Siana, dan Adrian Michael Wibisono. 2000. “Penerapan Jaringan Syaraf Tiruan untuk Peramalan”. Dalam Jurnal Teknik Industri Vol.2. No. 2. Hal. 106-113. [2] Jong Jek Siang. (2005). Jaringan Syaraf Tiruan dan pemrogramannya menggunakan Matlab”, Andi Yogjakarta, Yogjakarta. [3] Matondang & Zekson A., Jaringan Syaraf Tiruan dengan Algoritma Backpropagation untuk penentuan Sidang Skripsi., Jurnal STMIK Budi DarmaMedan, (2013). [4] Badan Pusat Statistik Kota Padang, Daata 2009 - 2014, “BPS Kota Padang Provinsi Sumatera Barat
20