Rancang Bangun Perangkat Lunak Penentuan Lokasi Untuk Penelitian Pendahuluan Usaha Ritel di Surabaya Dengan Jaringan Saraf Tiruan Damarendra Universitas Ciputra UC Town, CitraLand, Surabaya 60219
[email protected]
Caecilia Citra Lestari Universitas Ciputra UC Town, CitraLand, Surabaya 60219
[email protected]
ABSTRAK Pemilihan lokasi penjualan yang tepat merupakan salah satu kunci keberhasilan sebuah ritel. Terdapat beberapa faktor-faktor yang mempengaruhi dalam penentuan lokasi, seperti faktor ekonomi dan populasi penduduk suatu daerah. Surabaya sebagai kota kedua terbesar sekaligus salah satu pusat perdagangan di Indonesia merupakan tempat pertumbuhan yang baik bagi usaha ritel. Perangkat lunak pada penelitian ini menggunakan algoritma pembelajaran Jaringan Saraf Tiruan (JST) propagasi balik. JST propagasi balik mampu belajar dari data latihan (training set) yang terdiri atas data masuk dan target. Data latihan yang digunakan diperoleh dari Badan Pusat Statistik (BPS), yang meliputi data kependudukan serta Dinas Pedagangan dan Perindustrian (Disperindag) yang berupa data usaha ritel. Perangkat lunak ini menentukan lokasi ritel berdasarkan jenis ritel, modal usaha yang dibutuhkan, target pendapatan dan populasi penduduk. Lokasi yang dihasilkan berupa kecamatan yang ada di Surabaya yang selanjutnya digunakan sebagai acuan dalam penelitian pendahuluan atau riset pemasaran lebih lanjut. Kata Kunci: Backpropagation, Bisnis, Jaringan Saraf Tiruan, JST, Java, MySQL, Peluang, Retail, Surabaya 1.
perkembangan ekonomi di daerah itu. Hal ini
PENDAHULUAN Ritel
atau
perdagangan
eceran
dapat memberikan pengaruh pada bisnis
merupakan semua aktifitas dalam menjual
terutama
barang atau jasa langsung ke konsumen akhir
terhadap harga. Faktor lain yang perlu
(end user) untuk kebutuhan pribadi dan
dipertimbangkan adalah dari segi populasi
nonbisnis. Pemilihan lokasi penjualan yang
penduduk, dikarenakan masyarakat adalah
tepat merupakan salah satu kunci keberhasilan
pembentuk
usaha ritel.
populasi di daerah tersebut maka semakin
Salah satu faktor dalam penentuan sebuah lokasi usaha dapat ditinjau melalui
pada
konsumen
pasar.
yang
Semakin
sensitif
bertumbuh
besar pasar yang dapat dituju dan semakin meningkat pula daya beli di daerah itu. 42 | T I M
Dengan data pendukung dari beberapa factor
2. LANDASAN TEORI
tersebut di atas, pengusaha atau calon
2.1. Ritel
pembuka usaha membutuhkan waktu dan keahlian
(2009:
140)
perdagangan eceran/pengeceran (Retailing)
sesuai.
adalah semua aktifitas dalam menjual barang
Permasalahan ini dapat dibantu oleh salah satu
atau jasa langsung ke konsumen akhir untuk
algoritma kecerdasan buatan, yaitu Jaringan
kebutuhan pribadi dan nonbisnis.
lokasi
sehingga
Kotler
dapat
menemukan
menganalisa
Menurut
usaha
yang
Saraf Tiruan (selanjutnya disingkat JST).
Lokasi adalah faktor yang sangat
JST bekerja seperti otak manusia
penting dalam pemasaran ritel. Pada lokasi
sehingga memiliki kemampuan belajar dari
yang tepat, sebuah gerai akan lebih sukses
sebuah data. JST dibentuk untuk memecahkan
dibandingkan gerai lainnya yang berlokasi
suatu masalah seperti pengenalan pola atau
kurang strategis, meskipun keduanya menjual
klasifikasi
pembelajaran.
produk yang sama, oleh pramuniaga yang
Terdapat beberapa metode atau algoritma
sama banyak dan terampil, dan sama-sama
dalam pendekatan JST, salah satunya adalah
memiliki daya tarik yang bagus. Untuk
algoritma pembelajaran JST propagasi balik.
mendapatkan lokasi yang diinginkan, sangat
karena
proses
Pembelajaran JST propagasi balik adalah salah satu tipe pembelajaran terawasi atau supervised learning, dimana data yang diberikan (data latihan) atau training set terdiri atas data masuk dan target yang diinginkan. Pada penelitian ini set data yang
diperlukan waktu, tenaga, serta biaya untuk melakukan tersebut
penelitian
yang
dapat
mengenai
lokasi
mempertimbangkan
beberapa faktor, seperti faktor geografi dan demografi di wilayah tersebut. Saat
sebuah
bisnis
merencanakan
digunakan adalah data kependudukan seperti
untuk membuka toko maka banyak hal yang
populasi penduduk berdasarkan umur, jenis
dipertimbangkan dalam menentukan lokasi
kelamin, dan pendapatn per bulan tiap
usaha agar tempat tersebut dapat memenuhi
kecamatan dengan data kategorisasi berupa
permintaan
lokasi (kecamatan) dan jenis ritel.
penjualannya.
dan
tepat
Menurut
sasaran Kotler
dalam
(2009:81)
kekuatan demografis utama yang diamati pemasar adalah populasi, karena masyarakat adalah pembentuk pasar. 43 | T I M
Pertumbuhan
populasi
memberikan
Neuron adalah unit pemroses informasi yang
implikasi yang signifikan dalam pertumbuhan
merupakan dasar operasi jaringan saraf tiruan.
usaha bisnis. Populasi sebuah daerah memiliki bauran usia yang beragam. Pemasar biasanya membagi populasi menjadi enam kelompok usia, yaitu: 1) anak-anak (pra sekolah); 2) anak-anak usia sekolah; 3) remaja; 4) pemuda usia 20-40 tahun; 5) dewasa paruh baya usia 40-50 tahun; 6) dewasa lanjut usia 65 tahun ke atas.
Setiap neuron terkoneksi satu sama lain dan memiliki bobot dengan nilai yang berbeda-beda.
Istilah
bobot
(weight
connection) terinspirasi dari synapse yang merupakan koneksi antar neuron di dalam sistem saraf otak manusia. Bobot berfungsi menyimpan pola pembelajaran dari sebuah informasi di dalam jaringan. Neuron-neuron
Kotler menyebutkan terdapat delapan
tersebut mentransformasikan informasi yang
jenis toko eceran: 1) toko barang khusus; 2)
diterima melalui koneksi keluarnya menuju ke
department store; 3) pasar swalayan; 4) toko
neuron lainnya.
kelontong; 5) toko diskon; 6) pengecer offprice; 7) superstore; 8) ruang pamer katalog. 2.2 Jaringan Saraf Tiruan Propagasi Balik Jaringan Saraf Tiruan (artificial neural network) atau disingkat JST adalah salah satu cabang
dari
artificial
intelligence
melakukan proses belajar (Fausett, 1994).
tersedia sampel data masuk (input) dan keluaran target (target output). Pada
proses
pembelajaran
JST
propagasi balik, diperlukan pola data masuk
diolah dan diproses di dalam jaringan, dan
untuk
hasilnya dibandingkan dengan target yang
melakukan proses pembelajaran atau adaptive
diinginkan. Aturan belajar dari algoritma ini
learning
adalah menggunakan nilai error atau besar
berdasarkan
kemampuan
training), dimana di dalam jaringan harus
dan target. Setiap pola yang diinputkan akan
Dalam penerapanya, JST digunakan memiliki
bentuk pelatihan yang diawasi (supervised
yang
menirukan cara kerja otak manusia dengan
karena
JST propagasi balik adalah salah satu
data
latihan
yang
diberikan. Seperti
perbedaan antara target dengan output (actual halnya
sistem
saraf otak
manusia, jaringan saraf tiruan terdiri atas beberapa komponen utama yakni neuron.
output) Dimana,
yang error
dihasilkan tersebut
oleh
jaringan.
diumpan-balikan
(backpropagation) untuk diproses ke koneksi bobot sebelumnya hingga koneksi bobot yang 44 | T I M
pertama. Besarnya nilai error ini digunakan
2.2.1. Arsitektur Jaringan Saraf Tiruan
sebagai faktor pengubah nilai bobot yang ada
Propagasi Balik
pada tiap koneksi di dalam jaringan. Proses propagasi
pembelajaran
balik
dilakukan
pada terus
Arsitektur jaringan yang digunakan JST hingga
keluaran aktual yang dihasilkan sesuai dengan keluaran target, atau memiliki nilai Root Mean Square Error (RMSE) yang dapat diterima. RMSE digunakan sebagai tolok ukur nilai error keseluruhan data latihan (training set) atau penanda cukup atau tidaknya sebuah jaringan
mengalami
proses
pembelajaran
oleh JST propagasi balik adalah jaringan lapisan banyak (multi layer network), dimana jaringan ini terdiri atas masing-masing satu lapisan masuk (input layer) dan lapisan keluar (output layer) dengan satu atau lebih lapisan tersembunyi (hidden layer). Setiap lapisan terdiri atas satu atau lebih neuron yang saling tekoneksi
dengan
neuron
pada
lapisan
berikutnya.
(Heaton, 2005). Satu putaran atau proses
Gambar
1.
menunjukan
jaringan
perulangan belajar JST propagasi balik disebut
lapisan
dengan iterasi atau epoch.
tersembunyi. Bagian atas sebagai lapisan
Tujuan dari pembelajaran ini adalah melatih sistem jaringan untuk mencapai suatu keadaan yang memungkinkan JST dapat merespon secara benar model input yang diberikan, dan kemampuan untuk memberikan respon atau jawaban yang masuk akal bagi data masuk yang mirip tetapi tidak identik dengan
data
masuk
yang
telah
dilatih
sebelumnya. Semua keluaran atau kesimpulan yang ditarik oleh jaringan didasarkan pada pengalamannya pembelajaran.
selama
mengikuti
proses
banyak
masuk,
bagian
dengan
tengah
satu
sebagai
lapisan
lapisan
tersembunyi dan bagian bawah sebagai lapisan keluaran. Gambar 1. Arsitektur Jaringan Banyak (Heaton, 2005)
Setiap neuron pada lapisan masuk harus terkoneksi dengan neuron pada lapisan tersembunyi. Lapisan tersembunyi selanjutnya 45 | T I M
dapat terhubung dengan lapisan tersembunyi
yang memiliki data masukan dengan nilai 1.
lainnya atau langsung menuju pada lapisan
Unit ini disebut dengan istilah bias. Bias juga
keluar.
memiliki nilai koneksi sama halnya dengan Jaringan
minimal
lapisan
satu
Menggunakan
banyak
lapisan lebih
dari
memiliki
koneksi bobot.
tersembunyi. satu
lapisan
tersembunyi diperbolehkan di dalam jaringan, namun,
menggunakan
satu
lapisan
tersembunyi sudah cukup memadai. 2.2.2. Algoritma
Pembelajaran
Jaringan
Saraf Tiruan Propagasi Balik Menurut
Fauset,
algoritma
pembelajaran Jaringan Saraf Tiruan (JST) propagasi balik melibatkan tiga tahap yaitu: 1. Tahap perambatan maju (feedforward) pola input pembelajaran 2. Tahap kalkulasi error dan perambatan mundur (backpropagation) 3. Tahap penyesuaian atau pengubahan bobot Tahap-tahap diatas diberlakukan untuk semua pola data pelatihan (training set) yang telah disediakan sebelumnya. Ilustrasi pada gambar 2. Menunjukan
Gambar 2. Arsitektur JST Propagasi Balik
Tiap neuron atau unit pada lapisan tersembunyi menerima
dan data
lapisan
keluar
masuk
(input)
dapat dan
menghasilkan data keluar (output). Berbeda dengan unit yang ada pada lapisan masuk, setiap unit tersebut hanya dapat mengirimkan data masuk untuk kemudian diproses di lapisan berikutnya. Proses menerima data masuk dapat dihitung
dengan
menggunakan
rumus
penjumlahan yang ditulis sebagai berikut. ∑
(1)
contoh arsitektur dari JST propagasi balik. Dalam gambar tersebut, terdapat dua neuron
Sedangkan proses untuk menghasilkan
atau unit masukan x1 dan xi, dua unit
data keluar dihitung dengan menggunakan
tersembunyi z1 dan zj, dan satu unit keluaran
fungsi aktifasi. Fungsi aktifasi merupakan
yk. Untuk tiap unit pada lapisan tersembunyi
fungsi pengolah jumlahan data masuk (input)
dan lapisan keluaran, terdapat satu unit lagi
menjadi data output (output). Terdapat 2 46 | T I M
fungsi
aktifasi
yang
digunakan
dalam
penerapan algoritma propagasi balik, yaitu: 1.
error. Nilai error ini selanjutnya diproses untuk menghitung seberapa besar koreksi nilai koneksi bobot yang dibutuhkan (weight
Fungsi Biner Sigmoid
Fungsi sigmoid memiliki nilai interval
correction term). Dalam perhitungan itu, terdapat sebuah variabel yang digunakan.
(0,1) dan memiliki bentuk fungsi:
Variabel itu disebut dengan istilah learning
rate (
(2)
atau ketelitian pembelajaran. Nilai dari learning rate memiliki nilai
dengan fungsi turunan sebagai berikut:
positif kurang dari 1. Umumnya, memberikan
. 1
(3)
nilai yang terlalu besar akan membuat proses
2. Fungsi Bipolar Sigmoid
belajar menjadi sangat cepat. Sebaliknya,
menggunakan nilai learning rate yang terlalu Fungsi bipolar sigmoid memiliki nilai interval (-1,1) dan memiliki bentuk fungsi:
1
kecil akan berakibat pada lamanya jumlah iterasi. Tetapi menggunakan nilai learning rate yang terlalu besar mengakibatkan JST
(4)
tidak akan menuai hasil (Heaton, 2005) dengan fungsi turunan sebagai berikut. Sebelum
JST
mengalami
proses
pembelajaran, koneksi bobot dan bias terlebih
(5)
dahulu diinisialisasi. Inisialisasi bobot dan Hasil
dari
fungsi
aktifasi
yang
bias dapat berupa nilai positif ataupun negatif.
dihasilkan oleh tiap unit yang berada di
Pada umumnya, inisialisasi bobot dan bias
lapisan keluar, merupakan nilai keluaran
dilakukan secara acak dengan nilai yang
aktual (actual output) dari sebuah jaringan.
berkisar antara -0.5 dan 0.5 (Fausett, 1994).
Proses pembelajaran dalam JST propagasi balik dapat meningkat apabila menggunakan
2.2.2.1. Pelatihan Perambatan Maju Langkah
fungsi bipolar sigmoid.
-
langkah
pelatihan
perambatan maju adalah sebagai berikut: Seperti sebelumnya,
yang nilai
telah
keluaran
dijelaskan aktual
Langkah 0:
akan Inisialisasi bobot dan bias.
dibandingkan dengan keluaran target (target output) untuk menghitung nilai kesalahan atau
47 | T I M
Langkah 1:
2.2.2.2.
Setiap unit masukan (x1, xi, i=1,..n) menerima data xi dan mengantarkan data ini ke semua lapisan di atasnya (unit tersembunyi).
Prosedur
Pelatihan
Perambatan
Mundur Langkah 1 Setiap unit keluaran (yk, k=1, ..., n) akan memiliki keluaran target atau target output (tk, k=1, ..., n). Keluaran target ini akan
Langkah 2:
dibandingkan dengan aktual target yang
Setiap unit tersembunyi (z1, zj, j=1, ..n) menjumlahkan
setiap
nilai
bobotnya
dengan menggunakan fungsi penjumlahan
dihasilkan oleh jaringan dan dihitung nilai error yang dikeluarkan (error information term) dengan rumus berikut:
yang telah dituliskan pada persamaan (1).
(9)
Tiap unit tersembunyi ini kemudian
Selanjutnya, menghitung besarnya koreksi
menghitung nilai dari fungsi aktifasinya
untuk nilai koneksi bobot dan biasnya
dan mengirimkan data keluarnya (zj) ke
(weight correction term), dengan rumus
tiap unit pada lapisan keluaran.
berikut:
(6) Langkah 3: Setiap unit keluaran (y1, yk, k=1,.. n) menjumlahkan
setiap
nilai
∆
(10)
∆
(11)
Langkah 2:
bobotnya
dengan menggunakan fungsi penjumlahan
Setiap unit pada lapisan tersembunyi (zj, j=1, ...,n) menjumlahkan hasil perubahan
sebagai berikut.
masukannya (dari unit-unit pada lapisan ∑
(7)
diatasnya) dengan menggunakan rumus
Selanjutnya tiap unit pada lapisan keluaran
berikut: ∑
menghitung nilai keluaran aktual (actual output)
dengan
menggunakan
(12)
fungsi Hasil persamaan di atas akan dikalikan
aktifasi sebagai berikut.
dengan (8)
nilai
turunan
dari
fungsi
aktifasinya guna menghitung besarnya 48 | T I M
error yang dikeluarkan (error information
error keseluruhan data latihan. Dengan kata
term).
lain, proses belajar pada JST propagasi balik
akan berhenti apabila nilai RMSE yang
(13)
dihasilkan mencapai nilai error yang dapat
Kemudian, besar koreksi untuk koneksi
diterima. Berikut langkah dalam perhitungan
bobot dan biasnya dihitung dengan rumus
RMSE:
berikut
1. Menghitung nilai SSE (Sum Square Error)
∆
(14)
∆
(15)
yang di dapatkan dari rumus berikut. ∑
(18)
2.2.2.3. Prosedur Pengubahan Nilai Bobot 2. Nilai RMSE selanjutnya dihitung dengan
dan Bias
mengakar hasil pembagian dari SSE dengan Untuk setiap unit keluaran (yk, k=1, ..., n) mengubah nilai bobot dan biasnya (j=0, ..., n) dengan rumus berikut:
perkalian jumlah data latihan (N) dengan jumlah unit keluar (K). Rumus RMSE dapat dituliskan sebagai berikut.
∆
(16)
Tiap unit pada lapisan tersembunyi (zj, j=1, ...,n) mengubah nilai bobot dan biasnya (i=0,
2.2.3
..., n) dengan menggunakan rumus yang sama
Widrow
yaitu:
Inisialisasi
(19)
∗
Pendekatan
Nguyen-
Inisialisasi bobot dan bias dapat
∆
(17)
dihitung dengan pendekatan nguyen-widrow. Pendekatan ini didasarkan atas analisa dari
2.2.2.4. Menghitung Root Mean Square Error Setelah seluruh data latihan (training set) dipelajari oleh jaringan, maka nilai Root Mean Square Error (RMSE) dapat dihitung.
respon yang diberikan neuron atau unit tersembunyi masuk2,
terhadap
dengan
unit
pada
menggunakan
lapisan nguyen
widrow, proses belajar di dalam JST menjadi lebih cepat atau memiliki jumlah iterasi yang
Telah dijelaskan sebelumnya bahwa, RMSE digunakan sebagai tolok ukur nilai
2
Fausett, Laurene. 1994. Fundamentals of Neural Networks. New Jersey: Prentice Hall.
49 | T I M
lebih sedikit dengan menggunakan fungsi biner sigmoid ataupun bipolar sigmoid.
Perhitungan atau inisialisasi bobot dan
(22)
bias dari unit masuk ke unit tersembunyi dirancang untuk meningkatkan kemampuan dari unit tersembunyi melakukan proses
Langkah 3: Inisialisasi bobot dan bias.
pembelajaran. Untuk bobot dan bias dari unit
tersembunyi ke unit keluar dilakukan proses
(23)
inisialisasi secara acak (antara -0.5 dan 0.5).
Adapun pendekatan inisialisasi bobot dan bias (nguyen-widrow), dilakukan sebagai
3. DESAIN SISTEM 3.1 Pengumpulan dan Pengolahan Data
berikut:
Data didapat dari Disperindag dan BPS .
/
Surabaya. Data tersebut adalah:
(20)
dengan faktor pengubah ( ),
jumlah unit
tersembunyi (p), dan jumlah unit masuk (n).
1. Data usaha ritel. Data yang digunakan adalah usaha ritel yang berdiri minimal 3 tahun hingga 2010
Selanjutnya dihitung dengan langkah-langkah sebagai berikut, Untuk setiap unit tersembunyi (j=1, ...., n):
dan berupa, lokasi kecamatan usaha ritel itu,
jenis
ritel
(pakaian,
perhiasan,
elektronik, dsb), serta besar modal usaha yang digunakan.
Langkah 1:
2. Data kependudukan. Inisialisasi bobot dan bias (acak) dari unit pada lapisan masuk dan unit tersembunyi. 0.5
0.5
Data
yang
pendapatan
digunakan per
kapita
adalah dan
data
populasi
penduduk per kategori umur untuk tahun (21)
2008-2010. Data primer yang diperoleh dari BPS adalah total populasi penduduk
Langkah 2:
2008-2010, dan populasi per kategori
Menghitung jumlah koneksi bobot dan bias
umur untuk tahun 2010. Penulis kemudian
dengan cara:
melakukan proyeksi mundur berdasarkan 50 | T I M
persentase
jumlah
per
kategori
dibandingkan total populasi di tahun 2008 dan 2009.
3.2 Pemetaan Data 3.2.1. Pemetaan Data Kategorikal Struktur JST menggunakan fungsi aktivasi biner sigmoid sehingga seluruh data kategori dipetakan menjadi biner. Tabel 1. adalah contoh pemetaan biner data jenis usaha
suku cadang dan assesoris Alat transportasi Bahan konstruksi dari kayu
4
0
0
0
1
0
0
5
0
0
0
1
0
1
Tabel 2. Contoh Pemetaan Data Modal Usaha Modal Usaha Hasil Pemetaan Data 100.000.000 0.09999999800000013 50.000.000 0.019999999199999997 500.000.000 0.019999999919999976 200.000.000 0.04999999949999998
ritel. Selain jenis usaha ritel, data kategorikal 3.3 Arsitektur JST 3.3.1. Neuron
lain adalah data kecamatan.
Jaringan
yang
digunakan
dalam
3.2.2 Pemetaan Data Numerikal Untuk data numerikal, seperti modal
perangkat lunak ini memiliki jumlah neuron
usaha, pendapatan per kapita, atau populasi,
atau unit masuk (input unit) sebanyak 13 unit,
perlu dipetakan untuk normalisasi. Pemetaan
yang terdiri atas 6 bit biner hasil pemetaan
tersebut dilakukan dengan persamaan (24)
jenis ritel, modal dan pendapatan, serta 5
berikut:
kisaran umur. Jumlah unit pada lapisan tersembunyi atau hidden unit berjumlah 25
(24)
unit, sedangkan unit keluar (output unit) yang digunakan sebanyak 5 unit, yaitu berupa hasil Tabel 2. adalah contoh pemetaan untuk modal
pemetaan data biner tiap kecamatan.
usaha. Tabel 1. Contoh Pemetaan Data Jenis Usaha Ritel Jenis Ritel Pencetakan, penerbitan, dan perangkat lunak Bahanbahan konstruksi Sepeda motor serta
Num 1
x1 0
x2 0
x3 0
x4 0
x5 0
x6 1
2
0
0
0
0
1
0
3
0
0
0
0
1
1
51 | T I M
dikarenakan pemberian nilai yang terlalu besar akan membuat proses belajar menjadi sangat cepat, namun memberikan dampak pada tidak selesainya
pembelajaran
tercapainya
nilai
atau
RMSE.
tidak
Sebaliknya,
menggunakan nilai learning rate yang terlalu kecil akan berakibat pada lamanya jumlah iterasi tetapi nilai RMSE tercapai. 3.3.3. Fungsi Aktivasi Fungsi aktivasi yang digunakan adalah fungsi Biner Sigmoid, yaitu seperti pada persamaan (25) berikut:
(25)
3.3.4. Inisialisasi Bobot dan Bias Pada pengembangan perangkat lunak proses
pelatihan
jaringan
menggunakan
inisialisasi bobot dan bias secara acak yaitu diantara -0.5 dan 0.5 dan dengan inisialisasi pendekatan nguyen-widrow. Gambar 3. adalah diagram alir dari perangkat lunak ini. 4. IMPLEMENTASI DAN PENGUJIAN
4.1 Struktur Diagram Perangkat Lunak Struktur diagram perangkat lunak ini
Gambar 3. Diagram Alir Algoritma JST
terdiri dari beberapa package, yaitu Mapping,
3.3.2. Learning Rate
Presentation, NeuralNetwork, NNBuilder, dan
Proses pembelajaran JST propagasi
Runner. Gambar 4. adalah package diagram
balik pada perangkat lunak ini menggunakan
dari perangkat lunak ini. Tiga package utama
nilai learning rate yang sebesar 0.02. Hal ini 52 | T I M
adalah
NeuralNetwork,
Mapping,
dan
NNBuilder. Package NeuralNetwork berisi sejumlah class yang membentuk arsitektur JST. Gambar 5. merupakan class digram dari NeuralNetwork. Penjelasan singkat tiap-tiap class terdapat pada Tabel 3.
Gambar 4. Package Diagram
Tabel 3. Penjelasan Class pada Package NeuralNetwork Nama Class Backpropagati on
Keterangan Merupakan kelas untuk menjalankan fitur pembelajaran dan pengujian Neuron Merupakan kelas untuk melakukan fungsi penjumlahan dan fungsi aktifasi serta perhitungan error NeuronLayer Merupakan kelas untuk menyimpan objek neuron ke dalam beberapa lapisan Connection Merupakan kelas untuk menyimpan bobot dan bias sebuah jaringan Pattern Menyimpan pola atau pattern data latihan NeuralNet Merupakan sebuah abstract class Pagkage Mapping berisikan sejumlah class yang berfungsi untuk pemetaan data. Struktur
hubungan
antar
class
tersebut
direpresentasikan seperti pada Gambar 6., dengan penjelasan seperti pada Tabel 4.
Gambar 5. Class Diagram Package NeuralNetwork
Gambar 6. Class Diagram Package Mapping
53 | T I M
Tabel 4. Penjelasan Class pada Package
4.2. Pengujian Pengujian ini dilakukan dengan tujuan
Mapping Nama Class MappingData_Angka
Keterangan Merupakan kelas yang berfungsi untuk memetakan data latihan yang berupa angka MappingData_Kategori Merupakan kelas yang berfungsi untuk memetakan data latihan kecamatan MappingData_Kategori2 Merupakan kelas yang berfungsi untuk memetakan data latihan jenis ritel MappingData Merupakan abstract class ValueCombination Merupakan kelas untuk menghasilkan data kombinasi (jenis kelamin dan umur)
sebagai berikut: 1) Membandingkan proses pelatihan jaringan menggunakan metode inisialisasi bobot dan bias secara acak (antara -0.5 dan 0.5) dengan
metode
pendekatan
nguyen-
widrow. 2) Menguji jaringan dengan bobot dan bias yang telah didapat dari hasil pelatihan, baik
pelatihan
yang
menggunakan
inisialisasi bobot dan bias secara acak maupun
melalui
pendekatan
nguyen-
widrow untuk mengetahui nilai error atau kesalahan yang dihasilkan.
Package NNBuilder berfungsi untuk mengatur pengambilan
jalannya masukan,
perangkat pemrosesan
lunak, data
dengan JST, hingga menghasilkan keluaran. Gambar 7. adalah class diagram dari package ini sedangkan Tabel 5. menjelaskan tiap-tiap class di dalamnya. Gambar 7. Class Diagram Package NNBuilder 54 | T I M
Dalam penerapannya, pengujian ini
Tabel 5. Penjelasan Class pada NNBuilder Nama Class ExcelWrite
Keterangan Merupakan kelas yang berfungsi untuk menulis data ke dalam file excel ExcelRead Merupakan kelas yang berfungsi untuk membaca data dari file excel NN_Builder Merupakan kelas yang memanggil fungsi-fungsi dari kelas-kelas yang berada di package neural network NN_3 Merupakan kelas yang berfungsi melatih dan menguji pembelajaran pada jaringan
dilakukan
dengan
algoritma
perambatan maju dengan menggunakan bobot dan
bias
yang
didapatkan
dari
proses
pembelajaran baik dengan inisialisasi bobot dan bias secara acak maupun pendekatan nguyen-widrow. 4.2.2. Hasil dan Analisa Pengujian 4.2.2.1. Perbandingan Antara Inisialisasi Bobot dan Bias Acak dan Pendekatan Nguyen-Widrow Tabel
4.2.1. Skenario Pengujian
menerapkan
6.
merupakan
tabel
yang
perbandingan untuk inisialisasi awal bobot
disebutkan diatas, pengujian dilakukan dengan
dan bias secara acak dan dengan pendekatan
menggunakan 80 persen data, yang terdiri dari
Nguyen-Widrow.
data tahun 2008, 2009, dan sebagian 2010.
menyatakan bahwa JST membutukan iterasi
Data
lebih banyak dan waktu lebih lama hingga
Untuk
dilatih
mencapai
dengan
tujuan
menggunakan
dua
Hasil
pengujian
ini
lebih dari dua kali lipat saat bobot dan biasnya
pendekatan yakni:
diinisialisasi secara acak (antara -0.5 hingga 1. Inisialisasi bobot dan bias secara acak (antara -0.5 dan 0.5) 2. Inisialisasi
bobot
0.5) dibandingkan dengan ketika diinisialisasi dengan pendekatan Nguyen-Widrow. Namun,
dan
bias
dengan
pendekatan nguyen-widrow Selanjutnya, dilakukan pengujian data dengan menggunakan data yang tidak pernah
apabilai inisialisasi awal bobot dan bias dilakukan
dengan
pendekatan
Nguyen
Widrow, JST akan memiliki RMS Error yang lebih besar (selisih 10-6).
dipelajari sebelumnya. Data tersebut berupa data dari tahun 2010 dengan jumlah sebesar 20 persen dari data keseluruhan. Pengujian ini dilakukan untuk mengetahui seberapa besar nilai error yang dihasilkan oleh jaringan.
Tabel 6. Perbandingan Inisialisasi Awal Bobot dan Bias Epoch Pendekatan Acak 62.280 (-0.5 sd.
RMS Error
Waktu
0.0999900782 6111735
489 menit 55 | T I M
0.5) Nguyenwidrow
sedikit dibandingkan dengan inisialisasi secara 30.356
0.0999999190 7165487
216 menit
acak. Perangkat lunak ini telah mampu
4.2.3.2. Penerapan Data Testing pada JST yang Terlatih
jawaban
dengan
tingkat
kebenaran sebesar 90 persen atau memiliki
Dengan menggunakan bobot dan bias dari hasil pelatihan, JST diterapkan pada data uji, yaitu sebanyak 20% dari data tahun 2010. Hasil dari pengujian adalah JST mampu menentukan jenis ritel atau lokasi yang sesuai dengan tingkat kesalahan kurang dari 10%, baik dengan inisialisasi acak maupun dengan pendekatan
memberikan
Nguyen-Widrow
seperti
pada
nilai error minimal 0.1. Sehingga, perangkat lunak ini layak digunakan sebagai acuan lokasi untuk melakukan penelitian atau riset pemasaran usaha ritel lebih lanjut. Selain itu, dalam pengembangannya, proses pelatihan data cocok dilakukan dengan menggunakan inisialisasi bobot dan bias melalui pendekatan nguyen-widrow.
Tabel 7. Berikut adalah beberapa rencana atau Tabel 7. Hasil Pengujian JST Inisialisasi Bobot dan Bias Acak (antara -0.5 dan 0.5) Pendekatan Nguyen-widrow
Error 0.09362706530291 11 0.09716758457907 16
5. KESIMPULAN DAN SARAN Berdasarkan hasil uji coba yang telah
saran pengembangan untuk perangkat lunak ini: 1. Menentukan lokasi penjualan tidak hanya untuk usaha ritel saja, melainkan untuk usaha lainnya. 2. Dikembangkan di beberapa kota lainnya di Indonesia.
dilakukan dapat disimpulkan bahwa, proses
3. Menggunakan data primer atau data survei
pelatihan jaringan dengan inisialisasi bobot
sebagai data latihan (training set) agar
dan bias menggunakan pendekatan nguyen-
memberikan hasil yang jauh lebih akurat
widrow memerlukan jumlah iterasi yang lebih
dan dipercaya
6. DAFTAR PUSTAKA [1] Fausett, Laurene. 1994. Fundamentals of Neural Networks. New Jersey: Prentice Hall. [2] Heaton, Jeff. 2005. Introduction to Neural Networks with Java. USA: Heaton Research, Inc.
56 | T I M
[3] Kiki dan Sri Kusumadewi. 2009. Analisa Jaringan Saraf Tiruan dengan Metode Backpropagation untuk Mendeteksi Gangguan Psikologi. Laboratorium Komputasi dan Sistem Cerdas Jurusan Teknik Informatika Fakultas Teknologi Industri Universitas Islam Indonesia. [4] Kotler, Philip dan Kevin L. Keller. 2009. Manajemen Pemasaran. Edisi 13. Jakarta: Erlangga. [5] Ma’aruf, Hendri. 2005. Pemasaran Ritel. Jakarta: PT Gramedia Pustaka Utama. [6] Pang-Ning Tan, Micheal Steinbach, and Vipin Kumar. 2006. Introduction to Data Mining. Pearson Education , Inc. [7] Pressman, Roger S. 2005. Software Engineering, A Practitioner’s Approach, 6th Ed., NY:McGraw-Hill.
57 | T I M