Anda di halaman 1dari 5

Jurnal Riset Komputer (JURIKOM), Vol. 3 No.

6, Desember 2016
ISSN 2407-389X (Media Cetak)
Hal : 110-114

PERANCANGAN APLIKASI PENJADWALAN KERETA API DENGAN


MENGGUNAKAN ALGORITMA GENETIKA
(Studi Kasus: Stasiun Kereta Api Bandar Khalipah Medan)
Nurhamidah Lubis1, Garuda Ginting2

Mahasiswa Teknik Informatika STMIK Budi Darma Medan1


Dosen Tetap STMIK Budi Darma Medan2
Jl. Sisingamangaraja No. 338 Simpang Limun Medan12

ABSTRAK
Keberadaan komputer bahkan telah menggantikan banyak tenaga kerja manusia, baik di bidangbisnis, industri maupun
transportasi.Hal ini tidak bisa disalahkan karena memang terbukti bahwa sistem komputerisasi jauh lebih efisien dan
menguntun kan bagi perusahaan dibanding dengan sistem manual (dengan tenaga kerja manusia). Hampir setiap
perusahaan, khususnya yang sedang berkembang dan maju saat ini berlomba-lomba untuk mengkomputerisasi sistem yang
dimiliki perusahaannya, untuk meningkatkan efisiensi dan efektivitas kerja. Dengan perancangan aplikasi yang dilakukan
dalam pembuatan skripsi ini adalah penjadwalan keberangkatan penumpang yang akan diatur dalam sistem komputerisasi.
Kemudian pengaturan jadwal keberangkatan penumpang dengan kereta api yang berbeda, haridan jam keberangkatan yang
ditempuh untuk sampai pada tempat tujuan ditata seoptimal mungkin dengan menggunakan metode Algoritma Genetika.

Kata kunci: Genetika, Penjadwalan, Penumpang

I. PENDAHULUAN pemecahan masalah yang menggunakan salah satu


Di dalam perusahaan komputer merupakan tehnik pemrosesan data aplikasi yang biasanya
kebutuhan yang umum, sangat penting suatu unit berpacu pada sebuah komputansi yang diinginkan atau
komputer dalam sebuah kinerja perusahaan. Banyak diharapkan maupun pemrosesan data yang diharapkan.
hal menjadi lebih efisien dengan menggunakan sistem
komputerisasi. Salah satu bentuk perusahaan yang C. Penjadwalan
sangat terbantu dengan adanya komputer adalah Berdasarkan Kamus Besar Bahasa Indonesia,
perusahaan di bidang transportasi. jadwal merupakan pembagian waktu berdasarkan
Keberadaan komputer bahkan telah menggantikan rencana pengaturan urutan kerja. Jadwal juga
banyak tenaga kerja manusia, baik di bidang bisnis, didefinisikan sebagaidaftar atau tabel kegiatan atau
industri maupun transportasi. Hal ini tidak bisa rencana kegiatan dengan pembagian waktu
disalahkan karena memang terbukti bahwa sistem pelaksanaan yang terperinci. Sedangkan penjadwalan
komputerisasi jauh lebih efisien dan menguntungkan merupakan proses, cara, pembuatan menjadwalkan
bagi perusahaan dibanding dengan sistem manual atau memasukkan dalam jadwal.
(dengan tenaga kerja manusia). Hampir setiap
perusahaan, khususnya yang sedang berkembang dan D. Algoritma Genetik
maju saat ini berlomba-lomba untuk Algoritma Genetika merupakan suatu metode
mengkomputerisasi sistem yang dimiliki heuristik yang dikembangkan berdasarkan prinsip
perusahaannya, untuk meningkatkan efisiensi dan genetika dan proses seleksi alamiah Teori Evolusi
efektivitas kerja. Darwin. Metode optimasi dikembangkan oleh John
Holland sekitar tahun 1960-an dan dipopulerkan oleh
II. TEORITIS salah seorang mahasiswanya, David Goldberg, pada
A. Perancangan tahun 1980-an. Proses pencarian penyelesaian atau
Perancangan adalah suatu kegiatan yang memiliki proses terpilihnya sebuah penyelesaian dalam
tujuan untuk mendesign sistem baru yang dapat algoritma ini berlangsung sama seperti terpilihnya
menyelesaikan masalah-masalah yang dihadapi suatu individu untuk bertahan hidup dalam proses
perusahaan yang diperoleh dari pemilihan alternatif evolusi (Zainudin Zukhri, 2014 : 10).
sistem yang terbaik. Al-Bahra Bin Ladjamudin, 2005) Dalam teori Evolusi Darwin, suatu individu tercipta
secara acak kemudian berkembang biak melalui
B. Aplikasi proses reproduksi sehingga terbentuk sekumpulan
Istilah aplikasi berasal dari bahasa inggris individu sebagai populasi. Setiap individu dalam
“application” yang berarti penerapan, lamaran populasi mempunyai tingkat kebugaran yang berbeda-
ataupun penggunaan. Sedangkan secara istilah, beda. Tingkat kebugaran ini menentukan seberapa
pengertian aplikasi adalah suatu program yang siap kuat untuk tetap bertahan hidup dalam populasinya.
untuk digunakan yang dibuat untuk melaksanakan Sebagian individu tetap bertahan hidup dan sebagian
suatu fungsi bagi pengguna jasa aplikasi serta lainnya mati.
penggunaan aplikasi lain yang dapat digunakan oleh Pada algoritma genetika pencarian dimulai
suatu sasaran yang akan dituju. Menurut kamus dengan pembangkitan sejumlah “individu” secara
computer eksekutif, aplikasi mempunyai arti yaitu acak yang disebut dengan kromosom. Kromosom-
1
Jurnal Riset Komputer (JURIKOM), Vol. 3 No. 6, Desember 2016
ISSN 2407-389X (Media Cetak)
Hal : 110-114

