Anda di halaman 1dari 17

JARINGAN SYARAF TIRUAN UNTUK MEMPREDIKSI LAJU

PERTUMBUHAN PENDUDUK MENGGUNAKAN METODE


BACPROPAGATION (STUDI KASUS DI KOTA SORONG)

Abstrak
Penelitian ini dilakukan untuk menyelidiki Jaringan Syaraf Tiruan dengan penerapan Backpropagation.
Matlab digunakan. Ketika informasi dikumpulkan dengan pengamatan langsung. Dan data yang akan
dimasukkan dibagi menjadi beberapa kelompok tergantung faktor yang mempengaruhi laju pertumbuhan
penduduk kota sorong. Jumlah unit di setiap lapisan kemudian ditentukan untuk membangun Jaringan
Syaraf Tiruan. Setelah jaringan terbentuk dilakukan training dari data yang telah dikelompokkan tersebut.
Pengujiannya dilakukan dengan perangkat lunak Matlab percobaan yang dilakukan dengan arsitektur
jaringan yang terdiri dari unit masukan, unit layer tersembunyi dan unit keluarannya. hasil yang didapat
dari pengujian tersebut adalah niali Performance dan epochs setiap arsitektur tidak sama. Hasil
pengujiannya ditampilkan dalam bentuk grafik perbandingan nilai target dengan nilai pelatihan.

Kata Kunci: Jaringan Syaraf Tiruan Backpropagation, Prediksi Laju Pertumbuhan Penduduk kota sorong

1.PENDAHULUAN

Di zaman digital saat ini pemanfaatan teknologi informasi sangatlah penting, selain
perkembangannya yang sangat pesat juga dikarenakan kegunaannya yang cukup efektif
dalam membantu pekerjaan manusia. Teknologi informasi dapat digunakan untuk
mendapatkan data, memproses, menyusun, menyimpan dan memanipulasi data dalam
berbagai cara untuk mendapatkan informasi yang berkualitas, relevan, akurat dan tepat
waktu untuk keperluan bisnis, pemerintahan, swasta ataupun pribadi. Dengan adanya
penggunaan Jaringan Syaraf Tiruan menghasilkan informasi yang berkualitas, yaitu
informasi yang relevan, akurat dan tepat waktu, yang digunakan untuk keperluan pribadi,
bisnis, swasta dan pemerintah yang merupakan informasi yang strategis dalam pengambilan
keputusan. Penggunaan ANN dengan algoritma training back-propagation untuk melakukan
prediksi pacuan kuda di Jamaika. ANN dengan jenis feed forward network atau
Backpropagationyang digunakan dalam penelitian ini telah terbukti memberikan hasil yang
baik untuk keperluan prediksi laju pertumbuhan penduduk di kota sorong. Ketika ada
banyak hal yang harus dilakukan dilakukan oleh Badan Pusat Statistik Perkotaan (BPS).
Sorong dan terkadang membutuhkan informasi dorongan untuk memprediksi ritme
Pertumbuhan penduduk memerlukan suatu sistem dapat memprediksi tingkat pertumbuhan
penduduk, pertumbuhan penduduk Kota Sorong yang tumbuh di mana-mana Tindakan
cepat diperlukan tahun ini memprediksi pertumbuhan penduduk sekarang dan di tahun-
tahun mendatang.
Indonesia mempunyai jumlah penduduk yang besar, berdasarkan

perhitungan pada tahun 2004 indonesia menjadi negara dengan penduduk

terbanyak di asia tenggara dan urutan ke 4 dunia. Memiliki penduduk yang

banyak bisa memberikan keuntungan yaitu dengan memberdayakannya untuk

meningkatkan pembangunan akan tetapi nilai negatifnya juga ada, dengan jumlah

penduduk yang besar maka pemerintah mempunyai tanggungan yang besar untuk

mensejahterakannya dan apabila pemerintah tidak mampu maka akan ada

peningkatan angka pengangguran dan kejahatan.

Di Indonesia jumlah kependudukan diatur dalam Dinas Kependudukan

dan Catatan Sipil. Dinas tersebut bertugas mengadakan penelitian dan pelayanan

tentang kependudukan yang salah satu bidangnya adalah pembuatan surat tanda

lahir atau yang lebih dikenal dengan akta kelahiran, kartu tanda penduduk (KTP),

