bab i pendahuluan - digilib.itb.ac.id · sebuah contoh model tersebut dapat dilihat pada gambar...

6
I-1 BAB I PENDAHULUAN Pada bab pertama ini akan diuraikan mengenai latar belakang, rumusan masalah, tujuan, batasan masalah, metodologi, dan sistematika pembahasan dalam Tugas Akhir ini. 1.1 Latar Belakang Kereta api merupakan salah satu alat transportasi utama di seluruh dunia. Di Indonesia dan banyak negara lain, kereta api menggunakan jalur tunggal, artinya satu jalur kereta api digunakan untuk dua arah yang berbeda. Karena terdapat banyak kereta api yang menggunakan jalur atau rute yang sama, penjadwalan kereta api menjadi satu hal yang mutlak diperlukan. Namun pembuatan jadwal kereta api bukanlah masalah yang mudah. Terdapat banyak aturan atau batasan (constraints) yang harus dipenuhi, misalnya aturan penyusulan (overtaking rule), aturan persilangan (crossing rule), aturan headway, kecepatan maksimal yang diperbolehkan di suatu jalur, dan sebagainya [SUP01]. Selain batasan-batasan tersebut, besarnya data yang harus diproses (banyaknya kereta api dan banyaknya jalur atau rute yang harus ditempuh) juga menjadi masalah dalam penjadwalan kereta api jalur tunggal. Perkembangan teknologi informasi saat ini memungkinkan penyelesaian masalah penjadwalan kereta api jalur tunggal. Ada beberapa pendekatan yang telah dilakukan untuk menyelesaikan masalah penjadwalan kereta api jalur tunggal, misalnya pendekatan Mathematical Programming dan Constraint Programming [OLI01]. Dalam Tugas Akhir ini, pendekatan yang digunakan adalah yang kedua. Pendekatan ini digunakan karena dapat menangani berbagai macam aturan atau batasan yang ada dalam masalah penjadwalan kereta api jalur tunggal. Constraint Programming adalah metode penyelesaian masalah yang terdiri atas dua langkah, yaitu modelling dan resolution [MON01]. Modelling dilakukan dengan cara merepresentasikan masalah yang diberikan sebagai sebuah Constraint Satisfaction Problem (CSP). Dalam CSP terdapat tiga komponen utama, yaitu

Upload: ngolien

Post on 05-May-2018

218 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: BAB I PENDAHULUAN - digilib.itb.ac.id · Sebuah contoh model tersebut dapat dilihat pada Gambar I-1. ... masalah penjadwalan Job-Shop, antara lain Backtracking, Branch and Bound dan

I-1

BAB I PENDAHULUAN

Pada bab pertama ini akan diuraikan mengenai latar belakang, rumusan masalah,

tujuan, batasan masalah, metodologi, dan sistematika pembahasan dalam Tugas

Akhir ini.

1.1 Latar Belakang

Kereta api merupakan salah satu alat transportasi utama di seluruh dunia. Di

Indonesia dan banyak negara lain, kereta api menggunakan jalur tunggal, artinya

satu jalur kereta api digunakan untuk dua arah yang berbeda. Karena terdapat

banyak kereta api yang menggunakan jalur atau rute yang sama, penjadwalan

kereta api menjadi satu hal yang mutlak diperlukan. Namun pembuatan jadwal

kereta api bukanlah masalah yang mudah. Terdapat banyak aturan atau batasan

(constraints) yang harus dipenuhi, misalnya aturan penyusulan (overtaking rule),

aturan persilangan (crossing rule), aturan headway, kecepatan maksimal yang

diperbolehkan di suatu jalur, dan sebagainya [SUP01]. Selain batasan-batasan

tersebut, besarnya data yang harus diproses (banyaknya kereta api dan banyaknya

jalur atau rute yang harus ditempuh) juga menjadi masalah dalam penjadwalan

kereta api jalur tunggal.

Perkembangan teknologi informasi saat ini memungkinkan penyelesaian masalah