kromosom ini merupakan representasi calon Chromosome [III] = [a;b;c;d] = [2;1;2;8]


penyelesaian yang akan diperiksa nilai yang Chromosome [IV] = [a;b;c;d] = [3;3;1;7]
sebenarnya. Seperti halnya proses evolusi alamiah, Chromosome [V] = [a;b;c;d] = [4;1;6;3]
kromosom-kromosom akan dinilai tingkat Chromosome[VI] = [a;b;c;d] = [6;2;5;5]
kebugarannya. Hanya kromosom dengan tingkat
kebugaran yang tinggi saja yang tepilih untuk
bertahan dalam populasi. 3. Evaluasi Chromosome
Kromosom-kromosom yang terpilih sebagian Permasalahan yang ingin diselesaikan adalah
akan melakukan proses reproduksi melalui nilai variabel a, b, c, dan d yang akan memenuhi
penyilangan (crossover). Proses reproduksi ini mirip permasamaan a+2b+3c+4d=20, maka fungsi
dengan perkawinan individu dalam proses evolusi. objektif akan digunakan untuk mendapatkan
Sebagian kecil dari kromosom-kromosom juga solusi adalah fungsi_objektif (chromosome) =
terkena mutasi seperti dalam proses evolusi. Proses [(a+2b+3c+4d)-20] maka penentuan solusinya
reproduksi ini akan melahirkan individu-individu baru adalah sebagai berikut sesuai dengan penentuan
(Zainudin Zukhri, 2014 : 11). chromosome yang diatas;
Fungsi_objektif(chromosome[I]) = Abs ((5 + 2*2
III. ANALISA DAN PEMBAHASAN + 3*3 + 4*4) -20)
Proses penyusunan penjadwalan kereta api = Abs ((5+4+9+16) -20)
pada PT. KERETA API Indonesia (Persero) = Abs (34-20)
khusunya pada stasiun bandar khalipah Medan = 14
menjadi permasalahan yang sering muncul pada Fungsi_objektif(chromosome[II]) = Abs ((1 +
awal tahun. Kemudian masing-masing jadwal 2*3 + 3*4 + 4*6) -20)
perjalanan diberi kepada petugas loket yang bekerja = Abs ((1+6+12+24) -20)
pada hari tersebut. Selanjutnya, jadwal perjalanan = Abs (43-20)
dijadwalkan pada hari, jam, dan tujuan = 23
keberangkatan tersebut. Fungsi_objektif(chromosome[III]) = Abs ((2 +
a. Komponen Penjadwalan Kereta Api 2*1 + 3*2 + 4*8) -20)
Komponen pertama adalah hari dan jam = Abs ((2+2+6+40) -20)
keberangkatan. = Abs (56-20)
b. Faktor-Faktor Yang Mempengaruhi Penjadwalan = 36
meliputi: Fungsi_objektif(chromosome[IV]) = Abs ((3 +
1. Hari 2*3 + 3*1 + 4*7) -20)
2. Jadwal Perjalanan = Abs ((3+6+3+28) -20)
= Abs (40-20)
Penerapan Algoritma Genetika = 20
Berikut adalah contoh dari aplikasi algoritma Fungsi_objektif(chromosome[V]) = Abs ((4 +
genetika yang di gunakan untuk menyelesaikan 2*1 + 3*6 + 4*3) -20)
masalah kombinasi. Misalkan persamaan = Abs ((4+2+18+12) -20)
a+2b+3c+4d=20, akan menentukan nilai a, b, c, dan d = Abs (38-20)
memenuhi persamaan diatas. Untuk menentukan = 18
pencarian pada metode algoritma genetika, untuk Fungsi_objektif(chromosome[VI]) = Abs ((6 +
menyelesaikan masalah. Langkah-langkah dalam 2*2 + 3*5 + 4*5) -20)
penyelesaian maslah dengan menggunakan algoritma = Abs ((6+4+15+20) -20)
genetika adalah sebagai berikut: = Abs (45-20)
1. Pembentukan Chromosome = 25
Sehubungan pencarian yang digunakan adalah a, Rata-rata dari fungsi objektif adalah:
b, c, dan d maka penentuan variabel a, b, c, dan d Rata-rata = (14+23+36+20+18+25) /6
di bentuk menjadi gen–gen pembentuk = 136/6
chromosome. Jika gen a dimisalkan adalah sales, =22.6
b dimisalkan adalahorder distribusi, c dimisalkan 4. Seleksi Chromosome
adalah hari/waktu dan d dimisalkan adalah Pada proses seleksi ini dilakukan dengan cara
Tujuanan. Untuk penentuan a adalah 0 sampai membuat chromosome yang
20, b adalah 0 sampai 6 , c adalah 0 sampai 6 mempunyai fungsi_objektif kecil yang
dan d adalah 1 sampai 9. kemungkinan terpilih besar atau mempunyai
2. Inisialisasi nilai probabilitas yang tinggi. Untuk itu di
Proses inisialisasi ini dilakukan dengan cara perlukan perhitungan fitness =
memberikan nilai awal gen-gen dengan nilai (1/(1+fungsi_objektif), fungsi objektif perlu
acak sesuai batasan yang telah di tentukan ditambah 1 untuk menghindari kesalahan
sebelumnya. program yang diakibatkan pembagian oleh 0.
Misalkan ditentukan jumlah populasi adalah 6, Fitness[1] = 1/(fungsi_objektif[1]+1)
maka: = 1/15
Chromosome [I] = [a;b;c;d] = [5;2;3;4] = 0.066
Chromosome [II] = [a;b;c;d] = [1;3;4;6] Fitness [2] = 1 (fungsi_objektif [2]+1)
112
Jurnal Riset Komputer (JURIKOM), Vol. 3 No. 6, Desember 2016
ISSN 2407-389X (Media Cetak)
Hal : 110-114

= 1/24 R[5] = 0.225


= 0.041 R[6] = 0.150
Fitness [3] = 1/(fungsi_objektif[3]+1) Angka acak pertama R[1] adalah lebih besar dari
= 1/37 C[1] dan lebih kecil dari pada C[2] maka pilih
= 0.027 chromosome[1] sebagai chromosome baru hasil
Fitness [4] = 1/(fungsi_objektif[4]+1) proses
= 1/21 seleksi adalah:
= 0.047 Chromosome[1] = chromosome[1]
Fitness [5] = 1/(fungsi_objektif[5]+1) Chromosome[2] = chromosome[1]
= 1/19 Chromosome[3] = chromosome[5]
= 0.052 Chromosome[4] = chromosome[1]
Fitness [6] = 1/(fungsi_objektif[6]+1) Chromosome[5] = chromosome[3]
= 1/26 Chromosome[6] = chromosome[2]
= 0.038 Chromosome baru hasil proses seleksi adalah:
Total fitness = 0.066+0.041+0.027+0.047+ Chromosome[1] = [5;2;3;4]
0.052+ 0.038 Chromosome[2] = [5;2;3;4]
= 0.271 Chromosome[3] = [4;1;6;3]
Rumus untuk mencari probabilitas : P[i] = Chromosome[4] = [4;1;6;3]
fitness[i] / total_fitness Chromosome[5] = [2;1;2;8]
P[1] = 0.066 / 0.271 Chromosome[6] = [1;3;4;6]
= 0.243 5. Crossover
P[2] = 0.041 / 0.271 Setelah proses seleksi maka proses selanjutnya
= 0.151 adalah proses crossover. Metode ini menggunakan
P[3] = 0.027 / 0.271 salah satu one-cutpoint, yaitu memilih secara acak
= 0.099 satu posisi dalam chromosome induk kemudian
P[4] = 0.047 / 0.271 saling menukar gen. Chromosome yang dijadikan
= 0.173 induk dipilih secara acak dan jumlah chromosome
P[5] = 0.052 / 0.271 yang mengalami crossover dipengaruhi oleh
= 0.191 parameter crossover_rate (pc).
P[6] = 0.038 / 0.271 Setelah melakukan pemilihan induk proses
= 0.140 selanjutnya adalah menentukan posisi crossover.
Dari probabilitas diatas maka dapat ditemukan Ini dilakukan dengan cara dengan batasan 1
nilai tertinggi dari pencarian diatas adalah pada sampai (panjang chromosome-1), dalam kasus ini
probabilitas 1 yang lebih besar. Maka dari bilangan acak yang dibangkitkan adalah 1-3.
penentuan chromosome tersebut mempunyai Misalkan didapatkan potongan gen tersebut saling
probabilitas untuk terpilih pada generasi ditukarkan antar induk.
selanjutnya lebih besar dari chromosome lainnya. Chromosome [1]>< Chromosome [3]
Untuk proses seleksi di gunakanroulete wheel, Chromosome [3]>< Chromosome [5]
supaya untuk menentukan nilai kumulatif Chromosome [5]>< Chromosome [1]
probabilitasnya: Offsring[1]= chromosme [1] >< chromosome [3]
C[1] = 0.243 = [5;2;3;4] >< [2;1;2;8]
C[2] = 0.243 + 0.151 = 0.394 = [5;1;3;8]
C[3] = 0.243 + 0.151 + 0.099 = 0.493 Offsring[3]= chromosme [3] >< chromosome [5]
C[4] = 0.243 + 0.151 + 0.099 + 0.173 = 0.666 = [2;1;2;8] >< [4;1;6;3]
C[5] = 0.243 + 0.151 + 0.099 + 0.173 + 0.191 = = [2;1;2;3]
0.857 Offsring[5]= chromosme [5] >< chromosome [1]
C[6] = 0.243 + 0.151 + 0.099 + 0.173 + 0.191 + = [5;2;3;4] >< [5;2;3;4]
0.140 = 1 = [5;2;3;4]
Setelah dilakukan perhitungan komulative Dengan demikian populasi chromosome setelah
probabilitasnya maka proses seleksi mengalami proses crossover menjadi :
menggunakan roulete wheel dapat dilakukan. Chromosome [1] = [5;1;3;2]
Prosesnya adalah dengan membangkitkan bilangan Chromosome [2] = [1;3;4;6]
acak R dalam range 0-1. Jika R[k] < C[1] maka Chromosome [3] = [5;1;3;2]
pilih chromosome ke-k sebagai induk dengan Chromosome [4] = [3;3;1;7]
syarat V[k-1]< R < C[k]. Jika diputar roulete Chromosome [5] = [5;2;3;4]
wheel sebanyak jumlah populasi yatu 6 kali Chromosome [6]= [6;2;5;5]
(bangkitkan bilangan acak R) dan pada tiap 6. Mutasi
putaran, maka dipilih satu chromosome untuk Jumlah chromosome yang mengalami mutasi
populasi baru, misalnya: dalam satu populasi ditentukan oleh parameter
R[1] = 0.260 mutation_rate. Proses mutasi dilakukan dengan
R[2] = 0.201 cara mengganti satu gen yang terpilih secara acak
R[3] = 0.100 dengan suatu nilai baru yang didapatkan secara
R[4] = 0.180 acak. Prosesnya adlah sebagai berikut :
113
Jurnal Riset Komputer (JURIKOM), Vol. 3 No. 6, Desember 2016
ISSN 2407-389X (Media Cetak)
Hal : 110-114

Pertama hitung terlebih dahulu panjang total gen [jum’at; 09:10][sabtu; 09:34
yang ada dalam satu populasi. Chromosome [5]
Dalam kasus ini panjang toal gen adalah total_gen = [Sri Bilah; Rantau Parapat-Medan]
= (jumlah gen dalam chromosome) * jumlah [senin; 17:30][selasa; 17:54]
populasi [rabu; 18:04][kamis; 18:46]
=4*6 [jum’at; 19:23][sabtu; 19:55]
= 24 Chromosome [6] = [Sri Bilah; Medan-R.Parapat]
Dan untuk menentukan posisi gen yang mengalami [senin; 15:37][selasa; 15:53]
mutasi dengn cara membangkitkan bilangan [rabu; 16:05][kamis; 16:27]
integer acak antara 1 sampai total_gen, yaitu 1 [jum’at; 17:30][sabtu; 18:55]
sampai 24. Jika bilangan acak yang dibangkitkan
lebih kecil daripada variabel mutation_rate (pm) IV. IMPLEMENTASI
maka pilih posisi tersebut sebagai sub- Pada skripsi ini, sistem dibangun menggunakan
chromosome yang mengalami mutasi. Misal pm MicrosoftVisualBasict 2008, berikut merupakan
ditentukan 10% maka diharapkan ada 10% dari implementasi sistem dari langkah pertama hingga
total_gen yang mengalami populasi : penentuan solusi.
Jumlah mutasi = 0.1 * 24 = 2.4 1. Tampilan Form Login
=2 Tampilan ini merupakan tampilan dari form login
Proses yang sama ini akan di lanjutkan pada dimana berfungsi untuk melakukan proses login.
generasi sebelumnya yaitu proses evaluasi, seleksi, Yang dapat dilihat pada gambar 1 Berikut ini :
crossover dan mutasi yang kemudian akan Gambar 1: Tampilan Form Login
menghasilkan choromosome-chromosome baru
untuk generasi selenjutnya. Setelah dilakukan
perhitungan yang diatas maka di pilihlah
chromosome yang terbaik yaitu:
Chromosome = [05;01;03;02]
Jika dikodekan maka:
a=05 ; b=01 ; c=03 ; d=02
jika dihitung terhadap persamaan f=a+2b+3c+4d:
5 + (2*1) + (3*3) + (4*2) =24
Dari pencarian di atas dapat diketahui hasil akhir
dari perhitungan yaitu;
Dari pencarian di atas dapat diketahui hasil akhir
dari perhitungan yaitu;
2. Tampilan Form Menu Utama
Chromosome [1] = [5;1;3;2] [5;2;4;3]
Berikut ini merupakan tampilan dari form menu
[5;3;5;4][5;4;6;5] [5;5;1;6] [5;6;2;1]
utama. Yang berfungsi untuk pemanggilan form-
Chromosome [2] = [4;3;4;6][4;4;5;1] [4;5;6;2]
form lainnya pada sistem.
[4;6;1;3] [4;1;2;4] [4;2;3;5]
Gambar 2: Tampilan Form Menu Utama
Chromosome [3] = [3;1;3;2][3;2;4;3] [3;3;5;4]
[3;4;6;5] [3;5;1;6] [3;6;2;1]
Chromosome [4] = [2;3;1;5][2;4;2;6] [2;5;3;1]
[2;6;4;2] [2;1;5;3] [2;2;6;4]
Chromosome [5] = [1;2;3;1][1;3;4;2] [1;4;5;3]
[1;5;6;4] [1;6;1;5] [1;7;2;6]
Chromosome [6] = [2;1;5;3][2;2;6;4] [2;3;1;5]
[2;4;2;6] [2;5;3;1] [2;6;4;2]
Chromosome [1]
= [Siantar Ekspres; Siantar-Medan]
[senin; 07:25][selasa; 07;29]
[rabu; 08:13][kamis; 08:52]
[jum’at; 09:13][sabtu; 09:25]
Chromosome [2]
= [Siantar Ekspres; Medan-Siantar]
3. Tampilan Form PenjadwalanKeretaApi
[senin; 13:44][selasa; 13:56]
Form order distribusimerupakan form yang
[rabu; 14:15][kamis; 14:58]
berfungsi untuk menginputkan data order
[jum’at; 15:24][sabtu; 16:02]
distribusi. Berikut merupakan tampilan dari form
Chromosome [3] = [Putri Deli;Tj. Balai-Medan]
order distribusi.
[senin; 08:55][selasa; 09:35]
[rabu; 09:57][kamis; 10:23]
[jum’at; 11:16][sabtu; 11:51]
Chromosome [4] = [Putri Deli; Medan-Tj. Balai]
[senin; 07:35][selasa; 07:49]
[rabu; 08:03][kamis; 08:22]
114
Jurnal Riset Komputer (JURIKOM), Vol. 3 No. 6, Desember 2016
ISSN 2407-389X (Media Cetak)
Hal : 110-114

7. Tampilan Form hasil Penjadwalan


Form hasil penjadwalan berfungsi untuk
menampilan hasil pendjadwalan berdasarkan
algoritma genetika. Berikut ini merupakan
tampilan form hasil pejadwalan.
Gambar 7: Tampilan Form Hasil Penjadwalan

Gambar 3 Tampilan Form Order distribusi

4. Tampilan Form Data Tujuan


Form alternatif merupakan form yang berfungsi
untuk penginputan data tujuan yang ada. Berikut
merupakan tampilan dari form data tujuan.
Gambar 4: Tampilan Form Data Tujuan

V. KESIMPULAN
Dari hasil analisa yang telah dilakukan dan
berdasarkan rumusan masalah dapat diambil beberapa
poin kesimpulan sebagai berikut :
1. Adapun penjadwalan kereta api pada Stasiun
Kereta Api Bandar Khalipah Medan dengan cara
jadwal keberangkatan dibagi kepada kereta api
yang bisaberoperasi pada hari tersebut.
5. Tampilan Form Data Hari Selanjutnya, jadwal keberangkatan
Form Data Sales berfungsi untuk penginputan disusunpadahari, jam, dan tujuan penumpang.
data hari. Berikut merupakan tampilan dari form 2. Dalam mengoptimalkan penyusunan jadwal
data hari. keberangkatan penumpang menggunakan
Gambar 5: Tampilan Form Data Hari algoritma genetika diperlukan empat parameter
antara lain jumlah tujuan, jumlah hari, waktu
probabilitas crossover dan mutasi.

VI. DAFTAR PUSTAKA


1. Anita Desiani & Muhammad Arhami. (2006). Konsep
Kecerdasan Buatan. Yogyakarta : Penerbit Andi.
2. Adi Nugroho. (2004). Konsep Pengembangan Sistem Basis
Data. Bandung: Informatika.
3. Bunafit Nugroho. (2008). Panduan Lengkap Menguasai
Perintah SQL. Jakarta: Media Kita.
4. Sugiarti. (2013). Analisa dan Perancangan UML. Yogyakarta :
6. Tampilan Form Penjadwalan KeretaApiDengan Graha Ilmu.
Algoritma Genetika 5. Zainudin Sukhri. (2014). Algoritma Genetika. Yogyakarta :
Form ini berfungsi untuk melakukan proses Penerbit Andi.
6. http://eprints.undip.ac.id/10528/1/BAB_I_DAN_II.pdf,
penjadwalan berdasarkan algoritma genetika. tanggalakses 20/04/2014
Gambar 6: Tampilan Form Perancangan Aplikasi 7. http://lpkjababeka.blogspot.com/2011/06/download-source-
Penjadwalan code-vb-60-untuk.html, tanggal akses 25/04/2014
8. www.pelita-informatika.com, Pelita Informatika STMIK
Budidarma,Tanggal akses 17/3/2015

115

Anda mungkin juga menyukai