kartu keluarga (KK).

Jumlah pertambahan penduduk dapat mempengaruhi tingkat kepadatan


penduduk yang tidak merata di suatu wilayah serta mempengaruhi tingkat
perekonomian, pendidikan, kesehatan dan juga instansi-instansi terkait lainnya.

2. LANDASAN TEORI

2.1. Pengertian penduduk

Kependudukan, atau dalam hal ini adalah penduduk, merupakan pusat dari
seluruh kebijaksanaan dan program pembangunan yang dilakukan. Dalam Garis
Besar Haluan Negara (GBHN) dengan jelas dikemukakan bahwa penduduk adalah
subyek dan obyek pembangunan. Sebagai subyek pembangunan maka penduduk
harus dibina dan dikembangkan sehingga mampu menjadi penggerak
pembangunan. Sebaliknya, pembangunan juga harus dapat dinikmati oleh
penduduk yang bersangkutan. Dengan demikian jelas bahwa pembangunan harus
dikembangkan dengan memperhitungkan kemampuan penduduk agar seluruh
penduduk dapat berpartisipasi aktif dalam dinamika pembangunan tersebut.
Sebaliknya, pembangunan tersebut baru dikatakan berhasil jika mampu
meningkatkan kesejahteraan penduduk dalam arti yang luas
(ww.bappenas.go.id/get-file-server/node/8562/. April, 7, 2013).
2.2. Jaringan Syaraf Tiruan

Jaringan saraf tiruan (JST), atau juga disebut simulated neural network
(SNN), atau umumnya hanya disebut neural network (NN)), adalah jaringan dari
sekelompok unit pemroses kecil yang dimodelkan berdasarkan jaringan saraf
manusia. Jaringan saraf tiruan merupakan sistem adaptif yang dapat mengubah
strukturnya untuk memecahkan masalah berdasarkan informasi eksternal maupun
internal yang mengalir melalui jaringan tersebut. Secara sederhana, JST adalah
sebuah alat pemodelan data statistik non-linier. JST dapat digunakan untuk
memodelkan hubungan yang kompleks antara input dan output untuk menemukan
pola-pola pada data (Arief Hermawan, 2006, hlm. 5).
2.2.1. Model Jaringan Syaraf Tiruan

Seperti halnya otak manusia, jaringan syaraf tiruan terdiri dari

beberapa neuron dan ada hubungannya antara neuron-neuron tersebut.

Beberapa neuron akan mentranformasikan informasi yang diterimanya

melalui sambungan keluaran menuju neuron-neuron lainnya. Dengan kata

lain, neuron/sel saraf adalah sebuah unit pemroses informasi yang

merupakan dasar operasi jaringan syaraf tiruan. Neuron ini dimodelkan

dari penyederhanaan sel syaraf manusia sebenarnya. Gambar dibawah ini

menunjukan contoh suatu neuron (Arief Hermawan, 2006, hlm. 5).


Gambar 2.2. Struktur Unit Jaringan Syaraf Tiruan

2.2.2. Backpropagation

Penemuan Backpropagation yang terdiri dari beberapa


layar membuka kembali cakrawala. Terlebih setelah berhasil
ditemukannya berbagai aplikasi yang dapat diselesaikan
dengan Backpropagation, membuat Jaringan Syaraf Tiruan
semakin diminati orang. Backpropagation melatih jaringan
untuk mendapatkan keseimbangan antara kemampuan jaringan
untuk mengenali pola yang digunakan selama pelatihan serta
kemampuan jaringan untuk memberikan respon yang benar
terhadap pola masukan yang serupa (Diyah Puspitaningrum,
2006, hlm. 125)
3. ANALISIS DAN PERANCANGAN SISTEM

3.1. Analisis Data

3.1.1. Kebutuhan Fungsional

Kebutuhan fungsional pada aplikasi prediksi jumlah penduduk ini

adalah sebagai berikut :


1. Pengujian Data

Fungsi ini berguna untuk mengetahui tingkat keakuratan nilai prediksi

dengan nilai aktualnya.

2. Pelatihan Data

Fungsi ini berguna untuk melatih jaringan hingga diperoleh bobot yang

sesuai.

3. Prediksi

