252
APLIKASI JARINGAN SYARAF TIRUAN UNTUK MEMPREDIKSI PENJUALAN OBAT Pada PT. METRO ARTHA PRAKARSA
MENERAPKAN METODE BACKPROPAGATION
Zulkarnain
Mahasiswa Teknik Informatika STMIK Budi Darma Jl. Sisingamangaraja No. 338 Simpang Limun, Medan
ABSTRAK
Jaringan Syaraf Tiruan (Artificial Neural Network) atau disingkat JST, adalah system komputasi dimana arsitektur dan operasi di ilhami dari pengetahuan tentang sel syaraf biologis dalam otak, yang merupakan salah satu representasi buatan dari otak manusia yang selalu mencoba menstimulasi proses pembelajaran pada otak manusia tersebut.Obat-obatan dalam kehidupan manusia yang sangat dibutuhkan untuk memelihara kesehatan atau mengobati segala jenis penyakit, Berdasarkan hal tersebut, banyak perusahaan pharmasi yang menjual atau memasarkan produk-produk obat-obatan yang diproduksi oleh perusahaan pharmaasi seperti Bernofarm, Kalbe dan lain-lain. PT. Metro Artha Prakarsa sebagai distributor obat-obatan dari berbagai merekBackpropagation merupakan salah satu metode yang sering digunakan dalam menyelesaikan masalah-masalah yang rumit. Hal ini dimugkinkan karena jaringan dengan metode ini dilatih dengan menggunakan metode belajar terbimbing.
Pada jaringan diberikan sepasang pola yang terdiri atas pola masukan dan pola yang diinginkan. Ketika suatu pola diberikan kepada jaringan, bobot-bobot diubah untuk memperkecil perbedaan pola keluaran dan pola yang diinginkan. Latihan ini dilakukan berulang-ulang sehingga semua pola yang dikeluarkan jaringan dapat memenuhi pola yang diinginkan.
Kata kunci: Prediksi penjualan obat , Jaringan Saraf Tiruan, Backpropagation
I. PENDAHULUAN
Jaringan Syaraf Tiruan (Artificial Neural Network) atau disingkat JST, adalah system komputasi dimana arsitektur dan operasi di ilhami dari pengetahuan tentang sel syaraf biologis dalam otak, yang merupakan salah satu representasi buatan dari otak manusia yang selalu mencoba menstimulasi proses pembelajaran pada otak manusia tersebut.
Obat-obatan dalam kehidupan manusia yang sangat dibutuhkan untuk memelihara kesehatan atau mengobati segala jenis penyakit, Berdasarkan hal tersebut, banyak perusahaan pharmasi yang menjual atau memasarkan produk-produk obat- obatan yang diproduksi oleh perusahaan pharmaasi seperti Bernofarm, Kalbe dan lain-lain. PT. Metro Artha Prakarsa sebagai distributor obat-obatan dari berbagai merek.
Permasalahan yang dialami PT. Metro Artha Prakarsa adalah melakukan prediksi penjualan Obat-obatan dengan hanya menggunakan pengalaman dan pemikiran dari beberapa orang saja sehingga sering kurang perhitungan. Dengan mengetahui berapa perkiraan Obat-obatan yang bakal terjual pada bulan depan maka dapat membantu perusahaan mengetahui berapa jumlah obat setiap bulan yang sebaiknya disediakan.
Backpropagation merupakan salah satu metode yang sering digunakan dalam menyelesaikan masalah-masalah yang rumit. Hal ini dimugkinkan karena jaringan dengan metode ini dilatih dengan menggunakan metode belajar terbimbing. Pada jaringan diberikan sepasang pola yang terdiri atas pola masukan dan pola yang diinginkan. Ketika
suatu pola diberikan kepada jaringan, bobot-bobot diubah untuk memperkecil perbedaan pola keluaran dan pola yang diinginkan. Latihan ini dilakukan berulang-ulang sehingga semua pola yang dikeluarkan jaringan dapat memenuhi pola yang diinginkan.
II. LANDASAN TEORI
A. Jaringan Sistem Saraf Tiruan
Jaringan Saraf Tiruan didefenisikan sebagai suatu sistem pemrosesan informasi yang mempunyai karakteristik menyerupai jaringan saraf manusia”.
Jaringan Saraf Tiruan (artificial neural network), atau disingkat JST adalah sistem komputasi dimana arsitektur dan operasi diilhami dari pengetahuan tentang sel saraf biologi dan otak, yang merupakan salah satu representasi bantuan dari otak manusia yang selalu mencoba menstimulasi proses pembelajaran pada otak manusia tersebut.
Model saraf ditunjukkan dengan kemampuannya dalam emulasi, analisis, prediksi dan asosiasi.
Kemampuan yang dimiliki JST dapat digunakan untuk belajar dan menghasilkan aturan atau operasi dari beberapa contoh atau input yang dimasukkan dan membuat prediksi tentang kemungkinan output yang akan muncul atau menyimpan karakteristik dari input yang disimpan kepadanya.
Algoritma Umum Jaringan Saraf Tiruan yaitu : Algoritma pembelajaran/ pelatihan Jaringan Saraf Tiruan:
Dimasukkan n contoh pelatihan ke dalam Jaringan Saraf Tiruan. Lakukan:
1. Inisialisasi bobot-bobot jaringan. Set i = 1.
2. Masukkan contoh ke-i (dari sekumpulan contoh pembelajaran yang terdapat dalam set pelatihan) ke dalam jaringan pada lapisan input.
3. Cari tingkat aktivasi unit-unit output menggunakan algoritma aplikasi.
If kinerja jaringan memenuhi standar yang ditentukan sebelumnya
(memenuhi syarat berhenti) then exit.
4. Update bobot-bobot dengan menggunakan aturan pembelajaran jaringan.
5. If i = n, then reset i = 1 Else i = i – 1.
Ke langkah 2.
Algoritma aplikasi/inferensi Jaringan Saraf Tiruan:
Dimasukkan sebuah contoh pelatihan ke dalam Jaringan Saraf Tiruan. Lakukan:
1. Masukkan kasus ke dalam jaringan pada lapisan input.
2. Hitung tingkat aktivasi node-node jaringan.
3. Untuk jaringan koneksi umpan maju, jika tingkat aktivasi dari semua unit outputnya telah dikalkulasi, maka exit. Untuk jaringan koneksi balik, jika tingkat aktivasi dari semua unit output menjadi konstan atau mendekati konstan, maka exit. J jika tidak, kembali ke langkah 2. Jika jaringannya tidak stabil, maka exit dan fail.
Salah satu organisasi yang dikenal dan digunakan dalam paradigma jaringan saraf buatan
adalah Perambatan Galat Mundur
(Backpropagation) sebelum dikenal adanya jaringan saraf Perambatan Galat Mundur pada tahun 1950 – 1960, dikenal dua paradigma penting yang nantinya akan menjadi dasar dari jaringan saraf Perambatan Galat Mundur, yakni Perceptron dan Adaline/Madaline (adaptive, linier, neuron / multilayer adaline).
III. ANALISA DAN PEMBAHASAN A. Analisa Masalah
Backpropagation merupakan algoritma pembelajaran yang terawasi dan biasanya digunakan oleh perceptron dengan banyak lapisan untuk mengubah bobot-bobot yang terhubung dengan neuron-neuron yang ada pada lapisan tersembunyinya. Pelatihan sebuah jaringan yang menggunakan backpropagation terdiri dari tiga langkah, yaitu pelatihan pola input secara feedforward, perhitungan Backpropagation dari kumpulan kesalahan dan penyesuaian bobot.
Sesudah pelatihan, aplikasi dari jaringan hanya terdiri dari fase feedforward. Bahkan jika pelatihan menjadi lambat, sebuah jaringan yang dilatih dapat menghasilkan Outputnya sendiri secara cepat.
Memprediksi Jumlah Penjualan Obat
Pola penjualan setiap tahunnya akan banyak berubah. Pola penjualan akan berulang pada setiap tahun. Pengulangan ini juga akan terjadi pada
pola kurva dari tahun ke tahun. Pengalaman bagian pendataan di PT.Metro Artha Prakarsa menunjukkan bahwa jumlah penjualan pada setiap tahunnya dipengaruhi oleh jumlah penjualan pada tahun sebelumnya.
Normalisasi Data
Data yang digunakan dalam penelitian ini merupakan database jumlah penjualan obat selama 3 tahun pada tahun 2012 sampai tahun 2014 . Data disusun dan dipilih variabel faktor-faktor dengan record data yang memiliki informasi paling lengkap.
Data tersebut kemudian dibagi menjadi 2 bagian yaitu, data pelatihan (training), data pengujian (testing).
X’ = 0. 8(x-a) + 0,1 b-a Dimana X’ = hasil normalilasi
x= data awal
a= nilai minimal awal b= nilai maximal awal Normalisasi Data Penjualan Obat
Data yang di hitung merupakan data penjualan obat selama 3 tahun pada tahun 2012 sampai tahun 2014 .
1. Bisolvon 2012 X’= 0.8(x-a) + 0.1 b-a
X’ =0.8 (1820-1820) + 0.1 1975-1820
X’ =0.8 (0) = 0 = 0,1 155 155 2. Bisolvon 2013
X’=0,9 3. Bisolvon 2014
X’=0,51 4. Laserin 2012
X’= 0.8(x-a) + 0.1 b-a
X’ =0.8 (985-300) + 0.1 1225-300
X’ =0.8 (685) = 548 = 0,69 925 925
5. Laserin 2013 X’=0,9 6. Laserin 2014
X’=0,1
7. OBH Combi 2012 X’= 0.8(x-a) + 0.1 b-a
X’ =0.8 (1300-870) + 0.1 1300-870
X’ =0.8 (430) = 344 = 0,9 430 430
8. OBH Combi 2013 X’=0,1
9. OBH Combi 2014 X’=0,11
10. Siladex 2012 X’= 0.8(x-a) + 0.1 b-a
X’ =0.8 (475-475) + 0.1 1110-475
X’ =0.8 (0) = 0 = 0,1 635 635 11. Siladex 2013
X’=0,9 12. Siladex 2014
X’=0,38
Menggunakan Algoritma Pelatihan
Inisialisasi semua bobot dengan bilangan acak kecil. Tabel bobot-bobot dari layer input ke layar tersembunyi.
Fase 1 Perambatan Maju 1. Langkah Nol
Inisialisasi bobot dengan bilangan acak kecil table bobot dari layer input ke layer tersembunyi. Interval acak kecil dimulai dari( -0.5 – 0.5)
Tabel 1. Inisialisasi bobot
Z1 Z2
X1 0.2 0.2
X2 -0.3 0.3
X3 0.2 -0.1
X4 0.1 -0.1
Tabel bobot dari layer tersembunyi ke layer Output Tabel 2. Bobot Layer Tersembunyi
Y
Z1 0.1
Z2 0.3
2. Langkah 1
Proses pembelajarn dilakukan hingga kuadrat jumlah errornya kurang dari 0.01 jika kondisi penghentian belum terpenuhi lakukan langkah 2.
3. Langkah 2
Untuk setiap data pasangan pelatihan lakukan langkah 2 -8.
Data pelatihan sebagai berikut.
Tabel 3. Data Pelatihan
Pola X1 X2 X3 X4 Targe
t
1 0,1 0,69 0,9 0,1 0,9
4. Langkah 3
Tiap unit masukan menerima sinyal dan meneruskan ke unit tersembunyi.
5. Langkah 4
Hitungsemuakeluaran di unit tersembunyi (Zj);
Znetj = Vj0 + ∑𝑛𝑖=1xivji
Znet 1 = V10 + ∑𝑛𝑖=1xivji
Znet 1 = X1. V11 + X2 . V12 + X3 . V13 + X4 .V14
= 0.2 * 0,1+( -0.3)* 0,69+ 0.2* 0.9 + 0,1* 0.1 = 0.02 + (-0.207) + 0.18+0.01
= 0.003
Znet 2 = X1. V21 + X2 . V22 + X3 . V23 + X4 .V24
= 0.2 * 0,1+ 0.3* 0,69+ (-0,1)* 0.9 + (- 0,1)* 0.1
= 0.02 + 0.207 + (-0.09) + (-0,01) = 0.127
Z1 = f (Znet 1) = 1 1 + e– 0.003
= 0.4992 Z2 f (Znet 2) = 1 1 + e 0.127
= 0.4683 6. Langkah 5
Hitung semua jaringan di unit keluaran (yk).
Fase 2 Perambatan Balik Ynetk = wk 0+ ∑𝑝𝑗=1 Zjwkj
Ynet k= wk 0+ ∑𝑝𝑗=1 Zjwkj =Z1.W1 + Z2.W2
= 0.1 * 0.4992+ 0.3 * 0.4683
= 0,04992 + 0,14049
= 0,19041 Y1=f(Y-netk) = 1
1+ e –ynetk = 1 1 + e -0,19041 = 0,45269 7 . Langkah 6
Besar nya α = 0.1
ϑ k = (tk –yk) f’ (y_netk) = (tk-yk) yk(1-yk) ϑ 1 =(t1 –y1) f’ (y_net1) = (t1-y1) y1(1-y1) =(0-0,45269) * (0,45269) * (1- 0,45269)
= -0,45269*0,45269*0,54731 = (- 0,1121)
∆wkj = α ϑ k zj ∆ w11 = α ϑ k z1
0.1 (0,45269) * 0.4992 = 0,0225
∆ w12 = α ϑ k z2
0.1 (0,45269) * 0.4683 = 0,0211 8. Langkah 7
Hitung faktor ϑ unit tersembunyi berdasarkan kesalahan disetiap unit tersembunyi zj.(J=1,2,3……m)
ϑ netj =∑𝑚𝑘=1ϑ𝑘 wkj ϑ net1 = ϑ 1 * w1= Z1 = (- 0,1121)* 0.1 = - 0,01121 ϑ net2 = ϑ 1 * w12 = (- 0,1121)* 0.3 = - 0,03363
Faktor kesalahan ϑ unit tersembunyi ϑ j= ϑ netj f’ (z_netj) = ϑ net zj(1-zj) ϑ 1= ϑ net1 z1 (1-z1)
= - 0,01121 * 0.4992 *(1-0.4992) = (-0.0028)
ϑ 1= ϑ net2 z2 (1-z2)
= - 0,03363 * 0.4683 * (1- 0.4683) = (-0.0083)
∆vij =α ϑ 1 xi
∆v10 = α ϑ 1 = 0.1 *(-0.0028)* 1 = (-0.00028)
∆v20 = α ϑ 1 = 0.1 *(-0.0083)* 1 = (-0.00083)
Fase 3 Perubahan bobot 9. Langkah 8
Perubahan bobot garis yang menuju unit keluaran.
Wkj(baru) =wkj(lama) ∆wkj
W11 (baru) = w11(lama) +∆w11 = 0.1 + 0,0225= 0,1225
W12 (baru) = w12(lama) + ∆w12 = 0.3 + 0,0211= 0,3211
Vij (baru) = v11(lama) + ∆v11 = 0.2 + (-0.00028) = 0,19972 Vij (baru) = v21(lama) + ∆v21
= 0.2 + (-0.00083) = 0,19917
Vij (baru) = v12(lama) + ∆v12 = -0.3 + (-0.00028) = 0,29972
Vij (baru) = v22(lama) + ∆v22 = 0.3 + (-0.00083) = 0,29917
Vij (baru) = v13(lama) + ∆v13 = 0.2 + (-0.00028) = 0,19972
Vij (baru) = v23(lama) + ∆v23 = -0.1 + (-0.00083) = (-0,10083)
Vij (baru) = v14(lama) + ∆v14 = 0.1 + (-0.00028) = 0,09972
Vij (baru) = v24(lama) + ∆v24 = -0.1 + (-0.00083) = (-0,10083)
Tes nilai tertentu untuk berhenti belum terpenuhi karena nilai error dari Output belum kecil dari 0,01
Denormalisasi dengan rumus : Xi =y (xmax – xmin)+ xmin = 0,45269 (0.51 – 0.1) + 0.1 =(0,2856029) untuk Obat Bisolvon Xi =y (xmax – xmin)+ xmin
= 0,45269 (0.69 – 0.1) + 0.1
=(0,3670871)untuk Obat Laserin Xi =y (xmax – xmin)+ xmin
= 0,45269 (0.11 – 0.1) + 0.1
=(0,1045269) untuk Obat OBH Combi Xi =y (xmax – xmin)+ xmin
= 0,45269 (0.38 – 0.1) + 0.1
=(0,2267532)Untuk Obat Siladex Keterangan
Xi =jumlah penjualan obat dari tahun 2012 -2014 Y= Hasil Output jaringan 0,45269
X min =data dengan nilai minimum tiap obat Xmax =data dengan nilai maximum tiap obat
Kesimpulan dari perhitungan diatas penulis mengambil kesimpulan bahwa ditahun 2015 jumlah Obat yang akan terjual lebih banyak adalah Obat Laserin dengan hasil Output 0,3670871.
IV. IMPLEMENTASI
Dalam melakukan pelatihan dan pengujian hasil dari prediksi jumlah penjualan Obat pada PT.Metro Artha Prakarsa, maka pengolahan data tersebut juga akan diujikan ke dalam sistem komputerisasi. Software yang akan digunakan dalam pengujian prediksi penjualan obat tersebut yaitu dengan memanfaatkan software Matlab 6.1.
Langkah pertama yang harus dilakukan untuk metode Backpropagation dengan Matlab 6.1 adalah dengan membuat inisialisasi jaringan. Namun sebelumnya data yang akan diujikan haruslah dibagi menjadi dua (2) bagian, di mana bagian pertama adalah untuk data pelatihan dan bagian kedua adalah untuk data pengujian. Tabel data yang akan dilatih dan diujikan dapat dilihat pada table 4 berikut :
Tabel 4. Data Pelatihan Prediksi Penjualan Obat
NO X1 X2 X3 X4 TARGET
1 0,1 0,69 0,9 0,1 0,9
2 0,69 0,9 0,1 0,9 0,9
3 0,9 0,1 0,9 0,9 0,1
4 0,1 0,9 0,9 0,1 0,9
Tabel 4 di atas merupakan data penjualan obat yang akan diuji dengan menggunakan jaringan syaraf tiruan untuk memperoleh goal yang diharapkan berdasarkan beberapa pola yang paling bagus dengan menggunakan software Matlab 6.1.
Tabel 5. Data Pengujian Prediksi Penjualan Obat
NO X1 X2 X3 X4 TARGET
5 0.9 0,9 0,1 0,9 0,51
6 0,9 0,1 0,9 0,51 0,1
7 0,1 0,9 0,51 0,1 0,11
8 0,9 0,51 0,1 0,11 0,38 Matlab (matrix laboratory) merupakan salah satu perangkat lunak yang dirancang khusus sebagai solusi untuk mengerjakan permasalahan yang berkaitan dengan matematika. Tampilan cammand window yang digunakan untuk membuat
dan mengetik semua perintah pelatihan dan pengujian Backpropagation adalah sebagai berikut :
Gambar 1. Command Window
Setelah dilakukan pelatihan dengan pola arsitektur 4–4–1, maka dilanjutkan dengan pengujian dengan data sebanyak 4 pola jumlah penjualan obat dari no 5 sampai dengan 8. Adapun langkah-langkah pengujian data menggunakan matlab ditetapkan sebagai berikut:
1. Menetapkan Bobot Awal
Bobot awal lapisan input ke lapisan tersembunyi pertama seperti yang terdapat pada table 5.9 dibawah ini.
Tabel 6 Bobot Awal Lapisan Input Ke Lapisan Tersembunyi Pola 4-4-1
Z1 Z2 Z3 Z4
X1 2.7917 -2.9700 1.4587 -0.1215 X2 0.0381 0.0455 -0.0093 -0.0656 X3 1.9933 -0.6108 1.5760 2.5302 X4 2.6161 2.6313 -4.4199 -0.8172
Bobot bias awal lapisan input ke lapisan tersembunyi adalah sebagai berikut:
2.6952 1.3479 -0.2713 -2.8600 Bobot awal lapisan tersembunyi ke lapisan output adalah sebagai berikut:
1.6805 1.6088 -0.3463 1.5191 Bobot bias awal lapisan tersembunyi ke lapisan output adalah sebagai berikut:
0.0000
2. Menetapkan Parameter Yang Digunakan Sebelum data diuji dalam proses pengujian,
maka perlu ditetapkan terlebih dahulu parameter-parameter yang perlukan dalam proses pengujian.
Adapun parameter-parameter yang diperlukan adalah sebagai berikut:
>>net.trainParam.epochs=5000;
Parameter ini digunakan untuk menentukan jumlah epoch maksimum pelatihan.
>>net.trainParam.goal=0.01;
Parameter ini digunakan untuk menentukan batas nilai MSE agar iterasi dihentikan. Iterasi akan berhenti jika MSE batas yang ditentukan dalam net.trainParam.goal atau jumlah epoch yang telah ditentukan dalam net.trainParam.epochs.
>>net.trainParam.Lr=0.1;
Parameter ini digunakan untuk menentukan laju pemahaman (α = learning rate). Default =0.1, semakin besar nilai α, maka semakin cepat pula proses pengujian. Akan tetapi jika nilai α terlalu besar, maka algoritma menjadi tidak stabil mencapai titik minimum lokal.
>>net.trainParam.show=100;
Parameter ini digunakan untuk menampilkan frekuensi perubahan MSE (default : setiap 25 epoch).
3. Melihat Keluaran yang Dihasilkan
Untuk melihat hasil yang dikeluarkan oleh jaringan dapat menggunakan perintah sebagai berikut:
>>[a,Pf,Af,e,Perf]=sim(net,p,[],[],t) Setelah dilakukan perulangan maka ditemukan error minimum pada epoch 5000 seperti pada gambar 2 di bawah ini :
Gambar 2. Pengujian Pola 4-4-1 Mencapai Goal
Gambar 2 di atas merupakan hasil dari pengujian dari pola 4-4-1 yang berarti terdiri dari satu neuron input yang memiliki 4 layer dan satu neuron hidden layer yang terdiri dari 4 layer dan satu neuron output. Hasil pelatihan mencapai goal pada epochs atau iterasi ke 246 dan performance 0.00993259. Untuk hasil yang telah diuji dengan 4 pola data penjualan dan mencapai hasil lebih rinci dan mengetatahui output dan error dapat dilihat pada table 7 dibawah ini.
Tabel 7. Hasil dan Error Data Input Pengujian dengan Model 4-4-1
No Actual Error
5 0.1218 0.3882
6 0.2031 -0.1031 7 0.8247 -0.7147
No Actual Error 8 0.6565 -0.2765
V. KESIMPULAN
Kesimpulan dari penulisan penelitian ini adalah:
1. Jaringan Syaraf Tiruan dengan Algoritma Backpropagation mampu menentukan atau memprediksi penjualan obat pada PT. Metro Artha Prakarsa sesuai dengan pola yang dilatih berdasarkan nilai input yang menjadi kriteria.
2. Proses implementasi jaringan syaraf tiruan menggunakan 2 data , di mana data akan dibagi menjadi dua bagian, bagian pertama digunakan untuk data pengujian (testing) dan bagian kedua untuk data pelatihan (Training).
3. Semakin banyak data yang dilatih maka actual output akan akurat.
DAFTAR PUSTAKA
[1] Sri Kusumadewi.(2003). Arificial Intelligence (Teknik dan Aplikasinya), Penerbit Graha Ilmu,.Yogyakarta.
[2] Arief Hermawan.(2006). Jaringan Saraf Tiruan, Teori dan Aplikasi, Penerbit Andi,.Yogyakarta.
[3] Diyah Puspitaningrum.(2006). Pengantar Jaringan Saraf Tiruan, Penerbit Andi.,Yogyakarta.
[4] Siti Mujilah Wati, Yuliana Melita Pranoto, 2013 Nurdin,Hasan, 2004
[5] Jurnal : Milfa Yetri,Yusnidah, Analisis Identifikasi Pola Warna Ikan Koi Menggunakan Metode Sobel Edge Detection Dalam Karakteristik Citra Sharpening, (Vol. 14, No. 1, Januari 2015)