penjadwalan kereta api jalur tunggal. Ada beberapa pendekatan yang telah

dilakukan untuk menyelesaikan masalah penjadwalan kereta api jalur tunggal,

misalnya pendekatan Mathematical Programming dan Constraint Programming

[OLI01]. Dalam Tugas Akhir ini, pendekatan yang digunakan adalah yang kedua.

Pendekatan ini digunakan karena dapat menangani berbagai macam aturan atau

batasan yang ada dalam masalah penjadwalan kereta api jalur tunggal.

Constraint Programming adalah metode penyelesaian masalah yang terdiri atas

dua langkah, yaitu modelling dan resolution [MON01]. Modelling dilakukan

dengan cara merepresentasikan masalah yang diberikan sebagai sebuah Constraint

Satisfaction Problem (CSP). Dalam CSP terdapat tiga komponen utama, yaitu

Page 2: BAB I PENDAHULUAN - digilib.itb.ac.id · Sebuah contoh model tersebut dapat dilihat pada Gambar I-1. ... masalah penjadwalan Job-Shop, antara lain Backtracking, Branch and Bound dan

I-2

variabel, domain dan batasan. Solusi yang ingin dicari pada masalah yang

diberikan dimodelkan sebagai variabel, himpunan nilai yang mungkin pada solusi

dimodelkan sebagai domain dari variabel dan hubungan yang harus dipenuhi

antara variabel-variabel dimodelkan sebagai batasan CSP [STU03]. Selanjutnya,

proses pencarian solusi CSP dilakukan pada langkah resolution dengan

menggunakan constraint solver.

Dalam masalah penjadwalan kereta api jalur tunggal, salah satu CSP yang dapat

digunakan untuk pemodelan adalah masalah penjadwalan Job-Shop. Pemodelan

dilakukan dengan menganggap perjalanan-perjalanan kereta api sebagai

sekumpulan pekerjaan (jobs) yang dijadwalkan pada sekumpulan sumber daya

(resources) berupa petak-petak blok atau segmen-segmen jalur kereta api

[OLI00]. Sebuah pekerjaan terdiri atas beberapa operasi yang harus dikerjakan

secara berturutan, dimana sebuah operasi adalah bagian perjalanan kereta api

melewati satu petak blok. Antara petak blok satu dengan yang lain dipisahkan

oleh sebuah stasiun atau sinyal. Sebuah contoh model tersebut dapat dilihat pada

Gambar I-1.

Gambar I-1 Contoh Rute Perjalanan Kereta Api

Pada contoh model di atas, pekerjaan yang harus dilakukan adalah sebuah

perjalanan kereta api, misalnya dari stasiun S1 ke stasiun S3. Dalam hal ini,

sumber daya yang digunakan adalah petak blok T1, T2, T3, T4 dan T5. Sebuah

operasi adalah sebuah bagian perjalanan melewati satu petak blok saja. Jadi pada

Page 3: BAB I PENDAHULUAN - digilib.itb.ac.id · Sebuah contoh model tersebut dapat dilihat pada Gambar I-1. ... masalah penjadwalan Job-Shop, antara lain Backtracking, Branch and Bound dan

I-3

contoh di atas, perjalanan dari stasiun S1 ke stasiun S3 dapat dipandang sebagai

kumpulan lima buah operasi yang dikerjakan secara berturutan. Operasi pertama

adalah perjalanan melewati petak blok T1, operasi kedua adalah perjalanan

melalui petak blok T2 dan seterusnya.

Solusi yang ingin dicari pada masalah penjadwalan Job-Shop adalah jadwal atau

waktu pelepasan (release time) setiap operasi pada setiap pekerjaan, yaitu waktu

operasi tersebut mulai dikerjakan. Hal ini sama juga dengan waktu penggunaan

sumber daya. Dengan demikian, dalam representasi CSP, variabel pada masalah

penjadwalan Job-Shop adalah waktu pelepasan operasi-operasi tersebut,

