• Tidak ada hasil yang ditemukan

Institutional Repository | Satya Wacana Christian University: Sistem Penjadwalan Kereta Api pada Jadwal Kereta Api Semarang – Jakarta T1 672003144 BAB II

N/A
N/A
Protected

Academic year: 2017

Membagikan "Institutional Repository | Satya Wacana Christian University: Sistem Penjadwalan Kereta Api pada Jadwal Kereta Api Semarang – Jakarta T1 672003144 BAB II"

Copied!
15
0
0

Teks penuh

(1)

Bab II

Tinjauan Pustaka

2.1

Penelitian Terdahulu

Penelitian mengenai Visualisasi Rute Terpendek Jalur Angkutan Kota Dengan Algoritma Genetika membahas tentang perancangan dan pembuatan aplikasi yang dapat digunakan untuk mencari rute terpendek dengan menerapkan algoritma Genetika

optimization. Algoritma ini melakukan pencarian rute terpendek angkutan kota yang diaplikasikan di kota Jember. Aplikasi yang dibuat bermanfaat untuk memberikan informasi rute angkutan kota terpendek, berupa jalan-jalan yang dilalui, panjang perjalanan dan angkutan kota yang dapat digunakan. Sistem yang dibangun menggunakan aplikasi Visual Basic 6 dan Macromedia Flash.

(Swastika, 2009)

Penelitian Sistem Informasi Penjadwalan Kereta Rel Listrik menggunakan algoritma genetik untuk melakukan optimasi penjadwalan kereta api di daerah JABOBETABEK. Sistem yang dibangun akan melakukan penjadwalan Kereta Rel Listrik (KRL) yang lebih optimal dengan menggunakan algoritma genetik. Sistem yang dibangun menggukan Borland C+ + Builder 6 dengan bahasa pemrogramman C sedangkan untuk databasenya menggunakan

(2)

Program algoritma genetika yang dijalankan dapat berjalan dengan efektif di dua eksperimen yang berbeda. Dimana eksperimen yang pertama setiap mesin hanya dapat menampung satu operasi sedangkan eksperimen yang kedua setiap mesin dapat menampung maksimal dua operasi. Program algoritma genetika dapat digunakan pada persoalan penjadwalan job shop yang produknya multi produk (mode 1) maupun persoalan penjadwalan job shop yang produknya berbaur dan multi produk (mode2). Program algoritma genetika dapat dijalankan pada berbagai data order dan data efisiensi operasi yang berbeda dengan ketentuan data-data tersebut memenuhi batasan-batasan dalam pemodelan yang sesuai dengan masalah penjadwalan

job shop. Pengembangan yang dapat dilakukan terhadap program algoritma genetika pada permasalahan penjadwalan job shop terutama produknya yang dihasilkan bersifat berbaur dan multi produk dengan mempertimbangkan efek ketidakpastian yang terjadi pada proses penjadwalan. Diantaranya adalah ketidakpastian permintaan konsumen, gangguan mesin, kekurangan bahan baku, ketidakhadiran operator mesin, dan lainnya. Hal-hal tersebut sangat berpengaruh dan menyebabkan perubahan yang cukup signifikan terhadap proses penjadwalan job shop. Begitu juga dengan pembatalan order yang telah terjadwal akan berakibat pada perubahan susunan operasi yang dikerjakan pada mesin produksi. (Fachrudin, dkk, 2011)

Berbeda dengan penelitian sebelumnya, dalam penelitian kali ini dilakukan pada PT. KAI Semarang untuk mengatur penjadwalan kereta tujuan Semarang Jakarta dan sebaliknya. Metode pencarian solusi penjadwalan kereta api menggunakan algoritma genetik

(3)

dengan menggunakan bahasa pemrogramman Microsoft Visual Studio 2010 dan database MySQL .

2.2 Penjadwalan

Penjadwalan adalah kegiatan pengalokasian sumber-sumber atau mesin-mesin yang ada untuk menjalankan sekumpulan tugas dalam jangka waktu tertentu (Baker, 1974). Keputusan yang dibuat di dalam penjadwalan meliputi pengurutan pekerjaan (sequencing), waktu mulai dan selesai pekerjaan (timing), dan urutan operasi untuk urutan pekerjaan (routing). Persoalaan penjadwalan timbul apabila ada beberapa pekerjaan diselesaikan secara bersamaan, sedangkan fasilitas yang dimiliki terbatas seperti masalah pada penjadwalan kereta api ini.

Dari penjelasan definisi penjadwalan diatas dapat dikatakan bahwa penjadwalan merupakan suatu kegiatan perancangan berupa pengalokasian sumber daya baik mesin maupun tenaga kerja untuk menjalankan sekumpulan tugas sesuai prosesnya di dalam jangka waktu tertentu

