bab iii metode perancangan sistem -...

14
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.

Upload: doanphuc

Post on 01-Apr-2019

216 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Bab III Metode Perancangan Sistem - repository.uksw.edurepository.uksw.edu/bitstream/123456789/1719/4/T1_672003144_BAB III... · optimasi penjadwalan oleh aplikasi. Jadwal yang akan

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.

Page 2: Bab III Metode Perancangan Sistem - repository.uksw.edurepository.uksw.edu/bitstream/123456789/1719/4/T1_672003144_BAB III... · optimasi penjadwalan oleh aplikasi. Jadwal yang akan

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

Page 3: Bab III Metode Perancangan Sistem - repository.uksw.edurepository.uksw.edu/bitstream/123456789/1719/4/T1_672003144_BAB III... · optimasi penjadwalan oleh aplikasi. Jadwal yang akan

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)

Page 4: Bab III Metode Perancangan Sistem - repository.uksw.edurepository.uksw.edu/bitstream/123456789/1719/4/T1_672003144_BAB III... · optimasi penjadwalan oleh aplikasi. Jadwal yang akan

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.

Page 5: Bab III Metode Perancangan Sistem - repository.uksw.edurepository.uksw.edu/bitstream/123456789/1719/4/T1_672003144_BAB III... · optimasi penjadwalan oleh aplikasi. Jadwal yang akan

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)”.

Page 6: Bab III Metode Perancangan Sistem - repository.uksw.edurepository.uksw.edu/bitstream/123456789/1719/4/T1_672003144_BAB III... · optimasi penjadwalan oleh aplikasi. Jadwal yang akan

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.

Page 7: Bab III Metode Perancangan Sistem - repository.uksw.edurepository.uksw.edu/bitstream/123456789/1719/4/T1_672003144_BAB III... · optimasi penjadwalan oleh aplikasi. Jadwal yang akan

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 :

Page 8: Bab III Metode Perancangan Sistem - repository.uksw.edurepository.uksw.edu/bitstream/123456789/1719/4/T1_672003144_BAB III... · optimasi penjadwalan oleh aplikasi. Jadwal yang akan

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).

Page 9: Bab III Metode Perancangan Sistem - repository.uksw.edurepository.uksw.edu/bitstream/123456789/1719/4/T1_672003144_BAB III... · optimasi penjadwalan oleh aplikasi. Jadwal yang akan

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.

Page 10: Bab III Metode Perancangan Sistem - repository.uksw.edurepository.uksw.edu/bitstream/123456789/1719/4/T1_672003144_BAB III... · optimasi penjadwalan oleh aplikasi. Jadwal yang akan

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.

Page 11: Bab III Metode Perancangan Sistem - repository.uksw.edurepository.uksw.edu/bitstream/123456789/1719/4/T1_672003144_BAB III... · optimasi penjadwalan oleh aplikasi. Jadwal yang akan

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

Page 12: Bab III Metode Perancangan Sistem - repository.uksw.edurepository.uksw.edu/bitstream/123456789/1719/4/T1_672003144_BAB III... · optimasi penjadwalan oleh aplikasi. Jadwal yang akan

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.

Page 13: Bab III Metode Perancangan Sistem - repository.uksw.edurepository.uksw.edu/bitstream/123456789/1719/4/T1_672003144_BAB III... · optimasi penjadwalan oleh aplikasi. Jadwal yang akan

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.

Page 14: Bab III Metode Perancangan Sistem - repository.uksw.edurepository.uksw.edu/bitstream/123456789/1719/4/T1_672003144_BAB III... · optimasi penjadwalan oleh aplikasi. Jadwal yang akan

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.