domainnya adalah himpunan waktu (detik, menit atau jam), dan batasannya

adalah sebuah sumber daya tidak boleh digunakan oleh dua operasi yang berbeda

pada waktu yang sama. Pada masalah penjadwalan kereta api jalur tunggal,

sebuah petak blok yang digunakan oleh dua perjalanan yang berbeda dapat

mengakibatkan terjadinya tabrakan.

Ada beberapa strategi dan algoritma yang dapat digunakan untuk menyelesaikan

masalah penjadwalan Job-Shop, antara lain Backtracking, Branch and Bound dan

Local Search. Dalam Tugas Akhir ini, algoritma yang digunakan adalah variasi

dari algoritma Local Search yang bernama Hill Climbing dengan strategi variable

and value ordering, dan constraint propagation. Variable and value ordering

digunakan untuk mengurutkan variabel yang akan diberi nilai (urutan operasi

yang akan dijadwalkan lebih dulu) dan constraint propagation digunakan untuk

menghapus nilai-nilai pada domain sebuah variabel jika nilai-nilai tersebut

mengarah kepada pelanggaran batasan [OLI01].

1.2 Rumusan Masalah

Berdasarkan latar belakang di atas, rumusan masalah yang dikaji dalam Tugas

Akhir ini adalah:

1. Bagaimana menemukan solusi yang berupa jadwal kereta api yang memenuhi

batasan-batasan atau aturan-aturan perjalanan kereta api jalur tunggal.

Page 4: BAB I PENDAHULUAN - digilib.itb.ac.id · Sebuah contoh model tersebut dapat dilihat pada Gambar I-1. ... masalah penjadwalan Job-Shop, antara lain Backtracking, Branch and Bound dan

I-4

2. Bagaimana menemukan solusi optimal lokal (local optimum) dari solusi yang

telah ditemukan dengan optimasi minimum total delay atau total

keterlambatan minimal.

1.3 Tujuan

Tujuan dari Tugas Akhir ini adalah implementasi model penjadwalan Job-Shop

dalam masalah penjadwalan kereta api jalur tunggal dengan pendekatan

Constraint Programming. Tujuan khusus dari Tugas Akhir ini adalah sebagai

berikut:

1. Memahami deskripsi sistem perjalanan kereta api, aturan-aturan umum

penjadwalan kereta api jalur tunggal, dan masalah penjadwalan Job-Shop.

2. Membuat model penjadwalan Job-Shop dari masalah penjadwalan kereta api

jalur tunggal.

3. Memahami strategi dan algoritma pencarian solusi dari masalah penjadwalan

Job-Shop.

4. Melakukan implementasi pencarian solusi dari masalah penjadwalan Job-Shop

dengan pendekatan Constraint Programming.

5. Melakukan pengujian dengan menggunakan data perjalanan kereta api yang

sebenarnya.

1.4 Batasan Masalah

Batasan masalah yang dikaji dalam Tugas Akhir ini adalah:

1. Implementasi yang dilakukan hanya mencari satu solusi yang baik (local

optimum), bukan solusi terbaik dari seluruh solusi yang ada (global optimum).

Kriteria optimasi yang digunakan adalah total keterlambatan minimum.

2. Batasan-batasan yang akan diimplementasikan hanyalah batasan yang

menyangkut satu atau dua variabel saja (batasan uner dan biner), sedangkan

batasan n-ary tidak diimplementasikan. Hal ini karena batasan uner dan biner

dapat dimodelkan sebagai sisi graf sedangkan batasan n-ary tidak. Contoh

batasan uner dalam masalah penjadwalan kereta api adalah waktu berangkat

sebuah kereta api. Contoh batasan biner misalnya urutan stasiun yang harus

dilalui, dua kereta api tidak boleh berada di segmen jalur yang sama secara

bersamaan dan penggunaan sebuah kereta yang sama oleh dua perjalanan