2.2.1 Masalah Penjadwalan

(4)

Masalah penjadwalan dapat ditinjau dari berbagai aspek diantaranya:

a. Mesin (terbagi atas penjadwalan mesin tunggal, penjadwalan dua mesin, dan penjadwalan m mesin)

b. Aliran proses (terbagi atas job shop dan flow shop). Aliran proses job shop memungkinkan pekerjaan melalui lintasan yang berbeda antar jenisnya. Sedangakan aliran flow shop

sebaliknya.

c. Pola kedatangan pekerjaan, secara statis maupun dinamis. Dimana jika semua pekerjaan datang secara bersamaan dan semua fasilitas tersedia pada saat kedatangan pekerjaan disebut pola kedatangan pekerjaan statis. Sedangkan jika pekerjaan datang secara acak selama masa penjadwalan disebut pola kedatangan pekerjaan dinamis.

(5)

2.2.2 Tujuan Penjadwalan

Secara umum, tujuan dari penjadwalan adalah sebagai berikut (Saputro dan Yento, 2004) :

1. Meningkatkan produktivitas kereta api, yaitu dengan mengurangi idle time.

2. Mengurangi jumlah rata-rata pemberangkatan yang menunggu dalam antrian kereta api yang sibuk.

3. Mengurangi keterlambatan karena batas waktu (due date) telah dilewati dengan cara mengurangi maksimum keterlambatan maupun dengan mengurangi jumlah pemberangkatan kereta api yang terlambat.

4. Penetapan due date, saat waktu dimana kereta api harus telah selesai proses.

2.2.3 Klasifikasi Penjadwalan Kereta Api

Beberapa model penjadwalan yang sering terjadi di dalam proses penjadwalan kereta api adalah sebagai berikut (Saputro dan Yento, 2004). :

1. Berdasarkan jumlah yang digunakan dalam proses : a. Penjadwalan pada kereta api tunggal

(6)

b. Penjadwalan pada kereta api multi

Dalam dunia industri sering kali jenis kereta api yang identik digabungkan menjadi satu region, hal ini sering disebut sebagai kereta api paralel. Dalam tipe kereta api paralel kita mengasumsikan bahwa pemberangkatan dapat dikerjakan pada beberapa kereta api berbeda dalam satu

region.

2. Berdasarkan kedatangan job :

a. Penjadwalan statis: penjadwalan statis adalah, dimana job

yang datang bersamaan dan siap dikerjakan pada kereta api yang tidak bekerja.

b. Penjadwalan dinamis: adalah penjadwalan dimana kedatangan

job tidak menentu.

2.3 Algoritma Genetik

(7)

John Holland dan dikembangkan oleh muridnya David Goldberg. (Basuki, 2003)

Hal-Hal Yang Harus Dilakukan Dalam Menggunakan Algoritma Genetika adalah:

1. Mendefinisikan individu, dimana individu menyatakan salah satu solusi (penyelesaian) yang mungkin dari permasalahan yang diangkat.

2. Mendefinisikan nilai fitness, yang merupakan ukuran baik-tidaknya sebuah individu atau baik-baik-tidaknya solusi yang didapatkan.

3. Menentukan proses pembangkitan populasi awal. Hal ini biasanya dilakukan dengan menggunakan pembangkitan acak seperti random-walk.

4. Menentukan proses seleksi yang akan digunakan. Menentukan proses perkawinan silang (cross-over) dan mutasi gen yang akan digunakan.

Beberapa Definisi Penting Dalam Algoritma Genetika

1. Genotype (Gen), sebuah nilai yang menyatakan satuan dasar yang membentuk suatu arti tertentu dalam satu kesatuan gen yang dinamakan kromosom. Dalam algoritma genetika, gen ini bisa berupa nilai biner, float, integer maupun karakter, atau kombinatorial.

2. Allele, nilai dari gen.

(8)

4. Individu, menyatakan satu nilai atau keadaan yang menyatakan salah satu solusi yang mungkin dari permasalahan yang diangkat.

5. Populasi, merupakan sekumpulan individu yang akan diproses bersama dalam satu siklus proses evolusi. Generasi, menyatakan satu-satuan siklus proses evolusi.

6. Nilai Fitness, menyatakan seberapa baik nilai dari suatu individu atau solusi yang didapatkan.

2.3.1 Struktur Umum Algoritma Genetik

(9)

Gambar 2.1 Siklus Algoritma Genetik

Golberg (1989) mengemukakan bahwa algoritma genetik mempunyai karakteristik-karakteristik yang perlu diketahui sehingga dapat terbedakan dari prosedur pencarian atau optimasi yang lain, yaitu:

