PERANCANGAN APLIKASI PENJADWALAN KERETA API DENGAN MENGGUNAKAN ALGORITMA GENETIKA (Studi Kasus: Stasiun Kereta Api Bandar Khalipah Medan)

  ISSN 2407-389X (Media Cetak) Hal : 110-114

PERANCANGAN APLIKASI PENJADWALAN KERETA API DENGAN

MENGGUNAKAN ALGORITMA GENETIKA

  A. Perancangan

  Algoritma Genetika merupakan suatu metode heuristik yang dikembangkan berdasarkan prinsip genetika dan proses seleksi alamiah Teori Evolusi Darwin. Metode optimasi dikembangkan oleh John Holland sekitar tahun 1960-an dan dipopulerkan oleh salah seorang mahasiswanya, David Goldberg, pada tahun 1980-an. Proses pencarian penyelesaian atau proses terpilihnya sebuah penyelesaian dalam algoritma ini berlangsung sama seperti terpilihnya suatu individu untuk bertahan hidup dalam proses evolusi (Zainudin Zukhri, 2014 : 10). Dalam teori Evolusi Darwin, suatu individu tercipta secara acak kemudian berkembang biak melalui proses reproduksi sehingga terbentuk sekumpulan individu sebagai populasi. Setiap individu dalam populasi mempunyai tingkat kebugaran yang berbeda- beda. Tingkat kebugaran ini menentukan seberapa kuat untuk tetap bertahan hidup dalam populasinya. Sebagian individu tetap bertahan hidup dan sebagian lainnya mati.

  D. Algoritma Genetik

  Berdasarkan Kamus Besar Bahasa Indonesia, jadwal merupakan pembagian waktu berdasarkan rencana pengaturan urutan kerja. Jadwal juga didefinisikan sebagaidaftar atau tabel kegiatan atau rencana kegiatan dengan pembagian waktu pelaksanaan yang terperinci. Sedangkan penjadwalan merupakan proses, cara, pembuatan menjadwalkan atau memasukkan dalam jadwal.

  C. Penjadwalan

  ataupun penggunaan. Sedangkan secara istilah, pengertian aplikasi adalah suatu program yang siap untuk digunakan yang dibuat untuk melaksanakan suatu fungsi bagi pengguna jasa aplikasi serta penggunaan aplikasi lain yang dapat digunakan oleh suatu sasaran yang akan dituju. Menurut kamus computer eksekutif, aplikasi mempunyai arti yaitu pemecahan masalah yang menggunakan salah satu tehnik pemrosesan data aplikasi yang biasanya berpacu pada sebuah komputansi yang diinginkan atau diharapkan maupun pemrosesan data yang diharapkan.

  “application” yang berarti penerapan, lamaran

  Istilah aplikasi berasal dari bahasa inggris

  B. Aplikasi

  Perancangan adalah suatu kegiatan yang memiliki tujuan untuk mendesign sistem baru yang dapat menyelesaikan masalah-masalah yang dihadapi perusahaan yang diperoleh dari pemilihan alternatif sistem yang terbaik. Al-Bahra Bin Ladjamudin, 2005)

  II. TEORITIS

  

(Studi Kasus: Stasiun Kereta Api Bandar Khalipah Medan)

Nurhamidah Lubis

  Keberadaan komputer bahkan telah menggantikan banyak tenaga kerja manusia, baik di bidang bisnis, industri maupun transportasi. Hal ini tidak bisa disalahkan karena memang terbukti bahwa sistem komputerisasi jauh lebih efisien dan menguntungkan 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.

  Di dalam perusahaan komputer merupakan kebutuhan yang umum, sangat penting suatu unit komputer dalam sebuah kinerja perusahaan. Banyak hal menjadi lebih efisien dengan menggunakan sistem komputerisasi. Salah satu bentuk perusahaan yang sangat terbantu dengan adanya komputer adalah perusahaan di bidang transportasi.

  I. PENDAHULUAN

  Kata kunci: Genetika, Penjadwalan, Penumpang

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

  2 Jl. Sisingamangaraja No. 338 Simpang Limun Medan

  1 Dosen Tetap STMIK Budi Darma Medan

  2 Mahasiswa Teknik Informatika STMIK Budi Darma Medan

  

1

, Garuda Ginting

  Pada algoritma genetika pencarian dimulai dengan pembangkitan sejumlah “individu” secara acak yang disebut dengan kromosom. Kromosom- Evaluasi Chromosome Permasalahan yang ingin diselesaikan adalah nilai variabel a, b, c, dan d yang akan memenuhi permasamaan a+2b+3c+4d=20, maka fungsi objektif akan digunakan untuk mendapatkan solusi adalah fungsi_objektif (chromosome) = [(a+2b+3c+4d)-20] maka penentuan solusinya adalah sebagai berikut sesuai dengan penentuan chromosome yang diatas; Fungsi_objektif(chromosome[I]) = Abs ((5 + 2*2

III. ANALISA DAN PEMBAHASAN

  • 3*3 + 4*4) -20)

  = Abs ((2+2+6+40) -20) = Abs (56-20) = 36

  Fungsi_objektif(chromosome[III]) = Abs ((2 + 2*1 + 3*2 + 4*8) -20)

  = Abs ((1+6+12+24) -20) = Abs (43-20) = 23

  Fungsi_objektif(chromosome[II]) = Abs ((1 + 2*3 + 3*4 + 4*6) -20)

  = Abs ((5+4+9+16) -20) = Abs (34-20) = 14