Page 5: BAB I PENDAHULUAN - digilib.itb.ac.id · Sebuah contoh model tersebut dapat dilihat pada Gambar I-1. ... masalah penjadwalan Job-Shop, antara lain Backtracking, Branch and Bound dan

I-5

kereta api (misalnya dari Jakarta ke Bandung kemudian dari Bandung ke

Jakarta dalam satu hari). Contoh batasan n-ary misalnya lima buah kereta api

tidak boleh berada di sebuah stasiun kecil dalam waktu yang sama.

1.5 Metodologi

Metodologi yang digunakan dalam pengerjaan Tugas Akhir ini adalah:

1. Studi Pustaka

Studi pustaka dilakukan selama pengerjaan Tugas Akhir. Studi pustaka

dilakukan dengan mempelajari deskripsi sistem perjalanan kereta api, aturan-

aturan penjadwalan kereta api jalur tunggal, masalah penjadwalan Job-Shop,

Constraint Programming dan contoh-contoh penyelesaian masalah dengan

pendekatan Constraint Programming.

2. Pemodelan Masalah

Masalah penjadwalan kereta api jalur tunggal akan dianalisis dan dimodelkan

sebagai sebuah masalah penjadwalan Job-Shop.

3. Analisis dan Perancangan

Tahapan analisis dilakukan dengan menentukan spesifikasi kebutuhan utama

perangkat lunak yang dibangun. Hal ini mencakup kebutuhan fungsional dan

non-fungsional. Selain itu juga dilakukan identifikasi fitur-fitur utama dengan

diagram use-case. Kemudian pada tahap perancangan dilakukan pembagian

kelas-kelas utama perangkat lunak dan hubungan antara kelas-kelas tersebut

berdasarkan hasil analisis yang telah dilakukan. Hal ini direpresentasikan

dengan menggunakan diagram kelas.

4. Implementasi dan Pengujian

Dari model penjadwalan Job-Shop yang telah dibuat dan juga analisis dan

perancangan perangkat lunak yang telah dilakukan, akan dilakukan

implementasi dengan menggunakan pendekatan Constraint Programming.

Paradigma pemrograman yang digunakan dalam implementasi adalah

paradigma pemrograman berorientasi objek. Bahasa pemrograman yang

digunakan adalah Java.

Page 6: BAB I PENDAHULUAN - digilib.itb.ac.id · Sebuah contoh model tersebut dapat dilihat pada Gambar I-1. ... masalah penjadwalan Job-Shop, antara lain Backtracking, Branch and Bound dan

I-6

5. Pengujian

Setelah implementasi selesai, pengujian dilakukan dengan menggunakan

berbagai macam data perjalanan kereta api.

1.6 Sistematika Pembahasan

Sistematika pembahasan Tugas Akhir ini adalah sebagai berikut:

1. Bab I Pendahuluan berisi penjelasan mengenai latar belakang, rumusan

masalah, tujuan, batasan masalah, metodologi, serta sistematika pembahasan

yang digunakan dalam penyusunan Tugas Akhir ini.

2. Bab II Dasar Teori berisi dasar teori yang diperlukan dalam pemodelan,

analisis, perancangan dan penyelesaian masalah yang telah dimodelkan.

3. Bab III Pemodelan Masalah berisi tentang bagaimana cara melakukan

pemodelan masalah nyata dengan menggunakan model yang ada dan

algoritma serta strategi apa saja yang dapat digunakan untuk mencari solusi

pada model yang telah dibuat.

4. Bab IV Analisis dan Perancangan berisi analisis kebutuhan-kebutuhan utama

perangkat lunak, fitur-fitur utama, perancangan antarmuka aplikasi dan

perancangan kelas-kelas aplikasi.

5. Bab V Implementasi dan Pengujian berisi penjelasan mengenai implementasi

dan pengujian yang telah dilakukan berdasarkan pemodelan, analisis dan

perancangan yang telah dilakukan sebelumnya.

6. Bab VI Kesimpulan dan Saran berisi kesimpulan dan saran selama

pelaksanaan Tugas Akhir.