penerapan model gated recurrent unit untuk...
TRANSCRIPT
PENERAPAN MODEL GATED RECURRENT UNIT UNTUK
PERAMALAN JUMLAH PENUMPANG KERETA API DI
PT. KAI (Persero)
(Studi kasus: Penumpang kereta wilayah Jabodetabek)
SKRIPSI
Rafika Puspa Wardana
1113094000034
PROGRAM STUDI MATEMATIKA
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS ISLAM NEGERI SYARIF HIDAYATULLAH
JAKARTA
1440 H/2020 M
i
PENERAPAN MODEL GATED RECURRENT UNIT UNTUK
PERAMALAN JUMLAH PENUMPANG KERETA API DI PT.
KAI (Persero)
(Studi kasus: Penumpang Kereta wilayah Jabodetabek)
Skripsi
Diajukan kepada
Universitas Islam Negeri Syarif Hidayatullah Jakarta
Fakultas Sains dan Teknologi
Untuk Memenuhi Salah Satu Persyaratan Dalam
Memperoleh Gelar Sarjana Matematika (S. Mat)
Oleh
Rafika Puspa Wardana
1113094000034
PROGRAM STUDI MATEMATIKA
FAKULTAS ILMU SAINS DAN TEKNOLOGI
UNIVERSITAS ISLAM NEGERI SYARIF HIDAYATULLAH
JAKARTA
2020 M / 1441 H
ii
PERNYATAAN
DENGAN INI SAYA MENYATAKAN BAHWA SKRIPSI INI BENAR-BENAR
HASIL KARYA SENDIRI YANG BELUM PERNAH DIAJUKAN SEBAGAI
SKRIPSI ATAU KARYA ILMIAH PADA PERGURUAN TINGGI ATAU
LEMBAGA MANAPUN.
Jakarta,
Rafika Puspa Wardana
NIM. 1113094000034
iii
iv
MOTTO
“Sebaik-baik manusia adalah yang bermanfaat
bagi orang lain”
-Prophet Muhammad SAW
v
KATA PENGANTAR
Alhamdulillah wa Syukrulillah penulis panjatkan rasa bersyukur kepada
Allah SWT atas segala rahmat dan hidayah-Nya penulis dapat menyelesaikan tugas
skripsi dengan judul “Penerapan Model Gated Reccurent Unit Untuk Peramalan
Jumlah Penumpang Kereta Api di PT.KAI (Persero)”. Shalawat serta salam penulis
panjatkan kepada Baginda nabi Muhammad Saw yang telah berhasil membawa
umatnya dari zaman jahiliyah menuju zaman yang ilmiah dengan penuh kasih
sayang.
Rasa terima kasih juga penulis sampaikan kepada pihak-pihak yang selama
ini telah membantu penulis dalam menyelesaikan tugas akhir ini.
1. Kedua orang tua penulis Papah Moch Arief dan Mamah Nana Herlania Penulis
ucapkan banyak terima kasih atas kasih sayang, doa, dukungan dan semangat
yang selalu diberikan. Sungguh, gelar ini saya persembahkan untuk kalian yang
penulis amat sayangi.
2. Ka Hana, Mas Herman, mak Lampir, Aisyah dan Queen sebagai “Alarm”
pengingat skripsi yang selalu mengingatkan penulis dengan petanyaan kapan
lulus.
3. Ibu Prof. Dr. Lily Surayya Eka Putri, M.Env.Stud, sebagai Dekan Fakultas
Sains dan Teknologi Universitas Islam Negeri Syarif Hidayatullah Jakarta.
4. Ibu Dr. Suma’inna, M.Si, sebagai ketua program studi Matematika Fakultas
Sains dan Teknologi UIN Syarif Hidayatullah Jakarta.
5. Ibu Irma Fauziah, M.Sc, sebagai Sekretaris Program Studi Matematika Fakultas
Sains dan Teknologi UIN Jakarta dan sebagai motivator penulis dalam
menyelesaikan skripsi ini.
6. Ibu Yanne Irene, M.Si, sebagai dosen akademik dan dosen pembimbing I yang
telah memberikan banyak motivasi, saran, dan bantuan kepada penulis selama
kuliah dan dalam menyelesaikan skripsi ini.
7. Bapak Muhaza Leibenlito, M.Si, sebagai dosen pembimbing II penulis yang
selama ini membimbing penulis dalam menyusun skripsi ini. Penulis ucapkan
banyak terima kasih atas waktu, tenaga, dan pikirannya.
vi
8. Bapak Dr. Taufik Sutanto, MScTech, sebagai dosen penguji I yang telah
memberikan masukan dan saran kepada penulis dalam menyelesaikan skripsi
ini.
9. Bapak Mahmudi, M.Si, sebagai dosen penguji II yang telah memberikan
masukan kepada penulis dalam menyelesaikan skripsi ini serta bantuan selama
kuliah.
10. Sahabat-sahabat kuliah Ilva Mediana, S.Si, Elly Nurmaida S.Si, Ainul
Munawaroh S.Si, Putri Sindang Sari S.Mat, Ainun Nikmatus Sholihah S.Mat,
Lisna Sulistian S.Mat, terkhusus untuk Mulyanah S.Mat (cees kosan, berbagi
cerita suka dan banyak duka) yang selalu memotivasi penulis untuk nikah muda
agar cepat lulus.
11. Sahabat-sahabat “Optimal”, Arum Selisa, Dita Adha Aryani, Ade Azhari S.Sos,
Hutami Devari S.Pd, Wulansari Wijaya S.Pd atas dukungan, bantuan dan
motivasi yang telah diberikan.
12. Teman-teman Himatika tekhusus angkatan 2013 atas doa dan dukungan
sehingga penulis dapat meyelesaikan skripsi ini.
13. Teristimewa untuk my luvv, Muhamad Nazar bin H.Ahmad Damanhuri yang
memotivasi, membantu mengetik, memberikan saran, mengembalikan mood
saat mengerjakan skripsi, memberikan semangat dan inspirasi serta doa
sehingga penulis dapat menyelesaikan skripsi ini dalam waktu singkat.
Serta seluruh pihak yang tidak bisa disebutkan satu persatu, semoga bantuan,
bimbingan, doa, semangat dan dukungan yang telah diberikan kepada penulis dapat
dibalas oleh Allah SWT. Penulis menyadari bahwa skripsi ini masih jauh dari kata
sempurna, hal ini dikarenakan keterbatasan kemampuan, pengetahuan dan
pengalaman penulis. Akhir kata semoga tulisan ini dapat bermanfaat banyak bagi
penulis lain khususnya dan bagi semua pembaca pada umumnya.
Jakarta, 14 April 2020
Penulis
Rafika Puspa Wardana
vii
PERSEMBAHAN
Skripsi ini saya persembahkan untuk keluarga saya yang selalu mencintai dan
memberikan warna kehidupan saya. Mamah nana, papah arif, ka hana, mas
herman, ara dan bang ajang terimakasih selalu percaya kepada saya untuk
menyelesaikan sekolah S1 di UIN.
viii
ABSTRAK
Rafika Puspa Wardana, Penerapan Model Gated Reccurent Unit Untuk
Peramalan Jumlah Penumpang Kereta Api di PT.KAI (Persero), dibawah
bimbingan Yanne Irene, M.Si dan Muhaza Leibenlito, M.Si
Pada penelitian ini pengggunaan data penumpang PT.KAI memiliki rentang
waktu setiap bulan dengan jumlah data penumpang sebanyak 169 bulan pada bulan
Januari 2006 sampai Januari 2020. Jumlah penumpang PT.KAI dapat di ramal
dengan menggunakan model Gated Recurrent Unit (GRU) dengan bahasa
pemprograman python. 169 data bulanan ini akan di bagi menjadi 2 data, yaitu data
latih sebesar 64% dan data uji sebesar 36%. Untuk mendapatkan performa yang
lebih tinggi saat melatih model GRU diberikan inisialisasi Hyperparameter adalah
Learning Rate sebesar 0,01, Batch Size sebanyak 100, Hidden State 512, Windows
Size 30 dan Epoch sampai 15000. Berdasarkan hasil pengujian didapatkan model
yang terbaik pada Epoch ke-14000 yang memiliki loss terkecil sebesar 1.08 ×
10−10 . Kemudian model tersebut di ujikan pada data uji dan di dapatkan nilai mean
absolute percentage error (MAPE) sebesar 4,84%.
Kata Kunci: Gated Recurrent Unit, Mean Absolute Percetage Error, Peramalan,
PT. Kereta Api Indonesia.
ix
ABSTRACT
Rafika Puspa Wardana, Application of the Gated Reccurent Unit Model For
Forecasting the Number of Train Passengers at PT. KAI (Persero). Under the
guidance of Yanne Irene, M.Si and Muhaza Leibenlito, M.Si
In this study, we use PT. KAI passenger data which has a period every
month with a total passenger data of 169 months from January 2006 to January
2020. The number of PT. KAI passengers predicted using the Gated Recurrent Unit
(GRU) model. From 169 data, it divided into two data, which are training data for
64% and test data for 36%. To get better performance when training the GRU
model, hyperparameter initialization given by a learning rate of 0.01, a batch size
of 100, hidden state 512, windows size 30, and epoch up to 15000. Based on the
test results in a good model on the epoch to 14000 which has the smallest loss. The
best model is tested on test data and obtains a mean absolute percentage error
(MAPE) value of 4.84 %.
Keywords: Gated Recurrent Unit, Mean Absolute Percetage Error, forcesting,
Indonesian Railways Company.
x
DAFTAR ISI
PENERAPAN MODEL GATED RECURRENT UNIT UNTUK
PERAMALAN JUMLAH PENUMPANG PT. KAI (PERSERO) ................. i
PERNYATAAN .................................................................................................. ii
LEMBAR PENGESAHAN .............................................................................. iii
MOTTO ............................................................................................................. iv
KATA PENGANTAR ........................................................................................ v
PERSEMBAHAN ............................................................................................. vii
ABSTRACT ....................................................................................................... ix
DAFTAR ISI ....................................................................................................... x
DAFTAR TABEL ............................................................................................ xii
DAFTAR GAMBAR ....................................................................................... xiii
BAB I PENDAHULUAN ................................................................................... 1
1.1 Latar Belakang ........................................................................................... 1
1.2 Rumusan Masalah ...................................................................................... 3
1.3 Batasan Masalah ......................................................................................... 3
1.4 Tujuan Penelitian ........................................................................................ 3
1.5 Manfaat Penelitian ...................................................................................... 3
1.6 Sistematika Penulisan ................................................................................. 4
BAB II LANDASAN TEORI ............................................................................ 5
2.1 Peramalan ................................................................................................... 5
2.2 Data Runtun Waktu ...................................................................................... 5
2.3 Artificial Neural Network ........................................................................... 6
2.4 Recurrent Neural Network ......................................................................... 7
2.5 Gated Recurrent Unit ................................................................................. 7
BAB III METODE PENELITIAN..................................................................... 10
3.1 Sumber Data ............................................................................................. 10
3.2 Rancangan Sistem Prediksi ...................................................................... 10
3.2.1 Preprocessing .................................................................................... 10
3.2.1.1 Splitting Data .............................................................................. 10
xi
3.2.1.2 Normalisasi Data .......................................................................... 10
3.2.2 Inisialisasi Hyperparameter Model GRU ........................................... 11
3.2.2.1 Learning Rate ............................................................................... 11
3.2.2.2 Hidden State ................................................................................ 11
3.2.2.3 Algoritma Optimasi ..................................................................... 12
3.2.2.4 Iterasi Training Data/Epoch ........................................................ 13
3.2.2.5 Window Size ................................................................................ 13
3.2.2.6 Batch Size .................................................................................... 14
3.2.3 Fungsi Aktivasi .................................................................................. 14
3.2.3.1 Sigmoid ...................................................................................... 15
3.2.3.2 Tanh ............................................................................................ 15
3.2.3.3 Softmax ...................................................................................... 15
3.2.4 Training Model ................................................................................. 15
3.2.5 Denormalisasi Data .......................................................................... 16
3.3 Kriteria Evaluasi ....................................................................................... 16
3.3.1 MSE .................................................................................................. 16
3.3.2 MAPE ............................................................................................... 17
3.4 Alur Penelitian .......................................................................................... 18
BAB IV HASIL DAN PEMBAHASAN ......................................................... 19
4.1 Statistika Deskriptif .................................................................................. 19
4.2 Implementasi Processing Data ................................................................ 20
4.3 Inisialisasi Hyperparameter Model GRU ................................................. 20
4.4 Proses Training GRU ............................................................................... 21
4.5 Hasil Prediksi Jumlah Penumpang KA Jabodetabek ............................... 22
4.6 Perbandingan Hasil Prediksi Penumpang PT. KAI .................................. 24
BAB V KESIMPULAN ................................................................................... 26
5.1 Kesimpulan ............................................................................................... 26
5.2 Saran ......................................................................................................... 26
DAFTAR PUSTAKA ....................................................................................... 27
LAMPIRAN ...................................................................................................... 29
xii
DAFTAR TABEL
Tabel 3.1 Contoh Data ....................................................................................... 14
Tabel 4.1 Nilai dari Statistika Deskriptif ........................................................... 19
Tabel 4.2 Nilai Hyperparameter yang dipilih secara manual untuk melatih
model ................................................................................................................. 21
Tabel 4.3 Nilai dari Iterasi dan Loss ................................................................. 22
Tabel 4.4 Nilai dari Hasil Prediksi dan Data Sebenarnya ................................. 23
xiii
DAFTAR GAMBAR
Gambar 2.1 Lapisan ANN .................................................................................. 6
Gambar 2.2 Struktur GRU .................................................................................. 8
Gambar 3.1 Tahapan Training GRU ................................................................ 16
Gambar 3.2 Alur Penelitian .............................................................................. 18
Gambar 4.1 Plot Penumpang PT. KAI ............................................................. 20
Gambar 4.2 Plot Hasil Prediksi GRU dan data sebenarnya ............................. 24
1
BAB 1
PENDAHULUAN
Pada bab ini akan dijelaskan tentang latar belakang yang mendasari
penelitian, serta tujuan penelitian sebagai acuan yang jelas untuk dicapai. Selain itu
pada bab ini juga dijelaskan mengenai manfaat penelitian, perumusan masalah dan
batasan penulisan sesuai dengan tujuan yang diinginkan.
1.1 Latar Belakang
“Dan ia (hewan ternak) mengangkut beban-bebanmu ke suatu negeri yang kamu
tidak sanggup mencapainya, kecuali dengan susah payah. Sungguh, Rabbmu Maha
Pengasih, Maha Penyayang. Dan (Dia telah menciptakan) kuda, bagal, dan keledai
untuk kamu tunggangi dan (menjadi) perhiasan. Allah menciptakan apa yang tidak
kamu ketahui.” (QS. An-Nahl: 7-8)
“Dan suatu tanda (kebesaran Allah) bagi mereka adalah Kami angkut keturunan
mereka dalam perahu yang penuh muatan, dan Kami ciptakan bagi mereka
(angkutan lain) seperti apa yang mereka kendarai.” (QS. Yasin: 41-42)
Ayat tersebur menceritakan bahwa Allah SWT telah menciptkan kendaraan
sebagai nikmat yang dianugerahkan kepada manusia. Pada zaman sekarang ini,
transportasi menjadi suatu kebutuhan untuk mempermudah segala aktifitas dan
rutinitas dalam kehidupan sehari-hari. Salah satu alat transportasi yang sering
digunakan oleh masyarakat Indonesia adalah Kereta Api. Kereta api adalah
kendaraan yang bergerak diatas rel dengan menggunakan tenaga gerak seperti
listrik, diesel ataupun tenaga uap yang berjalan sendiri maupun dirangkaikan
dengan kendaraan lain yang terdiri dari kereta penumpang dan kereta barang. Badan
Usaha Milik Negara (BUMN) yang menyelenggarakan jasa angkutan perkereta
apian adalah PT Kereta Api Indonesia (PT. KAI).
Penelitian terkait peramalan kereta api di PT KAI dengan metode neural
netwok telah sering dilakukan sebelumnya, salah satunya adalah penelitian yang
dilakukan oleh Mertha dkk [1] dalam meramalkan jumlah penumpang kereta api di
2
Indonesia dengan Resilient Back-Propagation (RBPROP) Neural Network.
Peramalan dilakukan untuk Wilayah KA Jabodetabek, Wilayah KA Non-
Jabodetabek (Jawa), Wilayah KA Sumatera, dan untuk total keseluruhan wilayah
KA. Periode data dimulai dari Januari 2006 hingga April 2018, data yang diperoleh
untuk penelitian tersebut ada sebanyak 148 record untuk masing-masing wilayah
kereta api (KA), dimana 136 diantaranya (periode Januari 2006 hingga April 2017)
digunakan sebagai data training pada tahap pembentukan model, dan 12 lainnya
(periode Mei 2017 hingga April 2018) digunakan sebagai data testing untuk
menguji performa dari hasil peramalan. Dengan menggunakan arsitektur Rprop
neural network terbaik hasil tahap pembentukan model, dilakukan peramalan untuk
12 bulan kedepan dari periode terakhir data training. Performa model neural
network dengan Resilient Back-propagation (Rprop) yang dibentuk dari data
training dan divalidasi dengan data testing memberikan tingkat akurasi prediksi
serta tingkat akurasi peramalan yang sangat baik dengan nilai mean absolute
percentage error (MAPE) kurang dari 10% untuk masing-masing model. Nilai
MAPE untuk masing-masing peramalan jumlah penumpang KA adalah: untuk
wilayah Jabodetabek memberikan nilai MAPE sebesar 7.50%.
Selanjutnya penelitian terkait peramalan jumlah penumpang kereta api
dilakukan oleh Nanang Hermawan [2] dalam skripsinya yang berjudul “Aplikasi
Model Recurrent Neural Network dan Recurrent Neuro Fuzzy untuk Peramalan
Banyaknya Penumpang Kereta Api Jabodetabek”. Penelitian tersebut
mengaplikasikan model recurrent neural network dan recurrent neuro fuzzy untuk
peramalan jumlah penumpang kereta api Jabodetabek dengan langkah prosedur
yang dijelaskan dalam penelitian tersebut. Data yang digunakan untuk peramalan
adalah data jumlah penumpang kereta api di daerah Jabodetabek dari periode
Januari 2006 sampai Agustus 2013 yang diperinci setiap bulannya. Pembagian data
yang digunakan adalah 75% untuk data training dan 25% untuk data testing. Model
terbaik yang terpilih untuk meramalkan jumlah penumpang kereta api Jabodetabek
yaitu model recurrent neural network dengan menghasilkan MAPE training
3
1,2617% dan MSE training 29500000 serta MAPE testing 3,785% dan MSE testing
2610000000.
Berdasarkan hal tersebut, penulis bermaksud melakukan penelitian model
prediksi untuk data jumlah penumpang kereta api di PT KAI (persero) di wilayah
Jabbodetabek namun dengan menggunakan model Gated Recurren Unit. Tujuan
dari penelitian ini untuk mengetahui bagaimana proses kerja dari algoritma dan
implementasi Gated Recurrent Unit untuk peramalan jumlah penumpang kereta
api di PT. KAI.
1.2 Rumusan Masalah
Berdasarkan latar belakang di atas maka perumusan masalah yang akan
dibahas dalam penelitian ini yaitu bagaimana mengimplementasikan Gated
Recurrent Unit untuk prediksi jumlah penumpang kereta api Jabodetabek.
1.3 Batasan Masalah
Penelitian ini memiliki batasan-batasan permasalahan yang akan diteliti.
Adapun batasan masalah tersebut adalah :
1. Data yang digunakan dalam penelitian ini adalah data bulanan jumlah
penumpang kereta api di PT KAI wilayah Jabodetabek.
2. Metode yang digunakan dalam penelitian ini adalah metode deeplearning
dengan arsitektur jaringan syaraf tiruan Gated Recurrent Unit.
3. Analisis yang dilakukan hanya berdasarkan data bulanan jumlah penumpang
kereta api dan tidak memperhitungkan faktor-faktor pendukung yang dapat
menyebabkan perubahan jumlah penumpang kereta api seperti kenyamanan
fasilitas, hari libur, keadaan ekonomi, serta kejadian alam.
1.4 Tujuan Penelitian
Berdasarkan rumusan masalah, penelitian ini bertujuan untuk mengetahui
bagaimana proses kerja dari algoritma Gated Recurrent Unit dalam peramalan
jumlah penumpang kereta api di PT KAI (persero) serta mendeskripsikan hasil dari
pengaplikasian model tersebut.
4
1.5 Manfaat Penelitian
Penelitian ini diharapkan dapat menghasilkan model yang bisa memprediksi
jumlah penumpang kereta api untuk beberapa bulan kedepan, sehingga dapat
memberikan gambaran kepada pihak PT. KAI (Persero) dalam mempersiapkan
segala fasilitas yang diperlukan untuk kelancaran transportasi jikalau memang
terjadi pelonjakan jumlah penumpang kereta. Semoga penelitian ini dapat dijadikan
referensi untuk penelitian selanjutnya.
1.6 Sistematika Penulisan
Sistematika dalam penulisan skripsi ini disusun menjadi lima bab. BAB I
berisi latar belakang dan alasan penulis melakukan penelitian mengenai peramalan
jumlah penumpang kereta api. BAB II berisi kajian pustaka yang digunakan dalam
proses penelitian. BAB III berisi tahapan-tahapan yang digunakan dalam penelitian
mengenai peramalan jumlah penumpang kereta api, BAB IV berisi pembahasan
hasil penelitian. BAB V berisi kesimpulan dan saran dari penulis.
5
BAB II
LANDASAN TEORI
Pada bab ini akan dibahas mengenai landasan teori serta penelitian-penelitian
sebelumnya yang terkait sebagai acuan dalam penelitian ini. Adapun landasan teori
dalam peneltian ini antara lain mengenai peramalan, Recurrent Neural Network,
dan Gated Recurrent Unit.
2.1 Peramalan
Peramalan (forecasting) didefinisikan sebagai alat atau teknik untuk
memprediksi atau memperkirakan suatu nilai pada masa yang akan datang dengan
memperhatikan data atau informasi masa lalu maupun pada saat ini. Peramalan
dapat menjadi dasar bagi perencanaan jangka panjang suatu perusahaan/instansi
tertentu[3].
Peramalan (forecasting) merupakan bagian terpenting bagi setiap perusahaan
ataupun organisasi bisnis dalam setiap pengambilan keputusan manajemen.
Peramalan itu sendiri bisa menjadi dasar bagi perencanaan jangka pendek,
menengah maupun jangka panjang suatu perusahaan. Di dalam sebuah peramalan
(forecasting) dibutuhkan sedikit mungkin kesalahan di dalamnya. Agar dapat
meminimalisir tingkat kesalahn tersebut, maka akan lebih baik jika peramalan
tersebut dilakukan dalam suatu angka atau kuantitatif.
Menurut Sumayang, peramalan adalah perhitungan yang objektif dan dengan
menggunakan data-data masa lalu untuk menetukan sesuatu di masa yang akan
datang[20].
2.2 Data Runtun Waktu
Data runtun waktu adalah data pengamatan yang diambil berdasarkan urutan
waktu dalam jangka waktu yang sama serta saling berkorelasi. Penggunaan data
runtun waktu harus memenuhi kestasioneran dalam rataan dan variansi. Stasioner
pada rataan artinya deret berfluktuasi di sekitar nilai rataan yang konstan,
sedangkan stasioner dalam variansi dapat diartikan variansi berfluktuasi konstan
dalam suatu rentang tertentu[4].
6
Analisis runtun waktu merupakan salah satu prosedur statistika yang
diterapkan untuk meramalkan struktur probabilitas keadaan yang akan datang
dalam rangka pengamilan keputusan. Dasar pemikiran runtun waktu adalah
pengamatan sekarang dipengaruhi oleh satu atau beberapa pengamatan seelumnya.
Dengan kata lain, model runtun waktu dibuat karena secara statistik ada korelasi
deret pengamatan. Tujuan analisis runtun waktu antara lain memahami dan
menjelaskan mekanisme tertentu, meramalkan suatu nilai di masa depan, dan
mengoptimalkan sistem kendali.
2.3 Artificial Neural Network
Artificial Neural Network (ANN) atau Jaringan Syaraf Tiruan merupakan
teknik atau pendekatan pengolahan informasi yang terinspirasi oleh cara kerja
sistem saraf biologis dengan memproses informasi tersebut berdasarkan cara kerja
otak manusia. ANN dapat digunakan untuk memodelkan hubungan yang kompleks
antara input dan output untuk menemukan pola-pola pada data. Jenis ANN yang
paling umum terdiri dari tiga lapisan, yaitu: Lapisan input, lapisan tersembunyi, dan
lapisan keluaran. Seperti yang terlihat pada Gambar 2.1 berikut ini
Sumber: Jurnal UGM[5]
Gambar 2.1 Model Arsitektur ANN
7
Di antara lapisan input dan output, satu atau lebih lapisan tersembunyi sering
dihubungkan oleh matriks bobot, bias, dan beberapa fungsi aktivasi[6].
2.4 Recurrent Neural Network
Recurrent Neural Network merupakan jaringan saraf berulang. Dikatakan
jaringan saraf berulang karena nilai neuron pada hidden layer sebelumnya akan
digunakan kembali sebagai data input. Penggunaan neuron pada hidden layer akan
disimpan ke dalam sebuah layer yang dinamakan context layer. Nilai neuron pada
context layer akan terus update hingga kondisi RNN terpenuhi[7].
Recurrent neural network adalah model pada neural network yang
mengakomodasi output jaringan untuk menjadi input jaringan kembali bisa disebut
jaringan umpan balik. Algoritma ini dikembangkan dari feedforward neural
network. Recurrent neural network merupakan metode yang komplek dan dinamis
dikarenakan hasil yang dihasilkan tidak haya terpengaruh oleh input saja, melaikan
juga dari hasil output sebelumya.
. Gambar 2.1 menunjukkan arsitektur RNN yang digunakan. Jumlah neuron
dalam input layer adalah lima buah neuron dan sebuah neuron bias. Penambahan
bias pada neuron di input layer dan hidden layer diberikan untuk membantu proses
pembelajaran. Pada dasarnya penambahan bias akan menambah beban perhitungan
namun bisa membantu pergerakan neuron pada ambang fungsi aktivasi yang
digunakan[7].
Dalam tulisan ini jumlah neuron pada hidden layer dan context layer yang
digunakan adalah sama yaitu sejumlah k neuron. Jumlah neuron yang sama pada
hidden layer dengan context layer mengikuti arsitektur yang menerapkan Elman
Recurrent Neural Network.
2.5 Gated Recurrent Unit
GRU merupakan variasi dari LSTM yang lebih sederhana. Sementara GRU
adalah struktur berulang yang dirancang dengan hati-hati yang membuat trade-off
yang baik antara kinerja dan kecepatan. Oleh karena itu, GRU telah lazim
8
digunakan dalam bidang akademik dan industri. GRU pertamakali diperkenalkan
oleh Chung et al pada tahun 2014. Tujuan utama dari pemuatan GRU adalah untuk
membuat setiap recurrent unit untuk dapat menangkap dependencies dalam skala
waktu yang berbeda-beda secara adaptif. Sebagai analogi, manusia tidak perlu
menggunakan semua informasi pada masa lalu untuk dapat membuat keputusan
sekarang. Misalnya , kita ingin membeli makanan sekarang, informasi dari masa
lalu mengenai jadwal ujian tengah semester tidak akan memberi konstribusi yang
besar terhadap pembuatan keputusan untuk makan tersebut.
Di dalam GRU, komponen pengatur alur informasi tersebut disebut
sebagai gate dan GRU mempunyai 2 gate, yaitu reset gate dan update gate. Bila
kita ingin membuat keputusan untuk makan seperti analogi diatas, reset gate pada
GRU akan menentukan bagaimana untuk menggabungkan input baru dengan
informasi masa lalu, dan update gate, akan menentukan berapa banyak informasi
masa lalu yang harus tetap disimpan.[8]
Sumber: Jurnal Montreal, Kanada[8]
Gambar 2.2 Struktur GRU
Pada gambar diatas, r melambangkan reset gates, dan z melambangkan update
gates. Sedangkan h dan ℎ̃ adalah activation dan candidate activation.Activation dan
candidate activation adalah fungsi aktivasi. Sekarang, GRU masih belum terlalu di
eksplorasi cukup mendalam, karena umurnya yang masih cukup muda. Masih
banyak kemungkinan yang dapat dikembangkan dari GRU untuk dapat menjadi
RNN yang efisien dan mempunyai akurasi tinggi.
9
Prosedur ini mengambil rata-rata jumlah linear dengan keadaan yang telah ada
dan jumlah linear keadaan yang baru. Namun GRU tidak mempunyai mekanisme
atau cara untuk mengontrol tingkatan untuk memilih keadaan yang akan
ditampilkan, tetapi menampilkan seluruh keadaan setiap waktu.
Aktivasi ℎ𝑡𝑗 pada GRU dengan waktu t adalah interpolasi linier antara aktivasi
sebelumnya ℎ𝑡−1𝑗
. Maka aktivasi ℎ̃𝑡𝑗 adalah
ℎ𝑡𝑗
= (1 − 𝑧𝑡𝑗)ℎ𝑡−1
𝑗+ 𝑧𝑡
𝑗 ℎ̃𝑡
𝑗. (2.1)
Dimana update gate 𝑧𝑡𝑗menentukan banyak unit baru sebagai aktivasi. Batas baru
di berikan sebagai berikut:
𝑧𝑡𝑗
= 𝜎(𝑊𝑧𝑥𝑡 + 𝑈𝑧ℎ𝑡−1)𝑗. (2.2)
Kandidat aktivasi ℎ̃𝑡𝑗 di hitung seperti recurrent unit.
ℎ̃𝑡𝑗
− tanh (𝑊𝑥𝑡 + 𝑈(𝑟𝑡⨀ℎ𝑡−1))𝑗. (2.3)
Dimana 𝑟𝑡 adalah reset gate dan ⨀ adalah elemen multiplikasi. Ketika berhenti
(𝑟𝑡𝑗mendekati 0), reset gate secara efektif membuat unit bertindak seperti sedang
membaca simbol pertama dari urutan input.
Reset gate rtj di hitung seperti update gate:
𝑟𝑡𝑗
− 𝜎(𝑊𝑟𝑥𝑡 + 𝑈𝑡ℎ𝑡−1)𝑗. (2.4)
10
BAB 3
METODE PENELITIAN
3.1 Sumber Data
Data yang digunakan dalam penelitian ini merupakan data sekunder yaitu data
bulanan jumlah penumpang kereta api di PT Kereta Api Indonesia (persero) yang
dapat diakses secara online dari situs https://www.bps.go.id/linkTableDinamis
/view/id/815, dengan waktu mulai Januari 2006 sampai Januari 2020 dengan total
169 bulan.
3.2 Rancangan Sistem Prediksi
Sub bab ini membahas tahapan-tahapan penelitian yang dilakukan mulai dari
mempersiapkan data, mengimplementasi dan mengevaluasi model serta interpretasi
dari hasil penelitian untuk mendapatkan kesimpulan yang baik. Peneliti
menggunakan bahasa pemrograman python dengan bantuan beberapa modul
diantaranya pytorch, pandas, numpy, dan matplotlib. Adapun tahapan-tahapan
dalam penelitian ini adalah sebagai berikut :
3.2.1 Preprocessing
Preprocessing diperlukan sebelum melakukan prediksi pada data yang akan
digunakan. Dalam penelitian ini terdapat dua tahapan untuk preprocessing data
yaitu splitting data dan normalisasi data.
3.2.1.1 Splitting Data
Pada tahap splitting data, data akan dibagi menjadi data training dan testing.
Data training sejumlah 108 digunakan untuk pemodelan menggunakan GRU.
Setelah didapatkan model terbaik dari data training, barulah model tersebut diuji
pada data testing sejumlah 61 untuk melihat apakah model yang dihasilkan akan
memiliki akurasi yang tinggi atau tidak.
3.2.1.2 Normalisasi Data
Normalisasi adalah proses memberikan skala nilai atribut dari data sehingga
data berada pada rentang tertentu [9]. Dalam penelitian ini, dilakukan normalisasi
data dengan cara membagi data dengan nilai data terbesar agar data berada pada
11
interval 0 sampai 1. Langkah ini sangat penting karena dapat meminimalkan error.
Tujuan dari normalisasi data adalah menghindari fitur yang memiliki nilai yang
lebih besar mendominasi fitur yang memiliki nilai lebih kecil.
3.2.2 Inisialisasi hyperparameter model GRU
Hyperparameters merupakan salah satu faktor yang mempengaruhi kinerja
dari model GRU-RNN untuk mendapatkan performa yang lebih tinggi saat melatih
model GRU-RNN tersebut. Ketika nilai hyperparameters diubah, kinerja model
juga akan berubah. Inisialisasi Hyperparameter pembelajaran dalam GRU – RNN
ini meliputi learning rate, hidden state, learning rate, jumlah iterasi/epoch, batch
size dan window size.
3.2.2.1 Learning Rate
Pemilihan nilai learning rate yang sesuai dapat membantu mendapatkan hasil
ramalan yang optimal. Learning rate merupakan salah satu parameter training untuk
menghitung nilai koreksi bobot pada waktu proses training. Nilai 𝛼 ini berada pada
range nol (0) sampai (1). Semakin besar nilai learning rate, maka proses training
akan berjalan semakin cepat. Namun apabila nilai learning rate relative terlalu
besar, pada proses training dapat melampaui keadaan optimal yaitu pada saat
dicapai nilai error yang paling minimal. Dengan kata lain, learning rate
mempengaruhi ketelitian jaringan suatu sistem. Semakin besar learning rate, maka
ketelitian jaringan akan semakin berkurang, tetapi berlaku sebaliknya, apabila
learning rate-nya semakin kecil, maka ketelitian jaringan akan semakin besar atau
bertambah dengan konsekuensi proses training akan memakan waktu yang semakin
lama[10].
3.2.2.2 Hidden State
Hidden state yang optimal adalah barisan state yang mempunyai peluang
tertinggi dalam menghasilkan barisan observasi yang telah diketahui
sebelumnya[11]. Misalkan di dalam ℎ𝑡 ada ℎ𝑡−1 dan 𝑧𝑡 artinya ℎ𝑡 adalah fungsi dari
ℎ𝑡−1 dan 𝑧𝑡 atau ditulis ℎ𝑡 = 𝑓(ℎ𝑡−1, 𝑧𝑡). Namun 𝑧𝑡 juga fungsi dari 𝑥𝑡 atau dapat
di tulis 𝑧𝑡 = 𝑔(𝑥𝑡), akibatnya ℎ𝑡 juga fungsi dari 𝑥𝑡 dapat di tulis ℎ𝑡 = 𝑓(ℎ𝑡−1, 𝑥𝑡)
12
maka ℎ𝑡−1 fungsi dari ℎ𝑡−2 dan 𝑥𝑡−1. Misalkan pula di tulis ℎ𝑡−1 = 𝑢(ℎ𝑡−2, 𝑥𝑡−1)
akibatnya ℎ𝑡 = 𝑓(𝑢(ℎ𝑡−2, 𝑥𝑡−1), 𝑥𝑡). Jika di tulis secara rekrusif ℎ𝑡 fungsi dari
𝑥𝑡, 𝑥𝑡−1, 𝑥𝑡−2, … , 𝑥0 artinya 𝑥0, 𝑥1, … , 𝑥𝑡 mempengaruhi nilai ℎ𝑡. Maka secara
intuisi ℎ𝑡 ini di anggap merekam informasi dari timestep sebelumnya.
3.2.2.3 Algoritma Optimasi
Algoritma yang digunakan dalam penelitian ini adalah Adaptive Moment
Estimation (Adam). Adam pertama kali di presentasikan oleh Diederik Kingma dari
OpenAI dan Jimmy Ba dari University of Toronto[12]. Adam adalah algoritma
pengoptimalan yang dapat di gunakan untuk memperbaharui weight network secara
iteratif berdasarkan data training. Metode ini menghitung tingkat pembelajaran
adaptif individu untuk parameter yang berbeda dari perkiraan momen pertama dan
kedua dari gradient. Adam adalah algoritma yang populer di bidang deep learning
karena ia mencapai hasil yang baik dengan cepat. Hasil empiris menunjukkan
bahwa Adam bekerja dengan baik dalam praktiknya dan lebih baik dibandingkan
dengan stochastic optimization method lainnya.
Adam adalah algoritma yang digunakan untuk optimisasi gradient pada
neural networks berdasarkan data latih. Metode ini lebih mudah
diimplementasikan, efesien scara komputasi, memerlukan kebutuhan memori yang
kecil, dan sesuai untuk masalah yang memiliki banyak data maupun parameter.
Adam berbeda dengan algoritma Stocahastic Gradient Descent yang memiliki laju
pembelajaran (learning rate) yang tidak berubah setiap pembaruan bobot (weight
update). Algoritma adam menghitung rata-rata bergerak eksponensial ( Exponential
Moving Average) dari gradient dan gradient kuadra. Parameter beta1 dan beta2
mengendalikan laju pengurangan (decay rate) dari rata-rata bergerak[13].
Ada beberapa kelebihan dari metode Adam yaitu ukuran parameter dari
parameter tanggal tidak berubah untuk penskalaan gradien, ukurannya kira-kira
dibatasi oleh ukuran langkah hyperparameter, itu tidak memerlukan tujuan
stasioner, ia bekerja dengan gradien yang jarang.
13
Parameter konfigurasi Adam adalah akan dijelaskan sebagai berikut :
Alpha
Juga disebut sebagai learning rate atau step size. Proporsi yang digunakan
weight saat pembaruan (mis. 0,001). Nilai yang lebih besar (mis. 0.3)
menghasilkan pembelajaran awal yang lebih cepat sebelum rate diperbarui.
Nilai yang lebih kecil (mis. 1.0E-5) memperlambat pembelajaran saat training.
beta1
Exponential decay rate untuk estimasi momen pertama (mis. 0.9)
beta2
The exponential decay rate untuk estimasi second-moment (mis. 0,999).
Nilai ini harus diset mendekati 1.0 pada masalah dengan sparse gradien (mis.
masalah NLP dan computer vision).
Epsilon
Merupakan angka yang sangat kecil untuk mencegah pembagian dengan nol
saat implementasi (misalnya 10E-8).
3.2.2.4 Iterasi training data/ Epoch
Epoch merupakan pendefinisian dari banyaknya jumlah iterasi yang
digunakan. Siklus algoritma ketika seluruh dataset sudah melalui proses training
pada Neural Network sampai dikembalikan ke awal dalam satu kali putaran data
training[14]. Satu epoch berarti sebuah algoritma dari data training secara
keseluruhan. Seiring bertambahnya jumlah epoch, semakin banyak pula weight
(bobot) yang berubah dalam Neural Network. Jumlah epoch tidak dapat ditentukan.
Namun bergantung pada dataset yang dimiliki. Epoch yang digunakan dalam
penelitian ini sebesar 15000.
3.2.2.5 Window size
ukuran window (window size) adalah data yang di generate/ di bangkitkan
dengan ukuran tertentu, dengan menghasilkan dataset berupa himpunan[15]. Misal
𝑑𝑡 adalah pada waktu ke-t dengan 1 ≤ 𝑡 ≤ 𝑛 dan w adalah ukuran window maka
14
𝔻 = {(𝑥(𝑘), 𝑦(𝑘))|𝑥(𝑘), 𝑦(𝑘) ∈ ℝ𝑤, 𝑘 = 1,2, … 𝑛 − 𝑤 + 1} dimana 𝑥𝑖𝑘 = 𝑑𝑖+𝑘−1
dan 𝑦𝑖𝑘 = 𝑑𝑖+𝑘. Contoh data yang diberikan pada tabel 3.1.
Tabel 3.1 Contoh Data
Waktu Keuntungan
April-2001 10
Mei-2001 43
Juni-2001 76
Juli-2001 89
Agustus-2001 66
Seotember-2001 29
Oktober-2001 16
November-2001 99
Jika w (window size) adalah 3 maka data yang diset yang di generate adalah
[(10,43,76),(43,76,89)],[(43,76,89),(76,89,66)] dan seterusnya. Pada penelitian ini,
ukuran window yang diberikan adalah 30.
3.2.2.6 Batch Size
Batch size merupakan jumlah sampel dari dataset yang dimasukkkan ke
dalam model setiap iterasi. Untuk mempermudah dan mempercepat proses training
dataset dibagi per batch (batch size)[14]. Batch size efisien secara komputasi ketika
berhadapan dengan dataset yang besar. Batch size yang besar memerlukan memori
yang lebih besar dan waktu pelatihan menjadi lebih cepat. Penentuan nilai dari
batch size biasanya tergantung peneliti dengan melihat banyak sampel. Dalam
penilitian ini, batch size yang digunakan sebanyak 100.
15
3.2.3 Fungsi Aktivasi
Fungsi aktivasi adalah fungsi non linear yang memungkinkan sebuah JST
untuk dapat mentransformasikan data input menjadi dimensi yang lebih tinggi
sehingga dapat dilakukan pemotongan hyperplane sederhana yang memungkinkan
dilakukannya klasifikasi[16]. Pada penelitian ini terdapat tiga fungsi aktivasi, yaitu
:
3.2.3.1 Sigmoid
Fungsi Sigmoid mentransformasi range nilai ari input x menjadi antara 0
dan 1. Fungsi Sigmoid memiliki bentuk sebagai berikut :
𝐹(𝑥) =1
(1+𝑒−𝑥). (3.1)
3.2.3.2 Tanh
Fungsi tanh memiliki distribusi yang sangat mirip dengan fungsi sigmoid
namun dalam range antara -1 sampai 1 dan distribusi yang lebih sempit. Fungsi tanh
memiliki bentuk sebagai berikut :
𝐹(𝑥) = tanh (𝑥). (3.2)
Karakteristik terpusat pada nol tersebut mengatasi kelemahan utama pada
fungsi sigmoid, sehingga dalam praktik , fungsi tanh selalu bagu daaripada fungsi
sigmoid.
3.2.3.3 Softmax
Fungsi softmax menghitung probabilitas masing-masing kelas tujuan
melalui semua kelas yang ada. Kemudian probabilitas melakukan kalkulasi yang
sangat membantu untuk menentukan kelas tujuan dari input yang di berikan.
Keuntungan utama dari softmax adalah output dengan rentang 0 sampai 1 dan
jumlah probabilitas akan sama dengan satu. Fungsi softmax didefinisikan sebagai
berikut:
𝐹(𝑥𝑖) =𝐸𝑥𝑝(𝑥𝑖)
∑ 𝐸𝑥𝑝(𝑥𝑖𝑘𝑗=0 )
, 𝑑𝑖 𝑚𝑎𝑛𝑎 𝑖 = 0,1,2, … 𝑘. (3.3)
3.2.4 Training Model
Proses training digunakan untuk memperoleh bobot (weight) yang nantinya
akan dijadikan model pada proses testing. Model akan mencoba mempelajari pola
16
yang ada pada data latih dan melakukan pada setiap akhir epoch. Proses training
akan dihentikan ketika nilai mean square error memenuhi target atau iterasi
maksimal yang telah ditetapkan[17]. Dalam proses training, epoch dan batch size
harus didefinisikan. Semakin banyak epoch maka semakin lama juga waktu yang
dibutuhkan untuk training model. Tahapan training GRU ditunjukkan pada
flowchart gambar 3.1.
Gambar 3.1 Tahapan training GRU
3.2.5 Denormalisasi Data
Denormalisasi adalah pengembalian ke dalam bentuk semula terhadap data
yang telah dinormalisasi. Karena pada awal pembelajaran telah dilakukan
normalisasi pada data asli, maka output jaringan memiliki mean = 0 dan standar
deviasi = 1. Sehingga perlu membawa output jaringan tersebut sesuai dengan
kondisi data asli[18].
3.3 Kriteria Evaluasi
3.3.1 MSE
MSE atau Mean Square Error adalah rata-rata jumlah kuadrat selisih target
dalam kesalahan meramal dan hasil output jaringan (rata-rata error klasifikasi).
Semakin kecil nilai MSE dari suatu model yang digunakan untuk klasifikasi maka
Inisialisasi
hyperparameter Feed Forwrd
Fungsi Aktivasi
Output Layer
Salin Hasil ke
Center Layer
Fungsi Aktivasi
(Hidden Layer)
Model Hasil
Training berupa
bobot
Backpropagation
Stoping Criteria
Start
Finish
17
semakin baik klasifikasi yang dihasilkan[19]. Rumus MSE di hitung sebagai
berikut.
𝑀𝑆𝐸 =1
𝑛∑ (𝑌𝑖 − �̂�𝑖)
2𝑛𝑖=1 . (3.4)
Dimana:
𝑌𝑖 : Nilai actual pada periode 𝑖
�̂�𝑖 : Niai hasil peramalan pada periode 𝑖
N : Jumlah peramalan
3.3.2 MAPE
MAPE atau Mean Absolute Percetage Error adalah ukuran akurasi dari suatu
prediksi atau suatu peramalan. Untuk menghitung seberapa baik sistem dalam
meramal jumlah penumpang kereta api maka diperlukan tahapan evaluasi. Pada
tahap ini MAPE digunakan untuk mengukur tingkat akurasi model yang sudah
dilatih[19]. Berikut adalah rumus dari MAPE :
𝑀𝐴𝑃𝐸 = (100%
𝑛) ∑ |
𝐴𝑡−𝐹𝑡
𝐴𝑡|𝑛
𝑡=1 . (3.5)
Dimana:
At : Jumlah penumpang KA pada periode ke-t,
Ft : Hasil prediksi/peramalan jumlah penumpang KA pada periode ke-t,
N : Jumlah observasi
Nilai evaluasi memiliki kriteria MAPE sebagai berikut [20]:
MAPE < 10% : kemampuan peramalan sangat baik.
10% ≤ MAPE < 20% : kemampuan peramalan baik.
20% ≤ MAPE < 50% : kemampuan peramalan cukup.
MAPE ≥ 50% : kemampuan peramalan buruk.
18
3.4 Alur Penelitian
Alur dalam penelitian ini dapat digambarkan dalam flowchart seperti
berikut ini:
Gambar 3.2 Alur Penelitian
Data Uji
Start
Prepocessing
Data Latih
Inisialisasi Hyper
Parameter
Data Output
Training model
Hasil Training
Denormalisasi
MAPE
Finish
Data
19
BAB 4
HASIL DAN PEMBAHASAN
Penelitian ini membahas masalah mengenai prediksi jumlah penumpang
kereta api di PT KAI (persero) dalam beberapa bulan berikutnya. Secara umum
langkah-langkah membangun sistem yang dibuat terdiri dari preprocessing data,
inisialisasi hyperparameter, training GRU-RNN, dan melakukan uji terhadap data
testing. Pada bab ini, hasil implementasinya akan di jabarkan lebih lanjut. File
dataset disimpan dalam format csv dan akan di proses dengan aplikasi jupyter
notebook dengan bantuan library pandas untuk bahasa pemrograman python.
Penulis menggunakan kode sumber (source code) yang didapat dari
https://github.com/kikirizki/GRU_timeseries_forcasting.
4.1 Statistika Deskriptif
Pada subbab ini, data observasi yang digunakan adalah data bulanan jumlah
penumpang kereta api di Jabodetabek pada tahun 2006 sampai 2020 sebanyak
2.751.777. Dengan menggunakan perhitungan excel, didapat nilai maksimum,
minimum, mean, dan sebagainya yang disajikan pada tabel 4.1 serta grafik
penumpang PT. KAI pada gambar 4.1.
Tabel 4.1 Nilai dari Statistika deskriptif
Jumlah 2751777
Maksimum 29714
Minimum 7566
Mean 16379,625
Median 11542,5
Modus 10438
Std 7325,666836
Varians 53665394,6
20
Gambar 4.1 Plot Penumpang PT. KAI
4.2 Implementasi Prepocessing Data
Data sejumlah 169 penumpang kereta Jabodetabek ini dibagi menjadi dua,
yaitu data jumlah penumpang kereta Jabodetabek pada tahun 2006 sampai 2014
digunakan sebagai data latih sedangkan data tahun 2015 sampai 2020 digunakan
sebagai data uji. Untuk masuk ke tahap selanjutnya, menggunakan data latih
sebagai uji model yang nantinya model yang terbentuk akan di ujikan pada data uji.
Untuk tahap pertama Ini adalah bagian dari tahap pertama.
Tahap kedua dari preprocessing data adalah normalisasi data. Seluruh data
latih akan di normalisasi. Pada tahap normalisasi data ini dilakukan penskalaan
dimana data akan dalam rentang 0 hingga 1. Normalisasi data dilakukan supaya
nilai yang memiliki rentang nilai besar tidak mendominasi nilai dengan rentang
nilai yang kecil.
4.3 Inisialisasi hyperparameter model GRU
Hyperparameter merupakan salah satu faktor yang berpengaruh untuk
mendapat performa yang lebih tinggi saat melatih model GRU-RNN. Untuk model
dalam penelitian ini, hyperparameter yang inisialisasi adalah learning rate, hidden
state, batch size, iterasi epoch dan window size. Nilai inisialisasi hyperparameter
ditentukan oleh peneliti terdapat pada tabel berikut.
0
5000
10000
15000
20000
25000
30000
35000
0 50 100 150 200
Series1
21
Tabel 4.2 Nilai dari hyperparameter yang dipilih secara manual untuk melatih
model
Inisialisasi
Hyperparameter Nilai
Learning Rate 0.01
Batch Size 100
Epoch 15000
Hidden State 512
Window size 30
4.4 Proses Training GRU
Pengujian dilakukan untuk menentukan dari algoritma-algoritma pelatihan
tersebut dengan membandingkan tingkat error yang terjadi. Hasil error yang
diperoleh dari proses pengujian tersaji pada Tabel 4.2. Penggunaan MSE (mean
square error) hanya untuk stopping criteria (jurnal eproc). Pada penelitian ini
menghasilkan akurasi peramalan yang baik dengan nilai MSE 1.08× 10−10.
Tabel 4.3 Nilai dari Iterasi dan Loss
Nomor Iterasi Loss
1 500 0.001243792
2 1000 0.001076299
3 1500 0.000923156
4 2000 0.000578986
5 2500 0.000324215
6 3000 0.000184749
7 3500 5.75E-05
8 4000 2.54E-05
22
9 4500 3.97E-05
10 5000 1.23E-05
11 5500 2.27E-06
12 6000 2.55E-06
13 6500 2.13E-05
14 7000 0.000231157
15 7500 0.000133017
16 8000 4.40E-05
17 8500 7.63E-06
18 9000 1.01E-06
19 9500 5.24E-06
20 10000 6.68E-07
21 10500 6.01E-06
22 11000 0.000142969
23 11500 2.05E-07
24 12000 8.75E-10
25 12500 1.64E-07
26 13000 3.62E-07
27 13500 2.03E-08
28 14000 1.08E-10
29 14500 9.26E-08
30 15000 2.05E-06
Dapat di lihat dari tabel di atas menunjukkan hasil GRU untuk pelatihan sampai
15.000 epoch. Pelatihan tersebut dilakukan setiap epoch ke-500, 1000, 1500, hingga
15.000. Pada epochk ke-14000 memiliki loss terkecil yaitu sebesar 1.08 × 10−10 artinya
model yang kita buat sudah sangat bagus sebagai prediksi nantinya.
23
4.5 Hasil Prediksi Jumlah Penumpang Kereta Api Jabodetabek
Berikut ini akan ditampilkan gambar hasil prediksi dari proses pelatihan beserta data
aktual untuk jumlah penumpang kereta api Jabodetabek PT KAI.
Tabel 4.4 Nilai dari Hasil Prediksi dan Data Sebenarnya
No Hasil Prediksi Data
Sebenarnya 1 19558.65039 19244
2 19441.14063 17640
3 19434.5 21290
4 20040.70898 21171
5 20207.375 22177
6 20375.75586 22207
7 20736.85742 21171
8 20930.64063 22295
9 21168.74414 22021
10 21510.79492 22964
11 21870.78711 22355
12 22251.2793 22996
13 22665.57422 22238
14 22972.79688 21229
15 23289.68359 23206
16 23584.84375 23149
17 23843.22656 24401
18 24098.5293 23821
19 24325.18945 21574
20 24523.43555 23923
21 24730.4375 23570
22 24902.95508 24533
23 25058.92773 24104
24 25213.12695 24841
25 25338.43555 24185
26 25449.94531 21743
27 25565.5332 25775
28 25668.59375 25411
29 25760.15039 27385
30 25848.14648 24432
24
Denormalisasi pada tabel ini, dilakukan untuk mengembalikan data hasil
normalisasi. Hasil prediksi pada tabel di atas di dapat dari mengkalikan data training
maksimum dengan modelnya. Sedangkan data sebenarnya di dapat dari mengkalikan data
uji maksimum dengan data dataset uji ternormalkan.
Gambar 4.2 Plot Hasil Prediksi GRU dan data sebenarnya
Berdasarkan Gambar 4.1 di atas, jika dilihat dari plot yang dihasilkan dapat dilihat
bahwa nilai prediksi sudah mendekati nilai data sebenarnya. Namun untuk memastikan
bahwa model ini sudah bagus atau tidak dapat dipastikan dengan melihat Mean Absolute
Percetage Error (MAPE). MAPE yang kecil dan kurang dari 10% menandakan bahwa
model yang diperoleh sudah bagus.
Kemudian peneliti menghitung nilai MAPE pada data sebenarnya dan hasil
prediksi untuk memperoleh kemampuan peramalan yang bagus. Hasil yang di dapat
setelah melakukan MAPE adalah 4.83864164352417 %. Hasil tersebut
menunjukkan bahwa kemampuan peramalan penumpang PT.KAI sudah bagus.
4.6 Perbandingan hasil prediksi penumpang PT. KAI
Peneliti juga membandingkan hasil MAPE jumlah penumpang PT. KAI
pada 1 tahun, 2 tahun, 3 tahun dan 4 tahun sebelumnya. Pada 1 tahun sebelumnya
di dapat nilai MAPE 5.665882%, 2 tahun sebelumnya 6.236741%, 3 tahun
sebelumnya 9.040982%, dan 4 tahun sebelumnya didapat 5.962239%. Dari Mape
yang telah di hitung dapat di simpulkan bahwa hasil prediksi yang paling baik
25
dengan menggunakan model GRU dengan hasil MAPE paling kecil diantara hasil
prediksi 1,2,3, dan 4 tahun sebelumnya.
26
BAB 5
KESIMPULAN
Bab terakhir pada penulisan skripsi ini, berisikan tentang kesimpulan yang
diambil dari penelitian serta saran bagi para peneliti selanjutnya untuk dapat
mengembangkan ilmu pengetahuan dibidang yang terkait pada masa yang akan
datang.
5.1 Kesimpulan
Dari penelitian ini dapat ditarik kesimpulan bahwa sistem simulasi dan
prediksi penumpang PT.KAI (Persero) menggunakan model Gated Reccurent
Neural Network berhasil di bangun. Sebagai hasil, dengan melakukan percobaan
pencarian iterasi sampai dengan 15000 iterasi, maka di dapat jumlah MSE terkecil
pada iterasi 14000 dengan kombinasi pencarian model menggunakann learning rate
0.01, batch size 100, Epoch, Hidden state 512, dan windows size 30 yaitu 1.08 ×
10−10. Kemudian keakurasian dan ketepatan dalam prediksi atau peramalan pada
model ini dengan nilai MAPE sebesar 4,84% yang menunjukkan bahwa
kemampuan prediksi atau peramalan penumpang PT.KAI sudah baik.
5.2 Saran
Terdapat beberapa hal yang dapat dikembangkan dari penelitian ini untuk
penelitian selanjutnya. Saran yang dapat peneliti berikan diantaranya adalah :
1. Penggunaan data penumpang PT.KAI yang memiliki rentang waktu yang
lebih kecil seperti data setiap minggu dan data harian, mengingat bahwa
fluaktuasi penumpang PT.KAI sangat dinamis.
2. Menambahkan beberapa data dan variabel yang mungkin saja mmpengaruhi
jumlah penumpang kereta PT.KAI.
3. Untuk mendapatkan arsitektur model yang lebih baik gunakan lebih banyak
variasi pada neuron tersembunyi, lapisan tersembunyi, fungsi aktivasi,
algoritma pelatihan, dan parameter-parameter pelatihan yang akan
digunakan.
27
DAFTAR PUSTAKA
[1] M. E. Ervina, R. Silvi, and I. R. N. Wisisono, “Peramalan Jumlah
Penumpang Kereta Api di Indonesia dengan Resilient Back-Propagation
(Rprop) Neural Network,”” vol. 4, no. 2, pp. 90–99, 2018.
[2] H. Nanang “Aplikasi Model Recurrent Neural Network dan Recurrent
Neuro Fuzzy untuk peramalan banyak Penumpang Kereta Api
Jabodetabek,” 2014.
[3] R. Luthfianto, I. Santoso, and Y. Christiyono, “Peramalan Jumlah
Penumpang Kereta Api Dengan Jaringan Saraf Tiruan Metode Perambatan
Balik (Back Propagation),” J. Unversitas Diponegoro, vol. 1, no. 3, pp. 1–
9, 2011.
[4] D. N. Samsiah, “Analisis Data Runtun Waktu menggunakan Model
ARIMA (p,d,q),” Yogyakarta, 2008.
[5] A. Y. Prathama, “Pendekatan Ann (Artificial Neural Network) Untuk
Penentuan Prosentase Bobot Pekerjaan Dan Estimasi Nilai Pekerjaan
Struktur Pada Rumah Sakit Pratama,” J. Teknosains, vol. 7, no. 1, p. 14,
2018..
[6] A. Sadli, T. Jst, M. Statistik, and M. Terstruktur, “Simulasi Pengenalan
Karakter menggunakan Neural Network,” vol. 7, no. 1, pp. 89–97, 2018.
[7] A. A. Rizal and S. Hartati, “Prediksi Kunjungan Wisatawan dengan
Recurrent Neural Network Extended Kalman Filter REDIKSI
KUNJUNGAN WISATAWAN DENGAN RECURRENT NEURAL
NETWORK EXTENDED KALMAN FILTER,” vol. X, no. 1, pp. 7–18,
2017.
[8] J. Chung, C. Gulcehre, K. Cho, and Y. Bengio, “Empirical Evaluation of
Gated Recurrent Neural Networks on Sequence Modeling,” pp. 1–9, 2014.
[9] A. T. Tiara, “Prediksi temporal untuk kemunculan titik panas di provinsi
riau menggunakan elman recurrent neural network,” 2016.
[10] J. Nan, Z. Zhaozhi, M. Xiaomin, “The Lower on the Number of Hidden
Neurons in Multi-valued Muti-threshold Neural Network,” pp. 103-107,
28
2008.
[11] P. S. Matematika, U. Islam, N. Syarif, and H. Jakarta, “HIDDEN
MARKOV MODEL ( HMM ),” no. 1, pp. 32–41, 2016.
[12] D. P. Kingma and J. L. Ba, “Adam: A method for stochastic optimization,”
3rd Int. Conf. Learn. Represent. ICLR 2015 - Conf. Track Proc., pp. 1–15,
2015.
[13] E. C. Djamal, “Prediksi Harga Saham menggunakan Metode Recurrent
Neural Network,” Semin. Nas. Apl. Teknol. Inf. 2019, p. A-33-A-38, 2019.
[14] A. Wanto, “Optimasi Prediksi Dengan Algoritma Backpropagation Dan
Conjugate Gradient Beale-Powell Restarts,” J. Nas. Teknol. dan Sist. Inf.,
vol. 3, no. 3, pp. 370–380, 2018.
[15] L. I. Kuncheva, “Changing Environments,” pp. 1–9, 2004.
[16] Julpan, E. B. Nababan, and M. Zarlis, “Bipolar Dalam Algoritma
Backpropagation Pada,” J. Teknovasi, vol. 02, pp. 103–116, 2015.
[17] W. Maharani, “Klasifikasi Data Menggunakan JST Backpropagation
Momentum Dengan Adaptive Learning Rate,” Semin. Nas. Inform., vol. 1,
no. semnasIF, pp. 25–31, 2009.
[18] N. Chamidah, . W., and U. Salamah, “Pengaruh Normalisasi Data pada
Jaringan Syaraf Tiruan Backpropagasi Gradient Descent Adaptive Gain
(BPGDAG) untuk Klasifikasi,” J. Teknol. Inf. ITSmart, vol. 1, no. 1, p. 28,
2016.
[19] I. Sungkawa and R. T. Megasari, “Nilai Ramalan Datta Deret Waktu dalam
Seleksi model Peramalan Volume Penjualan PT. Satria Mandiri Citra
Mulia,” ComTech, vol. 2, no. 2, pp. 636–645, 2011.
[20] V. Kalender and D. Deteksi, “Prediksi Jumlah Penumpang Kereta Api
menggunakan Model Variasi Kalender dengan Deteksi Outlier, (Studi
Kasus : PT. Kereta Api Indonesia DAOP IV Semarang),” vol. 6, pp. 281–
289, 2017.
[20] P. Didi, “Optimasi Perencanaan Produksi pada Kombinasi Produk dengan
Metode Linier Programming,” Kab. Sukabumi, 2018.
29
LAMPIRAN
30
31