Fungsi ini berguna jika user memprediksi jumlah penduduk tahunan

tertentu secara khusus.

3.1.2. Analisis Kebutuhan Data

Dalam pelatihan Jaringan Syaraf Tiruan, banyak data yang dibutuhkan


supaya jaringan dapat dilatih dengan benar. Data yang digunakan dibagi menjadi
dua, yaitu data yang akan dijadikan bahan pelatihan serta data yang akan diujikan.
Semakin banyaknya data yang digunakan dalam pelatihan, jaringan akan mudah
mengenali polanya dan diharapkan hasil prediksinya mendekati sempurna
3.1.2.1. Analisis Kebutuhan Perangkat Lunak

Perangkat lunak (Software) yang digunakan dalam

pelatihan Jaringan Syaraf Tiruan ini adalah :

1. MATLAB 7.10 beserta toolbox Neural Network untuk pembuatan jaringan

dan GUIDE MATLAB untuk pembuatan user interface, juga M-File editor untuk

penulisan program.

2. Microsoft Excel 2010 untuk penyimpanan data masukan bagi jaringan


3.2. Perancangan Jaringan Backpropagation

Proses pembuatan jaringan dijelaskan dalam langkah-langkah aplikasi,

yaitu langkah pertama adalah mengumpulkan data untuk pelatihan dan

pengujian jaringan syaraf tiruan. Semakin banyak data dapat diperoleh,

semakin baik jaringan jaringan dapat menyelesaikan masalahnya. Data yang

telah diperoleh ini dipisahkan pada langkah ke 2 menjadi 2 bagian. Bagian

pertama digunakan untuk melatih jaringan syaraf dan bagian kedua

dipergunakan untuk menguji kerja jaringan syaraf tiruan.

Pada langkah ke 3 dan ke 4 dilakukan pemilihan arsitektur dan algoritma

pelatihan jaringan. Banyaknya sel input dan output disesuaikan dengan

masalah yang akan diselesaikan.

Langkah ke 5 adalah langkah untuk menginisialisasi parameter jaringan

syaraf bobot, bias, konstanta belajar, momentum dan lain-lain. Langkah ke 6

dan ke 7 dilakukan untuk melatih jaringan syaraf tiruan untuk menemukan

titik konvergensinya. Konvergensi jaringan syaraf tiruan di tandai dengan

telah tercapainya galat yang diinginkan. Setelah jaringan syaraf konvergen

diujikan pada langkah ke 8. Selanjutnya langkah ke 9 jaringan syaraf tiruan di

implementasikan sebagai sebuah sistem yang siap untuk menyelesaikan

masalah. (Arief Hermawan, 2006, hlm.142).

3.2.1. Pengumpulan Data dan Penentuan Pola

Data jumlah penduduk tahunan didapat dari Badan Pusat Statistik

(BPS) Yogyakarta yaitu data dari Tahun 1989 sampai Tahun 2022. Total
data adalah 24 data yang akan dibagi 2 yaitu 16 data untuk pelatihan

jaringan, dan 8 data untuk pengujian jaringan.

Data jumlah penduduk tersebut dibagi menjadi 2 yaitu data tahun

1989 sampai 2004 digunakan sebagai data pelatihan jaringan, dan data

tahun 2005 sampai tahun 2022 digunakan sebagai data pengujian jaringan.

3.2.1.1. Algoritma Pelatihan

Algoritma pelatihan jaringan backpropagation yang

memiliki tiga lapisan dengan fungsi aktivasi sigmoid biner serta

penambahan momentum adalah sebagai berikut:

1. Inisialisasi bobot dan bias secara acak dengan bilangan acak

kecil.

2. Tetapkan jumlah epoch maksimum, batas galat, laju

pembelajaran dan momentum.

3. Selama kondisi penghentian belum terpenuhi (epoch < epoch

maksimum dan MSE > batas galat), maka lakukan langkah-

langkah berikut :

1. Epoch = Epoch + 1

2. Untuk setiap pasang data pelatihan, kerjakan Fase Feed

Forward, Fase Backpropagation dan Fase Perubahan

Bobot
Contoh Perhitungan

Misalnya dalam kasus ini akan dibuat sebuah jaringan syaraf tiruan

backpropagation dengan masukan data jumlah penduduk tahun 1989 – tahun