1. Hari 2.

  Fungsi_objektif(chromosome[V]) = Abs ((4 + 2*1 + 3*6 + 4*3) -20)

  = Abs ((4+2+18+12) -20) = Abs (38-20) = 18

  Fungsi_objektif(chromosome[VI]) = Abs ((6 + = Abs ((6+4+15+20) -20) = Abs (45-20) = 25

  Rata-rata dari fungsi objektif adalah: Rata-rata = (14+23+36+20+18+25) /6

  = 136/6 =22.6 4. Seleksi Chromosome

  b, c, dan d maka penentuan variabel a, b, c, dan d di bentuk menjadi gen

  = Abs ((3+6+3+28) -20) = Abs (40-20) = 20

  1. Pembentukan Chromosome Sehubungan pencarian yang digunakan adalah a,

  Berikut adalah contoh dari aplikasi algoritma genetika yang di gunakan untuk menyelesaikan masalah kombinasi. Misalkan persamaan a+2b+3c+4d=20, akan menentukan nilai a, b, c, dan d memenuhi persamaan diatas. Untuk menentukan pencarian pada metode algoritma genetika, untuk penyelesaian maslah dengan menggunakan algoritma genetika adalah sebagai berikut:

  Penerapan Algoritma Genetika

  Jadwal Perjalanan

  Faktor-Faktor Yang Mempengaruhi Penjadwalan meliputi:

  b.

  Komponen Penjadwalan Kereta Api Komponen pertama adalah hari dan jam keberangkatan.

  a.

  Proses penyusunan penjadwalan kereta api pada PT. KERETA API Indonesia (Persero) khusunya pada stasiun bandar khalipah Medan menjadi permasalahan yang sering muncul pada awal tahun. Kemudian masing-masing jadwal perjalanan diberi kepada petugas loket yang bekerja pada hari tersebut. Selanjutnya, jadwal perjalanan dijadwalkan pada hari, jam, dan tujuan keberangkatan tersebut.

  Kromosom-kromosom yang terpilih sebagian akan melakukan proses reproduksi melalui penyilangan (crossover). Proses reproduksi ini mirip dengan perkawinan individu dalam proses evolusi. Sebagian kecil dari kromosom-kromosom juga terkena mutasi seperti dalam proses evolusi. Proses reproduksi ini akan melahirkan individu-individu baru (Zainudin Zukhri, 2014 : 11).

  kromosom ini merupakan representasi calon penyelesaian yang akan diperiksa nilai yang sebenarnya. Seperti halnya proses evolusi alamiah, kromosom-kromosom akan dinilai tingkat kebugarannya. Hanya kromosom dengan tingkat kebugaran yang tinggi saja yang tepilih untuk bertahan dalam populasi.

  Fungsi_objektif(chromosome[IV]) = Abs ((3 + 2*3 + 3*1 + 4*7) -20)

  • –gen pembentuk

  [I] = [a;b;c;d] = [5;2;3;4]

  Chromosome

  Misalkan ditentukan jumlah populasi adalah 6, maka:

  2. Inisialisasi Proses inisialisasi ini dilakukan dengan cara memberikan nilai awal gen-gen dengan nilai acak sesuai batasan yang telah di tentukan sebelumnya.

  b dimisalkan adalahorder distribusi, c dimisalkan adalah hari/waktu dan d dimisalkan adalah Tujuanan. Untuk penentuan a adalah 0 sampai 20, b adalah 0 sampai 6 , c adalah 0 sampai 6 dan d adalah 1 sampai 9.

  Pada proses seleksi ini dilakukan dengan cara membuat chromosome yang mempunyai fungsi_objektif kecil yang kemungkinan terpilih besar atau mempunyai nilai probabilitas yang tinggi. Untuk itu di perlukan perhitungan

  fitness

  = (1/(1+fungsi_objektif), fungsi objektif perlu ditambah 1 untuk menghindari kesalahan program yang diakibatkan pembagian oleh 0.

  Fitness

  [1] = 1/(fungsi_objektif[1]+1) = 1/15 = 0.066

  Fitness [2] = 1 (fungsi_objektif [2]+1)

  chromosome . Jika gen a dimisalkan adalah sales,

  Chromosome [II] = [a;b;c;d] = [1;3;4;6] Chromosome [III] = [a;b;c;d] = [2;1;2;8] Chromosome [IV] = [a;b;c;d] = [3;3;1;7] Chromosome [V] = [a;b;c;d] = [4;1;6;3] Chromosome [VI] = [a;b;c;d] = [6;2;5;5] 3.

  = 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] = Chromosom e[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[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 [2] = [1;3;4;6]

  Chromosome

  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 [4] = [3;3;1;7]

  Chromosome

  syarat V[k-1]< R < C[k]. Jika diputar roulete Chromosome [5] = [5;2;3;4] sebanyak jumlah populasi yatu 6 kali [6]= [6;2;5;5]

  wheel Chromosome

  (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 . Proses mutasi dilakukan dengan

  mutation_rate

  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 : 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] 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]

  [2]

  Chromosome

  = [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]

  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.

  Selanjutnya, jadwal keberangkatan Form Data Sales berfungsi untuk penginputan disusunpadahari, jam, dan tujuan penumpang. data hari. Berikut merupakan tampilan dari form 2.

5. Tampilan Form Data Hari

  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.

  Graha Ilmu.

  Tampilan Form Penjadwalan KeretaApiDengan 5.

  Zainudin Sukhri. (2014). Algoritma Genetika. Yogyakarta :

  Algoritma Genetika Penerbit Andi. Form ini berfungsi untuk melakukan proses 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- code-vb-60-untuk.html, tanggal akses 25/04/2014

  Penjadwalan

  8. Pelita Informatika STMIK Budidarma,Tanggal akses 17/3/2015