Jurnal EKSPONENSIAL Volume 3, Nomor 1, Mei 2012
ISSN 2085-7829
Sistem Peramalan Jumlah Produksi Air PDAM Samarinda Menggunakan Jaringan Syaraf Tiruan Backpropagation Anindita Septiarini1 dan Nur Sya’baniah2 1 Program Studi Ilmu Komputer FMIPA, Universitas Mulawarman Email:
[email protected] 2 Program Studi Ilmu Komputer FMIPA, Universitas Mulawarman Email:
[email protected]
Abstract An accurate forecasting system of the amount of water production is required by Regional Water Company (PDAM) to determine the policy (making decision) in the field of water production. The object of the research designing and developing a forecasting system using artificial neural networks and backpropagation algorithm. In this research, the data is selected consider the influence to the forecasting amount of water production, in this case become input of ANN, i.e.: number of population, number customer by the type of them, the amount of water processed, the amount water that used in installations for the production, the amount water delivered, leakage and the amount water treatment plant. The output of the application is the prediction results of production. The used data is production data recorded on PDAM, started year 2000 to 2009. The algorithm which used for forecasting the water production is the back propagation algorithm. Based on the results of research, obtained that the hidden layer is 80 units, galat is 0.1 and learning rate is 0.01 and traingdx learning techniques have gaven an optimal test result. Keywords: Forecasting the amount of Water Production, Artificial Neural Networks, Back propagation.
Pendahuluan Air merupakan salah satu sumber daya alam yang memiliki fungsi sangat penting dan merupakan komponen lingkungan hidup yang penting bagi kelangsungan hidup manusia dan mahluk hidup lainnya. Seiring pertumbuhan penduduk di Samarinda, maka jumlah air yang diproduksi secara terus menerus menunjukkan peningkatan sejalan dengan peningkatan kebutuhan air bersih di masyarakat. Akibatnya timbul beberapa faktor persoalan dalam menghadapi kebutuhan air, salah satunya apabila jumlah air yang di produksi dan disalurkan lebih besar daripada permintaan akan air, maka akan timbul persoalan pemborosan volume air pada perusahaan. Sedangkan apabila jumlah air yang diproduksi dan disalurkan lebih sedikit atau tidak memenuhi kebutuhan konsumen maka akan terjadi air tidak mengalir, yang akibatnya merugikan pihak konsumen. Oleh karena itu diperlukan penyusuaian antara persediaan produksi air dengan permintaan atau kebutuhan air pada konsumen. Syarat mutlak yang pertama harus dilaksanakn untuk mencapai tujuan itu adalah pihak PDAM mengetahui permintaan air di masa depan sehingga jumlah produksi air pun bisa diprediksi. Untuk menghadapi resiko serta menghindari kemungkinan pemborosan maka diperlukan perhitungan yang dapat memberikan gambaran seberapa besar
Program Studi Statistika FMIPA Universitas Mulawarman
produksi yang dihasilkan untuk memenuhi kebutuhan pelanggan pada masa akan datang. Pada penelitian ini prediksi menggunakan teknik kecerdasan buatan menggunakan Jaringan Syaraf Tiruan (JST). Konsep dari JST untuk memprediksi jumlah produksi air PDAM dengan cara pola data jumlah produksi air PDAM periode masa lalu yang dimasukkan kedalam sistem dilakukan proses pelatihan menggunakan JST dengan metode Backpropagation. Setelah dilakukan proses pelatihan, sistem akan menghasilkan bobot-bobot yang akan digunakan untuk memprediksi jumlah produksi air PDAM pada periode tahun-tahun selanjutnya. Pada penerapan tersebut dapat dilihat arti penting suatu peramalan terhadap kebutuhan manajemen produksi jumlah air PDAM. Hasil peramalan akan sangat berguna bagi PDAM Samarinda untuk masa yang akan datang, karena jumlah produksi air merupakan faktor utama dalam pelayanan penyaluran air. Oleh sebab itu pentingnya suatu peramalan untuk produksi air agar dapat memenuhi kebutuhan air pada pelanggan sehingga tidak adanya kekurangan dalam produksi tersebut. Jaringan Syaraf Tiruan Backpropagation Jaringan syaraf tiruan (JST) adalah sistem pemroses informasi yang memiliki karakteristik mirip dengan jaringan syaraf biologi / manusia.
43
Jurnal EKSPONENSIAL Volume 3, Nomor 1, Mei 2012
ISSN 2085-7829
Arsitektur Backpropagation Backpropagation terdiri dari n buah masukan (ditambah sebuah bias), sebuah layar tersembunyi yang terdiri dari p unit (ditambah sebuah bias), serta m buah unit keluaran. Voj dan W0k masingmasing adalah bias untuk unit tersembunyi ke-j dan untuk output ke-k. Bias Voj dan W0k berperilaku seperti bobot dimana output bias ini selalu sama dengan 1. Vij adalah bobot koneksi antara unit ke-i lapisan input dengan unit ke-j lapisan tersembunyi, sedangkan Wjk adalah bobot koneksi antara unit kei lapisan tersembunyi dengan unit ke-j lapisan output.
Tahap Umpan Maju 3. Setiap unit input xi (dari unit ke-1 sampai unit ke-n pada lapisan input) mengirimkan sinyal input ke semua unit yang berada di lapisan di atasnya (ke lapisan tersembunyi). 4. Pada setiap unit dilapisan tersembunyi z j (dari unit ke-1 sampai unit ke-p; i=1,…,n; j=1,…,p) sinyal output lapisan tersembunyinya dihitung dengan menerapkan fungsi aktivasi sigmoid terhadap penjumlahan sinyal-sinyal input berbobot xi, kemudian dikirim kelapisan diatasnya. n
z j v jo xi v ji i 1 5.
(2.1)
Setiap unit di lapisan output yk (dari unit ke-1 sampai unit ke-m; i=1,…,n; k=1,…,m) dihitung sinyal outputnya dengan menerapkan fungsi aktivasi terhadap penjumlahan sinyalsinyal input berbobot zj bagi lapisan ini. p
yk wko z j wkj
(2.2)
j 1
Gambar 1 Arsitektur Backpropagatio Algoritma Pelatihan Backpropagation Algoritma backpropagation dapat dibagi menjadi 2 bagian yaitu: 1. Algoritma pelatihan. Terdiri dari 3 tahap: tahap umpan maju, tahap propagasi mudur, dan tahap perubahan bobot. Ketiga fase tersebut diulang-ulang terus hingga kondisi penghentian terpenuhi. Umumnya kondisi penghentian yang sering dipakai adalah jumlah iterasi atau kesalahan. Iterasi akan dihentikan jika jumlah iterasi yang dilakukan sudah melebihi jumlah maksimum dari yang ditetapkan, atau jika kesalahan yang terjadi lebih kecil dari batas toleransi yang diijinkan. 2. Algoritma aplikasi. Yang digunakan hanyalah tahap umpan maju saja. Algoritma Pelatihan 0. Inisialisasi bobot-bobot. Tentukan angka pembelajaran . Tentukan pula nilai toleransi error atau nilai ambang (bila menggunakan nilai ambang sebagai kondisi berhenti); atau set maksimal epoch/siklus setiap pola pelatihan (bila menggunakan epoch sebagai kondisi berhenti). 1. While kondisi berhenti tidak terpenuhi do langkah ke-2 sampai langkah ke-9. 2. Untuk setiap pasangan pola pelatihan, lakukan langkah ke-3 sampai ke-8. 44
Tahap Propagasi Mundur 6. Setiap unit output yk (dari unit ke-1 sampai unit ke-m; j=1,…,p; k=1,…,m) menerima poola target tk lalu informasikesalahan lapisan output dihitung. dikirim ke lapisan di k
k
bawahnya dan digunakan untuk menghitung besar koreksi bobot dan bias ( ∆wjk dan ∆w0k) antara lapisan tersembunyi dengan lapisan output: (2.3) y f ' y y y 1 y
t
k
k
k
k
t
k
k
k
k
merupaksn unit kesalahan yang akan
k
dipakai dalam perubahan bobot layar dibawahnya (langkah 7). Hitung suku perubahan bobot wjk (yang akan dipakai nanti untuk merubah bobot wjk) dengan laju percepatan α (2.4) w jk k z j w0k k
7.
(2.5)
Pada setiap init dilapisan 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 ( ∆vij dan ∆v0j) antara lapisan input dengan lapisan tersembunyi: n m k w jk f ' voj xi vij i 1 k 1 vij j zi
(2.6)
j
v 0j
j
(2.7) (2.8)
Program Studi Statistika FMIPA Universitas Mulawarman
Jurnal EKSPONENSIAL Volume 3, Nomor 1, Mei 2012
Tahap Perubahan Bobot 8. Pada setiap unit output yk (dari unit ke-1 sampai unit ke-m) dilakukan peng-update-an bias dan bobot (j=0,…,p; k=1,…,m;) sehingga bias dan bobot yang baru menjadi: wjk(baru) = wjk(lama) + ∆wjk (2.9) Dari unit ke-1 sampai unit ke-p dilapisan tersembunyi juga dilakukan peng-Update-an pada bias dan bobotnya (i=0,…,n; j=1,…,p): vij(baru) = v0j(lama) + ∆vij (2.10) 9.
Tes kondisi berhenti
4.
f
n
v jo i1 xi v ji
(2.11)
Setiap unit output yk (dari unit ke-1 sampai unit ke-m; j=1,…,p; k=1,…,m) menghitung sinyal outputnya dengan menerapkan fungsi aktivasi terhadap penjumlahan sinyal-sinyal input bagi lapisan ini, yaitu sinyal-sinyal input zj dari lapisan tersembunyi:
yk f wko j1 z j wkj p
2.
3. 4.
5. 6. 7.
Algoritma Aplikasi 0. Inisialisasi bobot. Bobot ini diambil dari bobot-bobot trakhir yang diperoleh dari algoritma pelatihan. 1. Untuk setiap vector input, dilakukan langkah ke-2 sampai ke-4. 2. Setiap unit input xi (dari unit ke-1 sampai unit ke-n pada lapisan input; i=1,..,n) menerima sinyal input pengujian xi dan menyiarkan sinyal xi ke semua unit pada lapisan diatasnya (unit-unit tersembunyi). 3. Setiap unit di lapisan tersembunyi zj (dari unit ke-1 sampai unit ke-p; i=1,..,n; j=1,…,p) menghitung sinyal outputnya dengan menerapkan fungsi aktivasi terhadap penjumlahan sinyal-sinyal input xi. Sinyal output dari lapisan tersembunyi kemudian dikirim ke semua unit pada lapisan di atasnya:
zj
ISSN 2085-7829
(2.12)
Hasil dan Pembahasan Data diambil dari data primer dan sekunder dari PDAM Samarinda dan Badan Statistika Samarinda. Data primer diperoleh dari observasi lapangan sedangkan data sekunder adalah data berkala (time series). Data yang dipergunakan untuk pembelajaran adalah data sebenarnya (actual data), mulai tahun 2000 sampai dengan 2008. Sedangkan tahun 2009 sebagai data pengujian yang dilakukan pada tahap prediksi. Yang termasuk sebagai masukkan secara berurutan adalah 1. Jumlah penduduk, disimpan pada variabel X1
Program Studi Statistika FMIPA Universitas Mulawarman
8. 9. 10. 11. 12. 13.
Jumlah pelanggan menurut jenis pelanggan rumah tangga tinggal, disimpan pada variabel X2 Jumlah pelanggan menurut jenis pelanggan hotel/objek wisata, disimpan pada variabel X3 Jumlah pelanggan menurut jenis pelanggan badan sosial, tempat ibadah, dan rumah sakit, disimpan pada variabel X4 Jumlah pelanggan menurut jenis pelanggan MCK/umum, disimpan pada variabel X5 Jumlah pelanggan menurut jenis pelanggan niaga dan industri, disimpan pada variabel X6 Jumlah pelanggan menurut jenis pelanggan instalasi pemerintahan, disimpan pada variabel X7 Jumlah pelanggan menurut jenis pelanggan pelabuhan, disimpan pada variabel X8 Jumlah air diolah, disimpan pada variabel X9 Jumlah pemakaian air diinstalasi untuk produksi, disimpan pada variabel X10 Jumlah air yang disalurkan PDAM/terjual, disimpan pada variabel X11 Kebocoran, disimpan pada variabel X12 Jumlah intek pengolahan air/IPA, disimpan pada variabel X13.
Simulasi Peramalan Simulasi peramalan produksi air dengan JST metode backpropagation dilakukan dengan menggunakan program MATLAB7 melalui langkah-langkah sbb.: a. Menyusun Training Set Data (TSD). TSD disusun sebagaimana tersaji dalam Tabel 1. b. Membuat Arsitektur Jaringan. (lihat Gambar 3). c. Melakukan Pembelajaran Jaringan. d. Melakukan simulasi peramalan jumlah produksi menggunakan JST dengan masukan baru, dimana masukan baru tersebut merupakan data proyeksi dari 13 faktor penting yang berpengaruh dalam ramalan mulai tahun 2010 sampai dengan 2015. (lihat tabel 2) e. Diperolehnya hasil keluaran peramalan beban tenaga listrik tahun 2010-2015. Ketika proses pelatihan berlangsung, grafik pelatihan yang menunjukkan perbandingan antara error dan epoch akan ditampilkan hingga jaringan konvergen atau epoch (iterasi maksimum), dan hasil evaluasi data pelatihan yang menunjukkan koefisiensi kolerasi bernilai 0.949 (mendekati 1), menunjukkan hasil yang baik untuk kecocokan output jaringan dengan target sebagaimana terlihat pada gambar 2 dan 3. Hasil-Hasil Simulasi Hasil simulasi dari penelitian ramalan jumlah produksi air yang dilakukan untuk tahun 2010-2015 dapat dilihat pada gambar 2, gambar 3, tabel 2 dan tabel 3. 45
Jurnal EKSPONENSIAL Volume 3, Nomor 1, Mei 2012
ISSN 2085-7829
Tabel 1. Data masukkan dan data target untuk pembelajaran Satuan A DATA MASUKKAN 1 Jumlah Penduduk Jumlah Pelanggan menurut Jenis Pelanggan 2 Rumah Tangga Tinggal 3 Hotel/Objek Wisata 4 Badan Sosial, tempat Ibadah dan Rumah Sakit 5 MCK/Umum 6 Niaga dan Industri 7 Instalasi Pemerintahan 8 Pelabuhan 9 Jumlah Air diolah 10 Jumlah Pemakaian Air di Instalasi untuk Produksi 11 Jumlah Air yang disalurkan PDAM / Terjual 12 Kebocoran 13 Jumlah Intek Pengolahan Air / IPA B DATA TARGET 1 Produksi
2000
2001
2002
2003
2004
2005
2006
2007
2008
516,916
529,767
539,726
561,471
569,004
576,047
588,135
593,827
602,117
Orang Sambungan Sambungan Sambungan Sambungan Sambungan Sambungan Sambungan Sambungan M3 M3 M3 M3 Unit
47,923 52,601 54,359 55,493 55,960 63,585 71,172 76,639 82,983 59 120 1,992 2,111 2,241 2,980 3,468 39 42 389 455 418 432 439 479 525 564 899 331 393 267 272 277 273 268 272 266 2,910 3,382 1,807 1,848 1,968 2,138 2,247 6,382 6,559 707 139 114 113 132 99 133 100 102 4 4 4 4 5 5 5 5 5 25,838,609 27,393,908 29,231,338 31,144,838 35,326,099 42,232,268 44,168,658 41,404,532 49,188,843 681,726 825,854 643,060 751,870 2,151,839 2,985,055 2,881,007 1,525,850 2,802,777 15,046,891 17,013,394 18,954,364 20,826,031 22,623,162 24,733,957 26,423,282 28,110,828 32,219,074 10,109,992 9,554,660 9,633,914 9,566,937 10,551,098 14,513,256 14,864,369 11,967,854 14,166,992 8 8 9 9 10 11 11 11 11
M3
25,156,883 26,568,054 28,588,278 30,392,968 33,174,260 39,247,213 41,287,651 40,078,682 46,386,066
Jumlah Penduduk
x1
Jumlah pelanggan rumah tangga tinggal
x2
Jumlah pelanggan hotel dan objek wisata
x3
Jumlah pelanggan badan sosial,tempat ibadah & RS
x4
Jumlah pelanggan MCK/Umum
x5
Jumlah pelanggan niaga dan industri
x6
Jumlah pelanggan instalasi pemerintahan
x7
Jumlah pelanggan pelabuhan
x8
Jumlah air diolah
x9
Jumlah pemakaian air di instalasi untuk produksi
x10
Jumlah air yang disalurkan PDAM / terjual
x11
Jumlah kebocoran
x12
Jumlah instalasi pengolahan air / IPA
x13
Prediksi Produksi Air
Lapisan Masukkan
Lapisan tersembunyi
Lapisan Keluaran
Gambar 2 Arsitektur jaringan untuk memprediksi jumlah produksi air Tabel 2 Data Hasil Proyeksi Masukkan untuk Prediksi
Tahun 2010 2011 2012 2013 2014 2015
46
X1 607010 607500 607630 607660 607670 607670
X2 X3 87671 39 88137 39 88260 39 88291 39 88298 39 88300 39
X4 937 942 943 943 943 943
X5 40 19 13 12 11 11
X6 7058 7106 7119 7122 7123 7123
Data Masukkan X7 X8 X9 110 5 49664000 111 5 49737000 111 5 49752000 111 5 49755000 111 5 49756000 111 5 49756000
X10 2264800 2218500 2205100 2201600 2200700 2200500
X11 31917000 31904000 31897000 31895000 31895000 31895000
X12 X13 15483000 11 15615000 11 15649000 11 15658000 11 15660000 11 15661000 11
Target 47400000 47518000 47546000 47553000 47555000 47555000
Program Studi Statistika FMIPA Universitas Mulawarman
Jurnal EKSPONENSIAL Volume 3, Nomor 1, Mei 2012
ISSN 2085-7829
Gambar 2 (a) Antarmuka Grafik Pelatihan (b) Antarmuka Hubungan antara Target dengan Output Jaringan untuk Pengujian Pada penelitian ini dilakukan 2 bagian percobaan yaitu menggunakan variabel pelatihan yang berbeda-beda dan menggunakan jumlah data
(matrik) yang berbeda untuk membandingkan selisih keluaran JST dengan data inputannya. Adapun hasil percobaan dapat dilihat pada table 3.
Tabel 3 Hasil Percobaan Variabel Pelatihan Jumlah Jumlah Rata-rata Selisih Lapisan Konstanta Tampilan Maksimal Matrik Matrik antra keluaran JST Galat Tersembunyi Belajar Iterasi Iterasi Pelatihan Prediksi dengan data inputan 1 80 0.01 0.01 10 100 13 x 9 13 x 7 -3.69599890263 2 80 0.95 0.1 100 1000 13 x 9 13 x 7 4.3080813772 3 30 0.01 0.1 100 100 13 x 9 13 x 7 -3.56747132497 4 50 0.25 0.01 1000 10 13 x 9 13 x 7 5 70 0.05 0.01 10 1000 13 x 9 13 x 7 3.3262067911 6 100 0.75 0.1 1000 100 13 x 9 13 x 7 -5.29181721391 7 100 0.75 0.01 1000 100 13 x 9 13 x 7 6.87016916089 8 80 0.01 0.1 100 100 13 x 12 13 x 4 -1.10154819226 9 30 0.01 0.1 50 1000 13 x 12 13 x 4 2.69522713729 10 50 0.25 0.01 50 100 13 x 12 13 x 4 3.58233686937 11 70 0.05 0.01 10 100 13 x 12 13 x 4 -3.01013234662 12 100 0.75 0.1 10 1000 13 x 12 13 x 4 4.94535471655 Dari hasil percobaan penelitian ini, diperoleh bahwa variabel pelatihan dan jumlah data Kesimpulan (matrik) yang digunakan mempengaruhi jumlah Jaringan syaraf tiruan metode backpropagation rata-rata selisih antara keluaran JST dengan data yang diterapkan pada sistem peramalan jumlah inputan. Percobaan 1 sampai dengan 7 merupakan produksi air memberikan hasil yang baik. Hal ini percobaan dimana variabel pelatihannya diubahditunjukkan dengan kecocokan output jaringan ubah dengan matrik pelatihan berukuran 13 x 9 dan dengan target yang koefisiensi kolerasi bernilai matrik prediksi berukuran 13 x 7. Percobaan 8 0.949 (mendekati 1). sampai dengan 12 merupakan percobaan dengan Penerapan jaringan syaraf tiruan untuk variabel pelatihan dengan matrik pelatihan peramalan membutuhkan waktu yang cukup lama berukuran 13 x 12 dan matrik prediksi berukuran 13 karena perlu melakukan banyak percobaan dalam x 4. menetapkan jumlah lapisan tersembunyi, penentuan Pada bagian percobaan 8 sampai dengan 9 besarnya konstanta belajar serta menerapkan teknik menunjukkan rata-rata selisih yang lebih kecil pembelajaran pada jaringan yang direncanakan. antara keluaran JST dengan data inputan Berdasarkan hasil penelitian didapat bahwa jumlah dibandingkan dengan percobaan 1 sampai dengan 7 layar tersembunyi sebanyak 80 unit, galat sebesar dikarenakan lebih banyaknya data pelatihan (matrik 0.1 dan konstanta belajar sebesar 0,01 dan teknik pelatihan) yang dilatihkan. pembelajaran traingdx telah memberikan hasil pengujian yang optimal. Percobaan
Program Studi Statistika FMIPA Universitas Mulawarman
47
Jurnal EKSPONENSIAL Volume 3, Nomor 1, Mei 2012
ISSN 2085-7829
Konstanta belajar merupakan nilai yang menunjukkan kecepatan belajar dari jaringan. Nilai yang terlalu tinggi dapat menyebabkan jaringan menjadi tidak stabil sedangkan nilai yang terlalu kecil dapat menjadikan waktu belajar yang lama. Semakin kecil galat, berpengaruh pada besarnya iterasi. Untuk menghasilkan proses pelatihan yang baik perlunya kombinasi dan pemilihan nilai lapisan tersembunyi, galat dan kontanta belajar seoptimal mungkin. Jumlah data yang digunakan pada penelitian berbanding lurus dengan kinerja sistem ini, artinya semakin banyak data latih yang digunakan untuk penelitian, hasil prediksinya akan semakin membaik. Daftar Pustaka 1. Amin, Z. 2010. ”Prediksi Jumlah Kebutuhan Air Bersih PDAM Madiun 5 Tahun Mendatang (2013)”. Skripsi Teknik Sipil, Universitas Sebelas Maret Surakarta. 2. Andrijasa, M.F. dan Mistianingsih. 2010. ”Penerapan Jaringan Syaraf Tiruan Untuk Memprediksi Jumlah Pengangguran di Provinsi Kalimantan Timur dengan Menggunakan Algoritma Pembelajaran Backpropagation”. Informatika Mulawarman. Vol 5 No. 1, pp. 50. 3. Hermawan, A. Jaringan Saraf Tiruan Teori dan Aplikasi. Yogyakarta: Penerbit Andi. 4. Kuncoro, A.H. dan Dalimi, R. 2005. ”Aplikasi Jaringan Syaraf Tiruan Untuk Peramalan Beban Tenagaa Listrik Jangka Panjang Pada Sistem Kelistrikan Di Indonesia”. Edisi No. 3, pp. 211-217 ISSN 0215-1685 5. Kusumadewi, S. 2004. Membangun Jaringan Syaraf Tiruan Menggunakan Matlab dan Excel Link. Yogyakarta: Graha Ilmu. 6. Siang, J.J. 2005. Jaringan Syaraf Tiruan dan Pemrogramannya Dengan Matlab. Yogyakarta: Penerbit Andi. 7. Sugiharto, A. 2006. Pemograman GUI dengan Matlab. Yogyakarta: Penerbit Andi.
48
Program Studi Statistika FMIPA Universitas Mulawarman