2004, dan data tahun 2005 – tahun 2012 sebagai target keluaran. Karena fungsi

aktifasi dengan menggunakan sigmoid biner (range 0 sampai dengan 1), maka

data harus ditransformasikan [0,1]. Tapi akan lebih baik di transformasikan pada

range [0,1 - 0,9] karena fungsi sigmoid nilainya tidak pernah 0 ataupun 1.

Untuk mentransformasikan data digunakan rumus sebagai berikut :


X’ = 0.8 (x – a)
+ 0.1
b-a
x = Data awal
a = Nilai minimal data awal
b = Nilai maksimal data awal

Perhitungan dilakukan hingga data tahun 2012. Sehingga didapatkan


keseluruhan data yang telah ditransformasi sebagai berikut :
Table 3.5. Tabel data yang telah di transformasi

Tahun Jumlah Tahun Jumlah Tahun Jumlah


1989 0.1652 1997 0.43 2005 0.704
1990 0.1936 1998 0.4532 2006 0.7158
1991 0.2167 1999 0.4915 2007 0.7546
1992 0.2321 2000 0.5348 2008 0.7713
1993 0.175 2001 0.5741 2009 0.7927
1994 0.1 2002 0.6116 2010 0.8186
1995 0.3497 2003 0.6402 2011 0.8632
1996 0.3497 2004 0.6808 2012 0.9

Setelah data ditransformasikan seperti diatas, selanjutnya adalah

menentukan pola yang akan digunakan pada jaringan syaraf tiruan yang akan

dibuat. Dengan memecah data menjadi dua bagian yaitu 16 data pelatihan dan 8
data pengujian. Pada kasus ini pola data pelatihan adalah 8 data sebagai data

masukan dan 8 data sebagai data target, artinya data jumlah penduduk tahun 1989

– tahun 1996 sebagai masukan dan data jumlah penduduk tahun 1997 – tahun

2004 sebagai target dan data pelatihan ditransformasi pada range 0 – 1 :

Setelah itu kemudian dilakukan inisialisasi bobot secara acak dengan

angka yang berada di antara angka -1 hingga 1.

Fase Feed Forward

a. Tiap unit masukan xi (i = 1, 2, 3,...,n) menerima sinyal dan

meneruskannya ke semua unit lapisan tersembunyi di atasnya.

b. Setiap unit di lapisan tersembunyi zj (j = 1, 2, 3, ..., p) menjumlahkan

sinyal-sinyal input dengan bobotnya masing-masing:


n
z_netj = v j 0   xi v ji
i1

vjo = bobot garis yang menghubungkan bias di unit masukan ke unit

di lapisan tersembunyi zj

vji = bobot garis dari unit masukan xi ke unit di lapisan tersembunyi

zj

Sinyal output dihitung dengan fungsi aktivasi:


zj = f(z_netj) = 1
 z _ net
1e j

c. Unit di lapisan keluaran yk (k = 1, 2, 3, ..., m) menjumlahkan sinyal-

sinyal dari unit tersembunyi dengan bobotnya masing-masing:


p
y_netk = wk 0   z j wkj
j 1

wko = bobot garis yang menghubungkan bias di unit lapisan


tersembunyi ke unit lapisan keluaran yk

wkj = bobot garis dari unit lapisan tersembunyi zj ke unit di lapisan


keluaran yk

Sinyal output dihitung dengan fungsi aktivasi:

yk = f(y_netk) = 1
 y _ net k
1e

Fase Backpropagation
d. Unit di lapisan keluaran yk (k = 1, 2, 3, ..., m) menerima target lalu
dibandingkan dengan masukan yang diterimanya. Factor galat dihitung
dengan menggunakan persamaan :
δ k = (t k – y k) f’(y_netk) = (t k – y k) y k (1 - y k)
dimana δk merupakan kesalahan yang akan dipakai dalam perubahan
bobot lapisan di bawahnya.
Perubahan bobot Δwkj dihitung untuk merubah bobot wkj dengan laju
pembelajaran α
Δwkj = α.δk.zj
e. Hitung factor δ unit tersembunyi berdasarkan kesalahan disetiap unit
tersembunyi zj :
m
δ_netj = 
k 1
k wkj

Nilai ini dikalikan dengan turunan fungsi aktivasinya untuk


