Upload
others
View
5
Download
0
Embed Size (px)
Citation preview
23
Bab III
Metode Perancangan Sistem
Perancangan sistem yang digunakan dalam membangun
sistem ini adalah dengan menggunakan metode prototyping. Proses
pada model prototyping yang digambarkan pada Gambar 3.1, bisa
dijelaskan sebagai berikut:
Gambar 3.1 Model Prototyping
1. Pengumpulan kebutuhan. Developer dan klien bertemu dan
menentukan tujuan umum, kebutuhan yang diketahui dan
gambaran bagian-bagian yang akan dibutuhkan berikutnya.
2. Perancangan. Tahap perancangan dilakukan cepat dan
rancangan mewakili semua aspek software yang diketahui,
dan rancangan ini menjadi dasar pembuatan prototype.
3. Evaluasi prototype. Pada proses ini klien mengevaluasi
prototype yang dibuat dan digunakan untuk memperjelas
kebutuhan software.
24
Perulangan ketiga proses ini terus berlangsung hingga semua
kebutuhan terpenuhi. Prototype-prototype dibuat untuk memuaskan
kebutuhan klien dan untuk memahami kebutuhan klien lebih baik.
Prototype yang dibuat dapat dimanfaatkan kembali untuk
membangun software lebih cepat, namun tidak semua prototype bisa
dimanfaatkan.
Kebutuhan awal pengguna yang didapat dalam wawancara
antara lain adalah sistem dapat digunakan untuk memberikan
alternatif penjadwalan kereta api.
Kemudian berdasarkan permintaan pengguna dibangunanlah
prototype sistem. Hasil dari pembangunan prototype pertama akan
dibahas pada Bab 4.
Setelah melakukan pembangunan prototype pertama, kemudian
dilakukan evaluasi sistem kepada pengguna. Dari hasil evaluasi
tersebut diketahui bahwa sistem dapat memberikan rekomendasi
penjadwalan kereta api kepada pengguna. Hasil rekomendasi berupa
jadwal keberangkatan kereta api yang tidak saling tabrakan jadwal
keberangkatannya.
Berikut kebutuhan minimum untuk dapat menjalankan sistem
ini adalah:
Processor : P IV – 2.00 GHz
Memory : 512 MB
Hard Disk : 512 MB
OS : Win 9x, Windows XP
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.id/info/k-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 Semarang/Jakarta dan kereta B dengan
tujuan Jakarta/Semarang, 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 kereta/gerbong, perlawanan tanjakan dan
perlawanan KA pada lengkungan, sehingga diperoleh perlawanan
total seluruh KA. Kemudian untuk memperoleh waktu tempuh kereta
diperoleh dengan persamaan :
Keterangan :
V2 (km/jam) = Kecepatan KA pada akhir gerakan
V1 (km/jam) = 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
Sebelum penerapan algoritma genetik pada aplikasi optimasi
penjadwalan kereta api ini di terapkan ada beberapa parameter
genetik yang digunakan, antara lain :
a) 1 Gen, mewakili 1 job atau 1 kereta dengan jam
keberangkatan yang berbeda-beda.
b) 1 Individu, mewakili kumpulan gen, atau dengan kata lain 1
individu merupakan kumpulan kereta dengan kombinasi
jadwal keberangkatan yang berbeda-beda.
c) 1 Populasi, mewakili kumpulan individu.
d) Fitness, mewakili proses seleksi setiap individu dengan nilai
maksimum atau nilai kecocokan tertinggi.
e) Crossover, mewakili proses seleksi setiap individu terpilih
diikuti dengan proses mutasi .
f) Evaluasi, merupakan proses perulangan langkah d-e sampai
ditemukan individu dengan hasil yang diinginkan, didalam hal
ini jadwal keberangkatan kereta dengan waktu yang optimal.
3.4 Perancangan Database
Desain dan perancangan database merupakan langkah penting
di dalam perancangan sistem sebuah aplikasi. Dengan demikian maka
desain dan perencanaan database harus dirancang dan kemudian
diimplementasikan dengan baik. Perancangan yang baik akan
menyebabkan database dapat melayani kebutuhan-kebutuhan aplikasi
dengan baik pula.
33
3.4.1 Tabel
Tabel 3.1 merupakan tabel kereta yang digunakan untuk
menyimpan id, nama_kereta, start, dan tujuan kereta api.
Perancangan tabel pada aplikasi algoritma genetik ini merupakan
perancangan tabel tunggal yang hanya terdiri dari 1 tabel. Semua
proses pengolahan informasi dilakukan pada sisi client (client side)
sehingga tidak membutuhkan banyak tabel. Kolom ID digunakan
untuk menyimpan id dari kereta. Kolom nama digunakan untuk
menyimpan informasi nama kereta. Kolom start digunakan untuk
menyimpan jam awal keberangkatan kereta. Kolom start merupakan
kolom yang diisi dengan nilai yang didapatkan dari proses yang
dijalankan dengan algoritma genetik. Sedangkan kolom tujuan
berfungsi untuk menyimpan data tujuan keberangkatan kereta. Kolom
ini diisi dengan nilai 1 dan 0. Angka 1 menunjukkan bahwa tujuan
akhir kereta adalah Jakarta dan angka 0 menunjukkan bahwa tujuan
akhir kereta adalah Semarang. Selain itu kolom ID pada tabel 3.1
merupakan primary key dari tabel yang bersangkutan yang dibuat
secara auto increment atau penomoran otomatis pada sisi database.
Sehingga kolom tersebut tidak perlu diinput oleh user.
Tabel 3.1 Tabel Kereta
Field Type Size
Id Int 9
Nama_Kereta Varchar 100
Start Time 100
Tujuan Int 9
34
3.5 Perancangan Desain Interface
Aplikasi ini dibuat hanya untuk user tunggal (admin) yang
dapat melakukan seluruh proses yang ada di dalam sistem yakni men-
generate jadwal keberangkatan dan manage data kereta yang ada
sehingga dalam perancangannya tidak terdapat perbedaan
perancangan interface untuk user yang berbeda.
Gambar 3.7 merupakan desain interface aplikasi, untuk
tampilan awal aplikasi :
Nama Kereta
Tujuan
Hasil Generate Jadwal
TAMBAH
RESET
Gambar 3.7 Tampilan Awal Aplikasi
Pada tampilan awal aplikasi akan ditampilkan jadwal
keberangkatan kereta terakhir yang sudah dijadwalkan sebelumnya.
Untuk menambahkan jumlah kereta dan tujuan terdapat form untuk
menginputkan data jumlah kereta dan tujuan keberangkatan. Nama
kereta dan tujuan keberangkatan akan ditambahkan pada jadwal.
Jadwal tersebut akan dioptimasi dengan menggunakan algoritma
genetik untuk menghasilkan jadwal baru yang lebih optimal dengan
penambahan jumlah kereta.
35
ID NAMA KERETA TUJUAN WAKTU KEBERANGKATANPROSES
REFERENSI JADWAL
PARAMETER GENETIK
FITNESS
Gambar 3.8 Form Manage Jadwal
Gambar 3.8 merupakan tampilan form manage jadwal
keberangkatan kereta. Untuk mengelola jadwal keberangkatan kereta
yang baru, operator dapat menentukan referensi jadwal sesuai dengan
kebutuhan. Kemudian terdapat parameter (parameter genetik) dan
nilai fitness yang mempengaruhi penjadwalan kereta api. Apabila
semua ketentuan referensi jadwal, parameter genetik dan nilai fitness
sudah ditentukan pada aplikasi, maka aplikasi akan melakukan
optimasi penjadwalan dengan menggunakan algoritma genetik dan
ditampilkan pada aplikasi.
36
JADWAL 1 JADWAL 2 JADWAL 3
PROSES
REFERENSI JADWAL
PARAMETER GENETIK
FITNESS
Gambar 3.9 Form Hasil Optimasi Penjadwalan
Gambar 3.9 merupakan form bagi operator untuk melihat hasil
optimasi penjadwalan oleh aplikasi. Jadwal yang akan ditampilkan
disesuaiakan dengan jumlah referensi jadwal yang diinginkan serta
parameter genetik dan nilai fitness yang ditentukan sebelumnya. Hasil
optimasi penjadwalan yang ditampilkan merupakan jadwal dengan
optimasi terbaik dengan menggunakan algoritma genetik.