1. Algoritma genetik dengan pengkodean dari himpunan solusi permasalahan berdasarkan parameter yang telah ditetapkan dean bukan parameter itu sendiri.

(10)

3. Algoritma genetik informasi fungsi objektif (fitness), sebagai cara untuk mengevaluasi individu yang mempunyai solusi terbaik, bukan turunan dari suatu fungsi.

4. Algoritma genetik menggunakan aturan-aturan transisi peluang, bukan aturan-aturan deterministik.

Variabel dan parameter yang digunakan pada algoritma genetik adalah:

1. Fungsi fitness (fungsi tujuan) yang dimiliki oleh masing-masing individu untuk menentukan tingkat kesesuaian individu tersebut dengan kriteria yang ingin dicapai. 2. Populasi jumlah individu yang dilibatkan pada setiap

generasi.

3. Probabilitas terjadinya persilangan (crossover) pada suatu generasi.

4. Probabilitas terjadinya mutasi pada setiap individu.

5. Jumlah generasi yang akan dibentuk yang menentukan lama penerapan algoritma genetik.

Secara umum struktur dari suatu algoritma genetik dapat mendefenisikan dengan langkah-langkah sebagai berikut:

1. Membangkitkan populasi awal, populasi awal ini dibangkitkan secara random sehingga didapatkan solusi awal. Populasi itu sendiri terdiri atas sejumlah kromosom yang merepresentasikan solusi yang diinginkan.

(11)

jumlah kromosom yang cukup untuk membentuk generasi baru dimana generasi baru ini merupakan representasi dari solusi baru. Generasi baru ini dikenal denga istilah anak (offspring).

3. Evaluasi solusi, pada tiap generasi, kromosom akan melalui proses evaluasi dengan menggunakan alat ukur yang dinamakan fitness. Nilai fitness suatu kromosom menggambarkan kualitas kromosom dalam populasi tersebut. Proses ini akan mengevaluasi setiap populasi dengan menghitung nilai fitness setiap kromosom dan mengevaluasinya sampai terpenuhi kriteria berhenti. Bila kriteria berhenti belum terpenuhi maka akan dibentuk lagi generasi baru dengan mengulangi langkah 2. Beberapa kriteria berhenti sering digunakan antara lain: berhenti pada generasi tertentu, berhenti setelah dalam beberapa generasi berturut-turut didapatkan nilai fitness tertinggi tidak.

2.4 Pemodelan Algoritma Genetik

Penjadwalan yang akan diimplementasikan memakai algoritma genetik dibatasi sebagai berikut : tiap job diproses oleh sebuah mesin maksimal satu kali, tidak memiliki tenggat waktu penyelesaian, waktu perpindahan antar

mesin dan waktu set up dapat diabaikan, dan penjadwalan bersifat

(12)

2.4.1 Pemilihan Operator Genetik

Operator genetik yang dipakai adalah operator reproduksi gabungan dari elitism dan roulette wheel selection, operator

Precedence Preservative Crossover (PPX) (Bierwirth, 1999) dan operator mutasi remove and insert (Manderick, 1991). Metode elitism

membuat sejumlah string terbaik tiap generasi akan otomatis diturunkan ke generasi berikutnya Koza, 2001). Metode roulette wheel untuk memilih string-string yang akan dilakukan proses rekombinasi (Saputro, 2003).

Pada PPX, string baru disusun secara acak dari allele string-string induk. Angka acak 1 atau 2 dipakai untuk memilih induk. Jika 1 diturunkan allele paling kiri dari induk pertama, jika 2 diturunkan

allele paling kiri dari induk kedua. Selanjutnya allele yang terpilih tadi dihapus dari kedua induk. Proses dilakukan sampai karakter di kedua induk habis. Sebagai contoh 2 induk ABCDEF dan CABFDE, dan angka acak 1 2 1 1 2 2, akan menghasilkan string baru ACBDFE. Pada mutasi, satu locus dipilih secara acak dan karakter diposisi tersebut di hapus. Satu locus baru dipilih, dan karakter yang telah dihapus tadi disisipkan. Gambar 2.2 menunjukkan proses mutasi pada locus ketiga dan ketujuh.

(13)

2.4.2 Fungsi Fitness

Pada dynamic scheduling dengan kedatangan job tidak dapat diperkirakan sebelumnya, minimalisasi makespan dirasakan kurang berarti (Lin, 1997). Oleh karena itu, rata-rata waktu penyelesaian sebuah job (average flow time) pada satu periode penjadwalan digunakan sebagai fungsi fitness. Waktu selesainya sebuah job dapat dihitung dari selisih waktu tiba (ri) dengan waktu selesainya operasi terakhir dari job (Ci). Satu periode penjadwalan melibatkan operasi-operasi yang belum mulai diproses mesin. Tujuan penjadwalan adalah minimasi fungsi fitness, sedangkan pada algoritma genetik, sesuai proses di alam, prosesnya adalah maksimasi. Oleh karena itu, fungsi fitness penjadwalan diubah menjadi 1/f.

