1 Rancang Bangun Aplikasi Prediksi Jumlah Penumpang Kereta Api Menggunakan Algoritma Genetika Annisti Nurul Fajriyah Politeknik Elektronika Negeri Surabaya Institut Teknologi Sepuluh Nopember (ITS) Surabaya Kampus PENS-ITS, Keputih, Sukolilo, Surabaya E-mail : anies18@gmail.com, anies18@student.eepis-its.edu ABSTRAK Algoritma genetika sebagai algoritma untuk optimasi suatu masalah diterapkan untuk meramalkan jumlah penumpang yang akan menggunakan jasa kereta api. Data hasil penjualan tiket kereta api digunakan untuk inputan data training dan data testing yang akan menghasilkan nilai koefisien. Nilai koefisien terkecil dalam populasi akan digunakan untuk dikalikan dengan data hasil penjualan tiket kereta api yang akan menghasilkan nilai estimasi jumlah penumpang kereta api untuk beberapa tahap kedepan. Percobaan dilakukan pada 7 macam kereta yang berbeda dan didapatkan hasil beberapa kereta mempunyai akurasi yang besar yaitu dengan melihat nilai persentase kesalahan (MAPE) yang kecil pada kereta mutiara selatan (1%), mutiara timur eksekutif (18%), sancaka bisnis (17%), sancaka eksekutif (1%) dan turangga (20%). Namun untuk kereta argowilis dan mutiara timur bisnis belum dapat akurat dikarenakan nilai prosentase kesalahan masih di atas 20%. Kata kunci : algoritma genetika, estimasi, penumpang kereta api I. Pendahuluan Dalam era globalisasi dan perkembangan ekonomi yang cukup pesat saat ini, alat transportasi dan komunikasi merupakan kebutuhan yang cukup penting. Terutama alat tarnsportasi darat jarak jauh yang banyak memberikan kontribusi paling banyak untuk kebutuhan masyarakat maupun pemerintah, dalam hal ini kereta api. PT. Kereta Api (Persero) mempunyai beberapa jenis layanan yaitu : kereta api penumpang, kereta api barang, kereta api properti dan kereta komuter. Algoritma genetika merupakan salah satu cabang dari algoritma evolusi merupakan metode adaptive yang biasa digunakan untuk memecahkan suatu nilai dalam sebuah masalah optimasi. Algoritma ini didasarkan pada proses genetik yang ada dalam makhluk hidup yaitu perkembangan generasi dalam sebuah populasi yang alami, secara lambat laun menikuti prinsip seleksi alam atau siapa yang kuat, dia yang bertahan (survive). Dengan meniru teori evolusi ini, algoritma genetika dapat digunakan untuk mencari solusi permasalahan permasalahan dalam dunia nyata. Pada tugas akhir ini algoritma genetika diterapkan untuk meramalkan jumlah penumpang yang akan menggunakan jasa kereta api. Sehingga nantinya apabila pada hasil prediksi menunjukkan adanya lonjakan/kenaikan jumlah penumpang, PT KAI dapat menambahkan jumlah rangkaian kereta api. II. Rumusan Masalah dan Batasan A. Rumusan Masalah Adapun permasalahan yang dihadapi dalam menyelesaikan tugas akhir ini adalah: 1. Bagaimana dapat memprediksi jumlah penumpang kereta api 2. Bagaimana implementasi algoritma genetika untuk memprediksi jumlah penumpang kereta api. B. Batasan Masalah Pada permasalahan tersebut akan diberi batasan - batasan masalah sebagai berikut : 1. Data yang digunakan bersifat numerik. 2. Menggunakan data penumpang kereta api selama ± 2 tahun pada hasil penjualan tiket di stasiun kereta api gubeng surabaya. 3. Menentukan data training 7% dari jumlah data secara keseluruhan. 4. Menentukan data testing 2% dari jumlah data training.. Algoritma genetika yang digunakan adalah kromosom float, crossover dilakukan dengan jalan pertukaran aritmatika, dan mutasi dilakukan dengan menggunakan shift mutation. III. Tujuan
2 Proyek Akhir yang berjudul Rancang Bangun Aplikasi Prediksi Jumlah Penumpang Kereta Api Menggunakan Algoritma Genetika ini bertujuan untuk: 1. Menghasilkan suatu aplikasi yang berfungsi untuk memprediksi jumlah penumpang kereta api. 2. Mengembangkan proses komputasi dengan algoritma genetika untuk menyelesaikan permasalahan peramalan. IV. Tinjauan Pustaka Algoritma genetika pada dasarnya adalah program komputer yang mensimulasikan proses evolusi. Dalam hal ini populasi dari kromosom dihasilkan secara random dan memungkinkan untuk berkembang biak sesuai dengan hukumhukum evolusi dengan harapan akan menghasilkan individu kromosom yang prima. Kromosom ini pada kenyataannya adalah kandidat penyelesaian dari masalah, sehingga bila kromosom yang baik berkembang, solusi yang baik terhadap masalah diharapkan akan dihasilkan. Algoritma genetika ini banyak dipakai pada aplikasi bisnis, teknik maupun pada bidang keilmuan. Algoritma ini dapat dipakai untuk mendapatkan solusi yang tepat untuk masalah optimal dari satu variabel atau multi variabel. Sebelum algoritma ini dijalankan, masalah apa yang ingin dioptimalkan itu harus dinyatakan dalam fungsi tujuan, yang dikenal dengan fungsi fitness. Jika nilai fitness semakin besar, maka sistem yang dihasilkan semakin baik. Walaupun pada awalnya semua nilai fitness kemungkinan sangat kecil (karena algoritma ini menghasilkannya secara random), sebagian akan lebih tinggi dari yang lain. Kromosom dengan nilai fitness yang tinggi ini akan memberikan probabilitas yang tinggi untuk bereproduksi pada generasi selanjutnya. Sehingga untuk setiap generasi pada proses evolusi, fungsi fitness yang mensimulasikan seleksi alam, akan menekan populasi kearah fitness yang meningkat. Algoritma genetika sangat tepat digunakan untuk penyelesaian masalah optimasi yang kompleks dan sukar diselesaikan dengan menggunakan metode yang konvensional. Sebagaimana halnya proses evolusi di alam, suatu algoritma genetika yang sederhana umumnya terdiri dari tiga operator yaitu: operator reproduksi, operator crossover (persilangan) dan operator mutasi. Gambar 4.1 Gambaran umum algoritma genetika Struktur umum dari suatu algoritma genetika dapat didefinisikan dengan langkahlangkah sebagai berikut: 1. Membangkitkan populasi awal Proses membangkitkan sejumlah individu secara acak melalui prosedur tertentu. Ukuran untuk populasi tergantung pada masalah yang akan diselesaikan dan jenis operator genetika yang akan di implementasikan. Setelah ukuran populasi ditentukan, kemudian dilakukan pembangkitan populasi awal 2. Membentuk generasi baru Dalam membentuk digunakan tiga operator yang telah disebut di atas yaitu operator reproduksi/seleksi, crossover dan mutasi. 3. Evaluasi solusi Proses ini akan mengevaluasi setiap populasi dengan menghitung nilai fitness setiap kromosom dan mengevaluasinya sampai terpenuhi kriteria berhenti. Bila kriteria berhenti belum terpenuhi maka akan dibentuk lagi generasi baru dengan mengulangi langkah 2. Beberapa kriteria berhenti yang sering digunakan antara lain: Berhenti pada generasi tertentu. Berhenti setelah dalam beberapa generasi berturut-turut didapatkan nilai fitness tertinggi tidak berubah. Berhenti bila dalam n generasi berikut tidak didapatkan nilai fitness yang lebih tinggi. V. Metodologi A. Design Sistem Gambaran umum dari proyek akhir Rancang Bangun Aplikasi Prediksi Jumlah Penumpang Kereta Api Menggunakan Algoritma Genetika :
3 Gambar 1 Gambaran Umum Proyek Akhir Keterangan : Input : data ini didapatkan dari 7% dari jumlah data keseluruhan. Test : data ini didapatkan 2% dari jumlah data input Training : proses ini menggunakan algoritma genetika α : nilai koefisien model linier x : perkalian antara training dan test Forecast : hasil dari peramalan Proses Training Menggunakan Algoritma Genetika : Misalkan P (generasi) adalah populasi dari satu generasi, maka secara sederhana algoritma genetika terdiri dari langkah - langkah: a. Generasi = 0 (generasi awal) Representasi Kromosom Menggunakan persamaan linier : ε = nilai error MSE = rata-rata error = nilai prediksi pada waktu ke k = invers nilai prediksi pada waktu ke k n = jumlah data d. Kerjakan langkah - langkah berikut hingga generasi mencapai maksimum generasi: Generasi = generasi+1 (tambah generasi) Seleksi populasi tersebut untuk mendapatkan kandidat induk,p (generasi) menggunakan Roulette whell Lakukan arithmetic crossover pada P (generasi). : induk ke k : anak ke k r : bilangan antara 0 sampai 1 Lakukan shift mutation pada P (generasi). Shif mutation dilakukan dengan cara: Menentukan dua site secara random Site pertama ditempatkan ke site kedua, untuk selanjutnya digeser ke kiri Lakukan evaluasi fitness setiap individu pada P (generasi). Bentuk populasi baru: P (generasi) = { P (generasi 1) yang survive, P (generasi)} VI. Uji coba dan Pembahasan : error perkiraan : bobot pengaruh dari waktu ke 1 - n x1(k) ~ xn(k) : data input prediksi pada waktu ke k y(k+1) : data nilai prediksi pada waktu ke k+1 b. Inisialisasi populasi awal, P (generasi), secara acak c. Evaluasi nilai fitness pada setiap individu dalam P (generasi). f = nilai fitness A. Data Data penumpang kereta api didapatkan dari stasiun kereta api gubeng Surabaya. Dari keseluruhan sebanyak kurang lebih 2 tahun (730 hari). Dari jumlah total data dibagi menjadi 2 bagian : data training dan data testing. Gambar 2 Jumlah Data 1 Tahun (36 hari) B. Penentuan Probabilitas Crossover dan Probabilitas Mutasi Terbaik Berdasarkan Nilai Mean Square Error Untuk melakukan penentuan probabilitas crossover dan probabilitas mutasi terbaik, maka digunakan beberapa ketentuan yang nantinya akan digunakan oleh
4 seluruh data. Ketentuannya adalah sebagai berikut : Jumlah individu yang dipakai sebanyak 32 individu Nilai probabilitas crossover (Pco) adalah 0.7, 0.8, 0.9 Nilai probabilitas mutasi (Pm) adalah 0.0,,, 0.2. Iterasi yang dilakukan sebanyak 1000 kali. Penentuan MSE terbaik adalah berdasarkan nilai MSE terkecil C. Penentuan Nilai Mean Square Error Pada Data Jumlah Penumpang Kereta Argowilis Berikut akan ditampilkan nilai mean square error dengan menggunakan ketentuan-ketentuan pada sub bab B Dat a Dat a 1 36 Har i PC O 0.7 0.8 0.9 P M 0.0 0.2 0.0 0.2 0.0 0.2 Nilai Mean Square Error P1 P2 P3 P4 P 146. 131. 83 123. 2 126. 47 111. 8 112. 12 12. 94 107. 42 132. 33 106. 28 119. 36 106. 12. 63 100. 30 130. 73 123. 92 134. 3 116. 66 13. 89 123. 42 167. 16 121. 67 111. 92 112. 69 10. 77 106. 20 121. 18 149. 49 111. 33 1682. 88 118. 87 119. 20 138. 70 116. 49 113. 19 1499. 89 131. 22 122. 83 132. 64 137. 118. 18 11. 84 112. 1 134. 6 1736. 74 130. 92 1498. 76 130. 02 114. 3 111. 2 128. 63 100. 76 129. 88 130. 27 12. 62 113. 04 134. 70 130. 120. 77 130. 10 Tabel 1 Penggunaan Nilai Probabilitas Crossover dan Probabilitas Mutasi Pada Data Jumlah Penumpang Argowilis Pada percobaan di atas menunjukkan adanya perbedaan nilai MSE yang tidak jauh antara yang satu dan lainnnya. Namun pada data di atas yang pertama ini nampak nilai yang paling kecil adalah nilai MSE yang menggunakan probabilitas crossover (Pco) 0.9 dan probababilitas mutasi (Pm). D. Menentukan Hasil Mean Square Error Pada Hasil Estimasi Pada sub-bab ini akan membandingan hasil nilai estimasi yang diperolah menggunakan metode algoritma genetika dan metode ARIMA. Dari hasil estimasi tersebut kemudian dihitung nilai rata-rata error (mean square error) setiap jumlah periode. Mean square error didapatkan dari rumus : MSE = rata-rata error = nilai prediksi pada waktu ke k = invers nilai prediksi pada waktu ke k n = jumlah periode data E. Perbandingan Nilai Hasil Estimasi dan Nilai Aktual Pada Data Kereta Argowilis Berikut ini akan ditampilkan tabel perbandingan antara data penjualan real dengan estimasi jumlah penumpang pada hari yang sama pada jumlah penumpang hasil penjualan tiket kereta dengan menggunakan ketentuan-ketentuan pada sub bab C Pada peramalan algoritma genetika dibawah ini menggunakan nilai probabilitas crossover sebesar 0,9 dan nilai probabilitas mutasi sebesar 0,1. Tahap Nilai Aktual Nilai Estimasi AG MSE AG Nilai Estimasi ARIMA MSE ARIMA 1 41 96 302 31 100 2 121 118 9 33 7744 3 76 7 1 32 1936 4 98 169 041 7 1681 93 87 36 9 116 6 81 94 169 68 169 7 86 126 1600 40 2116 8 10 90 3600 26 1376 9 63 76 169 30 1089 10 6 67 121 27 841 11 76 111 122 7 3 12 84 143 3481 841 13 86 6 900 69 289 14 4 3 1 33 441 1 86 93 49 26 3600 16 63 102 121 29 116 17 68 64 16 27 1681 18 7 6 64 2 2 19 86 3 1089 3 1089 20 141 114 729 64 929 Rata Rata Error 1142 2381 MAD 2,8 39,9 MAPE 0,33 0,44
Tabel 2 Hasil Perbandingan Nilai Estimasi Algoritma Genetika dan ARIMA Pada Jumlah Penumpang Kereta Argowilis Arif, Algoritma Genetika dan Aplikasinya, www.cakrawala.co.id, 2007 Arna Fariza, Achmad Basuki, Peramalan Penjualan Time Series Menggunakan Algoritma Genetika, SITIA 2003, ITS, 2003, Research Seminar. Edy Satriyanto, Forecasting Teknik Peramalan dan Aplikasinya, Politeknik Elektronika Negeri Surabaya Gambar 3 Grafik Perbandingan Nilai Estimasi Algoritma Genetika dan Arima Pada Jumlah Penumpang Kereta Argowilis VII. Kesimpulan Dari hasil uji coba dan analisa, dapat disimpulkan beberapa hal antara lain : 1. Aplikasi prediksi jumlah penumpang kereta api dengan menggunakan metode algoritma genetika memiliki kriteria yang sederhana, semakin kecil nilai mean square error, mean absolute error dan mean absolute percentage error, maka semakin baik dan akurat hasil prediksi yang didapatkan. 2. Percobaan dilakukan pada 7 macam kereta yang berbeda dan didapatkan hasil beberapa kereta mempunyai akurasi yang besar yaitu dengan melihat nilai persentase kesalahan (MAPE) yang kecil pada kereta mutiara selatan (1%), mutiara timur eksekutif (18%), sancaka bisnis (17%), sancaka eksekutif (1%) dan turangga (20%). Namun untuk kereta argowilis dan mutiara timur bisnis belum dapat akurat dikarenakan nilai prosentase kesalahan masih di atas 20%. http://blog.its.ac.id/arif0/2007/11/19/algoritmagenetik-dan-aplikasinya.htm http://creasoft.wordpress.com/2008/04/21/algorit ma-genetika-genetic-algorithm.htm http://www.kereta-api.co.id/ Pangestu Subagyo, Forecasting Konsep dan Aplikasi, Yogyakarta : BPFE, 1986 Sanjoyo, Aplikasi Algoritma Genetika, 2006 VIII. Daftar Pustaka Achmad Basuki, Algoritma Genetika Suatu Alternatif Penyelesaian Permasalahan Searching Optimasi dan Machine Learning, Politeknik Elektronika Negeri Surabaya, 2003 Achmad Basuki, Arna Fariza, Peningkatan Kinerja Algoritma Genetika pada Peramalan Time Series dengan Klasifikasi Data Berdasarkan Trend, IES 2003, Politeknik Elektronika Negeri Surabaya, 2003, Research Seminar Achmad Basuki, Arna Fariza, Joko Lianto B, Peramalan Time Series Menggunakan Algoritma Genetika dengan Pengelompokan Berdasarkan Gradien Data, SNIKTI 2003, ITS, 2003, Research Seminar.
6