25
Implementasi dilakukan dengan merealisasikan rancangan perangkat lunak pada bahasa pemrograman
Microsoft Visual C
dan untuk
database
nya menggunakan
MySQL 5.
3.1 Analisa Kebutuhan
Dalam pembuatan sistem penjadwalan kereta api ini, perlu dilakukan identifikasi kebutuhan fungsi aplikasi serta kebutuhan data
penjadwalan kereta api. Pada tahapan ini perlu dilakukan pengumpulan data guna dimasukkan kedalam sistem.
Pengumpulan data dan analisa kebutuhan terhadap sistem dilakukan dengan observasi guna mengetahui kebutuhan pengguna.
Dari data dan informasi yang didapat digunakan sebagai landasan dalam pembangunan sistem. Data yang diperlukan sistem adalah data
penjadwalan kereta api pada Stasiun Tawang Semarang. Berikut merupakan jadwal keberangkatan jalur kereta api
Semarang-Jakarta yang dijadikan studi kasus di dalam sistem ini http:www.semarang.go.idinfok-api.php, 2011:
Gambar 3.2 Jadwal Kereta Semarang – Jakarta Keberangkatan
26
Gambar 3.3 Jadwal Kereta Jakarta
– Semarang Kedatangan
Dengan jadwal kereta api Semarang-Jakarta pada gambar 3.2 atau jadwal keberangkatan dan jadwal kedatangan kereta api Jakarta
– Semarang seperti pada gambar 3.3, perlu dilakukan optimasi
penjadwalan kereta api yang baru dilakukan apabila terjadi penambahan jumlah operasi kereta api yang melayani
rute
Semarang- Jakarta. Sistem ini akan melakukan penjadwalan kereta api yang baru
dengan menerapkan algoritma genetic sehingga diperoleh hasil optimasi penjadwalan kereta api yang baru.
Sampai saat ini, untuk melakukan penjadwalan kereta masih dilakukan secara manual. Artinya jadwal keberangkatan dan
kedatangan di list dan disusun waktunya agar tidak terjadi tabrakan jadwal kereta api. Aplikasi penjadwalan kereta api yang
dikembangkan dengan menggunakan algoritma genetik akan memberikan rekomendasi penjadwalan kereta yang lebih optimal.
27
3.2 Perancangan Permodelan Algoritma Genetik
Secara sederhana, perancangan permodelan penjadwalan kereta api tanpa menggunakan algoritma dapat digambarkan sebagai
berikut : “ Kereta A dengan tujuan SemarangJakarta dan kereta B dengan
tujuan JakartaSemarang, dijadwalkan untuk berangkat meninggalkan stasiun kereta dimulai pada pukul 08.00, dengan waktu tempuh dan
kecepatan kereta yang dianggap relatif sama 1 jam dan 30 menit. Waktu tunggu setiap kereta untuk menurunkan penumpang adalah 15
menit. Artinya, apabila kereta A yang pertama kali dijadwalkan dengan tujuan Semarang, akan berangkat pada pukul 08.00 dan tiba di
Jakarta pada pukul 09.30 ditambah waktu menurunkan penumpang menjadi 09.45. Setelah kereta A selesai menurunkan penumpang,
kereta B minimal akan berangkat menggunakan jalur kereta yang sama pada pukul 09.45 dan akan berangkat menuju Semarang dan
tiba pada pukul 11.15 dan waktu menurunkan penumpang menjadi pukul 11.30. Untuk proses penjadwalan kereta seterusnya, misalnya
apabila ada kerea B, D, dan seterusnya dilakukan penjadwalan dengan cara yang sama agar tidak terjadi penggunaan jalur yang sama
pada waktu yang sama oleh kereta yang berbeda Perhatikan Gambar 3.4”.
28
Gambar 3.4 Proses Penjadwalan Manual
Proses penjadwalan secara manual ditentukan berdasarkan kecepatan kereta api. Untuk mendapatkan waktu tempuh sebuah
kereta api perlu dipertimbangkan terlebih dahulu rumus perlawanan lokomotif, perlawanan keretagerbong, perlawanan tanjakan dan
perlawanan KA pada lengkungan, sehingga diperoleh perlawanan total seluruh KA. Kemudian untuk memperoleh waktu tempuh kereta
diperoleh dengan persamaan :
Keterangan : V2 kmjam
= Kecepatan KA pada akhir gerakan V1 kmjam = Kecepatan KA awal gerakan
a = Percepatan KA
Proses penjadwalan pada Gambar 3.4 merupakan proses penjadwalan yang dilakukan secara manual dengan perhitungan agar
tidak terjadi penggunaan jalur yang sama. Dengan menggunakan algoritma genetik, proses penjadwalan yang dilakukan secara manual
tadi dapat diselesaikan.
29
Di dalam penerapan penjadwalan kereta api dengan menggunakan algoritma genetik, ada beberapa tahapan dan proses
yang dilakukan. Tahapan dan proses tersebut antara lain digambarkan pada Gambar 3.5 :
Input Kereta dan Tujuan
Menentukan Parameter Genetik
Start
Memodelkan Masalah Dengan
Algoritma Job Shop
Generate Populasi, Evaluasi
Fitness, Crossover
Generate Jadwal
Hasil Optimasi
Finish
Gambar 3.5 Tahapan Penjadwalan
Pada Gambar 3.5, perancangan aplikasi penjadwalan kereta api dengan menggunakan algoritma genetik, melalui beberapa
tahapan antara lain :
30
1 Proses
input
data kereta dan tujuan Pada tahapan ini, pengguna akan memasukan nama kereta dan
tujuan Semarang atau Jakarta. Data tersebut kemudian akan dimasukkan ke dalam
database
dan disimpan. Kereta pada aplikasi akan dimodelkan sebagai sebuah
job
, dan waktu akan digunakan sebagai mesin.
2 Menentukan parameter genetik
Pada tahapan ini, akan dibuatkan algoritma untuk menentukan parameter
fitness
dari setiap
job
yang ada. Nilai
fitness
merupakan penentu generasi gen agar mendapatkan satu individu yang baik.
Fitness
untuk satu
job
ditentukan oleh 2 parameter individu yang dipilih yaitu jadwal keberangkatan kereta dan selisih waktu tiap
kereta yang berangkat. Nilai
fitness
tersebut disesuaikan dengan
range
waktu keberangkatan kereta yang sudah ditentukan. Nilai
fitness
akan semakin tinggi apabila jadwal keberangkatan kereta berada dalam
range
waktu keberangkatan yang sudah ditentukan. Secara singkat, dapat dipahami bahwa parameter genetik akan
mewakili waktu tunggu turun penumpang, dan
range
waktu keberangkatan batasan waktu didalam 1 hari.
3 Memodelkan masalah dengan menggunakan algoritma
Job Shop.
Pada tahapan ini, setiap kereta dianggap sebagai sebuah job. Kemudian waktu yang tersedia di dalam 1 hari dianggap sebagai
sebuah mesin. Jumlah kereta dan waktu yang tersedia, akan dioptimalkan dengan menggunakan algoritma genetik, dengan
nilai
fitness
yang paling tinggi dari setiap individu kereta dan waktu keberangkatan.
31
4
Generate
populasi dengan algoritma genetik
.
Pada tahapan ini akan di evaluasi untuk mencari nilai
fitness
yang paling tinggi. Setiap individu yang memiliki nilai
fitness
paling tinggi, kemudian akan di
crossover
sehingga menghasilkan hasil evaluasi nilai
fitness
terbaik dari setiap individu. Sehingga pada tahapan ini akan diperoleh individu dengan nilai
fitness
terbaik setelah melalui beberapa tahapan
crossover.
Gambar 3.6 Implementasi Algoritma genetik
Gambar 3.6 merupakan proses algoritma genetik yang berjalan pada sistem. Dimana proses awal dimulai dengan menetukan
populasi awal hingga berakhir dengan terbentuknya individu terbaik.
5 Generate
jadwal kereta yang baru
.
Pada tahapan ini, penjadwalan kereta akan ditampilkan sebagai hasil evaluasi nilai
fitness
. Hasil evaluasi nilai
fitness
inilah yang merupakan individu terpilih, yang merupakan hasil penjadwalan
yang paling optimal dengan menggunakan algoritma genetik.
32
3.3 Parameter Genetik dalam Penjadwalan Kereta