SISTEM PENJADWALAN KERETA API PADA JADWAL KERETA API SEMARANG - JAKARTA LAPORAN PENELITIAN
Diajukan kepada Fakultas Teknologi Informasi untuk memperoleh Gelar Sarjana Komputer
Peneliti: Martin Kartiyoso Wiwin Sulistyo, S.T, M.Kom. Dian W. Chandra, S.Kom. M.Cs.
Program Studi Teknik Informatika Fakultas Teknologi Informasi Universitas Kristen Satya Wacana Salatiga Januari 2012
i
ii
Pernyataan Skripsi yang berikut ini: Judul
: Sistem Penjadwalan Kereta Api pada jadwal Semarang - Jakarta
Pembimbing : 1. Wiwin Sulistyo, S.T, M.Kom. 2. Dian W. Chandra, S.Kom. M.Cs.
adalah benar hasil karya saya: Nama
: Martin Kartiyoso
NIM
: 672003144
Saya menyatakan tidak mengambil sebagian atau seluruhnya dari hasil karya orang lain kecuali sebagaimana yang tertulis pada daftar pustaka.
Pernyataan ini dibuat dengan sebenarnya sesuai dengan ketentuan yang berlaku dalam penulisan karya ilmiah.
Salatiga, Januari 2012
(Martin Kartiyoso)
iii
Lembar Identitas Judul
: Sistem Penjadwalan Kereta Api Pada Jadwal Kereta Api Semarang Jakarta
Mahasiswa a) Nama Lengkap : Martin Kartiyoso b) NIM : 672003144 c) Bidang Konsentrasi : Jaringan d) Fakultas/Progdi : Teknologi Informasi / Teknik Informatika e) Alamat : Jl. P.Diponegoro 27 Tayu - Pati f) Telp/HP/Faks : 08995834339 g) Email :
[email protected] Peneliti 1 a) Nama Lengkap b) Bidang Keahlian c) Unit Kerja d) Alamat e) f)
Telpon/HP/Faks Email
Peneliti 2 a) Nama Lengkap b) Bidang Keahlian c) Unit Kerja d) Alamat e) Telpon/HP/Faks f) Email
: : : :
Wiwin Sulistyo Jaringan Salatiga Perum Satya Asri II/2 Sidorejo Salatiga : 085742347505 :
[email protected]
: : : : : :
Dian W.Chandra Jaringan Salatiga Salatiga 08156565156
[email protected]
iv
Prakata Puji syukur penulis panjatkan kepada Tuhan Yang Maha Kuasa karena atas kasih dan penyertaan-Nya, penulis dapat menyelesaikan skripsi yang berjudul ”Sistem Penjadwalan Kereta Api pada Jadwal Kereta Api Semarang - Jakarta” ini. Skripsi ini disusun untuk memenuhi sebagian persyaratan dalam memperoleh gelar Sarjana Komputer pada Program Studi Teknik Informatika, Fakultas Teknologi Informasi Universitas Kristen Satya Wacana Salatiga. Skripsi ini dapat selesai berkat bantuan dari berbagai pihak yang telah memberikan bimbingan, ide, dan berbagai dukungan lainnya kepada penulis. Pada kesempatan ini penulis mengucapkan terima kasih kepada : 1.
Bapak Andeka Rocky Tanaamah, SE., M.Cs., selaku Dekan Fakultas Teknologi Informasi Universitas Kristen Satya Wacana Salatiga.
2.
Bapak Dian W. Chandra, S.Kom., M.Cs. selaku Ketua Program Studi Teknik Informatika, Fakultas Teknologi Informasi Universitas Kristen Satya Wacana Salatiga.
3.
Bapak Wiwin Sulistyo, ST., M.kom., sebagai dosen pembimbing
pertama atas kesabaran dalam memberi
bimbingan, petunjuk, motivasi dan pengarahan dalam penyusunan skripsi ini. 4.
Bapak Dian W. Chandra, S.Kom., M.Cs. selaku dosen pembimbing dua atas kesabaran dalam memberi bimbingan, masukan, motivasi dan pengarahan dalam penyusunan skripsi ini.
v
5.
Seluruh Bapak/Ibu dosen pengajar di Fakultas Teknologi Informasi yang telah mendidik dan memberikan bekal kepada penulis selama kuliah serta seluruh staf atas bantuannya.
6.
Orang tua yang selalu mendorong dan memberi dukungan sepenuhnya.
7.
Teman kos Dipo 68G Sinchan, Ari, unyil, Amal, erisman, djoko, willy, Gori, oki dan semua teman tempat berbagi keceriaan, suka dan duka, terima kasih.
8.
Teman–teman dari FTI 2003, teman–teman seperjuangan selama ini, yang telah mengisi kehidupan kuliah di FTI UKSW.
9.
Pihak-pihak yang tidak dapat penulis sebutkan satu persatu yang telah membantu penulis selama penyusunan skripsi ini. Penulis menyadari sepenuhnya bahwa dalam penulisan skripsi
ini
masih
terdapat
mengharapkan
saran
kekurangan. yang
Oleh
membangun
karena dari
itu,
pembaca
penulis demi
penyempurnaan laporan ini. Akhir kata, penulis berharap semoga laporan skripsi ini dapat bermanfaat bagi pembaca sekalian.
Salatiga, Januari 2012
Martin Kartiyoso
vi
Daftar Isi
Halaman Judul ................................................................................. Halaman Pengesahan ........................................................................ Halaman Pernyataan .......................................................................... Lembar Identitas ................................................................................ Prakata ............................................................................................... Daftar Isi ............................................................................................ Daftar Gambar .................................................................................. Daftar Tabel ...................................................................................... Daftar Kode Program ........................................................................ Abstract ............................................................................................ Bab 1 Pendahuluan .................................................................. 1.1 Latar Belakang ..................................................... 1.2 Rumusan Masalah ................................................ 1.3 Tujuan dan Manfaat ............................................. 1.4 Batasan Masalah .................................................. 1.5 Sistematika Penulisan .......................................... Bab 2 Tinjauan Pustaka ........................................................... 2.1 Penelitian Terdahulu ........................................... 2.2 Penjadwalan ......................................................... 2.2.1 Masalah Penjadwalan ................................. 2.2.2 Tujuan Penjadwalan .................................... 2.2.3 Klasifikasi Penjadwalan Kereta .................. 2.3 Algoritma Genetik ............................................... 2.3.1 Struktur Umum Algoritma Genetik …....... 2.4 Pemodelan Algoritma Genetik............................. 2.4.1 Pemilihan Operator Genetik ....................... 2.4.2 Fungsi Fitness ............................................. 2.4.3 Parameter Genetik....................................... 2.4.4 Pemodelan Penjadwalan ............................. Bab 3 Metode Perancangan Sistem ......................................... 3.1 Analisa kebutuhan ............................................... 3.2 Perancangan Permodelan Algoritma Genetik ...... 3.3 Parameter Genetik dalam Penjadwalan Kereta .... 3.4 Perancangan Database ......................................... 3.4.1 Tabel……………………………………... 3.5 Perancangan Desain Interface ..............................
vii
Halaman i ii iii iv v vii ix x xi xii 1 1 2 3 3 4 7 7 9 9 11 11 12 14 17 18 19 19 20 23 25 27 32 32 33 34
Implementasi Sistem ..................................................... 4.1 Pembangunan Prototype ...................................... 4.2 Hasil dan Pembahasan ......................................... 4.3 Pengujian Sistem.................................................. 4.3.1 Pengujian Black Box ................................... 4.3.2 Pengujian Fungsi Program .......................... 4.3.3 Pengujian performance program ................ Bab 5 Kesimpulan dan Saran Pengembangan ........................ 5.1 Kesimpulan ............................................................. 5.2 Saran Pengembangan ............................................. Daftar Pustaka ................................................................................ Bab 4
viii
37 37 47 50 50 51 51 53 53 53 55
Daftar Gambar Halaman Gambar 2.1 Gambar 2.2 Gambar 2.3 Gambar 3.1 Gambar 3.2 Gambar 3.3 Gambar 3.4 Gambar 3.5 Gambar 3.6 Gambar 3.7 Gambar 3.8 Gambar 3.9 Gambar 4.1 Gambar 4.2 Gambar 4.3 Gambar 4.4 Gambar 4.5 Gambar 4.6
Siklus Algoritma Genetik. ......................................................... String A dan Hasil Mutasi ......................................................... Notasi ........................................................................................ Model Prototyping .................................................................... Jadwal Kereta Semarang – Jakarta (Keberangkatan) ................ Jadwal Kereta Jakarta – Semarang (Kedatangan) ..................... Proses Penjadwalan Manual ...................................................... Tahapan Penjadwalan ................................................................ Implementasi Algoritma genetik ............................................... Tampilan Awal Aplikasi .......................................................... Form Manage Jadwal ............................................................... Form Hasil Optimasi Penjadwalan............................................ Form Manage Kereta ................................................................. Proteksi Operator Manage Data Kereta ................................... Form Menu Operator Manage Jadwal ...................................... Form Menu Operator Generate Jadwal ..................................... Form Hasil penjadwalan 1 ......................................................... Form Hasil penjadwalan 2 .........................................................
ix
15 18 20 23 25 26 28 29 31 34 35 36 37 39 40 45 48 49
Daftar Tabel Halaman Tabel 3.1 Tabel 4.1
Tabel Kereta .............................................................................. Black Box Testing ......................................................................
x
33 50
Daftar Kode Program Halaman Kode Program 4.1 Kode Program 4.2 Kode Program 4.3 Kode Program 4.4 Kode Program 4.5 Kode Program 4.6 Kode Program 4.5
Kode Program untuk input kereta dan tujuan .............. Perintah untuk men-generate populasi awal ................ Perintah untuk evaluasi fitness .................................... Perintah untuk memilih individu yang terbaik ............. Perintah untuk Crossover ............................................ Proses Mutasi............................................................... Proses Generate Jadwal ..............................................
xi
38 41 42 43 43 44 46
Abstract Every year PT KAI (Kereta Api Indonesia) have to perform effective scheduling of train which is in accordance with the needs of rail transportation with the number of passangers, umber of trains, railway lines, and departure times of train between stations. At the moment the cheduling system is still done manually which consume a long time due to the fairly complicated process of counting the train schedule. To solve this obstacle, it is needed a system that can be operated effectively and not consume a lot of time where the system is modeled and then look for solutions scheduling using genetic algorithms to generate a more effective train departure schedule by considering the number of trains, railway lines and the amount of time between the departure station.
Keywords: Scheduling, genetic algorithms. Abstrak Setiap tahun PT KAI (Kereta Api Indonesia) harus melakukan penjadwalan kereta api yang efektif sesuai dengan tingkat kebutuhan angkutan kereta api dengan jumlah penumpang, jumlah kereta, jumlah jalur kereta dan waktu keberangkatan kereta antar stasiun. Pada saat ini proses penjadwalan masih di lakukan secara manual yang memakan waktu cukup lama dikarenakan cukup rumitnya proses penghitungan jadwal kereta api tersebut. Untuk mengatasi hal tersebut dibutuhkan sebuah sistem yang dapat berfungsi dengan efektif dan tidak memakan waktu penghitungan yang lama dimana sistem tersebut dimodelkan dan kemudian dicari solusi penjadwalan menggunakan algoritma genetik yang akan menghasilkan jadwal keberangkatan kereta api yang lebih efektif dengan mempertimbangkan jumlah kereta, jumlah jalur kereta dan waktu keberangkatan antar stasiun.
Kata
Kunci
:
Penjadwalan,
xii
algoritma
genetik.