mendapatkan informasi galat:
δ j = δ _netj f’(z_netj) = δ _netj zj (1 - zj)
Kemudian dihitung perubahan bobot Δvji
Δvji = α δj x
Fase Perubahan Bobot

f. Prubahan bobot garis yang menuju ke unit keluaran ditambah factor

momentum (µ) :

wkj (t+1) = wkj (t) + Δwkj + μ (wkj (t) - wkj (t-1)) bk

(t+1) = bk (t) + Δbk + μ (bk (t) - bk (t-1)) perubahan

bobot garis menuju ke unit tersembunyi : vji (t+1) =

vji (t) + Δvji + μ (vji (t) - vji (t-1))

bj (t+1) = bj (t) + Δbj + μ (bj (t) – bj (t-1))

3.2.2. Alur Kerja Program

Mulai

Masukan data dalam format .xls

Mencari data

Data ada/ Tidak


tidak

Ya
Memproses data

Tampilkan hasil proses data

Selesai

Gambar 3.3. Flowchart alur kerja program


4. HASIL DAN PEMBAHASAN

4.1.1. Membangun Jaringan dengan MATLAB


Langkah pertama yang harus dilakukan untuk memprogram
backpropagation dengan MATLAB adalah membuat inisialisasi jaringan.
Perintah untuk membentuk jaringan adalah newff. Yang formatnya
adalah sebagai berikut:
net = newff(PR,[S1 S2 ... SN],{TF1 TF2 …
TFN},BTF,BLF,PF)
dengan keterangan :
net = Jaringan backpropagation yang terdiri dari n layer
PR = Matriks ordo R x 2 yang berisi nilai minimum dan
maksimum R buah elemen masukannya.
Si = Fungsi aktivasi yang dipakai pada layar ke-i (i=1,2,...,n).
Default = tansig (sigmoid bipolar)
BTF = Fungsi pelatihan jaringan. Defaultnya = traingdx
BLF = Fungsi perubahan bobot/bias. Default=learngdm
PF = Fungsi perhitungan error (Mean Square Error MSE)
Sebelum pelatihan dilakukan, terlebih dahulu ditentukan nilai
parameter yang diinginkan guna memperoleh hasil yang optimal. Untuk
memberikan nilai parameter dalam MATLAB adalah sebagai berikut :
1. Net.trainParam.Show
Perintah yang digunakan untuk menampilkan frekuensi perubahan
MSE (default setiap 25 epochs)
2. Net.trainParam.epochs
Perintah yang dipakai untuk menentukan jumlah epochs
maksimum pelatihan (default 100 epochs)
3. Net.trainParam.goal
Perintah untuk menentukan batas MSE agar iterasi dihentikan.
Iterasi akan berhenti jika MSE < dari batas yang ditentukan atau jumlah
epoch telah mencapai maksimum sesuai nilai yang diberikan pada perintah
net.trainParam.epochs
4. Net.trainParam.lr
Perintah yang digunakan untuk menentukan laju pembelajaran
(learning rate). Default-nya adalah 0,01. Semakin besar nilai laju
pembelajaran, semakin cepat pula proses pelatihan. Akan tetapi jika
nilainya terlalu besar, algoritma menjadi tidak stabil dan mencapai titik
minimum lokal.
5. Net.trainParam.time
Perintah untuk membatasi lama pelatihan (dalam detik). Pelatihan
dihentikan jika lamanya melebihi nilai yang ditentukan.
6. Net.trainParam.mc
Perintah ini digunakan untuk menentukan nilai momentum antara 0
– 1 (default adalah 0,9).

4.1.2. Pembahasan Output Program


Setelah dilakukan pelatihan dengan berbagai macam kombinasi Pelatihan
(pembelajaran), nilai Error (The Last RMSE) tidak tergantung pada besarnya nilai
Learning Rate, tetapi jumlah iterasi (epoch) semakin kecil. Dan ternyata hasil
yang paling baik adalah dengan menggunakan kombinasi pembelajaran(learning
rate) 0.1, momentum 0.25, hiden layer 25 dengan target error 0.0001, karena
dengan kombinasi pembelajaran tersebut hasil target yang akan diinginkan dapat
tercapai.
Dari hasil pengujian sistem aplikasi model jaringan saraf tiruan yang telah
dibuat dengan konstanta belajar 0.1, keberhasilan dalam memprediksi hasil jumlah
penduduk sebesar 97,5 %. Tabel 4.1. menunjukkan hasil pengujian dengan
beberapa learning rate, momentum, hiden layer, serta target error.
Table 4.1. Presentase kebenaran & epoch yang dicapai