2.4.3 Parameter Genetik

Parameter Genetik berguna dalam pengendalian operator-operator genetik. Parameter yang digunakan adalah : ukuran populasi, jumlah generasi, Probabilitas Crossover (Pc), dan Probabilitas Mutasi (Pm). Tidak ada aturan pasti tentang berapa nilai setiap parameter ini (Koza, 2001). Ukuran populasi kecil berarti hanya tersedia sedikit pilihan untuk Crossover dan sebagian kecil dari domain solusi saja yang dieksplorasi untuk setiap generasinya.

Sedangkan bila terlalu besar, kinerja algoritma genetic

(14)

berarti semakin banyak iterasi yang dilakukan, dan semakin besar domain solusi yang akan dieksplorasi.

2.4.4 Pemodelan Penjadwalan

Pemodelan penjadwalan yang dimaksud adalah proses penyusunan jadwal dari string. Permutasi operasi-operasi yang direpresentasikan oleh string akan di-decode untuk menghasilkan jadwal. Ada tiga karakteristik jadwal yang dapat dihasilkan, yaitu

semiactive, active, dan non delay (Bierwirth, 1999). Makalah ini memakai jadwal hybrid yaitu gabungan antara jadwal active dan non delay. Notasi-notasi yang dipakai pada jadwal hybrid maupun proses kerja penjadwalan job shop dengan algoritma genetik dapat dilihat pada gambar 2.3

Gambar 2.3 Notasi

Langkah-langkah prosedur hybrid (Bierwirth, 1999) :

(15)

2. Pilih o1, operasi dengan waktu selesai tercepat, t1 + p1 £ tik + pik untuk semua oikÎA. Jika lebih dari satu operasi, pilih operasi yang terletak paling kiri di string.

3. Jika M1 adalah mesin yang dipakai oleh o1, buat himpunan B yang berisi semua operasi dari A yang diproses di M1, B:= {oikÎA|mi(k)= M1}

4. Pilih o11, operasi dengan waktu mulai paling awal di B, t11< tik untuk semua oikÎB. Jika lebih dari satu operasi, pilih operasi yang terletak paling kiri di string.

5. Hapus operasi di B menurut parameter d, sehingga himpunan

B sekarangB:= {oikÎB|tik £ t11+ d((t1+ p1)-t11)}

6. Pilih operasi di B yang terletak paling kiri di string dan hapus dari A. Operasi yang dipilih tersebut adalah o*ik.

7. Masukkan operasi o* ik pada jadwal, dan hitung waktu mulai:

t*ik= max(t*i,k1+ p*i,k-1,thl+ phl), t*ik waktu mulai operasi

o*ik, t*ik-1+ p*ik-1 waktu selesai operasi ke-(k-1),

yaituoperasi sebelumnya dari job ke-i dan ohl=operasi ke-l

dari job ke-h yang mendahuluio*ik pada mesin yang sama.

8. Jika terdapat suksesor dari o*ik, yaitu o*i,k+ 1, tambahkan ke

A.

Gambar

Gambar 2.1 Siklus Algoritma Genetik
Gambar 2.2 String A dan Hasil Mutasi
Gambar 2.3 Notasi

Referensi

Dokumen terkait

8 Saya berusaha untuk memperbaiki diri sendiri untuk menjadi yang lebih baik sejak saya berada dalam Lapas. 9 Saya percaya saya memiliki masa depan yang baik walaupun

1) Kegiatan pembelajaran disusun untuk memberikan bantuan kepada para pendidik agar dapat melaksanakan proses pembelajaran secara profesional. 2) Kegiatan pembelajaran

Pokja II (dua) ULP Kabupaten Dharmasraya akan melaksanakan Pelelangan Umum dengan pascakualifikasi untuk paket pekerjaan konstruksi secara elektronik sebagai berikut:..

Digital Repository Universitas Jember... Digital Repository

Fungsi yang sering digunakan a.l.: fungsi linier, fungsi kuadrat, fungsi pangkat banyak (3,4, dst), fungsi eksponensial, fungsi logaritmik, fungsi trigonometri, dll..

Analisis Penyusunan Laporan Laba Rugi dan Neraca Berdasarkan Standar Akuntansi Keuangan Entitas Tanpa Akuntabilitas Publik (SAK ETAP) Pada UD.. UKM merupakan suatu

[r]

Hanya 1 contoh landscape Tidak mempu memberikan contoh Kebenaran Contoh Landscape Diungkapkan dengan benar, sesuai dengan teori dan dilengkapi dengan foto atau