Momentum Learning Hiden Epoce(iterasi) The Last Hasil


Rate Layer RMSE Porsentase
m=0.25 0.1 25 168 0.0000992 97,5 %.
0.5 131 0.0000996 95 %
0.9 129 0.0000955 90 %
m=0.5 0.1 50 109 0.0000995 95 %
0.5 90 0.0000959 90 %
0.9 38 0.0000988 92,5 %
m=0.75 0.1 75 86 0.0000941 85 %
0.5 52 0.0000904 80 %
0.9 82 0.0000987 92,5 %

Pada pelatihan yang baik adalah performance mengalami

penurunan nilai mendekati goal yang ditentukan, namun pada pelatihan

tersebut performance menunjukan penurunan dan juga kenaikan yang

menjauhi nilai goal.

1. Menu utama akan tampil sebagai berikut :

Gambar 4.2. Tampilan halaman utama program


2. Tampilan menu ‘Program_Latih dan Uji’ yang merupakan sub-menu

dari menu program untuk melakukan pelatihan dan pengujian jaringan

sebagai berikut :

3. Tampilan menu ‘Prediksi Jumlah Penduduk sebagai berikut :


5. Kesimpulan

1. Dari hasil penelitian, dapat disimpulkan bahwa metode

Backpropagation dapat digunakan untuk melakukan pendeteksian

jumlah penduduk, mendekati ketepatan dalam melakukan pengujian.

2. Semakin kecil batas galat yang ditentukan, maka akan mengalami

waktu pelatihan yang semakin lama serta epoch yang dicapai semakin

besar.

3. Hasil pengujian data yang telah dilatih menunjukkan performa yang

cukup baik. Selisih antara target yang sebenarnya dengan hasil output

program tidak menunjukkan perbedaan yang begitu besar.

4. Semakin banyak data yang digunakan untuk pelatihan, jaringan akan

semakin mampu mengenali pola, sehingga penentuan nilai galat dapat

diperkecil.

5. Fasilitas MATLAB yang menyediakan fitur-fitur untuk perhitungan

neural network sangat membantu dalam pembuatan aplikasi Jaringan

Syaraf Tiruan. Meskipun fasilitas GUIDE MATLAB 7.10.0 masih

terbatas jika dibandingkan dengan perangkat lunak lainnya.


5. DAFTAR PUSTAKA

Amutiara. 2013. Backpropagtion dan contoh. http : //amutiara.


staff.gunadarma.ac.id/Downloads/files/15556/Kuliah_7b_BACK
PROPAGATIONS. diakses pada tanggal 5 April 2013.

Anonim. 2013. Accelerating the pace of engineering and science. http :


//www.mathworks.com. diakses pada tanggal 31 Maret 2013.

Anonim. 2013. Pengertian Penduduk. http : //repository


.usu.ac.id/bitstream/123456789/19103/3/Chapter. diakses pada
tanggal 4 April 2013.

Anonim. 2013. Programming and Algorithm Development, http :


//www.mathworks.com/products/matlab/description4.html. diakses
pada tanggal 4 April 2013.

Anonim. 2013. rumus pertumbuhan geometric. http : //www.datastatistik-


indonesia.com. diakses pada tanggal 7 April 2013.

Hermawan, Arief. 2006. Jaringan Saraf Tiruan, Teori dan Aplikasi


Yogyakarta: Penerbit Andi.

Kristanto, Andi. 2004. Jaringan Syaraf Tiruan. Yogyakarta: Penerbit


Gava Media.

Puspitaningrum, Diyah. 2006. Pengantar Jaringan Syaraf Tiruan.


Yogyakarta : Penerbit Andi.

Tjiptoherijanto, Prijono. 2013. Dimensi Kependudukan Dalam


Pembangunan Berkelanjutan. http : //www.bappenas.go.id/get-file-
server/node/8562/. diakses pada tanggal 7April 2013.

Anda mungkin juga menyukai